diff --git a/application/src/main/data/json/system/scada_symbols/crane-hp.svg b/application/src/main/data/json/system/scada_symbols/crane-hp.svg
new file mode 100644
index 0000000000..7e7c64c99c
--- /dev/null
+++ b/application/src/main/data/json/system/scada_symbols/crane-hp.svg
@@ -0,0 +1,346 @@
+
\ No newline at end of file
diff --git a/application/src/main/data/json/system/scada_symbols/drawwork-hp.svg b/application/src/main/data/json/system/scada_symbols/drawwork-hp.svg
new file mode 100644
index 0000000000..bb98d8cb5e
--- /dev/null
+++ b/application/src/main/data/json/system/scada_symbols/drawwork-hp.svg
@@ -0,0 +1,355 @@
+
\ No newline at end of file
diff --git a/application/src/main/data/json/system/scada_symbols/drill-hp.svg b/application/src/main/data/json/system/scada_symbols/drill-hp.svg
new file mode 100644
index 0000000000..66e06398ed
--- /dev/null
+++ b/application/src/main/data/json/system/scada_symbols/drill-hp.svg
@@ -0,0 +1,354 @@
+
\ No newline at end of file
diff --git a/application/src/main/data/json/system/scada_symbols/drilling-line-hp.svg b/application/src/main/data/json/system/scada_symbols/drilling-line-hp.svg
new file mode 100644
index 0000000000..60bce1a645
--- /dev/null
+++ b/application/src/main/data/json/system/scada_symbols/drilling-line-hp.svg
@@ -0,0 +1,361 @@
+
\ No newline at end of file
diff --git a/application/src/main/data/json/system/scada_symbols/drilling-rig-hp.svg b/application/src/main/data/json/system/scada_symbols/drilling-rig-hp.svg
new file mode 100644
index 0000000000..76c9af6454
--- /dev/null
+++ b/application/src/main/data/json/system/scada_symbols/drilling-rig-hp.svg
@@ -0,0 +1,354 @@
+
\ No newline at end of file
diff --git a/application/src/main/data/json/system/scada_symbols/hook-hp.svg b/application/src/main/data/json/system/scada_symbols/hook-hp.svg
new file mode 100644
index 0000000000..742d1fe811
--- /dev/null
+++ b/application/src/main/data/json/system/scada_symbols/hook-hp.svg
@@ -0,0 +1,293 @@
+
\ No newline at end of file
diff --git a/application/src/main/data/json/system/scada_symbols/meter.svg b/application/src/main/data/json/system/scada_symbols/meter.svg
new file mode 100644
index 0000000000..02b2833133
--- /dev/null
+++ b/application/src/main/data/json/system/scada_symbols/meter.svg
@@ -0,0 +1,743 @@
+
\ No newline at end of file
diff --git a/application/src/main/data/json/system/scada_symbols/platform-hp.svg b/application/src/main/data/json/system/scada_symbols/platform-hp.svg
new file mode 100644
index 0000000000..af9b72a2e5
--- /dev/null
+++ b/application/src/main/data/json/system/scada_symbols/platform-hp.svg
@@ -0,0 +1,267 @@
+
\ No newline at end of file
diff --git a/application/src/main/data/json/system/scada_symbols/preventer-hp.svg b/application/src/main/data/json/system/scada_symbols/preventer-hp.svg
new file mode 100644
index 0000000000..0b193a5665
--- /dev/null
+++ b/application/src/main/data/json/system/scada_symbols/preventer-hp.svg
@@ -0,0 +1,343 @@
+
\ No newline at end of file
diff --git a/application/src/main/data/json/system/scada_symbols/rotor-hp.svg b/application/src/main/data/json/system/scada_symbols/rotor-hp.svg
new file mode 100644
index 0000000000..729e85eac1
--- /dev/null
+++ b/application/src/main/data/json/system/scada_symbols/rotor-hp.svg
@@ -0,0 +1,346 @@
+
\ No newline at end of file
diff --git a/application/src/main/data/json/system/scada_symbols/small-left-meter.svg b/application/src/main/data/json/system/scada_symbols/small-left-meter.svg
new file mode 100644
index 0000000000..a480412366
--- /dev/null
+++ b/application/src/main/data/json/system/scada_symbols/small-left-meter.svg
@@ -0,0 +1,717 @@
+
\ No newline at end of file
diff --git a/application/src/main/data/json/system/scada_symbols/small-meter.svg b/application/src/main/data/json/system/scada_symbols/small-meter.svg
new file mode 100644
index 0000000000..551c8d520a
--- /dev/null
+++ b/application/src/main/data/json/system/scada_symbols/small-meter.svg
@@ -0,0 +1,688 @@
+
\ No newline at end of file
diff --git a/application/src/main/data/json/system/scada_symbols/small-right-center.svg b/application/src/main/data/json/system/scada_symbols/small-right-center.svg
new file mode 100644
index 0000000000..de1bee5acd
--- /dev/null
+++ b/application/src/main/data/json/system/scada_symbols/small-right-center.svg
@@ -0,0 +1,717 @@
+
\ No newline at end of file
diff --git a/application/src/main/data/json/system/widget_bundles/general_high_performance_scada_symbols.json b/application/src/main/data/json/system/widget_bundles/general_high_performance_scada_symbols.json
index ffb0fee835..5083384432 100644
--- a/application/src/main/data/json/system/widget_bundles/general_high_performance_scada_symbols.json
+++ b/application/src/main/data/json/system/widget_bundles/general_high_performance_scada_symbols.json
@@ -26,6 +26,8 @@
"hp_bottom_tee_connector",
"hp_right_tee_connector",
"hp_left_tee_connector",
- "hp_top_tee_connector"
+ "hp_top_tee_connector",
+ "hp_drawwork",
+ "hp_crane"
]
}
\ No newline at end of file
diff --git a/application/src/main/data/json/system/widget_bundles/high_performance_scada_oil_gas.json b/application/src/main/data/json/system/widget_bundles/high_performance_scada_oil_gas.json
new file mode 100644
index 0000000000..87b778be21
--- /dev/null
+++ b/application/src/main/data/json/system/widget_bundles/high_performance_scada_oil_gas.json
@@ -0,0 +1,20 @@
+{
+ "widgetsBundle": {
+ "alias": "high_performance_scada_oil_gas",
+ "title": "High-performance SCADA oil & gas",
+ "image": "tb-image:aHBfc2NhZGFfb2lsX2dhc19zeXN0ZW1fYnVuZGxlX2ltYWdlLnBuZw==:IkhpZ2gtcGVyZm9ybWFuY2UgU0NBREEgb2lsICYgZ2FzIiBzeXN0ZW0gYnVuZGxlIGltYWdl:SU1BR0U=;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAACgCAMAAAB+IdObAAAAflBMVEXe3t7b29vf398AAADf39/e3t7e3t7////Gxsapqam5ubnR0NDj4+Otra2hoaHS0tLi4uK4uLjx8fGYmJikpKSdnZ2VlZWWlpbU1NS1tbWnp6eKioqysrLLy8uampra2tqvr6/X19eRkZF+fn7Dw8N1dXW/vr6FhYViYmJwcHCzXr36AAAABnRSTlPvIK8Av79l/pT7AAAI0UlEQVR42uza23LaMBSF4Z5msbyFpOFMAXcg0HT6/i/YGqvdNhBiYXtipf0v7CRX+UaSbWQ+fP745QNS79PHzx8+ps8A8JvxCe+idzCtwpC8Fwj+Q4bWvw0R7oQiJIbTAxAvwOmAIsFgiodYXxxPODecMYmGeD4fAOQoGtCYxEIMgcMQJbEQD5wlCvEYRLEQoig/wCBkMIgiIYKyE+claTBzKxJClO0AegDI8x0GUTREz5NTbvJUR0RwzjjAn1GpQlgcDif4nfiDAZAqBAIc8nBjNyY3ef6MQRR/HzlI7ZI7lCfHaIg5oA5Bu5bZzZaIKh6Cha9BHFq2HN2sb4gjra84rHAreCDKcjUr+n4b8n1WtHKW0LqDSGGwyFFmaOBMLGRv57uM4+moSWNONvuF7RrC8vhsBTBSEJwBEdfXUXRfux+RADIiJM4OSIIQVs8sHUmOiKlBSgd8pGS/2M8zrhutkemY2XyZ7TuGeKlBXHAJ4qN1q9mP+4ofs5WTXq5agipkqePzYLP7kBkiioIQIRrAifouSggCOsN0IaIQxyorJiOrb4uy5StrZFG2WVnTF8QZkAh5NjW4ebbKxqPo1pPdk2paQ7xHaGsAWMTMreXW7ibTUYum3DxtXBcQHRA5H6PmVjbqpKxLCEE9FUliEP49Uc9FNjGIBIdCwHSnFm8cwKQg9PqPXxgEr3ZkB4zp+tgBxNSWif7cDAJx3542nLa4+NrtkugAItefR3TxN4x2tthN1uPQ6G7jP01W2dyxszu7BXELAkIQk7Gh433I0ZaJ6fZZi8RtCEiPagN/aHS4hNSN2rAhwpch1qLasCEEX4JYCuIy4lbfXn+M36ycGHQMEby02K0aG27QbSbjadM7Bzfzhe0YAtYg6oAASGU7iLi8IaoD9OlAJBAUog5AkoHI1cBQHVEQu3nabyacNlsi2W6ebdkhRBe6QtQBIjKxDV4rzB0NtE4goiSFSI131SBf9ChEP+qKwV3IIF+9GWgsIRUHPNFDPUC8oJItDq7iePvX7U0hgmokIALt7b9L9yAEFENo6YwIL34TIk2IQPu796ulOrXC3q/29pethhDvoYV3PBzU3GoIEVRypr73W/TmcysaUjiqe7+hVCBE6OwIkPrfLTqvzxEpHApRSSojEiDBcXv/2qPv2kPoURQcNYhKBH3XHmJQFhw1COSsTAMixUEddQhcKSH6rj3EAlDHBaSUpDEiBCqOS0iQ0KPbeppa6riGBAn6rD3kynENKSWCfmsP4YXjGlJIHoYcs4t+ekQUARF1XENUQjyUrEcXrYmIYiDquIao5Fd797rcJgxEAbjX1UogBBRfErupm16mff8XbO2RWYuDqyCBx+30/EiMmTb6ugtSgYwtJcW2Q0hbUSSJkJ04ECJZO0rJRkE2hJkF4l4EYUMp0Qh5IswMEEPGvQDClAZ5RoglzAwQJpFch3DqRLK/WWsZEslVCFMqRE+4H5ILCSWWDf+OYQu0hDhGCDNh8iEFhRIbvhCCS5HYEiG1IUguRIZn+Cok55crqwm3R/IgRlrq/J3ZXLZW1u2exwnPCmRDROJj4PGB5Io8T3i+LA/CNJQUXFBRyf4syGEM0hFkvoqIpCJyFhxzttaeILNBRGKJ2BEVFsbupktcMwZpHEFyIc7RQGL8Y4GOxZHUW7KIjy3k8yE4NsvGT/bE4kjuraoFBS7kF4GQXR/fNcaRYcqGbJSKH+05EBwbnoUr3EVToxUGF/JLVETmePcCdco0ggv5hSDM67Wxds1MEEcTs79VaxkcWsU+6yg7sbVwIZ8PKQhi5UU2hFmpCeffnIpMg0z9+bYch9SWJEtBmC3z6UtuRar1D30lP9YVQXIgfPXNEcfEK9mdL0ezC868jS+KSJaoiBDYMmX1Fu/9iJvgiNeN9z06yoLEHb4iZPN6a3UugWpacbSstN98pvkgPPqWh4gkBdKVZ4falgKpWbXavzzQghXBhzNRPqWxjo1UbwXCx+1GmmshCD4uC39gSmP5MdccQI46aa5lWotDDUqcm9pYYxClW2muBSoy/kh5Ukm+6VO++Hm8d/jjpf3p9ydD4g6BiGQ6pPPnWqmCHOyyQ3UzQRi3QghKOAHSBPPIEhBLkqIigIhkIoR3/ajbAeTpEvKFZ28tcQhEJNMghWbuIY0uw5m91rqHMAslB1KEDoSgxMV/sOmUuoAoHa61tuoColTH+RDH6BBIIBayiToeVAhRtRaHLlUIUQ8mG2LAARCQRHuLH9UAIlO5nwp1K5CjhLMh4AAISKIV2akAwuW5DnLyrTmAqEMuhMEBEJDEIPsygPgRw7cA0la5FQEHQFDCsStyoxBuL9cqTQhRXT5EHAhBSfy0ZcsBpJHp4wgYh9Q2C+IcOBCCEhO/iyCQmi8ndN2vHEOI+pAFMehACEpc/MqiQJp2DNI2A4jNg6ADISjh+JVFgWjlcxKx8tEDSJcFYXQgBCU2slgEiPzPkHvWrBCDDoSghJMgzWnzGuSQBbEVRSDTJXoA2fbNFKzn6wFklQMxa0qBUGGi04hAlEBgc67WKigNQuYFV60bfcpOha3V9mtgfUrjPZxVkVQIT3xkQ2b2VqvRVHRzSHRGtFuFkUVWG7k2nwLhFEj8SvbTHxyqHd27o2UrktZbrhtxlP0/fqMgmyILYigJEl/JM0iai3bbNuBgyoLwUhByq1JdpNXBZv3UBpvPUo+bV4QpkvWu7BkffsAh8bWntN2B6I4hRHa1b5ibx9WmYK/qx87UrR6ZWW+0JclNWivpSjaz75oPD+L4+sFPxzIJ3q4i+Xepv5yXJKuCIFkQHAtLrP9yTpEKkXBX6YfDLsJIgcBf+bG8mo9YstTMD4HD7JO6mk80iKGFkt9aUyD3VRForSkQlyiZHYJn0EmQxN5aAIIjmQi5n4oMIX9tRUaer66vZkunfCafe4LISKAU8cLcU2tV3Odj+cJ85z7mBpL/H+x41/kPubf8Mx+s++od/RN58+98iPbb13//x2i/ev/67S8YXTU9MiU8PgAAAABJRU5ErkJggg==",
+ "scada": true,
+ "description": "Bundle with high-performance SCADA symbols for oil and gas system",
+ "order": 9405,
+ "name": "High-performance SCADA oil & gas"
+ },
+ "widgetTypeFqns": [
+ "hp_drilling_rig",
+ "hp_hook",
+ "hp_rotor",
+ "hp_preventer",
+ "hp_drill",
+ "hp_drilling_line",
+ "hp_platform"
+ ]
+}
\ No newline at end of file
diff --git a/application/src/main/data/json/system/widget_bundles/scada_fluid_system.json b/application/src/main/data/json/system/widget_bundles/scada_fluid_system.json
index 9aa3b299a8..e6f1e6a876 100644
--- a/application/src/main/data/json/system/widget_bundles/scada_fluid_system.json
+++ b/application/src/main/data/json/system/widget_bundles/scada_fluid_system.json
@@ -42,6 +42,10 @@
"vertical_inline_flow_meter",
"left_analog_water_level_meter",
"right_analog_water_level_meter",
+ "meter",
+ "small_meter",
+ "small_right_meter",
+ "small_left_meter",
"leak_sensor",
"centrifugal_pump",
"small_right_motor_pump",
diff --git a/application/src/main/data/json/system/widget_types/gateway_configuration.json b/application/src/main/data/json/system/widget_types/gateway_configuration.json
index 0c6df390d6..9eb9ab816b 100644
--- a/application/src/main/data/json/system/widget_types/gateway_configuration.json
+++ b/application/src/main/data/json/system/widget_types/gateway_configuration.json
@@ -22,6 +22,7 @@
"settingsDirective": "tb-gateway-config-widget-settings",
"defaultConfig": "{\"datasources\":[{\"type\":\"static\",\"name\":\"function\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Random\",\"color\":\"#2196f3\",\"settings\":{},\"_hash\":0.15479322438769105,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nvar multiplier = Math.pow(10, 2 || 0);\\nvar value = Math.round(value * multiplier) / multiplier;\\nif (value < -1000) {\\n\\tvalue = -1000;\\n} else if (value > 1000) {\\n\\tvalue = 1000;\\n}\\nreturn value;\"}]}],\"timewindow\":{\"realtime\":{\"timewindowMs\":60000}},\"showTitle\":true,\"backgroundColor\":\"rgb(255, 255, 255)\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"8px\",\"settings\":{\"widgetTitle\":\"Gateway Configuration\",\"archiveFileName\":\"configurationGateway\"},\"title\":\"Gateway Configuration\",\"dropShadow\":true,\"showTitleIcon\":false,\"titleIcon\":\"more_horiz\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"iconSize\":\"24px\",\"titleTooltip\":\"\",\"enableFullscreen\":true,\"widgetStyle\":{},\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"useDashboardTimewindow\":true,\"displayTimewindow\":true,\"showLegend\":false,\"actions\":{}}"
},
+ "externalId": null,
"tags": [
"router",
"bridge",
@@ -40,28 +41,5 @@
"ocpp",
"ble",
"bluetooth"
- ],
- "resources": [
- {
- "link": "/api/resource/js_module/system/gateway-management-extension.js",
- "title": "gateway-management-extension.js",
- "type": "JS_MODULE",
- "resourceKey": "gateway-management-extension.js",
- "fileName": "gateway-management-extension.js",
- "mediaType": "application/javascript",
- "data": "U3lzdGVtLnJlZ2lzdGVyKFsiQGFuZ3VsYXIvY29yZSIsIkBhbmd1bGFyL21hdGVyaWFsL3NvcnQiLCJAYW5ndWxhci9tYXRlcmlhbC90YWJsZSIsIkBhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvciIsIkBzaGFyZWQvcHVibGljLWFwaSIsIkBhbmd1bGFyL2NvbW1vbiIsIkBhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXIiLCJAYW5ndWxhci9tYXRlcmlhbC90YWJzIiwiQGFuZ3VsYXIvZmxleC1sYXlvdXQvZmxleCIsIkBhbmd1bGFyL2ZsZXgtbGF5b3V0L2V4dGVuZGVkIiwiQG5neC10cmFuc2xhdGUvY29yZSIsIkBjb3JlL3B1YmxpYy1hcGkiLCJAYW5ndWxhci9mb3JtcyIsIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvbiIsIkBhbmd1bGFyL21hdGVyaWFsL2NhcmQiLCJAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCIsIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQiLCJAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QiLCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlIiwicnhqcyIsInJ4anMvb3BlcmF0b3JzIiwidHNsaWIiLCJAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwIiwiQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zIiwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbiIsIkBhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbiIsIkBzaGFyZWQvZGlyZWN0aXZlcy90cnVuY2F0ZS13aXRoLXRvb2x0aXAuZGlyZWN0aXZlIiwiQHNoYXJlZC9jb21wb25lbnRzL2RpYWxvZy9qc29uLW9iamVjdC1lZGl0LWRpYWxvZy5jb21wb25lbnQiLCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2ciLCJAc2hhcmVkL2NvbXBvbmVudHMvZGlyZWN0aXZlcy90Yi1qc29uLXRvLXN0cmluZy5kaXJlY3RpdmUiLCJAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUiLCJAc2hhcmVkL2NvbXBvbmVudHMvYnV0dG9uL3RvZ2dsZS1wYXNzd29yZC5jb21wb25lbnQiLCJAc2hhcmVkL2NvbXBvbmVudHMvdG9nZ2xlLWhlYWRlci5jb21wb25lbnQiLCJAc2hhcmVkL2NvbXBvbmVudHMvdG9nZ2xlLXNlbGVjdC5jb21wb25lbnQiLCJAbmdyeC9zdG9yZSIsIkBhbmd1bGFyL3JvdXRlciIsIkBhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXIiLCJAc2hhcmVkL2NvbXBvbmVudHMvanNvbi1jb250ZW50LmNvbXBvbmVudCIsIkBzaGFyZWQvaW1wb3J0LWV4cG9ydC9pbXBvcnQtZXhwb3J0LnNlcnZpY2UiLCJAc2hhcmVkL2NvbXBvbmVudHMvdG9hc3QuZGlyZWN0aXZlIiwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3giLCJAc2hhcmVkL2NvbXBvbmVudHMvZW50aXR5L2VudGl0eS1nYXRld2F5LXNlbGVjdC5jb21wb25lbnQiLCJAc2hhcmVkL2NvbXBvbmVudHMvaGVscC5jb21wb25lbnQiLCJAc2hhcmVkL2NvbXBvbmVudHMvaGludC10b29sdGlwLWljb24uY29tcG9uZW50IiwiQHNoYXJlZC9jb21wb25lbnRzL2hlbHAtcG9wdXAuY29tcG9uZW50IiwiQHNoYXJlZC9jb21wb25lbnRzL3BvcG92ZXIuc2VydmljZSIsIkBhbmd1bGFyL21hdGVyaWFsL2NoaXBzIiwiQHNoYXJlZC9jb21wb25lbnRzL2ljb24uY29tcG9uZW50IiwiQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSIsIkBzaGFyZWQvZGVjb3JhdG9ycy9jb2VyY2lvbiIsIkBzaGFyZWQvY29tcG9uZW50cy9qc29uLW9iamVjdC1lZGl0LmNvbXBvbmVudCIsIkBzaGFyZWQvY29tcG9uZW50cy9tYXJrZG93bi5jb21wb25lbnQiLCJAc2hhcmVkL2NvbXBvbmVudHMvdGItZXJyb3IuY29tcG9uZW50IiwiQHNoYXJlZC9jb21wb25lbnRzL2ZpbGUtaW5wdXQuY29tcG9uZW50IiwiQHNoYXJlZC9jb21wb25lbnRzL2J1dHRvbi9jb3B5LWJ1dHRvbi5jb21wb25lbnQiXSwoZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO3ZhciB0LG4sYSxvLGkscixzLGwsYyxwLG0sZCx1LGcsZix5LGIsaCx4LHYsdyxDLFQsUyxrLEwsRixJLEEsTixNLEUscSxELFAsRyxPLFIsVixCLFUsXyxILHosVyxqLEssWSxRLEosWCxaLGVlLHRlLG5lLGFlLG9lLGllLHJlLHNlLGxlLGNlLHBlLG1lLGRlLHVlLGdlLGZlLHllLGJlLGhlLHhlLHZlLHdlLENlLFRlLFNlLGtlLExlLEZlLEllLEFlLE5lLE1lLEVlLHFlLERlLFBlLEdlLE9lLFJlLFZlLEJlLFVlLF9lLEhlLHplLFdlLGplLEtlLCRlLFllLFFlLEplLFhlLFplLGV0LHR0LG50LGF0LG90LGl0LHJ0LHN0LGx0LGN0LHB0LG10LGR0LHV0LGd0LGZ0LHl0LGJ0LGh0LHh0LHZ0LHd0LEN0LFR0LFN0O3JldHVybntzZXR0ZXJzOltmdW5jdGlvbihlKXt0PWUsbj1lLkNvbXBvbmVudCxhPWUuSW5wdXQsbz1lLlZpZXdDaGlsZCxpPWUuRXZlbnRFbWl0dGVyLHI9ZS5pbmplY3Qscz1lLkRpcmVjdGl2ZSxsPWUuT3V0cHV0LGM9ZS5QaXBlLHA9ZS5JbmplY3QsbT1lLmZvcndhcmRSZWYsZD1lLkNoYW5nZURldGVjdGlvblN0cmF0ZWd5LHU9ZS5OZ01vZHVsZX0sZnVuY3Rpb24oZSl7Zz1lLk1hdFNvcnQsZj1lfSxmdW5jdGlvbihlKXt5PWUuTWF0VGFibGVEYXRhU291cmNlLGI9ZX0sZnVuY3Rpb24oZSl7aD1lLk1hdFBhZ2luYXRvcix4PWV9LGZ1bmN0aW9uKGUpe3Y9ZS5oZWxwQmFzZVVybCx3PWUuRGlyZWN0aW9uLEM9ZS5QYWdlTGluayxUPWUuRGF0YUtleVR5cGUsUz1lLkxlZ2VuZFBvc2l0aW9uLGs9ZS5OVUxMX1VVSUQsTD1lLkF0dHJpYnV0ZVNjb3BlLEY9ZS5EYXRhc291cmNlVHlwZSxJPWUuRW50aXR5VHlwZSxBPWUud2lkZ2V0VHlwZSxOPWUuY29lcmNlQm9vbGVhbixNPWUuZW1wdHlQYWdlRGF0YSxFPWUuaXNDbGllbnRTaWRlVGVsZW1ldHJ5VHlwZSxxPWUuVGVsZW1ldHJ5U3Vic2NyaWJlcixEPWUuU2hhcmVkTW9kdWxlLFA9ZS5EaWFsb2dDb21wb25lbnQsRz1lLkNvbnRlbnRUeXBlLE89ZS5QYWdlQ29tcG9uZW50LFI9ZS5UYlRhYmxlRGF0YXNvdXJjZSxWPWUuSE9VUixCPWUuY29lcmNlTnVtYmVyLFU9ZS5EZXZpY2VDcmVkZW50aWFsc1R5cGV9LGZ1bmN0aW9uKGUpe189ZSxIPWUuQ29tbW9uTW9kdWxlfSxmdW5jdGlvbihlKXt6PWV9LGZ1bmN0aW9uKGUpe1c9ZX0sZnVuY3Rpb24oZSl7aj1lfSxmdW5jdGlvbihlKXtLPWV9LGZ1bmN0aW9uKGUpe1k9ZSxRPWUuVHJhbnNsYXRlTW9kdWxlfSxmdW5jdGlvbihlKXtKPWUuZGVlcENsb25lLFg9ZSxaPWUuZGVsZXRlTnVsbFByb3BlcnRpZXMsZWU9ZS5pc0VxdWFsLHRlPWUuaXNOdW1iZXIsbmU9ZS5pc1N0cmluZyxhZT1lLldJTkRPVyxvZT1lLmlzTGl0ZXJhbE9iamVjdCxpZT1lLmlzRGVmaW5lZEFuZE5vdE51bGwscmU9ZS5pc1VuZGVmaW5lZE9yTnVsbCxzZT1lLmdlbmVyYXRlU2VjcmV0LGxlPWUuaXNPYmplY3QsY2U9ZS5jYW1lbENhc2UscGU9ZS5kZWVwVHJpbX0sZnVuY3Rpb24oZSl7bWU9ZSxkZT1lLkZvcm1CdWlsZGVyLHVlPWUuVmFsaWRhdG9ycyxnZT1lLk5HX1ZBTFVFX0FDQ0VTU09SLGZlPWUuTkdfVkFMSURBVE9SUyx5ZT1lLkZvcm1Db250cm9sfSxmdW5jdGlvbihlKXtiZT1lfSxmdW5jdGlvbihlKXtoZT1lfSxmdW5jdGlvbihlKXt4ZT1lfSxmdW5jdGlvbihlKXt2ZT1lfSxmdW5jdGlvbihlKXt3ZT1lfSxmdW5jdGlvbihlKXtDZT1lLFRlPWUuRXJyb3JTdGF0ZU1hdGNoZXJ9LGZ1bmN0aW9uKGUpe1NlPWUuU3ViamVjdCxrZT1lLmZyb21FdmVudCxMZT1lLkJlaGF2aW9yU3ViamVjdCxGZT1lLlJlcGxheVN1YmplY3QsSWU9ZS5vZixBZT1lLmZvcmtKb2lufSxmdW5jdGlvbihlKXtOZT1lLnRha2VVbnRpbCxNZT1lLmZpbHRlcixFZT1lLnRhcCxxZT1lLmNhdGNoRXJyb3IsRGU9ZS5tYXAsUGU9ZS5wdWJsaXNoUmVwbGF5LEdlPWUucmVmQ291bnQsT2U9ZS50YWtlLFJlPWUuc3RhcnRXaXRoLFZlPWUuZGVib3VuY2VUaW1lLEJlPWUuZGlzdGluY3RVbnRpbENoYW5nZWQsVWU9ZS5zd2l0Y2hNYXAsX2U9ZS5tZXJnZU1hcH0sZnVuY3Rpb24oZSl7SGU9ZS5fX2RlY29yYXRlfSxmdW5jdGlvbihlKXt6ZT1lLFdlPWUuTWF0VG9vbHRpcH0sZnVuY3Rpb24oZSl7amU9ZS5TZWxlY3Rpb25Nb2RlbH0sZnVuY3Rpb24oZSl7S2U9ZX0sZnVuY3Rpb24oZSl7JGU9ZX0sZnVuY3Rpb24oZSl7WWU9ZX0sZnVuY3Rpb24oZSl7UWU9ZS5Kc29uT2JqZWN0RWRpdERpYWxvZ0NvbXBvbmVudH0sZnVuY3Rpb24oZSl7SmU9ZSxYZT1lLk1BVF9ESUFMT0dfREFUQX0sZnVuY3Rpb24oZSl7WmU9ZX0sZnVuY3Rpb24oZSl7ZXQ9ZX0sZnVuY3Rpb24oZSl7dHQ9ZX0sZnVuY3Rpb24oZSl7bnQ9ZX0sZnVuY3Rpb24oZSl7YXQ9ZX0sZnVuY3Rpb24oZSl7b3Q9ZX0sZnVuY3Rpb24oZSl7aXQ9ZX0sZnVuY3Rpb24oZSl7cnQ9ZX0sZnVuY3Rpb24oZSl7c3Q9ZX0sZnVuY3Rpb24oZSl7bHQ9ZX0sZnVuY3Rpb24oZSl7Y3Q9ZX0sZnVuY3Rpb24oZSl7cHQ9ZX0sZnVuY3Rpb24oZSl7bXQ9ZX0sZnVuY3Rpb24oZSl7ZHQ9ZX0sZnVuY3Rpb24oZSl7dXQ9ZX0sZnVuY3Rpb24oZSl7Z3Q9ZX0sZnVuY3Rpb24oZSl7ZnQ9ZX0sZnVuY3Rpb24oZSl7eXQ9ZX0sZnVuY3Rpb24oZSl7YnQ9ZX0sZnVuY3Rpb24oZSl7aHQ9ZX0sZnVuY3Rpb24oZSl7eHQ9ZS5jb2VyY2VCb29sZWFufSxmdW5jdGlvbihlKXt2dD1lfSxmdW5jdGlvbihlKXt3dD1lfSxmdW5jdGlvbihlKXtDdD1lfSxmdW5jdGlvbihlKXtUdD1lfSxmdW5jdGlvbihlKXtTdD1lfV0sZXhlY3V0ZTpmdW5jdGlvbigpe2NvbnN0IGt0PWUoIm5vTGVhZFRyYWlsU3BhY2VzUmVnZXgiLC9eXFMrKD86IFxTKykqJC8pLEx0PWUoImludGVnZXJSZWdleCIsL15bLStdP1xkKyQvKSxGdD1lKCJub25aZXJvRmxvYXQiLC9eLT8oPyEwKFwuMCspPyQpXGQrKFwuXGQrKT8kLyksSXQ9ZSgianNvblJlcXVpcmVkIiwoZT0+ZS52YWx1ZT9udWxsOntyZXF1aXJlZDohMH0pKTt2YXIgQXQsTnQsTXQsRXQ7ZSgiU3RvcmFnZVR5cGVzIixBdCksZnVuY3Rpb24oZSl7ZS5NRU1PUlk9Im1lbW9yeSIsZS5GSUxFPSJmaWxlIixlLlNRTElURT0ic3FsaXRlIn0oQXR8fGUoIlN0b3JhZ2VUeXBlcyIsQXQ9e30pKSxlKCJEZXZpY2VHYXRld2F5U3RhdHVzIixOdCksZnVuY3Rpb24oZSl7ZS5FWENFUFRJT049IkVYQ0VQVElPTiJ9KE50fHxlKCJEZXZpY2VHYXRld2F5U3RhdHVzIixOdD17fSkpLGUoIkdhdGV3YXlMb2dMZXZlbCIsTXQpLGZ1bmN0aW9uKGUpe2UuTk9ORT0iTk9ORSIsZS5DUklUSUNBTD0iQ1JJVElDQUwiLGUuRVJST1I9IkVSUk9SIixlLldBUk5JTkc9IldBUk5JTkciLGUuSU5GTz0iSU5GTyIsZS5ERUJVRz0iREVCVUciLGUuVFJBQ0U9IlRSQUNFIn0oTXR8fGUoIkdhdGV3YXlMb2dMZXZlbCIsTXQ9e30pKSxlKCJQb3J0TGltaXRzIixFdCksZnVuY3Rpb24oZSl7ZVtlLk1JTj0xXT0iTUlOIixlW2UuTUFYPTY1NTM1XT0iTUFYIn0oRXR8fGUoIlBvcnRMaW1pdHMiLEV0PXt9KSk7Y29uc3QgcXQ9ZSgiR2F0ZXdheVN0YXR1cyIsey4uLk10LC4uLk50fSk7dmFyIER0LFB0O2UoIkxvZ1NhdmluZ1BlcmlvZCIsRHQpLGZ1bmN0aW9uKGUpe2UuZGF5cz0iRCIsZS5ob3Vycz0iSCIsZS5taW51dGVzPSJNIixlLnNlY29uZHM9IlMifShEdHx8ZSgiTG9nU2F2aW5nUGVyaW9kIixEdD17fSkpLGUoIkxvY2FsTG9nc0NvbmZpZ3MiLFB0KSxmdW5jdGlvbihlKXtlLnNlcnZpY2U9InNlcnZpY2UiLGUuY29ubmVjdG9yPSJjb25uZWN0b3IiLGUuY29udmVydGVyPSJjb252ZXJ0ZXIiLGUudGJfY29ubmVjdGlvbj0idGJfY29ubmVjdGlvbiIsZS5zdG9yYWdlPSJzdG9yYWdlIixlLmV4dGVuc2lvbj0iZXh0ZW5zaW9uIn0oUHR8fGUoIkxvY2FsTG9nc0NvbmZpZ3MiLFB0PXt9KSk7Y29uc3QgR3Q9ZSgiTG9jYWxMb2dzQ29uZmlnVHJhbnNsYXRlTWFwIixuZXcgTWFwKFtbUHQuc2VydmljZSwiU2VydmljZSJdLFtQdC5jb25uZWN0b3IsIkNvbm5lY3RvciJdLFtQdC5jb252ZXJ0ZXIsIkNvbnZlcnRlciJdLFtQdC50Yl9jb25uZWN0aW9uLCJUQiBDb25uZWN0aW9uIl0sW1B0LnN0b3JhZ2UsIlN0b3JhZ2UiXSxbUHQuZXh0ZW5zaW9uLCJFeHRlbnNpb24iXV0pKSxPdD1lKCJMb2dTYXZpbmdQZXJpb2RUcmFuc2xhdGlvbnMiLG5ldyBNYXAoW1tEdC5kYXlzLCJnYXRld2F5LmxvZ3MuZGF5cyJdLFtEdC5ob3VycywiZ2F0ZXdheS5sb2dzLmhvdXJzIl0sW0R0Lm1pbnV0ZXMsImdhdGV3YXkubG9ncy5taW51dGVzIl0sW0R0LnNlY29uZHMsImdhdGV3YXkubG9ncy5zZWNvbmRzIl1dKSksUnQ9ZSgiU3RvcmFnZVR5cGVzVHJhbnNsYXRpb25NYXAiLG5ldyBNYXAoW1tBdC5NRU1PUlksImdhdGV3YXkuc3RvcmFnZS10eXBlcy5tZW1vcnktc3RvcmFnZSJdLFtBdC5GSUxFLCJnYXRld2F5LnN0b3JhZ2UtdHlwZXMuZmlsZS1zdG9yYWdlIl0sW0F0LlNRTElURSwiZ2F0ZXdheS5zdG9yYWdlLXR5cGVzLnNxbGl0ZSJdXSkpO3ZhciBWdDtlKCJTZWN1cml0eVR5cGVzIixWdCksZnVuY3Rpb24oZSl7ZS5BQ0NFU1NfVE9LRU49ImFjY2Vzc1Rva2VuIixlLlVTRVJOQU1FX1BBU1NXT1JEPSJ1c2VybmFtZVBhc3N3b3JkIixlLlRMU19BQ0NFU1NfVE9LRU49InRsc0FjY2Vzc1Rva2VuIixlLlRMU19QUklWQVRFX0tFWT0idGxzUHJpdmF0ZUtleSJ9KFZ0fHxlKCJTZWN1cml0eVR5cGVzIixWdD17fSkpO2NvbnN0IEJ0PWUoIkdlY3VyaXR5VHlwZXNUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1tWdC5BQ0NFU1NfVE9LRU4sImdhdGV3YXkuc2VjdXJpdHktdHlwZXMuYWNjZXNzLXRva2VuIl0sW1Z0LlVTRVJOQU1FX1BBU1NXT1JELCJnYXRld2F5LnNlY3VyaXR5LXR5cGVzLnVzZXJuYW1lLXBhc3N3b3JkIl0sW1Z0LlRMU19BQ0NFU1NfVE9LRU4sImdhdGV3YXkuc2VjdXJpdHktdHlwZXMudGxzLWFjY2Vzcy10b2tlbiJdXSkpO3ZhciBVdCxfdDtlKCJHYXRld2F5VmVyc2lvbiIsVXQpLGZ1bmN0aW9uKGUpe2UuQ3VycmVudD0iMy41LjIiLGUuTGVnYWN5PSJsZWdhY3kifShVdHx8ZSgiR2F0ZXdheVZlcnNpb24iLFV0PXt9KSksZSgiQ29ubmVjdG9yVHlwZSIsX3QpLGZ1bmN0aW9uKGUpe2UuTVFUVD0ibXF0dCIsZS5NT0RCVVM9Im1vZGJ1cyIsZS5HUlBDPSJncnBjIixlLk9QQ1VBPSJvcGN1YSIsZS5CTEU9ImJsZSIsZS5SRVFVRVNUPSJyZXF1ZXN0IixlLkNBTj0iY2FuIixlLkJBQ05FVD0iYmFjbmV0IixlLk9EQkM9Im9kYmMiLGUuUkVTVD0icmVzdCIsZS5TTk1QPSJzbm1wIixlLkZUUD0iZnRwIixlLlNPQ0tFVD0ic29ja2V0IixlLlhNUFA9InhtcHAiLGUuT0NQUD0ib2NwcCIsZS5DVVNUT009ImN1c3RvbSJ9KF90fHxlKCJDb25uZWN0b3JUeXBlIixfdD17fSkpO2NvbnN0IEh0PWUoIkdhdGV3YXlDb25uZWN0b3JEZWZhdWx0VHlwZXNUcmFuc2xhdGVzTWFwIixuZXcgTWFwKFtbX3QuTVFUVCwiTVFUVCJdLFtfdC5NT0RCVVMsIk1PREJVUyJdLFtfdC5HUlBDLCJHUlBDIl0sW190Lk9QQ1VBLCJPUENVQSJdLFtfdC5CTEUsIkJMRSJdLFtfdC5SRVFVRVNULCJSRVFVRVNUIl0sW190LkNBTiwiQ0FOIl0sW190LkJBQ05FVCwiQkFDTkVUIl0sW190Lk9EQkMsIk9EQkMiXSxbX3QuUkVTVCwiUkVTVCJdLFtfdC5TTk1QLCJTTk1QIl0sW190LkZUUCwiRlRQIl0sW190LlNPQ0tFVCwiU09DS0VUIl0sW190LlhNUFAsIlhNUFAiXSxbX3QuT0NQUCwiT0NQUCJdLFtfdC5DVVNUT00sIkNVU1RPTSJdXSkpLHp0PWUoIk1vZGJ1c0Z1bmN0aW9uQ29kZVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbWzEsImdhdGV3YXkuZnVuY3Rpb24tY29kZXMucmVhZC1jb2lscyJdLFsyLCJnYXRld2F5LmZ1bmN0aW9uLWNvZGVzLnJlYWQtZGlzY3JldGUtaW5wdXRzIl0sWzMsImdhdGV3YXkuZnVuY3Rpb24tY29kZXMucmVhZC1tdWx0aXBsZS1ob2xkaW5nLXJlZ2lzdGVycyJdLFs0LCJnYXRld2F5LmZ1bmN0aW9uLWNvZGVzLnJlYWQtaW5wdXQtcmVnaXN0ZXJzIl0sWzUsImdhdGV3YXkuZnVuY3Rpb24tY29kZXMud3JpdGUtc2luZ2xlLWNvaWwiXSxbNiwiZ2F0ZXdheS5mdW5jdGlvbi1jb2Rlcy53cml0ZS1zaW5nbGUtaG9sZGluZy1yZWdpc3RlciJdLFsxNSwiZ2F0ZXdheS5mdW5jdGlvbi1jb2Rlcy53cml0ZS1tdWx0aXBsZS1jb2lscyJdLFsxNiwiZ2F0ZXdheS5mdW5jdGlvbi1jb2Rlcy53cml0ZS1tdWx0aXBsZS1ob2xkaW5nLXJlZ2lzdGVycyJdXSkpO3ZhciBXdDtlKCJCQUNuZXRSZXF1ZXN0VHlwZXMiLFd0KSxmdW5jdGlvbihlKXtlLldyaXRlUHJvcGVydHk9IndyaXRlUHJvcGVydHkiLGUuUmVhZFByb3BlcnR5PSJyZWFkUHJvcGVydHkifShXdHx8ZSgiQkFDbmV0UmVxdWVzdFR5cGVzIixXdD17fSkpO2NvbnN0IGp0PWUoIkJBQ25ldFJlcXVlc3RUeXBlc1RyYW5zbGF0ZXMiLG5ldyBNYXAoW1tXdC5Xcml0ZVByb3BlcnR5LCJnYXRld2F5LnJwYy53cml0ZS1wcm9wZXJ0eSJdLFtXdC5SZWFkUHJvcGVydHksImdhdGV3YXkucnBjLnJlYWQtcHJvcGVydHkiXV0pKTt2YXIgS3Q7ZSgiQkFDbmV0T2JqZWN0VHlwZXMiLEt0KSxmdW5jdGlvbihlKXtlLkJpbmFyeUlucHV0PSJiaW5hcnlJbnB1dCIsZS5CaW5hcnlPdXRwdXQ9ImJpbmFyeU91dHB1dCIsZS5BbmFsb2dJbnB1dD0iYW5hbG9nSW5wdXQiLGUuQW5hbG9nT3V0cHV0PSJhbmFsb2dPdXRwdXQiLGUuQmluYXJ5VmFsdWU9ImJpbmFyeVZhbHVlIixlLkFuYWxvZ1ZhbHVlPSJhbmFsb2dWYWx1ZSJ9KEt0fHxlKCJCQUNuZXRPYmplY3RUeXBlcyIsS3Q9e30pKTtjb25zdCAkdD1lKCJCQUNuZXRPYmplY3RUeXBlc1RyYW5zbGF0ZXMiLG5ldyBNYXAoW1tLdC5BbmFsb2dPdXRwdXQsImdhdGV3YXkucnBjLmFuYWxvZy1vdXRwdXQiXSxbS3QuQW5hbG9nSW5wdXQsImdhdGV3YXkucnBjLmFuYWxvZy1pbnB1dCJdLFtLdC5CaW5hcnlPdXRwdXQsImdhdGV3YXkucnBjLmJpbmFyeS1vdXRwdXQiXSxbS3QuQmluYXJ5SW5wdXQsImdhdGV3YXkucnBjLmJpbmFyeS1pbnB1dCJdLFtLdC5CaW5hcnlWYWx1ZSwiZ2F0ZXdheS5ycGMuYmluYXJ5LXZhbHVlIl0sW0t0LkFuYWxvZ1ZhbHVlLCJnYXRld2F5LnJwYy5hbmFsb2ctdmFsdWUiXV0pKTt2YXIgWXQ7ZSgiQkxFTWV0aG9kcyIsWXQpLGZ1bmN0aW9uKGUpe2UuV1JJVEU9IndyaXRlIixlLlJFQUQ9InJlYWQiLGUuU0NBTj0ic2NhbiJ9KFl0fHxlKCJCTEVNZXRob2RzIixZdD17fSkpO2NvbnN0IFF0PWUoIkJMRU1ldGhvZHNUcmFuc2xhdGVzIixuZXcgTWFwKFtbWXQuV1JJVEUsImdhdGV3YXkucnBjLndyaXRlIl0sW1l0LlJFQUQsImdhdGV3YXkucnBjLnJlYWQiXSxbWXQuU0NBTiwiZ2F0ZXdheS5ycGMuc2NhbiJdXSkpO3ZhciBKdCxYdDtlKCJDQU5CeXRlT3JkZXJzIixKdCksZnVuY3Rpb24oZSl7ZS5MSVRUTEU9IkxJVFRMRSIsZS5CSUc9IkJJRyJ9KEp0fHxlKCJDQU5CeXRlT3JkZXJzIixKdD17fSkpLGUoIlNvY2tldE1ldGhvZFByb2Nlc3NpbmdzIixYdCksZnVuY3Rpb24oZSl7ZS5XUklURT0id3JpdGUifShYdHx8ZSgiU29ja2V0TWV0aG9kUHJvY2Vzc2luZ3MiLFh0PXt9KSk7Y29uc3QgWnQ9ZSgiU29ja2V0TWV0aG9kUHJvY2Vzc2luZ3NUcmFuc2xhdGVzIixuZXcgTWFwKFtbWHQuV1JJVEUsImdhdGV3YXkucnBjLndyaXRlIl1dKSk7dmFyIGVuO2UoIlNOTVBNZXRob2RzIixlbiksZnVuY3Rpb24oZSl7ZS5TRVQ9InNldCIsZS5NVUxUSVNFVD0ibXVsdGlzZXQiLGUuR0VUPSJnZXQiLGUuQlVMS1dBTEs9ImJ1bGt3YWxrIixlLlRBQkxFPSJ0YWJsZSIsZS5NVUxUSUdFVD0ibXVsdGlnZXQiLGUuR0VUTkVYVD0iZ2V0bmV4dCIsZS5CVUxLR0VUPSJidWxrZ2V0IixlLldBTEtTPSJ3YWxrIn0oZW58fGUoIlNOTVBNZXRob2RzIixlbj17fSkpO2NvbnN0IHRuPWUoIlNOTVBNZXRob2RzVHJhbnNsYXRpb25zIixuZXcgTWFwKFtbZW4uU0VULCJnYXRld2F5LnJwYy5zZXQiXSxbZW4uTVVMVElTRVQsImdhdGV3YXkucnBjLm11bHRpc2V0Il0sW2VuLkdFVCwiZ2F0ZXdheS5ycGMuZ2V0Il0sW2VuLkJVTEtXQUxLLCJnYXRld2F5LnJwYy5idWxrLXdhbGsiXSxbZW4uVEFCTEUsImdhdGV3YXkucnBjLnRhYmxlIl0sW2VuLk1VTFRJR0VULCJnYXRld2F5LnJwYy5tdWx0aS1nZXQiXSxbZW4uR0VUTkVYVCwiZ2F0ZXdheS5ycGMuZ2V0LW5leHQiXSxbZW4uQlVMS0dFVCwiZ2F0ZXdheS5ycGMuYnVsay1nZXQiXSxbZW4uV0FMS1MsImdhdGV3YXkucnBjLndhbGsiXV0pKTt2YXIgbm4sYW4sb24scm4sc24sbG47ZSgiSFRUUE1ldGhvZHMiLG5uKSxmdW5jdGlvbihlKXtlLkNPTk5FQ1Q9IkNPTk5FQ1QiLGUuREVMRVRFPSJERUxFVEUiLGUuR0VUPSJHRVQiLGUuSEVBRD0iSEVBRCIsZS5PUFRJT05TPSJPUFRJT05TIixlLlBBVENIPSJQQVRDSCIsZS5QT1NUPSJQT1NUIixlLlBVVD0iUFVUIixlLlRSQUNFPSJUUkFDRSJ9KG5ufHxlKCJIVFRQTWV0aG9kcyIsbm49e30pKSxlKCJTb2NrZXRFbmNvZGluZ3MiLGFuKSxmdW5jdGlvbihlKXtlLlVURl84PSJ1dGYtOCJ9KGFufHxlKCJTb2NrZXRFbmNvZGluZ3MiLGFuPXt9KSksZSgiQ29uZmlndXJhdGlvbk1vZGVzIixvbiksZnVuY3Rpb24oZSl7ZS5CQVNJQz0iYmFzaWMiLGUuQURWQU5DRUQ9ImFkdmFuY2VkIn0ob258fGUoIkNvbmZpZ3VyYXRpb25Nb2RlcyIsb249e30pKSxlKCJTZWN1cml0eVR5cGUiLHJuKSxmdW5jdGlvbihlKXtlLkFOT05ZTU9VUz0iYW5vbnltb3VzIixlLkJBU0lDPSJiYXNpYyIsZS5DRVJUSUZJQ0FURVM9ImNlcnRpZmljYXRlcyJ9KHJufHxlKCJTZWN1cml0eVR5cGUiLHJuPXt9KSksZSgiUmVwb3J0U3RyYXRlZ3lUeXBlIixzbiksZnVuY3Rpb24oZSl7ZS5PbkNoYW5nZT0iT05fQ0hBTkdFIixlLk9uUmVwb3J0UGVyaW9kPSJPTl9SRVBPUlRfUEVSSU9EIixlLk9uQ2hhbmdlT3JSZXBvcnRQZXJpb2Q9Ik9OX0NIQU5HRV9PUl9SRVBPUlRfUEVSSU9EIn0oc258fGUoIlJlcG9ydFN0cmF0ZWd5VHlwZSIsc249e30pKSxlKCJSZXBvcnRTdHJhdGVneURlZmF1bHRWYWx1ZSIsbG4pLGZ1bmN0aW9uKGUpe2VbZS5Db25uZWN0b3I9NmU0XT0iQ29ubmVjdG9yIixlW2UuRGV2aWNlPTNlNF09IkRldmljZSIsZVtlLktleT0xNWUzXT0iS2V5In0obG58fGUoIlJlcG9ydFN0cmF0ZWd5RGVmYXVsdFZhbHVlIixsbj17fSkpO2NvbnN0IGNuPWUoIlJlcG9ydFN0cmF0ZWd5VHlwZVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW3NuLk9uQ2hhbmdlLCJnYXRld2F5LnJlcG9ydC1zdHJhdGVneS5vbi1jaGFuZ2UiXSxbc24uT25SZXBvcnRQZXJpb2QsImdhdGV3YXkucmVwb3J0LXN0cmF0ZWd5Lm9uLXJlcG9ydC1wZXJpb2QiXSxbc24uT25DaGFuZ2VPclJlcG9ydFBlcmlvZCwiZ2F0ZXdheS5yZXBvcnQtc3RyYXRlZ3kub24tY2hhbmdlLW9yLXJlcG9ydC1wZXJpb2QiXV0pKTt2YXIgcG47ZSgiTW9kZVR5cGUiLHBuKSxmdW5jdGlvbihlKXtlLk5PTkU9Ik5vbmUiLGUuU0lHTj0iU2lnbiIsZS5TSUdOQU5ERU5DUllQVD0iU2lnbkFuZEVuY3J5cHQifShwbnx8ZSgiTW9kZVR5cGUiLHBuPXt9KSk7Y29uc3QgbW49ZSgiU2VjdXJpdHlUeXBlVHJhbnNsYXRpb25zTWFwIixuZXcgTWFwKFtbcm4uQU5PTllNT1VTLCJnYXRld2F5LmJyb2tlci5zZWN1cml0eS10eXBlcy5hbm9ueW1vdXMiXSxbcm4uQkFTSUMsImdhdGV3YXkuYnJva2VyLnNlY3VyaXR5LXR5cGVzLmJhc2ljIl0sW3JuLkNFUlRJRklDQVRFUywiZ2F0ZXdheS5icm9rZXIuc2VjdXJpdHktdHlwZXMuY2VydGlmaWNhdGVzIl1dKSk7dmFyIGRuO2UoIlJlc3RTZWN1cml0eVR5cGUiLGRuKSxmdW5jdGlvbihlKXtlLkFOT05ZTU9VUz0iYW5vbnltb3VzIixlLkJBU0lDPSJiYXNpYyJ9KGRufHxlKCJSZXN0U2VjdXJpdHlUeXBlIixkbj17fSkpO2NvbnN0IHVuPWUoIlJlc3RTZWN1cml0eVR5cGVUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1tkbi5BTk9OWU1PVVMsImdhdGV3YXkuYnJva2VyLnNlY3VyaXR5LXR5cGVzLmFub255bW91cyJdLFtkbi5CQVNJQywiZ2F0ZXdheS5icm9rZXIuc2VjdXJpdHktdHlwZXMuYmFzaWMiXV0pKSxnbj1lKCJNcXR0VmVyc2lvbnMiLFt7bmFtZTozLjEsdmFsdWU6M30se25hbWU6My4xMSx2YWx1ZTo0fSx7bmFtZTo1LHZhbHVlOjV9XSk7dmFyIGZuO2UoIk1hcHBpbmdUeXBlIixmbiksZnVuY3Rpb24oZSl7ZS5EQVRBPSJkYXRhIixlLlJFUVVFU1RTPSJyZXF1ZXN0cyIsZS5PUENVQT0iT1BDdWEifShmbnx8ZSgiTWFwcGluZ1R5cGUiLGZuPXt9KSk7Y29uc3QgeW49ZSgiTWFwcGluZ1R5cGVUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1tmbi5EQVRBLCJnYXRld2F5LmRhdGEtbWFwcGluZyJdLFtmbi5SRVFVRVNUUywiZ2F0ZXdheS5yZXF1ZXN0cy1tYXBwaW5nIl0sW2ZuLk9QQ1VBLCJnYXRld2F5LmRhdGEtbWFwcGluZyJdXSkpLGJuPWUoIk1hcHBpbmdIaW50VHJhbnNsYXRpb25zTWFwIixuZXcgTWFwKFtbZm4uREFUQSwiZ2F0ZXdheS5kYXRhLW1hcHBpbmctaGludCJdLFtmbi5PUENVQSwiZ2F0ZXdheS5vcGN1YS1kYXRhLW1hcHBpbmctaGludCJdLFtmbi5SRVFVRVNUUywiZ2F0ZXdheS5yZXF1ZXN0cy1tYXBwaW5nLWhpbnQiXV0pKSxobj1lKCJIZWxwTGlua0J5TWFwcGluZ1R5cGVNYXAiLG5ldyBNYXAoW1tmbi5EQVRBLHYrIi9kb2NzL2lvdC1nYXRld2F5L2NvbmZpZy9tcXR0LyNzZWN0aW9uLW1hcHBpbmciXSxbZm4uT1BDVUEsdisiL2RvY3MvaW90LWdhdGV3YXkvY29uZmlnL29wYy11YS8jc2VjdGlvbi1tYXBwaW5nIl0sW2ZuLlJFUVVFU1RTLHYrIi9kb2NzL2lvdC1nYXRld2F5L2NvbmZpZy9tcXR0LyNyZXF1ZXN0cy1tYXBwaW5nIl1dKSkseG49ZSgiUXVhbGl0eVR5cGVzIixbMCwxLDJdKSx2bj1lKCJRdWFsaXR5VHlwZVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbWzAsImdhdGV3YXkucW9zLmF0LW1vc3Qtb25jZSJdLFsxLCJnYXRld2F5LnFvcy5hdC1sZWFzdC1vbmNlIl0sWzIsImdhdGV3YXkucW9zLmV4YWN0bHktb25jZSJdXSkpO3ZhciB3bjtlKCJDb252ZXJ0b3JUeXBlIix3biksZnVuY3Rpb24oZSl7ZS5KU09OPSJqc29uIixlLkJZVEVTPSJieXRlcyIsZS5DVVNUT009ImN1c3RvbSJ9KHdufHxlKCJDb252ZXJ0b3JUeXBlIix3bj17fSkpO2NvbnN0IENuPWUoIkNvbnZlcnRvclR5cGVUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1t3bi5KU09OLCJnYXRld2F5LkpTT04iXSxbd24uQllURVMsImdhdGV3YXkuYnl0ZXMiXSxbd24uQ1VTVE9NLCJnYXRld2F5LmN1c3RvbSJdXSkpO3ZhciBUbixTbixrbjtlKCJTb3VyY2VUeXBlIixUbiksZnVuY3Rpb24oZSl7ZS5NU0c9Im1lc3NhZ2UiLGUuVE9QSUM9InRvcGljIixlLkNPTlNUPSJjb25zdGFudCJ9KFRufHxlKCJTb3VyY2VUeXBlIixUbj17fSkpLGUoIk9QQ1VhU291cmNlVHlwZSIsU24pLGZ1bmN0aW9uKGUpe2UuUEFUSD0icGF0aCIsZS5JREVOVElGSUVSPSJpZGVudGlmaWVyIixlLkNPTlNUPSJjb25zdGFudCJ9KFNufHxlKCJPUENVYVNvdXJjZVR5cGUiLFNuPXt9KSksZSgiRGV2aWNlSW5mb1R5cGUiLGtuKSxmdW5jdGlvbihlKXtlLkZVTEw9ImZ1bGwiLGUuUEFSVElBTD0icGFydGlhbCJ9KGtufHxlKCJEZXZpY2VJbmZvVHlwZSIsa249e30pKTtjb25zdCBMbj1lKCJTb3VyY2VUeXBlVHJhbnNsYXRpb25zTWFwIixuZXcgTWFwKFtbVG4uTVNHLCJnYXRld2F5LnNvdXJjZS10eXBlLm1zZyJdLFtUbi5UT1BJQywiZ2F0ZXdheS5zb3VyY2UtdHlwZS50b3BpYyJdLFtUbi5DT05TVCwiZ2F0ZXdheS5zb3VyY2UtdHlwZS5jb25zdCJdLFtTbi5QQVRILCJnYXRld2F5LnNvdXJjZS10eXBlLnBhdGgiXSxbU24uSURFTlRJRklFUiwiZ2F0ZXdheS5zb3VyY2UtdHlwZS5pZGVudGlmaWVyIl0sW1NuLkNPTlNULCJnYXRld2F5LnNvdXJjZS10eXBlLmNvbnN0Il1dKSk7dmFyIEZuLEluO2UoIlNlcnZlclNpZGVScGNUeXBlIixGbiksZnVuY3Rpb24oZSl7ZS5XaXRoUmVzcG9uc2U9InR3b1dheSIsZS5XaXRob3V0UmVzcG9uc2U9Im9uZVdheSJ9KEZufHxlKCJTZXJ2ZXJTaWRlUnBjVHlwZSIsRm49e30pKSxlKCJSZXF1ZXN0VHlwZSIsSW4pLGZ1bmN0aW9uKGUpe2UuQ09OTkVDVF9SRVFVRVNUPSJjb25uZWN0UmVxdWVzdHMiLGUuRElTQ09OTkVDVF9SRVFVRVNUPSJkaXNjb25uZWN0UmVxdWVzdHMiLGUuQVRUUklCVVRFX1JFUVVFU1Q9ImF0dHJpYnV0ZVJlcXVlc3RzIixlLkFUVFJJQlVURV9VUERBVEU9ImF0dHJpYnV0ZVVwZGF0ZXMiLGUuU0VSVkVSX1NJREVfUlBDPSJzZXJ2ZXJTaWRlUnBjIn0oSW58fGUoIlJlcXVlc3RUeXBlIixJbj17fSkpO2NvbnN0IEFuPWUoIlJlcXVlc3RUeXBlc1RyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW0luLkNPTk5FQ1RfUkVRVUVTVCwiZ2F0ZXdheS5yZXF1ZXN0LmNvbm5lY3QtcmVxdWVzdCJdLFtJbi5ESVNDT05ORUNUX1JFUVVFU1QsImdhdGV3YXkucmVxdWVzdC5kaXNjb25uZWN0LXJlcXVlc3QiXSxbSW4uQVRUUklCVVRFX1JFUVVFU1QsImdhdGV3YXkucmVxdWVzdC5hdHRyaWJ1dGUtcmVxdWVzdCJdLFtJbi5BVFRSSUJVVEVfVVBEQVRFLCJnYXRld2F5LnJlcXVlc3QuYXR0cmlidXRlLXVwZGF0ZSJdLFtJbi5TRVJWRVJfU0lERV9SUEMsImdhdGV3YXkucmVxdWVzdC5ycGMtY29ubmVjdGlvbiJdXSkpO3ZhciBObjtlKCJNYXBwaW5nS2V5c1R5cGUiLE5uKSxmdW5jdGlvbihlKXtlLkFUVFJJQlVURVM9ImF0dHJpYnV0ZXMiLGUuVElNRVNFUklFUz0idGltZXNlcmllcyIsZS5DVVNUT009ImV4dGVuc2lvbkNvbmZpZyIsZS5SUENfTUVUSE9EUz0icnBjX21ldGhvZHMiLGUuQVRUUklCVVRFU19VUERBVEVTPSJhdHRyaWJ1dGVzX3VwZGF0ZXMifShObnx8ZSgiTWFwcGluZ0tleXNUeXBlIixObj17fSkpO2NvbnN0IE1uPWUoIk1hcHBpbmdLZXlzUGFuZWxUaXRsZVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW05uLkFUVFJJQlVURVMsImdhdGV3YXkuYXR0cmlidXRlcyJdLFtObi5USU1FU0VSSUVTLCJnYXRld2F5LnRpbWVzZXJpZXMiXSxbTm4uQ1VTVE9NLCJnYXRld2F5LmtleXMiXSxbTm4uQVRUUklCVVRFU19VUERBVEVTLCJnYXRld2F5LmF0dHJpYnV0ZS11cGRhdGVzIl0sW05uLlJQQ19NRVRIT0RTLCJnYXRld2F5LnJwYy1tZXRob2RzIl1dKSksRW49ZSgiTWFwcGluZ0tleXNBZGRLZXlUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1tObi5BVFRSSUJVVEVTLCJnYXRld2F5LmFkZC1hdHRyaWJ1dGUiXSxbTm4uVElNRVNFUklFUywiZ2F0ZXdheS5hZGQtdGltZXNlcmllcyJdLFtObi5DVVNUT00sImdhdGV3YXkuYWRkLWtleSJdLFtObi5BVFRSSUJVVEVTX1VQREFURVMsImdhdGV3YXkuYWRkLWF0dHJpYnV0ZS11cGRhdGUiXSxbTm4uUlBDX01FVEhPRFMsImdhdGV3YXkuYWRkLXJwYy1tZXRob2QiXV0pKSxxbj1lKCJNYXBwaW5nS2V5c0RlbGV0ZUtleVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW05uLkFUVFJJQlVURVMsImdhdGV3YXkuZGVsZXRlLWF0dHJpYnV0ZSJdLFtObi5USU1FU0VSSUVTLCJnYXRld2F5LmRlbGV0ZS10aW1lc2VyaWVzIl0sW05uLkNVU1RPTSwiZ2F0ZXdheS5kZWxldGUta2V5Il0sW05uLkFUVFJJQlVURVNfVVBEQVRFUywiZ2F0ZXdheS5kZWxldGUtYXR0cmlidXRlLXVwZGF0ZSJdLFtObi5SUENfTUVUSE9EUywiZ2F0ZXdheS5kZWxldGUtcnBjLW1ldGhvZCJdXSkpLERuPWUoIk1hcHBpbmdLZXlzTm9LZXlzVGV4dFRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW05uLkFUVFJJQlVURVMsImdhdGV3YXkubm8tYXR0cmlidXRlcyJdLFtObi5USU1FU0VSSUVTLCJnYXRld2F5Lm5vLXRpbWVzZXJpZXMiXSxbTm4uQ1VTVE9NLCJnYXRld2F5Lm5vLWtleXMiXSxbTm4uQVRUUklCVVRFU19VUERBVEVTLCJnYXRld2F5Lm5vLWF0dHJpYnV0ZS11cGRhdGVzIl0sW05uLlJQQ19NRVRIT0RTLCJnYXRld2F5Lm5vLXJwYy1tZXRob2RzIl1dKSk7dmFyIFBuLEduLE9uO2UoIlNlcnZlclNpZGVSUENUeXBlIixQbiksZnVuY3Rpb24oZSl7ZS5PTkVfV0FZPSJvbmVXYXkiLGUuVFdPX1dBWT0idHdvV2F5In0oUG58fGUoIlNlcnZlclNpZGVSUENUeXBlIixQbj17fSkpLGUoIk1hcHBpbmdWYWx1ZVR5cGUiLEduKSxmdW5jdGlvbihlKXtlLlNUUklORz0ic3RyaW5nIixlLklOVEVHRVI9ImludGVnZXIiLGUuRE9VQkxFPSJkb3VibGUiLGUuQk9PTEVBTj0iYm9vbGVhbiJ9KEdufHxlKCJNYXBwaW5nVmFsdWVUeXBlIixHbj17fSkpLGUoIk1vZGlmaWVyVHlwZSIsT24pLGZ1bmN0aW9uKGUpe2UuRElWSURFUj0iZGl2aWRlciIsZS5NVUxUSVBMSUVSPSJtdWx0aXBsaWVyIn0oT258fGUoIk1vZGlmaWVyVHlwZSIsT249e30pKTtjb25zdCBSbj1lKCJNb2RpZmllclR5cGVzTWFwIixuZXcgTWFwKFtbT24uRElWSURFUix7bmFtZToiZ2F0ZXdheS5kaXZpZGVyIixpY29uOiJtZGk6ZGl2aXNpb24ifV0sW09uLk1VTFRJUExJRVIse25hbWU6ImdhdGV3YXkubXVsdGlwbGllciIsaWNvbjoibWRpOm11bHRpcGxpY2F0aW9uIn1dXSkpLFZuPWUoIm1hcHBpbmdWYWx1ZVR5cGVzTWFwIixuZXcgTWFwKFtbR24uU1RSSU5HLHtuYW1lOiJ2YWx1ZS5zdHJpbmciLGljb246Im1kaTpmb3JtYXQtdGV4dCJ9XSxbR24uSU5URUdFUix7bmFtZToidmFsdWUuaW50ZWdlciIsaWNvbjoibWRpOm51bWVyaWMifV0sW0duLkRPVUJMRSx7bmFtZToidmFsdWUuZG91YmxlIixpY29uOiJtZGk6bnVtZXJpYyJ9XSxbR24uQk9PTEVBTix7bmFtZToidmFsdWUuYm9vbGVhbiIsaWNvbjoibWRpOmNoZWNrYm94LW1hcmtlZC1vdXRsaW5lIn1dXSkpLEJuPWUoIkRhdGFDb252ZXJzaW9uVHJhbnNsYXRpb25zTWFwIixuZXcgTWFwKFtbd24uSlNPTiwiZ2F0ZXdheS5KU09OLWhpbnQiXSxbd24uQllURVMsImdhdGV3YXkuYnl0ZXMtaGludCJdLFt3bi5DVVNUT00sImdhdGV3YXkuY3VzdG9tLWhpbnQiXV0pKTt2YXIgVW47ZSgiU2VjdXJpdHlQb2xpY3kiLFVuKSxmdW5jdGlvbihlKXtlLkJBU0lDMTI4PSJCYXNpYzEyOFJzYTE1IixlLkJBU0lDMjU2PSJCYXNpYzI1NiIsZS5CQVNJQzI1NlNIQT0iQmFzaWMyNTZTaGEyNTYifShVbnx8ZSgiU2VjdXJpdHlQb2xpY3kiLFVuPXt9KSk7Y29uc3QgX249ZSgiU2VjdXJpdHlQb2xpY3lUeXBlcyIsW3t2YWx1ZTpVbi5CQVNJQzEyOCxuYW1lOiJCYXNpYzEyOFJTQTE1In0se3ZhbHVlOlVuLkJBU0lDMjU2LG5hbWU6IkJhc2ljMjU2In0se3ZhbHVlOlVuLkJBU0lDMjU2U0hBLG5hbWU6IkJhc2ljMjU2U0hBMjU2In1dKTt2YXIgSG47ZSgiTW9kYnVzUHJvdG9jb2xUeXBlIixIbiksZnVuY3Rpb24oZSl7ZS5UQ1A9InRjcCIsZS5VRFA9InVkcCIsZS5TZXJpYWw9InNlcmlhbCJ9KEhufHxlKCJNb2RidXNQcm90b2NvbFR5cGUiLEhuPXt9KSk7Y29uc3Qgem49ZSgiTW9kYnVzUHJvdG9jb2xMYWJlbHNNYXAiLG5ldyBNYXAoW1tIbi5UQ1AsIlRDUCJdLFtIbi5VRFAsIlVEUCJdLFtIbi5TZXJpYWwsIlNlcmlhbCJdXSkpO3ZhciBXbixqbjtlKCJNb2RidXNNZXRob2RUeXBlIixXbiksZnVuY3Rpb24oZSl7ZS5TT0NLRVQ9InNvY2tldCIsZS5SVFU9InJ0dSJ9KFdufHxlKCJNb2RidXNNZXRob2RUeXBlIixXbj17fSkpLGUoIk1vZGJ1c1NlcmlhbE1ldGhvZFR5cGUiLGpuKSxmdW5jdGlvbihlKXtlLlJUVT0icnR1IixlLkFTQ0lJPSJhc2NpaSJ9KGpufHxlKCJNb2RidXNTZXJpYWxNZXRob2RUeXBlIixqbj17fSkpO2NvbnN0IEtuPWUoIk1vZGJ1c01ldGhvZExhYmVsc01hcCIsbmV3IE1hcChbW1duLlNPQ0tFVCwiU29ja2V0Il0sW1duLlJUVSwiUlRVIl0sW2puLkFTQ0lJLCJBU0NJSSJdXSkpLCRuPWUoIk1vZGJ1c0J5dGVTaXplcyIsWzUsNiw3LDhdKTt2YXIgWW47ZSgiTW9kYnVzUGFyaXR5IixZbiksZnVuY3Rpb24oZSl7ZS5FdmVuPSJFIixlLk9kZD0iTyIsZS5Ob25lPSJOIn0oWW58fGUoIk1vZGJ1c1Bhcml0eSIsWW49e30pKTtjb25zdCBRbj1lKCJNb2RidXNQYXJpdHlMYWJlbHNNYXAiLG5ldyBNYXAoW1tZbi5FdmVuLCJFdmVuIl0sW1luLk9kZCwiT2RkIl0sW1luLk5vbmUsIk5vbmUiXV0pKTt2YXIgSm4sWG47ZSgiTW9kYnVzT3JkZXJUeXBlIixKbiksZnVuY3Rpb24oZSl7ZS5CSUc9IkJJRyIsZS5MSVRUTEU9IkxJVFRMRSJ9KEpufHxlKCJNb2RidXNPcmRlclR5cGUiLEpuPXt9KSksZSgiTW9kYnVzUmVnaXN0ZXJUeXBlIixYbiksZnVuY3Rpb24oZSl7ZS5Ib2xkaW5nUmVnaXN0ZXJzPSJob2xkaW5nX3JlZ2lzdGVycyIsZS5Db2lsc0luaXRpYWxpemVyPSJjb2lsc19pbml0aWFsaXplciIsZS5JbnB1dFJlZ2lzdGVycz0iaW5wdXRfcmVnaXN0ZXJzIixlLkRpc2NyZXRlSW5wdXRzPSJkaXNjcmV0ZV9pbnB1dHMifShYbnx8ZSgiTW9kYnVzUmVnaXN0ZXJUeXBlIixYbj17fSkpO2NvbnN0IFpuPWUoIk1vZGJ1c1JlZ2lzdGVyVHJhbnNsYXRpb25zTWFwIixuZXcgTWFwKFtbWG4uSG9sZGluZ1JlZ2lzdGVycywiZ2F0ZXdheS5ob2xkaW5nX3JlZ2lzdGVycyJdLFtYbi5Db2lsc0luaXRpYWxpemVyLCJnYXRld2F5LmNvaWxzX2luaXRpYWxpemVyIl0sW1huLklucHV0UmVnaXN0ZXJzLCJnYXRld2F5LmlucHV0X3JlZ2lzdGVycyJdLFtYbi5EaXNjcmV0ZUlucHV0cywiZ2F0ZXdheS5kaXNjcmV0ZV9pbnB1dHMiXV0pKTt2YXIgZWE7ZSgiTW9kYnVzRGF0YVR5cGUiLGVhKSxmdW5jdGlvbihlKXtlLlNUUklORz0ic3RyaW5nIixlLkJZVEVTPSJieXRlcyIsZS5CSVRTPSJiaXRzIixlLklOVDg9IjhpbnQiLGUuVUlOVDg9Ijh1aW50IixlLkZMT0FUOD0iOGZsb2F0IixlLklOVDE2PSIxNmludCIsZS5VSU5UMTY9IjE2dWludCIsZS5GTE9BVDE2PSIxNmZsb2F0IixlLklOVDMyPSIzMmludCIsZS5VSU5UMzI9IjMydWludCIsZS5GTE9BVDMyPSIzMmZsb2F0IixlLklOVDY0PSI2NGludCIsZS5VSU5UNjQ9IjY0dWludCIsZS5GTE9BVDY0PSI2NGZsb2F0In0oZWF8fGUoIk1vZGJ1c0RhdGFUeXBlIixlYT17fSkpO2NvbnN0IHRhPWUoIk1vZGJ1c0VkaXRhYmxlRGF0YVR5cGVzIixbZWEuQllURVMsZWEuQklUUyxlYS5TVFJJTkddKTt2YXIgbmEsYWE7ZSgiTW9kYnVzT2JqZWN0Q291bnRCeURhdGFUeXBlIixuYSksZnVuY3Rpb24oZSl7ZVtlWyI4aW50Il09MV09IjhpbnQiLGVbZVsiOHVpbnQiXT0xXT0iOHVpbnQiLGVbZVsiOGZsb2F0Il09MV09IjhmbG9hdCIsZVtlWyIxNmludCJdPTFdPSIxNmludCIsZVtlWyIxNnVpbnQiXT0xXT0iMTZ1aW50IixlW2VbIjE2ZmxvYXQiXT0xXT0iMTZmbG9hdCIsZVtlWyIzMmludCJdPTJdPSIzMmludCIsZVtlWyIzMnVpbnQiXT0yXT0iMzJ1aW50IixlW2VbIjMyZmxvYXQiXT0yXT0iMzJmbG9hdCIsZVtlWyI2NGludCJdPTRdPSI2NGludCIsZVtlWyI2NHVpbnQiXT00XT0iNjR1aW50IixlW2VbIjY0ZmxvYXQiXT00XT0iNjRmbG9hdCJ9KG5hfHxlKCJNb2RidXNPYmplY3RDb3VudEJ5RGF0YVR5cGUiLG5hPXt9KSksZSgiTW9kYnVzVmFsdWVLZXkiLGFhKSxmdW5jdGlvbihlKXtlLkFUVFJJQlVURVM9ImF0dHJpYnV0ZXMiLGUuVElNRVNFUklFUz0idGltZXNlcmllcyIsZS5BVFRSSUJVVEVTX1VQREFURVM9ImF0dHJpYnV0ZVVwZGF0ZXMiLGUuUlBDX1JFUVVFU1RTPSJycGMifShhYXx8ZSgiTW9kYnVzVmFsdWVLZXkiLGFhPXt9KSk7Y29uc3Qgb2E9ZSgiTW9kYnVzS2V5c1BhbmVsVGl0bGVUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1thYS5BVFRSSUJVVEVTLCJnYXRld2F5LmF0dHJpYnV0ZXMiXSxbYWEuVElNRVNFUklFUywiZ2F0ZXdheS50aW1lc2VyaWVzIl0sW2FhLkFUVFJJQlVURVNfVVBEQVRFUywiZ2F0ZXdheS5hdHRyaWJ1dGUtdXBkYXRlcyJdLFthYS5SUENfUkVRVUVTVFMsImdhdGV3YXkucnBjLXJlcXVlc3RzIl1dKSksaWE9ZSgiTW9kYnVzS2V5c0FkZEtleVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW2FhLkFUVFJJQlVURVMsImdhdGV3YXkuYWRkLWF0dHJpYnV0ZSJdLFthYS5USU1FU0VSSUVTLCJnYXRld2F5LmFkZC10aW1lc2VyaWVzIl0sW2FhLkFUVFJJQlVURVNfVVBEQVRFUywiZ2F0ZXdheS5hZGQtYXR0cmlidXRlLXVwZGF0ZSJdLFthYS5SUENfUkVRVUVTVFMsImdhdGV3YXkuYWRkLXJwYy1yZXF1ZXN0Il1dKSkscmE9ZSgiTW9kYnVzS2V5c0RlbGV0ZUtleVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW2FhLkFUVFJJQlVURVMsImdhdGV3YXkuZGVsZXRlLWF0dHJpYnV0ZSJdLFthYS5USU1FU0VSSUVTLCJnYXRld2F5LmRlbGV0ZS10aW1lc2VyaWVzIl0sW2FhLkFUVFJJQlVURVNfVVBEQVRFUywiZ2F0ZXdheS5kZWxldGUtYXR0cmlidXRlLXVwZGF0ZSJdLFthYS5SUENfUkVRVUVTVFMsImdhdGV3YXkuZGVsZXRlLXJwYy1yZXF1ZXN0Il1dKSksc2E9ZSgiTW9kYnVzS2V5c05vS2V5c1RleHRUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1thYS5BVFRSSUJVVEVTLCJnYXRld2F5Lm5vLWF0dHJpYnV0ZXMiXSxbYWEuVElNRVNFUklFUywiZ2F0ZXdheS5uby10aW1lc2VyaWVzIl0sW2FhLkFUVFJJQlVURVNfVVBEQVRFUywiZ2F0ZXdheS5uby1hdHRyaWJ1dGUtdXBkYXRlcyJdLFthYS5SUENfUkVRVUVTVFMsImdhdGV3YXkubm8tcnBjLXJlcXVlc3RzIl1dKSksbGE9ZSgiTW9kYnVzQmF1ZHJhdGVzIixbNDgwMCw5NjAwLDE5MjAwLDM4NDAwLDU3NjAwLDExNTIwMCwyMzA0MDAsNDYwODAwLDkyMTYwMF0pO2NsYXNzIGNhe2NvbnN0cnVjdG9yKCl7dGhpcy5kaXNwbGF5ZWRDb2x1bW5zPVsidHMiLCJzdGF0dXMiLCJtZXNzYWdlIl0sdGhpcy5nYXRld2F5TG9nTGlua3M9W3tuYW1lOiJHZW5lcmFsIixrZXk6IkxPR1MifSx7bmFtZToiU2VydmljZSIsa2V5OiJTRVJWSUNFX0xPR1MifSx7bmFtZToiQ29ubmVjdGlvbiIsa2V5OiJDT05ORUNUSU9OX0xPR1MifSx7bmFtZToiU3RvcmFnZSIsa2V5OiJTVE9SQUdFX0xPR1MifSx7a2V5OiJFWFRFTlNJT05TX0xPR1MiLG5hbWU6IkV4dGVuc2lvbiJ9XTtjb25zdCBlPXtwcm9wZXJ0eToidHMiLGRpcmVjdGlvbjp3LkRFU0N9O3RoaXMucGFnZUxpbms9bmV3IEMoMTAsMCxudWxsLGUpLHRoaXMuZGF0YVNvdXJjZT1uZXcgeShbXSl9bmdPbkluaXQoKXt0aGlzLnVwZGF0ZVdpZGdldFRpdGxlKCl9bmdBZnRlclZpZXdJbml0KCl7aWYodGhpcy5kYXRhU291cmNlLnNvcnQ9dGhpcy5zb3J0LHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3I9dGhpcy5wYWdpbmF0b3IsdGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5vblRpbWV3aW5kb3dDaGFuZ2VGdW5jdGlvbj1lPT4odGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5vcHRpb25zLnRpbWVXaW5kb3dDb25maWc9ZSx0aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLnVwZGF0ZURhdGFTdWJzY3JpcHRpb25zKCksZSksdGhpcy5jdHguc2V0dGluZ3MuaXNDb25uZWN0b3JMb2cmJnRoaXMuY3R4LnNldHRpbmdzLmNvbm5lY3RvckxvZ1N0YXRlKXtjb25zdCBlPXRoaXMuY3R4LnN0YXRlQ29udHJvbGxlci5nZXRTdGF0ZVBhcmFtcygpW3RoaXMuY3R4LnNldHRpbmdzLmNvbm5lY3RvckxvZ1N0YXRlXTt0aGlzLmxvZ0xpbmtzPVt7a2V5OmAke2Uua2V5fV9MT0dTYCxuYW1lOiJDb25uZWN0b3IiLGZpbHRlckZuOmU9PiFlLm1lc3NhZ2UuaW5jbHVkZXMoIl9jb252ZXJ0ZXIucHkiKX0se2tleTpgJHtlLmtleX1fTE9HU2AsbmFtZToiQ29udmVydGVyIixmaWx0ZXJGbjplPT5lLm1lc3NhZ2UuaW5jbHVkZXMoIl9jb252ZXJ0ZXIucHkiKX1dfWVsc2UgdGhpcy5sb2dMaW5rcz10aGlzLmdhdGV3YXlMb2dMaW5rczt0aGlzLmFjdGl2ZUxpbms9dGhpcy5sb2dMaW5rc1swXSx0aGlzLmNoYW5nZVN1YnNjcmlwdGlvbigpfXVwZGF0ZVdpZGdldFRpdGxlKCl7aWYodGhpcy5jdHguc2V0dGluZ3MuaXNDb25uZWN0b3JMb2cmJnRoaXMuY3R4LnNldHRpbmdzLmNvbm5lY3RvckxvZ1N0YXRlKXtjb25zdCBlPXRoaXMuY3R4LndpZGdldENvbmZpZy50aXRsZSx0PSIke2Nvbm5lY3Rvck5hbWV9IjtpZihlLmluY2x1ZGVzKHQpKXtjb25zdCBuPXRoaXMuY3R4LnN0YXRlQ29udHJvbGxlci5nZXRTdGF0ZVBhcmFtcygpW3RoaXMuY3R4LnNldHRpbmdzLmNvbm5lY3RvckxvZ1N0YXRlXTt0aGlzLmN0eC53aWRnZXRUaXRsZT1lLnJlcGxhY2UodCxuLmtleSl9fX11cGRhdGVEYXRhKCl7aWYodGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5kYXRhLmxlbmd0aCYmdGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5kYXRhWzBdKXtsZXQgZT10aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLmRhdGFbMF0uZGF0YS5tYXAoKGU9Pntjb25zdCB0PXt0czplWzBdLGtleTp0aGlzLmFjdGl2ZUxpbmsua2V5LG1lc3NhZ2U6ZVsxXSxzdGF0dXM6IklOVkFMSUQgTE9HIEZPUk1BVCJ9O3RyeXt0Lm1lc3NhZ2U9L1xbKC4qKS8uZXhlYyhlWzFdKVswXX1jYXRjaChuKXt0Lm1lc3NhZ2U9ZVsxXX10cnl7dC5zdGF0dXM9ZVsxXS5tYXRjaCgvXHwoXHcrKVx8LylbMV19Y2F0Y2goZSl7dC5zdGF0dXM9IklOVkFMSUQgTE9HIEZPUk1BVCJ9cmV0dXJuIHR9KSk7dGhpcy5hY3RpdmVMaW5rLmZpbHRlckZuJiYoZT1lLmZpbHRlcigoZT0+dGhpcy5hY3RpdmVMaW5rLmZpbHRlckZuKGUpKSkpLHRoaXMuZGF0YVNvdXJjZS5kYXRhPWV9fW9uVGFiQ2hhbmdlZChlKXt0aGlzLmFjdGl2ZUxpbms9ZSx0aGlzLmNoYW5nZVN1YnNjcmlwdGlvbigpfXN0YXR1c0NsYXNzKGUpe3N3aXRjaChlKXtjYXNlIHF0LkRFQlVHOnJldHVybiJzdGF0dXMgc3RhdHVzLWRlYnVnIjtjYXNlIHF0LldBUk5JTkc6cmV0dXJuInN0YXR1cyBzdGF0dXMtd2FybmluZyI7Y2FzZSBxdC5FUlJPUjpjYXNlIHF0LkVYQ0VQVElPTjpyZXR1cm4ic3RhdHVzIHN0YXR1cy1lcnJvciI7ZGVmYXVsdDpyZXR1cm4ic3RhdHVzIHN0YXR1cy1pbmZvIn19c3RhdHVzQ2xhc3NNc2coZSl7aWYoZT09PXF0LkVYQ0VQVElPTilyZXR1cm4ibXNnLXN0YXR1cy1leGNlcHRpb24ifXRyYWNrQnlMb2dUcyhlLHQpe3JldHVybiB0LnRzfWNoYW5nZVN1YnNjcmlwdGlvbigpe3RoaXMuY3R4LmRhdGFzb3VyY2VzJiZ0aGlzLmN0eC5kYXRhc291cmNlc1swXS5lbnRpdHkmJnRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24ub3B0aW9ucy5kYXRhc291cmNlcyYmKHRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24ub3B0aW9ucy5kYXRhc291cmNlc1swXS5kYXRhS2V5cz1be25hbWU6dGhpcy5hY3RpdmVMaW5rLmtleSx0eXBlOlQudGltZXNlcmllcyxzZXR0aW5nczp7fX1dLHRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLnVwZGF0ZURhdGFTdWJzY3JpcHRpb25zKCksdGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5jYWxsYmFja3Mub25EYXRhVXBkYXRlZD0oKT0+e3RoaXMudXBkYXRlRGF0YSgpfSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpjYSxkZXBzOltdLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6Y2Esc2VsZWN0b3I6InRiLWdhdGV3YXktbG9ncyIsaW5wdXRzOntjdHg6ImN0eCIsZGlhbG9nUmVmOiJkaWFsb2dSZWYifSx2aWV3UXVlcmllczpbe3Byb3BlcnR5TmFtZToic2VhcmNoSW5wdXRGaWVsZCIsZmlyc3Q6ITAscHJlZGljYXRlOlsic2VhcmNoSW5wdXQiXSxkZXNjZW5kYW50czohMH0se3Byb3BlcnR5TmFtZToic29ydCIsZmlyc3Q6ITAscHJlZGljYXRlOmcsZGVzY2VuZGFudHM6ITB9LHtwcm9wZXJ0eU5hbWU6InBhZ2luYXRvciIsZmlyc3Q6ITAscHJlZGljYXRlOmgsZGVzY2VuZGFudHM6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG5hdiBtYXQtdGFiLW5hdi1iYXIgW3RhYlBhbmVsXT0idGFiUGFuZWwiPlxuICA8YSBtYXQtdGFiLWxpbmsgKm5nRm9yPSJsZXQgbGluayBvZiBsb2dMaW5rcyJcbiAgICAgKGNsaWNrKT0ib25UYWJDaGFuZ2VkKGxpbmspIlxuICAgICBbYWN0aXZlXT0iYWN0aXZlTGluay5uYW1lID09PSBsaW5rLm5hbWUiPiB7eyBsaW5rLm5hbWUgfX0gPC9hPlxuPC9uYXY+XG48bWF0LXRhYi1uYXYtcGFuZWwgI3RhYlBhbmVsPjwvbWF0LXRhYi1uYXYtcGFuZWw+XG48dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT0iZGF0YVNvdXJjZSIgW3RyYWNrQnldPSJ0cmFja0J5TG9nVHMiXG4gICAgICAgbWF0U29ydCBbbWF0U29ydEFjdGl2ZV09InBhZ2VMaW5rLnNvcnRPcmRlci5wcm9wZXJ0eSIgW21hdFNvcnREaXJlY3Rpb25dPSJwYWdlTGluay5zb3J0RGlyZWN0aW9uKCkiXG4gICAgICAgbWF0U29ydERpc2FibGVDbGVhcj5cbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9InRzIj5cbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDIwJSI+e3sgXCd3aWRnZXRzLmdhdGV3YXkuY3JlYXRlZC10aW1lXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiPlxuICAgICAge3sgYXR0cmlidXRlLnRzIHwgZGF0ZTpcJ3l5eXktTU0tZGQgSEg6bW06c3NcJyB9fVxuICAgIDwvbWF0LWNlbGw+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0ic3RhdHVzIj5cbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDEwJSI+e3sgXCd3aWRnZXRzLmdhdGV3YXkubGV2ZWxcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWhlYWRlci1jZWxsPlxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IGF0dHJpYnV0ZSI+XG4gICAgICA8c3BhbiBbY2xhc3NdPSJzdGF0dXNDbGFzcyhhdHRyaWJ1dGUuc3RhdHVzKSI+e3sgYXR0cmlidXRlLnN0YXR1cyB9fTwvc3Bhbj5cbiAgICA8L21hdC1jZWxsPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9Im1lc3NhZ2UiPlxuICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIHN0eWxlPSJ3aWR0aDogNzAlIj57eyBcJ3dpZGdldHMuZ2F0ZXdheS5tZXNzYWdlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIFtjbGFzc109InN0YXR1c0NsYXNzTXNnKGF0dHJpYnV0ZS5zdGF0dXMpIj5cbiAgICAgIHt7IGF0dHJpYnV0ZS5tZXNzYWdlIH19XG4gICAgPC9tYXQtY2VsbD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxtYXQtaGVhZGVyLXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiICptYXRIZWFkZXJSb3dEZWY9ImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTogdHJ1ZSI+PC9tYXQtaGVhZGVyLXJvdz5cbiAgPG1hdC1yb3cgY2xhc3M9Im1hdC1yb3ctc2VsZWN0IiAqbWF0Um93RGVmPSJsZXQgYXR0cmlidXRlOyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyI+PC9tYXQtcm93PlxuPC90YWJsZT5cbjxzcGFuIFtmeFNob3ddPSJkYXRhU291cmNlLmRhdGEubGVuZ3RoID09PSAwIlxuICAgICAgZnhGbGV4IGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiXG4gICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCI+e3sgXCdhdHRyaWJ1dGUubm8tdGVsZW1ldHJ5LXRleHRcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbjxzcGFuIGZ4RmxleCBbZnhTaG93XT0iZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCAhPT0gMCI+PC9zcGFuPlxuPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG48bWF0LXBhZ2luYXRvciBbbGVuZ3RoXT0iZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCJcbiAgICAgICAgICAgICAgIFtwYWdlSW5kZXhdPSJwYWdlTGluay5wYWdlIlxuICAgICAgICAgICAgICAgW3BhZ2VTaXplXT0icGFnZUxpbmsucGFnZVNpemUiXG4gICAgICAgICAgICAgICBbcGFnZVNpemVPcHRpb25zXT0iWzEwLCAyMCwgMzBdIj48L21hdC1wYWdpbmF0b3I+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3cteDphdXRvO3BhZGRpbmc6MH06aG9zdCAuc3RhdHVze2JvcmRlci1yYWRpdXM6MjBweDtmb250LXdlaWdodDo1MDA7cGFkZGluZzo1cHggMTVweH06aG9zdCAuc3RhdHVzLWRlYnVne2NvbG9yOmdyZWVuO2JhY2tncm91bmQ6IzAwODAwMDFhfTpob3N0IC5zdGF0dXMtd2FybmluZ3tjb2xvcjpvcmFuZ2U7YmFja2dyb3VuZDojZmZhNTAwMWF9Omhvc3QgLnN0YXR1cy1lcnJvcntjb2xvcjpyZWQ7YmFja2dyb3VuZDojZmYwMDAwMWF9Omhvc3QgLnN0YXR1cy1pbmZve2NvbG9yOiMwMGY7YmFja2dyb3VuZDojMDAwMDgwMWF9Omhvc3QgLm1zZy1zdGF0dXMtZXhjZXB0aW9ue2NvbG9yOnJlZH1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Yi5NYXRUYWJsZSxzZWxlY3RvcjoibWF0LXRhYmxlLCB0YWJsZVttYXQtdGFibGVdIixleHBvcnRBczpbIm1hdFRhYmxlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRIZWFkZXJDZWxsRGVmLHNlbGVjdG9yOiJbbWF0SGVhZGVyQ2VsbERlZl0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0SGVhZGVyUm93RGVmLHNlbGVjdG9yOiJbbWF0SGVhZGVyUm93RGVmXSIsaW5wdXRzOlsibWF0SGVhZGVyUm93RGVmIiwibWF0SGVhZGVyUm93RGVmU3RpY2t5Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDb2x1bW5EZWYsc2VsZWN0b3I6IlttYXRDb2x1bW5EZWZdIixpbnB1dHM6WyJtYXRDb2x1bW5EZWYiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdENlbGxEZWYsc2VsZWN0b3I6IlttYXRDZWxsRGVmXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRSb3dEZWYsc2VsZWN0b3I6IlttYXRSb3dEZWZdIixpbnB1dHM6WyJtYXRSb3dEZWZDb2x1bW5zIiwibWF0Um93RGVmV2hlbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0SGVhZGVyQ2VsbCxzZWxlY3RvcjoibWF0LWhlYWRlci1jZWxsLCB0aFttYXQtaGVhZGVyLWNlbGxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdENlbGwsc2VsZWN0b3I6Im1hdC1jZWxsLCB0ZFttYXQtY2VsbF0ifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmIuTWF0SGVhZGVyUm93LHNlbGVjdG9yOiJtYXQtaGVhZGVyLXJvdywgdHJbbWF0LWhlYWRlci1yb3ddIixleHBvcnRBczpbIm1hdEhlYWRlclJvdyJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmIuTWF0Um93LHNlbGVjdG9yOiJtYXQtcm93LCB0clttYXQtcm93XSIsZXhwb3J0QXM6WyJtYXRSb3ciXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp4Lk1hdFBhZ2luYXRvcixzZWxlY3RvcjoibWF0LXBhZ2luYXRvciIsaW5wdXRzOlsiY29sb3IiLCJwYWdlSW5kZXgiLCJsZW5ndGgiLCJwYWdlU2l6ZSIsInBhZ2VTaXplT3B0aW9ucyIsImhpZGVQYWdlU2l6ZSIsInNob3dGaXJzdExhc3RCdXR0b25zIiwic2VsZWN0Q29uZmlnIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsicGFnZSJdLGV4cG9ydEFzOlsibWF0UGFnaW5hdG9yIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Zi5NYXRTb3J0LHNlbGVjdG9yOiJbbWF0U29ydF0iLGlucHV0czpbIm1hdFNvcnRBY3RpdmUiLCJtYXRTb3J0U3RhcnQiLCJtYXRTb3J0RGlyZWN0aW9uIiwibWF0U29ydERpc2FibGVDbGVhciIsIm1hdFNvcnREaXNhYmxlZCJdLG91dHB1dHM6WyJtYXRTb3J0Q2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTb3J0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Zi5NYXRTb3J0SGVhZGVyLHNlbGVjdG9yOiJbbWF0LXNvcnQtaGVhZGVyXSIsaW5wdXRzOlsibWF0LXNvcnQtaGVhZGVyIiwiYXJyb3dQb3NpdGlvbiIsInN0YXJ0IiwiZGlzYWJsZWQiLCJzb3J0QWN0aW9uRGVzY3JpcHRpb24iLCJkaXNhYmxlQ2xlYXIiXSxleHBvcnRBczpbIm1hdFNvcnRIZWFkZXIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp6Lk1hdERpdmlkZXIsc2VsZWN0b3I6Im1hdC1kaXZpZGVyIixpbnB1dHM6WyJ2ZXJ0aWNhbCIsImluc2V0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWJOYXYsc2VsZWN0b3I6IlttYXQtdGFiLW5hdi1iYXJdIixpbnB1dHM6WyJmaXRJbmtCYXJUb0NvbnRlbnQiLCJtYXQtc3RyZXRjaC10YWJzIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJiYWNrZ3JvdW5kQ29sb3IiLCJkaXNhYmxlUmlwcGxlIiwiY29sb3IiLCJ0YWJQYW5lbCJdLGV4cG9ydEFzOlsibWF0VGFiTmF2QmFyIiwibWF0VGFiTmF2Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWJOYXZQYW5lbCxzZWxlY3RvcjoibWF0LXRhYi1uYXYtcGFuZWwiLGlucHV0czpbImlkIl0sZXhwb3J0QXM6WyJtYXRUYWJOYXZQYW5lbCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOlcuTWF0VGFiTGluayxzZWxlY3RvcjoiW21hdC10YWItbGlua10sIFttYXRUYWJMaW5rXSIsaW5wdXRzOlsiYWN0aXZlIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJpZCJdLGV4cG9ydEFzOlsibWF0VGFiTGluayJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRTaG93SGlkZURpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhTaG93XSwgW2Z4U2hvdy5wcmludF0sICBbZnhTaG93LnhzXSwgW2Z4U2hvdy5zbV0sIFtmeFNob3cubWRdLCBbZnhTaG93LmxnXSwgW2Z4U2hvdy54bF0sICBbZnhTaG93Lmx0LXNtXSwgW2Z4U2hvdy5sdC1tZF0sIFtmeFNob3cubHQtbGddLCBbZnhTaG93Lmx0LXhsXSwgIFtmeFNob3cuZ3QteHNdLCBbZnhTaG93Lmd0LXNtXSwgW2Z4U2hvdy5ndC1tZF0sIFtmeFNob3cuZ3QtbGddLCAgW2Z4SGlkZV0sIFtmeEhpZGUucHJpbnRdLCAgW2Z4SGlkZS54c10sIFtmeEhpZGUuc21dLCBbZnhIaWRlLm1kXSwgW2Z4SGlkZS5sZ10sIFtmeEhpZGUueGxdLCAgW2Z4SGlkZS5sdC1zbV0sIFtmeEhpZGUubHQtbWRdLCBbZnhIaWRlLmx0LWxnXSwgW2Z4SGlkZS5sdC14bF0sICBbZnhIaWRlLmd0LXhzXSwgW2Z4SGlkZS5ndC1zbV0sIFtmeEhpZGUuZ3QtbWRdLCBbZnhIaWRlLmd0LWxnXSIsaW5wdXRzOlsiZnhTaG93IiwiZnhTaG93LnByaW50IiwiZnhTaG93LnhzIiwiZnhTaG93LnNtIiwiZnhTaG93Lm1kIiwiZnhTaG93LmxnIiwiZnhTaG93LnhsIiwiZnhTaG93Lmx0LXNtIiwiZnhTaG93Lmx0LW1kIiwiZnhTaG93Lmx0LWxnIiwiZnhTaG93Lmx0LXhsIiwiZnhTaG93Lmd0LXhzIiwiZnhTaG93Lmd0LXNtIiwiZnhTaG93Lmd0LW1kIiwiZnhTaG93Lmd0LWxnIiwiZnhIaWRlIiwiZnhIaWRlLnByaW50IiwiZnhIaWRlLnhzIiwiZnhIaWRlLnNtIiwiZnhIaWRlLm1kIiwiZnhIaWRlLmxnIiwiZnhIaWRlLnhsIiwiZnhIaWRlLmx0LXNtIiwiZnhIaWRlLmx0LW1kIiwiZnhIaWRlLmx0LWxnIiwiZnhIaWRlLmx0LXhsIiwiZnhIaWRlLmd0LXhzIiwiZnhIaWRlLmd0LXNtIiwiZnhIaWRlLmd0LW1kIiwiZnhIaWRlLmd0LWxnIl19LHtraW5kOiJwaXBlIix0eXBlOl8uRGF0ZVBpcGUsbmFtZToiZGF0ZSJ9LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV19KX19ZSgiR2F0ZXdheUxvZ3NDb21wb25lbnQiLGNhKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmNhLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1nYXRld2F5LWxvZ3MiLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG5hdiBtYXQtdGFiLW5hdi1iYXIgW3RhYlBhbmVsXT0idGFiUGFuZWwiPlxuICA8YSBtYXQtdGFiLWxpbmsgKm5nRm9yPSJsZXQgbGluayBvZiBsb2dMaW5rcyJcbiAgICAgKGNsaWNrKT0ib25UYWJDaGFuZ2VkKGxpbmspIlxuICAgICBbYWN0aXZlXT0iYWN0aXZlTGluay5uYW1lID09PSBsaW5rLm5hbWUiPiB7eyBsaW5rLm5hbWUgfX0gPC9hPlxuPC9uYXY+XG48bWF0LXRhYi1uYXYtcGFuZWwgI3RhYlBhbmVsPjwvbWF0LXRhYi1uYXYtcGFuZWw+XG48dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT0iZGF0YVNvdXJjZSIgW3RyYWNrQnldPSJ0cmFja0J5TG9nVHMiXG4gICAgICAgbWF0U29ydCBbbWF0U29ydEFjdGl2ZV09InBhZ2VMaW5rLnNvcnRPcmRlci5wcm9wZXJ0eSIgW21hdFNvcnREaXJlY3Rpb25dPSJwYWdlTGluay5zb3J0RGlyZWN0aW9uKCkiXG4gICAgICAgbWF0U29ydERpc2FibGVDbGVhcj5cbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9InRzIj5cbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDIwJSI+e3sgXCd3aWRnZXRzLmdhdGV3YXkuY3JlYXRlZC10aW1lXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiPlxuICAgICAge3sgYXR0cmlidXRlLnRzIHwgZGF0ZTpcJ3l5eXktTU0tZGQgSEg6bW06c3NcJyB9fVxuICAgIDwvbWF0LWNlbGw+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0ic3RhdHVzIj5cbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDEwJSI+e3sgXCd3aWRnZXRzLmdhdGV3YXkubGV2ZWxcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWhlYWRlci1jZWxsPlxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IGF0dHJpYnV0ZSI+XG4gICAgICA8c3BhbiBbY2xhc3NdPSJzdGF0dXNDbGFzcyhhdHRyaWJ1dGUuc3RhdHVzKSI+e3sgYXR0cmlidXRlLnN0YXR1cyB9fTwvc3Bhbj5cbiAgICA8L21hdC1jZWxsPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9Im1lc3NhZ2UiPlxuICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIHN0eWxlPSJ3aWR0aDogNzAlIj57eyBcJ3dpZGdldHMuZ2F0ZXdheS5tZXNzYWdlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIFtjbGFzc109InN0YXR1c0NsYXNzTXNnKGF0dHJpYnV0ZS5zdGF0dXMpIj5cbiAgICAgIHt7IGF0dHJpYnV0ZS5tZXNzYWdlIH19XG4gICAgPC9tYXQtY2VsbD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxtYXQtaGVhZGVyLXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiICptYXRIZWFkZXJSb3dEZWY9ImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTogdHJ1ZSI+PC9tYXQtaGVhZGVyLXJvdz5cbiAgPG1hdC1yb3cgY2xhc3M9Im1hdC1yb3ctc2VsZWN0IiAqbWF0Um93RGVmPSJsZXQgYXR0cmlidXRlOyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyI+PC9tYXQtcm93PlxuPC90YWJsZT5cbjxzcGFuIFtmeFNob3ddPSJkYXRhU291cmNlLmRhdGEubGVuZ3RoID09PSAwIlxuICAgICAgZnhGbGV4IGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiXG4gICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCI+e3sgXCdhdHRyaWJ1dGUubm8tdGVsZW1ldHJ5LXRleHRcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbjxzcGFuIGZ4RmxleCBbZnhTaG93XT0iZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCAhPT0gMCI+PC9zcGFuPlxuPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG48bWF0LXBhZ2luYXRvciBbbGVuZ3RoXT0iZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCJcbiAgICAgICAgICAgICAgIFtwYWdlSW5kZXhdPSJwYWdlTGluay5wYWdlIlxuICAgICAgICAgICAgICAgW3BhZ2VTaXplXT0icGFnZUxpbmsucGFnZVNpemUiXG4gICAgICAgICAgICAgICBbcGFnZVNpemVPcHRpb25zXT0iWzEwLCAyMCwgMzBdIj48L21hdC1wYWdpbmF0b3I+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3cteDphdXRvO3BhZGRpbmc6MH06aG9zdCAuc3RhdHVze2JvcmRlci1yYWRpdXM6MjBweDtmb250LXdlaWdodDo1MDA7cGFkZGluZzo1cHggMTVweH06aG9zdCAuc3RhdHVzLWRlYnVne2NvbG9yOmdyZWVuO2JhY2tncm91bmQ6IzAwODAwMDFhfTpob3N0IC5zdGF0dXMtd2FybmluZ3tjb2xvcjpvcmFuZ2U7YmFja2dyb3VuZDojZmZhNTAwMWF9Omhvc3QgLnN0YXR1cy1lcnJvcntjb2xvcjpyZWQ7YmFja2dyb3VuZDojZmYwMDAwMWF9Omhvc3QgLnN0YXR1cy1pbmZve2NvbG9yOiMwMGY7YmFja2dyb3VuZDojMDAwMDgwMWF9Omhvc3QgLm1zZy1zdGF0dXMtZXhjZXB0aW9ue2NvbG9yOnJlZH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W10scHJvcERlY29yYXRvcnM6e2N0eDpbe3R5cGU6YX1dLGRpYWxvZ1JlZjpbe3R5cGU6YX1dLHNlYXJjaElucHV0RmllbGQ6W3t0eXBlOm8sYXJnczpbInNlYXJjaElucHV0Il19XSxzb3J0Olt7dHlwZTpvLGFyZ3M6W2ddfV0scGFnaW5hdG9yOlt7dHlwZTpvLGFyZ3M6W2hdfV19fSk7Y2xhc3MgcGF7Y29uc3RydWN0b3IoZSx0LG4pe3RoaXMuZmI9ZSx0aGlzLmF0dHJpYnV0ZVNlcnZpY2U9dCx0aGlzLnV0aWxzPW4sdGhpcy5pc051bWVyaWNEYXRhPSExLHRoaXMuZGF0YVR5cGVEZWZpbmVkPSExLHRoaXMuc3RhdGlzdGljc0tleXM9W10sdGhpcy5jb21tYW5kcz1bXSx0aGlzLnN1YnNjcmlwdGlvbk9wdGlvbnM9e2NhbGxiYWNrczp7b25EYXRhVXBkYXRlZDooKT0+dGhpcy5jdHgubmdab25lLnJ1bigoKCk9Pnt0aGlzLm9uRGF0YVVwZGF0ZWQoKX0pKSxvbkRhdGFVcGRhdGVFcnJvcjooZSx0KT0+dGhpcy5jdHgubmdab25lLnJ1bigoKCk9Pnt0aGlzLm9uRGF0YVVwZGF0ZUVycm9yKHQpfSkpfSx1c2VEYXNoYm9hcmRUaW1ld2luZG93OiExLGxlZ2VuZENvbmZpZzp7cG9zaXRpb246Uy5ib3R0b219fSx0aGlzLmluaXQ9KCk9Pnt0aGlzLmZsb3RDdHg9eyRzY29wZTp0aGlzLmN0eC4kc2NvcGUsJGluamVjdG9yOnRoaXMuY3R4LiRpbmplY3Rvcix1dGlsczp0aGlzLmN0eC51dGlscyxpc01vYmlsZTp0aGlzLmN0eC5pc01vYmlsZSxpc0VkaXQ6dGhpcy5jdHguaXNFZGl0LHN1YnNjcmlwdGlvbkFwaTp0aGlzLmN0eC5zdWJzY3JpcHRpb25BcGksZGV0ZWN0Q2hhbmdlczp0aGlzLmN0eC5kZXRlY3RDaGFuZ2VzLHNldHRpbmdzOnRoaXMuY3R4LnNldHRpbmdzfX0sdGhpcy51cGRhdGVDaGFydD0oKT0+e30sdGhpcy5yZXNpemU9KCk9Pnt9O2NvbnN0IGE9e3Byb3BlcnR5OiIwIixkaXJlY3Rpb246dy5ERVNDfTt0aGlzLnBhZ2VMaW5rPW5ldyBDKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSwwLG51bGwsYSksdGhpcy5kaXNwbGF5ZWRDb2x1bW5zPVsiMCIsIjEiXSx0aGlzLmRhdGFTb3VyY2U9bmV3IHkoW10pLHRoaXMuc3RhdGlzdGljRm9ybT10aGlzLmZiLmdyb3VwKHtzdGF0aXN0aWNLZXk6W251bGwsW11dfSksdGhpcy5zdGF0aXN0aWNGb3JtLmdldCgic3RhdGlzdGljS2V5IikudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoZT0+e3RoaXMuY29tbWFuZE9iaj1udWxsLHRoaXMuY29tbWFuZHMubGVuZ3RoJiYodGhpcy5jb21tYW5kT2JqPXRoaXMuY29tbWFuZHMuZmluZCgodD0+dC5hdHRyaWJ1dGVPbkdhdGV3YXk9PT1lKSkpLHRoaXMuc3Vic2NyaXB0aW9uSW5mbyYmdGhpcy5jcmVhdGVDaGFydHNTdWJzY3JpcHRpb24odGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5kYXRhc291cmNlc1swXS5lbnRpdHksZSl9KSl9bmdBZnRlclZpZXdJbml0KCl7aWYodGhpcy5kYXRhU291cmNlLnNvcnQ9dGhpcy5zb3J0LHRoaXMuc29ydC5zb3J0Q2hhbmdlLnN1YnNjcmliZSgoKCk9PnRoaXMuc29ydERhdGEoKSkpLHRoaXMuaW5pdCgpLHRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24uZGF0YXNvdXJjZXMubGVuZ3RoKXtjb25zdCBlPXRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24uZGF0YXNvdXJjZXNbMF0uZW50aXR5O2lmKGUuaWQuaWQ9PT1rKXJldHVybjt0aGlzLmdlbmVyYWw/dGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLmdldEVudGl0eVRpbWVzZXJpZXNMYXRlc3QoZS5pZCkuc3Vic2NyaWJlKCh0PT57Y29uc3Qgbj1PYmplY3Qua2V5cyh0KS5maWx0ZXIoKGU9PmUuaW5jbHVkZXMoIkNvbm5lY3RvckV2ZW50c1Byb2R1Y2VkIil8fGUuaW5jbHVkZXMoIkNvbm5lY3RvckV2ZW50c1NlbnQiKSkpO3RoaXMuY3JlYXRlR2VuZXJhbENoYXJ0c1N1YnNjcmlwdGlvbihlLG4pfSkpOnRoaXMuYXR0cmlidXRlU2VydmljZS5nZXRFbnRpdHlBdHRyaWJ1dGVzKGUuaWQsTC5TSEFSRURfU0NPUEUsWyJnZW5lcmFsX2NvbmZpZ3VyYXRpb24iXSkuc3Vic2NyaWJlKCh0PT57dCYmdC5sZW5ndGgmJih0aGlzLmNvbW1hbmRzPXRbMF0udmFsdWUuc3RhdGlzdGljcy5jb21tYW5kcywhdGhpcy5zdGF0aXN0aWNGb3JtLmdldCgic3RhdGlzdGljS2V5IikudmFsdWUmJnRoaXMuY29tbWFuZHMmJnRoaXMuY29tbWFuZHMubGVuZ3RoJiYodGhpcy5zdGF0aXN0aWNGb3JtLmdldCgic3RhdGlzdGljS2V5Iikuc2V0VmFsdWUodGhpcy5jb21tYW5kc1swXS5hdHRyaWJ1dGVPbkdhdGV3YXkpLHRoaXMuY3JlYXRlQ2hhcnRzU3Vic2NyaXB0aW9uKGUsdGhpcy5jb21tYW5kc1swXS5hdHRyaWJ1dGVPbkdhdGV3YXkpKSl9KSl9fW5hdmlnYXRlVG9TdGF0aXN0aWNzKCl7Y29uc3QgZT1KKHRoaXMuY3R4LnN0YXRlQ29udHJvbGxlci5nZXRTdGF0ZVBhcmFtcygpKTt0aGlzLmN0eC5zdGF0ZUNvbnRyb2xsZXIub3BlblN0YXRlKCJjb25maWd1cmF0aW9uIixlKX1zb3J0RGF0YSgpe3RoaXMuZGF0YVNvdXJjZS5zb3J0RGF0YSh0aGlzLmRhdGFTb3VyY2UuZGF0YSx0aGlzLnNvcnQpfW9uTGVnZW5kS2V5SGlkZGVuQ2hhbmdlKGUpe3RoaXMubGVnZW5kRGF0YS5rZXlzW2VdLmRhdGFLZXkuaGlkZGVuPSF0aGlzLmxlZ2VuZERhdGEua2V5c1tlXS5kYXRhS2V5LmhpZGRlbix0aGlzLnN1YnNjcmlwdGlvbi51cGRhdGVEYXRhVmlzaWJpbGl0eShlKX1jcmVhdGVDaGFydHNTdWJzY3JpcHRpb24oZSx0KXtjb25zdCBuPVt7dHlwZTpGLmVudGl0eSxlbnRpdHlUeXBlOkkuREVWSUNFLGVudGl0eUlkOmUuaWQuaWQsZW50aXR5TmFtZTplLm5hbWUsdGltZXNlcmllczpbXX1dO25bMF0udGltZXNlcmllcz1be25hbWU6dCxsYWJlbDp0fV0sdGhpcy5zdWJzY3JpcHRpb25JbmZvPW4sdGhpcy5jaGFuZ2VTdWJzY3JpcHRpb24obiksdGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfWNyZWF0ZUdlbmVyYWxDaGFydHNTdWJzY3JpcHRpb24oZSx0KXtjb25zdCBuPVt7dHlwZTpGLmVudGl0eSxlbnRpdHlUeXBlOkkuREVWSUNFLGVudGl0eUlkOmUuaWQuaWQsZW50aXR5TmFtZTplLm5hbWUsdGltZXNlcmllczpbXX1dO25bMF0udGltZXNlcmllcz1bXSx0Py5sZW5ndGgmJnQuZm9yRWFjaCgoZT0+e25bMF0udGltZXNlcmllcy5wdXNoKHtuYW1lOmUsbGFiZWw6ZX0pfSkpLHRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24uZGF0YXNvdXJjZXNbMF0uZGF0YUtleXMuZm9yRWFjaCgoZT0+e25bMF0udGltZXNlcmllcy5wdXNoKHtuYW1lOmUubmFtZSxsYWJlbDplLmxhYmVsfSl9KSksdGhpcy5jaGFuZ2VTdWJzY3JpcHRpb24obiksdGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfXJlc2V0KCl7dGhpcy5yZXNpemUkJiZ0aGlzLnJlc2l6ZSQuZGlzY29ubmVjdCgpLHRoaXMuc3Vic2NyaXB0aW9uJiZ0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfW9uRGF0YVVwZGF0ZUVycm9yKGUpe2NvbnN0IHQ9dGhpcy51dGlscy5wYXJzZUV4Y2VwdGlvbihlKTtsZXQgbj10Lm5hbWU7dC5tZXNzYWdlJiYobis9IjogIit0Lm1lc3NhZ2UpLGNvbnNvbGUuZXJyb3Iobil9b25EYXRhVXBkYXRlZCgpe3RoaXMuaXNEYXRhT25seU51bWJlcnMoKSx0aGlzLmlzTnVtZXJpY0RhdGEmJih0aGlzLmNoYXJ0SW5pdGVkfHx0aGlzLmluaXRDaGFydCgpKX1pbml0Q2hhcnQoKXt0aGlzLmNoYXJ0SW5pdGVkPSEwLHRoaXMuZmxvdEN0eC4kY29udGFpbmVyPSQodGhpcy5zdGF0aXN0aWNDaGFydC5uYXRpdmVFbGVtZW50KSx0aGlzLnJlc2l6ZSQub2JzZXJ2ZSh0aGlzLnN0YXRpc3RpY0NoYXJ0Lm5hdGl2ZUVsZW1lbnQpfWlzRGF0YU9ubHlOdW1iZXJzKCl7dGhpcy5nZW5lcmFsP3RoaXMuaXNOdW1lcmljRGF0YT0hMDoodGhpcy5kYXRhU291cmNlLmRhdGE9dGhpcy5zdWJzY3JpcHRpb24uZGF0YS5sZW5ndGg/dGhpcy5zdWJzY3JpcHRpb24uZGF0YVswXS5kYXRhOltdLHRoaXMuZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCYmIXRoaXMuZGF0YVR5cGVEZWZpbmVkJiYodGhpcy5kYXRhVHlwZURlZmluZWQ9ITAsdGhpcy5pc051bWVyaWNEYXRhPXRoaXMuZGF0YVNvdXJjZS5kYXRhLmV2ZXJ5KChlPT4haXNOYU4oK2VbMV0pKSkpKX1jaGFuZ2VTdWJzY3JpcHRpb24oZSl7dGhpcy5zdWJzY3JpcHRpb24mJnRoaXMucmVzZXQoKSx0aGlzLmN0eC5kYXRhc291cmNlc1swXS5lbnRpdHkmJnRoaXMuY3R4LnN1YnNjcmlwdGlvbkFwaS5jcmVhdGVTdWJzY3JpcHRpb25Gcm9tSW5mbyhBLnRpbWVzZXJpZXMsZSx0aGlzLnN1YnNjcmlwdGlvbk9wdGlvbnMsITEsITApLnN1YnNjcmliZSgoZT0+e3RoaXMuZGF0YVR5cGVEZWZpbmVkPSExLHRoaXMuc3Vic2NyaXB0aW9uPWUsdGhpcy5pc0RhdGFPbmx5TnVtYmVycygpLHRoaXMubGVnZW5kRGF0YT10aGlzLnN1YnNjcmlwdGlvbi5sZWdlbmREYXRhLHRoaXMuZmxvdEN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uPWUsdGhpcy5yZXNpemUkPW5ldyBSZXNpemVPYnNlcnZlcigoKCk9Pnt0aGlzLnJlc2l6ZSgpfSkpLHRoaXMuY3R4LmRldGVjdENoYW5nZXMoKSx0aGlzLmlzTnVtZXJpY0RhdGEmJnRoaXMuaW5pdENoYXJ0KCl9KSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpwYSxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjpYLkF0dHJpYnV0ZVNlcnZpY2V9LHt0b2tlbjpYLlV0aWxzU2VydmljZX1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6cGEsc2VsZWN0b3I6InRiLWdhdGV3YXktc3RhdGlzdGljcyIsaW5wdXRzOntjdHg6ImN0eCIsZ2VuZXJhbDoiZ2VuZXJhbCJ9LHZpZXdRdWVyaWVzOlt7cHJvcGVydHlOYW1lOiJzb3J0IixmaXJzdDohMCxwcmVkaWNhdGU6ZyxkZXNjZW5kYW50czohMH0se3Byb3BlcnR5TmFtZToic3RhdGlzdGljQ2hhcnQiLGZpcnN0OiEwLHByZWRpY2F0ZTpbInN0YXRpc3RpY0NoYXJ0Il0sZGVzY2VuZGFudHM6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0ic3RhdGlzdGljcy1jb250YWluZXIiIGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0Lmx0LW1kPSJjb2x1bW4iPlxuICA8bWF0LWNhcmQgW2Zvcm1Hcm91cF09InN0YXRpc3RpY0Zvcm0iICpuZ0lmPSIhZ2VuZXJhbCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnN0YXRpc3RpY1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InN0YXRpc3RpY0tleSI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGtleSBvZiBzdGF0aXN0aWNzS2V5cyIgW3ZhbHVlXT0ia2V5Ij5cbiAgICAgICAgICB7eyBrZXkgfX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBjb21tYW5kIG9mIGNvbW1hbmRzIiBbdmFsdWVdPSJjb21tYW5kLmF0dHJpYnV0ZU9uR2F0ZXdheSI+XG4gICAgICAgICAge3sgY29tbWFuZC5hdHRyaWJ1dGVPbkdhdGV3YXkgfX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1lcnJvclxuICAgICAgKm5nSWY9IiFzdGF0aXN0aWNzS2V5cy5sZW5ndGggJiYgIWNvbW1hbmRzLmxlbmd0aCI+XG4gICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5zdGF0aXN0aWMtY29tbWFuZHMtZW1wdHlcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbWF0LWVycm9yPlxuICAgIDxkaXY+XG4gICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj0icHJpbWFyeSIgKGNsaWNrKT0ibmF2aWdhdGVUb1N0YXRpc3RpY3MoKSI+XG4gICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnN0YXRpc3RpY3MtYnV0dG9uXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIiAqbmdJZj0iY29tbWFuZE9iaiI+XG4gICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IG1hdElucHV0IFt2YWx1ZV09ImNvbW1hbmRPYmouY29tbWFuZCIgZGlzYWJsZWQ+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9tYXQtY2FyZD5cbiAgPGRpdiBjbGFzcz0iY2hhcnQtYm94IiBmeExheW91dD0iY29sdW1uIj5cbiAgICA8ZGl2IGNsYXNzPSJjaGFydC1jb250YWluZXIiICNzdGF0aXN0aWNDaGFydCBbZnhTaG93XT0iaXNOdW1lcmljRGF0YSI+PC9kaXY+XG4gICAgPHRhYmxlIFtmeFNob3ddPSIhaXNOdW1lcmljRGF0YSIgbWF0LXRhYmxlIFtkYXRhU291cmNlXT0iZGF0YVNvdXJjZSJcbiAgICAgICAgICAgbWF0U29ydCBbbWF0U29ydEFjdGl2ZV09InBhZ2VMaW5rLnNvcnRPcmRlci5wcm9wZXJ0eSIgW21hdFNvcnREaXJlY3Rpb25dPSJwYWdlTGluay5zb3J0RGlyZWN0aW9uKCkiXG4gICAgICAgICAgIG1hdFNvcnREaXNhYmxlQ2xlYXI+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iMCI+XG4gICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7IFwnd2lkZ2V0cy5nYXRld2F5LmNyZWF0ZWQtdGltZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCByb3c7IGxldCByb3dJbmRleCA9IGluZGV4Ij5cbiAgICAgICAgICB7eyByb3dbMF18IGRhdGU6XCd5eXl5LU1NLWRkIEhIOm1tOnNzXCcgfX1cbiAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9IjEiPlxuICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogNzAlIj57eyBcJ3dpZGdldHMuZ2F0ZXdheS5tZXNzYWdlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHJvdyI+XG4gICAgICAgICAge3sgcm93WzFdIH19XG4gICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxtYXQtaGVhZGVyLXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiXG4gICAgICAgICAgICAgICAgICAgICAgKm1hdEhlYWRlclJvd0RlZj0iZGlzcGxheWVkQ29sdW1uczsgc3RpY2t5OiB0cnVlIj48L21hdC1oZWFkZXItcm93PlxuICAgICAgPG1hdC1yb3cgY2xhc3M9Im1hdC1yb3ctc2VsZWN0IlxuICAgICAgICAgICAgICAgKm1hdFJvd0RlZj0ibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1uczsiPjwvbWF0LXJvdz5cbiAgICA8L3RhYmxlPlxuICAgIDxzcGFuIFtmeFNob3ddPSJkYXRhU291cmNlLmRhdGEubGVuZ3RoID09PSAwICYmICFpc051bWVyaWNEYXRhIlxuICAgICAgICAgIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiXG4gICAgICAgICAgY2xhc3M9Im5vLWRhdGEtZm91bmQiPnt7IFwnYXR0cmlidXRlLm5vLXRlbGVtZXRyeS10ZXh0XCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPGRpdiBmeEZsZXggY2xhc3M9ImxlZ2VuZCIgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciIgW2Z4U2hvd109ImlzTnVtZXJpY0RhdGEiPlxuICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLWtleXMiICpuZ0Zvcj0ibGV0IGxlZ2VuZEtleSBvZiBsZWdlbmREYXRhPy5rZXlzIiBmeExheW91dD0icm93IlxuICAgICAgICAgICBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9ImxlZ2VuZC1saW5lIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09ImxlZ2VuZEtleS5kYXRhS2V5LmNvbG9yIj48L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9ImxlZ2VuZC1sYWJlbCJcbiAgICAgICAgICAgICAoY2xpY2spPSJvbkxlZ2VuZEtleUhpZGRlbkNoYW5nZShsZWdlbmRLZXkuZGF0YUluZGV4KSJcbiAgICAgICAgICAgICBbY2xhc3NdPSJ7IFwnaGlkZGVuLWxhYmVsXCc6IGxlZ2VuZERhdGEua2V5c1tsZWdlbmRLZXkuZGF0YUluZGV4XS5kYXRhS2V5LmhpZGRlbiB9IlxuICAgICAgICAgICAgIFtpbm5lckhUTUxdPSJsZWdlbmRLZXkuZGF0YUtleS5sYWJlbCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3BhZGRpbmc6MH06aG9zdCAuc3RhdGlzdGljcy1jb250YWluZXJ7aGVpZ2h0OjEwMCU7b3ZlcmZsb3cteTphdXRvfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciBtYXQtY2FyZHt3aWR0aDo0MCU7aGVpZ2h0OjEwMCU7bWFyZ2luLXJpZ2h0OjM1cHg7cGFkZGluZzoxNXB4O2dhcDoyMnB4fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpezpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciBtYXQtY2FyZHt3aWR0aDoxMDAlfX06aG9zdCAuc3RhdGlzdGljcy1jb250YWluZXIgLmNoYXJ0LWJveCw6aG9zdCAuc3RhdGlzdGljcy1jb250YWluZXIgLmNoYXJ0LWNvbnRhaW5lcntoZWlnaHQ6MTAwJTtmbGV4LWdyb3c6MX06aG9zdCAuc3RhdGlzdGljcy1jb250YWluZXIgLmNoYXJ0LWJveHtvdmVyZmxvdzphdXRvfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lcj4qe2hlaWdodDoxMDAlfTpob3N0IC5sZWdlbmR7ZmxleC13cmFwOndyYXA7d2lkdGg6MTAwJTtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206NHB4O21hcmdpbi10b3A6MTVweH06aG9zdCAubGVnZW5kIC5sZWdlbmQta2V5cyAubGVnZW5kLWxhYmVse3BhZGRpbmc6MnB4IDIwcHggMnB4IDEwcHg7d2hpdGUtc3BhY2U6bm93cmFwfTpob3N0IC5sZWdlbmQgLmxlZ2VuZC1rZXlzIC5sZWdlbmQtbGFiZWwuaGlkZGVuLWxhYmVse3RleHQtZGVjb3JhdGlvbjpsaW5lLXRocm91Z2g7b3BhY2l0eTouNn06aG9zdCAubGVnZW5kIC5sZWdlbmQta2V5cyAubGVnZW5kLWxhYmVsOmZvY3Vze291dGxpbmU6bm9uZX06aG9zdCAubGVnZW5kIC5sZWdlbmQta2V5cyAubGVnZW5kLWxpbmV7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTVweDtoZWlnaHQ6M3B4O3RleHQtYWxpZ246bGVmdDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7b3V0bGluZTpub25lfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmhlLk1hdENhcmQsc2VsZWN0b3I6Im1hdC1jYXJkIixpbnB1dHM6WyJhcHBlYXJhbmNlIl0sZXhwb3J0QXM6WyJtYXRDYXJkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRFcnJvcixzZWxlY3RvcjoibWF0LWVycm9yLCBbbWF0RXJyb3JdIixpbnB1dHM6WyJpZCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOndlLk1hdFNlbGVjdCxzZWxlY3RvcjoibWF0LXNlbGVjdCIsaW5wdXRzOlsiYXJpYS1kZXNjcmliZWRieSIsInBhbmVsQ2xhc3MiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3IiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwibXVsdGlwbGUiLCJkaXNhYmxlT3B0aW9uQ2VudGVyaW5nIiwiY29tcGFyZVdpdGgiLCJ2YWx1ZSIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJlcnJvclN0YXRlTWF0Y2hlciIsInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLCJzb3J0Q29tcGFyYXRvciIsImlkIiwicGFuZWxXaWR0aCJdLG91dHB1dHM6WyJvcGVuZWRDaGFuZ2UiLCJvcGVuZWQiLCJjbG9zZWQiLCJzZWxlY3Rpb25DaGFuZ2UiLCJ2YWx1ZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2VsZWN0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmIuTWF0VGFibGUsc2VsZWN0b3I6Im1hdC10YWJsZSwgdGFibGVbbWF0LXRhYmxlXSIsZXhwb3J0QXM6WyJtYXRUYWJsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0SGVhZGVyQ2VsbERlZixzZWxlY3RvcjoiW21hdEhlYWRlckNlbGxEZWZdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlclJvd0RlZixzZWxlY3RvcjoiW21hdEhlYWRlclJvd0RlZl0iLGlucHV0czpbIm1hdEhlYWRlclJvd0RlZiIsIm1hdEhlYWRlclJvd0RlZlN0aWNreSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Q29sdW1uRGVmLHNlbGVjdG9yOiJbbWF0Q29sdW1uRGVmXSIsaW5wdXRzOlsibWF0Q29sdW1uRGVmIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsRGVmLHNlbGVjdG9yOiJbbWF0Q2VsbERlZl0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Um93RGVmLHNlbGVjdG9yOiJbbWF0Um93RGVmXSIsaW5wdXRzOlsibWF0Um93RGVmQ29sdW1ucyIsIm1hdFJvd0RlZldoZW4iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlckNlbGwsc2VsZWN0b3I6Im1hdC1oZWFkZXItY2VsbCwgdGhbbWF0LWhlYWRlci1jZWxsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsLHNlbGVjdG9yOiJtYXQtY2VsbCwgdGRbbWF0LWNlbGxdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdEhlYWRlclJvdyxzZWxlY3RvcjoibWF0LWhlYWRlci1yb3csIHRyW21hdC1oZWFkZXItcm93XSIsZXhwb3J0QXM6WyJtYXRIZWFkZXJSb3ciXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdFJvdyxzZWxlY3RvcjoibWF0LXJvdywgdHJbbWF0LXJvd10iLGV4cG9ydEFzOlsibWF0Um93Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Zi5NYXRTb3J0LHNlbGVjdG9yOiJbbWF0U29ydF0iLGlucHV0czpbIm1hdFNvcnRBY3RpdmUiLCJtYXRTb3J0U3RhcnQiLCJtYXRTb3J0RGlyZWN0aW9uIiwibWF0U29ydERpc2FibGVDbGVhciIsIm1hdFNvcnREaXNhYmxlZCJdLG91dHB1dHM6WyJtYXRTb3J0Q2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTb3J0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Zi5NYXRTb3J0SGVhZGVyLHNlbGVjdG9yOiJbbWF0LXNvcnQtaGVhZGVyXSIsaW5wdXRzOlsibWF0LXNvcnQtaGVhZGVyIiwiYXJyb3dQb3NpdGlvbiIsInN0YXJ0IiwiZGlzYWJsZWQiLCJzb3J0QWN0aW9uRGVzY3JpcHRpb24iLCJkaXNhYmxlQ2xlYXIiXSxleHBvcnRBczpbIm1hdFNvcnRIZWFkZXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRTaG93SGlkZURpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhTaG93XSwgW2Z4U2hvdy5wcmludF0sICBbZnhTaG93LnhzXSwgW2Z4U2hvdy5zbV0sIFtmeFNob3cubWRdLCBbZnhTaG93LmxnXSwgW2Z4U2hvdy54bF0sICBbZnhTaG93Lmx0LXNtXSwgW2Z4U2hvdy5sdC1tZF0sIFtmeFNob3cubHQtbGddLCBbZnhTaG93Lmx0LXhsXSwgIFtmeFNob3cuZ3QteHNdLCBbZnhTaG93Lmd0LXNtXSwgW2Z4U2hvdy5ndC1tZF0sIFtmeFNob3cuZ3QtbGddLCAgW2Z4SGlkZV0sIFtmeEhpZGUucHJpbnRdLCAgW2Z4SGlkZS54c10sIFtmeEhpZGUuc21dLCBbZnhIaWRlLm1kXSwgW2Z4SGlkZS5sZ10sIFtmeEhpZGUueGxdLCAgW2Z4SGlkZS5sdC1zbV0sIFtmeEhpZGUubHQtbWRdLCBbZnhIaWRlLmx0LWxnXSwgW2Z4SGlkZS5sdC14bF0sICBbZnhIaWRlLmd0LXhzXSwgW2Z4SGlkZS5ndC1zbV0sIFtmeEhpZGUuZ3QtbWRdLCBbZnhIaWRlLmd0LWxnXSIsaW5wdXRzOlsiZnhTaG93IiwiZnhTaG93LnByaW50IiwiZnhTaG93LnhzIiwiZnhTaG93LnNtIiwiZnhTaG93Lm1kIiwiZnhTaG93LmxnIiwiZnhTaG93LnhsIiwiZnhTaG93Lmx0LXNtIiwiZnhTaG93Lmx0LW1kIiwiZnhTaG93Lmx0LWxnIiwiZnhTaG93Lmx0LXhsIiwiZnhTaG93Lmd0LXhzIiwiZnhTaG93Lmd0LXNtIiwiZnhTaG93Lmd0LW1kIiwiZnhTaG93Lmd0LWxnIiwiZnhIaWRlIiwiZnhIaWRlLnByaW50IiwiZnhIaWRlLnhzIiwiZnhIaWRlLnNtIiwiZnhIaWRlLm1kIiwiZnhIaWRlLmxnIiwiZnhIaWRlLnhsIiwiZnhIaWRlLmx0LXNtIiwiZnhIaWRlLmx0LW1kIiwiZnhIaWRlLmx0LWxnIiwiZnhIaWRlLmx0LXhsIiwiZnhIaWRlLmd0LXhzIiwiZnhIaWRlLmd0LXNtIiwiZnhIaWRlLmd0LW1kIiwiZnhIaWRlLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6InBpcGUiLHR5cGU6Xy5EYXRlUGlwZSxuYW1lOiJkYXRlIn0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XX0pfX1lKCJHYXRld2F5U3RhdGlzdGljc0NvbXBvbmVudCIscGEpLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6cGEsZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktc3RhdGlzdGljcyIsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJzdGF0aXN0aWNzLWNvbnRhaW5lciIgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXQubHQtbWQ9ImNvbHVtbiI+XG4gIDxtYXQtY2FyZCBbZm9ybUdyb3VwXT0ic3RhdGlzdGljRm9ybSIgKm5nSWY9IiFnZW5lcmFsIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3Muc3RhdGlzdGljXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ic3RhdGlzdGljS2V5Ij5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQga2V5IG9mIHN0YXRpc3RpY3NLZXlzIiBbdmFsdWVdPSJrZXkiPlxuICAgICAgICAgIHt7IGtleSB9fVxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGNvbW1hbmQgb2YgY29tbWFuZHMiIFt2YWx1ZV09ImNvbW1hbmQuYXR0cmlidXRlT25HYXRld2F5Ij5cbiAgICAgICAgICB7eyBjb21tYW5kLmF0dHJpYnV0ZU9uR2F0ZXdheSB9fVxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWVycm9yXG4gICAgICAqbmdJZj0iIXN0YXRpc3RpY3NLZXlzLmxlbmd0aCAmJiAhY29tbWFuZHMubGVuZ3RoIj5cbiAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnN0YXRpc3RpYy1jb21tYW5kcy1lbXB0eVwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gICAgPGRpdj5cbiAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJuYXZpZ2F0ZVRvU3RhdGlzdGljcygpIj5cbiAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3Muc3RhdGlzdGljcy1idXR0b25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siICpuZ0lmPSJjb21tYW5kT2JqIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY29tbWFuZFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgW3ZhbHVlXT0iY29tbWFuZE9iai5jb21tYW5kIiBkaXNhYmxlZD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L21hdC1jYXJkPlxuICA8ZGl2IGNsYXNzPSJjaGFydC1ib3giIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgIDxkaXYgY2xhc3M9ImNoYXJ0LWNvbnRhaW5lciIgI3N0YXRpc3RpY0NoYXJ0IFtmeFNob3ddPSJpc051bWVyaWNEYXRhIj48L2Rpdj5cbiAgICA8dGFibGUgW2Z4U2hvd109IiFpc051bWVyaWNEYXRhIiBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPSJkYXRhU291cmNlIlxuICAgICAgICAgICBtYXRTb3J0IFttYXRTb3J0QWN0aXZlXT0icGFnZUxpbmsuc29ydE9yZGVyLnByb3BlcnR5IiBbbWF0U29ydERpcmVjdGlvbl09InBhZ2VMaW5rLnNvcnREaXJlY3Rpb24oKSJcbiAgICAgICAgICAgbWF0U29ydERpc2FibGVDbGVhcj5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPSIwIj5cbiAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3sgXCd3aWRnZXRzLmdhdGV3YXkuY3JlYXRlZC10aW1lXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHJvdzsgbGV0IHJvd0luZGV4ID0gaW5kZXgiPlxuICAgICAgICAgIHt7IHJvd1swXXwgZGF0ZTpcJ3l5eXktTU0tZGQgSEg6bW06c3NcJyB9fVxuICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iMSI+XG4gICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiA3MCUiPnt7IFwnd2lkZ2V0cy5nYXRld2F5Lm1lc3NhZ2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgcm93Ij5cbiAgICAgICAgICB7eyByb3dbMV0gfX1cbiAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG1hdC1oZWFkZXItcm93IGNsYXNzPSJtYXQtcm93LXNlbGVjdCJcbiAgICAgICAgICAgICAgICAgICAgICAqbWF0SGVhZGVyUm93RGVmPSJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWUiPjwvbWF0LWhlYWRlci1yb3c+XG4gICAgICA8bWF0LXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiXG4gICAgICAgICAgICAgICAqbWF0Um93RGVmPSJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyI+PC9tYXQtcm93PlxuICAgIDwvdGFibGU+XG4gICAgPHNwYW4gW2Z4U2hvd109ImRhdGFTb3VyY2UuZGF0YS5sZW5ndGggPT09IDAgJiYgIWlzTnVtZXJpY0RhdGEiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCI+e3sgXCdhdHRyaWJ1dGUubm8tdGVsZW1ldHJ5LXRleHRcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8ZGl2IGZ4RmxleCBjbGFzcz0ibGVnZW5kIiBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIiBbZnhTaG93XT0iaXNOdW1lcmljRGF0YSI+XG4gICAgICA8ZGl2IGNsYXNzPSJsZWdlbmQta2V5cyIgKm5nRm9yPSJsZXQgbGVnZW5kS2V5IG9mIGxlZ2VuZERhdGE/LmtleXMiIGZ4TGF5b3V0PSJyb3ciXG4gICAgICAgICAgIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiPlxuICAgICAgICA8c3BhbiBjbGFzcz0ibGVnZW5kLWxpbmUiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT0ibGVnZW5kS2V5LmRhdGFLZXkuY29sb3IiPjwvc3Bhbj5cbiAgICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLWxhYmVsIlxuICAgICAgICAgICAgIChjbGljayk9Im9uTGVnZW5kS2V5SGlkZGVuQ2hhbmdlKGxlZ2VuZEtleS5kYXRhSW5kZXgpIlxuICAgICAgICAgICAgIFtjbGFzc109InsgXCdoaWRkZW4tbGFiZWxcJzogbGVnZW5kRGF0YS5rZXlzW2xlZ2VuZEtleS5kYXRhSW5kZXhdLmRhdGFLZXkuaGlkZGVuIH0iXG4gICAgICAgICAgICAgW2lubmVySFRNTF09ImxlZ2VuZEtleS5kYXRhS2V5LmxhYmVsIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cGFkZGluZzowfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lcntoZWlnaHQ6MTAwJTtvdmVyZmxvdy15OmF1dG99Omhvc3QgLnN0YXRpc3RpY3MtY29udGFpbmVyIG1hdC1jYXJke3dpZHRoOjQwJTtoZWlnaHQ6MTAwJTttYXJnaW4tcmlnaHQ6MzVweDtwYWRkaW5nOjE1cHg7Z2FwOjIycHh9QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCl7Omhvc3QgLnN0YXRpc3RpY3MtY29udGFpbmVyIG1hdC1jYXJke3dpZHRoOjEwMCV9fTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciAuY2hhcnQtYm94LDpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciAuY2hhcnQtY29udGFpbmVye2hlaWdodDoxMDAlO2ZsZXgtZ3JvdzoxfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciAuY2hhcnQtYm94e292ZXJmbG93OmF1dG99Omhvc3QgLnN0YXRpc3RpY3MtY29udGFpbmVyPip7aGVpZ2h0OjEwMCV9Omhvc3QgLmxlZ2VuZHtmbGV4LXdyYXA6d3JhcDt3aWR0aDoxMDAlO3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo0cHg7bWFyZ2luLXRvcDoxNXB4fTpob3N0IC5sZWdlbmQgLmxlZ2VuZC1rZXlzIC5sZWdlbmQtbGFiZWx7cGFkZGluZzoycHggMjBweCAycHggMTBweDt3aGl0ZS1zcGFjZTpub3dyYXB9Omhvc3QgLmxlZ2VuZCAubGVnZW5kLWtleXMgLmxlZ2VuZC1sYWJlbC5oaWRkZW4tbGFiZWx7dGV4dC1kZWNvcmF0aW9uOmxpbmUtdGhyb3VnaDtvcGFjaXR5Oi42fTpob3N0IC5sZWdlbmQgLmxlZ2VuZC1rZXlzIC5sZWdlbmQtbGFiZWw6Zm9jdXN7b3V0bGluZTpub25lfTpob3N0IC5sZWdlbmQgLmxlZ2VuZC1rZXlzIC5sZWdlbmQtbGluZXtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxNXB4O2hlaWdodDozcHg7dGV4dC1hbGlnbjpsZWZ0O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtvdXRsaW5lOm5vbmV9XG4nXX1dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTptZS5Gb3JtQnVpbGRlcn0se3R5cGU6WC5BdHRyaWJ1dGVTZXJ2aWNlfSx7dHlwZTpYLlV0aWxzU2VydmljZX1dLHByb3BEZWNvcmF0b3JzOntzb3J0Olt7dHlwZTpvLGFyZ3M6W2ddfV0sc3RhdGlzdGljQ2hhcnQ6W3t0eXBlOm8sYXJnczpbInN0YXRpc3RpY0NoYXJ0Il19XSxjdHg6W3t0eXBlOmF9XSxnZW5lcmFsOlt7dHlwZTphfV19fSk7Y2xhc3MgbWF7c3RhdGlje3RoaXMubXF0dFJlcXVlc3RUeXBlS2V5cz1PYmplY3QudmFsdWVzKEluKX1zdGF0aWN7dGhpcy5tcXR0UmVxdWVzdE1hcHBpbmdPbGRGaWVsZHM9WyJhdHRyaWJ1dGVOYW1lSnNvbkV4cHJlc3Npb24iLCJkZXZpY2VOYW1lSnNvbkV4cHJlc3Npb24iLCJkZXZpY2VOYW1lVG9waWNFeHByZXNzaW9uIiwiZXh0ZW5zaW9uLWNvbmZpZyJdfXN0YXRpY3t0aGlzLm1xdHRSZXF1ZXN0TWFwcGluZ05ld0ZpZWxkcz1bImF0dHJpYnV0ZU5hbWVFeHByZXNzaW9uU291cmNlIiwicmVzcG9uc2VUb3BpY1FvUyIsImV4dGVuc2lvbkNvbmZpZyJdfXN0YXRpYyBtYXBNYXBwaW5nVG9VcGdyYWRlZFZlcnNpb24oZSl7cmV0dXJuIGU/Lm1hcCgoKHtjb252ZXJ0ZXI6ZSx0b3BpY0ZpbHRlcjp0LHN1YnNjcmlwdGlvblFvczpuPTF9KT0+e2NvbnN0IGE9ZS5kZXZpY2VJbmZvPz90aGlzLmV4dHJhY3RDb252ZXJ0ZXJEZXZpY2VJbmZvKGUpLG89ey4uLmUsZGV2aWNlSW5mbzphLGV4dGVuc2lvbkNvbmZpZzplLmV4dGVuc2lvbkNvbmZpZ3x8ZVsiZXh0ZW5zaW9uLWNvbmZpZyJdfHxudWxsfTtyZXR1cm4gdGhpcy5jbGVhblVwT2xkRmllbGRzKG8pLHtjb252ZXJ0ZXI6byx0b3BpY0ZpbHRlcjp0LHN1YnNjcmlwdGlvblFvczpufX0pKX1zdGF0aWMgbWFwUmVxdWVzdHNUb1VwZ3JhZGVkVmVyc2lvbihlKXtyZXR1cm4gdGhpcy5tcXR0UmVxdWVzdFR5cGVLZXlzLnJlZHVjZSgoKHQsbik9PmVbbl0/KHRbbl09ZVtuXS5tYXAoKGU9Pntjb25zdCB0PXRoaXMubWFwUmVxdWVzdFRvVXBncmFkZWRWZXJzaW9uKGUsbik7cmV0dXJuIHRoaXMuY2xlYW5VcE9sZEZpZWxkcyh0KSx0fSkpLHQpOnQpLHt9KX1zdGF0aWMgbWFwUmVxdWVzdHNUb0Rvd25ncmFkZWRWZXJzaW9uKGUpe3JldHVybiB0aGlzLm1xdHRSZXF1ZXN0VHlwZUtleXMucmVkdWNlKCgodCxuKT0+ZVtuXT8odFtuXT1lW25dLm1hcCgoZT0+e249PT1Jbi5TRVJWRVJfU0lERV9SUEMmJmRlbGV0ZSBlLnR5cGU7Y29uc3R7YXR0cmlidXRlTmFtZUV4cHJlc3Npb246dCxkZXZpY2VJbmZvOmEsLi4ub309ZSxpPXsuLi5vLGF0dHJpYnV0ZU5hbWVKc29uRXhwcmVzc2lvbjp0fHxudWxsLGRldmljZU5hbWVKc29uRXhwcmVzc2lvbjphPy5kZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZSE9PVRuLlRPUElDP2E/LmRldmljZU5hbWVFeHByZXNzaW9uOm51bGwsZGV2aWNlTmFtZVRvcGljRXhwcmVzc2lvbjphPy5kZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZT09PVRuLlRPUElDP2E/LmRldmljZU5hbWVFeHByZXNzaW9uOm51bGx9O3JldHVybiB0aGlzLmNsZWFuVXBOZXdGaWVsZHMoaSksaX0pKSx0KTp0KSx7fSl9c3RhdGljIG1hcE1hcHBpbmdUb0Rvd25ncmFkZWRWZXJzaW9uKGUpe3JldHVybiBlPy5tYXAoKGU9Pntjb25zdCB0PXRoaXMubWFwQ29udmVydGVyVG9Eb3duZ3JhZGVkVmVyc2lvbihlLmNvbnZlcnRlcik7cmV0dXJuIHRoaXMuY2xlYW5VcE5ld0ZpZWxkcyh0KSx7Y29udmVydGVyOnQsdG9waWNGaWx0ZXI6ZS50b3BpY0ZpbHRlcn19KSl9c3RhdGljIG1hcENvbnZlcnRlclRvRG93bmdyYWRlZFZlcnNpb24oZSl7Y29uc3R7ZGV2aWNlSW5mbzp0LC4uLm59PWU7cmV0dXJuIGUudHlwZSE9PXduLkJZVEVTP3suLi5uLGRldmljZU5hbWVKc29uRXhwcmVzc2lvbjp0Py5kZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZT09PVRuLk1TRz90LmRldmljZU5hbWVFeHByZXNzaW9uOm51bGwsZGV2aWNlVHlwZUpzb25FeHByZXNzaW9uOnQ/LmRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlPT09VG4uTVNHP3QuZGV2aWNlUHJvZmlsZUV4cHJlc3Npb246bnVsbCxkZXZpY2VOYW1lVG9waWNFeHByZXNzaW9uOnQ/LmRldmljZU5hbWVFeHByZXNzaW9uU291cmNlIT09VG4uTVNHP3Q/LmRldmljZU5hbWVFeHByZXNzaW9uOm51bGwsZGV2aWNlVHlwZVRvcGljRXhwcmVzc2lvbjp0Py5kZXZpY2VQcm9maWxlRXhwcmVzc2lvblNvdXJjZSE9PVRuLk1TRz90Py5kZXZpY2VQcm9maWxlRXhwcmVzc2lvbjpudWxsfTp7Li4ubixkZXZpY2VOYW1lRXhwcmVzc2lvbjp0LmRldmljZU5hbWVFeHByZXNzaW9uLGRldmljZVR5cGVFeHByZXNzaW9uOnQuZGV2aWNlUHJvZmlsZUV4cHJlc3Npb24sImV4dGVuc2lvbi1jb25maWciOmUuZXh0ZW5zaW9uQ29uZmlnfX1zdGF0aWMgY2xlYW5VcE9sZEZpZWxkcyhlKXt0aGlzLm1xdHRSZXF1ZXN0TWFwcGluZ09sZEZpZWxkcy5mb3JFYWNoKCh0PT5kZWxldGUgZVt0XSkpLFooZSl9c3RhdGljIGNsZWFuVXBOZXdGaWVsZHMoZSl7dGhpcy5tcXR0UmVxdWVzdE1hcHBpbmdOZXdGaWVsZHMuZm9yRWFjaCgodD0+ZGVsZXRlIGVbdF0pKSxaKGUpfXN0YXRpYyBnZXRUeXBlU291cmNlQnlWYWx1ZShlKXtyZXR1cm4gZS5pbmNsdWRlcygiJHsiKT9Ubi5NU0c6ZS5pbmNsdWRlcygiLyIpP1RuLlRPUElDOlRuLkNPTlNUfXN0YXRpYyBleHRyYWN0Q29udmVydGVyRGV2aWNlSW5mbyhlKXtjb25zdCB0PWUuZGV2aWNlTmFtZUV4cHJlc3Npb258fGUuZGV2aWNlTmFtZUpzb25FeHByZXNzaW9ufHxlLmRldmljZU5hbWVUb3BpY0V4cHJlc3Npb258fG51bGwsbj1lLmRldmljZU5hbWVFeHByZXNzaW9uU291cmNlP2UuZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2U6dD90aGlzLmdldFR5cGVTb3VyY2VCeVZhbHVlKHQpOm51bGwsYT1lLmRldmljZVByb2ZpbGVFeHByZXNzaW9ufHxlLmRldmljZVR5cGVUb3BpY0V4cHJlc3Npb258fGUuZGV2aWNlVHlwZUpzb25FeHByZXNzaW9ufHwiZGVmYXVsdCIsbz1lLmRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlP2UuZGV2aWNlUHJvZmlsZUV4cHJlc3Npb25Tb3VyY2U6YT90aGlzLmdldFR5cGVTb3VyY2VCeVZhbHVlKGEpOm51bGw7cmV0dXJuIHR8fGE/e2RldmljZU5hbWVFeHByZXNzaW9uOnQsZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2U6bixkZXZpY2VQcm9maWxlRXhwcmVzc2lvbjphLGRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlOm99Om51bGx9c3RhdGljIG1hcFJlcXVlc3RUb1VwZ3JhZGVkVmVyc2lvbihlLHQpe2NvbnN0IG49ZS5kZXZpY2VOYW1lSnNvbkV4cHJlc3Npb258fGUuZGV2aWNlTmFtZVRvcGljRXhwcmVzc2lvbnx8bnVsbCxhPWUuZGV2aWNlVHlwZVRvcGljRXhwcmVzc2lvbnx8ZS5kZXZpY2VUeXBlSnNvbkV4cHJlc3Npb258fCJkZWZhdWx0IixvPWE/dGhpcy5nZXRUeXBlU291cmNlQnlWYWx1ZShhKTpudWxsLGk9ZS5hdHRyaWJ1dGVOYW1lRXhwcmVzc2lvblNvdXJjZXx8ZS5hdHRyaWJ1dGVOYW1lSnNvbkV4cHJlc3Npb258fG51bGwscj10PT09SW4uU0VSVkVSX1NJREVfUlBDPzE6bnVsbCxzPXQ9PT1Jbi5TRVJWRVJfU0lERV9SUEM/ZS5yZXNwb25zZVRvcGljRXhwcmVzc2lvbj9Gbi5XaXRoUmVzcG9uc2U6Rm4uV2l0aG91dFJlc3BvbnNlOm51bGw7cmV0dXJuey4uLmUsYXR0cmlidXRlTmFtZUV4cHJlc3Npb246aSxhdHRyaWJ1dGVOYW1lRXhwcmVzc2lvblNvdXJjZTppP3RoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoaSk6bnVsbCxkZXZpY2VJbmZvOmUuZGV2aWNlSW5mbz9lLmRldmljZUluZm86bj97ZGV2aWNlTmFtZUV4cHJlc3Npb246bixkZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZTp0aGlzLmdldFR5cGVTb3VyY2VCeVZhbHVlKG4pLGRldmljZVByb2ZpbGVFeHByZXNzaW9uOmEsZGV2aWNlUHJvZmlsZUV4cHJlc3Npb25Tb3VyY2U6b306bnVsbCxyZXNwb25zZVRvcGljUW9TOnIsdHlwZTpzfX19ZSgiTXF0dFZlcnNpb25NYXBwaW5nVXRpbCIsbWEpO2NsYXNzIGRhe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5nYXRld2F5VmVyc2lvbkluPWUsdGhpcy5jb25uZWN0b3I9dCx0aGlzLmdhdGV3YXlWZXJzaW9uPWJhLnBhcnNlVmVyc2lvbih0aGlzLmdhdGV3YXlWZXJzaW9uSW4pLHRoaXMuY29uZmlnVmVyc2lvbj1iYS5wYXJzZVZlcnNpb24odGhpcy5jb25uZWN0b3IuY29uZmlnVmVyc2lvbil9Z2V0UHJvY2Vzc2VkQnlWZXJzaW9uKCl7cmV0dXJuIHRoaXMuaXNWZXJzaW9uVXBkYXRlTmVlZGVkKCk/dGhpcy5wcm9jZXNzVmVyc2lvblVwZGF0ZSgpOnRoaXMuY29ubmVjdG9yfXByb2Nlc3NWZXJzaW9uVXBkYXRlKCl7cmV0dXJuIHRoaXMuaXNWZXJzaW9uVXBncmFkZU5lZWRlZCgpP3RoaXMuZ2V0VXBncmFkZWRWZXJzaW9uKCk6dGhpcy5pc1ZlcnNpb25Eb3duZ3JhZGVOZWVkZWQoKT90aGlzLmdldERvd25ncmFkZWRWZXJzaW9uKCk6dGhpcy5jb25uZWN0b3J9aXNWZXJzaW9uVXBkYXRlTmVlZGVkKCl7cmV0dXJuISF0aGlzLmdhdGV3YXlWZXJzaW9uJiZ0aGlzLmNvbmZpZ1ZlcnNpb24hPT10aGlzLmdhdGV3YXlWZXJzaW9ufWlzVmVyc2lvblVwZ3JhZGVOZWVkZWQoKXtyZXR1cm4gdGhpcy5nYXRld2F5VmVyc2lvbj49YmEucGFyc2VWZXJzaW9uKFV0LkN1cnJlbnQpJiYoIXRoaXMuY29uZmlnVmVyc2lvbnx8dGhpcy5jb25maWdWZXJzaW9uPHRoaXMuZ2F0ZXdheVZlcnNpb24pfWlzVmVyc2lvbkRvd25ncmFkZU5lZWRlZCgpe3JldHVybiB0aGlzLmNvbmZpZ1ZlcnNpb24mJnRoaXMuY29uZmlnVmVyc2lvbj49YmEucGFyc2VWZXJzaW9uKFV0LkN1cnJlbnQpJiZ0aGlzLmNvbmZpZ1ZlcnNpb24+dGhpcy5nYXRld2F5VmVyc2lvbn19ZSgiR2F0ZXdheUNvbm5lY3RvclZlcnNpb25Qcm9jZXNzb3IiLGRhKTtjbGFzcyB1YSBleHRlbmRzIGRhe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLmdhdGV3YXlWZXJzaW9uSW49ZSx0aGlzLmNvbm5lY3Rvcj10LHRoaXMubXF0dFJlcXVlc3RUeXBlS2V5cz1PYmplY3QudmFsdWVzKEluKX1nZXRVcGdyYWRlZFZlcnNpb24oKXtjb25zdHtjb25uZWN0UmVxdWVzdHM6ZSxkaXNjb25uZWN0UmVxdWVzdHM6dCxhdHRyaWJ1dGVSZXF1ZXN0czpuLGF0dHJpYnV0ZVVwZGF0ZXM6YSxzZXJ2ZXJTaWRlUnBjOm99PXRoaXMuY29ubmVjdG9yLmNvbmZpZ3VyYXRpb25Kc29uO2xldCBpPXsuLi50aGlzLmNvbm5lY3Rvci5jb25maWd1cmF0aW9uSnNvbixyZXF1ZXN0c01hcHBpbmc6bWEubWFwUmVxdWVzdHNUb1VwZ3JhZGVkVmVyc2lvbih7Y29ubmVjdFJlcXVlc3RzOmUsZGlzY29ubmVjdFJlcXVlc3RzOnQsYXR0cmlidXRlUmVxdWVzdHM6bixhdHRyaWJ1dGVVcGRhdGVzOmEsc2VydmVyU2lkZVJwYzpvfSksbWFwcGluZzptYS5tYXBNYXBwaW5nVG9VcGdyYWRlZFZlcnNpb24odGhpcy5jb25uZWN0b3IuY29uZmlndXJhdGlvbkpzb24ubWFwcGluZyl9O3JldHVybiB0aGlzLm1xdHRSZXF1ZXN0VHlwZUtleXMuZm9yRWFjaCgoZT0+e2NvbnN0e1tlXTp0LC4uLm59PWk7aT17Li4ubn19KSksdGhpcy5jbGVhblVwQ29uZmlnSnNvbihpKSx7Li4udGhpcy5jb25uZWN0b3IsY29uZmlndXJhdGlvbkpzb246aSxjb25maWdWZXJzaW9uOnRoaXMuZ2F0ZXdheVZlcnNpb25Jbn19Z2V0RG93bmdyYWRlZFZlcnNpb24oKXtjb25zdHtyZXF1ZXN0c01hcHBpbmc6ZSxtYXBwaW5nOnQsLi4ubn09dGhpcy5jb25uZWN0b3IuY29uZmlndXJhdGlvbkpzb24sYT1lP21hLm1hcFJlcXVlc3RzVG9Eb3duZ3JhZGVkVmVyc2lvbihlKTp7fSxvPW1hLm1hcE1hcHBpbmdUb0Rvd25ncmFkZWRWZXJzaW9uKHQpO3JldHVybnsuLi50aGlzLmNvbm5lY3Rvcixjb25maWd1cmF0aW9uSnNvbjp7Li4ubiwuLi5hLG1hcHBpbmc6b30sY29uZmlnVmVyc2lvbjp0aGlzLmdhdGV3YXlWZXJzaW9uSW59fWNsZWFuVXBDb25maWdKc29uKGUpe2VlKGUucmVxdWVzdHNNYXBwaW5nLHt9KSYmZGVsZXRlIGUucmVxdWVzdHNNYXBwaW5nLGVlKGUubWFwcGluZyxbXSkmJmRlbGV0ZSBlLm1hcHBpbmd9fWUoIk1xdHRWZXJzaW9uUHJvY2Vzc29yIix1YSk7Y2xhc3MgZ2EgZXh0ZW5kcyBkYXtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5nYXRld2F5VmVyc2lvbkluPWUsdGhpcy5jb25uZWN0b3I9dH1nZXRVcGdyYWRlZFZlcnNpb24oKXtjb25zdCBlPXRoaXMuY29ubmVjdG9yLmNvbmZpZ3VyYXRpb25Kc29uO3JldHVybnsuLi50aGlzLmNvbm5lY3Rvcixjb25maWd1cmF0aW9uSnNvbjp7bWFzdGVyOmUubWFzdGVyPy5zbGF2ZXM/aGEubWFwTWFzdGVyVG9VcGdyYWRlZFZlcnNpb24oZS5tYXN0ZXIpOntzbGF2ZXM6W119LHNsYXZlOmUuc2xhdmU/aGEubWFwU2xhdmVUb1VwZ3JhZGVkVmVyc2lvbihlLnNsYXZlKTp7fX0sY29uZmlnVmVyc2lvbjp0aGlzLmdhdGV3YXlWZXJzaW9uSW59fWdldERvd25ncmFkZWRWZXJzaW9uKCl7Y29uc3QgZT10aGlzLmNvbm5lY3Rvci5jb25maWd1cmF0aW9uSnNvbjtyZXR1cm57Li4udGhpcy5jb25uZWN0b3IsY29uZmlndXJhdGlvbkpzb246ey4uLmUsc2xhdmU6ZS5zbGF2ZT9oYS5tYXBTbGF2ZVRvRG93bmdyYWRlZFZlcnNpb24oZS5zbGF2ZSk6e30sbWFzdGVyOmUubWFzdGVyPy5zbGF2ZXM/aGEubWFwTWFzdGVyVG9Eb3duZ3JhZGVkVmVyc2lvbihlLm1hc3Rlcik6e3NsYXZlczpbXX19LGNvbmZpZ1ZlcnNpb246dGhpcy5nYXRld2F5VmVyc2lvbklufX19ZSgiTW9kYnVzVmVyc2lvblByb2Nlc3NvciIsZ2EpO2NsYXNzIGZhIGV4dGVuZHMgZGF7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpLHRoaXMuZ2F0ZXdheVZlcnNpb25Jbj1lLHRoaXMuY29ubmVjdG9yPXR9Z2V0VXBncmFkZWRWZXJzaW9uKCl7Y29uc3QgZT10aGlzLmNvbm5lY3Rvci5jb25maWd1cmF0aW9uSnNvbi5zZXJ2ZXI7cmV0dXJuey4uLnRoaXMuY29ubmVjdG9yLGNvbmZpZ3VyYXRpb25Kc29uOntzZXJ2ZXI6ZT94YS5tYXBTZXJ2ZXJUb1VwZ3JhZGVkVmVyc2lvbihlKTp7fSxtYXBwaW5nOmU/Lm1hcHBpbmc/eGEubWFwTWFwcGluZ1RvVXBncmFkZWRWZXJzaW9uKGUubWFwcGluZyk6W119LGNvbmZpZ1ZlcnNpb246dGhpcy5nYXRld2F5VmVyc2lvbklufX1nZXREb3duZ3JhZGVkVmVyc2lvbigpe3JldHVybnsuLi50aGlzLmNvbm5lY3Rvcixjb25maWd1cmF0aW9uSnNvbjp7c2VydmVyOnhhLm1hcFNlcnZlclRvRG93bmdyYWRlZFZlcnNpb24odGhpcy5jb25uZWN0b3IuY29uZmlndXJhdGlvbkpzb24pfSxjb25maWdWZXJzaW9uOnRoaXMuZ2F0ZXdheVZlcnNpb25Jbn19fWUoIk9wY1ZlcnNpb25Qcm9jZXNzb3IiLGZhKTtjbGFzcyB5YXtjb25zdHJ1Y3Rvcigpe3RoaXMuaW5pdGlhbGl6ZWQ9bmV3IGksdGhpcy5mYj1yKGRlKSx0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLmJhc2ljRm9ybUdyb3VwPXRoaXMuaW5pdEJhc2ljRm9ybUdyb3VwKCksdGhpcy5iYXNpY0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT50aGlzLm9uQmFzaWNGb3JtR3JvdXBDaGFuZ2UoZSkpKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLmluaXRpYWxpemVkLmVtaXQoKX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLmJhc2ljRm9ybUdyb3VwLnZhbGlkP251bGw6e2Jhc2ljRm9ybUdyb3VwOnt2YWxpZDohMX19fXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9d3JpdGVWYWx1ZShlKXt0aGlzLmJhc2ljRm9ybUdyb3VwLnNldFZhbHVlKHRoaXMubWFwQ29uZmlnVG9Gb3JtVmFsdWUoZSkse2VtaXRFdmVudDohMX0pfW9uQmFzaWNGb3JtR3JvdXBDaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZSh0aGlzLmdldE1hcHBlZFZhbHVlKGUpKSx0aGlzLm9uVG91Y2hlZCgpfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6eWEsZGVwczpbXSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5EaXJlY3RpdmV9KX1zdGF0aWN7dGhpcy7JtWRpcj10Lsm1ybVuZ0RlY2xhcmVEaXJlY3RpdmUoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOnlhLGlucHV0czp7Z2VuZXJhbFRhYkNvbnRlbnQ6ImdlbmVyYWxUYWJDb250ZW50In0sb3V0cHV0czp7aW5pdGlhbGl6ZWQ6ImluaXRpYWxpemVkIn0sbmdJbXBvcnQ6dH0pfX1lKCJHYXRld2F5Q29ubmVjdG9yQmFzaWNDb25maWdEaXJlY3RpdmUiLHlhKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnlhLGRlY29yYXRvcnM6W3t0eXBlOnN9XSxjdG9yUGFyYW1ldGVyczooKT0+W10scHJvcERlY29yYXRvcnM6e2dlbmVyYWxUYWJDb250ZW50Olt7dHlwZTphfV0saW5pdGlhbGl6ZWQ6W3t0eXBlOmx9XX19KTtjbGFzcyBiYXtzdGF0aWMgZ2V0Q29uZmlnKGUsdCl7c3dpdGNoKGUudHlwZSl7Y2FzZSBfdC5NUVRUOnJldHVybiBuZXcgdWEodCxlKS5nZXRQcm9jZXNzZWRCeVZlcnNpb24oKTtjYXNlIF90Lk9QQ1VBOnJldHVybiBuZXcgZmEodCxlKS5nZXRQcm9jZXNzZWRCeVZlcnNpb24oKTtjYXNlIF90Lk1PREJVUzpyZXR1cm4gbmV3IGdhKHQsZSkuZ2V0UHJvY2Vzc2VkQnlWZXJzaW9uKCk7ZGVmYXVsdDpyZXR1cm4gZX19c3RhdGljIHBhcnNlVmVyc2lvbihlKXtyZXR1cm4gdGUoZSk/ZTpuZShlKT9wYXJzZUZsb2F0KGUucmVwbGFjZSgvXC4vZywiIikuc2xpY2UoMCwzKSkvMTAwOjB9fWUoIkdhdGV3YXlDb25uZWN0b3JWZXJzaW9uTWFwcGluZ1V0aWwiLGJhKTtjbGFzcyBoYXtzdGF0aWMgbWFwTWFzdGVyVG9VcGdyYWRlZFZlcnNpb24oZSl7cmV0dXJue3NsYXZlczplLnNsYXZlcy5tYXAoKGU9Pntjb25zdHtzZW5kRGF0YU9ubHlPbkNoYW5nZTp0LC4uLm59PWU7cmV0dXJuey4uLm4sZGV2aWNlVHlwZTplLmRldmljZVR5cGU/PyJkZWZhdWx0IixyZXBvcnRTdHJhdGVneTp0P3t0eXBlOnNuLk9uQ2hhbmdlfTp7dHlwZTpzbi5PblJlcG9ydFBlcmlvZCxyZXBvcnRQZXJpb2Q6ZS5wb2xsUGVyaW9kfX19KSl9fXN0YXRpYyBtYXBNYXN0ZXJUb0Rvd25ncmFkZWRWZXJzaW9uKGUpe3JldHVybntzbGF2ZXM6ZS5zbGF2ZXMubWFwKChlPT57Y29uc3R7cmVwb3J0U3RyYXRlZ3k6dCwuLi5ufT1lO3JldHVybnsuLi5uLHNlbmREYXRhT25seU9uQ2hhbmdlOnQ/LnR5cGUhPT1zbi5PblJlcG9ydFBlcmlvZH19KSl9fXN0YXRpYyBtYXBTbGF2ZVRvRG93bmdyYWRlZFZlcnNpb24oZSl7aWYoIWU/LnZhbHVlcylyZXR1cm4gZTtjb25zdCB0PU9iamVjdC5rZXlzKGUudmFsdWVzKS5yZWR1Y2UoKCh0LG4pPT50PXsuLi50LFtuXTpbZS52YWx1ZXNbbl1dfSkse30pO3JldHVybnsuLi5lLHZhbHVlczp0fX1zdGF0aWMgbWFwU2xhdmVUb1VwZ3JhZGVkVmVyc2lvbihlKXtpZighZT8udmFsdWVzKXJldHVybiBlO2NvbnN0IHQ9T2JqZWN0LmtleXMoZS52YWx1ZXMpLnJlZHVjZSgoKHQsbik9PnQ9ey4uLnQsW25dOnRoaXMubWFwVmFsdWVzVG9VcGdyYWRlZFZlcnNpb24oZS52YWx1ZXNbbl1bMF0pfSkse30pO3JldHVybnsuLi5lLHZhbHVlczp0fX1zdGF0aWMgbWFwVmFsdWVzVG9VcGdyYWRlZFZlcnNpb24oZSl7cmV0dXJuIE9iamVjdC5rZXlzKGUpLnJlZHVjZSgoKHQsbik9PnQ9ey4uLnQsW25dOmVbbl0ubWFwKChlPT4oey4uLmUsdHlwZToiaW50Ij09PWUudHlwZT9lYS5JTlQxNjplLnR5cGV9KSkpfSkse30pfX1lKCJNb2RidXNWZXJzaW9uTWFwcGluZ1V0aWwiLGhhKTtjbGFzcyB4YXtzdGF0aWMgbWFwU2VydmVyVG9VcGdyYWRlZFZlcnNpb24oZSl7Y29uc3R7bWFwcGluZzp0LGRpc2FibGVTdWJzY3JpcHRpb25zOm4scG9sbFBlcmlvZEluTWlsbGlzOmEsLi4ub309ZTtyZXR1cm57Li4ubyxwb2xsUGVyaW9kSW5NaWxsaXM6YT8/NWUzLGVuYWJsZVN1YnNjcmlwdGlvbnM6IW59fXN0YXRpYyBtYXBTZXJ2ZXJUb0Rvd25ncmFkZWRWZXJzaW9uKGUpe2NvbnN0e21hcHBpbmc6dCxzZXJ2ZXI6bn09ZSx7ZW5hYmxlU3Vic2NyaXB0aW9uczphLC4uLm99PW4/P3t9O3JldHVybnsuLi5vLG1hcHBpbmc6dD90aGlzLm1hcE1hcHBpbmdUb0Rvd25ncmFkZWRWZXJzaW9uKHQpOltdLGRpc2FibGVTdWJzY3JpcHRpb25zOiFhfX1zdGF0aWMgbWFwTWFwcGluZ1RvVXBncmFkZWRWZXJzaW9uKGUpe3JldHVybiBlLm1hcCgoZT0+KHsuLi5lLGRldmljZU5vZGVTb3VyY2U6dGhpcy5nZXREZXZpY2VOb2RlU291cmNlQnlWYWx1ZShlLmRldmljZU5vZGVQYXR0ZXJuKSxkZXZpY2VJbmZvOntkZXZpY2VOYW1lRXhwcmVzc2lvbjplLmRldmljZU5hbWVQYXR0ZXJuLGRldmljZU5hbWVFeHByZXNzaW9uU291cmNlOnRoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoZS5kZXZpY2VOYW1lUGF0dGVybiksZGV2aWNlUHJvZmlsZUV4cHJlc3Npb246ZS5kZXZpY2VUeXBlUGF0dGVybj8/ImRlZmF1bHQiLGRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlOnRoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoZS5kZXZpY2VUeXBlUGF0dGVybj8/ImRlZmF1bHQiKX0sYXR0cmlidXRlczplLmF0dHJpYnV0ZXMubWFwKChlPT4oe2tleTplLmtleSx0eXBlOnRoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoZS5wYXRoKSx2YWx1ZTplLnBhdGh9KSkpLGF0dHJpYnV0ZXNfdXBkYXRlczplLmF0dHJpYnV0ZXNfdXBkYXRlcy5tYXAoKGU9Pih7a2V5OmUuYXR0cmlidXRlT25UaGluZ3NCb2FyZCx0eXBlOnRoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoZS5hdHRyaWJ1dGVPbkRldmljZSksdmFsdWU6ZS5hdHRyaWJ1dGVPbkRldmljZX0pKSksdGltZXNlcmllczplLnRpbWVzZXJpZXMubWFwKChlPT4oe2tleTplLmtleSx0eXBlOnRoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoZS5wYXRoKSx2YWx1ZTplLnBhdGh9KSkpLHJwY19tZXRob2RzOmUucnBjX21ldGhvZHMubWFwKChlPT4oe21ldGhvZDplLm1ldGhvZCxhcmd1bWVudHM6ZS5hcmd1bWVudHMubWFwKChlPT4oe3ZhbHVlOmUsdHlwZTp0aGlzLmdldEFyZ3VtZW50VHlwZShlKX0pKSl9KSkpfSkpKX1zdGF0aWMgbWFwTWFwcGluZ1RvRG93bmdyYWRlZFZlcnNpb24oZSl7cmV0dXJuIGUubWFwKChlPT4oey4uLmUsZGV2aWNlTmFtZVBhdHRlcm46ZS5kZXZpY2VJbmZvLmRldmljZU5hbWVFeHByZXNzaW9uLGRldmljZVR5cGVQYXR0ZXJuOmUuZGV2aWNlSW5mby5kZXZpY2VQcm9maWxlRXhwcmVzc2lvbixhdHRyaWJ1dGVzOmUuYXR0cmlidXRlcy5tYXAoKGU9Pih7a2V5OmUua2V5LHBhdGg6ZS52YWx1ZX0pKSksYXR0cmlidXRlc191cGRhdGVzOmUuYXR0cmlidXRlc191cGRhdGVzLm1hcCgoZT0+KHthdHRyaWJ1dGVPblRoaW5nc0JvYXJkOmUua2V5LGF0dHJpYnV0ZU9uRGV2aWNlOmUudmFsdWV9KSkpLHRpbWVzZXJpZXM6ZS50aW1lc2VyaWVzLm1hcCgoZT0+KHtrZXk6ZS5rZXkscGF0aDplLnZhbHVlfSkpKSxycGNfbWV0aG9kczplLnJwY19tZXRob2RzLm1hcCgoZT0+KHttZXRob2Q6ZS5tZXRob2QsYXJndW1lbnRzOmUuYXJndW1lbnRzLm1hcCgoZT0+ZS52YWx1ZSkpfSkpKX0pKSl9c3RhdGljIGdldFR5cGVTb3VyY2VCeVZhbHVlKGUpe3JldHVybiBlLmluY2x1ZGVzKCIkeyIpP1NuLklERU5USUZJRVI6ZS5pbmNsdWRlcygiLyIpfHxlLmluY2x1ZGVzKCJcXCIpP1NuLlBBVEg6U24uQ09OU1R9c3RhdGljIGdldERldmljZU5vZGVTb3VyY2VCeVZhbHVlKGUpe3JldHVybiBlLmluY2x1ZGVzKCIkeyIpP1NuLklERU5USUZJRVI6U24uUEFUSH1zdGF0aWMgZ2V0QXJndW1lbnRUeXBlKGUpe3N3aXRjaCh0eXBlb2YgZSl7Y2FzZSJib29sZWFuIjpyZXR1cm4iYm9vbGVhbiI7Y2FzZSJudW1iZXIiOnJldHVybiBOdW1iZXIuaXNJbnRlZ2VyKGUpPyJpbnRlZ2VyIjoiZmxvYXQiO2RlZmF1bHQ6cmV0dXJuInN0cmluZyJ9fX1lKCJPcGNWZXJzaW9uTWFwcGluZ1V0aWwiLHhhKTtjbGFzcyB2YXt0cmFuc2Zvcm0oZSl7cmV0dXJuIGJhLnBhcnNlVmVyc2lvbihlKT49YmEucGFyc2VWZXJzaW9uKFV0LkN1cnJlbnQpfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6dmEsZGVwczpbXSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5QaXBlfSl9c3RhdGlje3RoaXMuybVwaXBlPXQuybXJtW5nRGVjbGFyZVBpcGUoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6dmEsaXNTdGFuZGFsb25lOiEwLG5hbWU6ImlzTGF0ZXN0VmVyc2lvbkNvbmZpZyJ9KX19ZSgiTGF0ZXN0VmVyc2lvbkNvbmZpZ1BpcGUiLHZhKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnZhLGRlY29yYXRvcnM6W3t0eXBlOmMsYXJnczpbe25hbWU6ImlzTGF0ZXN0VmVyc2lvbkNvbmZpZyIsc3RhbmRhbG9uZTohMH1dfV19KTtjbGFzcyB3YXtjb25zdHJ1Y3RvcihlKXt0aGlzLnRyYW5zbGF0ZT1lfXRyYW5zZm9ybShlKXtyZXR1cm4gZS5oYXNFcnJvcigicmVxdWlyZWQiKT90aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LnBvcnQtcmVxdWlyZWQiKTplLmhhc0Vycm9yKCJtaW4iKXx8ZS5oYXNFcnJvcigibWF4Iik/dGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5wb3J0LWxpbWl0cy1lcnJvciIse21pbjpFdC5NSU4sbWF4OkV0Lk1BWH0pOiIifXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6d2EsZGVwczpbe3Rva2VuOlkuVHJhbnNsYXRlU2VydmljZX1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LlBpcGV9KX1zdGF0aWN7dGhpcy7JtXBpcGU9dC7Jtcm1bmdEZWNsYXJlUGlwZSh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTp3YSxpc1N0YW5kYWxvbmU6ITAsbmFtZToiZ2V0R2F0ZXdheVBvcnRUb29sdGlwIn0pfX1lKCJHYXRld2F5UG9ydFRvb2x0aXBQaXBlIix3YSksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTp3YSxkZWNvcmF0b3JzOlt7dHlwZTpjLGFyZ3M6W3tuYW1lOiJnZXRHYXRld2F5UG9ydFRvb2x0aXAiLHN0YW5kYWxvbmU6ITB9XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6WS5UcmFuc2xhdGVTZXJ2aWNlfV19KTtjbGFzcyBDYXt0cmFuc2Zvcm0oZSl7cmV0dXJuIGUubWFwKCgoe3ZhbHVlOmV9KT0+ZS50b1N0cmluZygpKSkuam9pbigiLCAiKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkNhLGRlcHM6W10sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuUGlwZX0pfXN0YXRpY3t0aGlzLsm1cGlwZT10Lsm1ybVuZ0RlY2xhcmVQaXBlKHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkNhLGlzU3RhbmRhbG9uZTohMCxuYW1lOiJnZXRScGNUZW1wbGF0ZUFycmF5VmlldyJ9KX19ZSgiUnBjVGVtcGxhdGVBcnJheVZpZXdQaXBlIixDYSksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpDYSxkZWNvcmF0b3JzOlt7dHlwZTpjLGFyZ3M6W3tuYW1lOiJnZXRScGNUZW1wbGF0ZUFycmF5VmlldyIsc3RhbmRhbG9uZTohMH1dfV19KTtjbGFzcyBUYXt0cmFuc2Zvcm0oZSx0LG4pe3JldHVybiFufHxuPy5pbmNsdWRlcyhTbi5QQVRIKT90IT09U24uQ09OU1Q/YHdpZGdldC9saWIvZ2F0ZXdheS8ke2V9LSR7dH1fZm5gOnZvaWQgMDoiYXR0cmlidXRlcyI9PT1lfHwidGltZXNlcmllcyI9PT1lPyJ3aWRnZXQvbGliL2dhdGV3YXkvYXR0cmlidXRlc190aW1lc2VyaWVzX2V4cHJlc3Npb25zX2ZuIjoid2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuIn1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlRhLGRlcHM6W10sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuUGlwZX0pfXN0YXRpY3t0aGlzLsm1cGlwZT10Lsm1ybVuZ0RlY2xhcmVQaXBlKHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlRhLGlzU3RhbmRhbG9uZTohMCxuYW1lOiJnZXRHYXRld2F5SGVscExpbmsifSl9fWUoIkdhdGV3YXlIZWxwTGlua1BpcGUiLFRhKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlRhLGRlY29yYXRvcnM6W3t0eXBlOmMsYXJnczpbe25hbWU6ImdldEdhdGV3YXlIZWxwTGluayIsc3RhbmRhbG9uZTohMH1dfV19KTtjbGFzcyBTYXtjb25zdHJ1Y3RvcihlLHQsbil7dGhpcy5lbGVtZW50UmVmPWUsdGhpcy5yZW5kZXJlcj10LHRoaXMudG9vbHRpcD1uLHRoaXMudG9vbHRpcEVuYWJsZWQ9ITAsdGhpcy5wb3NpdGlvbj0iYWJvdmUiLHRoaXMuZGVzdHJveSQ9bmV3IFNlfW5nT25Jbml0KCl7dGhpcy5vYnNlcnZlTW91c2VFdmVudHMoKSx0aGlzLmFwcGx5VHJ1bmNhdGlvblN0eWxlcygpfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMudG9vbHRpcC5wb3NpdGlvbj10aGlzLnBvc2l0aW9ufW5nT25EZXN0cm95KCl7dGhpcy50b29sdGlwLl9pc1Rvb2x0aXBWaXNpYmxlKCkmJnRoaXMuaGlkZVRvb2x0aXAoKSx0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9b2JzZXJ2ZU1vdXNlRXZlbnRzKCl7a2UodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIm1vdXNlZW50ZXIiKS5waXBlKE1lKCgoKT0+dGhpcy50b29sdGlwRW5hYmxlZCkpLE1lKCgoKT0+dGhpcy5pc092ZXJmbG93bih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkpKSxFZSgoKCk9PnRoaXMuc2hvd1Rvb2x0aXAoKSkpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKSxrZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwibW91c2VsZWF2ZSIpLnBpcGUoTWUoKCgpPT50aGlzLnRvb2x0aXBFbmFibGVkKSksTWUoKCgpPT50aGlzLnRvb2x0aXAuX2lzVG9vbHRpcFZpc2libGUoKSkpLEVlKCgoKT0+dGhpcy5oaWRlVG9vbHRpcCgpKSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgpfWFwcGx5VHJ1bmNhdGlvblN0eWxlcygpe3RoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIndoaXRlLXNwYWNlIiwibm93cmFwIiksdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwib3ZlcmZsb3ciLCJoaWRkZW4iKSx0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCJ0ZXh0LW92ZXJmbG93IiwiZWxsaXBzaXMiKX1pc092ZXJmbG93bihlKXtyZXR1cm4gZS5jbGllbnRXaWR0aDxlLnNjcm9sbFdpZHRofXNob3dUb29sdGlwKCl7dGhpcy50b29sdGlwLm1lc3NhZ2U9dGhpcy50ZXh0fHx0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5pbm5lclRleHQsdGhpcy50b29sdGlwLnNob3coKX1oaWRlVG9vbHRpcCgpe3RoaXMudG9vbHRpcC5oaWRlKCl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpTYSxkZXBzOlt7dG9rZW46dC5FbGVtZW50UmVmfSx7dG9rZW46dC5SZW5kZXJlcjJ9LHt0b2tlbjp6ZS5NYXRUb29sdGlwfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuRGlyZWN0aXZlfSl9c3RhdGlje3RoaXMuybVkaXI9dC7Jtcm1bmdEZWNsYXJlRGlyZWN0aXZlKHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpTYSxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6e3RleHQ6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0ZXh0Il0sdG9vbHRpcEVuYWJsZWQ6InRvb2x0aXBFbmFibGVkIixwb3NpdGlvbjoicG9zaXRpb24ifSxwcm92aWRlcnM6W1dlXSxuZ0ltcG9ydDp0fSl9fWUoIlRydW5jYXRlV2l0aFRvb2x0aXBEaXJlY3RpdmUiLFNhKSxIZShbTigpXSxTYS5wcm90b3R5cGUsInRvb2x0aXBFbmFibGVkIix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6U2EsZGVjb3JhdG9yczpbe3R5cGU6cyxhcmdzOlt7c2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixwcm92aWRlcnM6W1dlXSxzdGFuZGFsb25lOiEwfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOnQuRWxlbWVudFJlZn0se3R5cGU6dC5SZW5kZXJlcjJ9LHt0eXBlOnplLk1hdFRvb2x0aXB9XSxwcm9wRGVjb3JhdG9yczp7dGV4dDpbe3R5cGU6YSxhcmdzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIl19XSx0b29sdGlwRW5hYmxlZDpbe3R5cGU6YX1dLHBvc2l0aW9uOlt7dHlwZTphfV19fSk7Y2xhc3Mga2F7c2V0IGNoaXBzKGUpe2VlKHRoaXMuY2hpcHNWYWx1ZSxlKXx8KHRoaXMuY2hpcHNWYWx1ZT1lLHNldFRpbWVvdXQoKCgpPT57dGhpcy5hZGp1c3RDaGlwcygpfSksMCkpfWNvbnN0cnVjdG9yKGUsdCxuLGEpe3RoaXMuZWw9ZSx0aGlzLnJlbmRlcmVyPXQsdGhpcy50cmFuc2xhdGU9bix0aGlzLndpbmRvdz1hLHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCJtYXgtaGVpZ2h0IiwiNDhweCIpLHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCJvdmVyZmxvdyIsImF1dG8iKSxrZShhLCJyZXNpemUiKS5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5hZGp1c3RDaGlwcygpfSkpLHRoaXMub2JzZXJ2ZUludGVyc2VjdGlvbigpfW9ic2VydmVJbnRlcnNlY3Rpb24oKXt0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZT0+e2UuZm9yRWFjaCgoZT0+e2UuaXNJbnRlcnNlY3RpbmcmJnRoaXMuYWRqdXN0Q2hpcHMoKX0pKX0pKSx0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyLm9ic2VydmUodGhpcy5lbC5uYXRpdmVFbGVtZW50KX1hZGp1c3RDaGlwcygpe2NvbnN0IGU9dGhpcy5lbC5uYXRpdmVFbGVtZW50LHQ9dGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi5lbGxpcHNpcy1jaGlwIiksbj1wYXJzZUZsb2F0KHRoaXMud2luZG93LmdldENvbXB1dGVkU3R5bGUodCkubWFyZ2luTGVmdCl8fDAsYT1lLnF1ZXJ5U2VsZWN0b3JBbGwoIm1hdC1jaGlwOm5vdCguZWxsaXBzaXMtY2hpcCkiKTtpZih0aGlzLmNoaXBzVmFsdWUubGVuZ3RoPjEpe2NvbnN0IG89dGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi5lbGxpcHNpcy10ZXh0Iik7dGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0LCJkaXNwbGF5IiwiaW5saW5lLWZsZXgiKSxvLmlubmVySFRNTD10aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LmVsbGlwc2lzLWNoaXBzLXRleHQiLHtjb3VudDp0aGlzLmNoaXBzVmFsdWUubGVuZ3RofSk7Y29uc3QgaT1lLm9mZnNldFdpZHRoLSh0Lm9mZnNldFdpZHRoK24pO2xldCByPTAscz0wO2EuZm9yRWFjaCgoZT0+e3RoaXMucmVuZGVyZXIuc2V0U3R5bGUoZSwiZGlzcGxheSIsImlubGluZS1mbGV4Iik7Y29uc3QgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5tZGMtZXZvbHV0aW9uLWNoaXBfX3RleHQtbGFiZWwiKTt0aGlzLmFwcGx5TWF4Q2hpcFRleHRXaWR0aCh0LGkvMykscisoZS5vZmZzZXRXaWR0aCtuKTw9aSYmczx0aGlzLmNoaXBzVmFsdWUubGVuZ3RoPyhzKysscis9ZS5vZmZzZXRXaWR0aCtuKTp0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGUsImRpc3BsYXkiLCJub25lIil9KSksby5pbm5lckhUTUw9dGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5lbGxpcHNpcy1jaGlwcy10ZXh0Iix7Y291bnQ6dGhpcy5jaGlwc1ZhbHVlLmxlbmd0aC1zfSkscz09PXRoaXMuY2hpcHNWYWx1ZT8ubGVuZ3RoJiZ0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHQsImRpc3BsYXkiLCJub25lIil9ZWxzZSBpZigxPT09dGhpcy5jaGlwc1ZhbHVlLmxlbmd0aCl7Y29uc3Qgbz1hWzBdLnF1ZXJ5U2VsZWN0b3IoIi5tZGMtZXZvbHV0aW9uLWNoaXBfX2FjdGlvbiIpLGk9by5xdWVyeVNlbGVjdG9yKCIubWRjLWV2b2x1dGlvbi1jaGlwX190ZXh0LWxhYmVsIikscj1wYXJzZUZsb2F0KHRoaXMud2luZG93LmdldENvbXB1dGVkU3R5bGUobykucGFkZGluZ0xlZnQpfHwwLHM9cGFyc2VGbG9hdCh0aGlzLndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG8pLnBhZGRpbmdSaWdodCl8fDAsbD1lLm9mZnNldFdpZHRoLW4tKHIrcyk7dGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0LCJkaXNwbGF5Iiwibm9uZSIpLHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoYVswXSwiZGlzcGxheSIsImlubGluZS1mbGV4IiksdGhpcy5hcHBseU1heENoaXBUZXh0V2lkdGgoaSxsKX1lbHNlIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodCwiZGlzcGxheSIsIm5vbmUiKX1hcHBseU1heENoaXBUZXh0V2lkdGgoZSx0KXt0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGUsIm1heC13aWR0aCIsdCsicHgiKSx0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGUsIm92ZXJmbG93IiwiaGlkZGVuIiksdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlLCJ0ZXh0LW92ZXJmbG93IiwiZWxsaXBzaXMiKSx0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGUsIndoaXRlLXNwYWNlIiwibm93cmFwIil9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCksdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlci5kaXNjb25uZWN0KCl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTprYSxkZXBzOlt7dG9rZW46dC5FbGVtZW50UmVmfSx7dG9rZW46dC5SZW5kZXJlcjJ9LHt0b2tlbjpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0b2tlbjphZX1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkRpcmVjdGl2ZX0pfXN0YXRpY3t0aGlzLsm1ZGlyPXQuybXJtW5nRGVjbGFyZURpcmVjdGl2ZSh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6a2EsaXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJbdGItZWxsaXBzaXMtY2hpcC1saXN0XSIsaW5wdXRzOntjaGlwczpbInRiLWVsbGlwc2lzLWNoaXAtbGlzdCIsImNoaXBzIl19LG5nSW1wb3J0OnR9KX19ZSgiRWxsaXBzaXNDaGlwTGlzdERpcmVjdGl2ZSIsa2EpLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6a2EsZGVjb3JhdG9yczpbe3R5cGU6cyxhcmdzOlt7c2VsZWN0b3I6Ilt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdIixzdGFuZGFsb25lOiEwfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOnQuRWxlbWVudFJlZn0se3R5cGU6dC5SZW5kZXJlcjJ9LHt0eXBlOlkuVHJhbnNsYXRlU2VydmljZX0se3R5cGU6V2luZG93LGRlY29yYXRvcnM6W3t0eXBlOnAsYXJnczpbYWVdfV19XSxwcm9wRGVjb3JhdG9yczp7Y2hpcHM6W3t0eXBlOmEsYXJnczpbInRiLWVsbGlwc2lzLWNoaXAtbGlzdCJdfV19fSk7Y2xhc3MgTGF7Y29uc3RydWN0b3IoZSx0LG4sYSl7dGhpcy5hdHRyaWJ1dGVTZXJ2aWNlPWUsdGhpcy50ZWxlbWV0cnlXc1NlcnZpY2U9dCx0aGlzLnpvbmU9bix0aGlzLnRyYW5zbGF0ZT1hLHRoaXMuYXR0cmlidXRlc1N1YmplY3Q9bmV3IExlKFtdKSx0aGlzLnBhZ2VEYXRhU3ViamVjdD1uZXcgTGUoTSgpKSx0aGlzLnBhZ2VEYXRhJD10aGlzLnBhZ2VEYXRhU3ViamVjdC5hc09ic2VydmFibGUoKSx0aGlzLnNlbGVjdGlvbj1uZXcgamUoITAsW10pfWNvbm5lY3QoZSl7cmV0dXJuIHRoaXMuYXR0cmlidXRlc1N1YmplY3QuYXNPYnNlcnZhYmxlKCl9ZGlzY29ubmVjdChlKXt0aGlzLmF0dHJpYnV0ZXNTdWJqZWN0LmNvbXBsZXRlKCksdGhpcy5wYWdlRGF0YVN1YmplY3QuY29tcGxldGUoKSx0aGlzLnRlbGVtZXRyeVN1YnNjcmliZXImJih0aGlzLnRlbGVtZXRyeVN1YnNjcmliZXIudW5zdWJzY3JpYmUoKSx0aGlzLnRlbGVtZXRyeVN1YnNjcmliZXI9bnVsbCl9bG9hZEF0dHJpYnV0ZXMoZSx0LG4sYT0hMSl7YSYmKHRoaXMuYWxsQXR0cmlidXRlcz1udWxsLHRoaXMudGVsZW1ldHJ5U3Vic2NyaWJlciYmKHRoaXMudGVsZW1ldHJ5U3Vic2NyaWJlci51bnN1YnNjcmliZSgpLHRoaXMudGVsZW1ldHJ5U3Vic2NyaWJlcj1udWxsKSksdGhpcy5zZWxlY3Rpb24uY2xlYXIoKTtjb25zdCBvPW5ldyBGZTtyZXR1cm4gdGhpcy5mZXRjaEF0dHJpYnV0ZXMoZSx0LG4pLnBpcGUocWUoKCgpPT5JZShNKCkpKSkpLnN1YnNjcmliZSgoZT0+e3RoaXMuYXR0cmlidXRlc1N1YmplY3QubmV4dChlLmRhdGEpLHRoaXMucGFnZURhdGFTdWJqZWN0Lm5leHQoZSksby5uZXh0KGUpfSkpLG99ZmV0Y2hBdHRyaWJ1dGVzKGUsdCxuKXtyZXR1cm4gdGhpcy5nZXRBbGxBdHRyaWJ1dGVzKGUsdCkucGlwZShEZSgoZT0+e2NvbnN0IHQ9ZS5maWx0ZXIoKGU9PjAhPT1lLmxhc3RVcGRhdGVUcykpO3JldHVybiBuLmZpbHRlckRhdGEodCl9KSkpfWdldEFsbEF0dHJpYnV0ZXMoZSx0KXtpZighdGhpcy5hbGxBdHRyaWJ1dGVzKXtsZXQgbjtFLmdldCh0KT8odGhpcy50ZWxlbWV0cnlTdWJzY3JpYmVyPXEuY3JlYXRlRW50aXR5QXR0cmlidXRlc1N1YnNjcmlwdGlvbih0aGlzLnRlbGVtZXRyeVdzU2VydmljZSxlLHQsdGhpcy56b25lKSx0aGlzLnRlbGVtZXRyeVN1YnNjcmliZXIuc3Vic2NyaWJlKCksbj10aGlzLnRlbGVtZXRyeVN1YnNjcmliZXIuYXR0cmlidXRlRGF0YSQoKSk6bj10aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0RW50aXR5QXR0cmlidXRlcyhlLHQpLHRoaXMuYWxsQXR0cmlidXRlcz1uLnBpcGUoUGUoMSksR2UoKSl9cmV0dXJuIHRoaXMuYWxsQXR0cmlidXRlc31pc0FsbFNlbGVjdGVkKCl7Y29uc3QgZT10aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGg7cmV0dXJuIHRoaXMuYXR0cmlidXRlc1N1YmplY3QucGlwZShEZSgodD0+ZT09PXQubGVuZ3RoKSkpfWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5hdHRyaWJ1dGVzU3ViamVjdC5waXBlKERlKChlPT4hZS5sZW5ndGgpKSl9dG90YWwoKXtyZXR1cm4gdGhpcy5wYWdlRGF0YVN1YmplY3QucGlwZShEZSgoZT0+ZS50b3RhbEVsZW1lbnRzKSkpfW1hc3RlclRvZ2dsZSgpe3RoaXMuYXR0cmlidXRlc1N1YmplY3QucGlwZShFZSgoZT0+e3RoaXMuc2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aD09PWUubGVuZ3RoP3RoaXMuc2VsZWN0aW9uLmNsZWFyKCk6ZS5mb3JFYWNoKChlPT57dGhpcy5zZWxlY3Rpb24uc2VsZWN0KGUpfSkpfSkpLE9lKDEpKS5zdWJzY3JpYmUoKX19ZSgiQXR0cmlidXRlRGF0YXNvdXJjZSIsTGEpO2NsYXNzIEZhe2NvbnN0cnVjdG9yKGUpe3RoaXMuYXR0cmlidXRlU2VydmljZT1lLHRoaXMuc2F2ZVRlbXBsYXRlPW5ldyBpLHRoaXMudXNlVGVtcGxhdGU9bmV3IGksdGhpcy5vcmlnaW5hbE9yZGVyPSgpPT4wLHRoaXMuaXNPYmplY3Q9ZT0+b2UoZSksdGhpcy5pc0FycmF5PWU9PkFycmF5LmlzQXJyYXkoZSksdGhpcy5TTk1QTWV0aG9kc1RyYW5zbGF0aW9ucz10bn1uZ09uSW5pdCgpe31hcHBseVRlbXBsYXRlKGUsdCl7ZS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLnVzZVRlbXBsYXRlLmVtaXQodCl9ZGVsZXRlVGVtcGxhdGUoZSx0KXtlLnN0b3BQcm9wYWdhdGlvbigpO2NvbnN0IG49dGhpcy5ycGNUZW1wbGF0ZXMuZmluZEluZGV4KChlPT5lLm5hbWU9PXQubmFtZSkpO3RoaXMucnBjVGVtcGxhdGVzLnNwbGljZShuLDEpO2NvbnN0IGE9YCR7dGhpcy5jb25uZWN0b3JUeXBlfV90ZW1wbGF0ZWA7dGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNhdmVFbnRpdHlBdHRyaWJ1dGVzKHtpZDp0aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLnRhcmdldERldmljZUlkLGVudGl0eVR5cGU6SS5ERVZJQ0V9LEwuU0VSVkVSX1NDT1BFLFt7a2V5OmEsdmFsdWU6dGhpcy5ycGNUZW1wbGF0ZXN9XSkuc3Vic2NyaWJlKCgoKT0+e30pKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkZhLGRlcHM6W3t0b2tlbjpYLkF0dHJpYnV0ZVNlcnZpY2V9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOkZhLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LXNlcnZpY2UtcnBjLWNvbm5lY3Rvci10ZW1wbGF0ZXMiLGlucHV0czp7Y29ubmVjdG9yVHlwZToiY29ubmVjdG9yVHlwZSIsY3R4OiJjdHgiLHJwY1RlbXBsYXRlczoicnBjVGVtcGxhdGVzIn0sb3V0cHV0czp7c2F2ZVRlbXBsYXRlOiJzYXZlVGVtcGxhdGUiLHVzZVRlbXBsYXRlOiJ1c2VUZW1wbGF0ZSJ9LG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJtYXQtc3VidGl0bGUtMSB0aXRsZSI+e3sgXCdnYXRld2F5LnJwYy50ZW1wbGF0ZXMtdGl0bGVcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuPG1hdC1leHBhbnNpb24tcGFuZWwgaGlkZVRvZ2dsZSAqbmdGb3I9ImxldCB0ZW1wbGF0ZSBvZiBycGNUZW1wbGF0ZXMiPlxuICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgPG1hdC1wYW5lbC10aXRsZSBjbGFzcz0idGVtcGxhdGUtbmFtZSI+XG4gICAgICA8c3BhbiBtYXRUb29sdGlwPSJ7e3RlbXBsYXRlLm5hbWV9fSIgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+e3t0ZW1wbGF0ZS5uYW1lfX08L3NwYW4+XG4gICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgPG1hdC1wYW5lbC1kZXNjcmlwdGlvbj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIG1hdFRvb2x0aXA9IkRlbGV0ZSIgKGNsaWNrKT0iZGVsZXRlVGVtcGxhdGUoJGV2ZW50LCB0ZW1wbGF0ZSkiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRUb29sdGlwPSJVc2UiIChjbGljayk9ImFwcGx5VGVtcGxhdGUoJGV2ZW50LCB0ZW1wbGF0ZSkiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5wbGF5X2Fycm93PC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LXBhbmVsLWRlc2NyaXB0aW9uPlxuICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuXG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdGb3I9ImxldCBjb25maWcgb2YgdGVtcGxhdGUuY29uZmlnIHwga2V5VmFsdWVJc05vdEVtcHR5IlxuICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT0iUlBDVGVtcGxhdGVSZWYiXG4gICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT0ieyAkaW1wbGljaXQ6IGNvbmZpZywgaW5uZXJWYWx1ZTogZmFsc2UgfSI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI1JQQ1RlbXBsYXRlUmVmIGxldC1jb25maWcgbGV0LWlubmVyVmFsdWU9XCdpbm5lclZhbHVlXCc+XG4gICAgPGRpdiBbZnhMYXlvdXRdPSJpc09iamVjdChjb25maWcudmFsdWUpID8gXCdjb2x1bW5cJzogXCdyb3dcJyJcbiAgICAgICAgIFtmeExheW91dEFsaWduXT0iIWlzT2JqZWN0KGNvbmZpZy52YWx1ZSkgPyBcJ3NwYWNlLWJldHdlZW4gY2VudGVyXCcgOiBcJ1wnIlxuICAgICAgICAgW25nU3R5bGVdPSJ7XCdwYWRkaW5nLWxlZnRcJzogaW5uZXJWYWx1ZSA/IFwnMTZweFwnOiBcJzBcJ30iXG4gICAgICAgICBjbGFzcz0icnBjLXBhcmFtcy1yb3ciPlxuICAgICAgPGRpdiBjbGFzcz0idGVtcGxhdGUta2V5Ij5cbiAgICAgICAge3shaW5uZXJWYWx1ZSA/IChcJ2dhdGV3YXkucnBjLlwnICsgY29uZmlnLmtleSB8IHRyYW5zbGF0ZSkgOiBjb25maWcua2V5fX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj0iaXNBcnJheShjb25maWcudmFsdWUpIiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgY2xhc3M9ImFycmF5LXZhbHVlIj5cbiAgICAgICAge3sgY29uZmlnLnZhbHVlIHwgZ2V0UnBjVGVtcGxhdGVBcnJheVZpZXcgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iaXNPYmplY3QoY29uZmlnLnZhbHVlKSIgW25nVGVtcGxhdGVPdXRsZXRdPSJSUENPYmplY3RSb3ciPjwvbmctY29udGFpbmVyPlxuICAgICAgPGRpdiAqbmdJZj0iIWlzT2JqZWN0KGNvbmZpZy52YWx1ZSkgJiYgIWlzQXJyYXkoY29uZmlnLnZhbHVlKSJcbiAgICAgICAgICAgW25nQ2xhc3NdPSJ7XCdib29sZWFuLXRydWVcJzogY29uZmlnLnZhbHVlID09PSB0cnVlLFxuICAgICAgICAgICAgICAgICAgIFwnYm9vbGVhbi1mYWxzZVwnOiBjb25maWcudmFsdWUgPT09IGZhbHNlICB9Ij5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iY29uZmlnLmtleSA9PT0gXCdtZXRob2RcJyBlbHNlIHZhbHVlIiBbbmdUZW1wbGF0ZU91dGxldF09IlNOTVBNZXRob2QiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctdGVtcGxhdGUgI3ZhbHVlPnt7IGNvbmZpZy52YWx1ZSB9fTwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgI1NOTVBNZXRob2Q+e3sgU05NUE1ldGhvZHNUcmFuc2xhdGlvbnMuZ2V0KGNvbmZpZy52YWx1ZSkgfCB0cmFuc2xhdGUgfX08L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlICNSUENPYmplY3RSb3c+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdGb3I9ImxldCBzdWJDb25maWcgb2YgY29uZmlnLnZhbHVlIHwga2V5dmFsdWUgOiBvcmlnaW5hbE9yZGVyIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT0iUlBDVGVtcGxhdGVSZWYiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT0ieyAkaW1wbGljaXQ6IHN1YkNvbmZpZywgaW5uZXJWYWx1ZTogdHJ1ZSB9Ij5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwYWRkaW5nOjB9Omhvc3QgLnRpdGxle2ZvbnQtd2VpZ2h0OjUwMH06aG9zdCAudGVtcGxhdGUta2V5e2NvbG9yOiMwMDAwMDA2MTtoZWlnaHQ6MzJweDtsaW5lLWhlaWdodDozMnB4fTpob3N0IC5ib29sZWFuLXRydWUsOmhvc3QgLmJvb2xlYW4tZmFsc2V7Ym9yZGVyLXJhZGl1czozcHg7aGVpZ2h0OjMycHg7bGluZS1oZWlnaHQ6MzJweDtwYWRkaW5nOjAgMTJweDt3aWR0aDpmaXQtY29udGVudDtmb250LXNpemU6MTRweDt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplfTpob3N0IC5ib29sZWFuLWZhbHNle2NvbG9yOiNkMTI3MzA7YmFja2dyb3VuZC1jb2xvcjojZDEyNzMwMTR9Omhvc3QgLmJvb2xlYW4tdHJ1ZXtjb2xvcjojMTk4MDM4O2JhY2tncm91bmQtY29sb3I6IzE5ODAzODE0fTpob3N0IG1hdC1leHBhbnNpb24tcGFuZWx7bWFyZ2luLXRvcDoxMHB4O292ZXJmbG93OnZpc2libGV9Omhvc3QgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9ue2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tcmlnaHQ6MDtmbGV4OjB9Omhvc3QgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9uPm1hdC1pY29ue21hcmdpbi1sZWZ0OjE1cHg7Y29sb3I6IzAwMDAwMDYxfTpob3N0IC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcntwYWRkaW5nOjAgMCAwIDEycHh9Omhvc3QgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLm1hdC1leHBhbmRlZHtoZWlnaHQ6NDhweH06aG9zdCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgLm1hdC1jb250ZW50Lm1hdC1jb250ZW50LWhpZGUtdG9nZ2xle21hcmdpbi1yaWdodDowfTpob3N0IC5ycGMtcGFyYW1zLXJvd3tvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwfTpob3N0IC5ycGMtcGFyYW1zLXJvdyA6bm90KDpmaXJzdC1jaGlsZCl7d2hpdGUtc3BhY2U6cHJlO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfTpob3N0IC50ZW1wbGF0ZS1uYW1le292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2t9Omhvc3QgOjpuZy1kZWVwIC5tYXQtY29udGVudHthbGlnbi1pdGVtczpjZW50ZXJ9Omhvc3QgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRpdGxle2ZsZXg6MTttYXJnaW46MH06aG9zdCAuYXJyYXktdmFsdWV7bWFyZ2luLWxlZnQ6MTBweH1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nQ2xhc3Msc2VsZWN0b3I6IltuZ0NsYXNzXSIsaW5wdXRzOlsiY2xhc3MiLCJuZ0NsYXNzIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdUZW1wbGF0ZU91dGxldCxzZWxlY3RvcjoiW25nVGVtcGxhdGVPdXRsZXRdIixpbnB1dHM6WyJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCIsIm5nVGVtcGxhdGVPdXRsZXQiLCJuZ1RlbXBsYXRlT3V0bGV0SW5qZWN0b3IiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3R5bGUsc2VsZWN0b3I6IltuZ1N0eWxlXSIsaW5wdXRzOlsibmdTdHlsZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbCxzZWxlY3RvcjoibWF0LWV4cGFuc2lvbi1wYW5lbCIsaW5wdXRzOlsiaGlkZVRvZ2dsZSIsInRvZ2dsZVBvc2l0aW9uIl0sb3V0cHV0czpbImFmdGVyRXhwYW5kIiwiYWZ0ZXJDb2xsYXBzZSJdLGV4cG9ydEFzOlsibWF0RXhwYW5zaW9uUGFuZWwiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbEhlYWRlcixzZWxlY3RvcjoibWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIiLGlucHV0czpbImV4cGFuZGVkSGVpZ2h0IiwiY29sbGFwc2VkSGVpZ2h0IiwidGFiSW5kZXgiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbFRpdGxlLHNlbGVjdG9yOiJtYXQtcGFuZWwtdGl0bGUifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsRGVzY3JpcHRpb24sc2VsZWN0b3I6Im1hdC1wYW5lbC1kZXNjcmlwdGlvbiJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRBbGlnbkRpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRBbGlnbl0sIFtmeExheW91dEFsaWduLnhzXSwgW2Z4TGF5b3V0QWxpZ24uc21dLCBbZnhMYXlvdXRBbGlnbi5tZF0sICBbZnhMYXlvdXRBbGlnbi5sZ10sIFtmeExheW91dEFsaWduLnhsXSwgW2Z4TGF5b3V0QWxpZ24ubHQtc21dLCBbZnhMYXlvdXRBbGlnbi5sdC1tZF0sICBbZnhMYXlvdXRBbGlnbi5sdC1sZ10sIFtmeExheW91dEFsaWduLmx0LXhsXSwgW2Z4TGF5b3V0QWxpZ24uZ3QteHNdLCBbZnhMYXlvdXRBbGlnbi5ndC1zbV0sICBbZnhMYXlvdXRBbGlnbi5ndC1tZF0sIFtmeExheW91dEFsaWduLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRBbGlnbiIsImZ4TGF5b3V0QWxpZ24ueHMiLCJmeExheW91dEFsaWduLnNtIiwiZnhMYXlvdXRBbGlnbi5tZCIsImZ4TGF5b3V0QWxpZ24ubGciLCJmeExheW91dEFsaWduLnhsIiwiZnhMYXlvdXRBbGlnbi5sdC1zbSIsImZ4TGF5b3V0QWxpZ24ubHQtbWQiLCJmeExheW91dEFsaWduLmx0LWxnIiwiZnhMYXlvdXRBbGlnbi5sdC14bCIsImZ4TGF5b3V0QWxpZ24uZ3QteHMiLCJmeExheW91dEFsaWduLmd0LXNtIiwiZnhMYXlvdXRBbGlnbi5ndC1tZCIsImZ4TGF5b3V0QWxpZ24uZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRDbGFzc0RpcmVjdGl2ZSxzZWxlY3RvcjoiICBbbmdDbGFzc10sIFtuZ0NsYXNzLnhzXSwgW25nQ2xhc3Muc21dLCBbbmdDbGFzcy5tZF0sIFtuZ0NsYXNzLmxnXSwgW25nQ2xhc3MueGxdLCAgW25nQ2xhc3MubHQtc21dLCBbbmdDbGFzcy5sdC1tZF0sIFtuZ0NsYXNzLmx0LWxnXSwgW25nQ2xhc3MubHQteGxdLCAgW25nQ2xhc3MuZ3QteHNdLCBbbmdDbGFzcy5ndC1zbV0sIFtuZ0NsYXNzLmd0LW1kXSwgW25nQ2xhc3MuZ3QtbGddIixpbnB1dHM6WyJuZ0NsYXNzIiwibmdDbGFzcy54cyIsIm5nQ2xhc3Muc20iLCJuZ0NsYXNzLm1kIiwibmdDbGFzcy5sZyIsIm5nQ2xhc3MueGwiLCJuZ0NsYXNzLmx0LXNtIiwibmdDbGFzcy5sdC1tZCIsIm5nQ2xhc3MubHQtbGciLCJuZ0NsYXNzLmx0LXhsIiwibmdDbGFzcy5ndC14cyIsIm5nQ2xhc3MuZ3Qtc20iLCJuZ0NsYXNzLmd0LW1kIiwibmdDbGFzcy5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOksuRGVmYXVsdFN0eWxlRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtuZ1N0eWxlXSwgIFtuZ1N0eWxlLnhzXSwgW25nU3R5bGUuc21dLCBbbmdTdHlsZS5tZF0sIFtuZ1N0eWxlLmxnXSwgW25nU3R5bGUueGxdLCAgW25nU3R5bGUubHQtc21dLCBbbmdTdHlsZS5sdC1tZF0sIFtuZ1N0eWxlLmx0LWxnXSwgW25nU3R5bGUubHQteGxdLCAgW25nU3R5bGUuZ3QteHNdLCBbbmdTdHlsZS5ndC1zbV0sIFtuZ1N0eWxlLmd0LW1kXSwgW25nU3R5bGUuZ3QtbGddIixpbnB1dHM6WyJuZ1N0eWxlIiwibmdTdHlsZS54cyIsIm5nU3R5bGUuc20iLCJuZ1N0eWxlLm1kIiwibmdTdHlsZS5sZyIsIm5nU3R5bGUueGwiLCJuZ1N0eWxlLmx0LXNtIiwibmdTdHlsZS5sdC1tZCIsIm5nU3R5bGUubHQtbGciLCJuZ1N0eWxlLmx0LXhsIiwibmdTdHlsZS5ndC14cyIsIm5nU3R5bGUuZ3Qtc20iLCJuZ1N0eWxlLmd0LW1kIiwibmdTdHlsZS5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlllLlRydW5jYXRlV2l0aFRvb2x0aXBEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0b29sdGlwRW5hYmxlZCIsInBvc2l0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6U2Esc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0b29sdGlwRW5hYmxlZCIsInBvc2l0aW9uIl19LHtraW5kOiJwaXBlIix0eXBlOl8uS2V5VmFsdWVQaXBlLG5hbWU6ImtleXZhbHVlIn0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJwaXBlIix0eXBlOkNhLG5hbWU6ImdldFJwY1RlbXBsYXRlQXJyYXlWaWV3In1dfSl9fWUoIkdhdGV3YXlTZXJ2aWNlUlBDQ29ubmVjdG9yVGVtcGxhdGVzQ29tcG9uZW50IixGYSksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpGYSxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItZ2F0ZXdheS1zZXJ2aWNlLXJwYy1jb25uZWN0b3ItdGVtcGxhdGVzIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9Im1hdC1zdWJ0aXRsZS0xIHRpdGxlIj57eyBcJ2dhdGV3YXkucnBjLnRlbXBsYXRlcy10aXRsZVwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG48bWF0LWV4cGFuc2lvbi1wYW5lbCBoaWRlVG9nZ2xlICpuZ0Zvcj0ibGV0IHRlbXBsYXRlIG9mIHJwY1RlbXBsYXRlcyI+XG4gIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICA8bWF0LXBhbmVsLXRpdGxlIGNsYXNzPSJ0ZW1wbGF0ZS1uYW1lIj5cbiAgICAgIDxzcGFuIG1hdFRvb2x0aXA9Int7dGVtcGxhdGUubmFtZX19IiBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj57e3RlbXBsYXRlLm5hbWV9fTwvc3Bhbj5cbiAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICA8bWF0LXBhbmVsLWRlc2NyaXB0aW9uPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gbWF0VG9vbHRpcD0iRGVsZXRlIiAoY2xpY2spPSJkZWxldGVUZW1wbGF0ZSgkZXZlbnQsIHRlbXBsYXRlKSI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIG1hdFRvb2x0aXA9IlVzZSIgKGNsaWNrKT0iYXBwbHlUZW1wbGF0ZSgkZXZlbnQsIHRlbXBsYXRlKSI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPnBsYXlfYXJyb3c8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9tYXQtcGFuZWwtZGVzY3JpcHRpb24+XG4gIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0Zvcj0ibGV0IGNvbmZpZyBvZiB0ZW1wbGF0ZS5jb25maWcgfCBrZXlWYWx1ZUlzTm90RW1wdHkiXG4gICAgW25nVGVtcGxhdGVPdXRsZXRdPSJSUENUZW1wbGF0ZVJlZiJcbiAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPSJ7ICRpbXBsaWNpdDogY29uZmlnLCBpbm5lclZhbHVlOiBmYWxzZSB9Ij5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjUlBDVGVtcGxhdGVSZWYgbGV0LWNvbmZpZyBsZXQtaW5uZXJWYWx1ZT1cJ2lubmVyVmFsdWVcJz5cbiAgICA8ZGl2IFtmeExheW91dF09ImlzT2JqZWN0KGNvbmZpZy52YWx1ZSkgPyBcJ2NvbHVtblwnOiBcJ3Jvd1wnIlxuICAgICAgICAgW2Z4TGF5b3V0QWxpZ25dPSIhaXNPYmplY3QoY29uZmlnLnZhbHVlKSA/IFwnc3BhY2UtYmV0d2VlbiBjZW50ZXJcJyA6IFwnXCciXG4gICAgICAgICBbbmdTdHlsZV09IntcJ3BhZGRpbmctbGVmdFwnOiBpbm5lclZhbHVlID8gXCcxNnB4XCc6IFwnMFwnfSJcbiAgICAgICAgIGNsYXNzPSJycGMtcGFyYW1zLXJvdyI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0ZW1wbGF0ZS1rZXkiPlxuICAgICAgICB7eyFpbm5lclZhbHVlID8gKFwnZ2F0ZXdheS5ycGMuXCcgKyBjb25maWcua2V5IHwgdHJhbnNsYXRlKSA6IGNvbmZpZy5rZXl9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPSJpc0FycmF5KGNvbmZpZy52YWx1ZSkiIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCBjbGFzcz0iYXJyYXktdmFsdWUiPlxuICAgICAgICB7eyBjb25maWcudmFsdWUgfCBnZXRScGNUZW1wbGF0ZUFycmF5VmlldyB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJpc09iamVjdChjb25maWcudmFsdWUpIiBbbmdUZW1wbGF0ZU91dGxldF09IlJQQ09iamVjdFJvdyI+PC9uZy1jb250YWluZXI+XG4gICAgICA8ZGl2ICpuZ0lmPSIhaXNPYmplY3QoY29uZmlnLnZhbHVlKSAmJiAhaXNBcnJheShjb25maWcudmFsdWUpIlxuICAgICAgICAgICBbbmdDbGFzc109IntcJ2Jvb2xlYW4tdHJ1ZVwnOiBjb25maWcudmFsdWUgPT09IHRydWUsXG4gICAgICAgICAgICAgICAgICAgXCdib29sZWFuLWZhbHNlXCc6IGNvbmZpZy52YWx1ZSA9PT0gZmFsc2UgIH0iPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJjb25maWcua2V5ID09PSBcJ21ldGhvZFwnIGVsc2UgdmFsdWUiIFtuZ1RlbXBsYXRlT3V0bGV0XT0iU05NUE1ldGhvZCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjdmFsdWU+e3sgY29uZmlnLnZhbHVlIH19PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjU05NUE1ldGhvZD57eyBTTk1QTWV0aG9kc1RyYW5zbGF0aW9ucy5nZXQoY29uZmlnLnZhbHVlKSB8IHRyYW5zbGF0ZSB9fTwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgI1JQQ09iamVjdFJvdz5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0Zvcj0ibGV0IHN1YkNvbmZpZyBvZiBjb25maWcudmFsdWUgfCBrZXl2YWx1ZSA6IG9yaWdpbmFsT3JkZXIiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPSJSUENUZW1wbGF0ZVJlZiJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPSJ7ICRpbXBsaWNpdDogc3ViQ29uZmlnLCBpbm5lclZhbHVlOiB0cnVlIH0iPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L21hdC1leHBhbnNpb24tcGFuZWw+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MH06aG9zdCAudGl0bGV7Zm9udC13ZWlnaHQ6NTAwfTpob3N0IC50ZW1wbGF0ZS1rZXl7Y29sb3I6IzAwMDAwMDYxO2hlaWdodDozMnB4O2xpbmUtaGVpZ2h0OjMycHh9Omhvc3QgLmJvb2xlYW4tdHJ1ZSw6aG9zdCAuYm9vbGVhbi1mYWxzZXtib3JkZXItcmFkaXVzOjNweDtoZWlnaHQ6MzJweDtsaW5lLWhlaWdodDozMnB4O3BhZGRpbmc6MCAxMnB4O3dpZHRoOmZpdC1jb250ZW50O2ZvbnQtc2l6ZToxNHB4O3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemV9Omhvc3QgLmJvb2xlYW4tZmFsc2V7Y29sb3I6I2QxMjczMDtiYWNrZ3JvdW5kLWNvbG9yOiNkMTI3MzAxNH06aG9zdCAuYm9vbGVhbi10cnVle2NvbG9yOiMxOTgwMzg7YmFja2dyb3VuZC1jb2xvcjojMTk4MDM4MTR9Omhvc3QgbWF0LWV4cGFuc2lvbi1wYW5lbHttYXJnaW4tdG9wOjEwcHg7b3ZlcmZsb3c6dmlzaWJsZX06aG9zdCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb257ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2U7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbi1yaWdodDowO2ZsZXg6MH06aG9zdCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24+bWF0LWljb257bWFyZ2luLWxlZnQ6MTVweDtjb2xvcjojMDAwMDAwNjF9Omhvc3QgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVye3BhZGRpbmc6MCAwIDAgMTJweH06aG9zdCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIubWF0LWV4cGFuZGVke2hlaWdodDo0OHB4fTpob3N0IC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciAubWF0LWNvbnRlbnQubWF0LWNvbnRlbnQtaGlkZS10b2dnbGV7bWFyZ2luLXJpZ2h0OjB9Omhvc3QgLnJwYy1wYXJhbXMtcm93e292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXB9Omhvc3QgLnJwYy1wYXJhbXMtcm93IDpub3QoOmZpcnN0LWNoaWxkKXt3aGl0ZS1zcGFjZTpwcmU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Omhvc3QgLnRlbXBsYXRlLW5hbWV7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9ja306aG9zdCA6Om5nLWRlZXAgLm1hdC1jb250ZW50e2FsaWduLWl0ZW1zOmNlbnRlcn06aG9zdCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGV7ZmxleDoxO21hcmdpbjowfTpob3N0IC5hcnJheS12YWx1ZXttYXJnaW4tbGVmdDoxMHB4fVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6WC5BdHRyaWJ1dGVTZXJ2aWNlfV0scHJvcERlY29yYXRvcnM6e2Nvbm5lY3RvclR5cGU6W3t0eXBlOmF9XSxjdHg6W3t0eXBlOmF9XSxzYXZlVGVtcGxhdGU6W3t0eXBlOmx9XSx1c2VUZW1wbGF0ZTpbe3R5cGU6bH1dLHJwY1RlbXBsYXRlczpbe3R5cGU6YX1dfX0pO2NsYXNzIElhe2NvbnN0cnVjdG9yKGUpe3RoaXMuZmI9ZSx0aGlzLkJyb2tlclNlY3VyaXR5VHlwZT1kbix0aGlzLnNlY3VyaXR5VHlwZXM9T2JqZWN0LnZhbHVlcyhkbiksdGhpcy5TZWN1cml0eVR5cGVUcmFuc2xhdGlvbnNNYXA9dW4sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5wcm9wYWdhdGVDaGFuZ2U9ZT0+e30sdGhpcy5zZWN1cml0eUZvcm1Hcm91cD10aGlzLmZiLmdyb3VwKHt0eXBlOltkbi5BTk9OWU1PVVMsW11dLHVzZXJuYW1lOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxwYXNzd29yZDpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV19KSx0aGlzLm9ic2VydmVTZWN1cml0eUZvcm0oKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMucHJvcGFnYXRlQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7fXdyaXRlVmFsdWUoZSl7ZS50eXBlfHwoZS50eXBlPWRuLkFOT05ZTU9VUyksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC5yZXNldChlKSx0aGlzLnVwZGF0ZVZpZXcoZSl9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5zZWN1cml0eUZvcm1Hcm91cC52YWxpZD9udWxsOntzZWN1cml0eUZvcm06e3ZhbGlkOiExfX19dXBkYXRlVmlldyhlKXt0aGlzLnByb3BhZ2F0ZUNoYW5nZShlKX11cGRhdGVWYWxpZGF0b3JzKGUpe2U9PT1kbi5CQVNJQz8odGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoInVzZXJuYW1lIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgicGFzc3dvcmQiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pKToodGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoInVzZXJuYW1lIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoInBhc3N3b3JkIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpfW9ic2VydmVTZWN1cml0eUZvcm0oKXt0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9PnRoaXMudXBkYXRlVmlldyhlKSkpLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+dGhpcy51cGRhdGVWYWxpZGF0b3JzKGUpKSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpJYSxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOklhLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHkiLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PklhKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5JYSkpLG11bHRpOiEwfV0sbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gc2FtZS1wYWRkaW5nIHRiLWZsZXggY29sdW1uIiBbZm9ybUdyb3VwXT0ic2VjdXJpdHlGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHJvdyBzcGFjZS1iZXR3ZWVuIGFsaWduLWNlbnRlciBuby1nYXAgZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZmllbGRzLWxhYmVsIiB0cmFuc2xhdGU+Z2F0ZXdheS5zZWN1cml0eTwvZGl2PlxuICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNlY3VyaXR5VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICB7eyBTZWN1cml0eVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj0ic2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gQnJva2VyU2VjdXJpdHlUeXBlLkJBU0lDIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudXNlcm5hbWU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idXNlcm5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnVzZXJuYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndXNlcm5hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJiBzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd1c2VybmFtZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucGFzc3dvcmQ8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhc3N3b3JkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5wYXNzd29yZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8ZGl2IFtjbGFzcy5oaWRlLXRvZ2dsZV09InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiIG1hdFN1ZmZpeD5cbiAgICAgICAgICAgIDx0Yi10b2dnbGUtcGFzc3dvcmQgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0Ij48L3RiLXRvZ2dsZS1wYXNzd29yZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjEwcHh9Omhvc3QgLmZpZWxkcy1sYWJlbHtmb250LXdlaWdodDo1MDB9Omhvc3QgLmhpZGUtdG9nZ2xle2Rpc3BsYXk6bm9uZX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp0dC5Ub2dnbGVQYXNzd29yZENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXBhc3N3b3JkIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpudC5Ub2dnbGVPcHRpb24sc2VsZWN0b3I6InRiLXRvZ2dsZS1vcHRpb24iLGlucHV0czpbInZhbHVlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YXQuVG9nZ2xlU2VsZWN0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi10b2dnbGUtc2VsZWN0IixpbnB1dHM6WyJkaXNhYmxlZCIsInNlbGVjdE1lZGlhQnJlYWtwb2ludCIsImFwcGVhcmFuY2UiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImZpbGxIZWlnaHQiLCJleHRyYVBhZGRpbmciLCJwcmltYXJ5QmFja2dyb3VuZCJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19dC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpJYSxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHkiLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5JYSkpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+SWEpKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbRCxIXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gc2FtZS1wYWRkaW5nIHRiLWZsZXggY29sdW1uIiBbZm9ybUdyb3VwXT0ic2VjdXJpdHlGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHJvdyBzcGFjZS1iZXR3ZWVuIGFsaWduLWNlbnRlciBuby1nYXAgZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZmllbGRzLWxhYmVsIiB0cmFuc2xhdGU+Z2F0ZXdheS5zZWN1cml0eTwvZGl2PlxuICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNlY3VyaXR5VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICB7eyBTZWN1cml0eVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj0ic2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gQnJva2VyU2VjdXJpdHlUeXBlLkJBU0lDIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudXNlcm5hbWU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idXNlcm5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnVzZXJuYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndXNlcm5hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJiBzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd1c2VybmFtZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucGFzc3dvcmQ8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhc3N3b3JkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5wYXNzd29yZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8ZGl2IFtjbGFzcy5oaWRlLXRvZ2dsZV09InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiIG1hdFN1ZmZpeD5cbiAgICAgICAgICAgIDx0Yi10b2dnbGUtcGFzc3dvcmQgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0Ij48L3RiLXRvZ2dsZS1wYXNzd29yZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjEwcHh9Omhvc3QgLmZpZWxkcy1sYWJlbHtmb250LXdlaWdodDo1MDB9Omhvc3QgLmhpZGUtdG9nZ2xle2Rpc3BsYXk6bm9uZX1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfV19KTtjbGFzcyBBYXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuZmI9ZSx0aGlzLmRpYWxvZz10LHRoaXMuc2VuZENvbW1hbmQ9bmV3IGksdGhpcy5zYXZlVGVtcGxhdGU9bmV3IGksdGhpcy5Db25uZWN0b3JUeXBlPV90LHRoaXMuYkFDbmV0UmVxdWVzdFR5cGVzPU9iamVjdC52YWx1ZXMoV3QpLHRoaXMuYkFDbmV0T2JqZWN0VHlwZXM9T2JqZWN0LnZhbHVlcyhLdCksdGhpcy5iTEVNZXRob2RzPU9iamVjdC52YWx1ZXMoWXQpLHRoaXMuY0FOQnl0ZU9yZGVycz1PYmplY3QudmFsdWVzKEp0KSx0aGlzLnNvY2tldE1ldGhvZFByb2Nlc3NpbmdzPU9iamVjdC52YWx1ZXMoWHQpLHRoaXMuc29ja2V0RW5jb2RpbmdzPU9iamVjdC52YWx1ZXMoYW4pLHRoaXMuc05NUE1ldGhvZHM9T2JqZWN0LnZhbHVlcyhlbiksdGhpcy5oVFRQTWV0aG9kcz1PYmplY3QudmFsdWVzKG5uKSx0aGlzLmJBQ25ldFJlcXVlc3RUeXBlc1RyYW5zbGF0ZXM9anQsdGhpcy5iQUNuZXRPYmplY3RUeXBlc1RyYW5zbGF0ZXM9JHQsdGhpcy5iTEVNZXRob2RzVHJhbnNsYXRlcz1RdCx0aGlzLlNvY2tldE1ldGhvZFByb2Nlc3NpbmdzVHJhbnNsYXRlcz1adCx0aGlzLlNOTVBNZXRob2RzVHJhbnNsYXRpb25zPXRuLHRoaXMuZ2F0ZXdheUNvbm5lY3RvckRlZmF1bHRUeXBlc1RyYW5zbGF0ZXM9SHQsdGhpcy51cmxQYXR0ZXJuPS9eWy1hLXpBLVpkXyQ6e30/fis9XC8uMC05LV0qJC8sdGhpcy5udW1iZXJzT25seVBhdHRlcm49L15bMC05XSokLyx0aGlzLmhleE9ubHlQYXR0ZXJuPS9eWzAtOUEtRmEtZiBdKyQvLHRoaXMucHJvcGFnYXRlQ2hhbmdlPWU9Pnt9LHRoaXMuZGVzdHJveSQ9bmV3IFNlfW5nT25Jbml0KCl7dGhpcy5jb21tYW5kRm9ybT10aGlzLmNvbm5lY3RvclBhcmFtc0Zvcm1Hcm91cEJ5VHlwZSh0aGlzLmNvbm5lY3RvclR5cGUpLHRoaXMuY29tbWFuZEZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoZT0+e2NvbnN0IHQ9e307c3dpdGNoKHRoaXMuY29ubmVjdG9yVHlwZSl7Y2FzZSBfdC5SRVNUOmNhc2UgX3QuUkVRVUVTVDplLmh0dHBIZWFkZXJzLmZvckVhY2goKGU9Pnt0W2UuaGVhZGVyTmFtZV09ZS52YWx1ZX0pKSxlLmh0dHBIZWFkZXJzPXR9dGhpcy5jb21tYW5kRm9ybS52YWxpZCYmdGhpcy5wcm9wYWdhdGVDaGFuZ2Uoey4uLnRoaXMuY29tbWFuZEZvcm0udmFsdWUsLi4uZX0pfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfWNvbm5lY3RvclBhcmFtc0Zvcm1Hcm91cEJ5VHlwZShlKXtsZXQgdDtzd2l0Y2goZSl7Y2FzZSBfdC5CQUNORVQ6dD10aGlzLmZiLmdyb3VwKHttZXRob2Q6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVxdWVzdFR5cGU6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVxdWVzdFRpbWVvdXQ6W251bGwsW3VlLnJlcXVpcmVkLHVlLm1pbigxMCksdWUucGF0dGVybih0aGlzLm51bWJlcnNPbmx5UGF0dGVybildXSxvYmplY3RUeXBlOltudWxsLFtdXSxpZGVudGlmaWVyOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybih0aGlzLm51bWJlcnNPbmx5UGF0dGVybildXSxwcm9wZXJ0eUlkOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dfSk7YnJlYWs7Y2FzZSBfdC5CTEU6dD10aGlzLmZiLmdyb3VwKHttZXRob2RSUEM6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sY2hhcmFjdGVyaXN0aWNVVUlEOlsiMDAwMDJBMDAtMDAwMC0xMDAwLTgwMDAtMDA4MDVGOUIzNEZCIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxtZXRob2RQcm9jZXNzaW5nOltudWxsLFt1ZS5yZXF1aXJlZF1dLHdpdGhSZXNwb25zZTpbITEsW11dfSk7YnJlYWs7Y2FzZSBfdC5DQU46dD10aGlzLmZiLmdyb3VwKHttZXRob2Q6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sbm9kZUlEOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMCksdWUucGF0dGVybih0aGlzLm51bWJlcnNPbmx5UGF0dGVybildXSxpc0V4dGVuZGVkSUQ6WyExLFtdXSxpc0ZEOlshMSxbXV0sYml0cmF0ZVN3aXRjaDpbITEsW11dLGRhdGFMZW5ndGg6W251bGwsW3VlLm1pbigxKSx1ZS5wYXR0ZXJuKHRoaXMubnVtYmVyc09ubHlQYXR0ZXJuKV1dLGRhdGFCeXRlb3JkZXI6W251bGwsW11dLGRhdGFCZWZvcmU6W251bGwsW3VlLnBhdHRlcm4oa3QpLHVlLnBhdHRlcm4odGhpcy5oZXhPbmx5UGF0dGVybildXSxkYXRhQWZ0ZXI6W251bGwsW3VlLnBhdHRlcm4oa3QpLHVlLnBhdHRlcm4odGhpcy5oZXhPbmx5UGF0dGVybildXSxkYXRhSW5IRVg6W251bGwsW3VlLnBhdHRlcm4oa3QpLHVlLnBhdHRlcm4odGhpcy5oZXhPbmx5UGF0dGVybildXSxkYXRhRXhwcmVzc2lvbjpbbnVsbCxbdWUucGF0dGVybihrdCldXX0pO2JyZWFrO2Nhc2UgX3QuRlRQOnQ9dGhpcy5mYi5ncm91cCh7bWV0aG9kRmlsdGVyOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHZhbHVlRXhwcmVzc2lvbjpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXX0pO2JyZWFrO2Nhc2UgX3QuT0NQUDp0PXRoaXMuZmIuZ3JvdXAoe21ldGhvZFJQQzpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx2YWx1ZUV4cHJlc3Npb246W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sd2l0aFJlc3BvbnNlOlshMSxbXV19KTticmVhaztjYXNlIF90LlNPQ0tFVDp0PXRoaXMuZmIuZ3JvdXAoe21ldGhvZFJQQzpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxtZXRob2RQcm9jZXNzaW5nOltudWxsLFt1ZS5yZXF1aXJlZF1dLGVuY29kaW5nOlthbi5VVEZfOCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx3aXRoUmVzcG9uc2U6WyExLFtdXX0pO2JyZWFrO2Nhc2UgX3QuWE1QUDp0PXRoaXMuZmIuZ3JvdXAoe21ldGhvZFJQQzpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx2YWx1ZUV4cHJlc3Npb246W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sd2l0aFJlc3BvbnNlOlshMSxbXV19KTticmVhaztjYXNlIF90LlNOTVA6dD10aGlzLmZiLmdyb3VwKHtyZXF1ZXN0RmlsdGVyOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLG1ldGhvZDpbbnVsbCxbdWUucmVxdWlyZWRdXSx3aXRoUmVzcG9uc2U6WyExLFtdXSxvaWQ6dGhpcy5mYi5hcnJheShbXSxbdWUucmVxdWlyZWRdKX0pO2JyZWFrO2Nhc2UgX3QuUkVTVDp0PXRoaXMuZmIuZ3JvdXAoe21ldGhvZEZpbHRlcjpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxodHRwTWV0aG9kOltudWxsLFt1ZS5yZXF1aXJlZF1dLHJlcXVlc3RVcmxFeHByZXNzaW9uOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKHRoaXMudXJsUGF0dGVybildXSxyZXNwb25zZVRpbWVvdXQ6W251bGwsW3VlLnJlcXVpcmVkLHVlLm1pbigxMCksdWUucGF0dGVybih0aGlzLm51bWJlcnNPbmx5UGF0dGVybildXSx0aW1lb3V0OltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMTApLHVlLnBhdHRlcm4odGhpcy5udW1iZXJzT25seVBhdHRlcm4pXV0sdHJpZXM6W251bGwsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5wYXR0ZXJuKHRoaXMubnVtYmVyc09ubHlQYXR0ZXJuKV1dLHZhbHVlRXhwcmVzc2lvbjpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxodHRwSGVhZGVyczp0aGlzLmZiLmFycmF5KFtdKSxzZWN1cml0eTpbe30sW3VlLnJlcXVpcmVkXV19KTticmVhaztjYXNlIF90LlJFUVVFU1Q6dD10aGlzLmZiLmdyb3VwKHttZXRob2RGaWx0ZXI6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0saHR0cE1ldGhvZDpbbnVsbCxbdWUucmVxdWlyZWRdXSxyZXF1ZXN0VXJsRXhwcmVzc2lvbjpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybih0aGlzLnVybFBhdHRlcm4pXV0scmVzcG9uc2VUaW1lb3V0OltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMTApLHVlLnBhdHRlcm4odGhpcy5udW1iZXJzT25seVBhdHRlcm4pXV0sdGltZW91dDpbbnVsbCxbdWUucmVxdWlyZWQsdWUubWluKDEwKSx1ZS5wYXR0ZXJuKHRoaXMubnVtYmVyc09ubHlQYXR0ZXJuKV1dLHRyaWVzOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybih0aGlzLm51bWJlcnNPbmx5UGF0dGVybildXSxyZXF1ZXN0VmFsdWVFeHByZXNzaW9uOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHJlc3BvbnNlVmFsdWVFeHByZXNzaW9uOltudWxsLFt1ZS5wYXR0ZXJuKGt0KV1dLGh0dHBIZWFkZXJzOnRoaXMuZmIuYXJyYXkoW10pfSk7YnJlYWs7ZGVmYXVsdDp0PXRoaXMuZmIuZ3JvdXAoe2NvbW1hbmQ6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scGFyYW1zOlt7fSxbSXRdXX0pfXJldHVybiB0fWFkZFNOTVBvaWQoZT1udWxsKXtjb25zdCB0PXRoaXMuY29tbWFuZEZvcm0uZ2V0KCJvaWQiKTt0JiZ0LnB1c2godGhpcy5mYi5jb250cm9sKGUsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXSkse2VtaXRFdmVudDohMX0pfXJlbW92ZVNOTVBvaWQoZSl7dGhpcy5jb21tYW5kRm9ybS5nZXQoIm9pZCIpLnJlbW92ZUF0KGUpfWFkZEhUVFBIZWFkZXIoZT17aGVhZGVyTmFtZTpudWxsLHZhbHVlOm51bGx9KXtjb25zdCB0PXRoaXMuY29tbWFuZEZvcm0uZ2V0KCJodHRwSGVhZGVycyIpLG49dGhpcy5mYi5ncm91cCh7aGVhZGVyTmFtZTpbZS5oZWFkZXJOYW1lLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHZhbHVlOltlLnZhbHVlLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dfSk7dCYmdC5wdXNoKG4se2VtaXRFdmVudDohMX0pfXJlbW92ZUhUVFBIZWFkZXIoZSl7dGhpcy5jb21tYW5kRm9ybS5nZXQoImh0dHBIZWFkZXJzIikucmVtb3ZlQXQoZSl9Z2V0Rm9ybUFycmF5Q29udHJvbHMoZSl7cmV0dXJuIHRoaXMuY29tbWFuZEZvcm0uZ2V0KGUpLmNvbnRyb2xzfW9wZW5FZGl0SlNPTkRpYWxvZyhlKXtlJiZlLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuZGlhbG9nLm9wZW4oUWUse2Rpc2FibGVDbG9zZTohMCxwYW5lbENsYXNzOlsidGItZGlhbG9nIiwidGItZnVsbHNjcmVlbi1kaWFsb2ciXSxkYXRhOntqc29uVmFsdWU6dGhpcy5jb21tYW5kRm9ybS5nZXQoInBhcmFtcyIpLnZhbHVlLHJlcXVpcmVkOiEwfX0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChlPT57ZSYmdGhpcy5jb21tYW5kRm9ybS5nZXQoInBhcmFtcyIpLnNldFZhbHVlKGUpfSkpfXNhdmUoKXt0aGlzLnNhdmVUZW1wbGF0ZS5lbWl0KCl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLnByb3BhZ2F0ZUNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe31jbGVhckZyb21BcnJheUJ5TmFtZShlKXtjb25zdCB0PXRoaXMuY29tbWFuZEZvcm0uZ2V0KGUpO2Zvcig7MCE9PXQubGVuZ3RoOyl0LnJlbW92ZUF0KDApfXdyaXRlVmFsdWUoZSl7aWYoIm9iamVjdCI9PXR5cGVvZiBlKXtzd2l0Y2goZT1KKGUpLHRoaXMuY29ubmVjdG9yVHlwZSl7Y2FzZSBfdC5TTk1QOnRoaXMuY2xlYXJGcm9tQXJyYXlCeU5hbWUoIm9pZCIpLGUub2lkLmZvckVhY2goKGU9Pnt0aGlzLmFkZFNOTVBvaWQoZSl9KSksZGVsZXRlIGUub2lkO2JyZWFrO2Nhc2UgX3QuUkVRVUVTVDpjYXNlIF90LlJFU1Q6dGhpcy5jbGVhckZyb21BcnJheUJ5TmFtZSgiaHR0cEhlYWRlcnMiKSxlLmh0dHBIZWFkZXJzJiZPYmplY3QuZW50cmllcyhlLmh0dHBIZWFkZXJzKS5mb3JFYWNoKChlPT57dGhpcy5hZGRIVFRQSGVhZGVyKHtoZWFkZXJOYW1lOmVbMF0sdmFsdWU6ZVsxXX0pfSkpLGRlbGV0ZSBlLmh0dHBIZWFkZXJzfXRoaXMuY29tbWFuZEZvcm0ucGF0Y2hWYWx1ZShlLHtvbmx5U2VsZjohMX0pfX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkFhLGRlcHM6W3t0b2tlbjptZS5Gb3JtQnVpbGRlcn0se3Rva2VuOkplLk1hdERpYWxvZ31dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6QWEsc2VsZWN0b3I6InRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yIixpbnB1dHM6e2Nvbm5lY3RvclR5cGU6ImNvbm5lY3RvclR5cGUifSxvdXRwdXRzOntzZW5kQ29tbWFuZDoic2VuZENvbW1hbmQiLHNhdmVUZW1wbGF0ZToic2F2ZVRlbXBsYXRlIn0scHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+QWEpKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iIGNsYXNzPSJjb21tYW5kLWZvcm0iIFtmb3JtR3JvdXBdPSJjb21tYW5kRm9ybSI+XG4gIDxkaXZcbiAgICBjbGFzcz0ibWF0LXN1YnRpdGxlLTEgdGl0bGUiPnt7IFwnZ2F0ZXdheS5ycGMudGl0bGVcJyB8IHRyYW5zbGF0ZToge3R5cGU6IGdhdGV3YXlDb25uZWN0b3JEZWZhdWx0VHlwZXNUcmFuc2xhdGVzLmdldChjb25uZWN0b3JUeXBlKX0gfX08L2Rpdj5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT0iY29ubmVjdG9yVHlwZSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJjb25uZWN0b3JUeXBlIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5CQUNORVQiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFJQQ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIiBwbGFjZWhvbGRlcj0ic2V0X3N0YXRlIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdFR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icmVxdWVzdFR5cGUiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBiQUNuZXRSZXF1ZXN0VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICB7e2JBQ25ldFJlcXVlc3RUeXBlc1RyYW5zbGF0ZXMuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdFRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RUaW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgIG1pbj0iMTAiIHN0ZXA9IjEiIHBsYWNlaG9sZGVyPSIxMDAwIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4Ij5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCIgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMub2JqZWN0VHlwZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9Im9iamVjdFR5cGUiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGJBQ25ldE9iamVjdFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICB7e2JBQ25ldE9iamVjdFR5cGVzVHJhbnNsYXRlcy5nZXQodHlwZSkgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuaWRlbnRpZmllclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJpZGVudGlmaWVyIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgbWluPSIxIiBzdGVwPSIxIiBwbGFjZWhvbGRlcj0iMSIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnByb3BlcnR5SWRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InByb3BlcnR5SWQiIHBsYWNlaG9sZGVyPSJwcmVzZW50VmFsdWUiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuQkxFIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RSUENcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZFJQQyIgcGxhY2Vob2xkZXI9InJwY01ldGhvZDEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5jaGFyYWN0ZXJpc3RpY1VVSURcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImNoYXJhY3RlcmlzdGljVVVJRCIgcGxhY2Vob2xkZXI9IjAwMDAyQTAwLTAwMDAtMTAwMC04MDAwLTAwODA1RjlCMzRGQiIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFByb2Nlc3NpbmdcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kUHJvY2Vzc2luZyI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGJMRU1ldGhvZHMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICB7e2JMRU1ldGhvZHNUcmFuc2xhdGVzLmdldCh0eXBlKSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLkNBTiI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiIHBsYWNlaG9sZGVyPSJzZW5kU2FtZURhdGEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5ub2RlSURcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im5vZGVJRCIgdHlwZT0ibnVtYmVyIiBwbGFjZWhvbGRlcj0iNCIgbWluPSIwIiBzdGVwPSIxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9ImlzRXh0ZW5kZWRJRCI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy5pc0V4dGVuZGVkSURcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9ImlzRkQiPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMuaXNGRFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0iYml0cmF0ZVN3aXRjaCI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy5iaXRyYXRlU3dpdGNoXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFMZW5ndGhcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUxlbmd0aCIgdHlwZT0ibnVtYmVyIiBwbGFjZWhvbGRlcj0iMiIgbWluPSIxIiBzdGVwPSIxIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayIgZnhGbGV4PSI1MCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuZGF0YUJ5dGVvcmRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRhdGFCeXRlb3JkZXIiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBvcmRlciBvZiBjQU5CeXRlT3JkZXJzIiBbdmFsdWVdPSJvcmRlciI+XG4gICAgICAgICAgICAgICAge3sgb3JkZXIgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFCZWZvcmVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUJlZm9yZSIgcGxhY2Vob2xkZXI9IjAwQUEiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjUwIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5kYXRhQWZ0ZXJcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUFmdGVyIiBwbGFjZWhvbGRlcj0iMDEwMiIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFJbkhFWFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUluSEVYIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iYWEgYmIgY2MgZGQgZWUgZmYgICBhYSBiYiBhYSBiYiBjYyBkIGVlIGZmIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuZGF0YUV4cHJlc3Npb25cJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImRhdGFFeHByZXNzaW9uIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0idXNlclNwZWVkIGlmIG1heEFsbG93ZWRTcGVlZCA+IHVzZXJTcGVlZCBlbHNlIG1heEFsbG93ZWRTcGVlZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5GVFAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIiBwbGFjZWhvbGRlcj0icmVhZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnZhbHVlRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLk9DUFAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFJQQ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kUlBDIiBwbGFjZWhvbGRlcj0icnBjMSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnZhbHVlRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLlNPQ0tFVCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RSUEMiIHBsYWNlaG9sZGVyPSJycGNNZXRob2QxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUHJvY2Vzc2luZ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RQcm9jZXNzaW5nIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBzb2NrZXRNZXRob2RQcm9jZXNzaW5ncyIgW3ZhbHVlXT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAge3sgU29ja2V0TWV0aG9kUHJvY2Vzc2luZ3NUcmFuc2xhdGVzLmdldChtZXRob2QpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmVuY29kaW5nXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJlbmNvZGluZyIgcGxhY2Vob2xkZXI9Int7c29ja2V0RW5jb2RpbmdzWzBdfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0id2l0aFJlc3BvbnNlIj5cbiAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLndpdGhSZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuWE1QUCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RSUEMiIHBsYWNlaG9sZGVyPSJycGMxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSIke3BhcmFtc30iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0id2l0aFJlc3BvbnNlIj5cbiAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLndpdGhSZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuU05NUCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVxdWVzdEZpbHRlciIgcGxhY2Vob2xkZXI9InNldERhdGEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBzTk1QTWV0aG9kcyIgW3ZhbHVlXT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAge3sgU05NUE1ldGhvZHNUcmFuc2xhdGlvbnMuZ2V0KG1ldGhvZCkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZmllbGRzIGJvcmRlciIgZnhMYXlvdXQ9ImNvbHVtbiIgZnhMYXlvdXRHYXA9IjEwcHgiIGZvcm1BcnJheU5hbWU9Im9pZCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkcy1sYWJlbCI+e3sgXCdnYXRld2F5LnJwYy5vaWRzXCcgfCB0cmFuc2xhdGUgfX0qPC9zcGFuPlxuICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgICAgICAgKm5nRm9yPSJsZXQgY29udHJvbCBvZiBnZXRGb3JtQXJyYXlDb250cm9scyhcJ29pZFwnKTsgbGV0IGkgPSBpbmRleCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWlubGluZS1maWVsZCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4IHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPSJjb250cm9sIiByZXF1aXJlZC8+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1pY29uIHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PSIzMHB4IlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9InJlbW92ZVNOTVBvaWQoaSkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LnJwYy5yZW1vdmVcJyB8IHRyYW5zbGF0ZSB9fSI+ZGVsZXRlXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgIGZ4RmxleEFsaWduPSJzdGFydCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9ImFkZFNOTVBvaWQoKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmFkZC1vaWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5SRVNUIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RGaWx0ZXJcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZEZpbHRlciIgcGxhY2Vob2xkZXI9InBvc3RfYXR0cmlidXRlcyIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmh0dHBNZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJodHRwTWV0aG9kIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbWV0aG9kIG9mIGhUVFBNZXRob2RzIiBbdmFsdWVdPSJtZXRob2QiPlxuICAgICAgICAgICAgICAgIHt7IG1ldGhvZCB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlcXVlc3RVcmxFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RVcmxFeHByZXNzaW9uIlxuICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJodHRwOi8vMTI3LjAuMC4xOjUwMDAvbXlfZGV2aWNlcyIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlc3BvbnNlVGltZW91dFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRpbWVvdXQiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgICAgICAgICBzdGVwPSIxIiBtaW49IjEwIiBwbGFjZWhvbGRlcj0iMTAiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudGltZW91dFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ0aW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgc3RlcD0iMSIgbWluPSIxMCIgcGxhY2Vob2xkZXI9IjEwMDAiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudHJpZXNcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idHJpZXMiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgICAgICAgICBzdGVwPSIxIiBtaW49IjEiIHBsYWNlaG9sZGVyPSIzIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSIke3BhcmFtc30iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmaWVsZHMgYm9yZGVyIiBmeExheW91dD0iY29sdW1uIiBmeExheW91dEdhcD0iMTBweCIgZm9ybUFycmF5TmFtZT0iaHR0cEhlYWRlcnMiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZHMtbGFiZWwiPnt7IFwnZ2F0ZXdheS5ycGMuaHR0cEhlYWRlcnNcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJib3JkZXIiIGZ4TGF5b3V0PSJjb2x1bW4iIGZ4TGF5b3V0R2FwPSIxMHB4IiAqbmdJZj0iZ2V0Rm9ybUFycmF5Q29udHJvbHMoXCdodHRwSGVhZGVyc1wnKS5sZW5ndGgiPlxuICAgICAgICAgICAgPGRpdiBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciI+XG4gICAgICAgICAgICAgIDxzcGFuIGZ4RmxleCBjbGFzcz0idGl0bGUiPnt7IFwnZ2F0ZXdheS5ycGMuaGVhZGVyLW5hbWVcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gZnhGbGV4IGNsYXNzPSJ0aXRsZSI+e3sgXCdnYXRld2F5LnJwYy52YWx1ZVwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBmeEZsZXg9IjMwcHgiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgICAgKm5nRm9yPSJsZXQgY29udHJvbCBvZiBnZXRGb3JtQXJyYXlDb250cm9scyhcJ2h0dHBIZWFkZXJzXCcpOyBsZXQgaSA9IGluZGV4Ij5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwTmFtZV09ImkiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBmeEZsZXg+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJoZWFkZXJOYW1lIi8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4PlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWUiIHBsYWNlaG9sZGVyPSJhcHBsaWNhdGlvbi9qc29uIi8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PSIzMHB4IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJyZW1vdmVIVFRQSGVhZGVyKGkpIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkucnBjLnJlbW92ZVwnIHwgdHJhbnNsYXRlIH19Ij5kZWxldGVcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgIGZ4RmxleEFsaWduPSJzdGFydCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9ImFkZEhUVFBIZWFkZXIoKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmFkZC1oZWFkZXJcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgICA8dGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHkgW2Zvcm1Db250cm9sXT0iY29tbWFuZEZvcm0uZ2V0KFwnc2VjdXJpdHlcJykiPjwvdGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHk+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLlJFUVVFU1QiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIiBwbGFjZWhvbGRlcj0iZWNobyIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmh0dHBNZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJodHRwTWV0aG9kIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbWV0aG9kIG9mIGhUVFBNZXRob2RzIiBbdmFsdWVdPSJtZXRob2QiPlxuICAgICAgICAgICAgICAgIHt7IG1ldGhvZCB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlcXVlc3RVcmxFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RVcmxFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iaHR0cDovLzEyNy4wLjAuMTo1MDAwL215X2RldmljZXMiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRHYXA9IjEwcHgiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjMzIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXNwb25zZVRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUaW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgc3RlcD0iMSIgbWluPSIxMCIgcGxhY2Vob2xkZXI9IjEwIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idGltZW91dCIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgIHN0ZXA9IjEiIG1pbj0iMTAiIHBsYWNlaG9sZGVyPSIxMCIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy50cmllc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ0cmllcyIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgIHN0ZXA9IjEiIG1pbj0iMSIgcGxhY2Vob2xkZXI9IjEiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXF1ZXN0VmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0VmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVzcG9uc2VWYWx1ZUV4cHJlc3Npb25cJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlc3BvbnNlVmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHt0ZW1wfSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZpZWxkcyBib3JkZXIiIGZ4TGF5b3V0PSJjb2x1bW4iIGZ4TGF5b3V0R2FwPSIxMHB4IiBmb3JtQXJyYXlOYW1lPSJodHRwSGVhZGVycyI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkcy1sYWJlbCI+e3sgXCdnYXRld2F5LnJwYy5odHRwSGVhZGVyc1wnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImJvcmRlciIgZnhMYXlvdXQ9ImNvbHVtbiIgZnhMYXlvdXRHYXA9IjEwcHgiICpuZ0lmPSJnZXRGb3JtQXJyYXlDb250cm9scyhcJ2h0dHBIZWFkZXJzXCcpLmxlbmd0aCI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIj5cbiAgICAgICAgICAgICAgPHNwYW4gZnhGbGV4IGNsYXNzPSJ0aXRsZSI+e3sgXCdnYXRld2F5LnJwYy5oZWFkZXItbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBmeEZsZXggY2xhc3M9InRpdGxlIj57eyBcJ2dhdGV3YXkucnBjLnZhbHVlXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGZ4RmxleD0iMzBweCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgICAgICAgICAqbmdGb3I9ImxldCBjb250cm9sIG9mIGdldEZvcm1BcnJheUNvbnRyb2xzKFwnaHR0cEhlYWRlcnNcJyk7IGxldCBpID0gaW5kZXgiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBOYW1lXT0iaSI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGZ4RmxleD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImhlYWRlck5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkucnBjLnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4PlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWUiLz5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBmeEZsZXg9IjMwcHgiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9InJlbW92ZUhUVFBIZWFkZXIoaSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5ycGMucmVtb3ZlXCcgfCB0cmFuc2xhdGUgfX0iPmRlbGV0ZVxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgZnhGbGV4QWxpZ249InN0YXJ0IlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iYWRkSFRUUEhlYWRlcigpIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMuYWRkLWhlYWRlclwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIG5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY29tbWFuZFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iY29tbWFuZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCd3aWRnZXQtY29uZmlnLmRhdGFzb3VyY2UtcGFyYW1ldGVyc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icGFyYW1zIiB0eXBlPSJKU09OIiB0Yi1qc29uLXRvLXN0cmluZy8+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCIgYXJpYS1oaWRkZW49ImZhbHNlIiBhcmlhLWxhYmVsPSJoZWxwLWljb24iXG4gICAgICAgICAgICAgICAgICAgIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ib3BlbkVkaXRKU09ORGlhbG9nKCRldmVudCkiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1lZGl0LXBhcmFtc1wnIHwgdHJhbnNsYXRlIH19Ij5lZGl0XG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb21tYW5kRm9ybS5nZXQoXCdwYXJhbXNcJykuaGFzRXJyb3IoXCdpbnZhbGlkSlNPTlwnKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmpzb24tdmFsdWUtaW52YWxpZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPSJ0ZW1wbGF0ZS1hY3Rpb25zIiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciIgZnhMYXlvdXRHYXA9IjEwcHgiPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9InNhdmUoKSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09ImNvbW1hbmRGb3JtLmludmFsaWQiPlxuICAgICAge3sgXCdnYXRld2F5LnJwYy1jb21tYW5kLXNhdmUtdGVtcGxhdGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0ic2VuZENvbW1hbmQuZW1pdCgpIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0iY29tbWFuZEZvcm0uaW52YWxpZCI+XG4gICAgICB7eyBcJ2dhdGV3YXkucnBjLWNvbW1hbmQtc2VuZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MH06aG9zdCAudGl0bGV7Zm9udC13ZWlnaHQ6NTAwfTpob3N0IC5jb21tYW5kLWZvcm17ZmxleC13cmFwOm5vd3JhcH06aG9zdCAuY29tbWFuZC1mb3JtPmJ1dHRvbnttYXJnaW4tdG9wOjEwcHh9Omhvc3QgLm1hdC1tZGMtc2xpZGUtdG9nZ2xlLm1hcmdpbnttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLWxlZnQ6MTBweH06aG9zdCAuZmllbGRzIC5maWVsZHMtbGFiZWx7Zm9udC13ZWlnaHQ6NTAwfTpob3N0IC5ib3JkZXJ7cGFkZGluZzoxNnB4O21hcmdpbi1ib3R0b206MTBweDtib3gtc2hhZG93OjAgMCAjMDAwMywwIDAgIzAwMDAwMDI0LDAgMCAjMDAwMDAwMWY7Ym9yZGVyOnNvbGlkIDFweCAjZTBlMGUwO2JvcmRlci1yYWRpdXM6NHB4fTpob3N0IC5ib3JkZXIgLnRpdGxle2NvbG9yOiMwMDAwMDA4YX06aG9zdCAuYm9yZGVyIC5tYXQtaWNvbntjb2xvcjojMDAwMDAwNjF9Omhvc3QgLmJvcmRlciAubWF0LWRpdmlkZXJ7bWFyZ2luLWxlZnQ6LTE2cHg7bWFyZ2luLXJpZ2h0Oi0xNnB4O21hcmdpbi1ib3R0b206MTZweH1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaCxzZWxlY3RvcjoiW25nU3dpdGNoXSIsaW5wdXRzOlsibmdTd2l0Y2giXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoQ2FzZSxzZWxlY3RvcjoiW25nU3dpdGNoQ2FzZV0iLGlucHV0czpbIm5nU3dpdGNoQ2FzZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdTd2l0Y2hEZWZhdWx0LHNlbGVjdG9yOiJbbmdTd2l0Y2hEZWZhdWx0XSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WmUuVGJKc29uVG9TdHJpbmdEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0Yi1qc29uLXRvLXN0cmluZ10ifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0RXJyb3Isc2VsZWN0b3I6Im1hdC1lcnJvciwgW21hdEVycm9yXSIsaW5wdXRzOlsiaWQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRTdWZmaXgsc2VsZWN0b3I6IlttYXRTdWZmaXhdLCBbbWF0SWNvblN1ZmZpeF0sIFttYXRUZXh0U3VmZml4XSIsaW5wdXRzOlsibWF0VGV4dFN1ZmZpeCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOndlLk1hdFNlbGVjdCxzZWxlY3RvcjoibWF0LXNlbGVjdCIsaW5wdXRzOlsiYXJpYS1kZXNjcmliZWRieSIsInBhbmVsQ2xhc3MiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3IiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwibXVsdGlwbGUiLCJkaXNhYmxlT3B0aW9uQ2VudGVyaW5nIiwiY29tcGFyZVdpdGgiLCJ2YWx1ZSIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJlcnJvclN0YXRlTWF0Y2hlciIsInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLCJzb3J0Q29tcGFyYXRvciIsImlkIiwicGFuZWxXaWR0aCJdLG91dHB1dHM6WyJvcGVuZWRDaGFuZ2UiLCJvcGVuZWQiLCJjbG9zZWQiLCJzZWxlY3Rpb25DaGFuZ2UiLCJ2YWx1ZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2VsZWN0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnouTWF0RGl2aWRlcixzZWxlY3RvcjoibWF0LWRpdmlkZXIiLGlucHV0czpbInZlcnRpY2FsIiwiaW5zZXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRHYXBEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0R2FwXSwgW2Z4TGF5b3V0R2FwLnhzXSwgW2Z4TGF5b3V0R2FwLnNtXSwgW2Z4TGF5b3V0R2FwLm1kXSwgIFtmeExheW91dEdhcC5sZ10sIFtmeExheW91dEdhcC54bF0sIFtmeExheW91dEdhcC5sdC1zbV0sIFtmeExheW91dEdhcC5sdC1tZF0sICBbZnhMYXlvdXRHYXAubHQtbGddLCBbZnhMYXlvdXRHYXAubHQteGxdLCBbZnhMYXlvdXRHYXAuZ3QteHNdLCBbZnhMYXlvdXRHYXAuZ3Qtc21dLCAgW2Z4TGF5b3V0R2FwLmd0LW1kXSwgW2Z4TGF5b3V0R2FwLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRHYXAiLCJmeExheW91dEdhcC54cyIsImZ4TGF5b3V0R2FwLnNtIiwiZnhMYXlvdXRHYXAubWQiLCJmeExheW91dEdhcC5sZyIsImZ4TGF5b3V0R2FwLnhsIiwiZnhMYXlvdXRHYXAubHQtc20iLCJmeExheW91dEdhcC5sdC1tZCIsImZ4TGF5b3V0R2FwLmx0LWxnIiwiZnhMYXlvdXRHYXAubHQteGwiLCJmeExheW91dEdhcC5ndC14cyIsImZ4TGF5b3V0R2FwLmd0LXNtIiwiZnhMYXlvdXRHYXAuZ3QtbWQiLCJmeExheW91dEdhcC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhBbGlnbkRpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4QWxpZ25dLCBbZnhGbGV4QWxpZ24ueHNdLCBbZnhGbGV4QWxpZ24uc21dLCBbZnhGbGV4QWxpZ24ubWRdLCAgW2Z4RmxleEFsaWduLmxnXSwgW2Z4RmxleEFsaWduLnhsXSwgW2Z4RmxleEFsaWduLmx0LXNtXSwgW2Z4RmxleEFsaWduLmx0LW1kXSwgIFtmeEZsZXhBbGlnbi5sdC1sZ10sIFtmeEZsZXhBbGlnbi5sdC14bF0sIFtmeEZsZXhBbGlnbi5ndC14c10sIFtmeEZsZXhBbGlnbi5ndC1zbV0sICBbZnhGbGV4QWxpZ24uZ3QtbWRdLCBbZnhGbGV4QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeEZsZXhBbGlnbiIsImZ4RmxleEFsaWduLnhzIiwiZnhGbGV4QWxpZ24uc20iLCJmeEZsZXhBbGlnbi5tZCIsImZ4RmxleEFsaWduLmxnIiwiZnhGbGV4QWxpZ24ueGwiLCJmeEZsZXhBbGlnbi5sdC1zbSIsImZ4RmxleEFsaWduLmx0LW1kIiwiZnhGbGV4QWxpZ24ubHQtbGciLCJmeEZsZXhBbGlnbi5sdC14bCIsImZ4RmxleEFsaWduLmd0LXhzIiwiZnhGbGV4QWxpZ24uZ3Qtc20iLCJmeEZsZXhBbGlnbi5ndC1tZCIsImZ4RmxleEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1pblZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLGlucHV0czpbIm1pbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwTmFtZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdIixpbnB1dHM6WyJmb3JtR3JvdXBOYW1lIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUFycmF5TmFtZSxzZWxlY3RvcjoiW2Zvcm1BcnJheU5hbWVdIixpbnB1dHM6WyJmb3JtQXJyYXlOYW1lIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6SWEsc2VsZWN0b3I6InRiLXJlc3QtY29ubmVjdG9yLXNlY3VyaXR5In0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XX0pfX1lKCJHYXRld2F5U2VydmljZVJQQ0Nvbm5lY3RvckNvbXBvbmVudCIsQWEpLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6QWEsZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yIixwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5BYSkpLG11bHRpOiEwfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iIGNsYXNzPSJjb21tYW5kLWZvcm0iIFtmb3JtR3JvdXBdPSJjb21tYW5kRm9ybSI+XG4gIDxkaXZcbiAgICBjbGFzcz0ibWF0LXN1YnRpdGxlLTEgdGl0bGUiPnt7IFwnZ2F0ZXdheS5ycGMudGl0bGVcJyB8IHRyYW5zbGF0ZToge3R5cGU6IGdhdGV3YXlDb25uZWN0b3JEZWZhdWx0VHlwZXNUcmFuc2xhdGVzLmdldChjb25uZWN0b3JUeXBlKX0gfX08L2Rpdj5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT0iY29ubmVjdG9yVHlwZSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJjb25uZWN0b3JUeXBlIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5CQUNORVQiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFJQQ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIiBwbGFjZWhvbGRlcj0ic2V0X3N0YXRlIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdFR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icmVxdWVzdFR5cGUiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBiQUNuZXRSZXF1ZXN0VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICB7e2JBQ25ldFJlcXVlc3RUeXBlc1RyYW5zbGF0ZXMuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdFRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RUaW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgIG1pbj0iMTAiIHN0ZXA9IjEiIHBsYWNlaG9sZGVyPSIxMDAwIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4Ij5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCIgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMub2JqZWN0VHlwZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9Im9iamVjdFR5cGUiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGJBQ25ldE9iamVjdFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICB7e2JBQ25ldE9iamVjdFR5cGVzVHJhbnNsYXRlcy5nZXQodHlwZSkgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuaWRlbnRpZmllclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJpZGVudGlmaWVyIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgbWluPSIxIiBzdGVwPSIxIiBwbGFjZWhvbGRlcj0iMSIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnByb3BlcnR5SWRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InByb3BlcnR5SWQiIHBsYWNlaG9sZGVyPSJwcmVzZW50VmFsdWUiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuQkxFIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RSUENcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZFJQQyIgcGxhY2Vob2xkZXI9InJwY01ldGhvZDEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5jaGFyYWN0ZXJpc3RpY1VVSURcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImNoYXJhY3RlcmlzdGljVVVJRCIgcGxhY2Vob2xkZXI9IjAwMDAyQTAwLTAwMDAtMTAwMC04MDAwLTAwODA1RjlCMzRGQiIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFByb2Nlc3NpbmdcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kUHJvY2Vzc2luZyI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGJMRU1ldGhvZHMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICB7e2JMRU1ldGhvZHNUcmFuc2xhdGVzLmdldCh0eXBlKSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLkNBTiI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiIHBsYWNlaG9sZGVyPSJzZW5kU2FtZURhdGEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5ub2RlSURcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im5vZGVJRCIgdHlwZT0ibnVtYmVyIiBwbGFjZWhvbGRlcj0iNCIgbWluPSIwIiBzdGVwPSIxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9ImlzRXh0ZW5kZWRJRCI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy5pc0V4dGVuZGVkSURcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9ImlzRkQiPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMuaXNGRFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0iYml0cmF0ZVN3aXRjaCI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy5iaXRyYXRlU3dpdGNoXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFMZW5ndGhcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUxlbmd0aCIgdHlwZT0ibnVtYmVyIiBwbGFjZWhvbGRlcj0iMiIgbWluPSIxIiBzdGVwPSIxIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayIgZnhGbGV4PSI1MCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuZGF0YUJ5dGVvcmRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRhdGFCeXRlb3JkZXIiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBvcmRlciBvZiBjQU5CeXRlT3JkZXJzIiBbdmFsdWVdPSJvcmRlciI+XG4gICAgICAgICAgICAgICAge3sgb3JkZXIgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFCZWZvcmVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUJlZm9yZSIgcGxhY2Vob2xkZXI9IjAwQUEiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjUwIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5kYXRhQWZ0ZXJcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUFmdGVyIiBwbGFjZWhvbGRlcj0iMDEwMiIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFJbkhFWFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUluSEVYIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iYWEgYmIgY2MgZGQgZWUgZmYgICBhYSBiYiBhYSBiYiBjYyBkIGVlIGZmIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuZGF0YUV4cHJlc3Npb25cJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImRhdGFFeHByZXNzaW9uIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0idXNlclNwZWVkIGlmIG1heEFsbG93ZWRTcGVlZCA+IHVzZXJTcGVlZCBlbHNlIG1heEFsbG93ZWRTcGVlZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5GVFAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIiBwbGFjZWhvbGRlcj0icmVhZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnZhbHVlRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLk9DUFAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFJQQ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kUlBDIiBwbGFjZWhvbGRlcj0icnBjMSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnZhbHVlRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLlNPQ0tFVCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RSUEMiIHBsYWNlaG9sZGVyPSJycGNNZXRob2QxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUHJvY2Vzc2luZ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RQcm9jZXNzaW5nIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBzb2NrZXRNZXRob2RQcm9jZXNzaW5ncyIgW3ZhbHVlXT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAge3sgU29ja2V0TWV0aG9kUHJvY2Vzc2luZ3NUcmFuc2xhdGVzLmdldChtZXRob2QpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmVuY29kaW5nXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJlbmNvZGluZyIgcGxhY2Vob2xkZXI9Int7c29ja2V0RW5jb2RpbmdzWzBdfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0id2l0aFJlc3BvbnNlIj5cbiAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLndpdGhSZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuWE1QUCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RSUEMiIHBsYWNlaG9sZGVyPSJycGMxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSIke3BhcmFtc30iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0id2l0aFJlc3BvbnNlIj5cbiAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLndpdGhSZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuU05NUCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVxdWVzdEZpbHRlciIgcGxhY2Vob2xkZXI9InNldERhdGEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBzTk1QTWV0aG9kcyIgW3ZhbHVlXT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAge3sgU05NUE1ldGhvZHNUcmFuc2xhdGlvbnMuZ2V0KG1ldGhvZCkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZmllbGRzIGJvcmRlciIgZnhMYXlvdXQ9ImNvbHVtbiIgZnhMYXlvdXRHYXA9IjEwcHgiIGZvcm1BcnJheU5hbWU9Im9pZCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkcy1sYWJlbCI+e3sgXCdnYXRld2F5LnJwYy5vaWRzXCcgfCB0cmFuc2xhdGUgfX0qPC9zcGFuPlxuICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgICAgICAgKm5nRm9yPSJsZXQgY29udHJvbCBvZiBnZXRGb3JtQXJyYXlDb250cm9scyhcJ29pZFwnKTsgbGV0IGkgPSBpbmRleCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWlubGluZS1maWVsZCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4IHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPSJjb250cm9sIiByZXF1aXJlZC8+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1pY29uIHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PSIzMHB4IlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9InJlbW92ZVNOTVBvaWQoaSkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LnJwYy5yZW1vdmVcJyB8IHRyYW5zbGF0ZSB9fSI+ZGVsZXRlXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgIGZ4RmxleEFsaWduPSJzdGFydCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9ImFkZFNOTVBvaWQoKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmFkZC1vaWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5SRVNUIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RGaWx0ZXJcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZEZpbHRlciIgcGxhY2Vob2xkZXI9InBvc3RfYXR0cmlidXRlcyIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmh0dHBNZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJodHRwTWV0aG9kIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbWV0aG9kIG9mIGhUVFBNZXRob2RzIiBbdmFsdWVdPSJtZXRob2QiPlxuICAgICAgICAgICAgICAgIHt7IG1ldGhvZCB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlcXVlc3RVcmxFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RVcmxFeHByZXNzaW9uIlxuICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJodHRwOi8vMTI3LjAuMC4xOjUwMDAvbXlfZGV2aWNlcyIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlc3BvbnNlVGltZW91dFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRpbWVvdXQiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgICAgICAgICBzdGVwPSIxIiBtaW49IjEwIiBwbGFjZWhvbGRlcj0iMTAiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudGltZW91dFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ0aW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgc3RlcD0iMSIgbWluPSIxMCIgcGxhY2Vob2xkZXI9IjEwMDAiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudHJpZXNcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idHJpZXMiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgICAgICAgICBzdGVwPSIxIiBtaW49IjEiIHBsYWNlaG9sZGVyPSIzIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSIke3BhcmFtc30iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmaWVsZHMgYm9yZGVyIiBmeExheW91dD0iY29sdW1uIiBmeExheW91dEdhcD0iMTBweCIgZm9ybUFycmF5TmFtZT0iaHR0cEhlYWRlcnMiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZHMtbGFiZWwiPnt7IFwnZ2F0ZXdheS5ycGMuaHR0cEhlYWRlcnNcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJib3JkZXIiIGZ4TGF5b3V0PSJjb2x1bW4iIGZ4TGF5b3V0R2FwPSIxMHB4IiAqbmdJZj0iZ2V0Rm9ybUFycmF5Q29udHJvbHMoXCdodHRwSGVhZGVyc1wnKS5sZW5ndGgiPlxuICAgICAgICAgICAgPGRpdiBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciI+XG4gICAgICAgICAgICAgIDxzcGFuIGZ4RmxleCBjbGFzcz0idGl0bGUiPnt7IFwnZ2F0ZXdheS5ycGMuaGVhZGVyLW5hbWVcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gZnhGbGV4IGNsYXNzPSJ0aXRsZSI+e3sgXCdnYXRld2F5LnJwYy52YWx1ZVwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBmeEZsZXg9IjMwcHgiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgICAgKm5nRm9yPSJsZXQgY29udHJvbCBvZiBnZXRGb3JtQXJyYXlDb250cm9scyhcJ2h0dHBIZWFkZXJzXCcpOyBsZXQgaSA9IGluZGV4Ij5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwTmFtZV09ImkiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBmeEZsZXg+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJoZWFkZXJOYW1lIi8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4PlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWUiIHBsYWNlaG9sZGVyPSJhcHBsaWNhdGlvbi9qc29uIi8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PSIzMHB4IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJyZW1vdmVIVFRQSGVhZGVyKGkpIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkucnBjLnJlbW92ZVwnIHwgdHJhbnNsYXRlIH19Ij5kZWxldGVcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgIGZ4RmxleEFsaWduPSJzdGFydCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9ImFkZEhUVFBIZWFkZXIoKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmFkZC1oZWFkZXJcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgICA8dGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHkgW2Zvcm1Db250cm9sXT0iY29tbWFuZEZvcm0uZ2V0KFwnc2VjdXJpdHlcJykiPjwvdGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHk+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLlJFUVVFU1QiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIiBwbGFjZWhvbGRlcj0iZWNobyIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmh0dHBNZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJodHRwTWV0aG9kIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbWV0aG9kIG9mIGhUVFBNZXRob2RzIiBbdmFsdWVdPSJtZXRob2QiPlxuICAgICAgICAgICAgICAgIHt7IG1ldGhvZCB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlcXVlc3RVcmxFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RVcmxFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iaHR0cDovLzEyNy4wLjAuMTo1MDAwL215X2RldmljZXMiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRHYXA9IjEwcHgiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjMzIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXNwb25zZVRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUaW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgc3RlcD0iMSIgbWluPSIxMCIgcGxhY2Vob2xkZXI9IjEwIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idGltZW91dCIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgIHN0ZXA9IjEiIG1pbj0iMTAiIHBsYWNlaG9sZGVyPSIxMCIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy50cmllc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ0cmllcyIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgIHN0ZXA9IjEiIG1pbj0iMSIgcGxhY2Vob2xkZXI9IjEiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXF1ZXN0VmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0VmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVzcG9uc2VWYWx1ZUV4cHJlc3Npb25cJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlc3BvbnNlVmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHt0ZW1wfSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZpZWxkcyBib3JkZXIiIGZ4TGF5b3V0PSJjb2x1bW4iIGZ4TGF5b3V0R2FwPSIxMHB4IiBmb3JtQXJyYXlOYW1lPSJodHRwSGVhZGVycyI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkcy1sYWJlbCI+e3sgXCdnYXRld2F5LnJwYy5odHRwSGVhZGVyc1wnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImJvcmRlciIgZnhMYXlvdXQ9ImNvbHVtbiIgZnhMYXlvdXRHYXA9IjEwcHgiICpuZ0lmPSJnZXRGb3JtQXJyYXlDb250cm9scyhcJ2h0dHBIZWFkZXJzXCcpLmxlbmd0aCI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIj5cbiAgICAgICAgICAgICAgPHNwYW4gZnhGbGV4IGNsYXNzPSJ0aXRsZSI+e3sgXCdnYXRld2F5LnJwYy5oZWFkZXItbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBmeEZsZXggY2xhc3M9InRpdGxlIj57eyBcJ2dhdGV3YXkucnBjLnZhbHVlXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGZ4RmxleD0iMzBweCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgICAgICAgICAqbmdGb3I9ImxldCBjb250cm9sIG9mIGdldEZvcm1BcnJheUNvbnRyb2xzKFwnaHR0cEhlYWRlcnNcJyk7IGxldCBpID0gaW5kZXgiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBOYW1lXT0iaSI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGZ4RmxleD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImhlYWRlck5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkucnBjLnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4PlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWUiLz5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBmeEZsZXg9IjMwcHgiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9InJlbW92ZUhUVFBIZWFkZXIoaSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5ycGMucmVtb3ZlXCcgfCB0cmFuc2xhdGUgfX0iPmRlbGV0ZVxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgZnhGbGV4QWxpZ249InN0YXJ0IlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iYWRkSFRUUEhlYWRlcigpIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMuYWRkLWhlYWRlclwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIG5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY29tbWFuZFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iY29tbWFuZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCd3aWRnZXQtY29uZmlnLmRhdGFzb3VyY2UtcGFyYW1ldGVyc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icGFyYW1zIiB0eXBlPSJKU09OIiB0Yi1qc29uLXRvLXN0cmluZy8+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCIgYXJpYS1oaWRkZW49ImZhbHNlIiBhcmlhLWxhYmVsPSJoZWxwLWljb24iXG4gICAgICAgICAgICAgICAgICAgIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ib3BlbkVkaXRKU09ORGlhbG9nKCRldmVudCkiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1lZGl0LXBhcmFtc1wnIHwgdHJhbnNsYXRlIH19Ij5lZGl0XG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb21tYW5kRm9ybS5nZXQoXCdwYXJhbXNcJykuaGFzRXJyb3IoXCdpbnZhbGlkSlNPTlwnKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmpzb24tdmFsdWUtaW52YWxpZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPSJ0ZW1wbGF0ZS1hY3Rpb25zIiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciIgZnhMYXlvdXRHYXA9IjEwcHgiPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9InNhdmUoKSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09ImNvbW1hbmRGb3JtLmludmFsaWQiPlxuICAgICAge3sgXCdnYXRld2F5LnJwYy1jb21tYW5kLXNhdmUtdGVtcGxhdGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0ic2VuZENvbW1hbmQuZW1pdCgpIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0iY29tbWFuZEZvcm0uaW52YWxpZCI+XG4gICAgICB7eyBcJ2dhdGV3YXkucnBjLWNvbW1hbmQtc2VuZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MH06aG9zdCAudGl0bGV7Zm9udC13ZWlnaHQ6NTAwfTpob3N0IC5jb21tYW5kLWZvcm17ZmxleC13cmFwOm5vd3JhcH06aG9zdCAuY29tbWFuZC1mb3JtPmJ1dHRvbnttYXJnaW4tdG9wOjEwcHh9Omhvc3QgLm1hdC1tZGMtc2xpZGUtdG9nZ2xlLm1hcmdpbnttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLWxlZnQ6MTBweH06aG9zdCAuZmllbGRzIC5maWVsZHMtbGFiZWx7Zm9udC13ZWlnaHQ6NTAwfTpob3N0IC5ib3JkZXJ7cGFkZGluZzoxNnB4O21hcmdpbi1ib3R0b206MTBweDtib3gtc2hhZG93OjAgMCAjMDAwMywwIDAgIzAwMDAwMDI0LDAgMCAjMDAwMDAwMWY7Ym9yZGVyOnNvbGlkIDFweCAjZTBlMGUwO2JvcmRlci1yYWRpdXM6NHB4fTpob3N0IC5ib3JkZXIgLnRpdGxle2NvbG9yOiMwMDAwMDA4YX06aG9zdCAuYm9yZGVyIC5tYXQtaWNvbntjb2xvcjojMDAwMDAwNjF9Omhvc3QgLmJvcmRlciAubWF0LWRpdmlkZXJ7bWFyZ2luLWxlZnQ6LTE2cHg7bWFyZ2luLXJpZ2h0Oi0xNnB4O21hcmdpbi1ib3R0b206MTZweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTpKZS5NYXREaWFsb2d9XSxwcm9wRGVjb3JhdG9yczp7Y29ubmVjdG9yVHlwZTpbe3R5cGU6YX1dLHNlbmRDb21tYW5kOlt7dHlwZTpsfV0sc2F2ZVRlbXBsYXRlOlt7dHlwZTpsfV19fSk7Y2xhc3MgTmEgZXh0ZW5kcyBQe2NvbnN0cnVjdG9yKGUsdCxuLGEsbyl7c3VwZXIoZSx0LGEpLHRoaXMuc3RvcmU9ZSx0aGlzLnJvdXRlcj10LHRoaXMuZGF0YT1uLHRoaXMuZGlhbG9nUmVmPWEsdGhpcy5mYj1vLHRoaXMuY29uZmlnPXRoaXMuZGF0YS5jb25maWcsdGhpcy50ZW1wbGF0ZXM9dGhpcy5kYXRhLnRlbXBsYXRlcyx0aGlzLnRlbXBsYXRlTmFtZUN0cmw9dGhpcy5mYi5jb250cm9sKCIiLFt1ZS5yZXF1aXJlZF0pfXZhbGlkYXRlRHVwbGljYXRlTmFtZShlKXtjb25zdCB0PWUudmFsdWUudHJpbSgpO3JldHVybiEhdGhpcy50ZW1wbGF0ZXMuZmluZCgoZT0+ZS5uYW1lPT09dCkpfWNsb3NlKCl7dGhpcy5kaWFsb2dSZWYuY2xvc2UoKX1zYXZlKCl7dGhpcy50ZW1wbGF0ZU5hbWVDdHJsLnNldFZhbHVlKHRoaXMudGVtcGxhdGVOYW1lQ3RybC52YWx1ZS50cmltKCkpLHRoaXMudGVtcGxhdGVOYW1lQ3RybC52YWxpZCYmdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy50ZW1wbGF0ZU5hbWVDdHJsLnZhbHVlKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOk5hLGRlcHM6W3t0b2tlbjpvdC5TdG9yZX0se3Rva2VuOml0LlJvdXRlcn0se3Rva2VuOlhlfSx7dG9rZW46SmUuTWF0RGlhbG9nUmVmfSx7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOk5hLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LXNlcnZpY2UtcnBjLWNvbm5lY3Rvci10ZW1wbGF0ZS1kaWFsb2ciLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10b29sYmFyIGNvbG9yPSJwcmltYXJ5Ij5cbiAgPGgyIHRyYW5zbGF0ZT5nYXRld2F5LnJwYy5zYXZlLXRlbXBsYXRlPC9oMj5cbiAgPHNwYW4gZnhGbGV4Pjwvc3Bhbj5cbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAoY2xpY2spPSJjbG9zZSgpIlxuICAgICAgICAgIHR5cGU9ImJ1dHRvbiI+XG4gICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+Y2xvc2U8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbjwvbWF0LXRvb2xiYXI+XG48ZGl2IG1hdC1kaWFsb2ctY29udGVudCBzdHlsZT0id2lkdGg6IDYwMHB4IiBjbGFzcz0ibWF0LWNvbnRlbnQiIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayB0Yi12YWx1ZS10eXBlIiBzdHlsZT0iZmxleC1ncm93OiAwIj5cbiAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnJwYy50ZW1wbGF0ZS1uYW1lPC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IFtmb3JtQ29udHJvbF09InRlbXBsYXRlTmFtZUN0cmwiIHJlcXVpcmVkLz5cbiAgICA8bWF0LWVycm9yXG4gICAgICAqbmdJZj0idGVtcGxhdGVOYW1lQ3RybC5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgIHt7IFwnZ2F0ZXdheS5ycGMudGVtcGxhdGUtbmFtZS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxkaXYgY2xhc3M9Im1hdC1tZGMtZm9ybS1maWVsZC1lcnJvciJcbiAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDogLTE1cHg7IHBhZGRpbmctbGVmdDogMTBweDsgZm9udC1zaXplOiAxNHB4OyJcbiAgICAgICAqbmdJZj0idmFsaWRhdGVEdXBsaWNhdGVOYW1lKHRlbXBsYXRlTmFtZUN0cmwpIj5cbiAgICB7eyBcJ2dhdGV3YXkucnBjLnRlbXBsYXRlLW5hbWUtZHVwbGljYXRlXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiPlxuICA8YnV0dG9uIG1hdC1idXR0b25cbiAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgKGNsaWNrKT0iY2xvc2UoKSI+XG4gICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG4gIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICBbZGlzYWJsZWRdPSIhdGVtcGxhdGVOYW1lQ3RybC52YWxpZCJcbiAgICAgICAgICAoY2xpY2spPSJzYXZlKCkiPlxuICAgIHt7IFwnYWN0aW9uLnNhdmVcJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbjwvZGl2PlxuJyxkZXBlbmRlbmNpZXM6W3traW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QnV0dG9uLHNlbGVjdG9yOiIgICAgYnV0dG9uW21hdC1idXR0b25dLCBidXR0b25bbWF0LXJhaXNlZC1idXR0b25dLCBidXR0b25bbWF0LWZsYXQtYnV0dG9uXSwgICAgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0gICIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRFcnJvcixzZWxlY3RvcjoibWF0LWVycm9yLCBbbWF0RXJyb3JdIixpbnB1dHM6WyJpZCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnJ0Lk1hdFRvb2xiYXIsc2VsZWN0b3I6Im1hdC10b29sYmFyIixpbnB1dHM6WyJjb2xvciJdLGV4cG9ydEFzOlsibWF0VG9vbGJhciJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOkplLk1hdERpYWxvZ0FjdGlvbnMsc2VsZWN0b3I6IlttYXQtZGlhbG9nLWFjdGlvbnNdLCBtYXQtZGlhbG9nLWFjdGlvbnMsIFttYXREaWFsb2dBY3Rpb25zXSIsaW5wdXRzOlsiYWxpZ24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpKZS5NYXREaWFsb2dDb250ZW50LHNlbGVjdG9yOiJbbWF0LWRpYWxvZy1jb250ZW50XSwgbWF0LWRpYWxvZy1jb250ZW50LCBbbWF0RGlhbG9nQ29udGVudF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRdLCBbZnhMYXlvdXQueHNdLCBbZnhMYXlvdXQuc21dLCBbZnhMYXlvdXQubWRdLCAgW2Z4TGF5b3V0LmxnXSwgW2Z4TGF5b3V0LnhsXSwgW2Z4TGF5b3V0Lmx0LXNtXSwgW2Z4TGF5b3V0Lmx0LW1kXSwgIFtmeExheW91dC5sdC1sZ10sIFtmeExheW91dC5sdC14bF0sIFtmeExheW91dC5ndC14c10sIFtmeExheW91dC5ndC1zbV0sICBbZnhMYXlvdXQuZ3QtbWRdLCBbZnhMYXlvdXQuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dCIsImZ4TGF5b3V0LnhzIiwiZnhMYXlvdXQuc20iLCJmeExheW91dC5tZCIsImZ4TGF5b3V0LmxnIiwiZnhMYXlvdXQueGwiLCJmeExheW91dC5sdC1zbSIsImZ4TGF5b3V0Lmx0LW1kIiwiZnhMYXlvdXQubHQtbGciLCJmeExheW91dC5sdC14bCIsImZ4TGF5b3V0Lmd0LXhzIiwiZnhMYXlvdXQuZ3Qtc20iLCJmeExheW91dC5ndC1tZCIsImZ4TGF5b3V0Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLlJlcXVpcmVkVmFsaWRhdG9yLHNlbGVjdG9yOiI6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sTmFtZV0sOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbF0sOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtuZ01vZGVsXSIsaW5wdXRzOlsicmVxdWlyZWQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2wiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV19KX19ZSgiR2F0ZXdheVNlcnZpY2VSUENDb25uZWN0b3JUZW1wbGF0ZURpYWxvZ0NvbXBvbmVudCIsTmEpLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6TmEsZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yLXRlbXBsYXRlLWRpYWxvZyIsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICA8aDIgdHJhbnNsYXRlPmdhdGV3YXkucnBjLnNhdmUtdGVtcGxhdGU8L2gyPlxuICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgIChjbGljayk9ImNsb3NlKCkiXG4gICAgICAgICAgdHlwZT0iYnV0dG9uIj5cbiAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9tYXQtdG9vbGJhcj5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IHN0eWxlPSJ3aWR0aDogNjAwcHgiIGNsYXNzPSJtYXQtY29udGVudCIgZnhMYXlvdXQ9ImNvbHVtbiI+XG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIHRiLXZhbHVlLXR5cGUiIHN0eWxlPSJmbGV4LWdyb3c6IDAiPlxuICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkucnBjLnRlbXBsYXRlLW5hbWU8L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT0idGVtcGxhdGVOYW1lQ3RybCIgcmVxdWlyZWQvPlxuICAgIDxtYXQtZXJyb3JcbiAgICAgICpuZ0lmPSJ0ZW1wbGF0ZU5hbWVDdHJsLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAge3sgXCdnYXRld2F5LnJwYy50ZW1wbGF0ZS1uYW1lLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPGRpdiBjbGFzcz0ibWF0LW1kYy1mb3JtLWZpZWxkLWVycm9yIlxuICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOiAtMTVweDsgcGFkZGluZy1sZWZ0OiAxMHB4OyBmb250LXNpemU6IDE0cHg7IlxuICAgICAgICpuZ0lmPSJ2YWxpZGF0ZUR1cGxpY2F0ZU5hbWUodGVtcGxhdGVOYW1lQ3RybCkiPlxuICAgIHt7IFwnZ2F0ZXdheS5ycGMudGVtcGxhdGUtbmFtZS1kdXBsaWNhdGVcJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gIDxidXR0b24gbWF0LWJ1dHRvblxuICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAoY2xpY2spPSJjbG9zZSgpIj5cbiAgICB7eyBcJ2FjdGlvbi5jYW5jZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgIFtkaXNhYmxlZF09IiF0ZW1wbGF0ZU5hbWVDdHJsLnZhbGlkIlxuICAgICAgICAgIChjbGljayk9InNhdmUoKSI+XG4gICAge3sgXCdhY3Rpb24uc2F2ZVwnIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4nfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm90LlN0b3JlfSx7dHlwZTppdC5Sb3V0ZXJ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpwLGFyZ3M6W1hlXX1dfSx7dHlwZTpKZS5NYXREaWFsb2dSZWZ9LHt0eXBlOm1lLkZvcm1CdWlsZGVyfV19KTtjbGFzcyBNYXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuZmI9ZSx0aGlzLmNkcj10LHRoaXMudmFsdWVUeXBlS2V5cz1PYmplY3QudmFsdWVzKEduKSx0aGlzLk1hcHBpbmdWYWx1ZVR5cGU9R24sdGhpcy52YWx1ZVR5cGVzPVZuLHRoaXMub25DaGFuZ2U9ZT0+e30sdGhpcy5vblRvdWNoZWQ9KCk9Pnt9LHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cD10aGlzLmZiLmdyb3VwKHttZXRob2Q6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sYXJndW1lbnRzOnRoaXMuZmIuYXJyYXkoW10pfSksdGhpcy5vYnNlcnZlVmFsdWVDaGFuZ2VzKCl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLm9uQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7dGhpcy5vblRvdWNoZWQ9ZX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAudmFsaWQ/bnVsbDp7cnBjUGFyYW1ldGVyc0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fX13cml0ZVZhbHVlKGUpe3RoaXMuY2xlYXJBcmd1bWVudHMoKSxlLmFyZ3VtZW50cz8ubWFwKCgoe3R5cGU6ZSx2YWx1ZTp0fSk9Pih7dHlwZTplLFtlXTp0fSkpKS5mb3JFYWNoKChlPT50aGlzLmFkZEFyZ3VtZW50KGUpKSksdGhpcy5jZHIubWFya0ZvckNoZWNrKCksdGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldCgibWV0aG9kIikucGF0Y2hWYWx1ZShlLm1ldGhvZCl9b2JzZXJ2ZVZhbHVlQ2hhbmdlcygpe3RoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57Y29uc3QgdD1lLmFyZ3VtZW50cy5tYXAoKCh7dHlwZTplLC4uLnR9KT0+KHt0eXBlOmUsdmFsdWU6dFtlXX0pKSk7dGhpcy5vbkNoYW5nZSh7bWV0aG9kOmUubWV0aG9kLGFyZ3VtZW50czp0fSksdGhpcy5vblRvdWNoZWQoKX0pKX1yZW1vdmVBcmd1bWVudChlKXt0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJhcmd1bWVudHMiKS5yZW1vdmVBdChlKX1hZGRBcmd1bWVudChlPXt9KXtjb25zdCB0PXRoaXMuZmIuZ3JvdXAoe3R5cGU6W2UudHlwZT8/R24uU1RSSU5HXSxzdHJpbmc6W2Uuc3RyaW5nPz97dmFsdWU6IiIsZGlzYWJsZWQ6IShlZShlLHt9KXx8ZS5zdHJpbmcpfSxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxpbnRlZ2VyOlt7dmFsdWU6ZS5pbnRlZ2VyPz8wLGRpc2FibGVkOiFpZShlLmludGVnZXIpfSxbdWUucmVxdWlyZWQsdWUucGF0dGVybihMdCldXSxkb3VibGU6W3t2YWx1ZTplLmRvdWJsZT8/MCxkaXNhYmxlZDohaWUoZS5kb3VibGUpfSxbdWUucmVxdWlyZWRdXSxib29sZWFuOlt7dmFsdWU6ZS5ib29sZWFuPz8hMSxkaXNhYmxlZDohaWUoZS5ib29sZWFuKX0sW3VlLnJlcXVpcmVkXV19KTt0aGlzLm9ic2VydmVUeXBlQ2hhbmdlKHQpLHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoImFyZ3VtZW50cyIpLnB1c2godCx7ZW1pdEV2ZW50OiExfSl9Y2xlYXJBcmd1bWVudHMoKXtjb25zdCBlPXRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoImFyZ3VtZW50cyIpO2Zvcig7MCE9PWUubGVuZ3RoOyllLnJlbW92ZUF0KDApfW9ic2VydmVUeXBlQ2hhbmdlKGUpe2UuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgodD0+e2UuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksZS5nZXQoInR5cGUiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLGUuZ2V0KHQpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSl9KSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpNYSxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjp0LkNoYW5nZURldGVjdG9yUmVmfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpNYSxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLWdhdGV3YXktb3BjLXJwYy1wYXJhbWV0ZXJzIixwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5NYSkpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+TWEpKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPSJycGNQYXJhbWV0ZXJzRm9ybUdyb3VwIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCB0Yi1mbGV4IG5vLXBhZGRpbmctdG9wIGhpbnQtY29udGFpbmVyIj5cbiAgICB7eyBcJ2dhdGV3YXkucnBjLmhpbnQub3BjLW1ldGhvZFwnIHwgdHJhbnNsYXRlIH19XG4gIDwvZGl2PlxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXgiPlxuICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZCIgcGxhY2Vob2xkZXI9Im11bHRpcGx5Ii8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxmaWVsZHNldCBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIGFyZ3VtZW50cy1jb250YWluZXIiIGZ4TGF5b3V0PSJjb2x1bW4iIGZvcm1BcnJheU5hbWU9ImFyZ3VtZW50cyI+XG4gICAgPHN0cm9uZz5cbiAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZHMtbGFiZWwiPnt7IFwnZ2F0ZXdheS5ycGMuYXJndW1lbnRzXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPC9zdHJvbmc+XG4gICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRHYXA9IjEwcHgiIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiXG4gICAgICAgICAqbmdGb3I9ImxldCBhcmd1bWVudEZvcm1Hcm91cCBvZiBycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ2FyZ3VtZW50c1wnKVtcJ2NvbnRyb2xzXCddOyBsZXQgaSA9IGluZGV4IiBbZm9ybUdyb3VwXT0iYXJndW1lbnRGb3JtR3JvdXAiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIHR5cGUtY29udGFpbmVyIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS50eXBlPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGZpbGwtd2lkdGgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICA8bWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0idGItbWF0LTE4IiBbc3ZnSWNvbl09InZhbHVlVHlwZXMuZ2V0KGFyZ3VtZW50Rm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUpPy5pY29uIj5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57eyB2YWx1ZVR5cGVzLmdldChhcmd1bWVudEZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8ubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHZhbHVlVHlwZSBvZiB2YWx1ZVR5cGVLZXlzIiBbdmFsdWVdPSJ2YWx1ZVR5cGUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0idGItbWF0LTIwIiBzdmdJY29uPSJ7eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLmljb24gfX0iPlxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgdmFsdWVUeXBlcy5nZXQodmFsdWVUeXBlKS5uYW1lIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyB2YWx1ZS1jb250YWluZXIiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnZhbHVlPC9kaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09ImFyZ3VtZW50Rm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUiPlxuICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuU1RSSU5HIiBtYXRJbnB1dCByZXF1aXJlZCBmb3JtQ29udHJvbE5hbWU9InN0cmluZyJcbiAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuSU5URUdFUiIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJpbnRlZ2VyIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIgLz5cbiAgICAgICAgICAgIDxpbnB1dCAqbmdTd2l0Y2hDYXNlPSJNYXBwaW5nVmFsdWVUeXBlLkRPVUJMRSIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJkb3VibGUiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgKm5nU3dpdGNoQ2FzZT0iTWFwcGluZ1ZhbHVlVHlwZS5CT09MRUFOIiBmb3JtQ29udHJvbE5hbWU9ImJvb2xlYW4iPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPSJ0cnVlIj50cnVlPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPSJmYWxzZSI+ZmFsc2U8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImFyZ3VtZW50Rm9ybUdyb3VwLmdldChhcmd1bWVudEZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBhcmd1bWVudEZvcm1Hcm91cC5nZXQoYXJndW1lbnRGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSkudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPSJyZW1vdmVBcmd1bWVudChpKSJcbiAgICAgICAgICAgICAgY2xhc3M9InRiLWJveC1idXR0b24iXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5ycGMucmVtb3ZlXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIGZ4RmxleEFsaWduPSJzdGFydCJcbiAgICAgICAgICAgIChjbGljayk9ImFkZEFyZ3VtZW50KCkiPlxuICAgICAge3sgXCdnYXRld2F5LnJwYy5hZGQtYXJndW1lbnRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2ZpZWxkc2V0PlxuPC9uZy1jb250YWluZXI+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCAuYXJndW1lbnRzLWNvbnRhaW5lcnttYXJnaW4tYm90dG9tOjEwcHh9Omhvc3QgLnR5cGUtY29udGFpbmVye3dpZHRoOjQwJX06aG9zdCAudmFsdWUtY29udGFpbmVye3dpZHRoOjUwJX06aG9zdCAuaGludC1jb250YWluZXJ7bWFyZ2luLWJvdHRvbToxMnB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaCxzZWxlY3RvcjoiW25nU3dpdGNoXSIsaW5wdXRzOlsibmdTd2l0Y2giXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoQ2FzZSxzZWxlY3RvcjoiW25nU3dpdGNoQ2FzZV0iLGlucHV0czpbIm5nU3dpdGNoQ2FzZSJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdFN1ZmZpeCxzZWxlY3RvcjoiW21hdFN1ZmZpeF0sIFttYXRJY29uU3VmZml4XSwgW21hdFRleHRTdWZmaXhdIixpbnB1dHM6WyJtYXRUZXh0U3VmZml4Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp3ZS5NYXRTZWxlY3RUcmlnZ2VyLHNlbGVjdG9yOiJtYXQtc2VsZWN0LXRyaWdnZXIifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEdhcERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRHYXBdLCBbZnhMYXlvdXRHYXAueHNdLCBbZnhMYXlvdXRHYXAuc21dLCBbZnhMYXlvdXRHYXAubWRdLCAgW2Z4TGF5b3V0R2FwLmxnXSwgW2Z4TGF5b3V0R2FwLnhsXSwgW2Z4TGF5b3V0R2FwLmx0LXNtXSwgW2Z4TGF5b3V0R2FwLmx0LW1kXSwgIFtmeExheW91dEdhcC5sdC1sZ10sIFtmeExheW91dEdhcC5sdC14bF0sIFtmeExheW91dEdhcC5ndC14c10sIFtmeExheW91dEdhcC5ndC1zbV0sICBbZnhMYXlvdXRHYXAuZ3QtbWRdLCBbZnhMYXlvdXRHYXAuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEdhcCIsImZ4TGF5b3V0R2FwLnhzIiwiZnhMYXlvdXRHYXAuc20iLCJmeExheW91dEdhcC5tZCIsImZ4TGF5b3V0R2FwLmxnIiwiZnhMYXlvdXRHYXAueGwiLCJmeExheW91dEdhcC5sdC1zbSIsImZ4TGF5b3V0R2FwLmx0LW1kIiwiZnhMYXlvdXRHYXAubHQtbGciLCJmeExheW91dEdhcC5sdC14bCIsImZ4TGF5b3V0R2FwLmd0LXhzIiwiZnhMYXlvdXRHYXAuZ3Qtc20iLCJmeExheW91dEdhcC5ndC1tZCIsImZ4TGF5b3V0R2FwLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeEZsZXhBbGlnbl0sIFtmeEZsZXhBbGlnbi54c10sIFtmeEZsZXhBbGlnbi5zbV0sIFtmeEZsZXhBbGlnbi5tZF0sICBbZnhGbGV4QWxpZ24ubGddLCBbZnhGbGV4QWxpZ24ueGxdLCBbZnhGbGV4QWxpZ24ubHQtc21dLCBbZnhGbGV4QWxpZ24ubHQtbWRdLCAgW2Z4RmxleEFsaWduLmx0LWxnXSwgW2Z4RmxleEFsaWduLmx0LXhsXSwgW2Z4RmxleEFsaWduLmd0LXhzXSwgW2Z4RmxleEFsaWduLmd0LXNtXSwgIFtmeEZsZXhBbGlnbi5ndC1tZF0sIFtmeEZsZXhBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4RmxleEFsaWduIiwiZnhGbGV4QWxpZ24ueHMiLCJmeEZsZXhBbGlnbi5zbSIsImZ4RmxleEFsaWduLm1kIiwiZnhGbGV4QWxpZ24ubGciLCJmeEZsZXhBbGlnbi54bCIsImZ4RmxleEFsaWduLmx0LXNtIiwiZnhGbGV4QWxpZ24ubHQtbWQiLCJmeEZsZXhBbGlnbi5sdC1sZyIsImZ4RmxleEFsaWduLmx0LXhsIiwiZnhGbGV4QWxpZ24uZ3QteHMiLCJmeEZsZXhBbGlnbi5ndC1zbSIsImZ4RmxleEFsaWduLmd0LW1kIiwiZnhGbGV4QWxpZ24uZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRGbGV4RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeEZsZXhdLCBbZnhGbGV4LnhzXSwgW2Z4RmxleC5zbV0sIFtmeEZsZXgubWRdLCAgW2Z4RmxleC5sZ10sIFtmeEZsZXgueGxdLCBbZnhGbGV4Lmx0LXNtXSwgW2Z4RmxleC5sdC1tZF0sICBbZnhGbGV4Lmx0LWxnXSwgW2Z4RmxleC5sdC14bF0sIFtmeEZsZXguZ3QteHNdLCBbZnhGbGV4Lmd0LXNtXSwgIFtmeEZsZXguZ3QtbWRdLCBbZnhGbGV4Lmd0LWxnXSIsaW5wdXRzOlsiZnhGbGV4IiwiZnhGbGV4LnhzIiwiZnhGbGV4LnNtIiwiZnhGbGV4Lm1kIiwiZnhGbGV4LmxnIiwiZnhGbGV4LnhsIiwiZnhGbGV4Lmx0LXNtIiwiZnhGbGV4Lmx0LW1kIiwiZnhGbGV4Lmx0LWxnIiwiZnhGbGV4Lmx0LXhsIiwiZnhGbGV4Lmd0LXhzIiwiZnhGbGV4Lmd0LXNtIiwiZnhGbGV4Lmd0LW1kIiwiZnhGbGV4Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTnVtYmVyVmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbmdNb2RlbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5SZXF1aXJlZFZhbGlkYXRvcixzZWxlY3RvcjoiOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbE5hbWVdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bbmdNb2RlbF0iLGlucHV0czpbInJlcXVpcmVkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1BcnJheU5hbWUsc2VsZWN0b3I6Iltmb3JtQXJyYXlOYW1lXSIsaW5wdXRzOlsiZm9ybUFycmF5TmFtZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX10Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOk1hLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1nYXRld2F5LW9wYy1ycGMtcGFyYW1ldGVycyIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9Pk1hKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5NYSkpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILERdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0icnBjUGFyYW1ldGVyc0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwgdGItZmxleCBuby1wYWRkaW5nLXRvcCBoaW50LWNvbnRhaW5lciI+XG4gICAge3sgXCdnYXRld2F5LnJwYy5oaW50Lm9wYy1tZXRob2RcJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2Rpdj5cbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiIHBsYWNlaG9sZGVyPSJtdWx0aXBseSIvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8ZmllbGRzZXQgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCBhcmd1bWVudHMtY29udGFpbmVyIiBmeExheW91dD0iY29sdW1uIiBmb3JtQXJyYXlOYW1lPSJhcmd1bWVudHMiPlxuICAgIDxzdHJvbmc+XG4gICAgICA8c3BhbiBjbGFzcz0iZmllbGRzLWxhYmVsIj57eyBcJ2dhdGV3YXkucnBjLmFyZ3VtZW50c1wnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgIDwvc3Ryb25nPlxuICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgKm5nRm9yPSJsZXQgYXJndW1lbnRGb3JtR3JvdXAgb2YgcnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCdhcmd1bWVudHNcJylbXCdjb250cm9sc1wnXTsgbGV0IGkgPSBpbmRleCIgW2Zvcm1Hcm91cF09ImFyZ3VtZW50Rm9ybUdyb3VwIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyB0eXBlLWNvbnRhaW5lciIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudHlwZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBmaWxsLXdpZHRoIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgICAgPG1hdC1zZWxlY3QtdHJpZ2dlcj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGFsaWduLWNlbnRlciI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0xOCIgW3N2Z0ljb25dPSJ2YWx1ZVR5cGVzLmdldChhcmd1bWVudEZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8uaWNvbiI+XG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgdmFsdWVUeXBlcy5nZXQoYXJndW1lbnRGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSk/Lm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB2YWx1ZVR5cGUgb2YgdmFsdWVUeXBlS2V5cyIgW3ZhbHVlXT0idmFsdWVUeXBlIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0yMCIgc3ZnSWNvbj0ie3sgdmFsdWVUeXBlcy5nZXQodmFsdWVUeXBlKS5pY29uIH19Ij5cbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7IHZhbHVlVHlwZXMuZ2V0KHZhbHVlVHlwZSkubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMgdmFsdWUtY29udGFpbmVyIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS52YWx1ZTwvZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4IGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyIgY2xhc3M9InRiLWlubGluZS1maWVsZCBmbGV4IHRiLXN1ZmZpeC1hYnNvbHV0ZSI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJhcmd1bWVudEZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlIj5cbiAgICAgICAgICAgIDxpbnB1dCAqbmdTd2l0Y2hDYXNlPSJNYXBwaW5nVmFsdWVUeXBlLlNUUklORyIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJzdHJpbmciXG4gICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIgLz5cbiAgICAgICAgICAgIDxpbnB1dCAqbmdTd2l0Y2hDYXNlPSJNYXBwaW5nVmFsdWVUeXBlLklOVEVHRVIiIG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0iaW50ZWdlciIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iIC8+XG4gICAgICAgICAgICA8aW5wdXQgKm5nU3dpdGNoQ2FzZT0iTWFwcGluZ1ZhbHVlVHlwZS5ET1VCTEUiIG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0iZG91YmxlIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIgLz5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuQk9PTEVBTiIgZm9ybUNvbnRyb2xOYW1lPSJib29sZWFuIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT0idHJ1ZSI+dHJ1ZTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT0iZmFsc2UiPmZhbHNlPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudmFsdWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJhcmd1bWVudEZvcm1Hcm91cC5nZXQoYXJndW1lbnRGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSkuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgYXJndW1lbnRGb3JtR3JvdXAuZ2V0KGFyZ3VtZW50Rm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0icmVtb3ZlQXJndW1lbnQoaSkiXG4gICAgICAgICAgICAgIGNsYXNzPSJ0Yi1ib3gtYnV0dG9uIlxuICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkucnBjLnJlbW92ZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICBmeEZsZXhBbGlnbj0ic3RhcnQiXG4gICAgICAgICAgICAoY2xpY2spPSJhZGRBcmd1bWVudCgpIj5cbiAgICAgIHt7IFwnZ2F0ZXdheS5ycGMuYWRkLWFyZ3VtZW50XCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9maWVsZHNldD5cbjwvbmctY29udGFpbmVyPlxuXG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLmFyZ3VtZW50cy1jb250YWluZXJ7bWFyZ2luLWJvdHRvbToxMHB4fTpob3N0IC50eXBlLWNvbnRhaW5lcnt3aWR0aDo0MCV9Omhvc3QgLnZhbHVlLWNvbnRhaW5lcnt3aWR0aDo1MCV9Omhvc3QgLmhpbnQtY29udGFpbmVye21hcmdpbi1ib3R0b206MTJweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTp0LkNoYW5nZURldGVjdG9yUmVmfV19KTtjbGFzcyBFYXtjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy5vbkNoYW5nZT1lPT57fSx0aGlzLm9uVG91Y2hlZD0oKT0+e30sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe21ldGhvZEZpbHRlcjpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxyZXF1ZXN0VG9waWNFeHByZXNzaW9uOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHJlc3BvbnNlVG9waWNFeHByZXNzaW9uOlt7dmFsdWU6bnVsbCxkaXNhYmxlZDohMH0sW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVzcG9uc2VUaW1lb3V0Olt7dmFsdWU6bnVsbCxkaXNhYmxlZDohMH0sW3VlLm1pbigxMCksdWUucGF0dGVybihMdCldXSx2YWx1ZUV4cHJlc3Npb246W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sd2l0aFJlc3BvbnNlOlshMSxbXV19KSx0aGlzLm9ic2VydmVWYWx1ZUNoYW5nZXMoKSx0aGlzLm9ic2VydmVXaXRoUmVzcG9uc2UoKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMub25DaGFuZ2U9ZX1yZWdpc3Rlck9uVG91Y2hlZChlKXt0aGlzLm9uVG91Y2hlZD1lfXZhbGlkYXRlKCl7cmV0dXJuIHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC52YWxpZD9udWxsOntycGNQYXJhbWV0ZXJzRm9ybUdyb3VwOnt2YWxpZDohMX19fXdyaXRlVmFsdWUoZSl7dGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLnBhdGNoVmFsdWUoZSx7ZW1pdEV2ZW50OiExfSksdGhpcy50b2dnbGVSZXNwb25zZUZpZWxkcyhlLndpdGhSZXNwb25zZSl9b2JzZXJ2ZVZhbHVlQ2hhbmdlcygpe3RoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpfW9ic2VydmVXaXRoUmVzcG9uc2UoKXt0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJ3aXRoUmVzcG9uc2UiKS52YWx1ZUNoYW5nZXMucGlwZShFZSgoZT0+dGhpcy50b2dnbGVSZXNwb25zZUZpZWxkcyhlKSkpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKX10b2dnbGVSZXNwb25zZUZpZWxkcyhlKXtjb25zdCB0PXRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoInJlc3BvbnNlVG9waWNFeHByZXNzaW9uIiksbj10aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJyZXNwb25zZVRpbWVvdXQiKTtlPyh0LmVuYWJsZSgpLG4uZW5hYmxlKCkpOih0LmRpc2FibGUoKSxuLmRpc2FibGUoKSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpFYSxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOkVhLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItZ2F0ZXdheS1tcXR0LXJwYy1wYXJhbWV0ZXJzIixwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5FYSkpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+RWEpKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPSJycGNQYXJhbWV0ZXJzRm9ybUdyb3VwIj5cbiAgPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2QtbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIlxuICAgICAgICAgICBwbGFjZWhvbGRlcj0iZWNobyIvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlcXVlc3RUb3BpY0V4cHJlc3Npb25cJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RUb3BpY0V4cHJlc3Npb24iXG4gICAgICAgICAgIHBsYWNlaG9sZGVyPSJzZW5zb3IvJHtkZXZpY2VOYW1lfS9yZXF1ZXN0LyR7bWV0aG9kTmFtZX0vJHtyZXF1ZXN0SWR9Ii8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXJnaW4iIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSIgZm9ybUNvbnRyb2xOYW1lPSJ3aXRoUmVzcG9uc2UiPlxuICAgIHt7IFwnZ2F0ZXdheS5ycGMud2l0aFJlc3BvbnNlXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9InJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwnd2l0aFJlc3BvbnNlXCcpPy52YWx1ZSI+XG4gICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlc3BvbnNlVG9waWNFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRvcGljRXhwcmVzc2lvbiJcbiAgICAgICAgICAgcGxhY2Vob2xkZXI9InNlbnNvci8ke2RldmljZU5hbWV9L3Jlc3BvbnNlLyR7bWV0aG9kTmFtZX0vJHtyZXF1ZXN0SWR9Ii8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtZm9ybS1maWVsZCAqbmdJZj0icnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCd3aXRoUmVzcG9uc2VcJyk/LnZhbHVlIj5cbiAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVzcG9uc2VUaW1lb3V0XCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRpbWVvdXQiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgcGxhY2Vob2xkZXI9IjEwMDAwIiBtaW49IjEwIiBzdGVwPSIxIi8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iXG4gICAgICAgICAgIHBsYWNlaG9sZGVyPSIke3BhcmFtc30iLz5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvbmctY29udGFpbmVyPlxuXG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn06aG9zdCAubWF0LW1kYy1zbGlkZS10b2dnbGUubWFyZ2lue21hcmdpbi1ib3R0b206MTBweDttYXJnaW4tbGVmdDoxMHB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTnVtYmVyVmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbmdNb2RlbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5NaW5WYWxpZGF0b3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW25nTW9kZWxdIixpbnB1dHM6WyJtaW4iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV0sY2hhbmdlRGV0ZWN0aW9uOnQuQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNofSl9fXQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6RWEsZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktbXF0dC1ycGMtcGFyYW1ldGVycyIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PkVhKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5FYSkpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILERdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0icnBjUGFyYW1ldGVyc0Zvcm1Hcm91cCI+XG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kLW5hbWVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZEZpbHRlciJcbiAgICAgICAgICAgcGxhY2Vob2xkZXI9ImVjaG8iLz5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXF1ZXN0VG9waWNFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0VG9waWNFeHByZXNzaW9uIlxuICAgICAgICAgICBwbGFjZWhvbGRlcj0ic2Vuc29yLyR7ZGV2aWNlTmFtZX0vcmVxdWVzdC8ke21ldGhvZE5hbWV9LyR7cmVxdWVzdElkfSIvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWFyZ2luIiAoY2xpY2spPSIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkiIGZvcm1Db250cm9sTmFtZT0id2l0aFJlc3BvbnNlIj5cbiAgICB7eyBcJ2dhdGV3YXkucnBjLndpdGhSZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPSJycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ3dpdGhSZXNwb25zZVwnKT8udmFsdWUiPlxuICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXNwb25zZVRvcGljRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUb3BpY0V4cHJlc3Npb24iXG4gICAgICAgICAgIHBsYWNlaG9sZGVyPSJzZW5zb3IvJHtkZXZpY2VOYW1lfS9yZXNwb25zZS8ke21ldGhvZE5hbWV9LyR7cmVxdWVzdElkfSIvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9InJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwnd2l0aFJlc3BvbnNlXCcpPy52YWx1ZSI+XG4gICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlc3BvbnNlVGltZW91dFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUaW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgIHBsYWNlaG9sZGVyPSIxMDAwMCIgbWluPSIxMCIgc3RlcD0iMSIvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnZhbHVlRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIlxuICAgICAgICAgICBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG48L25nLWNvbnRhaW5lcj5cblxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Omhvc3QgLm1hdC1tZGMtc2xpZGUtdG9nZ2xlLm1hcmdpbnttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLWxlZnQ6MTBweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfV19KTtjbGFzcyBxYXtjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy5Nb2RidXNFZGl0YWJsZURhdGFUeXBlcz10YSx0aGlzLk1vZGJ1c0Z1bmN0aW9uQ29kZVRyYW5zbGF0aW9uc01hcD16dCx0aGlzLm1vZGJ1c0RhdGFUeXBlcz1PYmplY3QudmFsdWVzKGVhKSx0aGlzLndyaXRlRnVuY3Rpb25Db2Rlcz1bNSw2LDE1LDE2XSx0aGlzLmRlZmF1bHRGdW5jdGlvbkNvZGVzPVszLDQsNiwxNl0sdGhpcy5yZWFkRnVuY3Rpb25Db2Rlcz1bMSwyLDMsNF0sdGhpcy5iaXRzRnVuY3Rpb25Db2Rlcz1bLi4udGhpcy5yZWFkRnVuY3Rpb25Db2RlcywuLi50aGlzLndyaXRlRnVuY3Rpb25Db2Rlc10sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe3R5cGU6W2VhLkJZVEVTLFt1ZS5yZXF1aXJlZF1dLGZ1bmN0aW9uQ29kZTpbdGhpcy5kZWZhdWx0RnVuY3Rpb25Db2Rlc1swXSxbdWUucmVxdWlyZWRdXSx2YWx1ZTpbe3ZhbHVlOiIiLGRpc2FibGVkOiEwfSxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxhZGRyZXNzOltudWxsLFt1ZS5yZXF1aXJlZF1dLG9iamVjdHNDb3VudDpbMSxbdWUucmVxdWlyZWRdXX0pLHRoaXMudXBkYXRlRnVuY3Rpb25Db2Rlcyh0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWUpLHRoaXMub2JzZXJ2ZVZhbHVlQ2hhbmdlcygpLHRoaXMub2JzZXJ2ZUtleURhdGFUeXBlKCksdGhpcy5vYnNlcnZlRnVuY3Rpb25Db2RlKCl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLm9uQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7dGhpcy5vblRvdWNoZWQ9ZX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAudmFsaWQ/bnVsbDp7cnBjUGFyYW1ldGVyc0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fX13cml0ZVZhbHVlKGUpe3RoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5wYXRjaFZhbHVlKGUse2VtaXRFdmVudDohMX0pfW9ic2VydmVWYWx1ZUNoYW5nZXMoKXt0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMub25DaGFuZ2UoZSksdGhpcy5vblRvdWNoZWQoKX0pKX1vYnNlcnZlS2V5RGF0YVR5cGUoKXt0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMuTW9kYnVzRWRpdGFibGVEYXRhVHlwZXMuaW5jbHVkZXMoZSl8fHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoIm9iamVjdHNDb3VudCIpLnBhdGNoVmFsdWUobmFbZV0se2VtaXRFdmVudDohMX0pLHRoaXMudXBkYXRlRnVuY3Rpb25Db2RlcyhlKX0pKX1vYnNlcnZlRnVuY3Rpb25Db2RlKCl7dGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldCgiZnVuY3Rpb25Db2RlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+dGhpcy51cGRhdGVWYWx1ZUVuYWJsaW5nKGUpKSl9dXBkYXRlVmFsdWVFbmFibGluZyhlKXt0aGlzLndyaXRlRnVuY3Rpb25Db2Rlcy5pbmNsdWRlcyhlKT90aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJ2YWx1ZSIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSk6KHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoInZhbHVlIikuc2V0VmFsdWUobnVsbCksdGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldCgidmFsdWUiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSl9dXBkYXRlRnVuY3Rpb25Db2RlcyhlKXt0aGlzLmZ1bmN0aW9uQ29kZXM9ZT09PWVhLkJJVFM/dGhpcy5iaXRzRnVuY3Rpb25Db2Rlczp0aGlzLmRlZmF1bHRGdW5jdGlvbkNvZGVzLHRoaXMuZnVuY3Rpb25Db2Rlcy5pbmNsdWRlcyh0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJmdW5jdGlvbkNvZGUiKS52YWx1ZSl8fHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoImZ1bmN0aW9uQ29kZSIpLnBhdGNoVmFsdWUodGhpcy5mdW5jdGlvbkNvZGVzWzBdLHtlbWl0RXZlbnQ6ITF9KX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnFhLGRlcHM6W3t0b2tlbjptZS5Gb3JtQnVpbGRlcn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6cWEsaXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LW1vZGJ1cy1ycGMtcGFyYW1ldGVycyIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+cWEpKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PnFhKSksbXVsdGk6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0icnBjUGFyYW1ldGVyc0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwgdGItZmxleCBuby1wYWRkaW5nLXRvcCBoaW50LWNvbnRhaW5lciI+XG4gICAge3sgXCdnYXRld2F5LnJwYy5oaW50Lm1vZGJ1cy1yZXNwb25zZS1yZWFkaW5nXCcgfCB0cmFuc2xhdGUgfX08YnI+XG4gICAge3sgXCdnYXRld2F5LnJwYy5oaW50Lm1vZGJ1cy13cml0aW5nLWZ1bmN0aW9uc1wnIHwgdHJhbnNsYXRlIH19XG4gIDwvZGl2PlxuICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBtb2RidXNEYXRhVHlwZXMiIFt2YWx1ZV09InR5cGUiPnt7IHR5cGUgfX08L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCIgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuZnVuY3Rpb25Db2RlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZnVuY3Rpb25Db2RlIj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgY29kZSBvZiBmdW5jdGlvbkNvZGVzIiBbdmFsdWVdPSJjb2RlIj57eyBNb2RidXNGdW5jdGlvbkNvZGVUcmFuc2xhdGlvbnNNYXAuZ2V0KGNvZGUpIHwgdHJhbnNsYXRlfX08L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9kaXY+XG4gIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4Ij5cbiAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCI+XG4gICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuYWRkcmVzc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG1heD0iNTAwMDAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImFkZHJlc3MiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuYWRkcmVzcy1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAqbmdJZj0icnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCdhZGRyZXNzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ2FkZHJlc3NcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICB3YXJuaW5nXG4gICAgICA8L21hdC1pY29uPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm9iamVjdHNDb3VudFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXRcbiAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgdHlwZT0ibnVtYmVyIlxuICAgICAgICBtaW49IjEiXG4gICAgICAgIG1heD0iNTAwMDAiXG4gICAgICAgIG5hbWU9InZhbHVlIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9Im9iamVjdHNDb3VudCJcbiAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgW3JlYWRvbmx5XT0iIU1vZGJ1c0VkaXRhYmxlRGF0YVR5cGVzLmluY2x1ZGVzKHJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSkiXG4gICAgICAvPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPSJ3cml0ZUZ1bmN0aW9uQ29kZXMuaW5jbHVkZXMocnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCdmdW5jdGlvbkNvZGVcJykudmFsdWUpIiBmeEZsZXggZnhMYXlvdXQ9InJvdyI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iMTAwIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy52YWx1ZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmFsdWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudmFsdWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgKm5nSWY9InJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwndmFsdWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJiBycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ3ZhbHVlXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIlxuICAgICAgPlxuICAgICAgICB3YXJuaW5nXG4gICAgICA8L21hdC1pY29uPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCAuaGludC1jb250YWluZXJ7bWFyZ2luLWJvdHRvbToxMnB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdFN1ZmZpeCxzZWxlY3RvcjoiW21hdFN1ZmZpeF0sIFttYXRJY29uU3VmZml4XSwgW21hdFRleHRTdWZmaXhdIixpbnB1dHM6WyJtYXRUZXh0U3VmZml4Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpDZS5NYXRPcHRpb24sc2VsZWN0b3I6Im1hdC1vcHRpb24iLGlucHV0czpbInZhbHVlIiwiaWQiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJvblNlbGVjdGlvbkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0T3B0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6emUuTWF0VG9vbHRpcCxzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixpbnB1dHM6WyJtYXRUb29sdGlwUG9zaXRpb24iLCJtYXRUb29sdGlwUG9zaXRpb25BdE9yaWdpbiIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBTaG93RGVsYXkiLCJtYXRUb29sdGlwSGlkZURlbGF5IiwibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcENsYXNzIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRHYXBEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0R2FwXSwgW2Z4TGF5b3V0R2FwLnhzXSwgW2Z4TGF5b3V0R2FwLnNtXSwgW2Z4TGF5b3V0R2FwLm1kXSwgIFtmeExheW91dEdhcC5sZ10sIFtmeExheW91dEdhcC54bF0sIFtmeExheW91dEdhcC5sdC1zbV0sIFtmeExheW91dEdhcC5sdC1tZF0sICBbZnhMYXlvdXRHYXAubHQtbGddLCBbZnhMYXlvdXRHYXAubHQteGxdLCBbZnhMYXlvdXRHYXAuZ3QteHNdLCBbZnhMYXlvdXRHYXAuZ3Qtc21dLCAgW2Z4TGF5b3V0R2FwLmd0LW1kXSwgW2Z4TGF5b3V0R2FwLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRHYXAiLCJmeExheW91dEdhcC54cyIsImZ4TGF5b3V0R2FwLnNtIiwiZnhMYXlvdXRHYXAubWQiLCJmeExheW91dEdhcC5sZyIsImZ4TGF5b3V0R2FwLnhsIiwiZnhMYXlvdXRHYXAubHQtc20iLCJmeExheW91dEdhcC5sdC1tZCIsImZ4TGF5b3V0R2FwLmx0LWxnIiwiZnhMYXlvdXRHYXAubHQteGwiLCJmeExheW91dEdhcC5ndC14cyIsImZ4TGF5b3V0R2FwLmd0LXNtIiwiZnhMYXlvdXRHYXAuZ3QtbWQiLCJmeExheW91dEdhcC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OdW1iZXJWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVtuZ01vZGVsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1pblZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLGlucHV0czpbIm1pbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1heFZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21heF1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21heF1bbmdNb2RlbF0iLGlucHV0czpbIm1heCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19dC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpxYSxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItZ2F0ZXdheS1tb2RidXMtcnBjLXBhcmFtZXRlcnMiLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5xYSkpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+cWEpKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxEXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09InJwY1BhcmFtZXRlcnNGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggbm8tcGFkZGluZy10b3AgaGludC1jb250YWluZXIiPlxuICAgIHt7IFwnZ2F0ZXdheS5ycGMuaGludC5tb2RidXMtcmVzcG9uc2UtcmVhZGluZ1wnIHwgdHJhbnNsYXRlIH19PGJyPlxuICAgIHt7IFwnZ2F0ZXdheS5ycGMuaGludC5tb2RidXMtd3JpdGluZy1mdW5jdGlvbnNcJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2Rpdj5cbiAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRHYXA9IjEwcHgiPlxuICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjUwIiBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy50eXBlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2YgbW9kYnVzRGF0YVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj57eyB0eXBlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmZ1bmN0aW9uQ29kZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImZ1bmN0aW9uQ29kZSI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGNvZGUgb2YgZnVuY3Rpb25Db2RlcyIgW3ZhbHVlXT0iY29kZSI+e3sgTW9kYnVzRnVuY3Rpb25Db2RlVHJhbnNsYXRpb25zTWFwLmdldChjb2RlKSB8IHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmFkZHJlc3NcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBtYXg9IjUwMDAwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJhZGRyZXNzIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmFkZHJlc3MtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgKm5nSWY9InJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwnYWRkcmVzc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCdhZGRyZXNzXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgd2FybmluZ1xuICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjUwIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5vYmplY3RzQ291bnRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0XG4gICAgICAgIG1hdElucHV0XG4gICAgICAgIHR5cGU9Im51bWJlciJcbiAgICAgICAgbWluPSIxIlxuICAgICAgICBtYXg9IjUwMDAwIlxuICAgICAgICBuYW1lPSJ2YWx1ZSJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJvYmplY3RzQ291bnQiXG4gICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgIFtyZWFkb25seV09IiFNb2RidXNFZGl0YWJsZURhdGFUeXBlcy5pbmNsdWRlcyhycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUpIlxuICAgICAgLz5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj0id3JpdGVGdW5jdGlvbkNvZGVzLmluY2x1ZGVzKHJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwnZnVuY3Rpb25Db2RlXCcpLnZhbHVlKSIgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciPlxuICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjEwMCI+XG4gICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InZhbHVlIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnZhbHVlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICpuZ0lmPSJycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ3ZhbHVlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYgcnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCd2YWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciJcbiAgICAgID5cbiAgICAgICAgd2FybmluZ1xuICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLmhpbnQtY29udGFpbmVye21hcmdpbi1ib3R0b206MTJweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfV19KTtjbGFzcyBEYXtjb25zdHJ1Y3RvcihlLHQsbixhLG8pe3RoaXMuZmI9ZSx0aGlzLmRpYWxvZz10LHRoaXMudXRpbHM9bix0aGlzLmNkPWEsdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlPW8sdGhpcy5jb250ZW50VHlwZXM9Ryx0aGlzLlJQQ0NvbW1hbmRzPVsiUGluZyIsIlN0YXRzIiwiRGV2aWNlcyIsIlVwZGF0ZSIsIlZlcnNpb24iLCJSZXN0YXJ0IiwiUmVib290Il0sdGhpcy50ZW1wbGF0ZXM9W10sdGhpcy5Db25uZWN0b3JUeXBlPV90LHRoaXMuZ2F0ZXdheUNvbm5lY3RvckRlZmF1bHRUeXBlc1RyYW5zbGF0ZXM9SHQsdGhpcy50eXBlc1dpdGhVcGRhdGVkUGFyYW1zPW5ldyBTZXQoW190Lk1RVFQsX3QuT1BDVUEsX3QuTU9EQlVTXSksdGhpcy5zdWJzY3JpcHRpb25PcHRpb25zPXtjYWxsYmFja3M6e29uRGF0YVVwZGF0ZWQ6KCk9PnRoaXMuY3R4Lm5nWm9uZS5ydW4oKCgpPT57dGhpcy51cGRhdGVUZW1wbGF0ZXMoKX0pKSxvbkRhdGFVcGRhdGVFcnJvcjooZSx0KT0+dGhpcy5jdHgubmdab25lLnJ1bigoKCk9Pnt0aGlzLm9uRGF0YVVwZGF0ZUVycm9yKHQpfSkpLGRhdGFMb2FkaW5nOigpPT57fX19LHRoaXMuY29tbWFuZEZvcm09dGhpcy5mYi5ncm91cCh7Y29tbWFuZDpbbnVsbCxbdWUucmVxdWlyZWRdXSx0aW1lOls2MCxbdWUucmVxdWlyZWQsdWUubWluKDEpXV0scGFyYW1zOlsie30iLFtJdF1dLHJlc3VsdDpbbnVsbF19KX1uZ09uSW5pdCgpe2lmKHRoaXMuaXNDb25uZWN0b3I9dGhpcy5jdHguc2V0dGluZ3MuaXNDb25uZWN0b3IsdGhpcy5pc0Nvbm5lY3Rvcil7dGhpcy5jb25uZWN0b3JUeXBlPXRoaXMuY3R4LnN0YXRlQ29udHJvbGxlci5nZXRTdGF0ZVBhcmFtcygpLmNvbm5lY3Rvcl9ycGMudmFsdWUudHlwZTtjb25zdCBlPVt7dHlwZTpGLmVudGl0eSxlbnRpdHlUeXBlOkkuREVWSUNFLGVudGl0eUlkOnRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24udGFyZ2V0RGV2aWNlSWQsZW50aXR5TmFtZToiQ29ubmVjdG9yIixhdHRyaWJ1dGVzOlt7bmFtZTpgJHt0aGlzLmNvbm5lY3RvclR5cGV9X3RlbXBsYXRlYH1dfV07dGhpcy5jdHguc3Vic2NyaXB0aW9uQXBpLmNyZWF0ZVN1YnNjcmlwdGlvbkZyb21JbmZvKEEubGF0ZXN0LGUsdGhpcy5zdWJzY3JpcHRpb25PcHRpb25zLCExLCEwKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLnN1YnNjcmlwdGlvbj1lfSkpfWVsc2UgdGhpcy5jb21tYW5kRm9ybS5nZXQoImNvbW1hbmQiKS5zZXRWYWx1ZSh0aGlzLlJQQ0NvbW1hbmRzWzBdKX1zZW5kQ29tbWFuZChlKXt0aGlzLnJlc3VsdFRpbWU9bnVsbDtjb25zdCB0PWV8fHRoaXMuY29tbWFuZEZvcm0udmFsdWUsbj10aGlzLmlzQ29ubmVjdG9yP2Ake3RoaXMuY29ubmVjdG9yVHlwZX1fYDoiZ2F0ZXdheV8iLGE9dGhpcy5pc0Nvbm5lY3Rvcj90aGlzLmdldENvbW1hbmRGcm9tUGFyYW1zQnlUeXBlKHQucGFyYW1zKTp0LmNvbW1hbmQudG9Mb3dlckNhc2UoKSxvPXQucGFyYW1zO3RoaXMuY3R4LmNvbnRyb2xBcGkuc2VuZFR3b1dheUNvbW1hbmQobithLG8sdC50aW1lKS5zdWJzY3JpYmUoe25leHQ6ZT0+e3RoaXMucmVzdWx0VGltZT0obmV3IERhdGUpLmdldFRpbWUoKSx0aGlzLmNvbW1hbmRGb3JtLmdldCgicmVzdWx0Iikuc2V0VmFsdWUoSlNPTi5zdHJpbmdpZnkoZSkpfSxlcnJvcjplPT57dGhpcy5yZXN1bHRUaW1lPShuZXcgRGF0ZSkuZ2V0VGltZSgpLGNvbnNvbGUuZXJyb3IoZSksdGhpcy5jb21tYW5kRm9ybS5nZXQoInJlc3VsdCIpLnNldFZhbHVlKEpTT04uc3RyaW5naWZ5KGUuZXJyb3IpKX19KX1nZXRDb21tYW5kRnJvbVBhcmFtc0J5VHlwZShlKXtzd2l0Y2godGhpcy5jb25uZWN0b3JUeXBlKXtjYXNlIF90Lk1RVFQ6Y2FzZSBfdC5GVFA6Y2FzZSBfdC5TTk1QOmNhc2UgX3QuUkVTVDpjYXNlIF90LlJFUVVFU1Q6cmV0dXJuIGUubWV0aG9kRmlsdGVyO2Nhc2UgX3QuTU9EQlVTOnJldHVybiBlLnRhZztjYXNlIF90LkJBQ05FVDpjYXNlIF90LkNBTjpjYXNlIF90Lk9QQ1VBOnJldHVybiBlLm1ldGhvZDtjYXNlIF90LkJMRTpjYXNlIF90Lk9DUFA6Y2FzZSBfdC5TT0NLRVQ6Y2FzZSBfdC5YTVBQOnJldHVybiBlLm1ldGhvZFJQQztkZWZhdWx0OnJldHVybiBlLmNvbW1hbmR9fXNhdmVUZW1wbGF0ZSgpe3RoaXMuZGlhbG9nLm9wZW4oTmEse2Rpc2FibGVDbG9zZTohMCxwYW5lbENsYXNzOlsidGItZGlhbG9nIiwidGItZnVsbHNjcmVlbi1kaWFsb2ciXSxkYXRhOntjb25maWc6dGhpcy5jb21tYW5kRm9ybS52YWx1ZS5wYXJhbXMsdGVtcGxhdGVzOnRoaXMudGVtcGxhdGVzfX0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChlPT57aWYoZSl7Y29uc3QgdD17bmFtZTplLGNvbmZpZzp0aGlzLmNvbW1hbmRGb3JtLnZhbHVlLnBhcmFtc30sbj10aGlzLnRlbXBsYXRlcyxhPW4uZmluZEluZGV4KChlPT5lLm5hbWU9PXQubmFtZSkpO2E+LTEmJm4uc3BsaWNlKGEsMSksbi5wdXNoKHQpO2NvbnN0IG89YCR7dGhpcy5jb25uZWN0b3JUeXBlfV90ZW1wbGF0ZWA7dGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNhdmVFbnRpdHlBdHRyaWJ1dGVzKHtpZDp0aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLnRhcmdldERldmljZUlkLGVudGl0eVR5cGU6SS5ERVZJQ0V9LEwuU0VSVkVSX1NDT1BFLFt7a2V5Om8sdmFsdWU6bn1dKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCl9KSl9fSkpfXVzZVRlbXBsYXRlKGUpe3RoaXMuY29tbWFuZEZvcm0uZ2V0KCJwYXJhbXMiKS5wYXRjaFZhbHVlKGUuY29uZmlnKX11cGRhdGVUZW1wbGF0ZXMoKXt0aGlzLnRlbXBsYXRlcz10aGlzLnN1YnNjcmlwdGlvbi5kYXRhWzBdLmRhdGFbMF1bMV0ubGVuZ3RoP0pTT04ucGFyc2UodGhpcy5zdWJzY3JpcHRpb24uZGF0YVswXS5kYXRhWzBdWzFdKTpbXSx0aGlzLmNkLmRldGVjdENoYW5nZXMoKX1vbkRhdGFVcGRhdGVFcnJvcihlKXtjb25zdCB0PXRoaXMudXRpbHMucGFyc2VFeGNlcHRpb24oZSk7bGV0IG49dC5uYW1lO3QubWVzc2FnZSYmKG4rPSI6ICIrdC5tZXNzYWdlKSxjb25zb2xlLmVycm9yKG4pfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6RGEsZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfSx7dG9rZW46SmUuTWF0RGlhbG9nfSx7dG9rZW46WC5VdGlsc1NlcnZpY2V9LHt0b2tlbjp0LkNoYW5nZURldGVjdG9yUmVmfSx7dG9rZW46WC5BdHRyaWJ1dGVTZXJ2aWNlfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpEYSxzZWxlY3RvcjoidGItZ2F0ZXdheS1zZXJ2aWNlLXJwYyIsaW5wdXRzOntjdHg6ImN0eCIsZGlhbG9nUmVmOiJkaWFsb2dSZWYifSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBmeExheW91dD0iY29sdW1uIiBmeEZsZXggW25nQ2xhc3NdPSJ7XCdib3JkZXJcJzogaXNDb25uZWN0b3J9Ij5cbiAgPGRpdiBmeExheW91dD0icm93IiBmeExheW91dC5sdC1zbT0iY29sdW1uIiBjbGFzcz0iY29tbWFuZC1mb3JtIiBmeExheW91dEdhcD0iMTBweCIgW2Zvcm1Hcm91cF09ImNvbW1hbmRGb3JtIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPSIhaXNDb25uZWN0b3I7IGVsc2UgY29ubmVjdG9yRm9ybSI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY29tbWFuZFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iY29tbWFuZCI+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgY29tbWFuZCBvZiBSUENDb21tYW5kcyIgW3ZhbHVlXT0iY29tbWFuZCI+XG4gICAgICAgICAgICB7eyBjb21tYW5kIH19XG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy50aW1lb3V0LW1zXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idGltZSIgdHlwZT0ibnVtYmVyIiBtaW49IjEiLz5cbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZEZvcm0uZ2V0KFwndGltZVwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MudGltZW91dC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAoY2xpY2spPSJzZW5kQ29tbWFuZCgpIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJjb21tYW5kRm9ybS5pbnZhbGlkIj5cbiAgICAgICAge3sgXCdnYXRld2F5LnJwYy1jb21tYW5kLXNlbmRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNjb25uZWN0b3JGb3JtPlxuICAgICAgPHRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yXG4gICAgICAgICpuZ0lmPSIhdHlwZXNXaXRoVXBkYXRlZFBhcmFtcy5oYXMoY29ubmVjdG9yVHlwZSkgZWxzZSB1cGRhdGVkUGFyYW1ldGVycyJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJwYXJhbXMiXG4gICAgICAgIFtjb25uZWN0b3JUeXBlXT0iY29ubmVjdG9yVHlwZSJcbiAgICAgICAgKHNlbmRDb21tYW5kKT0ic2VuZENvbW1hbmQoKSJcbiAgICAgICAgKHNhdmVUZW1wbGF0ZSk9InNhdmVUZW1wbGF0ZSgpIlxuICAgICAgLz5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjdXBkYXRlZFBhcmFtZXRlcnM+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9ImNvbHVtbiIgY2xhc3M9InJwYy1wYXJhbWV0ZXJzIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXQtc3VidGl0bGUtMSB0Yi1mb3JtLXBhbmVsLXRpdGxlIj57eyBcJ2dhdGV3YXkucnBjLnRpdGxlXCcgfCB0cmFuc2xhdGU6IHt0eXBlOiBnYXRld2F5Q29ubmVjdG9yRGVmYXVsdFR5cGVzVHJhbnNsYXRlcy5nZXQoY29ubmVjdG9yVHlwZSl9IH19PC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJjb25uZWN0b3JUeXBlIj5cbiAgICAgICAgICAgIDx0Yi1nYXRld2F5LW1vZGJ1cy1ycGMtcGFyYW1ldGVycyAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk1PREJVUyIgZm9ybUNvbnRyb2xOYW1lPSJwYXJhbXMiLz5cbiAgICAgICAgICAgIDx0Yi1nYXRld2F5LW1xdHQtcnBjLXBhcmFtZXRlcnMgKm5nU3dpdGNoQ2FzZT0iQ29ubmVjdG9yVHlwZS5NUVRUIiBmb3JtQ29udHJvbE5hbWU9InBhcmFtcyIvPlxuICAgICAgICAgICAgPHRiLWdhdGV3YXktb3BjLXJwYy1wYXJhbWV0ZXJzICpuZ1N3aXRjaENhc2U9IkNvbm5lY3RvclR5cGUuT1BDVUEiIGZvcm1Db250cm9sTmFtZT0icGFyYW1zIi8+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGVtcGxhdGUtYWN0aW9ucyIgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiIGZ4TGF5b3V0R2FwPSIxMHB4Ij5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ic2F2ZVRlbXBsYXRlKCkiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09ImNvbW1hbmRGb3JtLmdldChcJ3BhcmFtc1wnKS5pbnZhbGlkIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJwYy1jb21tYW5kLXNhdmUtdGVtcGxhdGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJzZW5kQ29tbWFuZCgpIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJjb21tYW5kRm9ybS5nZXQoXCdwYXJhbXNcJykuaW52YWxpZCI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1zZW5kXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG4gIDxzZWN0aW9uIGNsYXNzPSJyZXN1bHQtYmxvY2siIFtmb3JtR3JvdXBdPSJjb21tYW5kRm9ybSI+XG4gICAgPHNwYW4+e3sgXCdnYXRld2F5LnJwYy1jb21tYW5kLXJlc3VsdFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8ZGl2ICpuZ0lmPSJyZXN1bHRUaW1lIiBjbGFzcz0icmVzdWx0LXRpbWUiIGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+c2NoZWR1bGU8L21hdC1pY29uPlxuICAgICAgICA8c3Bhbj57eyByZXN1bHRUaW1lIHwgZGF0ZTogXCd5eXl5L01NL2RkIEhIOm1tOnNzXCcgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NwYW4+XG4gICAgPHRiLWpzb24tY29udGVudCBbY29udGVudFR5cGVdPSJjb250ZW50VHlwZXMuSlNPTiIgcmVhZG9ubHk9InRydWUiIGZvcm1Db250cm9sTmFtZT0icmVzdWx0Ij48L3RiLWpzb24tY29udGVudD5cbiAgPC9zZWN0aW9uPlxuPC9kaXY+XG48dGItZ2F0ZXdheS1zZXJ2aWNlLXJwYy1jb25uZWN0b3ItdGVtcGxhdGVzIGZ4RmxleD0iMzAiICpuZ0lmPSJpc0Nvbm5lY3RvciIgY2xhc3M9ImJvcmRlciIgW3JwY1RlbXBsYXRlc109InRlbXBsYXRlcyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2N0eF09ImN0eCIgW2Nvbm5lY3RvclR5cGVdPSJjb25uZWN0b3JUeXBlIiAodXNlVGVtcGxhdGUpPSJ1c2VUZW1wbGF0ZSgkZXZlbnQpIj5cbjwvdGItZ2F0ZXdheS1zZXJ2aWNlLXJwYy1jb25uZWN0b3ItdGVtcGxhdGVzPlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6YXV0bztkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O3BhZGRpbmc6MCA1cHh9Omhvc3Q+KntoZWlnaHQ6MTAwJTtvdmVyZmxvdzphdXRvfTpob3N0PnRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yLXRlbXBsYXRlczpsYXN0LWNoaWxke21hcmdpbi1sZWZ0OjEwcHh9Omhvc3QgLmNvbW1hbmQtZm9ybXtmbGV4LXdyYXA6bm93cmFwO3BhZGRpbmc6MCA1cHggNXB4fTpob3N0IC5jb21tYW5kLWZvcm0+YnV0dG9ue21hcmdpbi10b3A6MTBweH06aG9zdCAucnBjLXBhcmFtZXRlcnN7d2lkdGg6MTAwJX06aG9zdCAucmVzdWx0LWJsb2Nre3BhZGRpbmc6MCA1cHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4OjF9Omhvc3QgLnJlc3VsdC1ibG9jaz5zcGFue2ZvbnQtd2VpZ2h0OjYwMDtwb3NpdGlvbjpyZWxhdGl2ZTtmb250LXNpemU6MTRweDttYXJnaW4tYm90dG9tOjEwcHh9Omhvc3QgLnJlc3VsdC1ibG9jaz5zcGFuIC5yZXN1bHQtdGltZXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MzJweDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjI1cHg7ei1pbmRleDo1O2NvbG9yOiMwMDAwMDA4YX06aG9zdCAucmVzdWx0LWJsb2NrPnNwYW4gLnJlc3VsdC10aW1lIHNwYW57cGFkZGluZy1sZWZ0OjEwcHh9Omhvc3QgLnJlc3VsdC1ibG9jayB0Yi1qc29uLWNvbnRlbnR7ZmxleDoxfTpob3N0IC5ib3JkZXJ7cGFkZGluZzoxNnB4O2JveC1zaGFkb3c6MCAwICMwMDAzLDAgMCAjMDAwMDAwMjQsMCAwICMwMDAwMDAxZjtib3JkZXI6c29saWQgMXB4ICNlMGUwZTA7Ym9yZGVyLXJhZGl1czo0cHh9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0NsYXNzLHNlbGVjdG9yOiJbbmdDbGFzc10iLGlucHV0czpbImNsYXNzIiwibmdDbGFzcyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoLHNlbGVjdG9yOiJbbmdTd2l0Y2hdIixpbnB1dHM6WyJuZ1N3aXRjaCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdTd2l0Y2hDYXNlLHNlbGVjdG9yOiJbbmdTd2l0Y2hDYXNlXSIsaW5wdXRzOlsibmdTd2l0Y2hDYXNlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6c3QuSnNvbkNvbnRlbnRDb21wb25lbnQsc2VsZWN0b3I6InRiLWpzb24tY29udGVudCIsaW5wdXRzOlsibGFiZWwiLCJjb250ZW50VHlwZSIsImRpc2FibGVkIiwiZmlsbEhlaWdodCIsImVkaXRvclN0eWxlIiwidGJQbGFjZWhvbGRlciIsImhpZGVUb29sYmFyIiwicmVhZG9ubHkiLCJ2YWxpZGF0ZUNvbnRlbnQiLCJ2YWxpZGF0ZU9uQ2hhbmdlIiwicmVxdWlyZWQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdEVycm9yLHNlbGVjdG9yOiJtYXQtZXJyb3IsIFttYXRFcnJvcl0iLGlucHV0czpbImlkIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpDZS5NYXRPcHRpb24sc2VsZWN0b3I6Im1hdC1vcHRpb24iLGlucHV0czpbInZhbHVlIiwiaWQiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJvblNlbGVjdGlvbkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0T3B0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRHYXBEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0R2FwXSwgW2Z4TGF5b3V0R2FwLnhzXSwgW2Z4TGF5b3V0R2FwLnNtXSwgW2Z4TGF5b3V0R2FwLm1kXSwgIFtmeExheW91dEdhcC5sZ10sIFtmeExheW91dEdhcC54bF0sIFtmeExheW91dEdhcC5sdC1zbV0sIFtmeExheW91dEdhcC5sdC1tZF0sICBbZnhMYXlvdXRHYXAubHQtbGddLCBbZnhMYXlvdXRHYXAubHQteGxdLCBbZnhMYXlvdXRHYXAuZ3QteHNdLCBbZnhMYXlvdXRHYXAuZ3Qtc21dLCAgW2Z4TGF5b3V0R2FwLmd0LW1kXSwgW2Z4TGF5b3V0R2FwLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRHYXAiLCJmeExheW91dEdhcC54cyIsImZ4TGF5b3V0R2FwLnNtIiwiZnhMYXlvdXRHYXAubWQiLCJmeExheW91dEdhcC5sZyIsImZ4TGF5b3V0R2FwLnhsIiwiZnhMYXlvdXRHYXAubHQtc20iLCJmeExheW91dEdhcC5sdC1tZCIsImZ4TGF5b3V0R2FwLmx0LWxnIiwiZnhMYXlvdXRHYXAubHQteGwiLCJmeExheW91dEdhcC5ndC14cyIsImZ4TGF5b3V0R2FwLmd0LXNtIiwiZnhMYXlvdXRHYXAuZ3QtbWQiLCJmeExheW91dEdhcC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRDbGFzc0RpcmVjdGl2ZSxzZWxlY3RvcjoiICBbbmdDbGFzc10sIFtuZ0NsYXNzLnhzXSwgW25nQ2xhc3Muc21dLCBbbmdDbGFzcy5tZF0sIFtuZ0NsYXNzLmxnXSwgW25nQ2xhc3MueGxdLCAgW25nQ2xhc3MubHQtc21dLCBbbmdDbGFzcy5sdC1tZF0sIFtuZ0NsYXNzLmx0LWxnXSwgW25nQ2xhc3MubHQteGxdLCAgW25nQ2xhc3MuZ3QteHNdLCBbbmdDbGFzcy5ndC1zbV0sIFtuZ0NsYXNzLmd0LW1kXSwgW25nQ2xhc3MuZ3QtbGddIixpbnB1dHM6WyJuZ0NsYXNzIiwibmdDbGFzcy54cyIsIm5nQ2xhc3Muc20iLCJuZ0NsYXNzLm1kIiwibmdDbGFzcy5sZyIsIm5nQ2xhc3MueGwiLCJuZ0NsYXNzLmx0LXNtIiwibmdDbGFzcy5sdC1tZCIsIm5nQ2xhc3MubHQtbGciLCJuZ0NsYXNzLmx0LXhsIiwibmdDbGFzcy5ndC14cyIsIm5nQ2xhc3MuZ3Qtc20iLCJuZ0NsYXNzLmd0LW1kIiwibmdDbGFzcy5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOk1hLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LW9wYy1ycGMtcGFyYW1ldGVycyJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6RWEsc2VsZWN0b3I6InRiLWdhdGV3YXktbXF0dC1ycGMtcGFyYW1ldGVycyJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6cWEsc2VsZWN0b3I6InRiLWdhdGV3YXktbW9kYnVzLXJwYy1wYXJhbWV0ZXJzIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpGYSxzZWxlY3RvcjoidGItZ2F0ZXdheS1zZXJ2aWNlLXJwYy1jb25uZWN0b3ItdGVtcGxhdGVzIixpbnB1dHM6WyJjb25uZWN0b3JUeXBlIiwiY3R4IiwicnBjVGVtcGxhdGVzIl0sb3V0cHV0czpbInNhdmVUZW1wbGF0ZSIsInVzZVRlbXBsYXRlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6QWEsc2VsZWN0b3I6InRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yIixpbnB1dHM6WyJjb25uZWN0b3JUeXBlIl0sb3V0cHV0czpbInNlbmRDb21tYW5kIiwic2F2ZVRlbXBsYXRlIl19LHtraW5kOiJwaXBlIix0eXBlOl8uRGF0ZVBpcGUsbmFtZToiZGF0ZSJ9LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV19KX19ZSgiR2F0ZXdheVNlcnZpY2VSUENDb21wb25lbnQiLERhKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkRhLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1nYXRld2F5LXNlcnZpY2UtcnBjIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgZnhMYXlvdXQ9ImNvbHVtbiIgZnhGbGV4IFtuZ0NsYXNzXT0ie1wnYm9yZGVyXCc6IGlzQ29ubmVjdG9yfSI+XG4gIDxkaXYgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXQubHQtc209ImNvbHVtbiIgY2xhc3M9ImNvbW1hbmQtZm9ybSIgZnhMYXlvdXRHYXA9IjEwcHgiIFtmb3JtR3JvdXBdPSJjb21tYW5kRm9ybSI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iIWlzQ29ubmVjdG9yOyBlbHNlIGNvbm5lY3RvckZvcm0iPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImNvbW1hbmQiPlxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGNvbW1hbmQgb2YgUlBDQ29tbWFuZHMiIFt2YWx1ZV09ImNvbW1hbmQiPlxuICAgICAgICAgICAge3sgY29tbWFuZCB9fVxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3MudGltZW91dC1tc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InRpbWUiIHR5cGU9Im51bWJlciIgbWluPSIxIi8+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbW1hbmRGb3JtLmdldChcJ3RpbWVcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnRpbWVvdXQtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgKGNsaWNrKT0ic2VuZENvbW1hbmQoKSJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iY29tbWFuZEZvcm0uaW52YWxpZCI+XG4gICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1zZW5kXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjY29ubmVjdG9yRm9ybT5cbiAgICAgIDx0Yi1nYXRld2F5LXNlcnZpY2UtcnBjLWNvbm5lY3RvclxuICAgICAgICAqbmdJZj0iIXR5cGVzV2l0aFVwZGF0ZWRQYXJhbXMuaGFzKGNvbm5lY3RvclR5cGUpIGVsc2UgdXBkYXRlZFBhcmFtZXRlcnMiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT0icGFyYW1zIlxuICAgICAgICBbY29ubmVjdG9yVHlwZV09ImNvbm5lY3RvclR5cGUiXG4gICAgICAgIChzZW5kQ29tbWFuZCk9InNlbmRDb21tYW5kKCkiXG4gICAgICAgIChzYXZlVGVtcGxhdGUpPSJzYXZlVGVtcGxhdGUoKSJcbiAgICAgIC8+XG4gICAgICA8bmctdGVtcGxhdGUgI3VwZGF0ZWRQYXJhbWV0ZXJzPlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iIGNsYXNzPSJycGMtcGFyYW1ldGVycyI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0ibWF0LXN1YnRpdGxlLTEgdGItZm9ybS1wYW5lbC10aXRsZSI+e3sgXCdnYXRld2F5LnJwYy50aXRsZVwnIHwgdHJhbnNsYXRlOiB7dHlwZTogZ2F0ZXdheUNvbm5lY3RvckRlZmF1bHRUeXBlc1RyYW5zbGF0ZXMuZ2V0KGNvbm5lY3RvclR5cGUpfSB9fTwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT0iY29ubmVjdG9yVHlwZSI+XG4gICAgICAgICAgICA8dGItZ2F0ZXdheS1tb2RidXMtcnBjLXBhcmFtZXRlcnMgKm5nU3dpdGNoQ2FzZT0iQ29ubmVjdG9yVHlwZS5NT0RCVVMiIGZvcm1Db250cm9sTmFtZT0icGFyYW1zIi8+XG4gICAgICAgICAgICA8dGItZ2F0ZXdheS1tcXR0LXJwYy1wYXJhbWV0ZXJzICpuZ1N3aXRjaENhc2U9IkNvbm5lY3RvclR5cGUuTVFUVCIgZm9ybUNvbnRyb2xOYW1lPSJwYXJhbXMiLz5cbiAgICAgICAgICAgIDx0Yi1nYXRld2F5LW9wYy1ycGMtcGFyYW1ldGVycyAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk9QQ1VBIiBmb3JtQ29udHJvbE5hbWU9InBhcmFtcyIvPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRlbXBsYXRlLWFjdGlvbnMiIGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJlbmQgY2VudGVyIiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9InNhdmVUZW1wbGF0ZSgpIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJjb21tYW5kRm9ybS5nZXQoXCdwYXJhbXNcJykuaW52YWxpZCI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1zYXZlLXRlbXBsYXRlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ic2VuZENvbW1hbmQoKSJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iY29tbWFuZEZvcm0uZ2V0KFwncGFyYW1zXCcpLmludmFsaWQiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLWNvbW1hbmQtc2VuZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuICA8c2VjdGlvbiBjbGFzcz0icmVzdWx0LWJsb2NrIiBbZm9ybUdyb3VwXT0iY29tbWFuZEZvcm0iPlxuICAgIDxzcGFuPnt7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1yZXN1bHRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPGRpdiAqbmdJZj0icmVzdWx0VGltZSIgY2xhc3M9InJlc3VsdC10aW1lIiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPnNjaGVkdWxlPC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4+e3sgcmVzdWx0VGltZSB8IGRhdGU6IFwneXl5eS9NTS9kZCBISDptbTpzc1wnIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9zcGFuPlxuICAgIDx0Yi1qc29uLWNvbnRlbnQgW2NvbnRlbnRUeXBlXT0iY29udGVudFR5cGVzLkpTT04iIHJlYWRvbmx5PSJ0cnVlIiBmb3JtQ29udHJvbE5hbWU9InJlc3VsdCI+PC90Yi1qc29uLWNvbnRlbnQ+XG4gIDwvc2VjdGlvbj5cbjwvZGl2PlxuPHRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yLXRlbXBsYXRlcyBmeEZsZXg9IjMwIiAqbmdJZj0iaXNDb25uZWN0b3IiIGNsYXNzPSJib3JkZXIiIFtycGNUZW1wbGF0ZXNdPSJ0ZW1wbGF0ZXMiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjdHhdPSJjdHgiIFtjb25uZWN0b3JUeXBlXT0iY29ubmVjdG9yVHlwZSIgKHVzZVRlbXBsYXRlKT0idXNlVGVtcGxhdGUoJGV2ZW50KSI+XG48L3RiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yLXRlbXBsYXRlcz5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO292ZXJmbG93OmF1dG87ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztwYWRkaW5nOjAgNXB4fTpob3N0Pip7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6YXV0b306aG9zdD50Yi1nYXRld2F5LXNlcnZpY2UtcnBjLWNvbm5lY3Rvci10ZW1wbGF0ZXM6bGFzdC1jaGlsZHttYXJnaW4tbGVmdDoxMHB4fTpob3N0IC5jb21tYW5kLWZvcm17ZmxleC13cmFwOm5vd3JhcDtwYWRkaW5nOjAgNXB4IDVweH06aG9zdCAuY29tbWFuZC1mb3JtPmJ1dHRvbnttYXJnaW4tdG9wOjEwcHh9Omhvc3QgLnJwYy1wYXJhbWV0ZXJze3dpZHRoOjEwMCV9Omhvc3QgLnJlc3VsdC1ibG9ja3twYWRkaW5nOjAgNXB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleDoxfTpob3N0IC5yZXN1bHQtYmxvY2s+c3Bhbntmb250LXdlaWdodDo2MDA7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1zaXplOjE0cHg7bWFyZ2luLWJvdHRvbToxMHB4fTpob3N0IC5yZXN1bHQtYmxvY2s+c3BhbiAucmVzdWx0LXRpbWV7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjMycHg7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDoyNXB4O3otaW5kZXg6NTtjb2xvcjojMDAwMDAwOGF9Omhvc3QgLnJlc3VsdC1ibG9jaz5zcGFuIC5yZXN1bHQtdGltZSBzcGFue3BhZGRpbmctbGVmdDoxMHB4fTpob3N0IC5yZXN1bHQtYmxvY2sgdGItanNvbi1jb250ZW50e2ZsZXg6MX06aG9zdCAuYm9yZGVye3BhZGRpbmc6MTZweDtib3gtc2hhZG93OjAgMCAjMDAwMywwIDAgIzAwMDAwMDI0LDAgMCAjMDAwMDAwMWY7Ym9yZGVyOnNvbGlkIDFweCAjZTBlMGUwO2JvcmRlci1yYWRpdXM6NHB4fVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9LHt0eXBlOkplLk1hdERpYWxvZ30se3R5cGU6WC5VdGlsc1NlcnZpY2V9LHt0eXBlOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9LHt0eXBlOlguQXR0cmlidXRlU2VydmljZX1dLHByb3BEZWNvcmF0b3JzOntjdHg6W3t0eXBlOmF9XSxkaWFsb2dSZWY6W3t0eXBlOmF9XX19KTtjbGFzcyBQYSBleHRlbmRzIFB7Y29uc3RydWN0b3IoZSx0LG4sYSxvKXtzdXBlcihlLHQsYSksdGhpcy5zdG9yZT1lLHRoaXMucm91dGVyPXQsdGhpcy5kYXRhPW4sdGhpcy5kaWFsb2dSZWY9YSx0aGlzLmZiPW8sdGhpcy5nYXRld2F5TmFtZT10aGlzLmRhdGEuZ2F0ZXdheU5hbWUsdGhpcy5nYXRld2F5Q29udHJvbD10aGlzLmZiLmNvbnRyb2woIiIpfWNsb3NlKCl7dGhpcy5kaWFsb2dSZWYuY2xvc2UoKX10dXJuT2ZmKCl7dGhpcy5kaWFsb2dSZWYuY2xvc2UoITApfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6UGEsZGVwczpbe3Rva2VuOm90LlN0b3JlfSx7dG9rZW46aXQuUm91dGVyfSx7dG9rZW46WGV9LHt0b2tlbjpKZS5NYXREaWFsb2dSZWZ9LHt0b2tlbjptZS5Gb3JtQnVpbGRlcn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6UGEsc2VsZWN0b3I6InRiLWdhdGV3YXktcmVtb3RlLWNvbmZpZ3VyYXRpb24tZGlhbG9nIix1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdG9vbGJhciBjb2xvcj0id2FybiI+XG4gIDxtYXQtaWNvbj53YXJuaW5nPC9tYXQtaWNvbj5cbiAgPGgyIHRyYW5zbGF0ZT5nYXRld2F5LmNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1oZWFkZXI8L2gyPlxuICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgIChjbGljayk9ImNsb3NlKCkiXG4gICAgICAgICAgdHlwZT0iYnV0dG9uIj5cbiAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9tYXQtdG9vbGJhcj5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IHN0eWxlPSJtYXgtd2lkdGg6IDYwMHB4IiBjbGFzcz0ibWF0LWNvbnRlbnQiIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICA8c3BhbiBpbm5lckhUTUw9Int7IFwnZ2F0ZXdheS5jb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctYm9keVwnIHwgdHJhbnNsYXRlIH19IDxiPnt7IGdhdGV3YXlOYW1lIH19PC9iPiIgPjwvc3Bhbj5cbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2sgdGItdmFsdWUtdHlwZSIgc3R5bGU9ImZsZXgtZ3JvdzogMCI+XG4gICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5jb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaW5wdXQ8L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT0iZ2F0ZXdheUNvbnRyb2wiIHJlcXVpcmVkLz5cbiAgICA8bWF0LWVycm9yXG4gICAgICAqbmdJZj0iZ2F0ZXdheUNvbnRyb2wuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICB7eyBcJ2dhdGV3YXkuY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0id2FybiJcbiAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgKGNsaWNrKT0iY2xvc2UoKSI+XG4gICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG4gIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0id2FybiJcbiAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgW2Rpc2FibGVkXT0iZ2F0ZXdheUNvbnRyb2wudmFsdWUgIT09IGdhdGV3YXlOYW1lIlxuICAgICAgICAgIChjbGljayk9InR1cm5PZmYoKSI+XG4gICAge3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1jb25maXJtXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG48L2Rpdj5cbicsZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0RXJyb3Isc2VsZWN0b3I6Im1hdC1lcnJvciwgW21hdEVycm9yXSIsaW5wdXRzOlsiaWQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpKZS5NYXREaWFsb2dBY3Rpb25zLHNlbGVjdG9yOiJbbWF0LWRpYWxvZy1hY3Rpb25zXSwgbWF0LWRpYWxvZy1hY3Rpb25zLCBbbWF0RGlhbG9nQWN0aW9uc10iLGlucHV0czpbImFsaWduIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQ29udGVudCxzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5SZXF1aXJlZFZhbGlkYXRvcixzZWxlY3RvcjoiOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbE5hbWVdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bbmdNb2RlbF0iLGlucHV0czpbInJlcXVpcmVkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlkuVHJhbnNsYXRlRGlyZWN0aXZlLHNlbGVjdG9yOiJbdHJhbnNsYXRlXSxbbmd4LXRyYW5zbGF0ZV0iLGlucHV0czpbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZVBhcmFtcyJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn1dfSl9fXZhciBHYTtlKCJHYXRld2F5UmVtb3RlQ29uZmlndXJhdGlvbkRpYWxvZ0NvbXBvbmVudCIsUGEpLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6UGEsZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktcmVtb3RlLWNvbmZpZ3VyYXRpb24tZGlhbG9nIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdG9vbGJhciBjb2xvcj0id2FybiI+XG4gIDxtYXQtaWNvbj53YXJuaW5nPC9tYXQtaWNvbj5cbiAgPGgyIHRyYW5zbGF0ZT5nYXRld2F5LmNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1oZWFkZXI8L2gyPlxuICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgIChjbGljayk9ImNsb3NlKCkiXG4gICAgICAgICAgdHlwZT0iYnV0dG9uIj5cbiAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9tYXQtdG9vbGJhcj5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IHN0eWxlPSJtYXgtd2lkdGg6IDYwMHB4IiBjbGFzcz0ibWF0LWNvbnRlbnQiIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICA8c3BhbiBpbm5lckhUTUw9Int7IFwnZ2F0ZXdheS5jb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctYm9keVwnIHwgdHJhbnNsYXRlIH19IDxiPnt7IGdhdGV3YXlOYW1lIH19PC9iPiIgPjwvc3Bhbj5cbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2sgdGItdmFsdWUtdHlwZSIgc3R5bGU9ImZsZXgtZ3JvdzogMCI+XG4gICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5jb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaW5wdXQ8L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT0iZ2F0ZXdheUNvbnRyb2wiIHJlcXVpcmVkLz5cbiAgICA8bWF0LWVycm9yXG4gICAgICAqbmdJZj0iZ2F0ZXdheUNvbnRyb2wuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICB7eyBcJ2dhdGV3YXkuY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0id2FybiJcbiAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgKGNsaWNrKT0iY2xvc2UoKSI+XG4gICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG4gIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0id2FybiJcbiAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgW2Rpc2FibGVkXT0iZ2F0ZXdheUNvbnRyb2wudmFsdWUgIT09IGdhdGV3YXlOYW1lIlxuICAgICAgICAgIChjbGljayk9InR1cm5PZmYoKSI+XG4gICAge3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1jb25maXJtXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG48L2Rpdj5cbid9XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6b3QuU3RvcmV9LHt0eXBlOml0LlJvdXRlcn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOnAsYXJnczpbWGVdfV19LHt0eXBlOkplLk1hdERpYWxvZ1JlZn0se3R5cGU6bWUuRm9ybUJ1aWxkZXJ9XX0pLGZ1bmN0aW9uKGUpe2UudGxzPSJ0bHMiLGUuYWNjZXNzVG9rZW49ImFjY2Vzc1Rva2VuIn0oR2F8fChHYT17fSkpO2NvbnN0IE9hPSJjb25maWd1cmF0aW9uX2RyYWZ0cyIsUmE9IlJlbW90ZUxvZ2dpbmdMZXZlbCIsVmE9bmV3IE1hcChbW0dhLnRscywiZ2F0ZXdheS5zZWN1cml0eS10eXBlcy50bHMiXSxbR2EuYWNjZXNzVG9rZW4sImdhdGV3YXkuc2VjdXJpdHktdHlwZXMuYWNjZXNzLXRva2VuIl1dKTt2YXIgQmEsVWE7IWZ1bmN0aW9uKGUpe2Uubm9uZT0iTk9ORSIsZS5jcml0aWNhbD0iQ1JJVElDQUwiLGUuZXJyb3I9IkVSUk9SIixlLndhcm5pbmc9IldBUk5JTkciLGUuaW5mbz0iSU5GTyIsZS5kZWJ1Zz0iREVCVUcifShCYXx8KEJhPXt9KSksZnVuY3Rpb24oZSl7ZS5tZW1vcnk9Im1lbW9yeSIsZS5maWxlPSJmaWxlIn0oVWF8fChVYT17fSkpO2NvbnN0IF9hPW5ldyBNYXAoW1tVYS5tZW1vcnksImdhdGV3YXkuc3RvcmFnZS10eXBlcy5tZW1vcnktc3RvcmFnZSJdLFtVYS5maWxlLCJnYXRld2F5LnN0b3JhZ2UtdHlwZXMuZmlsZS1zdG9yYWdlIl1dKTt2YXIgSGE7IWZ1bmN0aW9uKGUpe2UubXF0dD0iTVFUVCIsZS5tb2RidXM9Ik1vZGJ1cyIsZS5vcGN1YT0iT1BDLVVBIixlLmJsZT0iQkxFIixlLnJlcXVlc3Q9IlJlcXVlc3QiLGUuY2FuPSJDQU4iLGUuYmFjbmV0PSJCQUNuZXQiLGUuY3VzdG9tPSJDdXN0b20ifShIYXx8KEhhPXt9KSk7Y29uc3QgemE9e2NvbmZpZzp7fSxuYW1lOiIiLGNvbmZpZ1R5cGU6bnVsbCxlbmFibGVkOiExfTtmdW5jdGlvbiBXYShlKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZS52YWx1ZSk9PT1KU09OLnN0cmluZ2lmeSh7fSk/e3ZhbGlkSlNPTjohMH06bnVsbH1jb25zdCBqYT0nW2xvZ2dlcnNdfX1rZXlzPXJvb3QsIHNlcnZpY2UsIGNvbm5lY3RvciwgY29udmVydGVyLCB0Yl9jb25uZWN0aW9uLCBzdG9yYWdlLCBleHRlbnNpb259fVtoYW5kbGVyc119fWtleXM9Y29uc29sZUhhbmRsZXIsIHNlcnZpY2VIYW5kbGVyLCBjb25uZWN0b3JIYW5kbGVyLCBjb252ZXJ0ZXJIYW5kbGVyLCB0Yl9jb25uZWN0aW9uSGFuZGxlciwgc3RvcmFnZUhhbmRsZXIsIGV4dGVuc2lvbkhhbmRsZXJ9fVtmb3JtYXR0ZXJzXX19a2V5cz1Mb2dGb3JtYXR0ZXJ9fVtsb2dnZXJfcm9vdF19fWxldmVsPUVSUk9SfX1oYW5kbGVycz1jb25zb2xlSGFuZGxlcn19W2xvZ2dlcl9jb25uZWN0b3JdfX1sZXZlbD17RVJST1J9fX1oYW5kbGVycz1jb25uZWN0b3JIYW5kbGVyfX1mb3JtYXR0ZXI9TG9nRm9ybWF0dGVyfX1xdWFsbmFtZT1jb25uZWN0b3J9fVtsb2dnZXJfc3RvcmFnZV19fWxldmVsPXtFUlJPUn19fWhhbmRsZXJzPXN0b3JhZ2VIYW5kbGVyfX1mb3JtYXR0ZXI9TG9nRm9ybWF0dGVyfX1xdWFsbmFtZT1zdG9yYWdlfX1bbG9nZ2VyX3RiX2Nvbm5lY3Rpb25dfX1sZXZlbD17RVJST1J9fX1oYW5kbGVycz10Yl9jb25uZWN0aW9uSGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19cXVhbG5hbWU9dGJfY29ubmVjdGlvbn19W2xvZ2dlcl9zZXJ2aWNlXX19bGV2ZWw9e0VSUk9SfX19aGFuZGxlcnM9c2VydmljZUhhbmRsZXJ9fWZvcm1hdHRlcj1Mb2dGb3JtYXR0ZXJ9fXF1YWxuYW1lPXNlcnZpY2V9fVtsb2dnZXJfY29udmVydGVyXX19bGV2ZWw9e0VSUk9SfX19aGFuZGxlcnM9Y29udmVydGVySGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19cXVhbG5hbWU9Y29udmVydGVyfX1bbG9nZ2VyX2V4dGVuc2lvbl19fWxldmVsPXtFUlJPUn19fWhhbmRsZXJzPWNvbm5lY3RvckhhbmRsZXJ9fWZvcm1hdHRlcj1Mb2dGb3JtYXR0ZXJ9fXF1YWxuYW1lPWV4dGVuc2lvbn19W2hhbmRsZXJfY29uc29sZUhhbmRsZXJdfX1jbGFzcz1TdHJlYW1IYW5kbGVyfX1sZXZlbD17RVJST1J9fX1mb3JtYXR0ZXI9TG9nRm9ybWF0dGVyfX1hcmdzPShzeXMuc3Rkb3V0LCl9fVtoYW5kbGVyX2Nvbm5lY3RvckhhbmRsZXJdfX1sZXZlbD17RVJST1J9fX1jbGFzcz1sb2dnaW5nLmhhbmRsZXJzLlRpbWVkUm90YXRpbmdGaWxlSGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19YXJncz0oInsuL2xvZ3MvfWNvbm5lY3Rvci5sb2ciLCAiZCIsIDEsIDcsKX19W2hhbmRsZXJfc3RvcmFnZUhhbmRsZXJdfX1sZXZlbD17RVJST1J9fX1jbGFzcz1sb2dnaW5nLmhhbmRsZXJzLlRpbWVkUm90YXRpbmdGaWxlSGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19YXJncz0oInsuL2xvZ3MvfXN0b3JhZ2UubG9nIiwgImQiLCAxLCA3LCl9fVtoYW5kbGVyX3NlcnZpY2VIYW5kbGVyXX19bGV2ZWw9e0VSUk9SfX19Y2xhc3M9bG9nZ2luZy5oYW5kbGVycy5UaW1lZFJvdGF0aW5nRmlsZUhhbmRsZXJ9fWZvcm1hdHRlcj1Mb2dGb3JtYXR0ZXJ9fWFyZ3M9KCJ7Li9sb2dzL31zZXJ2aWNlLmxvZyIsICJkIiwgMSwgNywpfX1baGFuZGxlcl9jb252ZXJ0ZXJIYW5kbGVyXX19bGV2ZWw9e0VSUk9SfX19Y2xhc3M9bG9nZ2luZy5oYW5kbGVycy5UaW1lZFJvdGF0aW5nRmlsZUhhbmRsZXJ9fWZvcm1hdHRlcj1Mb2dGb3JtYXR0ZXJ9fWFyZ3M9KCJ7Li9sb2dzL31jb252ZXJ0ZXIubG9nIiwgImQiLCAxLCAzLCl9fVtoYW5kbGVyX2V4dGVuc2lvbkhhbmRsZXJdfX1sZXZlbD17RVJST1J9fX1jbGFzcz1sb2dnaW5nLmhhbmRsZXJzLlRpbWVkUm90YXRpbmdGaWxlSGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19YXJncz0oInsuL2xvZ3MvfWV4dGVuc2lvbi5sb2ciLCAiZCIsIDEsIDMsKX19W2hhbmRsZXJfdGJfY29ubmVjdGlvbkhhbmRsZXJdfX1sZXZlbD17RVJST1J9fX1jbGFzcz1sb2dnaW5nLmhhbmRsZXJzLlRpbWVkUm90YXRpbmdGaWxlSGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19YXJncz0oInsuL2xvZ3MvfXRiX2Nvbm5lY3Rpb24ubG9nIiwgImQiLCAxLCAzLCl9fVtmb3JtYXR0ZXJfTG9nRm9ybWF0dGVyXX19Zm9ybWF0PSIlKGFzY3RpbWUpcyAtICUobGV2ZWxuYW1lKXMgLSBbJShmaWxlbmFtZSlzXSAtICUobW9kdWxlKXMgLSAlKGxpbmVubylkIC0gJShtZXNzYWdlKXMiIH19ZGF0ZWZtdD0iJVktJW0tJWQgJUg6JU06JVMiJztmdW5jdGlvbiBLYShlKXtyZXR1cm4gZS5yZXBsYWNlKCJfIiwiIikucmVwbGFjZSgiLSIsIiIpLnJlcGxhY2UoL15ccyt8XHMrL2csIiIpLnRvTG93ZXJDYXNlKCkrIi5qc29uIn1mdW5jdGlvbiAkYShlLHQpe3JldHVybiBqYS5yZXBsYWNlKC97RVJST1J9L2csZSkucmVwbGFjZSgvey5cL2xvZ3NcL30vZyx0KX1mdW5jdGlvbiBZYShlKXtyZXR1cm57aWQ6ZSxlbnRpdHlUeXBlOkkuREVWSUNFfX1mdW5jdGlvbiBRYShlKXtjb25zdCB0PXt9O3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwidGhpbmdzYm9hcmQiKSYmKHQuaG9zdD1lLnRoaW5nc2JvYXJkLmhvc3QsdC5wb3J0PWUudGhpbmdzYm9hcmQucG9ydCx0LnJlbW90ZUNvbmZpZ3VyYXRpb249ZS50aGluZ3Nib2FyZC5yZW1vdGVDb25maWd1cmF0aW9uLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLnRoaW5nc2JvYXJkLnNlY3VyaXR5LEdhLmFjY2Vzc1Rva2VuKT8odC5zZWN1cml0eVR5cGU9R2EuYWNjZXNzVG9rZW4sdC5hY2Nlc3NUb2tlbj1lLnRoaW5nc2JvYXJkLnNlY3VyaXR5LmFjY2Vzc1Rva2VuKToodC5zZWN1cml0eVR5cGU9R2EudGxzLHQuY2FDZXJ0UGF0aD1lLnRoaW5nc2JvYXJkLnNlY3VyaXR5LmNhQ2VydCx0LnByaXZhdGVLZXlQYXRoPWUudGhpbmdzYm9hcmQuc2VjdXJpdHkucHJpdmF0ZUtleSx0LmNlcnRQYXRoPWUudGhpbmdzYm9hcmQuc2VjdXJpdHkuY2VydCkpLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCJzdG9yYWdlIikmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLnN0b3JhZ2UsInR5cGUiKSYmKGUuc3RvcmFnZS50eXBlPT09VWEubWVtb3J5Pyh0LnN0b3JhZ2VUeXBlPVVhLm1lbW9yeSx0LnJlYWRSZWNvcmRzQ291bnQ9ZS5zdG9yYWdlLnJlYWRfcmVjb3Jkc19jb3VudCx0Lm1heFJlY29yZHNDb3VudD1lLnN0b3JhZ2UubWF4X3JlY29yZHNfY291bnQpOmUuc3RvcmFnZS50eXBlPT09VWEuZmlsZSYmKHQuc3RvcmFnZVR5cGU9VWEuZmlsZSx0LmRhdGFGb2xkZXJQYXRoPWUuc3RvcmFnZS5kYXRhX2ZvbGRlcl9wYXRoLHQubWF4RmlsZXNDb3VudD1lLnN0b3JhZ2UubWF4X2ZpbGVfY291bnQsdC5yZWFkUmVjb3Jkc0NvdW50PWUuc3RvcmFnZS5yZWFkX3JlY29yZHNfY291bnQsdC5tYXhSZWNvcmRzQ291bnQ9ZS5zdG9yYWdlLm1heF9yZWNvcmRzX2NvdW50KSksdH1mdW5jdGlvbiBKYShlKXtjb25zdCB0PXt9O2Zvcihjb25zdCBuIG9mIGUpbi5lbmFibGVkfHwodFtuLm5hbWVdPXtjb25uZWN0b3I6bi5jb25maWdUeXBlLGNvbmZpZzpuLmNvbmZpZ30pO3JldHVybiB0fWZ1bmN0aW9uIFhhKGUpe2NvbnN0IHQ9e3RoaW5nc2JvYXJkOlphKGUpfTtyZXR1cm4gZnVuY3Rpb24oZSx0KXtmb3IoY29uc3QgbiBvZiB0KWlmKG4uZW5hYmxlZCl7Y29uc3QgdD1uLmNvbmZpZ1R5cGU7QXJyYXkuaXNBcnJheShlW3RdKXx8KGVbdF09W10pO2NvbnN0IGE9e25hbWU6bi5uYW1lLGNvbmZpZzpuLmNvbmZpZ307ZVt0XS5wdXNoKGEpfX0odCxlLmNvbm5lY3RvcnMpLHR9ZnVuY3Rpb24gWmEoZSl7bGV0IHQ7dD1lLnNlY3VyaXR5VHlwZT09PUdhLmFjY2Vzc1Rva2VuP3thY2Nlc3NUb2tlbjplLmFjY2Vzc1Rva2VufTp7Y2FDZXJ0OmUuY2FDZXJ0UGF0aCxwcml2YXRlS2V5OmUucHJpdmF0ZUtleVBhdGgsY2VydDplLmNlcnRQYXRofTtjb25zdCBuPXtob3N0OmUuaG9zdCxyZW1vdGVDb25maWd1cmF0aW9uOmUucmVtb3RlQ29uZmlndXJhdGlvbixwb3J0OmUucG9ydCxzZWN1cml0eTp0fTtsZXQgYTthPWUuc3RvcmFnZVR5cGU9PT1VYS5tZW1vcnk/e3R5cGU6VWEubWVtb3J5LHJlYWRfcmVjb3Jkc19jb3VudDplLnJlYWRSZWNvcmRzQ291bnQsbWF4X3JlY29yZHNfY291bnQ6ZS5tYXhSZWNvcmRzQ291bnR9Ont0eXBlOlVhLmZpbGUsZGF0YV9mb2xkZXJfcGF0aDplLmRhdGFGb2xkZXJQYXRoLG1heF9maWxlX2NvdW50OmUubWF4RmlsZXNDb3VudCxtYXhfcmVhZF9yZWNvcmRzX2NvdW50OmUucmVhZFJlY29yZHNDb3VudCxtYXhfcmVjb3Jkc19wZXJfZmlsZTplLm1heFJlY29yZHNDb3VudH07Y29uc3Qgbz1bXTtmb3IoY29uc3QgdCBvZiBlLmNvbm5lY3RvcnMpaWYodC5lbmFibGVkKXtjb25zdCBlPXtjb25maWd1cmF0aW9uOkthKHQubmFtZSksbmFtZTp0Lm5hbWUsdHlwZTp0LmNvbmZpZ1R5cGV9O28ucHVzaChlKX1yZXR1cm57dGhpbmdzYm9hcmQ6bixjb25uZWN0b3JzOm8sc3RvcmFnZTphLGxvZ3M6d2luZG93LmJ0b2EoJGEoZS5yZW1vdGVMb2dnaW5nTGV2ZWwsZS5yZW1vdGVMb2dnaW5nUGF0aFRvTG9ncykpfX1jbGFzcyBlbyBleHRlbmRzIE97Y29uc3RydWN0b3IoZSx0LG4sYSxvLGkscixzLGwsYyxwKXtzdXBlcihlKSx0aGlzLnN0b3JlPWUsdGhpcy5lbGVtZW50UmVmPXQsdGhpcy51dGlscz1uLHRoaXMubmdab25lPWEsdGhpcy5mYj1vLHRoaXMud2luZG93PWksdGhpcy5kaWFsb2c9cix0aGlzLnRyYW5zbGF0ZT1zLHRoaXMuZGV2aWNlU2VydmljZT1sLHRoaXMuYXR0cmlidXRlU2VydmljZT1jLHRoaXMuaW1wb3J0RXhwb3J0PXAsdGhpcy5hbGlnbm1lbnQ9InJvdyIsdGhpcy5sYXlvdXRHYXA9IjVweCIsdGhpcy5zZWN1cml0eVR5cGVzPVZhLHRoaXMuZ2F0ZXdheUxvZ0xldmVscz1PYmplY3Qua2V5cyhCYSkubWFwKChlPT5CYVtlXSkpLHRoaXMuY29ubmVjdG9yVHlwZXM9T2JqZWN0LmtleXMoSGEpLHRoaXMuc3RvcmFnZVR5cGVzPV9hLHRoaXMudG9hc3RUYXJnZXRJZD0iZ2F0ZXdheS1jb25maWd1cmF0aW9uLXdpZGdldCIrdGhpcy51dGlscy5ndWlkKCksdGhpcy5pc1JlYWRPbmx5Rm9ybT0hMX1nZXQgY29ubmVjdG9ycygpe3JldHVybiB0aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KCJjb25uZWN0b3JzIil9bmdPbkluaXQoKXt0aGlzLmluaXRXaWRnZXRTZXR0aW5ncyh0aGlzLmN0eC5zZXR0aW5ncyksdGhpcy5jdHguZGF0YXNvdXJjZXMmJnRoaXMuY3R4LmRhdGFzb3VyY2VzLmxlbmd0aCYmKHRoaXMuZGV2aWNlTmFtZUZvcm09dGhpcy5jdHguZGF0YXNvdXJjZXNbMF0ubmFtZSksdGhpcy5idWlsZEZvcm0oKSx0aGlzLmN0eC51cGRhdGVXaWRnZXRQYXJhbXMoKSx0aGlzLmZvcm1SZXNpemUkPW5ldyBSZXNpemVPYnNlcnZlcigoKCk9Pnt0aGlzLnJlc2l6ZSgpfSkpLHRoaXMuZm9ybVJlc2l6ZSQub2JzZXJ2ZSh0aGlzLmZvcm1Db250YWluZXJSZWYubmF0aXZlRWxlbWVudCl9bmdPbkRlc3Ryb3koKXt0aGlzLmZvcm1SZXNpemUkJiZ0aGlzLmZvcm1SZXNpemUkLmRpc2Nvbm5lY3QoKSx0aGlzLnN1YnNjcmliZUdhdGV3YXkkLnVuc3Vic2NyaWJlKCksdGhpcy5zdWJzY3JpYmVTdG9yYWdlVHlwZSQudW5zdWJzY3JpYmUoKX1pbml0V2lkZ2V0U2V0dGluZ3MoZSl7bGV0IHQ7dD1lLmdhdGV3YXlUaXRsZSYmZS5nYXRld2F5VGl0bGUubGVuZ3RoP3RoaXMudXRpbHMuY3VzdG9tVHJhbnNsYXRpb24oZS5nYXRld2F5VGl0bGUsZS5nYXRld2F5VGl0bGUpOnRoaXMudHJhbnNsYXRlLmluc3RhbnQoImdhdGV3YXkuZ2F0ZXdheSIpLHRoaXMuY3R4LndpZGdldFRpdGxlPXQsdGhpcy5pc1JlYWRPbmx5Rm9ybT0hIWUucmVhZE9ubHkmJmUucmVhZE9ubHksdGhpcy5hcmNoaXZlRmlsZU5hbWU9ZS5hcmNoaXZlRmlsZU5hbWU/Lmxlbmd0aD9lLmFyY2hpdmVGaWxlTmFtZToiZ2F0ZXdheUNvbmZpZ3VyYXRpb24iLHRoaXMuZ2F0ZXdheVR5cGU9ZS5nYXRld2F5VHlwZT8ubGVuZ3RoP2UuZ2F0ZXdheVR5cGU6IkdhdGV3YXkiLHRoaXMuZ2F0ZXdheU5hbWVFeGlzdHM9dGhpcy51dGlscy5jdXN0b21UcmFuc2xhdGlvbihlLmdhdGV3YXlOYW1lRXhpc3RzLGUuZ2F0ZXdheU5hbWVFeGlzdHMpfHx0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LmdhdGV3YXktZXhpc3RzIiksdGhpcy5zdWNjZXNzZnVsU2F2ZWQ9dGhpcy51dGlscy5jdXN0b21UcmFuc2xhdGlvbihlLnN1Y2Nlc3NmdWxTYXZlLGUuc3VjY2Vzc2Z1bFNhdmUpfHx0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LmdhdGV3YXktc2F2ZWQiKSx0aGlzLnVwZGF0ZVdpZGdldERpc3BsYXlpbmcoKX1yZXNpemUoKXt0aGlzLm5nWm9uZS5ydW4oKCgpPT57dGhpcy51cGRhdGVXaWRnZXREaXNwbGF5aW5nKCksdGhpcy5jdHguZGV0ZWN0Q2hhbmdlcygpfSkpfXVwZGF0ZVdpZGdldERpc3BsYXlpbmcoKXt0aGlzLmN0eC4kY29udGFpbmVyJiZ0aGlzLmN0eC4kY29udGFpbmVyWzBdLm9mZnNldFdpZHRoPD00MjU/KHRoaXMubGF5b3V0R2FwPSIwIix0aGlzLmFsaWdubWVudD0iY29sdW1uIik6KHRoaXMubGF5b3V0R2FwPSI1cHgiLHRoaXMuYWxpZ25tZW50PSJyb3ciKX1zYXZlQXR0cmlidXRlKGUsdCxuKXtjb25zdCBhPXRoaXMuZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoImdhdGV3YXkiKS52YWx1ZSxvPXtrZXk6ZSx2YWx1ZTp0fTtyZXR1cm4gdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNhdmVFbnRpdHlBdHRyaWJ1dGVzKFlhKGEpLG4sW29dKX1jcmVhdGVDb25uZWN0b3IoZT16YSl7dGhpcy5jb25uZWN0b3JzLnB1c2godGhpcy5mYi5ncm91cCh7ZW5hYmxlZDpbZS5lbmFibGVkXSxjb25maWdUeXBlOltlLmNvbmZpZ1R5cGUsW3VlLnJlcXVpcmVkXV0sbmFtZTpbZS5uYW1lLFt1ZS5yZXF1aXJlZF1dLGNvbmZpZzpbZS5jb25maWcsW3VlLm51bGxWYWxpZGF0b3IsV2FdXX0pKX1nZXRGb3JtRmllbGQoZSl7cmV0dXJuIHRoaXMuZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoZSl9YnVpbGRGb3JtKCl7dGhpcy5nYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwPXRoaXMuZmIuZ3JvdXAoe2dhdGV3YXk6W251bGwsW11dLGFjY2Vzc1Rva2VuOltudWxsLFt1ZS5yZXF1aXJlZF1dLHNlY3VyaXR5VHlwZTpbR2EuYWNjZXNzVG9rZW5dLGhvc3Q6W3RoaXMud2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLFt1ZS5yZXF1aXJlZF1dLHBvcnQ6WzE4ODMsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5tYXgoNjU1MzUpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLHJlbW90ZUNvbmZpZ3VyYXRpb246WyEwXSxjYUNlcnRQYXRoOlsiL2V0Yy90aGluZ3Nib2FyZC1nYXRld2F5L2NhLnBlbSJdLHByaXZhdGVLZXlQYXRoOlsiL2V0Yy90aGluZ3Nib2FyZC1nYXRld2F5L3ByaXZhdGVLZXkucGVtIl0sY2VydFBhdGg6WyIvZXRjL3RoaW5nc2JvYXJkLWdhdGV3YXkvY2VydGlmaWNhdGUucGVtIl0scmVtb3RlTG9nZ2luZ0xldmVsOltCYS5kZWJ1Z10scmVtb3RlTG9nZ2luZ1BhdGhUb0xvZ3M6WyIuL2xvZ3MvIixbdWUucmVxdWlyZWRdXSxzdG9yYWdlVHlwZTpbVWEubWVtb3J5XSxyZWFkUmVjb3Jkc0NvdW50OlsxMDAsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxtYXhSZWNvcmRzQ291bnQ6WzFlNCxbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLG1heEZpbGVzQ291bnQ6WzUsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxkYXRhRm9sZGVyUGF0aDpbIi4vZGF0YS8iLFt1ZS5yZXF1aXJlZF1dLGNvbm5lY3RvcnM6dGhpcy5mYi5hcnJheShbXSl9KSx0aGlzLmlzUmVhZE9ubHlGb3JtJiZ0aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5zdWJzY3JpYmVTdG9yYWdlVHlwZSQ9dGhpcy5nZXRGb3JtRmllbGQoInN0b3JhZ2VUeXBlIikudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoZT0+e2U9PT1VYS5tZW1vcnk/KHRoaXMuZ2V0Rm9ybUZpZWxkKCJtYXhGaWxlc0NvdW50IikuZGlzYWJsZSgpLHRoaXMuZ2V0Rm9ybUZpZWxkKCJkYXRhRm9sZGVyUGF0aCIpLmRpc2FibGUoKSk6KHRoaXMuZ2V0Rm9ybUZpZWxkKCJtYXhGaWxlc0NvdW50IikuZW5hYmxlKCksdGhpcy5nZXRGb3JtRmllbGQoImRhdGFGb2xkZXJQYXRoIikuZW5hYmxlKCkpfSkpLHRoaXMuc3Vic2NyaWJlR2F0ZXdheSQ9dGhpcy5nZXRGb3JtRmllbGQoImdhdGV3YXkiKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChlPT57bnVsbCE9PWU/QWUoW3RoaXMuZGV2aWNlU2VydmljZS5nZXREZXZpY2VDcmVkZW50aWFscyhlKS5waXBlKEVlKChlPT57dGhpcy5nZXRGb3JtRmllbGQoImFjY2Vzc1Rva2VuIikucGF0Y2hWYWx1ZShlLmNyZWRlbnRpYWxzSWQpfSkpKSwuLi50aGlzLmdldEF0dHJpYnV0ZXMoZSldKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5nYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLm1hcmtBc1ByaXN0aW5lKCksdGhpcy5jdHguZGV0ZWN0Q2hhbmdlcygpfSkpOnRoaXMuZ2V0Rm9ybUZpZWxkKCJhY2Nlc3NUb2tlbiIpLnBhdGNoVmFsdWUoIiIpfSkpfWdhdGV3YXlFeGlzdCgpe3RoaXMuY3R4LnNob3dFcnJvclRvYXN0KHRoaXMuZ2F0ZXdheU5hbWVFeGlzdHMsInRvcCIsImxlZnQiLHRoaXMudG9hc3RUYXJnZXRJZCl9ZXhwb3J0Q29uZmlnKCl7Y29uc3QgZT10aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAudmFsdWUsdD17fTt2YXIgbixhLG87dFsidGJfZ2F0ZXdheS55YW1sIl09ZnVuY3Rpb24oZSl7bGV0IHQ7dD0idGhpbmdzYm9hcmQ6XG4iLHQrPSIgIGhvc3Q6ICIrZS5ob3N0KyJcbiIsdCs9IiAgcmVtb3RlQ29uZmlndXJhdGlvbjogIitlLnJlbW90ZUNvbmZpZ3VyYXRpb24rIlxuIix0Kz0iICBwb3J0OiAiK2UucG9ydCsiXG4iLHQrPSIgIHNlY3VyaXR5OlxuIixlLnNlY3VyaXR5VHlwZT09PUdhLmFjY2Vzc1Rva2VuP3QrPSIgICAgYWNjZXNzLXRva2VuOiAiK2UuYWNjZXNzVG9rZW4rIlxuIjoodCs9IiAgICBjYV9jZXJ0OiAiK2UuY2FDZXJ0UGF0aCsiXG4iLHQrPSIgICAgcHJpdmF0ZUtleTogIitlLnByaXZhdGVLZXlQYXRoKyJcbiIsdCs9IiAgICBjZXJ0OiAiK2UuY2VydFBhdGgrIlxuIiksdCs9InN0b3JhZ2U6XG4iLGUuc3RvcmFnZVR5cGU9PT1VYS5tZW1vcnk/KHQrPSIgIHR5cGU6IG1lbW9yeVxuIix0Kz0iICByZWFkX3JlY29yZHNfY291bnQ6ICIrZS5yZWFkUmVjb3Jkc0NvdW50KyJcbiIsdCs9IiAgbWF4X3JlY29yZHNfY291bnQ6ICIrZS5tYXhSZWNvcmRzQ291bnQrIlxuIik6KHQrPSIgIHR5cGU6IGZpbGVcbiIsdCs9IiAgZGF0YV9mb2xkZXJfcGF0aDogIitlLmRhdGFGb2xkZXJQYXRoKyJcbiIsdCs9IiAgbWF4X2ZpbGVfY291bnQ6ICIrZS5tYXhGaWxlc0NvdW50KyJcbiIsdCs9IiAgbWF4X3JlYWRfcmVjb3Jkc19jb3VudDogIitlLnJlYWRSZWNvcmRzQ291bnQrIlxuIix0Kz0iICBtYXhfcmVjb3Jkc19wZXJfZmlsZTogIitlLm1heFJlY29yZHNDb3VudCsiXG4iKSx0Kz0iY29ubmVjdG9yczpcbiI7Zm9yKGNvbnN0IG4gb2YgZS5jb25uZWN0b3JzKW4uZW5hYmxlZCYmKHQrPSIgIC1cbiIsdCs9IiAgICBuYW1lOiAiK24ubmFtZSsiXG4iLHQrPSIgICAgdHlwZTogIituLmNvbmZpZ1R5cGUrIlxuIix0Kz0iICAgIGNvbmZpZ3VyYXRpb246ICIrS2Eobi5uYW1lKSsiXG4iKTtyZXR1cm4gdH0oZSksZnVuY3Rpb24oZSx0KXtmb3IoY29uc3QgbiBvZiB0KW4uZW5hYmxlZCYmKGVbS2Eobi5uYW1lKV09SlNPTi5zdHJpbmdpZnkobi5jb25maWcpKX0odCxlLmNvbm5lY3RvcnMpLG49dCxhPWUucmVtb3RlTG9nZ2luZ0xldmVsLG89ZS5yZW1vdGVMb2dnaW5nUGF0aFRvTG9ncyxuWyJsb2dzLmNvbmYiXT0kYShhLG8pLHRoaXMuaW1wb3J0RXhwb3J0LmV4cG9ydEpTWmlwKHQsdGhpcy5hcmNoaXZlRmlsZU5hbWUpLHRoaXMuc2F2ZUF0dHJpYnV0ZShSYSx0aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAudmFsdWUucmVtb3RlTG9nZ2luZ0xldmVsLnRvVXBwZXJDYXNlKCksTC5TSEFSRURfU0NPUEUpfWFkZE5ld0Nvbm5lY3Rvcigpe3RoaXMuY3JlYXRlQ29ubmVjdG9yKCl9cmVtb3ZlQ29ubmVjdG9yKGUpe2U+LTEmJih0aGlzLmNvbm5lY3RvcnMucmVtb3ZlQXQoZSksdGhpcy5jb25uZWN0b3JzLm1hcmtBc0RpcnR5KCkpfW9wZW5Db25maWdEaWFsb2coZSx0LG4sYSl7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uKCksZS5wcmV2ZW50RGVmYXVsdCgpKSx0aGlzLmRpYWxvZy5vcGVuKFFlLHtkaXNhYmxlQ2xvc2U6ITAscGFuZWxDbGFzczpbInRiLWRpYWxvZyIsInRiLWZ1bGxzY3JlZW4tZGlhbG9nIl0sZGF0YTp7anNvblZhbHVlOm4scmVxdWlyZWQ6ITAsdGl0bGU6dGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS50aXRsZS1jb25uZWN0b3JzLWpzb24iLHt0eXBlTmFtZTphfSl9fSkuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKGU9PntlJiYodGhpcy5jb25uZWN0b3JzLmF0KHQpLmdldCgiY29uZmlnIikucGF0Y2hWYWx1ZShlKSx0aGlzLmN0eC5kZXRlY3RDaGFuZ2VzKCkpfSkpfWNyZWF0ZUNvbm5lY3Rvck5hbWUoZSx0LG49MCl7Y29uc3QgYT1uP3Qrbjp0O3JldHVybi0xPT09ZS5maW5kSW5kZXgoKGU9PmUubmFtZT09PWEpKT9hOnRoaXMuY3JlYXRlQ29ubmVjdG9yTmFtZShlLHQsKytuKX12YWxpZGF0ZUNvbm5lY3Rvck5hbWUoZSx0LG4sYT0wKXtmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rKyl7Y29uc3QgaT0wPT09YT90OnQrYTtvIT09biYmZVtvXS5uYW1lPT09aSYmdGhpcy52YWxpZGF0ZUNvbm5lY3Rvck5hbWUoZSx0LG4sKythKX1yZXR1cm4gMD09PWE/dDp0K2F9Y2hhbmdlQ29ubmVjdG9yVHlwZShlKXtpZighZS5nZXQoIm5hbWUiKS52YWx1ZSl7Y29uc3QgdD1lLmdldCgiY29uZmlnVHlwZSIpLnZhbHVlLG49dGhpcy5nYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLnZhbHVlLmNvbm5lY3RvcnM7ZS5nZXQoIm5hbWUiKS5wYXRjaFZhbHVlKHRoaXMuY3JlYXRlQ29ubmVjdG9yTmFtZShuLEhhW3RdKSl9fWNoYW5nZUNvbm5lY3Rvck5hbWUoZSx0KXtjb25zdCBuPXRoaXMuZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC52YWx1ZS5jb25uZWN0b3JzO2UuZ2V0KCJuYW1lIikucGF0Y2hWYWx1ZSh0aGlzLnZhbGlkYXRlQ29ubmVjdG9yTmFtZShuLGUuZ2V0KCJuYW1lIikudmFsdWUsdCkpfXNhdmUoKXtjb25zdCBlPXRoaXMuZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC52YWx1ZTtBZShbdGhpcy5zYXZlQXR0cmlidXRlKCJjb25maWd1cmF0aW9uIix3aW5kb3cuYnRvYShKU09OLnN0cmluZ2lmeShYYShlKSkpLEwuU0hBUkVEX1NDT1BFKSx0aGlzLnNhdmVBdHRyaWJ1dGUoT2Esd2luZG93LmJ0b2EoSlNPTi5zdHJpbmdpZnkoSmEoZS5jb25uZWN0b3JzKSkpLEwuU0VSVkVSX1NDT1BFKSx0aGlzLnNhdmVBdHRyaWJ1dGUoUmEsdGhpcy5nYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLnZhbHVlLnJlbW90ZUxvZ2dpbmdMZXZlbC50b1VwcGVyQ2FzZSgpLEwuU0hBUkVEX1NDT1BFKV0pLnN1YnNjcmliZSgoKCk9Pnt0aGlzLmN0eC5zaG93U3VjY2Vzc1RvYXN0KHRoaXMuc3VjY2Vzc2Z1bFNhdmVkLDJlMywidG9wIiwibGVmdCIsdGhpcy50b2FzdFRhcmdldElkKSx0aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAubWFya0FzUHJpc3RpbmUoKX0pKX1nZXRBdHRyaWJ1dGVzKGUpe2NvbnN0IHQ9W107cmV0dXJuIHQucHVzaChBZShbdGhpcy5nZXRBdHRyaWJ1dGUoImN1cnJlbnRfY29uZmlndXJhdGlvbiIsTC5DTElFTlRfU0NPUEUsZSksdGhpcy5nZXRBdHRyaWJ1dGUoT2EsTC5TRVJWRVJfU0NPUEUsZSldKS5waXBlKEVlKCgoW2UsdF0pPT57dGhpcy5zZXRGb3JtR2F0ZXdheVNldHRpbmdzKGUpLHRoaXMuc2V0Rm9ybUNvbm5lY3RvcnNEcmFmdCh0KSx0aGlzLmlzUmVhZE9ubHlGb3JtJiZ0aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSl9KSkpKSx0LnB1c2godGhpcy5nZXRBdHRyaWJ1dGUoUmEsTC5TSEFSRURfU0NPUEUsZSkucGlwZShFZSgoZT0+dGhpcy5wcm9jZXNzTG9nZ2luZ0xldmVsKGUpKSkpKSx0fWdldEF0dHJpYnV0ZShlLHQsbil7cmV0dXJuIHRoaXMuYXR0cmlidXRlU2VydmljZS5nZXRFbnRpdHlBdHRyaWJ1dGVzKFlhKG4pLHQsW2VdKX1zZXRGb3JtR2F0ZXdheVNldHRpbmdzKGUpe2lmKHRoaXMuY29ubmVjdG9ycy5jbGVhcigpLGUubGVuZ3RoPjApe2NvbnN0IHQ9SlNPTi5wYXJzZSh3aW5kb3cuYXRvYihlWzBdLnZhbHVlKSk7Zm9yKGNvbnN0IGUgb2YgT2JqZWN0LmtleXModCkpe2NvbnN0IG49dFtlXTtpZigidGhpbmdzYm9hcmQiPT09ZSludWxsIT09biYmT2JqZWN0LmtleXMobikubGVuZ3RoPjAmJnRoaXMuZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5wYXRjaFZhbHVlKFFhKG4pKTtlbHNlIGZvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKG4pKXtsZXQgYT0iTm8gbmFtZSI7T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG5bdF0sIm5hbWUiKSYmKGE9blt0XS5uYW1lKTtjb25zdCBvPXtlbmFibGVkOiEwLGNvbmZpZ1R5cGU6ZSxjb25maWc6blt0XS5jb25maWcsbmFtZTphfTt0aGlzLmNyZWF0ZUNvbm5lY3RvcihvKX19fX1zZXRGb3JtQ29ubmVjdG9yc0RyYWZ0KGUpe2lmKGUubGVuZ3RoPjApe2NvbnN0IHQ9SlNPTi5wYXJzZSh3aW5kb3cuYXRvYihlWzBdLnZhbHVlKSk7Zm9yKGNvbnN0IGUgb2YgT2JqZWN0LmtleXModCkpe2NvbnN0IG49e2VuYWJsZWQ6ITEsY29uZmlnVHlwZTp0W2VdLmNvbm5lY3Rvcixjb25maWc6dFtlXS5jb25maWcsbmFtZTplfTt0aGlzLmNyZWF0ZUNvbm5lY3RvcihuKX19fXByb2Nlc3NMb2dnaW5nTGV2ZWwoZSl7bGV0IHQ9QmEuZGVidWc7ZS5sZW5ndGg+MCYmQmFbZVswXS52YWx1ZS50b0xvd2VyQ2FzZSgpXSYmKHQ9QmFbZVswXS52YWx1ZS50b0xvd2VyQ2FzZSgpXSksdGhpcy5nZXRGb3JtRmllbGQoInJlbW90ZUxvZ2dpbmdMZXZlbCIpLnBhdGNoVmFsdWUodCl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTplbyxkZXBzOlt7dG9rZW46b3QuU3RvcmV9LHt0b2tlbjp0LkVsZW1lbnRSZWZ9LHt0b2tlbjpYLlV0aWxzU2VydmljZX0se3Rva2VuOnQuTmdab25lfSx7dG9rZW46bWUuVW50eXBlZEZvcm1CdWlsZGVyfSx7dG9rZW46YWV9LHt0b2tlbjpKZS5NYXREaWFsb2d9LHt0b2tlbjpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0b2tlbjpYLkRldmljZVNlcnZpY2V9LHt0b2tlbjpYLkF0dHJpYnV0ZVNlcnZpY2V9LHt0b2tlbjpsdC5JbXBvcnRFeHBvcnRTZXJ2aWNlfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTplbyxzZWxlY3RvcjoidGItZ2F0ZXdheS1mb3JtIixpbnB1dHM6e2N0eDoiY3R4Iixpc1N0YXRlRm9ybToiaXNTdGF0ZUZvcm0ifSx2aWV3UXVlcmllczpbe3Byb3BlcnR5TmFtZToiZm9ybUNvbnRhaW5lclJlZiIsZmlyc3Q6ITAscHJlZGljYXRlOlsiZm9ybUNvbnRhaW5lciJdLGRlc2NlbmRhbnRzOiEwLHN0YXRpYzohMH0se3Byb3BlcnR5TmFtZToibXVsdGlwbGVJbnB1dEZvcm0iLGZpcnN0OiEwLHByZWRpY2F0ZTpbImdhdGV3YXlDb25maWd1cmF0aW9uRm9ybSJdLGRlc2NlbmRhbnRzOiEwLHN0YXRpYzohMH1dLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGZvcm0gI2Zvcm1Db250YWluZXIgY2xhc3M9ImdhdGV3YXktZm9ybSJcbiAgICAgIFtmb3JtR3JvdXBdPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwIlxuICAgICAgdGItdG9hc3QgdG9hc3RUYXJnZXQ9Int7IHRvYXN0VGFyZ2V0SWQgfX0iXG4gICAgICAobmdTdWJtaXQpPSJzYXZlKCkiPlxuICA8bWF0LWFjY29yZGlvbiBtdWx0aT0idHJ1ZSIgY2xhc3M9Im1hdC1ib2R5LTIiPlxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLXBhbmVsLXRpdGxlIj57eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmRcJyB8IHRyYW5zbGF0ZSB8IHVwcGVyY2FzZSB9fTwvZGl2PlxuICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDx0Yi1lbnRpdHktZ2F0ZXdheS1zZWxlY3RcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9ImdhdGV3YXkiXG4gICAgICAgICAgW2RldmljZU5hbWVdPSJkZXZpY2VOYW1lRm9ybSJcbiAgICAgICAgICBbaXNTdGF0ZUZvcm1dPSJpc1N0YXRlRm9ybSJcbiAgICAgICAgICBbbmV3R2F0ZXdheVR5cGVdPSJnYXRld2F5VHlwZSJcbiAgICAgICAgICAoZ2F0ZXdheU5hbWVFeGlzdCk9ImdhdGV3YXlFeGlzdCgpIlxuICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgID5cbiAgICAgIDwvdGItZW50aXR5LWdhdGV3YXktc2VsZWN0PlxuICAgICAgPGRpdiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7XCdnYXRld2F5LnNlY3VyaXR5LXR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ic2VjdXJpdHlUeXBlIiA+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBzZWN1cml0eVR5cGUgb2Ygc2VjdXJpdHlUeXBlcyB8IGtleXZhbHVlIiBbdmFsdWVdPSJzZWN1cml0eVR5cGUua2V5Ij5cbiAgICAgICAgICAgICAge3sgc2VjdXJpdHlUeXBlLnZhbHVlLnRvU3RyaW5nKCkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgW2Z4TGF5b3V0XT0iYWxpZ25tZW50IiBbZnhMYXlvdXRHYXBdPSJsYXlvdXRHYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkLWhvc3RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJ0ZXh0IiBmb3JtQ29udHJvbE5hbWU9Imhvc3QiPlxuICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnaG9zdFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBnYXRld2F5LnRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWRcbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0XCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9InBvcnQiPlxuICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWRcbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdtaW5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgIGdhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1taW5cbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdtYXhcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgIGdhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1tYXhcbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtcGF0dGVyblxuICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnc2VjdXJpdHlUeXBlXCcpLnZhbHVlID09IFwndGxzXCciIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnRscy1wYXRoLWNhLWNlcnRpZmljYXRlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0idGV4dCIgZm9ybUNvbnRyb2xOYW1lPSJjYUNlcnRQYXRoIj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS50bHMtcGF0aC1wcml2YXRlLWtleVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InRleHQiIGZvcm1Db250cm9sTmFtZT0icHJpdmF0ZUtleVBhdGgiPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnRscy1wYXRoLWNsaWVudC1jZXJ0aWZpY2F0ZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InRleHQiIGZvcm1Db250cm9sTmFtZT0iY2VydFBhdGgiPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxtYXQtY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPSJyZW1vdGVDb25maWd1cmF0aW9uIj57eyBcJ2dhdGV3YXkucmVtb3RlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1jaGVja2JveD5cblxuICAgICAgPGRpdiBbZnhMYXlvdXRdPSJhbGlnbm1lbnQiIFtmeExheW91dEdhcF09ImxheW91dEdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgPG1hdC1sYWJlbD57e1wnZ2F0ZXdheS5yZW1vdGUtbG9nZ2luZy1sZXZlbFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJyZW1vdGVMb2dnaW5nTGV2ZWwiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbG9nTGV2ZWwgb2YgZ2F0ZXdheUxvZ0xldmVscyIgW3ZhbHVlXT0ibG9nTGV2ZWwiPlxuICAgICAgICAgICAgICB7eyBsb2dMZXZlbCB9fVxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnBhdGgtbG9nc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InRleHQiIGZvcm1Db250cm9sTmFtZT0icmVtb3RlTG9nZ2luZ1BhdGhUb0xvZ3MiPlxuICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwncmVtb3RlTG9nZ2luZ1BhdGhUb0xvZ3NcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgZ2F0ZXdheS5wYXRoLWxvZ3MtcmVxdWlyZWRcbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuXG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuXG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItcGFuZWwtdGl0bGUiPnt7IFwnZ2F0ZXdheS5zdG9yYWdlXCcgfCB0cmFuc2xhdGUgfCB1cHBlcmNhc2UgfX08L2Rpdj5cbiAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuXG4gICAgICA8ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3tcJ2dhdGV3YXkuc3RvcmFnZS10eXBlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InN0b3JhZ2VUeXBlIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHN0b3JhZ2VUeXBlIG9mIHN0b3JhZ2VUeXBlcyB8IGtleXZhbHVlIiBbdmFsdWVdPSJzdG9yYWdlVHlwZS5rZXkiPlxuICAgICAgICAgICAgICB7eyBzdG9yYWdlVHlwZS52YWx1ZS50b1N0cmluZygpIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPGRpdiBbZnhMYXlvdXRdPSJhbGlnbm1lbnQiIFtmeExheW91dEdhcF09ImxheW91dEdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0b3JhZ2UtcGFjay1zaXplXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIGZvcm1Db250cm9sTmFtZT0icmVhZFJlY29yZHNDb3VudCI+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlYWRSZWNvcmRzQ291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwncmVhZFJlY29yZHNDb3VudFwnKS5oYXNFcnJvcihcJ21pblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtcGFjay1zaXplLW1pblxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlYWRSZWNvcmRzQ291bnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgIGdhdGV3YXkuc3RvcmFnZS1wYWNrLXNpemUtcGF0dGVyblxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsID5cbiAgICAgICAgICAgICAge3sgKGdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnc3RvcmFnZVR5cGVcJykudmFsdWUgIT09IFwnZmlsZVwnID8gXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHNcJyA6IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlLXJlY29yZHNcJykgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1heFJlY29yZHNDb3VudCI+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ21heFJlY29yZHNDb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgIGdhdGV3YXkuc3RvcmFnZS1tYXgtcmVjb3Jkcy1yZXF1aXJlZFxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ21heFJlY29yZHNDb3VudFwnKS5oYXNFcnJvcihcJ21pblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtbWluXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnbWF4UmVjb3Jkc0NvdW50XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVyblxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBbZnhMYXlvdXRdPSJhbGlnbm1lbnQiIFtmeExheW91dEdhcF09ImxheW91dEdhcCIgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnc3RvcmFnZVR5cGVcJykudmFsdWUgPT0gXCdmaWxlXCciPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1heEZpbGVzQ291bnQiPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdtYXhGaWxlc0NvdW50XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZFxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ21heEZpbGVzQ291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlcy1taW5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdtYXhGaWxlc0NvdW50XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtbWF4LWZpbGVzLXBhdHRlcm5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkuc3RvcmFnZS1wYXRoXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJ0ZXh0IiBmb3JtQ29udHJvbE5hbWU9ImRhdGFGb2xkZXJQYXRoIj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnZGF0YUZvbGRlclBhdGhcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtcGF0aC1yZXF1aXJlZFxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG5cbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1wYW5lbC10aXRsZSI+e3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtY29uZmlnXCcgfCB0cmFuc2xhdGUgfCB1cHBlcmNhc2UgfX08L2Rpdj5cbiAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuXG4gICAgICA8ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iIGNsYXNzPSJnYXRld2F5LWNvbmZpZyI+XG4gICAgICAgIDxzZWN0aW9uIGZvcm1BcnJheU5hbWU9ImNvbm5lY3RvcnMiICpuZ0Zvcj0ibGV0IGNvbm5lY3RvciBvZiBjb25uZWN0b3JzLmNvbnRyb2xzOyBsZXQgaSA9IGluZGV4OyI+XG4gICAgICAgICAgPGRpdiBbZm9ybUdyb3VwTmFtZV09ImkiIGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gc3RyZXRjaCIgZnhMYXlvdXRHYXA9IjhweCI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBzdGFydCI+XG4gICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZvcm1Db250cm9sTmFtZT0iZW5hYmxlZCI+PC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IFtmeExheW91dF09ImFsaWdubWVudCIgW2Z4TGF5b3V0R2FwXT0ibGF5b3V0R2FwIiBmeEZsZXg+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57e1wnZ2F0ZXdheS5jb25uZWN0b3ItdHlwZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJjb25maWdUeXBlIiAoc2VsZWN0aW9uQ2hhbmdlKT0iY2hhbmdlQ29ubmVjdG9yVHlwZShjb25uZWN0b3IpIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGNvbm5lY3RvclR5cGUgb2YgY29ubmVjdG9yVHlwZXMiIFt2YWx1ZV09ImNvbm5lY3RvclR5cGUiPlxuICAgICAgICAgICAgICAgICAgICB7eyBjb25uZWN0b3JUeXBlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbm5lY3Rvci5nZXQoXCdjb25maWdUeXBlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgICAgIGdhdGV3YXkuY29ubmVjdG9yLXR5cGUtcmVxdWlyZWRcbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LmNvbm5lY3Rvci1uYW1lXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0idGV4dCIgZm9ybUNvbnRyb2xOYW1lPSJuYW1lIiAoYmx1cik9ImNoYW5nZUNvbm5lY3Rvck5hbWUoY29ubmVjdG9yLCBpKSI+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29ubmVjdG9yLmdldChcJ25hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgZ2F0ZXdheS5jb25uZWN0b3ItbmFtZS1yZXF1aXJlZFxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IFtmeExheW91dF09ImFsaWdubWVudCIgW2Z4TGF5b3V0R2FwXT0ibGF5b3V0R2FwIlxuICAgICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJ7e2FsaWdubWVudCA9PSBcJ3Jvd1wnID8gXCdlbmQgY2VudGVyXCcgOiBcJ3NwYWNlLWV2ZW5seSBjZW50ZXJcJ319IiBjbGFzcz0iYWN0aW9uLWJ1dHRvbnMiPlxuICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09ImlzUmVhZE9ubHlGb3JtIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0ib3BlbkNvbmZpZ0RpYWxvZygkZXZlbnQsIGksIGNvbm5lY3Rvci5nZXQoXCdjb25maWdcJykudmFsdWUsIGNvbm5lY3Rvci5nZXQoXCduYW1lXCcpLnZhbHVlKSJcbiAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkudXBkYXRlLWNvbmZpZ1wnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPSJ7XCdtYXQtd2FyblwnOiBjb25uZWN0b3IuZ2V0KFwnY29uZmlnXCcpLmludmFsaWR9Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+bW9yZV9ob3JpejwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09ImlzUmVhZE9ubHlGb3JtIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPSJyZW1vdmVDb25uZWN0b3IoaSkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmRlbGV0ZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPHNwYW4gW2Z4U2hvd109IiFjb25uZWN0b3JzLmxlbmd0aCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciIgY2xhc3M9Im5vLWRhdGEtZm91bmQiPnt7XCdnYXRld2F5Lm5vLWNvbm5lY3RvcnNcJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxidXR0b24gW2Z4U2hvd109IiFpc1JlYWRPbmx5Rm9ybSIgbWF0LXJhaXNlZC1idXR0b24gdHlwZT0iYnV0dG9uIiAoY2xpY2spPSJhZGROZXdDb25uZWN0b3IoKSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5jb25uZWN0b3ItYWRkXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICAgIHt7IFwnYWN0aW9uLmFkZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXYgPlxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgPC9tYXQtYWNjb3JkaW9uPlxuICA8c2VjdGlvbiBbZnhTaG93XT0iIWlzUmVhZE9ubHlGb3JtIlxuICAgICAgICAgICBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJlbmQgY2VudGVyIiBjbGFzcz0iZm9ybS1hY3Rpb24tYnV0dG9ucyI+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSIgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgKGNsaWNrKT0iZXhwb3J0Q29uZmlnKCkiXG4gICAgICAgICAgICAqbmdJZj0iIWdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwncmVtb3RlQ29uZmlndXJhdGlvblwnKS52YWx1ZSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09IiFnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmRpcnR5IHx8IGdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuaW52YWxpZCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7XCdnYXRld2F5LmRvd25sb2FkLXRpcFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIHt7XCdhY3Rpb24uZG93bmxvYWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSIgdHlwZT0ic3VibWl0IlxuICAgICAgICAgICAgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwncmVtb3RlQ29uZmlndXJhdGlvblwnKS52YWx1ZSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09IiFnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmRpcnR5IHx8IGdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuaW52YWxpZCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7XCdnYXRld2F5LnNhdmUtdGlwXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAge3tcJ2FjdGlvbi5zYXZlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9zZWN0aW9uPlxuPC9mb3JtPlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC5nYXRld2F5LWZvcm17aGVpZ2h0OjEwMCU7cGFkZGluZzo1cHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtvdmVyZmxvdy15OmF1dG87b3ZlcmZsb3cteDpoaWRkZW59Omhvc3QgLmdhdGV3YXktZm9ybSAuZm9ybS1hY3Rpb24tYnV0dG9uc3twYWRkaW5nLXRvcDo4cHh9Omhvc3QgLmdhdGV3YXktZm9ybSAuZ2F0ZXdheS1jb25maWcgLm5vLWRhdGEtZm91bmR7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpmbGV4O2hlaWdodDo0MHB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdDbGFzcyxzZWxlY3RvcjoiW25nQ2xhc3NdIixpbnB1dHM6WyJjbGFzcyIsIm5nQ2xhc3MiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Y3QuVG9hc3REaXJlY3RpdmUsc2VsZWN0b3I6Ilt0Yi10b2FzdF0iLGlucHV0czpbInRvYXN0VGFyZ2V0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QnV0dG9uLHNlbGVjdG9yOiIgICAgYnV0dG9uW21hdC1idXR0b25dLCBidXR0b25bbWF0LXJhaXNlZC1idXR0b25dLCBidXR0b25bbWF0LWZsYXQtYnV0dG9uXSwgICAgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0gICIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpwdC5NYXRDaGVja2JveCxzZWxlY3RvcjoibWF0LWNoZWNrYm94IixpbnB1dHM6WyJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsImlkIiwicmVxdWlyZWQiLCJsYWJlbFBvc2l0aW9uIiwibmFtZSIsInZhbHVlIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY29sb3IiLCJkaXNhYmxlZEludGVyYWN0aXZlIiwiY2hlY2tlZCIsImRpc2FibGVkIiwiaW5kZXRlcm1pbmF0ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJpbmRldGVybWluYXRlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRDaGVja2JveCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdEVycm9yLHNlbGVjdG9yOiJtYXQtZXJyb3IsIFttYXRFcnJvcl0iLGlucHV0czpbImlkIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpDZS5NYXRPcHRpb24sc2VsZWN0b3I6Im1hdC1vcHRpb24iLGlucHV0czpbInZhbHVlIiwiaWQiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJvblNlbGVjdGlvbkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0T3B0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6emUuTWF0VG9vbHRpcCxzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixpbnB1dHM6WyJtYXRUb29sdGlwUG9zaXRpb24iLCJtYXRUb29sdGlwUG9zaXRpb25BdE9yaWdpbiIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBTaG93RGVsYXkiLCJtYXRUb29sdGlwSGlkZURlbGF5IiwibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcENsYXNzIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6ZXQuTWF0U2xpZGVUb2dnbGUsc2VsZWN0b3I6Im1hdC1zbGlkZS10b2dnbGUiLGlucHV0czpbIm5hbWUiLCJpZCIsImxhYmVsUG9zaXRpb24iLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsInJlcXVpcmVkIiwiY29sb3IiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImNoZWNrZWQiLCJoaWRlSWNvbiIsImRpc2FibGVkSW50ZXJhY3RpdmUiXSxvdXRwdXRzOlsiY2hhbmdlIiwidG9nZ2xlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEFjY29yZGlvbixzZWxlY3RvcjoibWF0LWFjY29yZGlvbiIsaW5wdXRzOlsiaGlkZVRvZ2dsZSIsImRpc3BsYXlNb2RlIiwidG9nZ2xlUG9zaXRpb24iXSxleHBvcnRBczpbIm1hdEFjY29yZGlvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsIixpbnB1dHM6WyJoaWRlVG9nZ2xlIiwidG9nZ2xlUG9zaXRpb24iXSxvdXRwdXRzOlsiYWZ0ZXJFeHBhbmQiLCJhZnRlckNvbGxhcHNlIl0sZXhwb3J0QXM6WyJtYXRFeHBhbnNpb25QYW5lbCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsSGVhZGVyLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciIsaW5wdXRzOlsiZXhwYW5kZWRIZWlnaHQiLCJjb2xsYXBzZWRIZWlnaHQiLCJ0YWJJbmRleCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsVGl0bGUsc2VsZWN0b3I6Im1hdC1wYW5lbC10aXRsZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRHYXBEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0R2FwXSwgW2Z4TGF5b3V0R2FwLnhzXSwgW2Z4TGF5b3V0R2FwLnNtXSwgW2Z4TGF5b3V0R2FwLm1kXSwgIFtmeExheW91dEdhcC5sZ10sIFtmeExheW91dEdhcC54bF0sIFtmeExheW91dEdhcC5sdC1zbV0sIFtmeExheW91dEdhcC5sdC1tZF0sICBbZnhMYXlvdXRHYXAubHQtbGddLCBbZnhMYXlvdXRHYXAubHQteGxdLCBbZnhMYXlvdXRHYXAuZ3QteHNdLCBbZnhMYXlvdXRHYXAuZ3Qtc21dLCAgW2Z4TGF5b3V0R2FwLmd0LW1kXSwgW2Z4TGF5b3V0R2FwLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRHYXAiLCJmeExheW91dEdhcC54cyIsImZ4TGF5b3V0R2FwLnNtIiwiZnhMYXlvdXRHYXAubWQiLCJmeExheW91dEdhcC5sZyIsImZ4TGF5b3V0R2FwLnhsIiwiZnhMYXlvdXRHYXAubHQtc20iLCJmeExheW91dEdhcC5sdC1tZCIsImZ4TGF5b3V0R2FwLmx0LWxnIiwiZnhMYXlvdXRHYXAubHQteGwiLCJmeExheW91dEdhcC5ndC14cyIsImZ4TGF5b3V0R2FwLmd0LXNtIiwiZnhMYXlvdXRHYXAuZ3QtbWQiLCJmeExheW91dEdhcC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRTaG93SGlkZURpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhTaG93XSwgW2Z4U2hvdy5wcmludF0sICBbZnhTaG93LnhzXSwgW2Z4U2hvdy5zbV0sIFtmeFNob3cubWRdLCBbZnhTaG93LmxnXSwgW2Z4U2hvdy54bF0sICBbZnhTaG93Lmx0LXNtXSwgW2Z4U2hvdy5sdC1tZF0sIFtmeFNob3cubHQtbGddLCBbZnhTaG93Lmx0LXhsXSwgIFtmeFNob3cuZ3QteHNdLCBbZnhTaG93Lmd0LXNtXSwgW2Z4U2hvdy5ndC1tZF0sIFtmeFNob3cuZ3QtbGddLCAgW2Z4SGlkZV0sIFtmeEhpZGUucHJpbnRdLCAgW2Z4SGlkZS54c10sIFtmeEhpZGUuc21dLCBbZnhIaWRlLm1kXSwgW2Z4SGlkZS5sZ10sIFtmeEhpZGUueGxdLCAgW2Z4SGlkZS5sdC1zbV0sIFtmeEhpZGUubHQtbWRdLCBbZnhIaWRlLmx0LWxnXSwgW2Z4SGlkZS5sdC14bF0sICBbZnhIaWRlLmd0LXhzXSwgW2Z4SGlkZS5ndC1zbV0sIFtmeEhpZGUuZ3QtbWRdLCBbZnhIaWRlLmd0LWxnXSIsaW5wdXRzOlsiZnhTaG93IiwiZnhTaG93LnByaW50IiwiZnhTaG93LnhzIiwiZnhTaG93LnNtIiwiZnhTaG93Lm1kIiwiZnhTaG93LmxnIiwiZnhTaG93LnhsIiwiZnhTaG93Lmx0LXNtIiwiZnhTaG93Lmx0LW1kIiwiZnhTaG93Lmx0LWxnIiwiZnhTaG93Lmx0LXhsIiwiZnhTaG93Lmd0LXhzIiwiZnhTaG93Lmd0LXNtIiwiZnhTaG93Lmd0LW1kIiwiZnhTaG93Lmd0LWxnIiwiZnhIaWRlIiwiZnhIaWRlLnByaW50IiwiZnhIaWRlLnhzIiwiZnhIaWRlLnNtIiwiZnhIaWRlLm1kIiwiZnhIaWRlLmxnIiwiZnhIaWRlLnhsIiwiZnhIaWRlLmx0LXNtIiwiZnhIaWRlLmx0LW1kIiwiZnhIaWRlLmx0LWxnIiwiZnhIaWRlLmx0LXhsIiwiZnhIaWRlLmd0LXhzIiwiZnhIaWRlLmd0LXNtIiwiZnhIaWRlLmd0LW1kIiwiZnhIaWRlLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Sy5EZWZhdWx0Q2xhc3NEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW25nQ2xhc3NdLCBbbmdDbGFzcy54c10sIFtuZ0NsYXNzLnNtXSwgW25nQ2xhc3MubWRdLCBbbmdDbGFzcy5sZ10sIFtuZ0NsYXNzLnhsXSwgIFtuZ0NsYXNzLmx0LXNtXSwgW25nQ2xhc3MubHQtbWRdLCBbbmdDbGFzcy5sdC1sZ10sIFtuZ0NsYXNzLmx0LXhsXSwgIFtuZ0NsYXNzLmd0LXhzXSwgW25nQ2xhc3MuZ3Qtc21dLCBbbmdDbGFzcy5ndC1tZF0sIFtuZ0NsYXNzLmd0LWxnXSIsaW5wdXRzOlsibmdDbGFzcyIsIm5nQ2xhc3MueHMiLCJuZ0NsYXNzLnNtIiwibmdDbGFzcy5tZCIsIm5nQ2xhc3MubGciLCJuZ0NsYXNzLnhsIiwibmdDbGFzcy5sdC1zbSIsIm5nQ2xhc3MubHQtbWQiLCJuZ0NsYXNzLmx0LWxnIiwibmdDbGFzcy5sdC14bCIsIm5nQ2xhc3MuZ3QteHMiLCJuZ0NsYXNzLmd0LXNtIiwibmdDbGFzcy5ndC1tZCIsIm5nQ2xhc3MuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS7JtU5nTm9WYWxpZGF0ZSxzZWxlY3RvcjoiZm9ybTpub3QoW25nTm9Gb3JtXSk6bm90KFtuZ05hdGl2ZVZhbGlkYXRlXSkifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBOYW1lLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0iLGlucHV0czpbImZvcm1Hcm91cE5hbWUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQXJyYXlOYW1lLHNlbGVjdG9yOiJbZm9ybUFycmF5TmFtZV0iLGlucHV0czpbImZvcm1BcnJheU5hbWUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTptdC5FbnRpdHlHYXRld2F5U2VsZWN0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi1lbnRpdHktZ2F0ZXdheS1zZWxlY3QiLGlucHV0czpbInJlcXVpcmVkIiwibmV3R2F0ZXdheVR5cGUiLCJkZXZpY2VOYW1lIiwiaXNTdGF0ZUZvcm0iXSxvdXRwdXRzOlsiZ2F0ZXdheU5hbWVFeGlzdCJdfSx7a2luZDoicGlwZSIsdHlwZTpfLlVwcGVyQ2FzZVBpcGUsbmFtZToidXBwZXJjYXNlIn0se2tpbmQ6InBpcGUiLHR5cGU6Xy5LZXlWYWx1ZVBpcGUsbmFtZToia2V5dmFsdWUifSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn1dfSl9fWUoIkdhdGV3YXlGb3JtQ29tcG9uZW50IixlbyksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTplbyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItZ2F0ZXdheS1mb3JtIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2Vcbjxmb3JtICNmb3JtQ29udGFpbmVyIGNsYXNzPSJnYXRld2F5LWZvcm0iXG4gICAgICBbZm9ybUdyb3VwXT0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cCJcbiAgICAgIHRiLXRvYXN0IHRvYXN0VGFyZ2V0PSJ7eyB0b2FzdFRhcmdldElkIH19IlxuICAgICAgKG5nU3VibWl0KT0ic2F2ZSgpIj5cbiAgPG1hdC1hY2NvcmRpb24gbXVsdGk9InRydWUiIGNsYXNzPSJtYXQtYm9keS0yIj5cbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1wYW5lbC10aXRsZSI+e3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkXCcgfCB0cmFuc2xhdGUgfCB1cHBlcmNhc2UgfX08L2Rpdj5cbiAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICA8dGItZW50aXR5LWdhdGV3YXktc2VsZWN0XG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJnYXRld2F5IlxuICAgICAgICAgIFtkZXZpY2VOYW1lXT0iZGV2aWNlTmFtZUZvcm0iXG4gICAgICAgICAgW2lzU3RhdGVGb3JtXT0iaXNTdGF0ZUZvcm0iXG4gICAgICAgICAgW25ld0dhdGV3YXlUeXBlXT0iZ2F0ZXdheVR5cGUiXG4gICAgICAgICAgKGdhdGV3YXlOYW1lRXhpc3QpPSJnYXRld2F5RXhpc3QoKSJcbiAgICAgICAgICByZXF1aXJlZFxuICAgICAgICA+XG4gICAgICA8L3RiLWVudGl0eS1nYXRld2F5LXNlbGVjdD5cbiAgICAgIDxkaXYgZnhMYXlvdXQ9ImNvbHVtbiI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgPG1hdC1sYWJlbD57e1wnZ2F0ZXdheS5zZWN1cml0eS10eXBlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5VHlwZSIgPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgc2VjdXJpdHlUeXBlIG9mIHNlY3VyaXR5VHlwZXMgfCBrZXl2YWx1ZSIgW3ZhbHVlXT0ic2VjdXJpdHlUeXBlLmtleSI+XG4gICAgICAgICAgICAgIHt7IHNlY3VyaXR5VHlwZS52YWx1ZS50b1N0cmluZygpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IFtmeExheW91dF09ImFsaWdubWVudCIgW2Z4TGF5b3V0R2FwXT0ibGF5b3V0R2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1ob3N0XCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0idGV4dCIgZm9ybUNvbnRyb2xOYW1lPSJob3N0Ij5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgZ2F0ZXdheS50aGluZ3Nib2FyZC1ob3N0LXJlcXVpcmVkXG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0Ij5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkXG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtbWluXG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtbWF4XG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LXBhdHRlcm5cbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2ICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3NlY3VyaXR5VHlwZVwnKS52YWx1ZSA9PSBcJ3Rsc1wnIiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS50bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InRleHQiIGZvcm1Db250cm9sTmFtZT0iY2FDZXJ0UGF0aCI+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkudGxzLXBhdGgtcHJpdmF0ZS1rZXlcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJ0ZXh0IiBmb3JtQ29udHJvbE5hbWU9InByaXZhdGVLZXlQYXRoIj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS50bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJ0ZXh0IiBmb3JtQ29udHJvbE5hbWU9ImNlcnRQYXRoIj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8bWF0LWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT0icmVtb3RlQ29uZmlndXJhdGlvbiI+e3sgXCdnYXRld2F5LnJlbW90ZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtY2hlY2tib3g+XG5cbiAgICAgIDxkaXYgW2Z4TGF5b3V0XT0iYWxpZ25tZW50IiBbZnhMYXlvdXRHYXBdPSJsYXlvdXRHYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3tcJ2dhdGV3YXkucmVtb3RlLWxvZ2dpbmctbGV2ZWxcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icmVtb3RlTG9nZ2luZ0xldmVsIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGxvZ0xldmVsIG9mIGdhdGV3YXlMb2dMZXZlbHMiIFt2YWx1ZV09ImxvZ0xldmVsIj5cbiAgICAgICAgICAgICAge3sgbG9nTGV2ZWwgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5wYXRoLWxvZ3NcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJ0ZXh0IiBmb3JtQ29udHJvbE5hbWU9InJlbW90ZUxvZ2dpbmdQYXRoVG9Mb2dzIj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlbW90ZUxvZ2dpbmdQYXRoVG9Mb2dzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgIGdhdGV3YXkucGF0aC1sb2dzLXJlcXVpcmVkXG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cblxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cblxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLXBhbmVsLXRpdGxlIj57eyBcJ2dhdGV3YXkuc3RvcmFnZVwnIHwgdHJhbnNsYXRlIHwgdXBwZXJjYXNlIH19PC9kaXY+XG4gICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cblxuICAgICAgPGRpdiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7XCdnYXRld2F5LnN0b3JhZ2UtdHlwZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJzdG9yYWdlVHlwZSI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBzdG9yYWdlVHlwZSBvZiBzdG9yYWdlVHlwZXMgfCBrZXl2YWx1ZSIgW3ZhbHVlXT0ic3RvcmFnZVR5cGUua2V5Ij5cbiAgICAgICAgICAgICAge3sgc3RvcmFnZVR5cGUudmFsdWUudG9TdHJpbmcoKSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgIDxkaXYgW2Z4TGF5b3V0XT0iYWxpZ25tZW50IiBbZnhMYXlvdXRHYXBdPSJsYXlvdXRHYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5zdG9yYWdlLXBhY2stc2l6ZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9InJlYWRSZWNvcmRzQ291bnQiPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdyZWFkUmVjb3Jkc0NvdW50XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLXBhY2stc2l6ZS1yZXF1aXJlZFxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlYWRSZWNvcmRzQ291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLXBhY2stc2l6ZS1taW5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdyZWFkUmVjb3Jkc0NvdW50XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtcGFjay1zaXplLXBhdHRlcm5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbCA+XG4gICAgICAgICAgICAgIHt7IChnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3N0b3JhZ2VUeXBlXCcpLnZhbHVlICE9PSBcJ2ZpbGVcJyA/IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzXCcgOiBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzXCcpIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgZm9ybUNvbnRyb2xOYW1lPSJtYXhSZWNvcmRzQ291bnQiPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdtYXhSZWNvcmRzQ291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWRcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdtYXhSZWNvcmRzQ291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLW1pblxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ21heFJlY29yZHNDb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLXBhdHRlcm5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgW2Z4TGF5b3V0XT0iYWxpZ25tZW50IiBbZnhMYXlvdXRHYXBdPSJsYXlvdXRHYXAiICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3N0b3JhZ2VUeXBlXCcpLnZhbHVlID09IFwnZmlsZVwnIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXNcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgZm9ybUNvbnRyb2xOYW1lPSJtYXhGaWxlc0NvdW50Ij5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnbWF4RmlsZXNDb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgIGdhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWRcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdtYXhGaWxlc0NvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgIGdhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXMtbWluXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnbWF4RmlsZXNDb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0b3JhZ2UtcGF0aFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0idGV4dCIgZm9ybUNvbnRyb2xOYW1lPSJkYXRhRm9sZGVyUGF0aCI+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ2RhdGFGb2xkZXJQYXRoXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLXBhdGgtcmVxdWlyZWRcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuXG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItcGFuZWwtdGl0bGUiPnt7IFwnZ2F0ZXdheS5jb25uZWN0b3JzLWNvbmZpZ1wnIHwgdHJhbnNsYXRlIHwgdXBwZXJjYXNlIH19PC9kaXY+XG4gICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cblxuICAgICAgPGRpdiBmeExheW91dD0iY29sdW1uIiBjbGFzcz0iZ2F0ZXdheS1jb25maWciPlxuICAgICAgICA8c2VjdGlvbiBmb3JtQXJyYXlOYW1lPSJjb25uZWN0b3JzIiAqbmdGb3I9ImxldCBjb25uZWN0b3Igb2YgY29ubmVjdG9ycy5jb250cm9sczsgbGV0IGkgPSBpbmRleDsiPlxuICAgICAgICAgIDxkaXYgW2Zvcm1Hcm91cE5hbWVdPSJpIiBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIHN0cmV0Y2giIGZ4TGF5b3V0R2FwPSI4cHgiPlxuICAgICAgICAgICAgPGRpdiBmeExheW91dD0iY29sdW1uIiBmeExheW91dEFsaWduPSJjZW50ZXIgc3RhcnQiPlxuICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmb3JtQ29udHJvbE5hbWU9ImVuYWJsZWQiPjwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBbZnhMYXlvdXRdPSJhbGlnbm1lbnQiIFtmeExheW91dEdhcF09ImxheW91dEdhcCIgZnhGbGV4PlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3tcJ2dhdGV3YXkuY29ubmVjdG9yLXR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iY29uZmlnVHlwZSIgKHNlbGVjdGlvbkNoYW5nZSk9ImNoYW5nZUNvbm5lY3RvclR5cGUoY29ubmVjdG9yKSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBjb25uZWN0b3JUeXBlIG9mIGNvbm5lY3RvclR5cGVzIiBbdmFsdWVdPSJjb25uZWN0b3JUeXBlIj5cbiAgICAgICAgICAgICAgICAgICAge3sgY29ubmVjdG9yVHlwZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb25uZWN0b3IuZ2V0KFwnY29uZmlnVHlwZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICBnYXRld2F5LmNvbm5lY3Rvci10eXBlLXJlcXVpcmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5jb25uZWN0b3ItbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InRleHQiIGZvcm1Db250cm9sTmFtZT0ibmFtZSIgKGJsdXIpPSJjaGFuZ2VDb25uZWN0b3JOYW1lKGNvbm5lY3RvciwgaSkiPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbm5lY3Rvci5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgICAgIGdhdGV3YXkuY29ubmVjdG9yLW5hbWUtcmVxdWlyZWRcbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBbZnhMYXlvdXRdPSJhbGlnbm1lbnQiIFtmeExheW91dEdhcF09ImxheW91dEdhcCJcbiAgICAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj0ie3thbGlnbm1lbnQgPT0gXCdyb3dcJyA/IFwnZW5kIGNlbnRlclwnIDogXCdzcGFjZS1ldmVubHkgY2VudGVyXCd9fSIgY2xhc3M9ImFjdGlvbi1idXR0b25zIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPSJpc1JlYWRPbmx5Rm9ybSIgbWF0LWljb24tYnV0dG9uIChjbGljayk9Im9wZW5Db25maWdEaWFsb2coJGV2ZW50LCBpLCBjb25uZWN0b3IuZ2V0KFwnY29uZmlnXCcpLnZhbHVlLCBjb25uZWN0b3IuZ2V0KFwnbmFtZVwnKS52YWx1ZSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LnVwZGF0ZS1jb25maWdcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT0ie1wnbWF0LXdhcm5cJzogY29ubmVjdG9yLmdldChcJ2NvbmZpZ1wnKS5pbnZhbGlkfSI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPm1vcmVfaG9yaXo8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPSJpc1JlYWRPbmx5Rm9ybSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0icmVtb3ZlQ29ubmVjdG9yKGkpIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5kZWxldGVcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDxzcGFuIFtmeFNob3ddPSIhY29ubmVjdG9ycy5sZW5ndGgiIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiIGNsYXNzPSJuby1kYXRhLWZvdW5kIj57e1wnZ2F0ZXdheS5uby1jb25uZWN0b3JzXCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8YnV0dG9uIFtmeFNob3ddPSIhaXNSZWFkT25seUZvcm0iIG1hdC1yYWlzZWQtYnV0dG9uIHR5cGU9ImJ1dHRvbiIgKGNsaWNrKT0iYWRkTmV3Q29ubmVjdG9yKCkiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuY29ubmVjdG9yLWFkZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgICB7eyBcJ2FjdGlvbi5hZGRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2ID5cbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gIDwvbWF0LWFjY29yZGlvbj5cbiAgPHNlY3Rpb24gW2Z4U2hvd109IiFpc1JlYWRPbmx5Rm9ybSJcbiAgICAgICAgICAgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciIgY2xhc3M9ImZvcm0tYWN0aW9uLWJ1dHRvbnMiPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9InByaW1hcnkiIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIChjbGljayk9ImV4cG9ydENvbmZpZygpIlxuICAgICAgICAgICAgKm5nSWY9IiFnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlbW90ZUNvbmZpZ3VyYXRpb25cJykudmFsdWUiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSIhZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5kaXJ0eSB8fCBnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmludmFsaWQiXG4gICAgICAgICAgICBtYXRUb29sdGlwPSJ7e1wnZ2F0ZXdheS5kb3dubG9hZC10aXBcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICB7e1wnYWN0aW9uLmRvd25sb2FkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cblxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9InByaW1hcnkiIHR5cGU9InN1Ym1pdCJcbiAgICAgICAgICAgICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlbW90ZUNvbmZpZ3VyYXRpb25cJykudmFsdWUiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSIhZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5kaXJ0eSB8fCBnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmludmFsaWQiXG4gICAgICAgICAgICBtYXRUb29sdGlwPSJ7e1wnZ2F0ZXdheS5zYXZlLXRpcFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIHt7XCdhY3Rpb24uc2F2ZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvc2VjdGlvbj5cbjwvZm9ybT5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCAuZ2F0ZXdheS1mb3Jte2hlaWdodDoxMDAlO3BhZGRpbmc6NXB4O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7b3ZlcmZsb3cteTphdXRvO292ZXJmbG93LXg6aGlkZGVufTpob3N0IC5nYXRld2F5LWZvcm0gLmZvcm0tYWN0aW9uLWJ1dHRvbnN7cGFkZGluZy10b3A6OHB4fTpob3N0IC5nYXRld2F5LWZvcm0gLmdhdGV3YXktY29uZmlnIC5uby1kYXRhLWZvdW5ke3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6NDBweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm90LlN0b3JlfSx7dHlwZTp0LkVsZW1lbnRSZWZ9LHt0eXBlOlguVXRpbHNTZXJ2aWNlfSx7dHlwZTp0Lk5nWm9uZX0se3R5cGU6bWUuVW50eXBlZEZvcm1CdWlsZGVyfSx7dHlwZTpXaW5kb3csZGVjb3JhdG9yczpbe3R5cGU6cCxhcmdzOlthZV19XX0se3R5cGU6SmUuTWF0RGlhbG9nfSx7dHlwZTpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0eXBlOlguRGV2aWNlU2VydmljZX0se3R5cGU6WC5BdHRyaWJ1dGVTZXJ2aWNlfSx7dHlwZTpsdC5JbXBvcnRFeHBvcnRTZXJ2aWNlfV0scHJvcERlY29yYXRvcnM6e2Zvcm1Db250YWluZXJSZWY6W3t0eXBlOm8sYXJnczpbImZvcm1Db250YWluZXIiLHtzdGF0aWM6ITB9XX1dLG11bHRpcGxlSW5wdXRGb3JtOlt7dHlwZTpvLGFyZ3M6WyJnYXRld2F5Q29uZmlndXJhdGlvbkZvcm0iLHtzdGF0aWM6ITB9XX1dLGN0eDpbe3R5cGU6YX1dLGlzU3RhdGVGb3JtOlt7dHlwZTphfV19fSk7Y2xhc3MgdG8gZXh0ZW5kcyBQe2NvbnN0cnVjdG9yKGUsdCxuLGEsbyxpLHIpe3N1cGVyKGUsdCxhKSx0aGlzLnN0b3JlPWUsdGhpcy5yb3V0ZXI9dCx0aGlzLmRhdGE9bix0aGlzLmRpYWxvZ1JlZj1hLHRoaXMuZmI9byx0aGlzLmlzTGF0ZXN0VmVyc2lvbkNvbmZpZz1pLHRoaXMucmVzb3VyY2VzU2VydmljZT1yLHRoaXMuY29ubmVjdG9yVHlwZT1fdCx0aGlzLmdhdGV3YXlDb25uZWN0b3JEZWZhdWx0VHlwZXNUcmFuc2xhdGVzTWFwPUh0LHRoaXMuZ2F0ZXdheUxvZ0xldmVsPU9iamVjdC52YWx1ZXMoTXQpLHRoaXMuc3VibWl0dGVkPSExLHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMuY29ubmVjdG9yRm9ybT10aGlzLmZiLmdyb3VwKHt0eXBlOltfdC5NUVRULFtdXSxuYW1lOlsiIixbdWUucmVxdWlyZWQsdGhpcy51bmlxTmFtZVJlcXVpcmVkKCksdWUucGF0dGVybihrdCldXSxsb2dMZXZlbDpbTXQuSU5GTyxbXV0sdXNlRGVmYXVsdHM6WyEwLFtdXSxzZW5kRGF0YU9ubHlPbkNoYW5nZTpbITEsW11dLGNsYXNzOlsiIixbXV0sa2V5OlsiYXV0byIsW11dfSl9bmdPbkluaXQoKXt0aGlzLm9ic2VydmVUeXBlQ2hhbmdlKCl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCksc3VwZXIubmdPbkRlc3Ryb3koKX1oZWxwTGlua0lkKCl7cmV0dXJuIHYrIi9kb2NzL2lvdC1nYXRld2F5L2NvbmZpZ3VyYXRpb24vIn1jYW5jZWwoKXt0aGlzLmRpYWxvZ1JlZi5jbG9zZShudWxsKX1hZGQoKXt0aGlzLnN1Ym1pdHRlZD0hMDtjb25zdCBlPXRoaXMuY29ubmVjdG9yRm9ybS5nZXRSYXdWYWx1ZSgpO2UudXNlRGVmYXVsdHM/dGhpcy5nZXREZWZhdWx0Q29uZmlnKGUudHlwZSkuc3Vic2NyaWJlKCh0PT57Y29uc3Qgbj10aGlzLmRhdGEuZ2F0ZXdheVZlcnNpb247biYmKGUuY29uZmlnVmVyc2lvbj1uKSxlLmNvbmZpZ3VyYXRpb25Kc29uPSh0aGlzLmlzTGF0ZXN0VmVyc2lvbkNvbmZpZy50cmFuc2Zvcm0obik/dFtVdC5DdXJyZW50XTp0W1V0LkxlZ2FjeV0pPz90LHRoaXMuY29ubmVjdG9yRm9ybS52YWxpZCYmdGhpcy5kaWFsb2dSZWYuY2xvc2UoZSl9KSk6dGhpcy5jb25uZWN0b3JGb3JtLnZhbGlkJiZ0aGlzLmRpYWxvZ1JlZi5jbG9zZShlKX11bmlxTmFtZVJlcXVpcmVkKCl7cmV0dXJuIGU9Pntjb25zdCB0PWUudmFsdWUudHJpbSgpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIHRoaXMuZGF0YS5kYXRhU291cmNlRGF0YS5zb21lKCgoe3ZhbHVlOntuYW1lOmV9fSk9PmUudG9Mb3dlckNhc2UoKT09PXQpKT97ZHVwbGljYXRlTmFtZTp7dmFsaWQ6ITF9fTpudWxsfX1vYnNlcnZlVHlwZUNoYW5nZSgpe3RoaXMuY29ubmVjdG9yRm9ybS5nZXQoInR5cGUiKS52YWx1ZUNoYW5nZXMucGlwZShFZSgoZT0+e2NvbnN0IHQ9dGhpcy5jb25uZWN0b3JGb3JtLmdldCgidXNlRGVmYXVsdHMiKTtlPT09X3QuR1JQQ3x8ZT09PV90LkNVU1RPTT90LnNldFZhbHVlKCExKTp0LnZhbHVlfHx0LnNldFZhbHVlKCEwKX0pKSxOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCl9Z2V0RGVmYXVsdENvbmZpZyhlKXtyZXR1cm4gdGhpcy5yZXNvdXJjZXNTZXJ2aWNlLmxvYWRKc29uUmVzb3VyY2UoYC9hc3NldHMvbWV0YWRhdGEvY29ubmVjdG9yLWRlZmF1bHQtY29uZmlncy8ke2V9Lmpzb25gKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnRvLGRlcHM6W3t0b2tlbjpvdC5TdG9yZX0se3Rva2VuOml0LlJvdXRlcn0se3Rva2VuOlhlfSx7dG9rZW46SmUuTWF0RGlhbG9nUmVmfSx7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjp2YX0se3Rva2VuOlguUmVzb3VyY2VzU2VydmljZX1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6dG8sc2VsZWN0b3I6InRiLWFkZC1jb25uZWN0b3ItZGlhbG9nIixwcm92aWRlcnM6W10sdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IFtmb3JtR3JvdXBdPSJjb25uZWN0b3JGb3JtIiBjbGFzcz0iYWRkLWNvbm5lY3RvciI+XG4gIDxtYXQtdG9vbGJhciBjb2xvcj0icHJpbWFyeSI+XG4gICAgPGgyPnt7ICJnYXRld2F5LmFkZC1jb25uZWN0b3IiIHwgdHJhbnNsYXRlfX08L2gyPlxuICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgPGRpdiBbdGItaGVscF09ImhlbHBMaW5rSWQoKSI+PC9kaXY+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9ImNhbmNlbCgpIlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIj5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPmNsb3NlPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9tYXQtdG9vbGJhcj5cbiAgPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyIgZnhMYXlvdXQ9ImNvbHVtbiI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnR5cGU8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGdhdGV3YXlDb25uZWN0b3JEZWZhdWx0VHlwZXNUcmFuc2xhdGVzTWFwIHwga2V5dmFsdWUiIFt2YWx1ZV09InR5cGUua2V5Ij5cbiAgICAgICAgICAgICAgICB7eyB0eXBlLnZhbHVlIH19XG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5uYW1lPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGF1dG9jb21wbGV0ZT0ib2ZmIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJuYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwnZHVwbGljYXRlTmFtZVwnKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcJ2dhdGV3YXkuY29ubmVjdG9yLWR1cGxpY2F0ZS1uYW1lXCcgOlwnZ2F0ZXdheS5uYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSIoY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYgY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLnRvdWNoZWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwnZHVwbGljYXRlTmFtZVwnKSJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IGNvbm5lY3RvclR5cGUuQ1VTVE9NIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWNsYXNzPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImNsYXNzIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gY29ubmVjdG9yVHlwZS5HUlBDIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWtleTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJrZXkiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5yZW1vdGUtbG9nZ2luZy1sZXZlbDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibG9nTGV2ZWwiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBsb2dMZXZlbCBvZiBnYXRld2F5TG9nTGV2ZWwiIFt2YWx1ZV09ImxvZ0xldmVsIj57eyBsb2dMZXZlbCB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlICE9PSBjb25uZWN0b3JUeXBlLkdSUEMgJiYgY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlICE9PSBjb25uZWN0b3JUeXBlLkNVU1RPTSJcbiAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIGZpeGVkLXRpdGxlLXdpZHRoIiBmb3JtQ29udHJvbE5hbWU9InVzZURlZmF1bHRzIj5cbiAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuZmlsbC1jb25uZWN0b3ItZGVmYXVsdHMtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5maWxsLWNvbm5lY3Rvci1kZWZhdWx0c1wnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlID09PSBjb25uZWN0b3JUeXBlLk1RVFQiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBmaXhlZC10aXRsZS13aWR0aCIgZm9ybUNvbnRyb2xOYW1lPSJzZW5kRGF0YU9ubHlPbkNoYW5nZSI+XG4gICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LnNlbmQtY2hhbmdlLWRhdGEtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWNoYW5nZS1kYXRhXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucyBmeExheW91dEFsaWduPSJlbmQgY2VudGVyIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICBjZGtGb2N1c0luaXRpYWxcbiAgICAgICAgICAgIChjbGljayk9ImNhbmNlbCgpIj5cbiAgICAgIHt7IFwnYWN0aW9uLmNhbmNlbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIChjbGljayk9ImFkZCgpIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0iY29ubmVjdG9yRm9ybS5pbnZhbGlkIHx8ICFjb25uZWN0b3JGb3JtLmRpcnR5Ij5cbiAgICAgIHt7IFwnYWN0aW9uLmFkZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLmFkZC1jb25uZWN0b3J7bWluLXdpZHRoOjQwMHB4O3dpZHRoOjUwMHB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpkdC5IZWxwQ29tcG9uZW50LHNlbGVjdG9yOiJbdGItaGVscF0iLGlucHV0czpbInRiLWhlbHAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdFN1ZmZpeCxzZWxlY3RvcjoiW21hdFN1ZmZpeF0sIFttYXRJY29uU3VmZml4XSwgW21hdFRleHRTdWZmaXhdIixpbnB1dHM6WyJtYXRUZXh0U3VmZml4Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6cnQuTWF0VG9vbGJhcixzZWxlY3RvcjoibWF0LXRvb2xiYXIiLGlucHV0czpbImNvbG9yIl0sZXhwb3J0QXM6WyJtYXRUb29sYmFyIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQWN0aW9ucyxzZWxlY3RvcjoiW21hdC1kaWFsb2ctYWN0aW9uc10sIG1hdC1kaWFsb2ctYWN0aW9ucywgW21hdERpYWxvZ0FjdGlvbnNdIixpbnB1dHM6WyJhbGlnbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOkplLk1hdERpYWxvZ0NvbnRlbnQsc2VsZWN0b3I6IlttYXQtZGlhbG9nLWNvbnRlbnRdLCBtYXQtZGlhbG9nLWNvbnRlbnQsIFttYXREaWFsb2dDb250ZW50XSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpDZS5NYXRPcHRpb24sc2VsZWN0b3I6Im1hdC1vcHRpb24iLGlucHV0czpbInZhbHVlIiwiaWQiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJvblNlbGVjdGlvbkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0T3B0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6emUuTWF0VG9vbHRpcCxzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixpbnB1dHM6WyJtYXRUb29sdGlwUG9zaXRpb24iLCJtYXRUb29sdGlwUG9zaXRpb25BdE9yaWdpbiIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBTaG93RGVsYXkiLCJtYXRUb29sdGlwSGlkZURlbGF5IiwibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcENsYXNzIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6ZXQuTWF0U2xpZGVUb2dnbGUsc2VsZWN0b3I6Im1hdC1zbGlkZS10b2dnbGUiLGlucHV0czpbIm5hbWUiLCJpZCIsImxhYmVsUG9zaXRpb24iLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsInJlcXVpcmVkIiwiY29sb3IiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImNoZWNrZWQiLCJoaWRlSWNvbiIsImRpc2FibGVkSW50ZXJhY3RpdmUiXSxvdXRwdXRzOlsiY2hhbmdlIiwidG9nZ2xlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRdLCBbZnhMYXlvdXQueHNdLCBbZnhMYXlvdXQuc21dLCBbZnhMYXlvdXQubWRdLCAgW2Z4TGF5b3V0LmxnXSwgW2Z4TGF5b3V0LnhsXSwgW2Z4TGF5b3V0Lmx0LXNtXSwgW2Z4TGF5b3V0Lmx0LW1kXSwgIFtmeExheW91dC5sdC1sZ10sIFtmeExheW91dC5sdC14bF0sIFtmeExheW91dC5ndC14c10sIFtmeExheW91dC5ndC1zbV0sICBbZnhMYXlvdXQuZ3QtbWRdLCBbZnhMYXlvdXQuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dCIsImZ4TGF5b3V0LnhzIiwiZnhMYXlvdXQuc20iLCJmeExheW91dC5tZCIsImZ4TGF5b3V0LmxnIiwiZnhMYXlvdXQueGwiLCJmeExheW91dC5sdC1zbSIsImZ4TGF5b3V0Lmx0LW1kIiwiZnhMYXlvdXQubHQtbGciLCJmeExheW91dC5sdC14bCIsImZ4TGF5b3V0Lmd0LXhzIiwiZnhMYXlvdXQuZ3Qtc20iLCJmeExheW91dC5ndC1tZCIsImZ4TGF5b3V0Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dXQuSGludFRvb2x0aXBJY29uQ29tcG9uZW50LHNlbGVjdG9yOiJbdGItaGludC10b29sdGlwLWljb25dIixpbnB1dHM6WyJ0Yi1oaW50LXRvb2x0aXAtaWNvbiIsInRvb2x0aXBQb3NpdGlvbiIsImhpbnRJY29uIl19LHtraW5kOiJwaXBlIix0eXBlOl8uS2V5VmFsdWVQaXBlLG5hbWU6ImtleXZhbHVlIn0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XX0pfX1lKCJBZGRDb25uZWN0b3JEaWFsb2dDb21wb25lbnQiLHRvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnRvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1hZGQtY29ubmVjdG9yLWRpYWxvZyIscHJvdmlkZXJzOltdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBbZm9ybUdyb3VwXT0iY29ubmVjdG9yRm9ybSIgY2xhc3M9ImFkZC1jb25uZWN0b3IiPlxuICA8bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICAgIDxoMj57eyAiZ2F0ZXdheS5hZGQtY29ubmVjdG9yIiB8IHRyYW5zbGF0ZX19PC9oMj5cbiAgICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICAgIDxkaXYgW3RiLWhlbHBdPSJoZWxwTGlua0lkKCkiPjwvZGl2PlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvbWF0LXRvb2xiYXI+XG4gIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50eXBlPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBnYXRld2F5Q29ubmVjdG9yRGVmYXVsdFR5cGVzVHJhbnNsYXRlc01hcCB8IGtleXZhbHVlIiBbdmFsdWVdPSJ0eXBlLmtleSI+XG4gICAgICAgICAgICAgICAge3sgdHlwZS52YWx1ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkubmFtZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBhdXRvY29tcGxldGU9Im9mZiIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ibmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS5oYXNFcnJvcihcJ2R1cGxpY2F0ZU5hbWVcJykgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCdnYXRld2F5LmNvbm5lY3Rvci1kdXBsaWNhdGUtbmFtZVwnIDpcJ2dhdGV3YXkubmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iKGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS50b3VjaGVkKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS5oYXNFcnJvcihcJ2R1cGxpY2F0ZU5hbWVcJykiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlID09PSBjb25uZWN0b3JUeXBlLkNVU1RPTSIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1jbGFzczwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJjbGFzcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IGNvbm5lY3RvclR5cGUuR1JQQyIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1rZXk8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ia2V5IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucmVtb3RlLWxvZ2dpbmctbGV2ZWw8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImxvZ0xldmVsIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbG9nTGV2ZWwgb2YgZ2F0ZXdheUxvZ0xldmVsIiBbdmFsdWVdPSJsb2dMZXZlbCI+e3sgbG9nTGV2ZWwgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSAhPT0gY29ubmVjdG9yVHlwZS5HUlBDICYmIGNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSAhPT0gY29ubmVjdG9yVHlwZS5DVVNUT00iXG4gICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBmaXhlZC10aXRsZS13aWR0aCIgZm9ybUNvbnRyb2xOYW1lPSJ1c2VEZWZhdWx0cyI+XG4gICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmZpbGwtY29ubmVjdG9yLWRlZmF1bHRzLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZmlsbC1jb25uZWN0b3ItZGVmYXVsdHNcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gY29ubmVjdG9yVHlwZS5NUVRUIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgZml4ZWQtdGl0bGUtd2lkdGgiIGZvcm1Db250cm9sTmFtZT0ic2VuZERhdGFPbmx5T25DaGFuZ2UiPlxuICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5zZW5kLWNoYW5nZS1kYXRhLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc2VuZC1jaGFuZ2UtZGF0YVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5jYW5jZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAoY2xpY2spPSJhZGQoKSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09ImNvbm5lY3RvckZvcm0uaW52YWxpZCB8fCAhY29ubmVjdG9yRm9ybS5kaXJ0eSI+XG4gICAgICB7eyBcJ2FjdGlvbi5hZGRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC5hZGQtY29ubmVjdG9ye21pbi13aWR0aDo0MDBweDt3aWR0aDo1MDBweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm90LlN0b3JlfSx7dHlwZTppdC5Sb3V0ZXJ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpwLGFyZ3M6W1hlXX1dfSx7dHlwZTpKZS5NYXREaWFsb2dSZWZ9LHt0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTp2YX0se3R5cGU6WC5SZXNvdXJjZXNTZXJ2aWNlfV19KTtjbGFzcyBub3tjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy52YWx1ZVR5cGVLZXlzPU9iamVjdC52YWx1ZXMoR24pLHRoaXMudmFsdWVUeXBlcz1Wbix0aGlzLk1hcHBpbmdWYWx1ZVR5cGU9R24sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5wcm9wYWdhdGVDaGFuZ2U9ZT0+e319bmdPbkluaXQoKXt0aGlzLnZhbHVlTGlzdEZvcm1BcnJheT10aGlzLmZiLmFycmF5KFtdKSx0aGlzLnZhbHVlTGlzdEZvcm1BcnJheS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy51cGRhdGVWaWV3KGUpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfXRyYWNrQnlLZXkoZSx0KXtyZXR1cm4gdH1hZGRLZXkoKXtjb25zdCBlPXRoaXMuZmIuZ3JvdXAoe3R5cGU6W0duLlNUUklOR10sc3RyaW5nOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxpbnRlZ2VyOlt7dmFsdWU6MCxkaXNhYmxlZDohMH0sW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oTHQpXV0sZG91YmxlOlt7dmFsdWU6MCxkaXNhYmxlZDohMH0sW3VlLnJlcXVpcmVkXV0sYm9vbGVhbjpbe3ZhbHVlOiExLGRpc2FibGVkOiEwfSxbdWUucmVxdWlyZWRdXX0pO3RoaXMub2JzZXJ2ZVR5cGVDaGFuZ2UoZSksdGhpcy52YWx1ZUxpc3RGb3JtQXJyYXkucHVzaChlKX1vYnNlcnZlVHlwZUNoYW5nZShlKXtlLmdldCgidHlwZSIpLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHQ9PntlLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLGUuZ2V0KCJ0eXBlIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSxlLmdldCh0KS5lbmFibGUoe2VtaXRFdmVudDohMX0pfSkpfWRlbGV0ZUtleShlLHQpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy52YWx1ZUxpc3RGb3JtQXJyYXkucmVtb3ZlQXQodCksdGhpcy52YWx1ZUxpc3RGb3JtQXJyYXkubWFya0FzRGlydHkoKX12YWx1ZVRpdGxlKGUpe3JldHVybiBpZShlKT8ib2JqZWN0Ij09dHlwZW9mIGU/SlNPTi5zdHJpbmdpZnkoZSk6ZToiIn1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMucHJvcGFnYXRlQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7fXdyaXRlVmFsdWUoZSl7Zm9yKGNvbnN0IHQgb2YgZSl7Y29uc3QgZT17dHlwZTpbdC50eXBlXSxzdHJpbmc6W3t2YWx1ZToiIixkaXNhYmxlZDohMH0sW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0saW50ZWdlcjpbe3ZhbHVlOjAsZGlzYWJsZWQ6ITB9LFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKEx0KV1dLGRvdWJsZTpbe3ZhbHVlOjAsZGlzYWJsZWQ6ITB9LFt1ZS5yZXF1aXJlZF1dLGJvb2xlYW46W3t2YWx1ZTohMSxkaXNhYmxlZDohMH0sW3VlLnJlcXVpcmVkXV19O2VbdC50eXBlXVswXT17dmFsdWU6dC52YWx1ZSxkaXNhYmxlZDohMX07Y29uc3Qgbj10aGlzLmZiLmdyb3VwKGUpO3RoaXMub2JzZXJ2ZVR5cGVDaGFuZ2UobiksdGhpcy52YWx1ZUxpc3RGb3JtQXJyYXkucHVzaChuKX19dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy52YWx1ZUxpc3RGb3JtQXJyYXkudmFsaWQ/bnVsbDp7dmFsdWVMaXN0Rm9ybTp7dmFsaWQ6ITF9fX11cGRhdGVWaWV3KGUpe3RoaXMucHJvcGFnYXRlQ2hhbmdlKGUubWFwKCgoe3R5cGU6ZSwuLi50fSk9Pih7dHlwZTplLHZhbHVlOnRbZV19KSkpKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOm5vLGRlcHM6W3t0b2tlbjptZS5VbnR5cGVkRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOm5vLHNlbGVjdG9yOiJ0Yi10eXBlLXZhbHVlLXBhbmVsIixwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5ubykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+bm8pKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBrZXktcGFuZWwiICpuZ0lmPSJ2YWx1ZUxpc3RGb3JtQXJyYXkuY29udHJvbHMubGVuZ3RoOyBlbHNlIG5vS2V5cyI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1mbGV4IG5vLWZsZXggcm93IGNlbnRlciBmaWxsLXdpZHRoIlxuICAgICAgICAgKm5nRm9yPSJsZXQga2V5Q29udHJvbCBvZiB2YWx1ZUxpc3RGb3JtQXJyYXkuY29udHJvbHM7IHRyYWNrQnk6IHRyYWNrQnlLZXk7IGxldCAkaW5kZXggPSBpbmRleDsgbGV0IGxhc3QgPSBsYXN0OyI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQgdGItZmxleCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09ImtleUNvbnRyb2wiPlxuICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ibGFzdCI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZS1jb250YWluZXIiIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyB2YWx1ZVRpdGxlKGtleUNvbnRyb2wuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkudmFsdWUpIH19PC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudHlwZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGZpbGwtd2lkdGgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0xOCIgW3N2Z0ljb25dPSJ2YWx1ZVR5cGVzLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpPy5pY29uIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8ubmFtZSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdmFsdWVUeXBlIG9mIHZhbHVlVHlwZUtleXMiIFt2YWx1ZV09InZhbHVlVHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0idGItbWF0LTIwIiBzdmdJY29uPSJ7eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLmljb24gfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUiPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCAqbmdTd2l0Y2hDYXNlPSJNYXBwaW5nVmFsdWVUeXBlLlNUUklORyIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJzdHJpbmciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuSU5URUdFUiIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJpbnRlZ2VyIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuRE9VQkxFIiBtYXRJbnB1dCByZXF1aXJlZCBmb3JtQ29udHJvbE5hbWU9ImRvdWJsZSIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuQk9PTEVBTiIgZm9ybUNvbnRyb2xOYW1lPSJib29sZWFuIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09InRydWUiPnRydWU8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPSJmYWxzZSI+ZmFsc2U8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIGtleUNvbnRyb2wuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJkZWxldGVLZXkoJGV2ZW50LCAkaW5kZXgpIlxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IlwnZ2F0ZXdheS5kZWxldGUtdmFsdWVcJyB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2PlxuICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9InByaW1hcnkiIChjbGljayk9ImFkZEtleSgpIj5cbiAgICAgIHt7IFwnZ2F0ZXdheS5hZGQtdmFsdWVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNub0tleXM+XG4gIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIGtleS1wYW5lbCI+XG4gICAgPHNwYW4gY2xhc3M9InRiLXByb21wdCIgdHJhbnNsYXRlPnt7IFwnZ2F0ZXdheS5uby12YWx1ZVwnIH19PC9zcGFuPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnRpdGxlLWNvbnRhaW5lcnttYXgtd2lkdGg6MTF2d306aG9zdCAua2V5LXBhbmVse2hlaWdodDoyNTBweDtvdmVyZmxvdzphdXRvfTpob3N0IC50Yi1mb3JtLXBhbmVsIC5tYXQtbWRjLWljb24tYnV0dG9ue3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHg7cGFkZGluZzoxNnB4O2NvbG9yOiMwMDAwMDA4YX06aG9zdCAuc2VlLWV4YW1wbGV7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDttYXJnaW46NHB4fTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaCxzZWxlY3RvcjoiW25nU3dpdGNoXSIsaW5wdXRzOlsibmdTd2l0Y2giXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoQ2FzZSxzZWxlY3RvcjoiW25nU3dpdGNoQ2FzZV0iLGlucHV0czpbIm5nU3dpdGNoQ2FzZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOndlLk1hdFNlbGVjdFRyaWdnZXIsc2VsZWN0b3I6Im1hdC1zZWxlY3QtdHJpZ2dlciJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsIixpbnB1dHM6WyJoaWRlVG9nZ2xlIiwidG9nZ2xlUG9zaXRpb24iXSxvdXRwdXRzOlsiYWZ0ZXJFeHBhbmQiLCJhZnRlckNvbGxhcHNlIl0sZXhwb3J0QXM6WyJtYXRFeHBhbnNpb25QYW5lbCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsSGVhZGVyLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciIsaW5wdXRzOlsiZXhwYW5kZWRIZWlnaHQiLCJjb2xsYXBzZWRIZWlnaHQiLCJ0YWJJbmRleCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsVGl0bGUsc2VsZWN0b3I6Im1hdC1wYW5lbC10aXRsZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxDb250ZW50LHNlbGVjdG9yOiJuZy10ZW1wbGF0ZVttYXRFeHBhbnNpb25QYW5lbENvbnRlbnRdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OdW1iZXJWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVtuZ01vZGVsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLlJlcXVpcmVkVmFsaWRhdG9yLHNlbGVjdG9yOiI6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sTmFtZV0sOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbF0sOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtuZ01vZGVsXSIsaW5wdXRzOlsicmVxdWlyZWQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WWUuVHJ1bmNhdGVXaXRoVG9vbHRpcERpcmVjdGl2ZSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XX0pfX1lKCJUeXBlVmFsdWVQYW5lbENvbXBvbmVudCIsbm8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6bm8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLXR5cGUtdmFsdWUtcGFuZWwiLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9Pm5vKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5ubykpLG11bHRpOiEwfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBrZXktcGFuZWwiICpuZ0lmPSJ2YWx1ZUxpc3RGb3JtQXJyYXkuY29udHJvbHMubGVuZ3RoOyBlbHNlIG5vS2V5cyI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1mbGV4IG5vLWZsZXggcm93IGNlbnRlciBmaWxsLXdpZHRoIlxuICAgICAgICAgKm5nRm9yPSJsZXQga2V5Q29udHJvbCBvZiB2YWx1ZUxpc3RGb3JtQXJyYXkuY29udHJvbHM7IHRyYWNrQnk6IHRyYWNrQnlLZXk7IGxldCAkaW5kZXggPSBpbmRleDsgbGV0IGxhc3QgPSBsYXN0OyI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQgdGItZmxleCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09ImtleUNvbnRyb2wiPlxuICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ibGFzdCI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZS1jb250YWluZXIiIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyB2YWx1ZVRpdGxlKGtleUNvbnRyb2wuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkudmFsdWUpIH19PC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudHlwZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGZpbGwtd2lkdGgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0xOCIgW3N2Z0ljb25dPSJ2YWx1ZVR5cGVzLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpPy5pY29uIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8ubmFtZSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdmFsdWVUeXBlIG9mIHZhbHVlVHlwZUtleXMiIFt2YWx1ZV09InZhbHVlVHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0idGItbWF0LTIwIiBzdmdJY29uPSJ7eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLmljb24gfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUiPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCAqbmdTd2l0Y2hDYXNlPSJNYXBwaW5nVmFsdWVUeXBlLlNUUklORyIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJzdHJpbmciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuSU5URUdFUiIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJpbnRlZ2VyIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuRE9VQkxFIiBtYXRJbnB1dCByZXF1aXJlZCBmb3JtQ29udHJvbE5hbWU9ImRvdWJsZSIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuQk9PTEVBTiIgZm9ybUNvbnRyb2xOYW1lPSJib29sZWFuIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09InRydWUiPnRydWU8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPSJmYWxzZSI+ZmFsc2U8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIGtleUNvbnRyb2wuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJkZWxldGVLZXkoJGV2ZW50LCAkaW5kZXgpIlxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IlwnZ2F0ZXdheS5kZWxldGUtdmFsdWVcJyB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2PlxuICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9InByaW1hcnkiIChjbGljayk9ImFkZEtleSgpIj5cbiAgICAgIHt7IFwnZ2F0ZXdheS5hZGQtdmFsdWVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNub0tleXM+XG4gIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIGtleS1wYW5lbCI+XG4gICAgPHNwYW4gY2xhc3M9InRiLXByb21wdCIgdHJhbnNsYXRlPnt7IFwnZ2F0ZXdheS5uby12YWx1ZVwnIH19PC9zcGFuPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnRpdGxlLWNvbnRhaW5lcnttYXgtd2lkdGg6MTF2d306aG9zdCAua2V5LXBhbmVse2hlaWdodDoyNTBweDtvdmVyZmxvdzphdXRvfTpob3N0IC50Yi1mb3JtLXBhbmVsIC5tYXQtbWRjLWljb24tYnV0dG9ue3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHg7cGFkZGluZzoxNnB4O2NvbG9yOiMwMDAwMDA4YX06aG9zdCAuc2VlLWV4YW1wbGV7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDttYXJnaW46NHB4fTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLlVudHlwZWRGb3JtQnVpbGRlcn1dfSk7Y2xhc3MgYW8gZXh0ZW5kcyBPe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIodCksdGhpcy5mYj1lLHRoaXMuc3RvcmU9dCx0aGlzLnZhbHVlVHlwZUtleXM9T2JqZWN0LnZhbHVlcyhHbiksdGhpcy52YWx1ZVR5cGVFbnVtPUduLHRoaXMudmFsdWVUeXBlcz1Wbix0aGlzLnJhd0RhdGE9ITEsdGhpcy5rZXlzRGF0YUFwcGxpZWQ9bmV3IGksdGhpcy5NYXBwaW5nS2V5c1R5cGU9Tm4sdGhpcy5lcnJvclRleHQ9IiJ9bmdPbkluaXQoKXt0aGlzLmtleXNMaXN0Rm9ybUFycmF5PXRoaXMucHJlcGFyZUtleXNGb3JtQXJyYXkodGhpcy5rZXlzKX10cmFja0J5S2V5KGUsdCl7cmV0dXJuIHR9YWRkS2V5KCl7bGV0IGU7aWYoZT10aGlzLmtleXNUeXBlPT09Tm4uUlBDX01FVEhPRFM/dGhpcy5mYi5ncm91cCh7bWV0aG9kOlsiIixbdWUucmVxdWlyZWRdXSxhcmd1bWVudHM6W1tdLFtdXX0pOnRoaXMuZmIuZ3JvdXAoe2tleTpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sdmFsdWU6WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dfSksdGhpcy5rZXlzVHlwZSE9PU5uLkNVU1RPTSYmdGhpcy5rZXlzVHlwZSE9PU5uLlJQQ19NRVRIT0RTKXtjb25zdCB0PXRoaXMucmF3RGF0YT8icmF3Ijp0aGlzLnZhbHVlVHlwZUtleXNbMF07ZS5hZGRDb250cm9sKCJ0eXBlIix0aGlzLmZiLmNvbnRyb2wodCkpfXRoaXMua2V5c0xpc3RGb3JtQXJyYXkucHVzaChlKX1kZWxldGVLZXkoZSx0KXtlJiZlLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMua2V5c0xpc3RGb3JtQXJyYXkucmVtb3ZlQXQodCksdGhpcy5rZXlzTGlzdEZvcm1BcnJheS5tYXJrQXNEaXJ0eSgpfWNhbmNlbCgpe3RoaXMucG9wb3Zlcj8uaGlkZSgpfWFwcGx5S2V5c0RhdGEoKXtsZXQgZT10aGlzLmtleXNMaXN0Rm9ybUFycmF5LnZhbHVlO2lmKHRoaXMua2V5c1R5cGU9PT1Obi5DVVNUT00pe2U9e307Zm9yKGxldCB0IG9mIHRoaXMua2V5c0xpc3RGb3JtQXJyYXkudmFsdWUpZVt0LmtleV09dC52YWx1ZX10aGlzLmtleXNEYXRhQXBwbGllZC5lbWl0KGUpfXByZXBhcmVLZXlzRm9ybUFycmF5KGUpe2NvbnN0IHQ9W107cmV0dXJuIGUmJih0aGlzLmtleXNUeXBlPT09Tm4uQ1VTVE9NJiYoZT1PYmplY3Qua2V5cyhlKS5tYXAoKHQ9Pih7a2V5OnQsdmFsdWU6ZVt0XSx0eXBlOiIifSkpKSksZS5mb3JFYWNoKChlPT57bGV0IG47aWYodGhpcy5rZXlzVHlwZT09PU5uLlJQQ19NRVRIT0RTKW49dGhpcy5mYi5ncm91cCh7bWV0aG9kOltlLm1ldGhvZCxbdWUucmVxdWlyZWRdXSxhcmd1bWVudHM6W1suLi5lLmFyZ3VtZW50c10sW11dfSk7ZWxzZXtjb25zdHtrZXk6dCx2YWx1ZTphLHR5cGU6b309ZTtuPXRoaXMuZmIuZ3JvdXAoe2tleTpbdCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx2YWx1ZTpbYSxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx0eXBlOltvLFtdXX0pfXQucHVzaChuKX0pKSksdGhpcy5mYi5hcnJheSh0KX12YWx1ZVRpdGxlKGUpe2NvbnN0IHQ9ZS5nZXQodGhpcy5rZXlzVHlwZT09PU5uLlJQQ19NRVRIT0RTPyJtZXRob2QiOiJ2YWx1ZSIpLnZhbHVlO3JldHVybiBpZSh0KT8ib2JqZWN0Ij09dHlwZW9mIHQ/SlNPTi5zdHJpbmdpZnkodCk6dDoiIn1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmFvLGRlcHM6W3t0b2tlbjptZS5VbnR5cGVkRm9ybUJ1aWxkZXJ9LHt0b2tlbjpvdC5TdG9yZX1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6YW8sc2VsZWN0b3I6InRiLW1hcHBpbmctZGF0YS1rZXlzLXBhbmVsIixpbnB1dHM6e3BhbmVsVGl0bGU6InBhbmVsVGl0bGUiLGFkZEtleVRpdGxlOiJhZGRLZXlUaXRsZSIsZGVsZXRlS2V5VGl0bGU6ImRlbGV0ZUtleVRpdGxlIixub0tleXNUZXh0OiJub0tleXNUZXh0IixrZXlzOiJrZXlzIixrZXlzVHlwZToia2V5c1R5cGUiLHZhbHVlVHlwZUtleXM6InZhbHVlVHlwZUtleXMiLHZhbHVlVHlwZUVudW06InZhbHVlVHlwZUVudW0iLHZhbHVlVHlwZXM6InZhbHVlVHlwZXMiLHJhd0RhdGE6InJhd0RhdGEiLHBvcG92ZXI6InBvcG92ZXIifSxvdXRwdXRzOntrZXlzRGF0YUFwcGxpZWQ6ImtleXNEYXRhQXBwbGllZCJ9LHByb3ZpZGVyczpbXSx1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLW1hcHBpbmcta2V5cy1wYW5lbCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPnt7IHBhbmVsVGl0bGUgIHwgdHJhbnNsYXRlIH19e3tcJyAoXCcgKyBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGggKyBcJylcJ319PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBrZXktcGFuZWwiICpuZ0lmPSJrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGg7IGVsc2Ugbm9LZXlzIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItZmxleCBuby1mbGV4IHJvdyBjZW50ZXIgZmlsbC13aWR0aCJcbiAgICAgICAgICAgKm5nRm9yPSJsZXQga2V5Q29udHJvbCBvZiBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9sczsgdHJhY2tCeTogdHJhY2tCeUtleTsgbGV0ICRpbmRleCA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3Q7Ij5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLWZsZXgiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09ImtleUNvbnRyb2wiPlxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJsYXN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9ImtleXNUeXBlICE9PSBNYXBwaW5nS2V5c1R5cGUuUlBDX01FVEhPRFMiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCBjbGFzcz0idGl0bGUtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBrZXlDb250cm9sLmdldChcJ2tleVwnKS52YWx1ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCctXCcgfX1cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgY2xhc3M9InRpdGxlLWNvbnRhaW5lciI+e3sgdmFsdWVUaXRsZShrZXlDb250cm9sKSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0RXhwYW5zaW9uUGFuZWxDb250ZW50PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciXG4gICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5c1R5cGUgIT09IE1hcHBpbmdLZXlzVHlwZS5DVVNUT00gJiYga2V5c1R5cGUgIT09IE1hcHBpbmdLZXlzVHlwZS5SUENfTUVUSE9EUyI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5wbGF0Zm9ybS1zaWRlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5KU09OUGF0aC1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmtleVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImtleSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmtleS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ2tleVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCdrZXlcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LmNvbm5lY3Rvci1zaWRlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93Ij5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudHlwZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAgZmlsbC13aWR0aCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IG5hbWU9InZhbHVlVHlwZSIgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QtdHJpZ2dlciAqbmdJZj0iIXJhd0RhdGEiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj0idmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8uaWNvbiIgY2xhc3M9InRiLW1hdC0xOCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3ZnSWNvbl09InZhbHVlVHlwZXMuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSk/Lmljb24iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPSIhcmF3RGF0YTsgZWxzZSByYXdUZXh0Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgKHZhbHVlVHlwZXMuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSk/Lm5hbWUgfHwgdmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcmF3VGV4dD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgXCdnYXRld2F5LnJhd1wnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9IiFyYXdEYXRhOyBlbHNlIHJhd09wdGlvbiI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdmFsdWVUeXBlIG9mIHZhbHVlVHlwZUtleXMiIFt2YWx1ZV09InZhbHVlVHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9InZhbHVlVHlwZXMuZ2V0KHZhbHVlVHlwZSkuaWNvbiIgY2xhc3M9InRiLW1hdC0yMCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdmdJY29uPSJ7eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLmljb24gfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLm5hbWUgfHwgdmFsdWVUeXBlcy5nZXQodmFsdWVUeXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcmF3T3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09IlwncmF3XCciPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgXCdnYXRld2F5LnJhd1wnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LkpTT05QYXRoLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudmFsdWVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0idmFsdWUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleUNvbnRyb2wuZ2V0KFwndmFsdWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0idGhpcy5rZXlzVHlwZSB8IGdldEdhdGV3YXlIZWxwTGluayA6IGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSA6IHZhbHVlVHlwZUtleXMiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0idGhpcy5rZXlzVHlwZSB8IGdldEdhdGV3YXlIZWxwTGluayA6IGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSA6IHZhbHVlVHlwZUtleXMiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciICpuZ0lmPSJrZXlzVHlwZSA9PT0gTWFwcGluZ0tleXNUeXBlLkNVU1RPTSI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmtleTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJrZXkiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkua2V5LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ2tleVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIGtleUNvbnRyb2wuZ2V0KFwna2V5XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS52YWx1ZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4IGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyIgY2xhc3M9InRiLWlubGluZS1maWVsZCBmbGV4IHRiLXN1ZmZpeC1hYnNvbHV0ZSI+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0idmFsdWUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnZhbHVlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIGtleUNvbnRyb2wuZ2V0KFwndmFsdWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyIgKm5nSWY9ImtleXNUeXBlID09PSBNYXBwaW5nS2V5c1R5cGUuUlBDX01FVEhPRFMiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1ldGhvZC1uYW1lXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXRob2QtbmFtZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkubWV0aG9kLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ21ldGhvZFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIGtleUNvbnRyb2wuZ2V0KFwnbWV0aG9kXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCBjbGFzcz0idGItc2V0dGluZ3MiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciBmeExheW91dD0icm93IHdyYXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUtY29udGFpbmVyIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLmFyZ3VtZW50c1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuYXJndW1lbnRzXCcgfCB0cmFuc2xhdGUgfX17e1wnIChcJyArIGtleUNvbnRyb2wuZ2V0KFwnYXJndW1lbnRzXCcpLnZhbHVlPy5sZW5ndGggKyBcJylcJ319XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0RXhwYW5zaW9uUGFuZWxDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRiLXR5cGUtdmFsdWUtcGFuZWwgZm9ybUNvbnRyb2xOYW1lPSJhcmd1bWVudHMiPjwvdGItdHlwZS12YWx1ZS1wYW5lbD5cbiAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9ImRlbGV0ZUtleSgkZXZlbnQsICRpbmRleCkiXG4gICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJkZWxldGVLZXlUaXRsZSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSIgKGNsaWNrKT0iYWRkS2V5KCkiPlxuICAgICAgICB7eyBhZGRLZXlUaXRsZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI25vS2V5cz5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWZsZXggY2VudGVyIGFsaWduLWNlbnRlciBrZXktcGFuZWwiPlxuICAgICAgPHNwYW4gY2xhc3M9InRiLXByb21wdCIgdHJhbnNsYXRlPnt7IG5vS2V5c1RleHQgfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9InRiLWZsZXggZmxleC1lbmQiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5jYW5jZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgKGNsaWNrKT0iYXBwbHlLZXlzRGF0YSgpIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0ia2V5c0xpc3RGb3JtQXJyYXkuaW52YWxpZCB8fCAha2V5c0xpc3RGb3JtQXJyYXkuZGlydHkiPlxuICAgICAge3sgXCdhY3Rpb24uYXBwbHlcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC50Yi1tYXBwaW5nLWtleXMtcGFuZWx7d2lkdGg6Nzd2dzttYXgtd2lkdGg6NzAwcHh9Omhvc3QgLnRiLW1hcHBpbmcta2V5cy1wYW5lbCAudGl0bGUtY29udGFpbmVye21heC13aWR0aDoxMXZ3O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH06aG9zdCAudGItbWFwcGluZy1rZXlzLXBhbmVsIC5rZXktcGFuZWx7aGVpZ2h0OjUwMHB4O292ZXJmbG93OmF1dG99Omhvc3QgLnRiLW1hcHBpbmcta2V5cy1wYW5lbCB0Yi12YWx1ZS1pbnB1dHt3aWR0aDoxMDAlfTpob3N0IC50Yi1tYXBwaW5nLWtleXMtcGFuZWwgLnRiLWZvcm0tcGFuZWwgLm1hdC1tZGMtaWNvbi1idXR0b257d2lkdGg6NTZweDtoZWlnaHQ6NTZweDtwYWRkaW5nOjE2cHg7Y29sb3I6IzAwMDAwMDhhfTpob3N0IC50Yi1tYXBwaW5nLWtleXMtcGFuZWwgLnNlZS1leGFtcGxle3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7bWFyZ2luOjRweH06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtZm9ybS1maWVsZC1pY29uLXN1ZmZpeHtkaXNwbGF5OmZsZXh9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmd0LkhlbHBQb3B1cENvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhlbHAtcG9wdXBdLCBbdGItaGVscC1wb3B1cC1jb250ZW50XSIsaW5wdXRzOlsidGItaGVscC1wb3B1cCIsInRiLWhlbHAtcG9wdXAtY29udGVudCIsInRyaWdnZXItdGV4dCIsInRyaWdnZXItc3R5bGUiLCJ0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudCIsInRiLWhlbHAtcG9wdXAtc3R5bGUiLCJoaW50TW9kZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOndlLk1hdFNlbGVjdFRyaWdnZXIsc2VsZWN0b3I6Im1hdC1zZWxlY3QtdHJpZ2dlciJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsIixpbnB1dHM6WyJoaWRlVG9nZ2xlIiwidG9nZ2xlUG9zaXRpb24iXSxvdXRwdXRzOlsiYWZ0ZXJFeHBhbmQiLCJhZnRlckNvbGxhcHNlIl0sZXhwb3J0QXM6WyJtYXRFeHBhbnNpb25QYW5lbCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsSGVhZGVyLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciIsaW5wdXRzOlsiZXhwYW5kZWRIZWlnaHQiLCJjb2xsYXBzZWRIZWlnaHQiLCJ0YWJJbmRleCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsVGl0bGUsc2VsZWN0b3I6Im1hdC1wYW5lbC10aXRsZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxDb250ZW50LHNlbGVjdG9yOiJuZy10ZW1wbGF0ZVttYXRFeHBhbnNpb25QYW5lbENvbnRlbnRdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlkuVHJhbnNsYXRlRGlyZWN0aXZlLHNlbGVjdG9yOiJbdHJhbnNsYXRlXSxbbmd4LXRyYW5zbGF0ZV0iLGlucHV0czpbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZVBhcmFtcyJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnV0LkhpbnRUb29sdGlwSWNvbkNvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhpbnQtdG9vbHRpcC1pY29uXSIsaW5wdXRzOlsidGItaGludC10b29sdGlwLWljb24iLCJ0b29sdGlwUG9zaXRpb24iLCJoaW50SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlNhLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOm5vLHNlbGVjdG9yOiJ0Yi10eXBlLXZhbHVlLXBhbmVsIn0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJwaXBlIix0eXBlOlRhLG5hbWU6ImdldEdhdGV3YXlIZWxwTGluayJ9XX0pfX1lKCJNYXBwaW5nRGF0YUtleXNQYW5lbENvbXBvbmVudCIsYW8pLEhlKFtOKCldLGFvLnByb3RvdHlwZSwicmF3RGF0YSIsdm9pZCAwKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmFvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1tYXBwaW5nLWRhdGEta2V5cy1wYW5lbCIscHJvdmlkZXJzOltdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItbWFwcGluZy1rZXlzLXBhbmVsIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSI+e3sgcGFuZWxUaXRsZSAgfCB0cmFuc2xhdGUgfX17e1wnIChcJyArIGtleXNMaXN0Rm9ybUFycmF5LmNvbnRyb2xzLmxlbmd0aCArIFwnKVwnfX08L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIGtleS1wYW5lbCIgKm5nSWY9ImtleXNMaXN0Rm9ybUFycmF5LmNvbnRyb2xzLmxlbmd0aDsgZWxzZSBub0tleXMiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1mbGV4IG5vLWZsZXggcm93IGNlbnRlciBmaWxsLXdpZHRoIlxuICAgICAgICAgICAqbmdGb3I9ImxldCBrZXlDb250cm9sIG9mIGtleXNMaXN0Rm9ybUFycmF5LmNvbnRyb2xzOyB0cmFja0J5OiB0cmFja0J5S2V5OyBsZXQgJGluZGV4ID0gaW5kZXg7IGxldCBsYXN0ID0gbGFzdDsiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQgdGItZmxleCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0ia2V5Q29udHJvbCI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCBjbGFzcz0idGItc2V0dGluZ3MiIFtleHBhbmRlZF09Imxhc3QiPlxuICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0ia2V5c1R5cGUgIT09IE1hcHBpbmdLZXlzVHlwZS5SUENfTUVUSE9EUyI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwIGNsYXNzPSJ0aXRsZS1jb250YWluZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IGtleUNvbnRyb2wuZ2V0KFwna2V5XCcpLnZhbHVlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB7eyBcJy1cJyB9fVxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCBjbGFzcz0idGl0bGUtY29udGFpbmVyIj57eyB2YWx1ZVRpdGxlKGtleUNvbnRyb2wpIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyJcbiAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlzVHlwZSAhPT0gTWFwcGluZ0tleXNUeXBlLkNVU1RPTSAmJiBrZXlzVHlwZSAhPT0gTWFwcGluZ0tleXNUeXBlLlJQQ19NRVRIT0RTIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LnBsYXRmb3JtLXNpZGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LkpTT05QYXRoLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkua2V5XCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ia2V5IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkua2V5LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImtleUNvbnRyb2wuZ2V0KFwna2V5XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlDb250cm9sLmdldChcJ2tleVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9yLXNpZGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS50eXBlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBmaWxsLXdpZHRoIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgbmFtZT0idmFsdWVUeXBlIiBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdC10cmlnZ2VyICpuZ0lmPSIhcmF3RGF0YSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBhbGlnbi1jZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPSJ2YWx1ZVR5cGVzLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpPy5pY29uIiBjbGFzcz0idGItbWF0LTE4IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdmdJY29uXT0idmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8uaWNvbiI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9IiFyYXdEYXRhOyBlbHNlIHJhd1RleHQiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAodmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8ubmFtZSB8fCB2YWx1ZVR5cGVzLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyYXdUZXh0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBcJ2dhdGV3YXkucmF3XCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3QtdHJpZ2dlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iIXJhd0RhdGE7IGVsc2UgcmF3T3B0aW9uIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB2YWx1ZVR5cGUgb2YgdmFsdWVUeXBlS2V5cyIgW3ZhbHVlXT0idmFsdWVUeXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj0idmFsdWVUeXBlcy5nZXQodmFsdWVUeXBlKS5pY29uIiBjbGFzcz0idGItbWF0LTIwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2Z0ljb249Int7IHZhbHVlVHlwZXMuZ2V0KHZhbHVlVHlwZSkuaWNvbiB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHZhbHVlVHlwZXMuZ2V0KHZhbHVlVHlwZSkubmFtZSB8fCB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyYXdPcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT0iXCdyYXdcJyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBcJ2dhdGV3YXkucmF3XCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuSlNPTlBhdGgtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS52YWx1ZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnZhbHVlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ3ZhbHVlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJ0aGlzLmtleXNUeXBlIHwgZ2V0R2F0ZXdheUhlbHBMaW5rIDoga2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlIDogdmFsdWVUeXBlS2V5cyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJ0aGlzLmtleXNUeXBlIHwgZ2V0R2F0ZXdheUhlbHBMaW5rIDoga2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlIDogdmFsdWVUeXBlS2V5cyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyIgKm5nSWY9ImtleXNUeXBlID09PSBNYXBwaW5nS2V5c1R5cGUuQ1VTVE9NIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkua2V5PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImtleSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5rZXktcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImtleUNvbnRyb2wuZ2V0KFwna2V5XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYga2V5Q29udHJvbC5nZXQoXCdrZXlcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnZhbHVlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudmFsdWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ3ZhbHVlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIiAqbmdJZj0ia2V5c1R5cGUgPT09IE1hcHBpbmdLZXlzVHlwZS5SUENfTUVUSE9EUyI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubWV0aG9kLW5hbWVcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1ldGhvZC1uYW1lXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5tZXRob2QtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImtleUNvbnRyb2wuZ2V0KFwnbWV0aG9kXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYga2V5Q29udHJvbC5nZXQoXCdtZXRob2RcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQgdGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZS1jb250YWluZXIiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMuYXJndW1lbnRzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5hcmd1bWVudHNcJyB8IHRyYW5zbGF0ZSB9fXt7XCcgKFwnICsga2V5Q29udHJvbC5nZXQoXCdhcmd1bWVudHNcJykudmFsdWU/Lmxlbmd0aCArIFwnKVwnfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGItdHlwZS12YWx1ZS1wYW5lbCBmb3JtQ29udHJvbE5hbWU9ImFyZ3VtZW50cyI+PC90Yi10eXBlLXZhbHVlLXBhbmVsPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlS2V5KCRldmVudCwgJGluZGV4KSJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09ImRlbGV0ZUtleVRpdGxlIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXY+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJhZGRLZXkoKSI+XG4gICAgICAgIHt7IGFkZEtleVRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjbm9LZXlzPlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIGtleS1wYW5lbCI+XG4gICAgICA8c3BhbiBjbGFzcz0idGItcHJvbXB0IiB0cmFuc2xhdGU+e3sgbm9LZXlzVGV4dCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz0idGItZmxleCBmbGV4LWVuZCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uXG4gICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIChjbGljayk9ImNhbmNlbCgpIj5cbiAgICAgIHt7IFwnYWN0aW9uLmNhbmNlbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAoY2xpY2spPSJhcHBseUtleXNEYXRhKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJrZXlzTGlzdEZvcm1BcnJheS5pbnZhbGlkIHx8ICFrZXlzTGlzdEZvcm1BcnJheS5kaXJ0eSI+XG4gICAgICB7eyBcJ2FjdGlvbi5hcHBseVwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnRiLW1hcHBpbmcta2V5cy1wYW5lbHt3aWR0aDo3N3Z3O21heC13aWR0aDo3MDBweH06aG9zdCAudGItbWFwcGluZy1rZXlzLXBhbmVsIC50aXRsZS1jb250YWluZXJ7bWF4LXdpZHRoOjExdnc7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfTpob3N0IC50Yi1tYXBwaW5nLWtleXMtcGFuZWwgLmtleS1wYW5lbHtoZWlnaHQ6NTAwcHg7b3ZlcmZsb3c6YXV0b306aG9zdCAudGItbWFwcGluZy1rZXlzLXBhbmVsIHRiLXZhbHVlLWlucHV0e3dpZHRoOjEwMCV9Omhvc3QgLnRiLW1hcHBpbmcta2V5cy1wYW5lbCAudGItZm9ybS1wYW5lbCAubWF0LW1kYy1pY29uLWJ1dHRvbnt3aWR0aDo1NnB4O2hlaWdodDo1NnB4O3BhZGRpbmc6MTZweDtjb2xvcjojMDAwMDAwOGF9Omhvc3QgLnRiLW1hcHBpbmcta2V5cy1wYW5lbCAuc2VlLWV4YW1wbGV7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDttYXJnaW46NHB4fTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLlVudHlwZWRGb3JtQnVpbGRlcn0se3R5cGU6b3QuU3RvcmV9XSxwcm9wRGVjb3JhdG9yczp7cGFuZWxUaXRsZTpbe3R5cGU6YX1dLGFkZEtleVRpdGxlOlt7dHlwZTphfV0sZGVsZXRlS2V5VGl0bGU6W3t0eXBlOmF9XSxub0tleXNUZXh0Olt7dHlwZTphfV0sa2V5czpbe3R5cGU6YX1dLGtleXNUeXBlOlt7dHlwZTphfV0sdmFsdWVUeXBlS2V5czpbe3R5cGU6YX1dLHZhbHVlVHlwZUVudW06W3t0eXBlOmF9XSx2YWx1ZVR5cGVzOlt7dHlwZTphfV0scmF3RGF0YTpbe3R5cGU6YX1dLHBvcG92ZXI6W3t0eXBlOmF9XSxrZXlzRGF0YUFwcGxpZWQ6W3t0eXBlOmx9XX19KTtjbGFzcyBvbyBleHRlbmRzIE97Z2V0IGRldmljZUluZm9UeXBlKCl7cmV0dXJuIHRoaXMuZGV2aWNlSW5mb1R5cGVWYWx1ZX1zZXQgZGV2aWNlSW5mb1R5cGUoZSl7dGhpcy5kZXZpY2VJbmZvVHlwZVZhbHVlIT09ZSYmKHRoaXMuZGV2aWNlSW5mb1R5cGVWYWx1ZT1lKX1jb25zdHJ1Y3RvcihlLHQsbixhKXtzdXBlcihlKSx0aGlzLnN0b3JlPWUsdGhpcy50cmFuc2xhdGU9dCx0aGlzLmRpYWxvZz1uLHRoaXMuZmI9YSx0aGlzLlNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXA9TG4sdGhpcy5EZXZpY2VJbmZvVHlwZT1rbix0aGlzLnVzZVNvdXJjZT0hMCx0aGlzLnJlcXVpcmVkPSExLHRoaXMuc291cmNlVHlwZXM9T2JqZWN0LnZhbHVlcyhUbiksdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5wcm9wYWdhdGVDaGFuZ2U9ZT0+e319bmdPbkluaXQoKXt0aGlzLm1hcHBpbmdGb3JtR3JvdXA9dGhpcy5mYi5ncm91cCh7ZGV2aWNlTmFtZUV4cHJlc3Npb246WyIiLHRoaXMucmVxdWlyZWQ/W3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXTpbdWUucGF0dGVybihrdCldXX0pLHRoaXMudXNlU291cmNlJiZ0aGlzLm1hcHBpbmdGb3JtR3JvdXAuYWRkQ29udHJvbCgiZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2UiLHRoaXMuZmIuY29udHJvbCh0aGlzLnNvdXJjZVR5cGVzWzBdLFtdKSksdGhpcy5kZXZpY2VJbmZvVHlwZT09PWtuLkZVTEwmJih0aGlzLnVzZVNvdXJjZSYmdGhpcy5tYXBwaW5nRm9ybUdyb3VwLmFkZENvbnRyb2woImRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlIix0aGlzLmZiLmNvbnRyb2wodGhpcy5zb3VyY2VUeXBlc1swXSxbXSkpLHRoaXMubWFwcGluZ0Zvcm1Hcm91cC5hZGRDb250cm9sKCJkZXZpY2VQcm9maWxlRXhwcmVzc2lvbiIsdGhpcy5mYi5jb250cm9sKCIiLHRoaXMucmVxdWlyZWQ/W3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXTpbdWUucGF0dGVybihrdCldKSkpLHRoaXMubWFwcGluZ0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy51cGRhdGVWaWV3KGUpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpLHN1cGVyLm5nT25EZXN0cm95KCl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLnByb3BhZ2F0ZUNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe313cml0ZVZhbHVlKGUpe3RoaXMubWFwcGluZ0Zvcm1Hcm91cC5wYXRjaFZhbHVlKGUse2VtaXRFdmVudDohMX0pfXZhbGlkYXRlKCl7cmV0dXJuIHRoaXMubWFwcGluZ0Zvcm1Hcm91cC52YWxpZD9udWxsOnttYXBwaW5nRm9ybTp7dmFsaWQ6ITF9fX11cGRhdGVWaWV3KGUpe3RoaXMucHJvcGFnYXRlQ2hhbmdlKGUpfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6b28sZGVwczpbe3Rva2VuOm90LlN0b3JlfSx7dG9rZW46WS5UcmFuc2xhdGVTZXJ2aWNlfSx7dG9rZW46SmUuTWF0RGlhbG9nfSx7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOm9vLHNlbGVjdG9yOiJ0Yi1kZXZpY2UtaW5mby10YWJsZSIsaW5wdXRzOnt1c2VTb3VyY2U6InVzZVNvdXJjZSIscmVxdWlyZWQ6InJlcXVpcmVkIixzb3VyY2VUeXBlczoic291cmNlVHlwZXMiLGRldmljZUluZm9UeXBlOiJkZXZpY2VJbmZvVHlwZSJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9Pm9vKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5vbykpLG11bHRpOiEwfV0sdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG5cbjxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCIgW2Zvcm1Hcm91cF09Im1hcHBpbmdGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiBbY2xhc3MudGItcmVxdWlyZWRdPSJyZXF1aXJlZCIgdHJhbnNsYXRlPmRldmljZS5kZXZpY2U8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZSBuby1wYWRkaW5nIG5vLWdhcCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1oZWFkZXIiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1oZWFkZXItY2VsbCB0YWJsZS1uYW1lLWNvbHVtbiIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLWluZm8uZW50aXR5LWZpZWxkPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPSJ1c2VTb3VyY2UiIGNsYXNzPSJ0Yi1mb3JtLXRhYmxlLWhlYWRlci1jZWxsIHRhYmxlLWNvbHVtbiIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLWluZm8uc291cmNlPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXRhYmxlLWhlYWRlci1jZWxsIHRhYmxlLWNvbHVtbiIgdHJhbnNsYXRlPlxuICAgICAgICBnYXRld2F5LmRldmljZS1pbmZvLmV4cHJlc3Npb25cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtYm9keSBuby1nYXAiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1yb3cgdGItZm9ybS1yb3cgbm8tYm9yZGVyIHNhbWUtcGFkZGluZyB0b3Atc2FtZS1wYWRkaW5nIlxuICAgICAgICAgICBbY2xhc3MuYm90dG9tLXNhbWUtcGFkZGluZ109ImRldmljZUluZm9UeXBlICE9PSBEZXZpY2VJbmZvVHlwZS5GVUxMIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1pbmZvLm5hbWU8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAgcmF3LXZhbHVlLW9wdGlvbiIgKm5nSWY9InVzZVNvdXJjZSI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2UiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNvdXJjZVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICB7eyBTb3VyY2VUeXBlVHJhbnNsYXRpb25zTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtcm93LWNlbGwgdGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLWluZm8uZGV2aWNlLW5hbWUtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lRXhwcmVzc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlTmFtZUV4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj0iXCduYW1lLWZpZWxkXCcgfCBnZXRHYXRld2F5SGVscExpbmsgOiBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVFeHByZXNzaW9uU291cmNlXCcpLnZhbHVlIDogc291cmNlVHlwZXMiXG4gICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCduYW1lLWZpZWxkXCcgfCBnZXRHYXRld2F5SGVscExpbmsgOiBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVFeHByZXNzaW9uU291cmNlXCcpLnZhbHVlIDogc291cmNlVHlwZXMiXG4gICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1yb3cgdGItZm9ybS1yb3cgbm8tYm9yZGVyIHNhbWUtcGFkZGluZyBib3R0b20tc2FtZS1wYWRkaW5nIlxuICAgICAgICAgICAqbmdJZj0iZGV2aWNlSW5mb1R5cGUgPT09IERldmljZUluZm9UeXBlLkZVTEwiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLWluZm8ucHJvZmlsZS1uYW1lPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIHJhdy12YWx1ZS1vcHRpb24iICpuZ0lmPSJ1c2VTb3VyY2UiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBzb3VyY2VUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAge3sgU291cmNlVHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXRhYmxlLXJvdy1jZWxsIHRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZVByb2ZpbGVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1pbmZvLmRldmljZS1wcm9maWxlLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlUHJvZmlsZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZVByb2ZpbGVFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9IlwncHJvZmlsZS1uYW1lXCcgfCBnZXRHYXRld2F5SGVscExpbms6IG1hcHBpbmdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlUHJvZmlsZUV4cHJlc3Npb25Tb3VyY2VcJykudmFsdWUgOiBzb3VyY2VUeXBlcyJcbiAgICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3Byb2ZpbGUtbmFtZVwnIHwgZ2V0R2F0ZXdheUhlbHBMaW5rOiBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlXCcpLnZhbHVlIDogc291cmNlVHlwZXMiXG4gICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9ja306aG9zdCAudGItZm9ybS1yb3cuYm90dG9tLXNhbWUtcGFkZGluZ3twYWRkaW5nLWJvdHRvbToxNnB4fTpob3N0IC50Yi1mb3JtLXJvdy50b3Atc2FtZS1wYWRkaW5ne3BhZGRpbmctdG9wOjE2cHh9Omhvc3QgLnRiLWZvcm0tcm93IC5maXhlZC10aXRsZS13aWR0aHt3aWR0aDoxOSV9Omhvc3QgLnRhYmxlLWNvbHVtbnt3aWR0aDo0MCV9Omhvc3QgLnRhYmxlLW5hbWUtY29sdW1ue3dpZHRoOjIwJX06aG9zdCAucmF3LW5hbWV7d2lkdGg6MTklfTpob3N0IC5yYXctdmFsdWUtb3B0aW9ue21heC13aWR0aDo0MCV9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLWZvcm0tZmllbGQtaWNvbi1zdWZmaXh7ZGlzcGxheTpmbGV4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpndC5IZWxwUG9wdXBDb21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oZWxwLXBvcHVwXSwgW3RiLWhlbHAtcG9wdXAtY29udGVudF0iLGlucHV0czpbInRiLWhlbHAtcG9wdXAiLCJ0Yi1oZWxwLXBvcHVwLWNvbnRlbnQiLCJ0cmlnZ2VyLXRleHQiLCJ0cmlnZ2VyLXN0eWxlIiwidGItaGVscC1wb3B1cC1wbGFjZW1lbnQiLCJ0Yi1oZWxwLXBvcHVwLXN0eWxlIiwiaGludE1vZGUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRTdWZmaXgsc2VsZWN0b3I6IlttYXRTdWZmaXhdLCBbbWF0SWNvblN1ZmZpeF0sIFttYXRUZXh0U3VmZml4XSIsaW5wdXRzOlsibWF0VGV4dFN1ZmZpeCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOndlLk1hdFNlbGVjdCxzZWxlY3RvcjoibWF0LXNlbGVjdCIsaW5wdXRzOlsiYXJpYS1kZXNjcmliZWRieSIsInBhbmVsQ2xhc3MiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3IiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwibXVsdGlwbGUiLCJkaXNhYmxlT3B0aW9uQ2VudGVyaW5nIiwiY29tcGFyZVdpdGgiLCJ2YWx1ZSIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJlcnJvclN0YXRlTWF0Y2hlciIsInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLCJzb3J0Q29tcGFyYXRvciIsImlkIiwicGFuZWxXaWR0aCJdLG91dHB1dHM6WyJvcGVuZWRDaGFuZ2UiLCJvcGVuZWQiLCJjbG9zZWQiLCJzZWxlY3Rpb25DaGFuZ2UiLCJ2YWx1ZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2VsZWN0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoicGlwZSIsdHlwZTpUYSxuYW1lOiJnZXRHYXRld2F5SGVscExpbmsifV0sY2hhbmdlRGV0ZWN0aW9uOnQuQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNofSl9fWUoIkRldmljZUluZm9UYWJsZUNvbXBvbmVudCIsb28pLEhlKFtOKCldLG9vLnByb3RvdHlwZSwidXNlU291cmNlIix2b2lkIDApLEhlKFtOKCldLG9vLnByb3RvdHlwZSwicmVxdWlyZWQiLHZvaWQgMCksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpvbyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItZGV2aWNlLWluZm8tdGFibGUiLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5vbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+b28pKSxtdWx0aTohMH1dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuXG48ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiIFtmb3JtR3JvdXBdPSJtYXBwaW5nRm9ybUdyb3VwIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgW2NsYXNzLnRiLXJlcXVpcmVkXT0icmVxdWlyZWQiIHRyYW5zbGF0ZT5kZXZpY2UuZGV2aWNlPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUgbm8tcGFkZGluZyBuby1nYXAiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtaGVhZGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtaGVhZGVyLWNlbGwgdGFibGUtbmFtZS1jb2x1bW4iIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1pbmZvLmVudGl0eS1maWVsZDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj0idXNlU291cmNlIiBjbGFzcz0idGItZm9ybS10YWJsZS1oZWFkZXItY2VsbCB0YWJsZS1jb2x1bW4iIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1pbmZvLnNvdXJjZTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1oZWFkZXItY2VsbCB0YWJsZS1jb2x1bW4iIHRyYW5zbGF0ZT5cbiAgICAgICAgZ2F0ZXdheS5kZXZpY2UtaW5mby5leHByZXNzaW9uXG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXRhYmxlLWJvZHkgbm8tZ2FwIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtcm93IHRiLWZvcm0tcm93IG5vLWJvcmRlciBzYW1lLXBhZGRpbmcgdG9wLXNhbWUtcGFkZGluZyJcbiAgICAgICAgICAgW2NsYXNzLmJvdHRvbS1zYW1lLXBhZGRpbmddPSJkZXZpY2VJbmZvVHlwZSAhPT0gRGV2aWNlSW5mb1R5cGUuRlVMTCI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5kZXZpY2UtaW5mby5uYW1lPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIHJhdy12YWx1ZS1vcHRpb24iICpuZ0lmPSJ1c2VTb3VyY2UiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVFeHByZXNzaW9uU291cmNlIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBzb3VyY2VUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAge3sgU291cmNlVHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXRhYmxlLXJvdy1jZWxsIHRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1pbmZvLmRldmljZS1uYW1lLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlTmFtZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9IlwnbmFtZS1maWVsZFwnIHwgZ2V0R2F0ZXdheUhlbHBMaW5rIDogbWFwcGluZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZVwnKS52YWx1ZSA6IHNvdXJjZVR5cGVzIlxuICAgICAgICAgICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09IlwnbmFtZS1maWVsZFwnIHwgZ2V0R2F0ZXdheUhlbHBMaW5rIDogbWFwcGluZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZVwnKS52YWx1ZSA6IHNvdXJjZVR5cGVzIlxuICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtcm93IHRiLWZvcm0tcm93IG5vLWJvcmRlciBzYW1lLXBhZGRpbmcgYm90dG9tLXNhbWUtcGFkZGluZyJcbiAgICAgICAgICAgKm5nSWY9ImRldmljZUluZm9UeXBlID09PSBEZXZpY2VJbmZvVHlwZS5GVUxMIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1pbmZvLnByb2ZpbGUtbmFtZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCByYXctdmFsdWUtb3B0aW9uIiAqbmdJZj0idXNlU291cmNlIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VQcm9maWxlRXhwcmVzc2lvblNvdXJjZSI+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2Ygc291cmNlVHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgIHt7IFNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1yb3ctY2VsbCB0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VQcm9maWxlRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2UtaW5mby5kZXZpY2UtcHJvZmlsZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZVByb2ZpbGVFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VQcm9maWxlRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPSJcJ3Byb2ZpbGUtbmFtZVwnIHwgZ2V0R2F0ZXdheUhlbHBMaW5rOiBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlXCcpLnZhbHVlIDogc291cmNlVHlwZXMiXG4gICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCdwcm9maWxlLW5hbWVcJyB8IGdldEdhdGV3YXlIZWxwTGluazogbWFwcGluZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VQcm9maWxlRXhwcmVzc2lvblNvdXJjZVwnKS52YWx1ZSA6IHNvdXJjZVR5cGVzIlxuICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6YmxvY2t9Omhvc3QgLnRiLWZvcm0tcm93LmJvdHRvbS1zYW1lLXBhZGRpbmd7cGFkZGluZy1ib3R0b206MTZweH06aG9zdCAudGItZm9ybS1yb3cudG9wLXNhbWUtcGFkZGluZ3twYWRkaW5nLXRvcDoxNnB4fTpob3N0IC50Yi1mb3JtLXJvdyAuZml4ZWQtdGl0bGUtd2lkdGh7d2lkdGg6MTklfTpob3N0IC50YWJsZS1jb2x1bW57d2lkdGg6NDAlfTpob3N0IC50YWJsZS1uYW1lLWNvbHVtbnt3aWR0aDoyMCV9Omhvc3QgLnJhdy1uYW1le3dpZHRoOjE5JX06aG9zdCAucmF3LXZhbHVlLW9wdGlvbnttYXgtd2lkdGg6NDAlfTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm90LlN0b3JlfSx7dHlwZTpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0eXBlOkplLk1hdERpYWxvZ30se3R5cGU6bWUuRm9ybUJ1aWxkZXJ9XSxwcm9wRGVjb3JhdG9yczp7dXNlU291cmNlOlt7dHlwZTphfV0scmVxdWlyZWQ6W3t0eXBlOmF9XSxzb3VyY2VUeXBlczpbe3R5cGU6YX1dLGRldmljZUluZm9UeXBlOlt7dHlwZTphfV19fSk7Y2xhc3MgaW8gZXh0ZW5kcyBQe2NvbnN0cnVjdG9yKGUsdCxuLGEsbyxpLHIscyxsKXtzdXBlcihlLHQsYSksdGhpcy5zdG9yZT1lLHRoaXMucm91dGVyPXQsdGhpcy5kYXRhPW4sdGhpcy5kaWFsb2dSZWY9YSx0aGlzLmZiPW8sdGhpcy5wb3BvdmVyU2VydmljZT1pLHRoaXMucmVuZGVyZXI9cix0aGlzLnZpZXdDb250YWluZXJSZWY9cyx0aGlzLnRyYW5zbGF0ZT1sLHRoaXMuTWFwcGluZ1R5cGU9Zm4sdGhpcy5xdWFsaXR5VHlwZXM9eG4sdGhpcy5RdWFsaXR5VHJhbnNsYXRpb25zTWFwPXZuLHRoaXMuY29udmVydG9yVHlwZXM9T2JqZWN0LnZhbHVlcyh3biksdGhpcy5Db252ZXJ0b3JUeXBlRW51bT13bix0aGlzLkNvbnZlcnRvclR5cGVUcmFuc2xhdGlvbnNNYXA9Q24sdGhpcy5zb3VyY2VUeXBlcz1PYmplY3QudmFsdWVzKFRuKSx0aGlzLk9QQ1VhU291cmNlVHlwZXM9T2JqZWN0LnZhbHVlcyhTbiksdGhpcy5PUENVYVNvdXJjZVR5cGVzRW51bT1Tbix0aGlzLnNvdXJjZVR5cGVzRW51bT1Ubix0aGlzLlNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXA9TG4sdGhpcy5yZXF1ZXN0VHlwZXM9T2JqZWN0LnZhbHVlcyhJbiksdGhpcy5SZXF1ZXN0VHlwZUVudW09SW4sdGhpcy5SZXF1ZXN0VHlwZXNUcmFuc2xhdGlvbnNNYXA9QW4sdGhpcy5EZXZpY2VJbmZvVHlwZT1rbix0aGlzLlNlcnZlclNpZGVSUENUeXBlPVBuLHRoaXMuTWFwcGluZ0tleXNUeXBlPU5uLHRoaXMuTWFwcGluZ0hpbnRUcmFuc2xhdGlvbnNNYXA9Ym4sdGhpcy5NYXBwaW5nVHlwZVRyYW5zbGF0aW9uc01hcD15bix0aGlzLkRhdGFDb252ZXJzaW9uVHJhbnNsYXRpb25zTWFwPUJuLHRoaXMuSGVscExpbmtCeU1hcHBpbmdUeXBlTWFwPWhuLHRoaXMua2V5c1BvcHVwQ2xvc2VkPSEwLHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMuY3JlYXRlTWFwcGluZ0Zvcm0oKX1nZXQgY29udmVydGVyQXR0cmlidXRlcygpe2lmKHRoaXMuY29udmVydGVyVHlwZSlyZXR1cm4gdGhpcy5tYXBwaW5nRm9ybS5nZXQoImNvbnZlcnRlciIpLmdldCh0aGlzLmNvbnZlcnRlclR5cGUpLnZhbHVlLmF0dHJpYnV0ZXMubWFwKChlPT5lLmtleSkpfWdldCBjb252ZXJ0ZXJUZWxlbWV0cnkoKXtpZih0aGlzLmNvbnZlcnRlclR5cGUpcmV0dXJuIHRoaXMubWFwcGluZ0Zvcm0uZ2V0KCJjb252ZXJ0ZXIiKS5nZXQodGhpcy5jb252ZXJ0ZXJUeXBlKS52YWx1ZS50aW1lc2VyaWVzLm1hcCgoZT0+ZS5rZXkpKX1nZXQgb3BjQXR0cmlidXRlcygpe3JldHVybiB0aGlzLm1hcHBpbmdGb3JtLmdldCgiYXR0cmlidXRlcyIpLnZhbHVlPy5tYXAoKGU9PmUua2V5KSl8fFtdfWdldCBvcGNUZWxlbWV0cnkoKXtyZXR1cm4gdGhpcy5tYXBwaW5nRm9ybS5nZXQoInRpbWVzZXJpZXMiKS52YWx1ZT8ubWFwKChlPT5lLmtleSkpfHxbXX1nZXQgb3BjUnBjTWV0aG9kcygpe3JldHVybiB0aGlzLm1hcHBpbmdGb3JtLmdldCgicnBjX21ldGhvZHMiKS52YWx1ZT8ubWFwKChlPT5lLm1ldGhvZCkpfHxbXX1nZXQgb3BjQXR0cmlidXRlc1VwZGF0ZXMoKXtyZXR1cm4gdGhpcy5tYXBwaW5nRm9ybS5nZXQoImF0dHJpYnV0ZXNfdXBkYXRlcyIpPy52YWx1ZT8ubWFwKChlPT5lLmtleSkpfHxbXX1nZXQgY29udmVydGVyVHlwZSgpe3JldHVybiB0aGlzLm1hcHBpbmdGb3JtLmdldCgiY29udmVydGVyIikuZ2V0KCJ0eXBlIikudmFsdWV9Z2V0IGN1c3RvbUtleXMoKXtyZXR1cm4gT2JqZWN0LmtleXModGhpcy5tYXBwaW5nRm9ybS5nZXQoImNvbnZlcnRlciIpLmdldCgiY3VzdG9tIikudmFsdWUuZXh0ZW5zaW9uQ29uZmlnKX1nZXQgcmVxdWVzdE1hcHBpbmdUeXBlKCl7cmV0dXJuIHRoaXMubWFwcGluZ0Zvcm0uZ2V0KCJyZXF1ZXN0VHlwZSIpLnZhbHVlfWdldCByZXNwb25zZVRpbWVvdXRFcnJvclRvb2x0aXAoKXtjb25zdCBlPXRoaXMubWFwcGluZ0Zvcm0uZ2V0KCJyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5yZXNwb25zZVRpbWVvdXQiKTtyZXR1cm4gZS5oYXNFcnJvcigicmVxdWlyZWQiKT90aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LnJlc3BvbnNlLXRpbWVvdXQtcmVxdWlyZWQiKTplLmhhc0Vycm9yKCJtaW4iKT90aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LnJlc3BvbnNlLXRpbWVvdXQtbGltaXRzLWVycm9yIix7bWluOjF9KToiIn1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKSxzdXBlci5uZ09uRGVzdHJveSgpfWNyZWF0ZU1hcHBpbmdGb3JtKCl7c3dpdGNoKHRoaXMuZGF0YS5tYXBwaW5nVHlwZSl7Y2FzZSBmbi5EQVRBOnRoaXMubWFwcGluZ0Zvcm09dGhpcy5mYi5ncm91cCh7fSksdGhpcy5jcmVhdGVEYXRhTWFwcGluZ0Zvcm0oKTticmVhaztjYXNlIGZuLlJFUVVFU1RTOnRoaXMubWFwcGluZ0Zvcm09dGhpcy5mYi5ncm91cCh7fSksdGhpcy5jcmVhdGVSZXF1ZXN0TWFwcGluZ0Zvcm0oKTticmVhaztjYXNlIGZuLk9QQ1VBOnRoaXMuY3JlYXRlT1BDVUFNYXBwaW5nRm9ybSgpfX1jYW5jZWwoKXt0aGlzLmtleXNQb3B1cENsb3NlZCYmdGhpcy5kaWFsb2dSZWYuY2xvc2UobnVsbCl9YWRkKCl7dGhpcy5tYXBwaW5nRm9ybS52YWxpZCYmdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5wcmVwYXJlTWFwcGluZ0RhdGEoKSl9bWFuYWdlS2V5cyhlLHQsbil7ZSYmZS5zdG9wUHJvcGFnYXRpb24oKTtjb25zdCBhPXQuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtpZih0aGlzLnBvcG92ZXJTZXJ2aWNlLmhhc1BvcG92ZXIoYSkpdGhpcy5wb3BvdmVyU2VydmljZS5oaWRlUG9wb3ZlcihhKTtlbHNle2NvbnN0IGU9KHRoaXMuZGF0YS5tYXBwaW5nVHlwZSE9PWZuLk9QQ1VBP3RoaXMubWFwcGluZ0Zvcm0uZ2V0KCJjb252ZXJ0ZXIiKS5nZXQodGhpcy5jb252ZXJ0ZXJUeXBlKTp0aGlzLm1hcHBpbmdGb3JtKS5nZXQobiksdD17a2V5czplLnZhbHVlLGtleXNUeXBlOm4scmF3RGF0YTp0aGlzLm1hcHBpbmdGb3JtLmdldCgiY29udmVydGVyLnR5cGUiKT8udmFsdWU9PT13bi5CWVRFUyxwYW5lbFRpdGxlOk1uLmdldChuKSxhZGRLZXlUaXRsZTpFbi5nZXQobiksZGVsZXRlS2V5VGl0bGU6cW4uZ2V0KG4pLG5vS2V5c1RleHQ6RG4uZ2V0KG4pfTt0aGlzLmRhdGEubWFwcGluZ1R5cGU9PT1mbi5PUENVQSYmKHQudmFsdWVUeXBlS2V5cz1PYmplY3QudmFsdWVzKFNuKSx0LnZhbHVlVHlwZUVudW09U24sdC52YWx1ZVR5cGVzPUxuKSx0aGlzLmtleXNQb3B1cENsb3NlZD0hMTtjb25zdCBvPXRoaXMucG9wb3ZlclNlcnZpY2UuZGlzcGxheVBvcG92ZXIoYSx0aGlzLnJlbmRlcmVyLHRoaXMudmlld0NvbnRhaW5lclJlZixhbywibGVmdEJvdHRvbSIsITEsbnVsbCx0LHt9LHt9LHt9LCEwKTtvLnRiQ29tcG9uZW50UmVmLmluc3RhbmNlLnBvcG92ZXI9byxvLnRiQ29tcG9uZW50UmVmLmluc3RhbmNlLmtleXNEYXRhQXBwbGllZC5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHQ9PntvLmhpZGUoKSxlLnBhdGNoVmFsdWUodCksZS5tYXJrQXNEaXJ0eSgpfSkpLG8udGJIaWRlU3RhcnQucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMua2V5c1BvcHVwQ2xvc2VkPSEwfSkpfX1wcmVwYXJlTWFwcGluZ0RhdGEoKXtjb25zdCBlPXRoaXMubWFwcGluZ0Zvcm0udmFsdWU7c3dpdGNoKHRoaXMuZGF0YS5tYXBwaW5nVHlwZSl7Y2FzZSBmbi5EQVRBOmNvbnN0e2NvbnZlcnRlcjp0LHRvcGljRmlsdGVyOm4sc3Vic2NyaXB0aW9uUW9zOmF9PWU7cmV0dXJue3RvcGljRmlsdGVyOm4sc3Vic2NyaXB0aW9uUW9zOmEsY29udmVydGVyOnt0eXBlOnQudHlwZSwuLi50W3QudHlwZV19fTtjYXNlIGZuLlJFUVVFU1RTOnJldHVybntyZXF1ZXN0VHlwZTplLnJlcXVlc3RUeXBlLHJlcXVlc3RWYWx1ZTplLnJlcXVlc3RWYWx1ZVtlLnJlcXVlc3RUeXBlXX07ZGVmYXVsdDpyZXR1cm4gZX19Z2V0Rm9ybVZhbHVlRGF0YSgpe2lmKHRoaXMuZGF0YS52YWx1ZSYmT2JqZWN0LmtleXModGhpcy5kYXRhLnZhbHVlKS5sZW5ndGgpc3dpdGNoKHRoaXMuZGF0YS5tYXBwaW5nVHlwZSl7Y2FzZSBmbi5EQVRBOmNvbnN0e2NvbnZlcnRlcjplLHRvcGljRmlsdGVyOnQsc3Vic2NyaXB0aW9uUW9zOm59PXRoaXMuZGF0YS52YWx1ZTtyZXR1cm57dG9waWNGaWx0ZXI6dCxzdWJzY3JpcHRpb25Rb3M6bixjb252ZXJ0ZXI6e3R5cGU6ZS50eXBlLFtlLnR5cGVdOnsuLi5lfX19O2Nhc2UgZm4uUkVRVUVTVFM6cmV0dXJue3JlcXVlc3RUeXBlOnRoaXMuZGF0YS52YWx1ZS5yZXF1ZXN0VHlwZSxyZXF1ZXN0VmFsdWU6e1t0aGlzLmRhdGEudmFsdWUucmVxdWVzdFR5cGVdOnRoaXMuZGF0YS52YWx1ZS5yZXF1ZXN0VmFsdWV9fTtkZWZhdWx0OnJldHVybiB0aGlzLmRhdGEudmFsdWV9fWNyZWF0ZURhdGFNYXBwaW5nRm9ybSgpe3RoaXMubWFwcGluZ0Zvcm0uYWRkQ29udHJvbCgidG9waWNGaWx0ZXIiLHRoaXMuZmIuY29udHJvbCgiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldKSksdGhpcy5tYXBwaW5nRm9ybS5hZGRDb250cm9sKCJzdWJzY3JpcHRpb25Rb3MiLHRoaXMuZmIuY29udHJvbCgwKSksdGhpcy5tYXBwaW5nRm9ybS5hZGRDb250cm9sKCJjb252ZXJ0ZXIiLHRoaXMuZmIuZ3JvdXAoe3R5cGU6W3duLkpTT04sW11dLGpzb246dGhpcy5mYi5ncm91cCh7ZGV2aWNlSW5mbzpbe30sW11dLGF0dHJpYnV0ZXM6W1tdLFtdXSx0aW1lc2VyaWVzOltbXSxbXV19KSxieXRlczp0aGlzLmZiLmdyb3VwKHtkZXZpY2VJbmZvOlt7fSxbXV0sYXR0cmlidXRlczpbW10sW11dLHRpbWVzZXJpZXM6W1tdLFtdXX0pLGN1c3RvbTp0aGlzLmZiLmdyb3VwKHtleHRlbnNpb246WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLGV4dGVuc2lvbkNvbmZpZzpbe30sW11dfSl9KSksdGhpcy5tYXBwaW5nRm9ybS5wYXRjaFZhbHVlKHRoaXMuZ2V0Rm9ybVZhbHVlRGF0YSgpKSx0aGlzLm1hcHBpbmdGb3JtLmdldCgiY29udmVydGVyLnR5cGUiKS52YWx1ZUNoYW5nZXMucGlwZShSZSh0aGlzLm1hcHBpbmdGb3JtLmdldCgiY29udmVydGVyLnR5cGUiKS52YWx1ZSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2NvbnN0IHQ9dGhpcy5tYXBwaW5nRm9ybS5nZXQoImNvbnZlcnRlciIpO3QuZ2V0KCJqc29uIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoImJ5dGVzIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoImN1c3RvbSIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KGUpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSl9KSl9Y3JlYXRlUmVxdWVzdE1hcHBpbmdGb3JtKCl7dGhpcy5tYXBwaW5nRm9ybS5hZGRDb250cm9sKCJyZXF1ZXN0VHlwZSIsdGhpcy5mYi5jb250cm9sKEluLkNPTk5FQ1RfUkVRVUVTVCxbXSkpLHRoaXMubWFwcGluZ0Zvcm0uYWRkQ29udHJvbCgicmVxdWVzdFZhbHVlIix0aGlzLmZiLmdyb3VwKHtjb25uZWN0UmVxdWVzdHM6dGhpcy5mYi5ncm91cCh7dG9waWNGaWx0ZXI6WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLGRldmljZUluZm86W3t9LFtdXX0pLGRpc2Nvbm5lY3RSZXF1ZXN0czp0aGlzLmZiLmdyb3VwKHt0b3BpY0ZpbHRlcjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sZGV2aWNlSW5mbzpbe30sW11dfSksYXR0cmlidXRlUmVxdWVzdHM6dGhpcy5mYi5ncm91cCh7dG9waWNGaWx0ZXI6WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLGRldmljZUluZm86dGhpcy5mYi5ncm91cCh7ZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2U6W1RuLk1TRyxbXV0sZGV2aWNlTmFtZUV4cHJlc3Npb246WyIiLFt1ZS5yZXF1aXJlZF1dfSksYXR0cmlidXRlTmFtZUV4cHJlc3Npb25Tb3VyY2U6W1RuLk1TRyxbXV0sYXR0cmlidXRlTmFtZUV4cHJlc3Npb246WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHRvcGljRXhwcmVzc2lvbjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sdmFsdWVFeHByZXNzaW9uOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxyZXRhaW46WyExLFtdXX0pLGF0dHJpYnV0ZVVwZGF0ZXM6dGhpcy5mYi5ncm91cCh7ZGV2aWNlTmFtZUZpbHRlcjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sYXR0cmlidXRlRmlsdGVyOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx0b3BpY0V4cHJlc3Npb246WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHZhbHVlRXhwcmVzc2lvbjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmV0YWluOlshMCxbXV19KSxzZXJ2ZXJTaWRlUnBjOnRoaXMuZmIuZ3JvdXAoe3R5cGU6W1BuLlRXT19XQVksW11dLGRldmljZU5hbWVGaWx0ZXI6WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLG1ldGhvZEZpbHRlcjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVxdWVzdFRvcGljRXhwcmVzc2lvbjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVzcG9uc2VUb3BpY0V4cHJlc3Npb246WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHZhbHVlRXhwcmVzc2lvbjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVzcG9uc2VUb3BpY1FvUzpbMCxbXV0scmVzcG9uc2VUaW1lb3V0OlsxZTQsW3VlLnJlcXVpcmVkLHVlLm1pbigxKV1dfSl9KSksdGhpcy5tYXBwaW5nRm9ybS5nZXQoInJlcXVlc3RUeXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoUmUodGhpcy5tYXBwaW5nRm9ybS5nZXQoInJlcXVlc3RUeXBlIikudmFsdWUpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pntjb25zdCB0PXRoaXMubWFwcGluZ0Zvcm0uZ2V0KCJyZXF1ZXN0VmFsdWUiKTt0LmdldCgiY29ubmVjdFJlcXVlc3RzIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoImRpc2Nvbm5lY3RSZXF1ZXN0cyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJhdHRyaWJ1dGVSZXF1ZXN0cyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJhdHRyaWJ1dGVVcGRhdGVzIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoInNlcnZlclNpZGVScGMiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSx0LmdldChlKS5lbmFibGUoKX0pKSx0aGlzLm1hcHBpbmdGb3JtLmdldCgicmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMudHlwZSIpLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pntjb25zdCB0PXRoaXMubWFwcGluZ0Zvcm0uZ2V0KCJyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYyIpO2U9PT1Qbi5PTkVfV0FZPyh0LmdldCgicmVzcG9uc2VUb3BpY0V4cHJlc3Npb24iKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSx0LmdldCgicmVzcG9uc2VUb3BpY1FvUyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJyZXNwb25zZVRpbWVvdXQiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSk6KHQuZ2V0KCJyZXNwb25zZVRvcGljRXhwcmVzc2lvbiIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoInJlc3BvbnNlVG9waWNRb1MiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJyZXNwb25zZVRpbWVvdXQiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pKX0pKSx0aGlzLm1hcHBpbmdGb3JtLnBhdGNoVmFsdWUodGhpcy5nZXRGb3JtVmFsdWVEYXRhKCkpfWNyZWF0ZU9QQ1VBTWFwcGluZ0Zvcm0oKXt0aGlzLm1hcHBpbmdGb3JtPXRoaXMuZmIuZ3JvdXAoe2RldmljZU5vZGVTb3VyY2U6W1NuLlBBVEgsW11dLGRldmljZU5vZGVQYXR0ZXJuOlsiIixbdWUucmVxdWlyZWRdXSxkZXZpY2VJbmZvOlt7fSxbXV0sYXR0cmlidXRlczpbW10sW11dLHRpbWVzZXJpZXM6W1tdLFtdXSxycGNfbWV0aG9kczpbW10sW11dLGF0dHJpYnV0ZXNfdXBkYXRlczpbW10sW11dfSksdGhpcy5tYXBwaW5nRm9ybS5wYXRjaFZhbHVlKHRoaXMuZ2V0Rm9ybVZhbHVlRGF0YSgpKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmlvLGRlcHM6W3t0b2tlbjpvdC5TdG9yZX0se3Rva2VuOml0LlJvdXRlcn0se3Rva2VuOlhlfSx7dG9rZW46SmUuTWF0RGlhbG9nUmVmfSx7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjpmdC5UYlBvcG92ZXJTZXJ2aWNlfSx7dG9rZW46dC5SZW5kZXJlcjJ9LHt0b2tlbjp0LlZpZXdDb250YWluZXJSZWZ9LHt0b2tlbjpZLlRyYW5zbGF0ZVNlcnZpY2V9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOmlvLHNlbGVjdG9yOiJ0Yi1tYXBwaW5nLWRpYWxvZyIsdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG5cbjxkaXYgW2Zvcm1Hcm91cF09Im1hcHBpbmdGb3JtIiBjbGFzcz0ia2V5LW1hcHBpbmciPlxuICA8bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICAgIDxoMj57eyBNYXBwaW5nVHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodGhpcy5kYXRhPy5tYXBwaW5nVHlwZSkgfCB0cmFuc2xhdGV9fTwvaDI+XG4gICAgPHNwYW4gZnhGbGV4Pjwvc3Bhbj5cbiAgICA8ZGl2IFt0Yi1oZWxwXT0iSGVscExpbmtCeU1hcHBpbmdUeXBlTWFwLmdldCh0aGlzLmRhdGEubWFwcGluZ1R5cGUpIj48L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L21hdC10b29sYmFyPlxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwiPlxuICAgICAgICB7eyBNYXBwaW5nSGludFRyYW5zbGF0aW9uc01hcC5nZXQodGhpcy5kYXRhPy5tYXBwaW5nVHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJkYXRhLm1hcHBpbmdUeXBlIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJNYXBwaW5nVHlwZS5EQVRBIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS50b3BpYy1maWx0ZXI8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idG9waWNGaWx0ZXIiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnRvcGljLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwndG9waWNGaWx0ZXJcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwndG9waWNGaWx0ZXJcJykudG91Y2hlZDsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS90b3BpYy1maWx0ZXJfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5yZXNwb25zZS10b3BpYy1Rb3MtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1xdHQtcW9zXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ic3Vic2NyaXB0aW9uUW9zIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2YgcXVhbGl0eVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAge3sgUXVhbGl0eVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIGZvcm1Hcm91cE5hbWU9ImNvbnZlcnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucGF5bG9hZC10eXBlPC9kaXY+XG4gICAgICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBjb252ZXJ0b3JUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAgICB7eyBDb252ZXJ0b3JUeXBlVHJhbnNsYXRpb25zTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5kYXRhLWNvbnZlcnNpb248L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCI+XG4gICAgICAgICAgICAgICAge3sgRGF0YUNvbnZlcnNpb25UcmFuc2xhdGlvbnNNYXAuZ2V0KGNvbnZlcnRlclR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBOYW1lXT0iY29udmVydGVyVHlwZSIgW25nU3dpdGNoXT0iY29udmVydGVyVHlwZSI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb252ZXJ0b3JUeXBlRW51bS5KU09OIj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1kZXZpY2UtaW5mby10YWJsZSBmb3JtQ29udHJvbE5hbWU9ImRldmljZUluZm8iIFtkZXZpY2VJbmZvVHlwZV09IkRldmljZUluZm9UeXBlLkZVTEwiIHJlcXVpcmVkPSJ0cnVlIj5cbiAgICAgICAgICAgICAgICAgIDwvdGItZGV2aWNlLWluZm8tdGFibGU+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbnZlcnRvclR5cGVFbnVtLkJZVEVTIj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1kZXZpY2UtaW5mby10YWJsZSBmb3JtQ29udHJvbE5hbWU9ImRldmljZUluZm8iIFtkZXZpY2VJbmZvVHlwZV09IkRldmljZUluZm9UeXBlLkZVTEwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NvdXJjZVR5cGVzXT0iW3NvdXJjZVR5cGVzRW51bS5NU0csIHNvdXJjZVR5cGVzRW51bS5DT05TVF0iIHJlcXVpcmVkPSJ0cnVlIj5cbiAgICAgICAgICAgICAgICAgIDwvdGItZGV2aWNlLWluZm8tdGFibGU+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIlxuICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImNvbnZlcnRlclR5cGUgPT09IENvbnZlcnRvclR5cGVFbnVtLkJZVEVTIHx8IGNvbnZlcnRlclR5cGUgPT09IENvbnZlcnRvclR5cGVFbnVtLkpTT04iPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZXM8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0Ym94IFt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdPSJjb252ZXJ0ZXJBdHRyaWJ1dGVzIiBjbGFzcz0idGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCBhdHRyaWJ1dGUgb2YgY29udmVydGVyQXR0cmlidXRlcyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgYXR0cmlidXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNhdHRyaWJ1dGVzQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgYXR0cmlidXRlc0J1dHRvbiwgTWFwcGluZ0tleXNUeXBlLkFUVFJJQlVURVMpIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50aW1lc2VyaWVzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggZWxsaXBzaXMtY2hpcHMtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoaXAtbGlzdGJveCBjbGFzcz0idGItZmxleCIgW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09ImNvbnZlcnRlclRlbGVtZXRyeSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgdGVsZW1ldHJ5IG9mIGNvbnZlcnRlclRlbGVtZXRyeSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRlbGVtZXRyeSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3RlbGVtZXRyeUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIHRlbGVtZXRyeUJ1dHRvbiwgTWFwcGluZ0tleXNUeXBlLlRJTUVTRVJJRVMpIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIiAqbmdJZj0iY29udmVydGVyVHlwZSA9PT0gQ29udmVydG9yVHlwZUVudW0uQ1VTVE9NIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmV4dGVuc2lvbi1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5leHRlbnNpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZXh0ZW5zaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmV4dGVuc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwnY29udmVydGVyLmN1c3RvbS5leHRlbnNpb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdjb252ZXJ0ZXIuY3VzdG9tLmV4dGVuc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gc2FtZS1wYWRkaW5nIHRiLWZsZXggY29sdW1uIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuZXh0ZW5zaW9uLWNvbmZpZ3VyYXRpb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCI+e3sgXCdnYXRld2F5LmV4dGVuc2lvbi1jb25maWd1cmF0aW9uLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5rZXlzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09ImN1c3RvbUtleXMiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IHRlbGVtZXRyeSBvZiBjdXN0b21LZXlzIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB0ZWxlbWV0cnkgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAja2V5c0J1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwga2V5c0J1dHRvbiwgTWFwcGluZ0tleXNUeXBlLkNVU1RPTSkiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGItaWNvbiBtYXRCdXR0b25JY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJNYXBwaW5nVHlwZS5SRVFVRVNUUyI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnJlcXVlc3QtdHlwZTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icmVxdWVzdFR5cGUiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHJlcXVlc3RUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgUmVxdWVzdFR5cGVzVHJhbnNsYXRpb25zTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgZm9ybUdyb3VwTmFtZT0icmVxdWVzdFZhbHVlIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlXCcpLmdldChyZXF1ZXN0TWFwcGluZ1R5cGUpIiBbbmdTd2l0Y2hdPSJyZXF1ZXN0TWFwcGluZ1R5cGUiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiXG4gICAgICAgICAgICAgICAgICAgICAqbmdJZj0icmVxdWVzdE1hcHBpbmdUeXBlID09PSBSZXF1ZXN0VHlwZUVudW0uQVRUUklCVVRFX1JFUVVFU1QgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0TWFwcGluZ1R5cGUgPT09IFJlcXVlc3RUeXBlRW51bS5DT05ORUNUX1JFUVVFU1QgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0TWFwcGluZ1R5cGUgPT09IFJlcXVlc3RUeXBlRW51bS5ESVNDT05ORUNUX1JFUVVFU1QiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnRvcGljLWZpbHRlcjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgW2Zvcm1Db250cm9sXT0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlXCcpLmdldChyZXF1ZXN0TWFwcGluZ1R5cGUpLmdldChcJ3RvcGljRmlsdGVyXCcpIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS50b3BpYy1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZVwnKS5nZXQocmVxdWVzdE1hcHBpbmdUeXBlKS5nZXQoXCd0b3BpY0ZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWVcJykuZ2V0KHJlcXVlc3RNYXBwaW5nVHlwZSkuZ2V0KFwndG9waWNGaWx0ZXJcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L3RvcGljLWZpbHRlcl9mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IlJlcXVlc3RUeXBlRW51bS5DT05ORUNUX1JFUVVFU1QiPlxuICAgICAgICAgICAgICAgICAgPHRiLWRldmljZS1pbmZvLXRhYmxlIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlSW5mbyIgW2RldmljZUluZm9UeXBlXT0iRGV2aWNlSW5mb1R5cGUuRlVMTCIgcmVxdWlyZWQ9InRydWUiPlxuICAgICAgICAgICAgICAgICAgPC90Yi1kZXZpY2UtaW5mby10YWJsZT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iUmVxdWVzdFR5cGVFbnVtLkRJU0NPTk5FQ1RfUkVRVUVTVCI+XG4gICAgICAgICAgICAgICAgICA8dGItZGV2aWNlLWluZm8tdGFibGUgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VJbmZvIiBbZGV2aWNlSW5mb1R5cGVdPSJEZXZpY2VJbmZvVHlwZS5QQVJUSUFMIiByZXF1aXJlZD0idHJ1ZSI+XG4gICAgICAgICAgICAgICAgICA8L3RiLWRldmljZS1pbmZvLXRhYmxlPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJSZXF1ZXN0VHlwZUVudW0uQVRUUklCVVRFX1JFUVVFU1QiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZnJvbS1kZXZpY2UtcmVxdWVzdC1zZXR0aW5nczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgZ2F0ZXdheS5mcm9tLWRldmljZS1yZXF1ZXN0LXNldHRpbmdzLWhpbnRcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiIGZvcm1Hcm91cE5hbWU9ImRldmljZUluZm8iPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLWZsZXggbm8tZmxleCBhbGlnbi1jZW50ZXIiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5kZXZpY2UtaW5mby5kZXZpY2UtbmFtZS1leHByZXNzaW9uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVFeHByZXNzaW9uU291cmNlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNvdXJjZVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2UtaW5mby5kZXZpY2UtbmFtZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iKG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy5kZXZpY2VJbmZvLmRldmljZU5hbWVFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy5kZXZpY2VJbmZvLmRldmljZU5hbWVFeHByZXNzaW9uXCcpLnRvdWNoZWQpIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5hdHRyaWJ1dGUtbmFtZS1leHByZXNzaW9uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImF0dHJpYnV0ZU5hbWVFeHByZXNzaW9uU291cmNlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNvdXJjZVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImF0dHJpYnV0ZU5hbWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuYXR0cmlidXRlLW5hbWUtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlUmVxdWVzdHMuYXR0cmlidXRlTmFtZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy5hdHRyaWJ1dGVOYW1lRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUgdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnRvLWRldmljZS1yZXNwb25zZS1zZXR0aW5nczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgZ2F0ZXdheS50by1kZXZpY2UtcmVzcG9uc2Utc2V0dGluZ3MtaGludFxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlc3BvbnNlLXZhbHVlLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkucmVzcG9uc2UtdmFsdWUtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlUmVxdWVzdHMudmFsdWVFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlUmVxdWVzdHMudmFsdWVFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlc3BvbnNlLXRvcGljLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idG9waWNFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkucmVzcG9uc2UtdG9waWMtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlUmVxdWVzdHMudG9waWNFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlUmVxdWVzdHMudG9waWNFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXRhaW4iPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LnJldGFpbi1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0YWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iUmVxdWVzdFR5cGVFbnVtLkFUVFJJQlVURV9VUERBVEUiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmRldmljZS1uYW1lLWZpbHRlclwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VOYW1lRmlsdGVyIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1uYW1lLWZpbHRlci1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVVwZGF0ZXMuZGV2aWNlTmFtZUZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLmRldmljZU5hbWVGaWx0ZXJcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuYXR0cmlidXRlLWZpbHRlci1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5hdHRyaWJ1dGUtZmlsdGVyXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImF0dHJpYnV0ZUZpbHRlciIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5hdHRyaWJ1dGUtZmlsdGVyLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy5hdHRyaWJ1dGVGaWx0ZXJcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLmF0dHJpYnV0ZUZpbHRlclwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkucmVzcG9uc2UtdmFsdWUtZXhwcmVzc2lvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkucmVzcG9uc2UtdmFsdWUtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVVwZGF0ZXMudmFsdWVFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy52YWx1ZUV4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5yZXNwb25zZS10b3BpYy1leHByZXNzaW9uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRvcGljRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXNwb25zZS10b3BpYy1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy50b3BpY0V4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy50b3BpY0V4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgZml4ZWQtdGl0bGUtd2lkdGgiIGZvcm1Db250cm9sTmFtZT0icmV0YWluIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkucmV0YWluLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0YWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IlJlcXVlc3RUeXBlRW51bS5TRVJWRVJfU0lERV9SUEMiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCByb3cgY2VudGVyIGFsaWduLWNlbnRlciBuby1nYXAgZmlsbC13aWR0aCI+XG4gICAgICAgICAgICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gW3ZhbHVlXT0iU2VydmVyU2lkZVJQQ1R5cGUuVFdPX1dBWSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkud2l0aC1yZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uIFt2YWx1ZV09IlNlcnZlclNpZGVSUENUeXBlLk9ORV9XQVkiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LndpdGhvdXQtcmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmRldmljZS1uYW1lLWZpbHRlclwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VOYW1lRmlsdGVyIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1uYW1lLWZpbHRlci1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMuZGV2aWNlTmFtZUZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMuZGV2aWNlTmFtZUZpbHRlclwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5tZXRob2QtZmlsdGVyLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1ldGhvZC1maWx0ZXJcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lm1ldGhvZC1maWx0ZXItcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLm1ldGhvZEZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMubWV0aG9kRmlsdGVyXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5yZXF1ZXN0LXRvcGljLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icmVxdWVzdFRvcGljRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXF1ZXN0LXRvcGljLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlcXVlc3RUb3BpY0V4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlcXVlc3RUb3BpY0V4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS52YWx1ZS1leHByZXNzaW9uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InZhbHVlRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy52YWx1ZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnZhbHVlRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy50eXBlXCcpLnZhbHVlID09PSBTZXJ2ZXJTaWRlUlBDVHlwZS5UV09fV0FZIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlc3BvbnNlLXRvcGljLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUb3BpY0V4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXNwb25zZS10b3BpYy1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlc3BvbnNlVG9waWNFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5yZXNwb25zZVRvcGljRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LnJlc3BvbnNlLXRvcGljLVFvcy1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJlc3BvbnNlLXRvcGljLVFvc1wnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRvcGljUW9TIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBxdWFsaXR5VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFF1YWxpdHlUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlc3BvbnNlLXRpbWVvdXQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIHR5cGU9Im51bWJlciIgbWluPSIxIiBmb3JtQ29udHJvbE5hbWU9InJlc3BvbnNlVGltZW91dCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0icmVzcG9uc2VUaW1lb3V0RXJyb3JUb29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5yZXNwb25zZVRpbWVvdXRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5yZXNwb25zZVRpbWVvdXRcJykuaGFzRXJyb3IoXCdtaW5cJykpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlc3BvbnNlVGltZW91dFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iTWFwcGluZ1R5cGUuT1BDVUEiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBhbGlnbi1jZW50ZXIiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuZGV2aWNlLW5vZGUtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZGV2aWNlLW5vZGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBkZXZpY2UtY29uZmlnIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5vZGVTb3VyY2UiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBbT1BDVWFTb3VyY2VUeXBlc0VudW0uUEFUSCwgT1BDVWFTb3VyY2VUeXBlc0VudW0uSURFTlRJRklFUl0iIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICB7eyBTb3VyY2VUeXBlVHJhbnNsYXRpb25zTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBkZXZpY2Utbm9kZS1wYXR0ZXJuLWZpZWxkIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VOb2RlUGF0dGVybiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLW5vZGUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSIobWFwcGluZ0Zvcm0uZ2V0KFwnZGV2aWNlTm9kZVBhdHRlcm5cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ2RldmljZU5vZGVQYXR0ZXJuXCcpLnRvdWNoZWQpIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCdkZXZpY2Utbm9kZVwnIHwgZ2V0R2F0ZXdheUhlbHBMaW5rOiBtYXBwaW5nRm9ybS5nZXQoXCdkZXZpY2VOb2RlU291cmNlXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dGItZGV2aWNlLWluZm8tdGFibGUgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VJbmZvIiBbc291cmNlVHlwZXNdPSJPUENVYVNvdXJjZVR5cGVzIiBbZGV2aWNlSW5mb1R5cGVdPSJEZXZpY2VJbmZvVHlwZS5GVUxMIiByZXF1aXJlZD0idHJ1ZSI+XG4gICAgICAgICAgPC90Yi1kZXZpY2UtaW5mby10YWJsZT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZXM8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggZWxsaXBzaXMtY2hpcHMtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09Im9wY0F0dHJpYnV0ZXMiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgYXR0cmlidXRlIG9mIG9wY0F0dHJpYnV0ZXMiPlxuICAgICAgICAgICAgICAgICAge3sgYXR0cmlidXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICNvcGNBdHRyaWJ1dGVzQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIG9wY0F0dHJpYnV0ZXNCdXR0b24sIE1hcHBpbmdLZXlzVHlwZS5BVFRSSUJVVEVTKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudGltZXNlcmllczwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgICAgICAgICA8bWF0LWNoaXAtbGlzdGJveCBjbGFzcz0idGItZmxleCIgW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09Im9wY1RlbGVtZXRyeSI+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IHRlbGVtZXRyeSBvZiBvcGNUZWxlbWV0cnkiPlxuICAgICAgICAgICAgICAgICAge3sgdGVsZW1ldHJ5IH19XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICNvcGNUZWxlbWV0cnlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgb3BjVGVsZW1ldHJ5QnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuVElNRVNFUklFUykiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZS11cGRhdGVzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0Ym94IFt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdPSJvcGNBdHRyaWJ1dGVzVXBkYXRlcyIgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCBhdHRyaWJ1dGUgb2Ygb3BjQXR0cmlidXRlc1VwZGF0ZXMiPlxuICAgICAgICAgICAgICAgICAge3sgYXR0cmlidXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICNhdHRyaWJ1dGVzVXBkYXRlc0J1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZUtleXMoJGV2ZW50LCBhdHRyaWJ1dGVzVXBkYXRlc0J1dHRvbiwgTWFwcGluZ0tleXNUeXBlLkFUVFJJQlVURVNfVVBEQVRFUykiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnJwYy1tZXRob2RzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0Ym94IFt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdPSJvcGNScGNNZXRob2RzIiBjbGFzcz0idGItZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZSBvZiBvcGNScGNNZXRob2RzIj5cbiAgICAgICAgICAgICAgICAgIHt7IGF0dHJpYnV0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAjcnBjTWV0aG9kc0J1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZUtleXMoJGV2ZW50LCBycGNNZXRob2RzQnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuUlBDX01FVEhPRFMpIj5cbiAgICAgICAgICAgICAgICA8dGItaWNvbiBtYXRCdXR0b25JY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIGNka0ZvY3VzSW5pdGlhbFxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0iYWRkKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJtYXBwaW5nRm9ybS5pbnZhbGlkIHx8ICFtYXBwaW5nRm9ybS5kaXJ0eSB8fCAha2V5c1BvcHVwQ2xvc2VkIj5cbiAgICAgIHt7IHRoaXMuZGF0YS5idXR0b25UaXRsZSB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e2Rpc3BsYXk6Z3JpZDtoZWlnaHQ6MTAwJX06aG9zdCAua2V5LW1hcHBpbmd7bWF4LXdpZHRoOjkwMHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Omhvc3QgLmtleS1tYXBwaW5nIC5tYXQtdG9vbGJhcnttaW4taGVpZ2h0OjY0cHh9Omhvc3QgLmtleS1tYXBwaW5nIHRiLXRvZ2dsZS1zZWxlY3R7cGFkZGluZzo0cHggMH06aG9zdCAubWF0LW1kYy1kaWFsb2ctY29udGVudHtoZWlnaHQ6NjcwcHh9Omhvc3QgLmVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lcnttYXgtd2lkdGg6NzAlfTpob3N0IDo6bmctZGVlcCAua2V5LW1hcHBpbmcgLm1hdC1tZGMtY2hpcC1saXN0Ym94IC5tZGMtZXZvbHV0aW9uLWNoaXAtc2V0X19jaGlwc3tqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXgtd3JhcDpub3dyYXB9Omhvc3QgOjpuZy1kZWVwIC50Yi1mb3JtLXJvdyAuZml4ZWQtdGl0bGUtd2lkdGh7bWluLXdpZHRoOjQwcHg7d2lkdGg6MzUlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306aG9zdCA6Om5nLWRlZXAgLnRiLWZvcm0tcm93IC5tYXQtbWRjLWZvcm0tZmllbGR7d2lkdGg6MH06aG9zdCA6Om5nLWRlZXAgLnNlZS1leGFtcGxle3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7bWFyZ2luOjRweH06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtZm9ybS1maWVsZC1pY29uLXN1ZmZpeHtkaXNwbGF5OmZsZXh9Omhvc3QgOjpuZy1kZWVwIC5kZXZpY2UtY29uZmlne2dhcDoxMnB4O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6MTBweH06aG9zdCA6Om5nLWRlZXAgLmRldmljZS1ub2RlLXBhdHRlcm4tZmllbGR7ZmxleC1iYXNpczozJX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaCxzZWxlY3RvcjoiW25nU3dpdGNoXSIsaW5wdXRzOlsibmdTd2l0Y2giXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoQ2FzZSxzZWxlY3RvcjoiW25nU3dpdGNoQ2FzZV0iLGlucHV0czpbIm5nU3dpdGNoQ2FzZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmR0LkhlbHBDb21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oZWxwXSIsaW5wdXRzOlsidGItaGVscCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmd0LkhlbHBQb3B1cENvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhlbHAtcG9wdXBdLCBbdGItaGVscC1wb3B1cC1jb250ZW50XSIsaW5wdXRzOlsidGItaGVscC1wb3B1cCIsInRiLWhlbHAtcG9wdXAtY29udGVudCIsInRyaWdnZXItdGV4dCIsInRyaWdnZXItc3R5bGUiLCJ0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudCIsInRiLWhlbHAtcG9wdXAtc3R5bGUiLCJoaW50TW9kZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpKZS5NYXREaWFsb2dBY3Rpb25zLHNlbGVjdG9yOiJbbWF0LWRpYWxvZy1hY3Rpb25zXSwgbWF0LWRpYWxvZy1hY3Rpb25zLCBbbWF0RGlhbG9nQWN0aW9uc10iLGlucHV0czpbImFsaWduIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQ29udGVudCxzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6eXQuTWF0Q2hpcCxzZWxlY3RvcjoibWF0LWJhc2ljLWNoaXAsIFttYXQtYmFzaWMtY2hpcF0sIG1hdC1jaGlwLCBbbWF0LWNoaXBdIixpbnB1dHM6WyJyb2xlIiwiaWQiLCJhcmlhLWxhYmVsIiwiYXJpYS1kZXNjcmlwdGlvbiIsInZhbHVlIiwiY29sb3IiLCJyZW1vdmFibGUiLCJoaWdobGlnaHRlZCIsImRpc2FibGVSaXBwbGUiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJyZW1vdmVkIiwiZGVzdHJveWVkIl0sZXhwb3J0QXM6WyJtYXRDaGlwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6eXQuTWF0Q2hpcExpc3Rib3gsc2VsZWN0b3I6Im1hdC1jaGlwLWxpc3Rib3giLGlucHV0czpbIm11bHRpcGxlIiwiYXJpYS1vcmllbnRhdGlvbiIsInNlbGVjdGFibGUiLCJjb21wYXJlV2l0aCIsInJlcXVpcmVkIiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInZhbHVlIl0sb3V0cHV0czpbImNoYW5nZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRdLCBbZnhMYXlvdXQueHNdLCBbZnhMYXlvdXQuc21dLCBbZnhMYXlvdXQubWRdLCAgW2Z4TGF5b3V0LmxnXSwgW2Z4TGF5b3V0LnhsXSwgW2Z4TGF5b3V0Lmx0LXNtXSwgW2Z4TGF5b3V0Lmx0LW1kXSwgIFtmeExheW91dC5sdC1sZ10sIFtmeExheW91dC5sdC14bF0sIFtmeExheW91dC5ndC14c10sIFtmeExheW91dC5ndC1zbV0sICBbZnhMYXlvdXQuZ3QtbWRdLCBbZnhMYXlvdXQuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dCIsImZ4TGF5b3V0LnhzIiwiZnhMYXlvdXQuc20iLCJmeExheW91dC5tZCIsImZ4TGF5b3V0LmxnIiwiZnhMYXlvdXQueGwiLCJmeExheW91dC5sdC1zbSIsImZ4TGF5b3V0Lmx0LW1kIiwiZnhMYXlvdXQubHQtbGciLCJmeExheW91dC5sdC14bCIsImZ4TGF5b3V0Lmd0LXhzIiwiZnhMYXlvdXQuZ3Qtc20iLCJmeExheW91dC5ndC1tZCIsImZ4TGF5b3V0Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1pblZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLGlucHV0czpbIm1pbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwTmFtZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdIixpbnB1dHM6WyJmb3JtR3JvdXBOYW1lIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bnQuVG9nZ2xlT3B0aW9uLHNlbGVjdG9yOiJ0Yi10b2dnbGUtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmF0LlRvZ2dsZVNlbGVjdENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXNlbGVjdCIsaW5wdXRzOlsiZGlzYWJsZWQiLCJzZWxlY3RNZWRpYUJyZWFrcG9pbnQiLCJhcHBlYXJhbmNlIiwiZGlzYWJsZVBhZ2luYXRpb24iLCJmaWxsSGVpZ2h0IiwiZXh0cmFQYWRkaW5nIiwicHJpbWFyeUJhY2tncm91bmQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpidC5UYkljb25Db21wb25lbnQsc2VsZWN0b3I6InRiLWljb24iLGlucHV0czpbImNvbG9yIl0sZXhwb3J0QXM6WyJ0Ykljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTprYSxzZWxlY3RvcjoiW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF0iLGlucHV0czpbInRiLWVsbGlwc2lzLWNoaXAtbGlzdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOm9vLHNlbGVjdG9yOiJ0Yi1kZXZpY2UtaW5mby10YWJsZSIsaW5wdXRzOlsidXNlU291cmNlIiwicmVxdWlyZWQiLCJzb3VyY2VUeXBlcyIsImRldmljZUluZm9UeXBlIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoicGlwZSIsdHlwZTpUYSxuYW1lOiJnZXRHYXRld2F5SGVscExpbmsifV19KX19ZSgiTWFwcGluZ0RpYWxvZ0NvbXBvbmVudCIsaW8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6aW8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1hcHBpbmctZGlhbG9nIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcblxuPGRpdiBbZm9ybUdyb3VwXT0ibWFwcGluZ0Zvcm0iIGNsYXNzPSJrZXktbWFwcGluZyI+XG4gIDxtYXQtdG9vbGJhciBjb2xvcj0icHJpbWFyeSI+XG4gICAgPGgyPnt7IE1hcHBpbmdUeXBlVHJhbnNsYXRpb25zTWFwLmdldCh0aGlzLmRhdGE/Lm1hcHBpbmdUeXBlKSB8IHRyYW5zbGF0ZX19PC9oMj5cbiAgICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICAgIDxkaXYgW3RiLWhlbHBdPSJIZWxwTGlua0J5TWFwcGluZ1R5cGVNYXAuZ2V0KHRoaXMuZGF0YS5tYXBwaW5nVHlwZSkiPjwvZGl2PlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvbWF0LXRvb2xiYXI+XG4gIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCI+XG4gICAgICAgIHt7IE1hcHBpbmdIaW50VHJhbnNsYXRpb25zTWFwLmdldCh0aGlzLmRhdGE/Lm1hcHBpbmdUeXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09ImRhdGEubWFwcGluZ1R5cGUiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09Ik1hcHBpbmdUeXBlLkRBVEEiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnRvcGljLWZpbHRlcjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ0b3BpY0ZpbHRlciIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudG9waWMtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCd0b3BpY0ZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCd0b3BpY0ZpbHRlclwnKS50b3VjaGVkOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L3RvcGljLWZpbHRlcl9mblwnIlxuICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LnJlc3BvbnNlLXRvcGljLVFvcy1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubXF0dC1xb3NcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJzdWJzY3JpcHRpb25Rb3MiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBxdWFsaXR5VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICB7eyBRdWFsaXR5VHJhbnNsYXRpb25zTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgZm9ybUdyb3VwTmFtZT0iY29udmVydGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5wYXlsb2FkLXR5cGU8L2Rpdj5cbiAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIiBhcHBlYXJhbmNlPSJmaWxsIj5cbiAgICAgICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGNvbnZlcnRvclR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgIHt7IENvbnZlcnRvclR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LmRhdGEtY29udmVyc2lvbjwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIj5cbiAgICAgICAgICAgICAgICB7eyBEYXRhQ29udmVyc2lvblRyYW5zbGF0aW9uc01hcC5nZXQoY29udmVydGVyVHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cE5hbWVdPSJjb252ZXJ0ZXJUeXBlIiBbbmdTd2l0Y2hdPSJjb252ZXJ0ZXJUeXBlIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbnZlcnRvclR5cGVFbnVtLkpTT04iPlxuICAgICAgICAgICAgICAgICAgPHRiLWRldmljZS1pbmZvLXRhYmxlIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlSW5mbyIgW2RldmljZUluZm9UeXBlXT0iRGV2aWNlSW5mb1R5cGUuRlVMTCIgcmVxdWlyZWQ9InRydWUiPlxuICAgICAgICAgICAgICAgICAgPC90Yi1kZXZpY2UtaW5mby10YWJsZT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29udmVydG9yVHlwZUVudW0uQllURVMiPlxuICAgICAgICAgICAgICAgICAgPHRiLWRldmljZS1pbmZvLXRhYmxlIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlSW5mbyIgW2RldmljZUluZm9UeXBlXT0iRGV2aWNlSW5mb1R5cGUuRlVMTCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc291cmNlVHlwZXNdPSJbc291cmNlVHlwZXNFbnVtLk1TRywgc291cmNlVHlwZXNFbnVtLkNPTlNUXSIgcmVxdWlyZWQ9InRydWUiPlxuICAgICAgICAgICAgICAgICAgPC90Yi1kZXZpY2UtaW5mby10YWJsZT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciXG4gICAgICAgICAgICAgICAgICAgICAqbmdJZj0iY29udmVydGVyVHlwZSA9PT0gQ29udmVydG9yVHlwZUVudW0uQllURVMgfHwgY29udmVydGVyVHlwZSA9PT0gQ29udmVydG9yVHlwZUVudW0uSlNPTiI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuYXR0cmlidXRlczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09ImNvbnZlcnRlckF0dHJpYnV0ZXMiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZSBvZiBjb252ZXJ0ZXJBdHRyaWJ1dGVzIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBhdHRyaWJ1dGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2F0dHJpYnV0ZXNCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZUtleXMoJGV2ZW50LCBhdHRyaWJ1dGVzQnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuQVRUUklCVVRFUykiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnRpbWVzZXJpZXM8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0Ym94IGNsYXNzPSJ0Yi1mbGV4IiBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iY29udmVydGVyVGVsZW1ldHJ5Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCB0ZWxlbWV0cnkgb2YgY29udmVydGVyVGVsZW1ldHJ5Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdGVsZW1ldHJ5IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjdGVsZW1ldHJ5QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgdGVsZW1ldHJ5QnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuVElNRVNFUklFUykiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciICpuZ0lmPSJjb252ZXJ0ZXJUeXBlID09PSBDb252ZXJ0b3JUeXBlRW51bS5DVVNUT00iPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuZXh0ZW5zaW9uLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmV4dGVuc2lvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJleHRlbnNpb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZXh0ZW5zaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdjb252ZXJ0ZXIuY3VzdG9tLmV4dGVuc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ2NvbnZlcnRlci5jdXN0b20uZXh0ZW5zaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiBzYW1lLXBhZGRpbmcgdGItZmxleCBjb2x1bW4iPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5leHRlbnNpb24tY29uZmlndXJhdGlvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIj57eyBcJ2dhdGV3YXkuZXh0ZW5zaW9uLWNvbmZpZ3VyYXRpb24taGludFwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmtleXM8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iY3VzdG9tS2V5cyIgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgdGVsZW1ldHJ5IG9mIGN1c3RvbUtleXMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRlbGVtZXRyeSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNrZXlzQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZUtleXMoJGV2ZW50LCBrZXlzQnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuQ1VTVE9NKSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09Ik1hcHBpbmdUeXBlLlJFUVVFU1RTIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucmVxdWVzdC10eXBlPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0VHlwZSI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2YgcmVxdWVzdFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBSZXF1ZXN0VHlwZXNUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBmb3JtR3JvdXBOYW1lPSJyZXF1ZXN0VmFsdWUiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWVcJykuZ2V0KHJlcXVlc3RNYXBwaW5nVHlwZSkiIFtuZ1N3aXRjaF09InJlcXVlc3RNYXBwaW5nVHlwZSI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJyZXF1ZXN0TWFwcGluZ1R5cGUgPT09IFJlcXVlc3RUeXBlRW51bS5BVFRSSUJVVEVfUkVRVUVTVCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RNYXBwaW5nVHlwZSA9PT0gUmVxdWVzdFR5cGVFbnVtLkNPTk5FQ1RfUkVRVUVTVCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RNYXBwaW5nVHlwZSA9PT0gUmVxdWVzdFR5cGVFbnVtLkRJU0NPTk5FQ1RfUkVRVUVTVCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudG9waWMtZmlsdGVyPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBbZm9ybUNvbnRyb2xdPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWVcJykuZ2V0KHJlcXVlc3RNYXBwaW5nVHlwZSkuZ2V0KFwndG9waWNGaWx0ZXJcJykiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnRvcGljLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlXCcpLmdldChyZXF1ZXN0TWFwcGluZ1R5cGUpLmdldChcJ3RvcGljRmlsdGVyXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZVwnKS5nZXQocmVxdWVzdE1hcHBpbmdUeXBlKS5nZXQoXCd0b3BpY0ZpbHRlclwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvdG9waWMtZmlsdGVyX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iUmVxdWVzdFR5cGVFbnVtLkNPTk5FQ1RfUkVRVUVTVCI+XG4gICAgICAgICAgICAgICAgICA8dGItZGV2aWNlLWluZm8tdGFibGUgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VJbmZvIiBbZGV2aWNlSW5mb1R5cGVdPSJEZXZpY2VJbmZvVHlwZS5GVUxMIiByZXF1aXJlZD0idHJ1ZSI+XG4gICAgICAgICAgICAgICAgICA8L3RiLWRldmljZS1pbmZvLXRhYmxlPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJSZXF1ZXN0VHlwZUVudW0uRElTQ09OTkVDVF9SRVFVRVNUIj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1kZXZpY2UtaW5mby10YWJsZSBmb3JtQ29udHJvbE5hbWU9ImRldmljZUluZm8iIFtkZXZpY2VJbmZvVHlwZV09IkRldmljZUluZm9UeXBlLlBBUlRJQUwiIHJlcXVpcmVkPSJ0cnVlIj5cbiAgICAgICAgICAgICAgICAgIDwvdGItZGV2aWNlLWluZm8tdGFibGU+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IlJlcXVlc3RUeXBlRW51bS5BVFRSSUJVVEVfUkVRVUVTVCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5mcm9tLWRldmljZS1yZXF1ZXN0LXNldHRpbmdzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICBnYXRld2F5LmZyb20tZGV2aWNlLXJlcXVlc3Qtc2V0dGluZ3MtaGludFxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciIgZm9ybUdyb3VwTmFtZT0iZGV2aWNlSW5mbyI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItZmxleCBuby1mbGV4IGFsaWduLWNlbnRlciIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1pbmZvLmRldmljZS1uYW1lLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2UiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2Ygc291cmNlVHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgU291cmNlVHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1pbmZvLmRldmljZS1uYW1lLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSIobWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVJlcXVlc3RzLmRldmljZUluZm8uZGV2aWNlTmFtZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVJlcXVlc3RzLmRldmljZUluZm8uZGV2aWNlTmFtZUV4cHJlc3Npb25cJykudG91Y2hlZCkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZS1uYW1lLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYXR0cmlidXRlTmFtZUV4cHJlc3Npb25Tb3VyY2UiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2Ygc291cmNlVHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgU291cmNlVHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iYXR0cmlidXRlTmFtZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5hdHRyaWJ1dGUtbmFtZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy5hdHRyaWJ1dGVOYW1lRXhwcmVzc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVJlcXVlc3RzLmF0dHJpYnV0ZU5hbWVFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudG8tZGV2aWNlLXJlc3BvbnNlLXNldHRpbmdzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICBnYXRld2F5LnRvLWRldmljZS1yZXNwb25zZS1zZXR0aW5ncy1oaW50XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkucmVzcG9uc2UtdmFsdWUtZXhwcmVzc2lvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXNwb25zZS12YWx1ZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy52YWx1ZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy52YWx1ZUV4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkucmVzcG9uc2UtdG9waWMtZXhwcmVzc2lvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ0b3BpY0V4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXNwb25zZS10b3BpYy1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy50b3BpY0V4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy50b3BpY0V4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldGFpbiI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkucmV0YWluLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5yZXRhaW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJSZXF1ZXN0VHlwZUVudW0uQVRUUklCVVRFX1VQREFURSI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5kZXZpY2UtbmFtZS1maWx0ZXItaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVGaWx0ZXIiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy5kZXZpY2VOYW1lRmlsdGVyXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVVwZGF0ZXMuZGV2aWNlTmFtZUZpbHRlclwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5hdHRyaWJ1dGUtZmlsdGVyLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmF0dHJpYnV0ZS1maWx0ZXJcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iYXR0cmlidXRlRmlsdGVyIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmF0dHJpYnV0ZS1maWx0ZXItcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLmF0dHJpYnV0ZUZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVVwZGF0ZXMuYXR0cmlidXRlRmlsdGVyXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5yZXNwb25zZS12YWx1ZS1leHByZXNzaW9uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InZhbHVlRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXNwb25zZS12YWx1ZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy52YWx1ZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLnZhbHVlRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlc3BvbnNlLXRvcGljLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idG9waWNFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnJlc3BvbnNlLXRvcGljLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLnRvcGljRXhwcmVzc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLnRvcGljRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBmaXhlZC10aXRsZS13aWR0aCIgZm9ybUNvbnRyb2xOYW1lPSJyZXRhaW4iPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5yZXRhaW4taGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5yZXRhaW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iUmVxdWVzdFR5cGVFbnVtLlNFUlZFUl9TSURFX1JQQyI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHJvdyBjZW50ZXIgYWxpZ24tY2VudGVyIG5vLWdhcCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIiBhcHBlYXJhbmNlPSJmaWxsIj5cbiAgICAgICAgICAgICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiBbdmFsdWVdPSJTZXJ2ZXJTaWRlUlBDVHlwZS5UV09fV0FZIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS53aXRoLXJlc3BvbnNlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gW3ZhbHVlXT0iU2VydmVyU2lkZVJQQ1R5cGUuT05FX1dBWSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkud2l0aG91dC1yZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5kZXZpY2UtbmFtZS1maWx0ZXItaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVGaWx0ZXIiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5kZXZpY2VOYW1lRmlsdGVyXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5kZXZpY2VOYW1lRmlsdGVyXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5Lm1ldGhvZC1maWx0ZXItaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubWV0aG9kLWZpbHRlclwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RGaWx0ZXIiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkubWV0aG9kLWZpbHRlci1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMubWV0aG9kRmlsdGVyXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5tZXRob2RGaWx0ZXJcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlcXVlc3QtdG9waWMtZXhwcmVzc2lvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0VG9waWNFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnJlcXVlc3QtdG9waWMtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMucmVxdWVzdFRvcGljRXhwcmVzc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMucmVxdWVzdFRvcGljRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnZhbHVlLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnZhbHVlLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnZhbHVlRXhwcmVzc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMudmFsdWVFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnR5cGVcJykudmFsdWUgPT09IFNlcnZlclNpZGVSUENUeXBlLlRXT19XQVkiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkucmVzcG9uc2UtdG9waWMtZXhwcmVzc2lvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRvcGljRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnJlc3BvbnNlLXRvcGljLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMucmVzcG9uc2VUb3BpY0V4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlc3BvbnNlVG9waWNFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkucmVzcG9uc2UtdG9waWMtUW9zLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmVzcG9uc2UtdG9waWMtUW9zXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InJlc3BvbnNlVG9waWNRb1MiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHF1YWxpdHlUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgUXVhbGl0eVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkucmVzcG9uc2UtdGltZW91dDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgdHlwZT0ibnVtYmVyIiBtaW49IjEiIGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUaW1lb3V0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJyZXNwb25zZVRpbWVvdXRFcnJvclRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iKG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlc3BvbnNlVGltZW91dFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlc3BvbnNlVGltZW91dFwnKS5oYXNFcnJvcihcJ21pblwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMucmVzcG9uc2VUaW1lb3V0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJNYXBwaW5nVHlwZS5PUENVQSI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1mbGV4IGFsaWduLWNlbnRlciIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5kZXZpY2Utbm9kZS1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5kZXZpY2Utbm9kZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGRldmljZS1jb25maWciPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTm9kZVNvdXJjZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIFtPUENVYVNvdXJjZVR5cGVzRW51bS5QQVRILCBPUENVYVNvdXJjZVR5cGVzRW51bS5JREVOVElGSUVSXSIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGRldmljZS1ub2RlLXBhdHRlcm4tZmllbGQiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5vZGVQYXR0ZXJuIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2Utbm9kZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihtYXBwaW5nRm9ybS5nZXQoXCdkZXZpY2VOb2RlUGF0dGVyblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwnZGV2aWNlTm9kZVBhdHRlcm5cJykudG91Y2hlZCkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ2RldmljZS1ub2RlXCcgfCBnZXRHYXRld2F5SGVscExpbms6IG1hcHBpbmdGb3JtLmdldChcJ2RldmljZU5vZGVTb3VyY2VcJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDx0Yi1kZXZpY2UtaW5mby10YWJsZSBmb3JtQ29udHJvbE5hbWU9ImRldmljZUluZm8iIFtzb3VyY2VUeXBlc109Ik9QQ1VhU291cmNlVHlwZXMiIFtkZXZpY2VJbmZvVHlwZV09IkRldmljZUluZm9UeXBlLkZVTEwiIHJlcXVpcmVkPSJ0cnVlIj5cbiAgICAgICAgICA8L3RiLWRldmljZS1pbmZvLXRhYmxlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuYXR0cmlidXRlczwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgICAgICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0ib3BjQXR0cmlidXRlcyIgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCBhdHRyaWJ1dGUgb2Ygb3BjQXR0cmlidXRlcyI+XG4gICAgICAgICAgICAgICAgICB7eyBhdHRyaWJ1dGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgI29wY0F0dHJpYnV0ZXNCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgb3BjQXR0cmlidXRlc0J1dHRvbiwgTWFwcGluZ0tleXNUeXBlLkFUVFJJQlVURVMpIj5cbiAgICAgICAgICAgICAgICA8dGItaWNvbiBtYXRCdXR0b25JY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4Ij5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50aW1lc2VyaWVzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0Ym94IGNsYXNzPSJ0Yi1mbGV4IiBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0ib3BjVGVsZW1ldHJ5Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgdGVsZW1ldHJ5IG9mIG9wY1RlbGVtZXRyeSI+XG4gICAgICAgICAgICAgICAgICB7eyB0ZWxlbWV0cnkgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgI29wY1RlbGVtZXRyeUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZUtleXMoJGV2ZW50LCBvcGNUZWxlbWV0cnlCdXR0b24sIE1hcHBpbmdLZXlzVHlwZS5USU1FU0VSSUVTKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuYXR0cmlidXRlLXVwZGF0ZXM8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggZWxsaXBzaXMtY2hpcHMtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09Im9wY0F0dHJpYnV0ZXNVcGRhdGVzIiBjbGFzcz0idGItZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZSBvZiBvcGNBdHRyaWJ1dGVzVXBkYXRlcyI+XG4gICAgICAgICAgICAgICAgICB7eyBhdHRyaWJ1dGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgI2F0dHJpYnV0ZXNVcGRhdGVzQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIGF0dHJpYnV0ZXNVcGRhdGVzQnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuQVRUUklCVVRFU19VUERBVEVTKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucnBjLW1ldGhvZHM8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggZWxsaXBzaXMtY2hpcHMtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09Im9wY1JwY01ldGhvZHMiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgYXR0cmlidXRlIG9mIG9wY1JwY01ldGhvZHMiPlxuICAgICAgICAgICAgICAgICAge3sgYXR0cmlidXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICNycGNNZXRob2RzQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIHJwY01ldGhvZHNCdXR0b24sIE1hcHBpbmdLZXlzVHlwZS5SUENfTUVUSE9EUykiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5jYW5jZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAoY2xpY2spPSJhZGQoKSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09Im1hcHBpbmdGb3JtLmludmFsaWQgfHwgIW1hcHBpbmdGb3JtLmRpcnR5IHx8ICFrZXlzUG9wdXBDbG9zZWQiPlxuICAgICAge3sgdGhpcy5kYXRhLmJ1dHRvblRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7ZGlzcGxheTpncmlkO2hlaWdodDoxMDAlfTpob3N0IC5rZXktbWFwcGluZ3ttYXgtd2lkdGg6OTAwcHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn06aG9zdCAua2V5LW1hcHBpbmcgLm1hdC10b29sYmFye21pbi1oZWlnaHQ6NjRweH06aG9zdCAua2V5LW1hcHBpbmcgdGItdG9nZ2xlLXNlbGVjdHtwYWRkaW5nOjRweCAwfTpob3N0IC5tYXQtbWRjLWRpYWxvZy1jb250ZW50e2hlaWdodDo2NzBweH06aG9zdCAuZWxsaXBzaXMtY2hpcHMtY29udGFpbmVye21heC13aWR0aDo3MCV9Omhvc3QgOjpuZy1kZWVwIC5rZXktbWFwcGluZyAubWF0LW1kYy1jaGlwLWxpc3Rib3ggLm1kYy1ldm9sdXRpb24tY2hpcC1zZXRfX2NoaXBze2p1c3RpZnktY29udGVudDpmbGV4LWVuZDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleC13cmFwOm5vd3JhcH06aG9zdCA6Om5nLWRlZXAgLnRiLWZvcm0tcm93IC5maXhlZC10aXRsZS13aWR0aHttaW4td2lkdGg6NDBweDt3aWR0aDozNSU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfTpob3N0IDo6bmctZGVlcCAudGItZm9ybS1yb3cgLm1hdC1tZGMtZm9ybS1maWVsZHt3aWR0aDowfTpob3N0IDo6bmctZGVlcCAuc2VlLWV4YW1wbGV7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDttYXJnaW46NHB4fTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH06aG9zdCA6Om5nLWRlZXAgLmRldmljZS1jb25maWd7Z2FwOjEycHg7cGFkZGluZy1sZWZ0OjEwcHg7cGFkZGluZy1yaWdodDoxMHB4fTpob3N0IDo6bmctZGVlcCAuZGV2aWNlLW5vZGUtcGF0dGVybi1maWVsZHtmbGV4LWJhc2lzOjMlfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6b3QuU3RvcmV9LHt0eXBlOml0LlJvdXRlcn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOnAsYXJnczpbWGVdfV19LHt0eXBlOkplLk1hdERpYWxvZ1JlZn0se3R5cGU6bWUuRm9ybUJ1aWxkZXJ9LHt0eXBlOmZ0LlRiUG9wb3ZlclNlcnZpY2V9LHt0eXBlOnQuUmVuZGVyZXIyfSx7dHlwZTp0LlZpZXdDb250YWluZXJSZWZ9LHt0eXBlOlkuVHJhbnNsYXRlU2VydmljZX1dfSk7Y2xhc3Mgcm97c2V0IG1hcHBpbmdUeXBlKGUpe3RoaXMubWFwcGluZ1R5cGVWYWx1ZSE9PWUmJih0aGlzLm1hcHBpbmdUeXBlVmFsdWU9ZSl9Z2V0IG1hcHBpbmdUeXBlKCl7cmV0dXJuIHRoaXMubWFwcGluZ1R5cGVWYWx1ZX1jb25zdHJ1Y3RvcihlLHQsbixhKXt0aGlzLnRyYW5zbGF0ZT1lLHRoaXMuZGlhbG9nPXQsdGhpcy5kaWFsb2dTZXJ2aWNlPW4sdGhpcy5mYj1hLHRoaXMucmVxdWlyZWQ9ITEsdGhpcy5tYXBwaW5nVHlwZVRyYW5zbGF0aW9uc01hcD15bix0aGlzLm1hcHBpbmdUeXBlRW51bT1mbix0aGlzLmRpc3BsYXllZENvbHVtbnM9W10sdGhpcy5tYXBwaW5nQ29sdW1ucz1bXSx0aGlzLnRleHRTZWFyY2hNb2RlPSExLHRoaXMuaGlkZVBhZ2VTaXplPSExLHRoaXMuYWN0aXZlVmFsdWU9ITEsdGhpcy5kaXJ0eVZhbHVlPSExLHRoaXMudGV4dFNlYXJjaD10aGlzLmZiLmNvbnRyb2woIiIse25vbk51bGxhYmxlOiEwfSksdGhpcy5vbkNoYW5nZT0oKT0+e30sdGhpcy5vblRvdWNoZWQ9KCk9Pnt9LHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMubWFwcGluZ0Zvcm1Hcm91cD10aGlzLmZiLmFycmF5KFtdKSx0aGlzLmRpcnR5VmFsdWU9IXRoaXMuYWN0aXZlVmFsdWUsdGhpcy5kYXRhU291cmNlPW5ldyBzb31uZ09uSW5pdCgpe3RoaXMuc2V0TWFwcGluZ0NvbHVtbnMoKSx0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaCguLi50aGlzLm1hcHBpbmdDb2x1bW5zLm1hcCgoZT0+ZS5kZWYpKSwiYWN0aW9ucyIpLHRoaXMubWFwcGluZ0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy51cGRhdGVUYWJsZURhdGEoZSksdGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMudGV4dFNlYXJjaC52YWx1ZUNoYW5nZXMucGlwZShWZSgxNTApLEJlKCgoZSx0KT0+KGU/PyIiKT09PXQudHJpbSgpKSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2NvbnN0IHQ9ZS50cmltKCk7dGhpcy51cGRhdGVUYWJsZURhdGEodGhpcy5tYXBwaW5nRm9ybUdyb3VwLnZhbHVlLHQudHJpbSgpKX0pKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMub25DaGFuZ2U9ZX1yZWdpc3Rlck9uVG91Y2hlZChlKXt0aGlzLm9uVG91Y2hlZD1lfXdyaXRlVmFsdWUoZSl7dGhpcy5tYXBwaW5nRm9ybUdyb3VwLmNsZWFyKCksdGhpcy5wdXNoRGF0YUFzRm9ybUFycmF5cyhlKX12YWxpZGF0ZSgpe3JldHVybiF0aGlzLnJlcXVpcmVkfHx0aGlzLm1hcHBpbmdGb3JtR3JvdXAuY29udHJvbHMubGVuZ3RoP251bGw6e21hcHBpbmdGb3JtR3JvdXA6e3ZhbGlkOiExfX19ZW50ZXJGaWx0ZXJNb2RlKCl7dGhpcy50ZXh0U2VhcmNoTW9kZT0hMCxzZXRUaW1lb3V0KCgoKT0+e3RoaXMuc2VhcmNoSW5wdXRGaWVsZC5uYXRpdmVFbGVtZW50LmZvY3VzKCksdGhpcy5zZWFyY2hJbnB1dEZpZWxkLm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoMCwwKX0pLDEwKX1leGl0RmlsdGVyTW9kZSgpe3RoaXMudXBkYXRlVGFibGVEYXRhKHRoaXMubWFwcGluZ0Zvcm1Hcm91cC52YWx1ZSksdGhpcy50ZXh0U2VhcmNoTW9kZT0hMSx0aGlzLnRleHRTZWFyY2gucmVzZXQoKX1tYW5hZ2VNYXBwaW5nKGUsdCl7ZSYmZS5zdG9wUHJvcGFnYXRpb24oKTtjb25zdCBuPWllKHQpP3RoaXMubWFwcGluZ0Zvcm1Hcm91cC5hdCh0KS52YWx1ZTp7fTt0aGlzLmRpYWxvZy5vcGVuKGlvLHtkaXNhYmxlQ2xvc2U6ITAscGFuZWxDbGFzczpbInRiLWRpYWxvZyIsInRiLWZ1bGxzY3JlZW4tZGlhbG9nIl0sZGF0YTp7bWFwcGluZ1R5cGU6dGhpcy5tYXBwaW5nVHlwZSx2YWx1ZTpuLGJ1dHRvblRpdGxlOnJlKHQpPyJhY3Rpb24uYWRkIjoiYWN0aW9uLmFwcGx5In19KS5hZnRlckNsb3NlZCgpLnBpcGUoT2UoMSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2UmJihpZSh0KT90aGlzLm1hcHBpbmdGb3JtR3JvdXAuYXQodCkucGF0Y2hWYWx1ZShlKTp0aGlzLnB1c2hEYXRhQXNGb3JtQXJyYXlzKFtlXSksdGhpcy5tYXBwaW5nRm9ybUdyb3VwLm1hcmtBc0RpcnR5KCkpfSkpfXVwZGF0ZVRhYmxlRGF0YShlLHQpe2xldCBuPWUubWFwKChlPT50aGlzLmdldE1hcHBpbmdWYWx1ZShlKSkpO3QmJihuPW4uZmlsdGVyKChlPT5PYmplY3QudmFsdWVzKGUpLnNvbWUoKGU9PmUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHQudG9Mb3dlckNhc2UoKSkpKSkpKSx0aGlzLmRhdGFTb3VyY2UubG9hZERhdGEobil9ZGVsZXRlTWFwcGluZyhlLHQpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0odGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5kZWxldGUtbWFwcGluZy10aXRsZSIpLCIiLHRoaXMudHJhbnNsYXRlLmluc3RhbnQoImFjdGlvbi5ubyIpLHRoaXMudHJhbnNsYXRlLmluc3RhbnQoImFjdGlvbi55ZXMiKSwhMCkuc3Vic2NyaWJlKChlPT57ZSYmKHRoaXMubWFwcGluZ0Zvcm1Hcm91cC5yZW1vdmVBdCh0KSx0aGlzLm1hcHBpbmdGb3JtR3JvdXAubWFya0FzRGlydHkoKSl9KSl9cHVzaERhdGFBc0Zvcm1BcnJheXMoZSl7ZT8ubGVuZ3RoJiZlLmZvckVhY2goKGU9PnRoaXMubWFwcGluZ0Zvcm1Hcm91cC5wdXNoKHRoaXMuZmIuY29udHJvbChlKSkpKX1nZXRNYXBwaW5nVmFsdWUoZSl7c3dpdGNoKHRoaXMubWFwcGluZ1R5cGUpe2Nhc2UgZm4uREFUQTpjb25zdCB0PUNuLmdldChlLmNvbnZlcnRlcj8udHlwZSk7cmV0dXJue3RvcGljRmlsdGVyOmUudG9waWNGaWx0ZXIsUW9TOmUuc3Vic2NyaXB0aW9uUW9zLGNvbnZlcnRlcjp0P3RoaXMudHJhbnNsYXRlLmluc3RhbnQodCk6IiJ9O2Nhc2UgZm4uUkVRVUVTVFM6bGV0IG47Y29uc3QgYT1lO3JldHVybiBuPWEucmVxdWVzdFR5cGU9PT1Jbi5BVFRSSUJVVEVfVVBEQVRFP2EucmVxdWVzdFZhbHVlLmF0dHJpYnV0ZUZpbHRlcjphLnJlcXVlc3RUeXBlPT09SW4uU0VSVkVSX1NJREVfUlBDP2EucmVxdWVzdFZhbHVlLm1ldGhvZEZpbHRlcjphLnJlcXVlc3RWYWx1ZS50b3BpY0ZpbHRlcix7cmVxdWVzdFR5cGU6ZS5yZXF1ZXN0VHlwZSx0eXBlOnRoaXMudHJhbnNsYXRlLmluc3RhbnQoQW4uZ2V0KGUucmVxdWVzdFR5cGUpKSxkZXRhaWxzOm59O2Nhc2UgZm4uT1BDVUE6Y29uc3Qgbz1lLmRldmljZUluZm8/LmRldmljZU5hbWVFeHByZXNzaW9uLGk9ZS5kZXZpY2VJbmZvPy5kZXZpY2VQcm9maWxlRXhwcmVzc2lvbix7ZGV2aWNlTm9kZVBhdHRlcm46cn09ZTtyZXR1cm57ZGV2aWNlTm9kZVBhdHRlcm46cixkZXZpY2VOYW1lUGF0dGVybjpvLGRldmljZVByb2ZpbGVFeHByZXNzaW9uOml9O2RlZmF1bHQ6cmV0dXJue319fXNldE1hcHBpbmdDb2x1bW5zKCl7c3dpdGNoKHRoaXMubWFwcGluZ1R5cGUpe2Nhc2UgZm4uREFUQTp0aGlzLm1hcHBpbmdDb2x1bW5zLnB1c2goe2RlZjoidG9waWNGaWx0ZXIiLHRpdGxlOiJnYXRld2F5LnRvcGljLWZpbHRlciJ9LHtkZWY6IlFvUyIsdGl0bGU6ImdhdGV3YXkubXF0dC1xb3MifSx7ZGVmOiJjb252ZXJ0ZXIiLHRpdGxlOiJnYXRld2F5LnBheWxvYWQtdHlwZSJ9KTticmVhaztjYXNlIGZuLlJFUVVFU1RTOnRoaXMubWFwcGluZ0NvbHVtbnMucHVzaCh7ZGVmOiJ0eXBlIix0aXRsZToiZ2F0ZXdheS50eXBlIn0se2RlZjoiZGV0YWlscyIsdGl0bGU6ImdhdGV3YXkuZGV0YWlscyJ9KTticmVhaztjYXNlIGZuLk9QQ1VBOnRoaXMubWFwcGluZ0NvbHVtbnMucHVzaCh7ZGVmOiJkZXZpY2VOb2RlUGF0dGVybiIsdGl0bGU6ImdhdGV3YXkuZGV2aWNlLW5vZGUifSx7ZGVmOiJkZXZpY2VOYW1lUGF0dGVybiIsdGl0bGU6ImdhdGV3YXkuZGV2aWNlLW5hbWUifSx7ZGVmOiJkZXZpY2VQcm9maWxlRXhwcmVzc2lvbiIsdGl0bGU6ImdhdGV3YXkuZGV2aWNlLXByb2ZpbGUifSl9fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6cm8sZGVwczpbe3Rva2VuOlkuVHJhbnNsYXRlU2VydmljZX0se3Rva2VuOkplLk1hdERpYWxvZ30se3Rva2VuOlguRGlhbG9nU2VydmljZX0se3Rva2VuOm1lLkZvcm1CdWlsZGVyfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpybyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1hcHBpbmctdGFibGUiLGlucHV0czp7cmVxdWlyZWQ6InJlcXVpcmVkIixtYXBwaW5nVHlwZToibWFwcGluZ1R5cGUifSxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5ybykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+cm8pKSxtdWx0aTohMH1dLHZpZXdRdWVyaWVzOlt7cHJvcGVydHlOYW1lOiJzZWFyY2hJbnB1dEZpZWxkIixmaXJzdDohMCxwcmVkaWNhdGU6WyJzZWFyY2hJbnB1dCJdLGRlc2NlbmRhbnRzOiEwfV0sbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLW1hcHBpbmctdGFibGUgdGItYWJzb2x1dGUtZmlsbCI+XG4gIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJjb2x1bW4iIGNsYXNzPSJ0Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQiPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIiBbZnhTaG93XT0iIXRleHRTZWFyY2hNb2RlIj5cbiAgICAgIDxkaXYgY2xhc3M9Im1hdC10b29sYmFyLXRvb2xzIiAqbmdJZj0iKGRhdGFTb3VyY2UuaXNFbXB0eSgpIHwgYXN5bmMpID09PSBmYWxzZSI+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0ic3RhcnQgY2VudGVyIiBmeExheW91dC54cz0iY29sdW1uIiBmeExheW91dEFsaWduLnhzPSJjZW50ZXIgc3RhcnQiIGNsYXNzPSJ0aXRsZS1jb250YWluZXIiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Yi1tYXBwaW5nLXRhYmxlLXRpdGxlIj57e21hcHBpbmdUeXBlVHJhbnNsYXRpb25zTWFwLmdldChtYXBwaW5nVHlwZSkgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlTWFwcGluZygkZXZlbnQpIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmFkZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPSJlbnRlckZpbHRlck1vZGUoKSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5zZWFyY2hcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICA8bWF0LWljb24+c2VhcmNoPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC10b29sYmFyPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIiBbZnhTaG93XT0idGV4dFNlYXJjaE1vZGUiPlxuICAgICAgPGRpdiBjbGFzcz0ibWF0LXRvb2xiYXItdG9vbHMiPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLnNlYXJjaFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPiZuYnNwOzwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCAjc2VhcmNoSW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT0idGV4dFNlYXJjaCJcbiAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnY29tbW9uLmVudGVyLXNlYXJjaFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9ImV4aXRGaWx0ZXJNb2RlKCkiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uY2xvc2VcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXRvb2xiYXI+XG4gICAgPGRpdiBjbGFzcz0idGFibGUtY29udGFpbmVyIj5cbiAgICAgIDx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPSJkYXRhU291cmNlIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT0iY29sdW1uLmRlZiIgKm5nRm9yPSJsZXQgY29sdW1uIG9mIG1hcHBpbmdDb2x1bW5zOyBsZXQgaSA9IGluZGV4Ij5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MucmVxdWVzdC1jb2x1bW5dPSJtYXBwaW5nVHlwZSA9PT0gbWFwcGluZ1R5cGVFbnVtLlJFUVVFU1RTIj5cbiAgICAgICAgICAgIHt7IGNvbHVtbi50aXRsZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCB0YlRydW5jYXRlV2l0aFRvb2x0aXAgKm1hdENlbGxEZWY9ImxldCBtYXBwaW5nIiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MucmVxdWVzdC1jb2x1bW5dPSJtYXBwaW5nVHlwZSA9PT0gbWFwcGluZ1R5cGVFbnVtLlJFUVVFU1RTIj5cbiAgICAgICAgICAgIHt7IG1hcHBpbmdbY29sdW1uLmRlZl0gfX1cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9ImFjdGlvbnMiIHN0aWNreUVuZD5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZS5ndC1tZF09InsgbWluV2lkdGg6IFwnOTZweFwnLCBtYXhXaWR0aDogXCc5NnB4XCcsIHdpZHRoOiBcJzk2cHhcJywgdGV4dEFsaWduOiBcJ2NlbnRlclwnfSI+XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgbWFwcGluZzsgbGV0IGkgPSBpbmRleCJcbiAgICAgICAgICAgICAgICAgICAgW25nU3R5bGUuZ3QtbWRdPSJ7IG1pbldpZHRoOiBcJzk2cHhcJywgbWF4V2lkdGg6IFwnOTZweFwnLCB3aWR0aDogXCc5NnB4XCd9Ij5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcm93QWN0aW9ucz5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VNYXBwaW5nKCRldmVudCwgaSkiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmRlbGV0ZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlTWFwcGluZygkZXZlbnQsIGkpIj5cbiAgICAgICAgICAgICAgICA8dGItaWNvbj5kZWxldGU8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxkaXYgZnhIaWRlIGZ4U2hvdy5ndC1tZCBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09InJvd0FjdGlvbnMiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGZ4SGlkZSBmeFNob3cubHQtbGcgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0QWxpZ249ImVuZCI+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09ImNlbGxBY3Rpb25zTWVudSI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxtYXQtbWVudSAjY2VsbEFjdGlvbnNNZW51PSJtYXRNZW51IiB4UG9zaXRpb249ImJlZm9yZSI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09InJvd0FjdGlvbnMiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxtYXQtaGVhZGVyLXJvdyBbbmdDbGFzc109IntcJ21hdC1yb3ctc2VsZWN0XCc6IHRydWV9IiAqbWF0SGVhZGVyUm93RGVmPSJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWUiPjwvbWF0LWhlYWRlci1yb3c+XG4gICAgICAgIDxtYXQtcm93ICptYXRSb3dEZWY9ImxldCBtYXBwaW5nOyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyI+PC9tYXQtcm93PlxuICAgICAgPC90YWJsZT5cbiAgICAgIDxzZWN0aW9uIFtmeFNob3ddPSIhdGV4dFNlYXJjaE1vZGUgJiYgKGRhdGFTb3VyY2UuaXNFbXB0eSgpIHwgYXN5bmMpIiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgICAgICAgY2xhc3M9Im1hdC1oZWFkbGluZS01IHRiLWFic29sdXRlLWZpbGwgdGItYWRkLW5ldyI+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjbGFzcz0iY29ubmVjdG9yIlxuICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZU1hcHBpbmcoJGV2ZW50KSI+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJ0Yi1tYXQtOTYiPmFkZDwvbWF0LWljb24+XG4gICAgICAgICAgPHNwYW4+e3sgXCdnYXRld2F5LmFkZC1tYXBwaW5nXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9zZWN0aW9uPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSAmJiAoZGF0YVNvdXJjZS5pc0VtcHR5KCkgfCBhc3luYykiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCIgdHJhbnNsYXRlPlxuICAgICAgd2lkZ2V0Lm5vLWRhdGEtZm91bmRcbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnR7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOiNmZmY7b3ZlcmZsb3c6aGlkZGVufTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQudGItb3V0bGluZWQtYm9yZGVye2JveC1zaGFkb3c6MCAwICMwMDAzLDAgMCAjMDAwMDAwMjQsMCAwICMwMDAwMDAxZjtib3JkZXI6c29saWQgMXB4ICNlMGUwZTA7Ym9yZGVyLXJhZGl1czo0cHh9Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAubWF0LXRvb2xiYXItdG9vbHN7bWluLWhlaWdodDphdXRvfTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQgLnRpdGxlLWNvbnRhaW5lcntvdmVyZmxvdzpoaWRkZW59Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAudGItbWFwcGluZy10YWJsZS10aXRsZXtwYWRkaW5nLXJpZ2h0OjIwcHg7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lcntvdmVyZmxvdzphdXRvfTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lciAubWF0LW1kYy10YWJsZXt0YWJsZS1sYXlvdXQ6Zml4ZWQ7bWluLXdpZHRoOjQ1MHB4fTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lciAubWF0LW1kYy10YWJsZSAudGFibGUtdmFsdWUtY29sdW1ue3BhZGRpbmc6MCAxMnB4O3dpZHRoOjIzJX06aG9zdCAudGItbWFwcGluZy10YWJsZSAudGItbWFwcGluZy10YWJsZS1jb250ZW50IC50YWJsZS1jb250YWluZXIgLm1hdC1tZGMtdGFibGUgLnRhYmxlLXZhbHVlLWNvbHVtbi5yZXF1ZXN0LWNvbHVtbnt3aWR0aDozOCV9Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAuZWxsaXBzaXN7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Omhvc3QgLm5vLWRhdGEtZm91bmR7aGVpZ2h0OmNhbGMoMTAwJSAtIDEyMHB4KX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCl7Omhvc3QgLm1hdC10b29sYmFye2hlaWdodDphdXRvO21pbi1oZWlnaHQ6MTAwcHh9Omhvc3QgLm1hdC10b29sYmFyIC50Yi1tYXBwaW5nLXRhYmxlLXRpdGxle3BhZGRpbmctYm90dG9tOjVweDt3aWR0aDoxMDAlfX06aG9zdCA6Om5nLWRlZXAgbWF0LWNlbGwudGItdmFsdWUtY2VsbHtjdXJzb3I6cG9pbnRlcn06aG9zdCA6Om5nLWRlZXAgbWF0LWNlbGwudGItdmFsdWUtY2VsbCAubWF0LWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDtmb250LXNpemU6MjRweDtjb2xvcjojNzU3NTc1fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nQ2xhc3Msc2VsZWN0b3I6IltuZ0NsYXNzXSIsaW5wdXRzOlsiY2xhc3MiLCJuZ0NsYXNzIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdUZW1wbGF0ZU91dGxldCxzZWxlY3RvcjoiW25nVGVtcGxhdGVPdXRsZXRdIixpbnB1dHM6WyJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCIsIm5nVGVtcGxhdGVPdXRsZXQiLCJuZ1RlbXBsYXRlT3V0bGV0SW5qZWN0b3IiXX0se2tpbmQ6InBpcGUiLHR5cGU6Xy5Bc3luY1BpcGUsbmFtZToiYXN5bmMifSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnJ0Lk1hdFRvb2xiYXIsc2VsZWN0b3I6Im1hdC10b29sYmFyIixpbnB1dHM6WyJjb2xvciJdLGV4cG9ydEFzOlsibWF0VG9vbGJhciJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmh0Lk1hdE1lbnUsc2VsZWN0b3I6Im1hdC1tZW51IixpbnB1dHM6WyJiYWNrZHJvcENsYXNzIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImFyaWEtZGVzY3JpYmVkYnkiLCJ4UG9zaXRpb24iLCJ5UG9zaXRpb24iLCJvdmVybGFwVHJpZ2dlciIsImhhc0JhY2tkcm9wIiwiY2xhc3MiLCJjbGFzc0xpc3QiXSxvdXRwdXRzOlsiY2xvc2VkIiwiY2xvc2UiXSxleHBvcnRBczpbIm1hdE1lbnUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpodC5NYXRNZW51VHJpZ2dlcixzZWxlY3RvcjoiW21hdC1tZW51LXRyaWdnZXItZm9yXSwgW21hdE1lbnVUcmlnZ2VyRm9yXSIsaW5wdXRzOlsibWF0LW1lbnUtdHJpZ2dlci1mb3IiLCJtYXRNZW51VHJpZ2dlckZvciIsIm1hdE1lbnVUcmlnZ2VyRGF0YSIsIm1hdE1lbnVUcmlnZ2VyUmVzdG9yZUZvY3VzIl0sb3V0cHV0czpbIm1lbnVPcGVuZWQiLCJvbk1lbnVPcGVuIiwibWVudUNsb3NlZCIsIm9uTWVudUNsb3NlIl0sZXhwb3J0QXM6WyJtYXRNZW51VHJpZ2dlciJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmIuTWF0VGFibGUsc2VsZWN0b3I6Im1hdC10YWJsZSwgdGFibGVbbWF0LXRhYmxlXSIsZXhwb3J0QXM6WyJtYXRUYWJsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0SGVhZGVyQ2VsbERlZixzZWxlY3RvcjoiW21hdEhlYWRlckNlbGxEZWZdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlclJvd0RlZixzZWxlY3RvcjoiW21hdEhlYWRlclJvd0RlZl0iLGlucHV0czpbIm1hdEhlYWRlclJvd0RlZiIsIm1hdEhlYWRlclJvd0RlZlN0aWNreSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Q29sdW1uRGVmLHNlbGVjdG9yOiJbbWF0Q29sdW1uRGVmXSIsaW5wdXRzOlsibWF0Q29sdW1uRGVmIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsRGVmLHNlbGVjdG9yOiJbbWF0Q2VsbERlZl0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Um93RGVmLHNlbGVjdG9yOiJbbWF0Um93RGVmXSIsaW5wdXRzOlsibWF0Um93RGVmQ29sdW1ucyIsIm1hdFJvd0RlZldoZW4iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlckNlbGwsc2VsZWN0b3I6Im1hdC1oZWFkZXItY2VsbCwgdGhbbWF0LWhlYWRlci1jZWxsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsLHNlbGVjdG9yOiJtYXQtY2VsbCwgdGRbbWF0LWNlbGxdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdEhlYWRlclJvdyxzZWxlY3RvcjoibWF0LWhlYWRlci1yb3csIHRyW21hdC1oZWFkZXItcm93XSIsZXhwb3J0QXM6WyJtYXRIZWFkZXJSb3ciXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdFJvdyxzZWxlY3RvcjoibWF0LXJvdywgdHJbbWF0LXJvd10iLGV4cG9ydEFzOlsibWF0Um93Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRBbGlnbkRpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRBbGlnbl0sIFtmeExheW91dEFsaWduLnhzXSwgW2Z4TGF5b3V0QWxpZ24uc21dLCBbZnhMYXlvdXRBbGlnbi5tZF0sICBbZnhMYXlvdXRBbGlnbi5sZ10sIFtmeExheW91dEFsaWduLnhsXSwgW2Z4TGF5b3V0QWxpZ24ubHQtc21dLCBbZnhMYXlvdXRBbGlnbi5sdC1tZF0sICBbZnhMYXlvdXRBbGlnbi5sdC1sZ10sIFtmeExheW91dEFsaWduLmx0LXhsXSwgW2Z4TGF5b3V0QWxpZ24uZ3QteHNdLCBbZnhMYXlvdXRBbGlnbi5ndC1zbV0sICBbZnhMYXlvdXRBbGlnbi5ndC1tZF0sIFtmeExheW91dEFsaWduLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRBbGlnbiIsImZ4TGF5b3V0QWxpZ24ueHMiLCJmeExheW91dEFsaWduLnNtIiwiZnhMYXlvdXRBbGlnbi5tZCIsImZ4TGF5b3V0QWxpZ24ubGciLCJmeExheW91dEFsaWduLnhsIiwiZnhMYXlvdXRBbGlnbi5sdC1zbSIsImZ4TGF5b3V0QWxpZ24ubHQtbWQiLCJmeExheW91dEFsaWduLmx0LWxnIiwiZnhMYXlvdXRBbGlnbi5sdC14bCIsImZ4TGF5b3V0QWxpZ24uZ3QteHMiLCJmeExheW91dEFsaWduLmd0LXNtIiwiZnhMYXlvdXRBbGlnbi5ndC1tZCIsImZ4TGF5b3V0QWxpZ24uZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRGbGV4RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeEZsZXhdLCBbZnhGbGV4LnhzXSwgW2Z4RmxleC5zbV0sIFtmeEZsZXgubWRdLCAgW2Z4RmxleC5sZ10sIFtmeEZsZXgueGxdLCBbZnhGbGV4Lmx0LXNtXSwgW2Z4RmxleC5sdC1tZF0sICBbZnhGbGV4Lmx0LWxnXSwgW2Z4RmxleC5sdC14bF0sIFtmeEZsZXguZ3QteHNdLCBbZnhGbGV4Lmd0LXNtXSwgIFtmeEZsZXguZ3QtbWRdLCBbZnhGbGV4Lmd0LWxnXSIsaW5wdXRzOlsiZnhGbGV4IiwiZnhGbGV4LnhzIiwiZnhGbGV4LnNtIiwiZnhGbGV4Lm1kIiwiZnhGbGV4LmxnIiwiZnhGbGV4LnhsIiwiZnhGbGV4Lmx0LXNtIiwiZnhGbGV4Lmx0LW1kIiwiZnhGbGV4Lmx0LWxnIiwiZnhGbGV4Lmx0LXhsIiwiZnhGbGV4Lmd0LXhzIiwiZnhGbGV4Lmd0LXNtIiwiZnhGbGV4Lmd0LW1kIiwiZnhGbGV4Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Sy5EZWZhdWx0U2hvd0hpZGVEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4U2hvd10sIFtmeFNob3cucHJpbnRdLCAgW2Z4U2hvdy54c10sIFtmeFNob3cuc21dLCBbZnhTaG93Lm1kXSwgW2Z4U2hvdy5sZ10sIFtmeFNob3cueGxdLCAgW2Z4U2hvdy5sdC1zbV0sIFtmeFNob3cubHQtbWRdLCBbZnhTaG93Lmx0LWxnXSwgW2Z4U2hvdy5sdC14bF0sICBbZnhTaG93Lmd0LXhzXSwgW2Z4U2hvdy5ndC1zbV0sIFtmeFNob3cuZ3QtbWRdLCBbZnhTaG93Lmd0LWxnXSwgIFtmeEhpZGVdLCBbZnhIaWRlLnByaW50XSwgIFtmeEhpZGUueHNdLCBbZnhIaWRlLnNtXSwgW2Z4SGlkZS5tZF0sIFtmeEhpZGUubGddLCBbZnhIaWRlLnhsXSwgIFtmeEhpZGUubHQtc21dLCBbZnhIaWRlLmx0LW1kXSwgW2Z4SGlkZS5sdC1sZ10sIFtmeEhpZGUubHQteGxdLCAgW2Z4SGlkZS5ndC14c10sIFtmeEhpZGUuZ3Qtc21dLCBbZnhIaWRlLmd0LW1kXSwgW2Z4SGlkZS5ndC1sZ10iLGlucHV0czpbImZ4U2hvdyIsImZ4U2hvdy5wcmludCIsImZ4U2hvdy54cyIsImZ4U2hvdy5zbSIsImZ4U2hvdy5tZCIsImZ4U2hvdy5sZyIsImZ4U2hvdy54bCIsImZ4U2hvdy5sdC1zbSIsImZ4U2hvdy5sdC1tZCIsImZ4U2hvdy5sdC1sZyIsImZ4U2hvdy5sdC14bCIsImZ4U2hvdy5ndC14cyIsImZ4U2hvdy5ndC1zbSIsImZ4U2hvdy5ndC1tZCIsImZ4U2hvdy5ndC1sZyIsImZ4SGlkZSIsImZ4SGlkZS5wcmludCIsImZ4SGlkZS54cyIsImZ4SGlkZS5zbSIsImZ4SGlkZS5tZCIsImZ4SGlkZS5sZyIsImZ4SGlkZS54bCIsImZ4SGlkZS5sdC1zbSIsImZ4SGlkZS5sdC1tZCIsImZ4SGlkZS5sdC1sZyIsImZ4SGlkZS5sdC14bCIsImZ4SGlkZS5ndC14cyIsImZ4SGlkZS5ndC1zbSIsImZ4SGlkZS5ndC1tZCIsImZ4SGlkZS5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOksuRGVmYXVsdENsYXNzRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtuZ0NsYXNzXSwgW25nQ2xhc3MueHNdLCBbbmdDbGFzcy5zbV0sIFtuZ0NsYXNzLm1kXSwgW25nQ2xhc3MubGddLCBbbmdDbGFzcy54bF0sICBbbmdDbGFzcy5sdC1zbV0sIFtuZ0NsYXNzLmx0LW1kXSwgW25nQ2xhc3MubHQtbGddLCBbbmdDbGFzcy5sdC14bF0sICBbbmdDbGFzcy5ndC14c10sIFtuZ0NsYXNzLmd0LXNtXSwgW25nQ2xhc3MuZ3QtbWRdLCBbbmdDbGFzcy5ndC1sZ10iLGlucHV0czpbIm5nQ2xhc3MiLCJuZ0NsYXNzLnhzIiwibmdDbGFzcy5zbSIsIm5nQ2xhc3MubWQiLCJuZ0NsYXNzLmxnIiwibmdDbGFzcy54bCIsIm5nQ2xhc3MubHQtc20iLCJuZ0NsYXNzLmx0LW1kIiwibmdDbGFzcy5sdC1sZyIsIm5nQ2xhc3MubHQteGwiLCJuZ0NsYXNzLmd0LXhzIiwibmdDbGFzcy5ndC1zbSIsIm5nQ2xhc3MuZ3QtbWQiLCJuZ0NsYXNzLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Sy5EZWZhdWx0U3R5bGVEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW25nU3R5bGVdLCAgW25nU3R5bGUueHNdLCBbbmdTdHlsZS5zbV0sIFtuZ1N0eWxlLm1kXSwgW25nU3R5bGUubGddLCBbbmdTdHlsZS54bF0sICBbbmdTdHlsZS5sdC1zbV0sIFtuZ1N0eWxlLmx0LW1kXSwgW25nU3R5bGUubHQtbGddLCBbbmdTdHlsZS5sdC14bF0sICBbbmdTdHlsZS5ndC14c10sIFtuZ1N0eWxlLmd0LXNtXSwgW25nU3R5bGUuZ3QtbWRdLCBbbmdTdHlsZS5ndC1sZ10iLGlucHV0czpbIm5nU3R5bGUiLCJuZ1N0eWxlLnhzIiwibmdTdHlsZS5zbSIsIm5nU3R5bGUubWQiLCJuZ1N0eWxlLmxnIiwibmdTdHlsZS54bCIsIm5nU3R5bGUubHQtc20iLCJuZ1N0eWxlLmx0LW1kIiwibmdTdHlsZS5sdC1sZyIsIm5nU3R5bGUubHQteGwiLCJuZ1N0eWxlLmd0LXhzIiwibmdTdHlsZS5ndC1zbSIsIm5nU3R5bGUuZ3QtbWQiLCJuZ1N0eWxlLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlllLlRydW5jYXRlV2l0aFRvb2x0aXBEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0b29sdGlwRW5hYmxlZCIsInBvc2l0aW9uIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlkuVHJhbnNsYXRlRGlyZWN0aXZlLHNlbGVjdG9yOiJbdHJhbnNsYXRlXSxbbmd4LXRyYW5zbGF0ZV0iLGlucHV0czpbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZVBhcmFtcyJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJ0LlRiSWNvbkNvbXBvbmVudCxzZWxlY3RvcjoidGItaWNvbiIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbInRiSWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlNhLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfV0sY2hhbmdlRGV0ZWN0aW9uOnQuQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNofSl9fWUoIk1hcHBpbmdUYWJsZUNvbXBvbmVudCIscm8pLEhlKFtOKCldLHJvLnByb3RvdHlwZSwicmVxdWlyZWQiLHZvaWQgMCksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpybyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItbWFwcGluZy10YWJsZSIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PnJvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5ybykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsU2FdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItbWFwcGluZy10YWJsZSB0Yi1hYnNvbHV0ZS1maWxsIj5cbiAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9ImNvbHVtbiIgY2xhc3M9InRiLW1hcHBpbmctdGFibGUtY29udGVudCI+XG4gICAgPG1hdC10b29sYmFyIGNsYXNzPSJtYXQtbWRjLXRhYmxlLXRvb2xiYXIiIFtmeFNob3ddPSIhdGV4dFNlYXJjaE1vZGUiPlxuICAgICAgPGRpdiBjbGFzcz0ibWF0LXRvb2xiYXItdG9vbHMiICpuZ0lmPSIoZGF0YVNvdXJjZS5pc0VtcHR5KCkgfCBhc3luYykgPT09IGZhbHNlIj5cbiAgICAgICAgPGRpdiBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJzdGFydCBjZW50ZXIiIGZ4TGF5b3V0LnhzPSJjb2x1bW4iIGZ4TGF5b3V0QWxpZ24ueHM9ImNlbnRlciBzdGFydCIgY2xhc3M9InRpdGxlLWNvbnRhaW5lciI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9InRiLW1hcHBpbmctdGFibGUtdGl0bGUiPnt7bWFwcGluZ1R5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KG1hcHBpbmdUeXBlKSB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gZnhGbGV4Pjwvc3Bhbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VNYXBwaW5nKCRldmVudCkiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uYWRkXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9ImVudGVyRmlsdGVyTW9kZSgpIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLnNlYXJjaFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXRvb2xiYXI+XG4gICAgPG1hdC10b29sYmFyIGNsYXNzPSJtYXQtbWRjLXRhYmxlLXRvb2xiYXIiIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSI+XG4gICAgICA8ZGl2IGNsYXNzPSJtYXQtdG9vbGJhci10b29scyI+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+Jm5ic3A7PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0ICNzZWFyY2hJbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPSJ0ZXh0U2VhcmNoIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdjb21tb24uZW50ZXItc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0iZXhpdEZpbHRlck1vZGUoKSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5jbG9zZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1jb250YWluZXIiPlxuICAgICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09ImRhdGFTb3VyY2UiPlxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPSJjb2x1bW4uZGVmIiAqbmdGb3I9ImxldCBjb2x1bW4gb2YgbWFwcGluZ0NvbHVtbnM7IGxldCBpID0gaW5kZXgiPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgY2xhc3M9InRhYmxlLXZhbHVlLWNvbHVtbiJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5yZXF1ZXN0LWNvbHVtbl09Im1hcHBpbmdUeXBlID09PSBtYXBwaW5nVHlwZUVudW0uUkVRVUVTVFMiPlxuICAgICAgICAgICAge3sgY29sdW1uLnRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCAqbWF0Q2VsbERlZj0ibGV0IG1hcHBpbmciIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5yZXF1ZXN0LWNvbHVtbl09Im1hcHBpbmdUeXBlID09PSBtYXBwaW5nVHlwZUVudW0uUkVRVUVTVFMiPlxuICAgICAgICAgICAge3sgbWFwcGluZ1tjb2x1bW4uZGVmXSB9fVxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iYWN0aW9ucyIgc3RpY2t5RW5kPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlLmd0LW1kXT0ieyBtaW5XaWR0aDogXCc5NnB4XCcsIG1heFdpZHRoOiBcJzk2cHhcJywgd2lkdGg6IFwnOTZweFwnLCB0ZXh0QWxpZ246IFwnY2VudGVyXCd9Ij5cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBtYXBwaW5nOyBsZXQgaSA9IGluZGV4IlxuICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZS5ndC1tZF09InsgbWluV2lkdGg6IFwnOTZweFwnLCBtYXhXaWR0aDogXCc5NnB4XCcsIHdpZHRoOiBcJzk2cHhcJ30iPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyb3dBY3Rpb25zPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZU1hcHBpbmcoJGV2ZW50LCBpKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZGVsZXRlXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJkZWxldGVNYXBwaW5nKCRldmVudCwgaSkiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uPmRlbGV0ZTwvdGItaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPGRpdiBmeEhpZGUgZnhTaG93Lmd0LW1kIGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJlbmQiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0icm93QWN0aW9ucyI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgZnhIaWRlIGZ4U2hvdy5sdC1sZyBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT0iY2VsbEFjdGlvbnNNZW51Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPG1hdC1tZW51ICNjZWxsQWN0aW9uc01lbnU9Im1hdE1lbnUiIHhQb3NpdGlvbj0iYmVmb3JlIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0icm93QWN0aW9ucyI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG1hdC1oZWFkZXItcm93IFtuZ0NsYXNzXT0ie1wnbWF0LXJvdy1zZWxlY3RcJzogdHJ1ZX0iICptYXRIZWFkZXJSb3dEZWY9ImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTogdHJ1ZSI+PC9tYXQtaGVhZGVyLXJvdz5cbiAgICAgICAgPG1hdC1yb3cgKm1hdFJvd0RlZj0ibGV0IG1hcHBpbmc7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7Ij48L21hdC1yb3c+XG4gICAgICA8L3RhYmxlPlxuICAgICAgPHNlY3Rpb24gW2Z4U2hvd109IiF0ZXh0U2VhcmNoTW9kZSAmJiAoZGF0YVNvdXJjZS5pc0VtcHR5KCkgfCBhc3luYykiIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiXG4gICAgICAgICAgICAgICBjbGFzcz0ibWF0LWhlYWRsaW5lLTUgdGItYWJzb2x1dGUtZmlsbCB0Yi1hZGQtbmV3Ij5cbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNsYXNzPSJjb25uZWN0b3IiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlTWFwcGluZygkZXZlbnQpIj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC05NiI+YWRkPC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3Bhbj57eyBcJ2dhdGV3YXkuYWRkLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gW2Z4U2hvd109InRleHRTZWFyY2hNb2RlICYmIChkYXRhU291cmNlLmlzRW1wdHkoKSB8IGFzeW5jKSJcbiAgICAgICAgICBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgIGNsYXNzPSJuby1kYXRhLWZvdW5kIiB0cmFuc2xhdGU+XG4gICAgICB3aWRnZXQubm8tZGF0YS1mb3VuZFxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6YmxvY2t9Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6I2ZmZjtvdmVyZmxvdzpoaWRkZW59Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudC50Yi1vdXRsaW5lZC1ib3JkZXJ7Ym94LXNoYWRvdzowIDAgIzAwMDMsMCAwICMwMDAwMDAyNCwwIDAgIzAwMDAwMDFmO2JvcmRlcjpzb2xpZCAxcHggI2UwZTBlMDtib3JkZXItcmFkaXVzOjRweH06aG9zdCAudGItbWFwcGluZy10YWJsZSAudGItbWFwcGluZy10YWJsZS1jb250ZW50IC5tYXQtdG9vbGJhci10b29sc3ttaW4taGVpZ2h0OmF1dG99Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAudGl0bGUtY29udGFpbmVye292ZXJmbG93OmhpZGRlbn06aG9zdCAudGItbWFwcGluZy10YWJsZSAudGItbWFwcGluZy10YWJsZS1jb250ZW50IC50Yi1tYXBwaW5nLXRhYmxlLXRpdGxle3BhZGRpbmctcmlnaHQ6MjBweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAudGFibGUtY29udGFpbmVye292ZXJmbG93OmF1dG99Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAudGFibGUtY29udGFpbmVyIC5tYXQtbWRjLXRhYmxle3RhYmxlLWxheW91dDpmaXhlZDttaW4td2lkdGg6NDUwcHh9Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAudGFibGUtY29udGFpbmVyIC5tYXQtbWRjLXRhYmxlIC50YWJsZS12YWx1ZS1jb2x1bW57cGFkZGluZzowIDEycHg7d2lkdGg6MjMlfTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lciAubWF0LW1kYy10YWJsZSAudGFibGUtdmFsdWUtY29sdW1uLnJlcXVlc3QtY29sdW1ue3dpZHRoOjM4JX06aG9zdCAudGItbWFwcGluZy10YWJsZSAudGItbWFwcGluZy10YWJsZS1jb250ZW50IC5lbGxpcHNpc3tvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306aG9zdCAubm8tZGF0YS1mb3VuZHtoZWlnaHQ6Y2FsYygxMDAlIC0gMTIwcHgpfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KXs6aG9zdCAubWF0LXRvb2xiYXJ7aGVpZ2h0OmF1dG87bWluLWhlaWdodDoxMDBweH06aG9zdCAubWF0LXRvb2xiYXIgLnRiLW1hcHBpbmctdGFibGUtdGl0bGV7cGFkZGluZy1ib3R0b206NXB4O3dpZHRoOjEwMCV9fTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxse2N1cnNvcjpwb2ludGVyfTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxsIC5tYXQtaWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4O2ZvbnQtc2l6ZToyNHB4O2NvbG9yOiM3NTc1NzV9XG4nXX1dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0eXBlOkplLk1hdERpYWxvZ30se3R5cGU6WC5EaWFsb2dTZXJ2aWNlfSx7dHlwZTptZS5Gb3JtQnVpbGRlcn1dLHByb3BEZWNvcmF0b3JzOntyZXF1aXJlZDpbe3R5cGU6YX1dLG1hcHBpbmdUeXBlOlt7dHlwZTphfV0sc2VhcmNoSW5wdXRGaWVsZDpbe3R5cGU6byxhcmdzOlsic2VhcmNoSW5wdXQiXX1dfX0pO2NsYXNzIHNvIGV4dGVuZHMgUntjb25zdHJ1Y3Rvcigpe3N1cGVyKCl9fWUoIk1hcHBpbmdEYXRhc291cmNlIixzbyk7Y2xhc3MgbG97Y29uc3RydWN0b3IoZSx0KXt0aGlzLmZiPWUsdGhpcy5jZHI9dCx0aGlzLnRpdGxlPSJnYXRld2F5LnNlY3VyaXR5Iix0aGlzLmV4dGVuZENlcnRpZmljYXRlc01vZGVsPSExLHRoaXMuQnJva2VyU2VjdXJpdHlUeXBlPXJuLHRoaXMuc2VjdXJpdHlUeXBlcz1PYmplY3QudmFsdWVzKHJuKSx0aGlzLm1vZGVUeXBlcz1PYmplY3QudmFsdWVzKHBuKSx0aGlzLlNlY3VyaXR5VHlwZVRyYW5zbGF0aW9uc01hcD1tbix0aGlzLmRlc3Ryb3kkPW5ldyBTZX1uZ09uSW5pdCgpe3RoaXMuc2VjdXJpdHlGb3JtR3JvdXA9dGhpcy5mYi5ncm91cCh7dHlwZTpbcm4uQU5PTllNT1VTLFtdXSx1c2VybmFtZTpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scGFzc3dvcmQ6WyIiLFt1ZS5wYXR0ZXJuKGt0KV1dLHBhdGhUb0NBQ2VydDpbIiIsW3VlLnBhdHRlcm4oa3QpXV0scGF0aFRvUHJpdmF0ZUtleTpbIiIsW3VlLnBhdHRlcm4oa3QpXV0scGF0aFRvQ2xpZW50Q2VydDpbIiIsW3VlLnBhdHRlcm4oa3QpXV19KSx0aGlzLmV4dGVuZENlcnRpZmljYXRlc01vZGVsJiZ0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmFkZENvbnRyb2woIm1vZGUiLHRoaXMuZmIuY29udHJvbChwbi5OT05FLFtdKSksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+dGhpcy51cGRhdGVWYWxpZGF0b3JzKGUpKSl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9d3JpdGVWYWx1ZShlKXtpZihlKWUudHlwZXx8KGUudHlwZT1ybi5BTk9OWU1PVVMpLHRoaXMudXBkYXRlVmFsaWRhdG9ycyhlLnR5cGUpLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAucmVzZXQoZSx7ZW1pdEV2ZW50OiExfSk7ZWxzZXtjb25zdCBlPXt0eXBlOnJuLkFOT05ZTU9VU307dGhpcy5zZWN1cml0eUZvcm1Hcm91cC5yZXNldChlLHtlbWl0RXZlbnQ6ITF9KX10aGlzLmNkci5tYXJrRm9yQ2hlY2soKX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgidHlwZSIpLnZhbHVlIT09cm4uQkFTSUN8fHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAudmFsaWQ/bnVsbDp7c2VjdXJpdHlGb3JtOnt2YWxpZDohMX19fXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9dXBkYXRlVmFsaWRhdG9ycyhlKXtpZihlKWlmKHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJ1c2VybmFtZSIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJwYXNzd29yZCIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJwYXRoVG9DQUNlcnQiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgicGF0aFRvUHJpdmF0ZUtleSIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJwYXRoVG9DbGllbnRDZXJ0IikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoIm1vZGUiKT8uZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksZT09PXJuLkJBU0lDKXRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJ1c2VybmFtZSIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoInBhc3N3b3JkIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KTtlbHNlIGlmKGU9PT1ybi5DRVJUSUZJQ0FURVMmJih0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgicGF0aFRvQ0FDZXJ0IikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgicGF0aFRvUHJpdmF0ZUtleSIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoInBhdGhUb0NsaWVudENlcnQiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuZXh0ZW5kQ2VydGlmaWNhdGVzTW9kZWwpKXtjb25zdCBlPXRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJtb2RlIik7ZSYmIWUudmFsdWUmJmUuc2V0VmFsdWUocG4uTk9ORSx7ZW1pdEV2ZW50OiExfSksZT8uZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgidXNlcm5hbWUiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJwYXNzd29yZCIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSl9fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6bG8sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfSx7dG9rZW46dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6bG8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1zZWN1cml0eS1jb25maWciLGlucHV0czp7dGl0bGU6InRpdGxlIixleHRlbmRDZXJ0aWZpY2F0ZXNNb2RlbDoiZXh0ZW5kQ2VydGlmaWNhdGVzTW9kZWwifSxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5sbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+bG8pKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHNhbWUtcGFkZGluZyB0Yi1mbGV4IGNvbHVtbiIgW2Zvcm1Hcm91cF09InNlY3VyaXR5Rm9ybUdyb3VwIj5cbiAgPGRpdiBjbGFzcz0idGItZmxleCByb3cgc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIgbm8tZ2FwIGZpbGwtd2lkdGgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIj57eyB0aXRsZSB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNlY3VyaXR5VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICB7eyBTZWN1cml0eVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlIj5cbiAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkJyb2tlclNlY3VyaXR5VHlwZS5CQVNJQyI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS51c2VybmFtZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ1c2VybmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS51c2VybmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndXNlcm5hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndXNlcm5hbWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5wYXNzd29yZDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJwYXNzd29yZCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icGFzc3dvcmQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAgYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0IiBtYXRTdWZmaXg+XG4gICAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1wYXNzd29yZCBjbGFzcz0idGItZmxleCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiPjwvdGItdG9nZ2xlLXBhc3N3b3JkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJCcm9rZXJTZWN1cml0eVR5cGUuQ0VSVElGSUNBVEVTIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwiPnt7IFwnZ2F0ZXdheS5wYXRoLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuQ0EtY2VydGlmaWNhdGUtcGF0aDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwYXRoVG9DQUNlcnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucHJpdmF0ZS1rZXktcGF0aDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwYXRoVG9Qcml2YXRlS2V5IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmNsaWVudC1jZXJ0LXBhdGg8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icGF0aFRvQ2xpZW50Q2VydCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJleHRlbmRDZXJ0aWZpY2F0ZXNNb2RlbCI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkubW9kZTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibW9kZSI+XG4gICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBtb2RlVHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAge3sgdHlwZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudXNlcm5hbWU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idXNlcm5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS51c2VybmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd1c2VybmFtZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3VzZXJuYW1lXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnBhc3N3b3JkPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwYXNzd29yZCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiIG1hdFN1ZmZpeD5cbiAgICAgICAgICAgICAgICA8dGItdG9nZ2xlLXBhc3N3b3JkIGNsYXNzPSJ0Yi1mbGV4IGFsaWduLWNlbnRlciBmaWxsLWhlaWdodCI+PC90Yi10b2dnbGUtcGFzc3dvcmQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9ja31cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdTd2l0Y2gsc2VsZWN0b3I6IltuZ1N3aXRjaF0iLGlucHV0czpbIm5nU3dpdGNoIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaENhc2Usc2VsZWN0b3I6IltuZ1N3aXRjaENhc2VdIixpbnB1dHM6WyJuZ1N3aXRjaENhc2UiXX0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp0dC5Ub2dnbGVQYXNzd29yZENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXBhc3N3b3JkIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpudC5Ub2dnbGVPcHRpb24sc2VsZWN0b3I6InRiLXRvZ2dsZS1vcHRpb24iLGlucHV0czpbInZhbHVlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YXQuVG9nZ2xlU2VsZWN0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi10b2dnbGUtc2VsZWN0IixpbnB1dHM6WyJkaXNhYmxlZCIsInNlbGVjdE1lZGlhQnJlYWtwb2ludCIsImFwcGVhcmFuY2UiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImZpbGxIZWlnaHQiLCJleHRyYVBhZGRpbmciLCJwcmltYXJ5QmFja2dyb3VuZCJdfV0sY2hhbmdlRGV0ZWN0aW9uOnQuQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNofSl9fWUoIlNlY3VyaXR5Q29uZmlnQ29tcG9uZW50IixsbyksSGUoW04oKV0sbG8ucHJvdG90eXBlLCJleHRlbmRDZXJ0aWZpY2F0ZXNNb2RlbCIsdm9pZCAwKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmxvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1zZWN1cml0eS1jb25maWciLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5sbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+bG8pKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxEXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gc2FtZS1wYWRkaW5nIHRiLWZsZXggY29sdW1uIiBbZm9ybUdyb3VwXT0ic2VjdXJpdHlGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHJvdyBzcGFjZS1iZXR3ZWVuIGFsaWduLWNlbnRlciBuby1nYXAgZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiPnt7IHRpdGxlIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgPHRiLXRvZ2dsZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIiBhcHBlYXJhbmNlPSJmaWxsIj5cbiAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2Ygc2VjdXJpdHlUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgIHt7IFNlY3VyaXR5VHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQnJva2VyU2VjdXJpdHlUeXBlLkJBU0lDIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnVzZXJuYW1lPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InVzZXJuYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnVzZXJuYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd1c2VybmFtZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd1c2VybmFtZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnBhc3N3b3JkPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwYXNzd29yZCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiIG1hdFN1ZmZpeD5cbiAgICAgICAgICAgICAgICA8dGItdG9nZ2xlLXBhc3N3b3JkIGNsYXNzPSJ0Yi1mbGV4IGFsaWduLWNlbnRlciBmaWxsLWhlaWdodCI+PC90Yi10b2dnbGUtcGFzc3dvcmQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkJyb2tlclNlY3VyaXR5VHlwZS5DRVJUSUZJQ0FURVMiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCI+e3sgXCdnYXRld2F5LnBhdGgtaGludFwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5DQS1jZXJ0aWZpY2F0ZS1wYXRoPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhdGhUb0NBQ2VydCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5wcml2YXRlLWtleS1wYXRoPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhdGhUb1ByaXZhdGVLZXkiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuY2xpZW50LWNlcnQtcGF0aDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwYXRoVG9DbGllbnRDZXJ0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9ImV4dGVuZENlcnRpZmljYXRlc01vZGVsIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5tb2RlPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtb2RlIj5cbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIG1vZGVUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAgICB7eyB0eXBlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS51c2VybmFtZTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ1c2VybmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnVzZXJuYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3VzZXJuYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndXNlcm5hbWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucGFzc3dvcmQ8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhc3N3b3JkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGFsaWduLWNlbnRlciBmaWxsLWhlaWdodCIgbWF0U3VmZml4PlxuICAgICAgICAgICAgICAgIDx0Yi10b2dnbGUtcGFzc3dvcmQgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0Ij48L3RiLXRvZ2dsZS1wYXNzd29yZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9LHt0eXBlOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9XSxwcm9wRGVjb3JhdG9yczp7dGl0bGU6W3t0eXBlOmF9XSxleHRlbmRDZXJ0aWZpY2F0ZXNNb2RlbDpbe3R5cGU6YX1dfX0pO2NsYXNzIGNve2NvbnN0cnVjdG9yKGUpe3RoaXMuZmI9ZSx0aGlzLmhpZGVOZXdGaWVsZHM9ITEsdGhpcy5zZWN1cml0eVBvbGljeVR5cGVzPV9uLHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMuc2VydmVyQ29uZmlnRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe3VybDpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sdGltZW91dEluTWlsbGlzOlsxZTMsW3VlLnJlcXVpcmVkLHVlLm1pbigxZTMpXV0sc2NhblBlcmlvZEluTWlsbGlzOltWLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMWUzKV1dLHBvbGxQZXJpb2RJbk1pbGxpczpbNWUzLFt1ZS5yZXF1aXJlZCx1ZS5taW4oNTApXV0sZW5hYmxlU3Vic2NyaXB0aW9uczpbITAsW11dLHN1YkNoZWNrUGVyaW9kSW5NaWxsaXM6WzEwMCxbdWUucmVxdWlyZWQsdWUubWluKDEwMCldXSxzaG93TWFwOlshMSxbXV0sc2VjdXJpdHk6W1VuLkJBU0lDMTI4LFtdXSxpZGVudGl0eTpbXX0pLHRoaXMuc2VydmVyQ29uZmlnRm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLm9uQ2hhbmdlKGUpLHRoaXMub25Ub3VjaGVkKCl9KSl9bmdBZnRlclZpZXdJbml0KCl7dGhpcy5oaWRlTmV3RmllbGRzJiZ0aGlzLnNlcnZlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoInBvbGxQZXJpb2RJbk1pbGxpcyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5zZXJ2ZXJDb25maWdGb3JtR3JvdXAudmFsaWQ/bnVsbDp7c2VydmVyQ29uZmlnRm9ybUdyb3VwOnt2YWxpZDohMX19fXdyaXRlVmFsdWUoZSl7Y29uc3R7dGltZW91dEluTWlsbGlzOnQ9MWUzLHNjYW5QZXJpb2RJbk1pbGxpczpuPVYscG9sbFBlcmlvZEluTWlsbGlzOmE9NWUzLGVuYWJsZVN1YnNjcmlwdGlvbnM6bz0hMCxzdWJDaGVja1BlcmlvZEluTWlsbGlzOmk9MTAwLHNob3dNYXA6cj0hMSxzZWN1cml0eTpzPVVuLkJBU0lDMTI4LGlkZW50aXR5Omw9e319PWU7dGhpcy5zZXJ2ZXJDb25maWdGb3JtR3JvdXAucmVzZXQoey4uLmUsdGltZW91dEluTWlsbGlzOnQsc2NhblBlcmlvZEluTWlsbGlzOm4scG9sbFBlcmlvZEluTWlsbGlzOmEsZW5hYmxlU3Vic2NyaXB0aW9uczpvLHN1YkNoZWNrUGVyaW9kSW5NaWxsaXM6aSxzaG93TWFwOnIsc2VjdXJpdHk6cyxpZGVudGl0eTpsfSx7ZW1pdEV2ZW50OiExfSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpjbyxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOmNvLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItb3BjLXNlcnZlci1jb25maWciLGlucHV0czp7aGlkZU5ld0ZpZWxkczoiaGlkZU5ld0ZpZWxkcyJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PmNvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5jbykpLG11bHRpOiEwfV0sbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiIFtmb3JtR3JvdXBdPSJzZXJ2ZXJDb25maWdGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGJUcnVuY2F0ZVdpdGhUb29sdGlwIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci11cmw8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idXJsIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuc2VydmVyLXVybC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndXJsXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndXJsXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5vcGMtdGltZW91dFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS50aW1lb3V0XCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjEwMDAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRpbWVvdXRJbk1pbGxpcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkudGltZW91dC1lcnJvclwnIHwgdHJhbnNsYXRlOiB7bWluOiAxMDAwfSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSIoc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3RpbWVvdXRJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3RpbWVvdXRJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ21pblwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndGltZW91dEluTWlsbGlzXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5zZWN1cml0eS1wb2xpY3lcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkuc2VjdXJpdHktcG9saWN5XCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5Ij5cbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB2ZXJzaW9uIG9mIHNlY3VyaXR5UG9saWN5VHlwZXMiIFt2YWx1ZV09InZlcnNpb24udmFsdWUiPnt7IHZlcnNpb24ubmFtZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLnNjYW4tcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgXCdnYXRld2F5LnNjYW4tcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjEwMDAiIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJzY2FuUGVyaW9kSW5NaWxsaXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iXCdnYXRld2F5LnNjYW4tcGVyaW9kLWVycm9yXCcgfCB0cmFuc2xhdGU6IHttaW46IDEwMDB9IlxuICAgICAgICAgICAgICAgICAgKm5nSWY9IihzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2NhblBlcmlvZEluTWlsbGlzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2NhblBlcmlvZEluTWlsbGlzXCcpLmhhc0Vycm9yKFwnbWluXCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzY2FuUGVyaW9kSW5NaWxsaXNcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgd2FybmluZ1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9IiFoaWRlTmV3RmllbGRzIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iNTAiIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJwb2xsUGVyaW9kSW5NaWxsaXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iXCdnYXRld2F5LnBvbGwtcGVyaW9kLWVycm9yXCcgfCB0cmFuc2xhdGU6IHttaW46IDUwfSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSIoc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvbGxQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvbGxQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ21pblwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9sbFBlcmlvZEluTWlsbGlzXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5zdWItY2hlY2stcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgXCdnYXRld2F5LnN1Yi1jaGVjay1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMTAwIiBuYW1lPSJ2YWx1ZSJcbiAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0ic3ViQ2hlY2tQZXJpb2RJbk1pbGxpcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkuc3ViLWNoZWNrLXBlcmlvZC1lcnJvclwnIHwgdHJhbnNsYXRlOiB7bWluOiAxMDB9IlxuICAgICAgICAgICAgICAgICAgKm5nSWY9IihzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc3ViQ2hlY2tQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3N1YkNoZWNrUGVyaW9kSW5NaWxsaXNcJykuaGFzRXJyb3IoXCdtaW5cJykpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3N1YkNoZWNrUGVyaW9kSW5NaWxsaXNcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgd2FybmluZ1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJlbmFibGVTdWJzY3JpcHRpb25zIj5cbiAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5lbmFibGUtc3Vic2NyaXB0aW9uXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkuZW5hYmxlLXN1YnNjcmlwdGlvblwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8L21hdC1sYWJlbD5cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic2hvd01hcCI+XG4gICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMuc2hvdy1tYXBcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgIHt7IFwnZ2F0ZXdheS5zaG93LW1hcFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1sYWJlbD5cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvZGl2PlxuICA8dGItc2VjdXJpdHktY29uZmlnIGZvcm1Db250cm9sTmFtZT0iaWRlbnRpdHkiXG4gICAgICAgICAgICAgICAgICAgICAgW2V4dGVuZENlcnRpZmljYXRlc01vZGVsXT0idHJ1ZSI+XG4gIDwvdGItc2VjdXJpdHktY29uZmlnPlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdFN1ZmZpeCxzZWxlY3RvcjoiW21hdFN1ZmZpeF0sIFttYXRJY29uU3VmZml4XSwgW21hdFRleHRTdWZmaXhdIixpbnB1dHM6WyJtYXRUZXh0U3VmZml4Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpDZS5NYXRPcHRpb24sc2VsZWN0b3I6Im1hdC1vcHRpb24iLGlucHV0czpbInZhbHVlIiwiaWQiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJvblNlbGVjdGlvbkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0T3B0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6emUuTWF0VG9vbHRpcCxzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixpbnB1dHM6WyJtYXRUb29sdGlwUG9zaXRpb24iLCJtYXRUb29sdGlwUG9zaXRpb25BdE9yaWdpbiIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBTaG93RGVsYXkiLCJtYXRUb29sdGlwSGlkZURlbGF5IiwibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcENsYXNzIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6ZXQuTWF0U2xpZGVUb2dnbGUsc2VsZWN0b3I6Im1hdC1zbGlkZS10b2dnbGUiLGlucHV0czpbIm5hbWUiLCJpZCIsImxhYmVsUG9zaXRpb24iLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsInJlcXVpcmVkIiwiY29sb3IiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImNoZWNrZWQiLCJoaWRlSWNvbiIsImRpc2FibGVkSW50ZXJhY3RpdmUiXSxvdXRwdXRzOlsiY2hhbmdlIiwidG9nZ2xlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlllLlRydW5jYXRlV2l0aFRvb2x0aXBEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0b29sdGlwRW5hYmxlZCIsInBvc2l0aW9uIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlkuVHJhbnNsYXRlRGlyZWN0aXZlLHNlbGVjdG9yOiJbdHJhbnNsYXRlXSxbbmd4LXRyYW5zbGF0ZV0iLGlucHV0czpbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZVBhcmFtcyJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnV0LkhpbnRUb29sdGlwSWNvbkNvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhpbnQtdG9vbHRpcC1pY29uXSIsaW5wdXRzOlsidGItaGludC10b29sdGlwLWljb24iLCJ0b29sdGlwUG9zaXRpb24iLCJoaW50SWNvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmxvLHNlbGVjdG9yOiJ0Yi1zZWN1cml0eS1jb25maWciLGlucHV0czpbInRpdGxlIiwiZXh0ZW5kQ2VydGlmaWNhdGVzTW9kZWwiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJPcGNTZXJ2ZXJDb25maWdDb21wb25lbnQiLGNvKSxIZShbTigpXSxjby5wcm90b3R5cGUsImhpZGVOZXdGaWVsZHMiLHZvaWQgMCksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpjbyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItb3BjLXNlcnZlci1jb25maWciLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5jbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+Y28pKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxELGxvLFNhXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiIFtmb3JtR3JvdXBdPSJzZXJ2ZXJDb25maWdGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGJUcnVuY2F0ZVdpdGhUb29sdGlwIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci11cmw8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idXJsIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuc2VydmVyLXVybC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndXJsXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndXJsXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5vcGMtdGltZW91dFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS50aW1lb3V0XCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjEwMDAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRpbWVvdXRJbk1pbGxpcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkudGltZW91dC1lcnJvclwnIHwgdHJhbnNsYXRlOiB7bWluOiAxMDAwfSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSIoc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3RpbWVvdXRJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3RpbWVvdXRJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ21pblwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndGltZW91dEluTWlsbGlzXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5zZWN1cml0eS1wb2xpY3lcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkuc2VjdXJpdHktcG9saWN5XCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5Ij5cbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB2ZXJzaW9uIG9mIHNlY3VyaXR5UG9saWN5VHlwZXMiIFt2YWx1ZV09InZlcnNpb24udmFsdWUiPnt7IHZlcnNpb24ubmFtZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLnNjYW4tcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgXCdnYXRld2F5LnNjYW4tcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjEwMDAiIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJzY2FuUGVyaW9kSW5NaWxsaXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iXCdnYXRld2F5LnNjYW4tcGVyaW9kLWVycm9yXCcgfCB0cmFuc2xhdGU6IHttaW46IDEwMDB9IlxuICAgICAgICAgICAgICAgICAgKm5nSWY9IihzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2NhblBlcmlvZEluTWlsbGlzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2NhblBlcmlvZEluTWlsbGlzXCcpLmhhc0Vycm9yKFwnbWluXCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzY2FuUGVyaW9kSW5NaWxsaXNcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgd2FybmluZ1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9IiFoaWRlTmV3RmllbGRzIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iNTAiIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJwb2xsUGVyaW9kSW5NaWxsaXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iXCdnYXRld2F5LnBvbGwtcGVyaW9kLWVycm9yXCcgfCB0cmFuc2xhdGU6IHttaW46IDUwfSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSIoc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvbGxQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvbGxQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ21pblwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9sbFBlcmlvZEluTWlsbGlzXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5zdWItY2hlY2stcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgXCdnYXRld2F5LnN1Yi1jaGVjay1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMTAwIiBuYW1lPSJ2YWx1ZSJcbiAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0ic3ViQ2hlY2tQZXJpb2RJbk1pbGxpcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkuc3ViLWNoZWNrLXBlcmlvZC1lcnJvclwnIHwgdHJhbnNsYXRlOiB7bWluOiAxMDB9IlxuICAgICAgICAgICAgICAgICAgKm5nSWY9IihzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc3ViQ2hlY2tQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3N1YkNoZWNrUGVyaW9kSW5NaWxsaXNcJykuaGFzRXJyb3IoXCdtaW5cJykpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3N1YkNoZWNrUGVyaW9kSW5NaWxsaXNcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgd2FybmluZ1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJlbmFibGVTdWJzY3JpcHRpb25zIj5cbiAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5lbmFibGUtc3Vic2NyaXB0aW9uXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkuZW5hYmxlLXN1YnNjcmlwdGlvblwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8L21hdC1sYWJlbD5cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic2hvd01hcCI+XG4gICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMuc2hvdy1tYXBcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgIHt7IFwnZ2F0ZXdheS5zaG93LW1hcFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1sYWJlbD5cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvZGl2PlxuICA8dGItc2VjdXJpdHktY29uZmlnIGZvcm1Db250cm9sTmFtZT0iaWRlbnRpdHkiXG4gICAgICAgICAgICAgICAgICAgICAgW2V4dGVuZENlcnRpZmljYXRlc01vZGVsXT0idHJ1ZSI+XG4gIDwvdGItc2VjdXJpdHktY29uZmlnPlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9XSxwcm9wRGVjb3JhdG9yczp7aGlkZU5ld0ZpZWxkczpbe3R5cGU6YX1dfX0pO2NsYXNzIHBvIGV4dGVuZHMgeWF7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubWFwcGluZ1R5cGVzPWZuLHRoaXMuaXNMZWdhY3k9ITF9aW5pdEJhc2ljRm9ybUdyb3VwKCl7cmV0dXJuIHRoaXMuZmIuZ3JvdXAoe21hcHBpbmc6W10sc2VydmVyOltdfSl9bWFwQ29uZmlnVG9Gb3JtVmFsdWUoZSl7cmV0dXJue3NlcnZlcjplLnNlcnZlcj8/e30sbWFwcGluZzplLm1hcHBpbmc/P1tdfX1nZXRNYXBwZWRWYWx1ZShlKXtyZXR1cm57c2VydmVyOmUuc2VydmVyLG1hcHBpbmc6ZS5tYXBwaW5nfX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnBvLGRlcHM6bnVsbCx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOnBvLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItb3BjLXVhLWJhc2ljLWNvbmZpZyIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+cG8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PnBvKSksbXVsdGk6ITB9XSx1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdGFiLWdyb3VwIFtmb3JtR3JvdXBdPSJiYXNpY0Zvcm1Hcm91cCI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZ2VuZXJhbFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuc2VydmVyXCcgfCB0cmFuc2xhdGUgfX0qIj5cbiAgICA8dGItb3BjLXNlcnZlci1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZXJ2ZXIiIFtoaWRlTmV3RmllbGRzXT0iaXNMZWdhY3kiPjwvdGItb3BjLXNlcnZlci1jb25maWc+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5kYXRhLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AgdGItZmxleCBmaWxsLWhlaWdodCI+XG4gICAgICA8dGItbWFwcGluZy10YWJsZSBmb3JtQ29udHJvbE5hbWU9Im1hcHBpbmciIFtyZXF1aXJlZF09InRydWUiIFttYXBwaW5nVHlwZV09Im1hcHBpbmdUeXBlcy5PUENVQSI+PC90Yi1tYXBwaW5nLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLXRhYi1ncm91cCw6aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWJvZHktd3JhcHBlcntoZWlnaHQ6MTAwJX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1RlbXBsYXRlT3V0bGV0LHNlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0iLGlucHV0czpbIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IiwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRJbmplY3RvciJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6cm8sc2VsZWN0b3I6InRiLW1hcHBpbmctdGFibGUiLGlucHV0czpbInJlcXVpcmVkIiwibWFwcGluZ1R5cGUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpjbyxzZWxlY3RvcjoidGItb3BjLXNlcnZlci1jb25maWciLGlucHV0czpbImhpZGVOZXdGaWVsZHMiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJPcGNVYUJhc2ljQ29uZmlnQ29tcG9uZW50IixwbyksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpwbyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItb3BjLXVhLWJhc2ljLWNvbmZpZyIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PnBvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5wbykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsbG8scm8sY29dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10YWItZ3JvdXAgW2Zvcm1Hcm91cF09ImJhc2ljRm9ybUdyb3VwIj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5nZW5lcmFsXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJnZW5lcmFsVGFiQ29udGVudCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5zZXJ2ZXJcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDx0Yi1vcGMtc2VydmVyLWNvbmZpZyBmb3JtQ29udHJvbE5hbWU9InNlcnZlciIgW2hpZGVOZXdGaWVsZHNdPSJpc0xlZ2FjeSI+PC90Yi1vcGMtc2VydmVyLWNvbmZpZz5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmRhdGEtbWFwcGluZ1wnIHwgdHJhbnNsYXRlIH19KiI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCB0Yi1mbGV4IGZpbGwtaGVpZ2h0Ij5cbiAgICAgIDx0Yi1tYXBwaW5nLXRhYmxlIGZvcm1Db250cm9sTmFtZT0ibWFwcGluZyIgW3JlcXVpcmVkXT0idHJ1ZSIgW21hcHBpbmdUeXBlXT0ibWFwcGluZ1R5cGVzLk9QQ1VBIj48L3RiLW1hcHBpbmctdGFibGU+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHtoZWlnaHQ6MTAwJX06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWdyb3VwLDpob3N0IDo6bmctZGVlcCAubWF0LW1kYy10YWItYm9keS13cmFwcGVye2hlaWdodDoxMDAlfVxuJ119XX1dfSk7Y2xhc3MgbW97Y29uc3RydWN0b3IoZSx0KXt0aGlzLmZiPWUsdGhpcy5jZHI9dCx0aGlzLm1xdHRWZXJzaW9ucz1nbix0aGlzLnBvcnRMaW1pdHM9RXQsdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5icm9rZXJDb25maWdGb3JtR3JvdXA9dGhpcy5mYi5ncm91cCh7aG9zdDpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scG9ydDpbbnVsbCxbdWUucmVxdWlyZWQsdWUubWluKEV0Lk1JTiksdWUubWF4KEV0Lk1BWCldXSx2ZXJzaW9uOls1LFtdXSxjbGllbnRJZDpbInRiX2d3XyIrc2UoNSksW3VlLnBhdHRlcm4oa3QpXV0sc2VjdXJpdHk6W119KSx0aGlzLmJyb2tlckNvbmZpZ0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfWdlbmVyYXRlKGUpe3RoaXMuYnJva2VyQ29uZmlnRm9ybUdyb3VwLmdldChlKT8ucGF0Y2hWYWx1ZSgidGJfZ3dfIitzZSg1KSl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLm9uQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7dGhpcy5vblRvdWNoZWQ9ZX13cml0ZVZhbHVlKGUpe2NvbnN0e3ZlcnNpb246dD01LGNsaWVudElkOm49YHRiX2d3XyR7c2UoNSl9YCxzZWN1cml0eTphPXt9fT1lO3RoaXMuYnJva2VyQ29uZmlnRm9ybUdyb3VwLnJlc2V0KHsuLi5lLHZlcnNpb246dCxjbGllbnRJZDpuLHNlY3VyaXR5OmF9LHtlbWl0RXZlbnQ6ITF9KSx0aGlzLmNkci5tYXJrRm9yQ2hlY2soKX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLmJyb2tlckNvbmZpZ0Zvcm1Hcm91cC52YWxpZD9udWxsOnticm9rZXJDb25maWdGb3JtR3JvdXA6e3ZhbGlkOiExfX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTptbyxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjp0LkNoYW5nZURldGVjdG9yUmVmfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTptbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLWJyb2tlci1jb25maWctY29udHJvbCIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+bW8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9Pm1vKSksbXVsdGk6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCIgW2Zvcm1Hcm91cF09ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5ob3N0PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9Imhvc3QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5ob3N0LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdob3N0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICB3YXJuaW5nXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnBvcnQ8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49Int7cG9ydExpbWl0cy5NSU59fSIgbWF4PSJ7e3BvcnRMaW1pdHMuTUFYfX0iXG4gICAgICAgICAgICAgICBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpIHwgZ2V0R2F0ZXdheVBvcnRUb29sdGlwIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9Iihicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICB3YXJuaW5nXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5Lm1xdHQtdmVyc2lvbjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idmVyc2lvbiI+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdmVyc2lvbiBvZiBtcXR0VmVyc2lvbnMiIFt2YWx1ZV09InZlcnNpb24udmFsdWUiPnt7IHZlcnNpb24ubmFtZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jbGllbnQtaWQ8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY2xpZW50SWQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0iR2VuZXJhdGUiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmdlbmVyYXRlLWNsaWVudC1pZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0iZ2VuZXJhdGUoXCdjbGllbnRJZFwnKSJcbiAgICAgICAgICAgICAgICAqbmdJZj0iIWJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdjbGllbnRJZFwnKS52YWx1ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPmF1dG9yZW5ldzwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDx0Yi1zZWN1cml0eS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZWN1cml0eSI+XG4gIDwvdGItc2VjdXJpdHktY29uZmlnPlxuPC9kaXY+XG4nLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRTdWZmaXgsc2VsZWN0b3I6IlttYXRTdWZmaXhdLCBbbWF0SWNvblN1ZmZpeF0sIFttYXRUZXh0U3VmZml4XSIsaW5wdXRzOlsibWF0VGV4dFN1ZmZpeCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOndlLk1hdFNlbGVjdCxzZWxlY3RvcjoibWF0LXNlbGVjdCIsaW5wdXRzOlsiYXJpYS1kZXNjcmliZWRieSIsInBhbmVsQ2xhc3MiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3IiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwibXVsdGlwbGUiLCJkaXNhYmxlT3B0aW9uQ2VudGVyaW5nIiwiY29tcGFyZVdpdGgiLCJ2YWx1ZSIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJlcnJvclN0YXRlTWF0Y2hlciIsInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLCJzb3J0Q29tcGFyYXRvciIsImlkIiwicGFuZWxXaWR0aCJdLG91dHB1dHM6WyJvcGVuZWRDaGFuZ2UiLCJvcGVuZWQiLCJjbG9zZWQiLCJzZWxlY3Rpb25DaGFuZ2UiLCJ2YWx1ZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2VsZWN0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWF4VmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttYXhdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtuZ01vZGVsXSIsaW5wdXRzOlsibWF4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpsbyxzZWxlY3RvcjoidGItc2VjdXJpdHktY29uZmlnIixpbnB1dHM6WyJ0aXRsZSIsImV4dGVuZENlcnRpZmljYXRlc01vZGVsIl19LHtraW5kOiJwaXBlIix0eXBlOndhLG5hbWU6ImdldEdhdGV3YXlQb3J0VG9vbHRpcCJ9XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19ZSgiQnJva2VyQ29uZmlnQ29udHJvbENvbXBvbmVudCIsbW8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6bW8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWJyb2tlci1jb25maWctY29udHJvbCIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxELGxvLHdhXSxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5tbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+bW8pKSxtdWx0aTohMH1dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCIgW2Zvcm1Hcm91cF09ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5ob3N0PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9Imhvc3QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5ob3N0LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdob3N0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICB3YXJuaW5nXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnBvcnQ8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49Int7cG9ydExpbWl0cy5NSU59fSIgbWF4PSJ7e3BvcnRMaW1pdHMuTUFYfX0iXG4gICAgICAgICAgICAgICBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpIHwgZ2V0R2F0ZXdheVBvcnRUb29sdGlwIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9Iihicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICB3YXJuaW5nXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5Lm1xdHQtdmVyc2lvbjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idmVyc2lvbiI+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdmVyc2lvbiBvZiBtcXR0VmVyc2lvbnMiIFt2YWx1ZV09InZlcnNpb24udmFsdWUiPnt7IHZlcnNpb24ubmFtZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jbGllbnQtaWQ8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY2xpZW50SWQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0iR2VuZXJhdGUiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmdlbmVyYXRlLWNsaWVudC1pZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0iZ2VuZXJhdGUoXCdjbGllbnRJZFwnKSJcbiAgICAgICAgICAgICAgICAqbmdJZj0iIWJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdjbGllbnRJZFwnKS52YWx1ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPmF1dG9yZW5ldzwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDx0Yi1zZWN1cml0eS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZWN1cml0eSI+XG4gIDwvdGItc2VjdXJpdHktY29uZmlnPlxuPC9kaXY+XG4nfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTp0LkNoYW5nZURldGVjdG9yUmVmfV19KTtjbGFzcyB1b3tjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy53b3JrZXJzQ29uZmlnRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe21heE51bWJlck9mV29ya2VyczpbMTAwLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSldXSxtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyOlsxMCxbdWUucmVxdWlyZWQsdWUubWluKDEpXV19KSx0aGlzLndvcmtlcnNDb25maWdGb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMub25DaGFuZ2UoZSksdGhpcy5vblRvdWNoZWQoKX0pKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMub25DaGFuZ2U9ZX1yZWdpc3Rlck9uVG91Y2hlZChlKXt0aGlzLm9uVG91Y2hlZD1lfXdyaXRlVmFsdWUoZSl7Y29uc3R7bWF4TnVtYmVyT2ZXb3JrZXJzOnQsbWF4TWVzc2FnZU51bWJlclBlcldvcmtlcjpufT1lO3RoaXMud29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cC5yZXNldCh7bWF4TnVtYmVyT2ZXb3JrZXJzOnR8fDEwMCxtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyOm58fDEwfSx7ZW1pdEV2ZW50OiExfSl9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy53b3JrZXJzQ29uZmlnRm9ybUdyb3VwLnZhbGlkP251bGw6e3dvcmtlcnNDb25maWdGb3JtR3JvdXA6e3ZhbGlkOiExfX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTp1byxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOnVvLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItd29ya2Vycy1jb25maWctY29udHJvbCIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+dW8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PnVvKSksbXVsdGk6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCIgW2Zvcm1Hcm91cF09IndvcmtlcnNDb25maWdGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgW3N0eWxlLndpZHRoLiVdPSI1MCJcbiAgICAgICAgIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkubWF4LW51bWJlci1vZi13b3JrZXJzLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkubWF4LW51bWJlci1vZi13b3JrZXJzXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIHR5cGU9Im51bWJlciIgbWluPSIxIiBmb3JtQ29udHJvbE5hbWU9Im1heE51bWJlck9mV29ya2VycyJcbiAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5tYXgtbnVtYmVyLW9mLXdvcmtlcnMtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAqbmdJZj0id29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdtYXhOdW1iZXJPZldvcmtlcnNcJykuaGFzRXJyb3IoXCdtaW5cJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAod29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdtYXhOdW1iZXJPZldvcmtlcnNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcnNDb25maWdGb3JtR3JvdXAuZ2V0KFwnbWF4TnVtYmVyT2ZXb3JrZXJzXCcpLnRvdWNoZWQpIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICB3YXJuaW5nXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIFtzdHlsZS53aWR0aC4lXT0iNTAiXG4gICAgICAgICB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5Lm1heC1tZXNzYWdlcy1xdWV1ZS1mb3Itd29ya2VyLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkubWF4LW1lc3NhZ2VzLXF1ZXVlLWZvci13b3JrZXJcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgdHlwZT0ibnVtYmVyIiBtaW49IjEiIGZvcm1Db250cm9sTmFtZT0ibWF4TWVzc2FnZU51bWJlclBlcldvcmtlciJcbiAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5tYXgtbWVzc2FnZXMtcXVldWUtZm9yLXdvcmtlci1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJ3b3JrZXJzQ29uZmlnRm9ybUdyb3VwLmdldChcJ21heE1lc3NhZ2VOdW1iZXJQZXJXb3JrZXJcJykuaGFzRXJyb3IoXCdtaW5cJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAod29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JrZXJzQ29uZmlnRm9ybUdyb3VwLmdldChcJ21heE1lc3NhZ2VOdW1iZXJQZXJXb3JrZXJcJykudG91Y2hlZCkiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdFN1ZmZpeCxzZWxlY3RvcjoiW21hdFN1ZmZpeF0sIFttYXRJY29uU3VmZml4XSwgW21hdFRleHRTdWZmaXhdIixpbnB1dHM6WyJtYXRUZXh0U3VmZml4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6emUuTWF0VG9vbHRpcCxzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixpbnB1dHM6WyJtYXRUb29sdGlwUG9zaXRpb24iLCJtYXRUb29sdGlwUG9zaXRpb25BdE9yaWdpbiIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBTaG93RGVsYXkiLCJtYXRUb29sdGlwSGlkZURlbGF5IiwibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcENsYXNzIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTnVtYmVyVmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbmdNb2RlbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5NaW5WYWxpZGF0b3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW25nTW9kZWxdIixpbnB1dHM6WyJtaW4iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WWUuVHJ1bmNhdGVXaXRoVG9vbHRpcERpcmVjdGl2ZSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dXQuSGludFRvb2x0aXBJY29uQ29tcG9uZW50LHNlbGVjdG9yOiJbdGItaGludC10b29sdGlwLWljb25dIixpbnB1dHM6WyJ0Yi1oaW50LXRvb2x0aXAtaWNvbiIsInRvb2x0aXBQb3NpdGlvbiIsImhpbnRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6U2Esc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0b29sdGlwRW5hYmxlZCIsInBvc2l0aW9uIl19XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19ZSgiV29ya2Vyc0NvbmZpZ0NvbnRyb2xDb21wb25lbnQiLHVvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnVvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi13b3JrZXJzLWNvbmZpZy1jb250cm9sIixjaGFuZ2VEZXRlY3Rpb246ZC5PblB1c2gsc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsU2FdLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PnVvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT51bykpLG11bHRpOiEwfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIiBbZm9ybUdyb3VwXT0id29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiBbc3R5bGUud2lkdGguJV09IjUwIlxuICAgICAgICAgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5tYXgtbnVtYmVyLW9mLXdvcmtlcnMtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS5tYXgtbnVtYmVyLW9mLXdvcmtlcnNcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgdHlwZT0ibnVtYmVyIiBtaW49IjEiIGZvcm1Db250cm9sTmFtZT0ibWF4TnVtYmVyT2ZXb3JrZXJzIlxuICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lm1heC1udW1iZXItb2Ytd29ya2Vycy1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJ3b3JrZXJzQ29uZmlnRm9ybUdyb3VwLmdldChcJ21heE51bWJlck9mV29ya2Vyc1wnKS5oYXNFcnJvcihcJ21pblwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3b3JrZXJzQ29uZmlnRm9ybUdyb3VwLmdldChcJ21heE51bWJlck9mV29ya2Vyc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdtYXhOdW1iZXJPZldvcmtlcnNcJykudG91Y2hlZCkiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgW3N0eWxlLndpZHRoLiVdPSI1MCJcbiAgICAgICAgIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkubWF4LW1lc3NhZ2VzLXF1ZXVlLWZvci13b3JrZXItaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS5tYXgtbWVzc2FnZXMtcXVldWUtZm9yLXdvcmtlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiB0eXBlPSJudW1iZXIiIG1pbj0iMSIgZm9ybUNvbnRyb2xOYW1lPSJtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyIlxuICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lm1heC1tZXNzYWdlcy1xdWV1ZS1mb3Itd29ya2VyLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9IndvcmtlcnNDb25maWdGb3JtR3JvdXAuZ2V0KFwnbWF4TWVzc2FnZU51bWJlclBlcldvcmtlclwnKS5oYXNFcnJvcihcJ21pblwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3b3JrZXJzQ29uZmlnRm9ybUdyb3VwLmdldChcJ21heE1lc3NhZ2VOdW1iZXJQZXJXb3JrZXJcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcnNDb25maWdGb3JtR3JvdXAuZ2V0KFwnbWF4TWVzc2FnZU51bWJlclBlcldvcmtlclwnKS50b3VjaGVkKSJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgd2FybmluZ1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbid9XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9XX0pO2NsYXNzIGdve2NvbnN0cnVjdG9yKGUpe3RoaXMuZmI9ZSx0aGlzLmlzRXhwYW5zaW9uTW9kZT0hMSx0aGlzLmRlZmF1bHRWYWx1ZT1sbi5LZXksdGhpcy5yZXBvcnRTdHJhdGVneVR5cGVzPU9iamVjdC52YWx1ZXMoc24pLHRoaXMuUmVwb3J0VHlwZVRyYW5zbGF0ZU1hcD1jbix0aGlzLlJlcG9ydFN0cmF0ZWd5VHlwZT1zbix0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLnNob3dTdHJhdGVneUNvbnRyb2w9dGhpcy5mYi5jb250cm9sKCExKSx0aGlzLnJlcG9ydFN0cmF0ZWd5Rm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe3R5cGU6W3t2YWx1ZTpzbi5PblJlcG9ydFBlcmlvZCxkaXNhYmxlZDohMH0sW11dLHJlcG9ydFBlcmlvZDpbe3ZhbHVlOnRoaXMuZGVmYXVsdFZhbHVlLGRpc2FibGVkOiEwfSxbdWUucmVxdWlyZWRdXX0pLHRoaXMub2JzZXJ2ZVN0cmF0ZWd5Rm9ybUNoYW5nZSgpLHRoaXMub2JzZXJ2ZVN0cmF0ZWd5VG9nZ2xlKCl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9d3JpdGVWYWx1ZShlKXt0aGlzLmlzRXhwYW5zaW9uTW9kZSYmdGhpcy5zaG93U3RyYXRlZ3lDb250cm9sLnNldFZhbHVlKCEhZSx7ZW1pdEV2ZW50OiExfSksZSYmdGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC5lbmFibGUoe2VtaXRFdmVudDohMX0pO2NvbnN0e3R5cGU6dD1zbi5PblJlcG9ydFBlcmlvZCxyZXBvcnRQZXJpb2Q6bj10aGlzLmRlZmF1bHRWYWx1ZX09ZT8/e307dGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC5zZXRWYWx1ZSh7dHlwZTp0LHJlcG9ydFBlcmlvZDpufSx7ZW1pdEV2ZW50OiExfSksdGhpcy5vblR5cGVDaGFuZ2UodCl9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC52YWxpZHx8dGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC5kaXNhYmxlZD9udWxsOntyZXBvcnRTdHJhdGVneUZvcm06e3ZhbGlkOiExfX19cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLm9uQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7dGhpcy5vblRvdWNoZWQ9ZX1vYnNlcnZlU3RyYXRlZ3lGb3JtQ2hhbmdlKCl7dGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpLHRoaXMucmVwb3J0U3RyYXRlZ3lGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+dGhpcy5vblR5cGVDaGFuZ2UoZSkpKX1vYnNlcnZlU3RyYXRlZ3lUb2dnbGUoKXt0aGlzLnNob3dTdHJhdGVneUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCksTWUoKCgpPT50aGlzLmlzRXhwYW5zaW9uTW9kZSkpKS5zdWJzY3JpYmUoKGU9PntlPyh0aGlzLnJlcG9ydFN0cmF0ZWd5Rm9ybUdyb3VwLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC5nZXQoInJlcG9ydFBlcmlvZCIpLmFkZFZhbGlkYXRvcnModWUucmVxdWlyZWQpLHRoaXMub25DaGFuZ2UodGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC52YWx1ZSkpOih0aGlzLnJlcG9ydFN0cmF0ZWd5Rm9ybUdyb3VwLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHRoaXMucmVwb3J0U3RyYXRlZ3lGb3JtR3JvdXAuZ2V0KCJyZXBvcnRQZXJpb2QiKS5yZW1vdmVWYWxpZGF0b3JzKHVlLnJlcXVpcmVkKSx0aGlzLm9uQ2hhbmdlKG51bGwpKSx0aGlzLnJlcG9ydFN0cmF0ZWd5Rm9ybUdyb3VwLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohMX0pfSkpfW9uVHlwZUNoYW5nZShlKXtjb25zdCB0PXRoaXMucmVwb3J0U3RyYXRlZ3lGb3JtR3JvdXAuZ2V0KCJyZXBvcnRQZXJpb2QiKTtlPT09c24uT25DaGFuZ2U/dC5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KTp0aGlzLmlzRXhwYW5zaW9uTW9kZSYmIXRoaXMuc2hvd1N0cmF0ZWd5Q29udHJvbC52YWx1ZXx8dC5lbmFibGUoe2VtaXRFdmVudDohMX0pfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Z28sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpnbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLXJlcG9ydC1zdHJhdGVneSIsaW5wdXRzOntpc0V4cGFuc2lvbk1vZGU6ImlzRXhwYW5zaW9uTW9kZSIsZGVmYXVsdFZhbHVlOiJkZWZhdWx0VmFsdWUifSxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5nbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+Z28pKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IFtmb3JtR3JvdXBdPSJyZXBvcnRTdHJhdGVneUZvcm1Hcm91cCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gIDxtYXQtZXhwYW5zaW9uLXBhbmVsICpuZ0lmPSJpc0V4cGFuc2lvbk1vZGUgZWxzZSBkZWZhdWx0TW9kZSIgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJzaG93U3RyYXRlZ3lDb250cm9sLnZhbHVlIj5cbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZ4TGF5b3V0QWxpZ249ImNlbnRlciIgW2Zvcm1Db250cm9sXT0ic2hvd1N0cmF0ZWd5Q29udHJvbCIgY2xhc3M9Im1hdC1zbGlkZSIgKGNsaWNrKT0iJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LnJlcG9ydC1zdHJhdGVneS5sYWJlbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09InN0cmF0ZWd5RmllbGRzIj48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHRNb2RlPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LnJlcG9ydC1zdHJhdGVneS5sYWJlbDwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJzdHJhdGVneUZpZWxkcyI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSAjc3RyYXRlZ3lGaWVsZHM+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCI+e3sgXCdnYXRld2F5LnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHJlcG9ydFN0cmF0ZWd5VHlwZXMiIFt2YWx1ZV09InR5cGUiPnt7IFJlcG9ydFR5cGVUcmFuc2xhdGVNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9InJlcG9ydFN0cmF0ZWd5Rm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUgIT09IFJlcG9ydFN0cmF0ZWd5VHlwZS5PbkNoYW5nZSIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiPlxuICAgICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPlxuICAgICAgICAgIGdhdGV3YXkucmVwb3J0LXN0cmF0ZWd5LnJlcG9ydC1wZXJpb2RcbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXBvcnRQZXJpb2QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4nLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdUZW1wbGF0ZU91dGxldCxzZWxlY3RvcjoiW25nVGVtcGxhdGVPdXRsZXRdIixpbnB1dHM6WyJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCIsIm5nVGVtcGxhdGVPdXRsZXQiLCJuZ1RlbXBsYXRlT3V0bGV0SW5qZWN0b3IiXX0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWwsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwiLGlucHV0czpbImhpZGVUb2dnbGUiLCJ0b2dnbGVQb3NpdGlvbiJdLG91dHB1dHM6WyJhZnRlckV4cGFuZCIsImFmdGVyQ29sbGFwc2UiXSxleHBvcnRBczpbIm1hdEV4cGFuc2lvblBhbmVsIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIixpbnB1dHM6WyJleHBhbmRlZEhlaWdodCIsImNvbGxhcHNlZEhlaWdodCIsInRhYkluZGV4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxUaXRsZSxzZWxlY3RvcjoibWF0LXBhbmVsLXRpdGxlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJSZXBvcnRTdHJhdGVneUNvbXBvbmVudCIsZ28pLEhlKFtOKCldLGdvLnByb3RvdHlwZSwiaXNFeHBhbnNpb25Nb2RlIix2b2lkIDApLEhlKFtCKCldLGdvLnByb3RvdHlwZSwiZGVmYXVsdFZhbHVlIix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Z28sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLXJlcG9ydC1zdHJhdGVneSIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PmdvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5nbykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsU2FdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBbZm9ybUdyb3VwXT0icmVwb3J0U3RyYXRlZ3lGb3JtR3JvdXAiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICA8bWF0LWV4cGFuc2lvbi1wYW5lbCAqbmdJZj0iaXNFeHBhbnNpb25Nb2RlIGVsc2UgZGVmYXVsdE1vZGUiIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ic2hvd1N0cmF0ZWd5Q29udHJvbC52YWx1ZSI+XG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmeExheW91dEFsaWduPSJjZW50ZXIiIFtmb3JtQ29udHJvbF09InNob3dTdHJhdGVneUNvbnRyb2wiIGNsYXNzPSJtYXQtc2xpZGUiIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5yZXBvcnQtc3RyYXRlZ3kubGFiZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJzdHJhdGVneUZpZWxkcyI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgPG5nLXRlbXBsYXRlICNkZWZhdWx0TW9kZT5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5yZXBvcnQtc3RyYXRlZ3kubGFiZWw8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0ic3RyYXRlZ3lGaWVsZHMiPjwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI3N0cmF0ZWd5RmllbGRzPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiPnt7IFwnZ2F0ZXdheS50eXBlXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSI+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiByZXBvcnRTdHJhdGVneVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj57eyBSZXBvcnRUeXBlVHJhbnNsYXRlTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJyZXBvcnRTdHJhdGVneUZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlICE9PSBSZXBvcnRTdHJhdGVneVR5cGUuT25DaGFuZ2UiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIj5cbiAgICAgICAgPHNwYW4gdGJUcnVuY2F0ZVdpdGhUb29sdGlwIHRyYW5zbGF0ZT5cbiAgICAgICAgICBnYXRld2F5LnJlcG9ydC1zdHJhdGVneS5yZXBvcnQtcGVyaW9kXG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icmVwb3J0UGVyaW9kIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuJ31dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTptZS5Gb3JtQnVpbGRlcn1dLHByb3BEZWNvcmF0b3JzOntpc0V4cGFuc2lvbk1vZGU6W3t0eXBlOmF9XSxkZWZhdWx0VmFsdWU6W3t0eXBlOmF9XX19KTtjbGFzcyBmb3tjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy5pc01hc3Rlcj0hMSx0aGlzLmhpZGVOZXdGaWVsZHM9ITEsdGhpcy5rZXlzRGF0YUFwcGxpZWQ9bmV3IGksdGhpcy5tb2RidXNEYXRhVHlwZXM9T2JqZWN0LnZhbHVlcyhlYSksdGhpcy5tb2RpZmllclR5cGVzPU9iamVjdC52YWx1ZXMoT24pLHRoaXMud2l0aEZ1bmN0aW9uQ29kZT0hMCx0aGlzLndpdGhSZXBvcnRTdHJhdGVneT0hMCx0aGlzLmVuYWJsZU1vZGlmaWVyc0NvbnRyb2xNYXA9bmV3IE1hcCx0aGlzLnNob3dNb2RpZmllcnNNYXA9bmV3IE1hcCx0aGlzLmZ1bmN0aW9uQ29kZXNNYXA9bmV3IE1hcCx0aGlzLmRlZmF1bHRGdW5jdGlvbkNvZGVzPVtdLHRoaXMuTW9kYnVzRWRpdGFibGVEYXRhVHlwZXM9dGEsdGhpcy5Nb2RidXNGdW5jdGlvbkNvZGVUcmFuc2xhdGlvbnNNYXA9enQsdGhpcy5Nb2RpZmllclR5cGVzTWFwPVJuLHRoaXMuUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWU9bG4sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5kZWZhdWx0UmVhZEZ1bmN0aW9uQ29kZXM9WzMsNF0sdGhpcy5iaXRzUmVhZEZ1bmN0aW9uQ29kZXM9WzEsMl0sdGhpcy5kZWZhdWx0V3JpdGVGdW5jdGlvbkNvZGVzPVs2LDE2XSx0aGlzLmJpdHNXcml0ZUZ1bmN0aW9uQ29kZXM9WzUsMTVdfW5nT25Jbml0KCl7dGhpcy53aXRoRnVuY3Rpb25Db2RlPSF0aGlzLmlzTWFzdGVyfHx0aGlzLmtleXNUeXBlIT09YWEuQVRUUklCVVRFUyYmdGhpcy5rZXlzVHlwZSE9PWFhLlRJTUVTRVJJRVMsdGhpcy53aXRoUmVwb3J0U3RyYXRlZ3k9ISh0aGlzLmlzTWFzdGVyfHx0aGlzLmtleXNUeXBlIT09YWEuQVRUUklCVVRFUyYmdGhpcy5rZXlzVHlwZSE9PWFhLlRJTUVTRVJJRVN8fHRoaXMuaGlkZU5ld0ZpZWxkcyksdGhpcy5rZXlzTGlzdEZvcm1BcnJheT10aGlzLnByZXBhcmVLZXlzRm9ybUFycmF5KHRoaXMudmFsdWVzKSx0aGlzLmRlZmF1bHRGdW5jdGlvbkNvZGVzPXRoaXMuZ2V0RGVmYXVsdEZ1bmN0aW9uQ29kZXMoKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX10cmFja0J5Q29udHJvbElkKGUsdCl7cmV0dXJuIHQudmFsdWUuaWR9YWRkS2V5KCl7Y29uc3QgZT1zZSg1KSx0PXRoaXMuZmIuZ3JvdXAoe3RhZzpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sdmFsdWU6W3t2YWx1ZToiIixkaXNhYmxlZDohdGhpcy5pc01hc3Rlcn0sW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sdHlwZTpbZWEuQllURVMsW3VlLnJlcXVpcmVkXV0sYWRkcmVzczpbbnVsbCxbdWUucmVxdWlyZWRdXSxvYmplY3RzQ291bnQ6WzEsW3VlLnJlcXVpcmVkXV0sZnVuY3Rpb25Db2RlOlt7dmFsdWU6dGhpcy5nZXREZWZhdWx0RnVuY3Rpb25Db2RlcygpWzBdLGRpc2FibGVkOiF0aGlzLndpdGhGdW5jdGlvbkNvZGV9LFt1ZS5yZXF1aXJlZF1dLHJlcG9ydFN0cmF0ZWd5Olt7dmFsdWU6bnVsbCxkaXNhYmxlZDohdGhpcy53aXRoUmVwb3J0U3RyYXRlZ3l9XSxtb2RpZmllclR5cGU6W3t2YWx1ZTpPbi5NVUxUSVBMSUVSLGRpc2FibGVkOiEwfV0sbW9kaWZpZXJWYWx1ZTpbe3ZhbHVlOjEsZGlzYWJsZWQ6ITB9LFt1ZS5wYXR0ZXJuKEZ0KV1dLGlkOlt7dmFsdWU6ZSxkaXNhYmxlZDohMH1dfSk7dGhpcy5zaG93TW9kaWZpZXJzTWFwLnNldChlLCExKSx0aGlzLmVuYWJsZU1vZGlmaWVyc0NvbnRyb2xNYXAuc2V0KGUsdGhpcy5mYi5jb250cm9sKCExKSksdGhpcy5vYnNlcnZlS2V5RGF0YVR5cGUodCksdGhpcy5vYnNlcnZlRW5hYmxlTW9kaWZpZXIodCksdGhpcy5rZXlzTGlzdEZvcm1BcnJheS5wdXNoKHQpfWRlbGV0ZUtleShlLHQpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5rZXlzTGlzdEZvcm1BcnJheS5yZW1vdmVBdCh0KSx0aGlzLmtleXNMaXN0Rm9ybUFycmF5Lm1hcmtBc0RpcnR5KCl9Y2FuY2VsKCl7dGhpcy5wb3BvdmVyLmhpZGUoKX1hcHBseUtleXNEYXRhKCl7dGhpcy5rZXlzRGF0YUFwcGxpZWQuZW1pdCh0aGlzLmdldEZvcm1WYWx1ZSgpKX1nZXRGb3JtVmFsdWUoKXtyZXR1cm4gdGhpcy5tYXBLZXlzV2l0aE1vZGlmaWVyKHRoaXMud2l0aFJlcG9ydFN0cmF0ZWd5P3RoaXMuY2xlYW5VcEVtcHR5U3RyYXRlZ2llcyh0aGlzLmtleXNMaXN0Rm9ybUFycmF5LnZhbHVlKTp0aGlzLmtleXNMaXN0Rm9ybUFycmF5LnZhbHVlKX1jbGVhblVwRW1wdHlTdHJhdGVnaWVzKGUpe3JldHVybiBlLm1hcCgoZT0+e2NvbnN0e3JlcG9ydFN0cmF0ZWd5OnQsLi4ubn09ZTtyZXR1cm4gdD9lOm59KSl9bWFwS2V5c1dpdGhNb2RpZmllcihlKXtyZXR1cm4gZS5tYXAoKChlLHQpPT57aWYodGhpcy5zaG93TW9kaWZpZXJzTWFwLmdldCh0aGlzLmtleXNMaXN0Rm9ybUFycmF5LmNvbnRyb2xzW3RdLmdldCgiaWQiKS52YWx1ZSkpe2NvbnN0e21vZGlmaWVyVHlwZTp0LG1vZGlmaWVyVmFsdWU6biwuLi5hfT1lO3JldHVybiB0P3suLi5hLFt0XTpufTphfXJldHVybiBlfSkpfXByZXBhcmVLZXlzRm9ybUFycmF5KGUpe2NvbnN0IHQ9W107cmV0dXJuIGUmJmUuZm9yRWFjaCgoZT0+e2NvbnN0IG49dGhpcy5jcmVhdGVEYXRhS2V5Rm9ybUdyb3VwKGUpO3RoaXMub2JzZXJ2ZUtleURhdGFUeXBlKG4pLHRoaXMub2JzZXJ2ZUVuYWJsZU1vZGlmaWVyKG4pLHRoaXMuZnVuY3Rpb25Db2Rlc01hcC5zZXQobi5nZXQoImlkIikudmFsdWUsdGhpcy5nZXRGdW5jdGlvbkNvZGVzKGUudHlwZSkpLHQucHVzaChuKX0pKSx0aGlzLmZiLmFycmF5KHQpfWNyZWF0ZURhdGFLZXlGb3JtR3JvdXAoZSl7Y29uc3R7dGFnOnQsdmFsdWU6bix0eXBlOmEsYWRkcmVzczpvLG9iamVjdHNDb3VudDppLGZ1bmN0aW9uQ29kZTpyLG11bHRpcGxpZXI6cyxkaXZpZGVyOmwscmVwb3J0U3RyYXRlZ3k6Y309ZSxwPXNlKDUpLG09dGhpcy5zaG91bGRTaG93TW9kaWZpZXIoYSk7cmV0dXJuIHRoaXMuc2hvd01vZGlmaWVyc01hcC5zZXQocCxtKSx0aGlzLmVuYWJsZU1vZGlmaWVyc0NvbnRyb2xNYXAuc2V0KHAsdGhpcy5mYi5jb250cm9sKChzfHxsKSYmbSkpLHRoaXMuZmIuZ3JvdXAoe3RhZzpbdCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx2YWx1ZTpbe3ZhbHVlOm4sZGlzYWJsZWQ6IXRoaXMuaXNNYXN0ZXJ9LFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHR5cGU6W2EsW3VlLnJlcXVpcmVkXV0sYWRkcmVzczpbbyxbdWUucmVxdWlyZWRdXSxvYmplY3RzQ291bnQ6W2ksW3VlLnJlcXVpcmVkXV0sZnVuY3Rpb25Db2RlOlt7dmFsdWU6cixkaXNhYmxlZDohdGhpcy53aXRoRnVuY3Rpb25Db2RlfSxbdWUucmVxdWlyZWRdXSxtb2RpZmllclR5cGU6W3t2YWx1ZTpsP09uLkRJVklERVI6T24uTVVMVElQTElFUixkaXNhYmxlZDohdGhpcy5lbmFibGVNb2RpZmllcnNDb250cm9sTWFwLmdldChwKS52YWx1ZX1dLG1vZGlmaWVyVmFsdWU6W3t2YWx1ZTpzPz9sPz8xLGRpc2FibGVkOiF0aGlzLmVuYWJsZU1vZGlmaWVyc0NvbnRyb2xNYXAuZ2V0KHApLnZhbHVlfSxbdWUucGF0dGVybihGdCldXSxpZDpbe3ZhbHVlOnAsZGlzYWJsZWQ6ITB9XSxyZXBvcnRTdHJhdGVneTpbe3ZhbHVlOmMsZGlzYWJsZWQ6IXRoaXMud2l0aFJlcG9ydFN0cmF0ZWd5fV19KX1zaG91bGRTaG93TW9kaWZpZXIoZSl7cmV0dXJuISh0aGlzLmlzTWFzdGVyfHx0aGlzLmtleXNUeXBlIT09YWEuQVRUUklCVVRFUyYmdGhpcy5rZXlzVHlwZSE9PWFhLlRJTUVTRVJJRVN8fHRoaXMuTW9kYnVzRWRpdGFibGVEYXRhVHlwZXMuaW5jbHVkZXMoZSkpfW9ic2VydmVLZXlEYXRhVHlwZShlKXtlLmdldCgidHlwZSIpLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHQ9Pnt0aGlzLk1vZGJ1c0VkaXRhYmxlRGF0YVR5cGVzLmluY2x1ZGVzKHQpfHxlLmdldCgib2JqZWN0c0NvdW50IikucGF0Y2hWYWx1ZShuYVt0XSx7ZW1pdEV2ZW50OiExfSk7Y29uc3Qgbj10aGlzLnNob3VsZFNob3dNb2RpZmllcih0KTt0aGlzLnNob3dNb2RpZmllcnNNYXAuc2V0KGUuZ2V0KCJpZCIpLnZhbHVlLG4pLHRoaXMudXBkYXRlRnVuY3Rpb25Db2RlcyhlLHQpfSkpfW9ic2VydmVFbmFibGVNb2RpZmllcihlKXt0aGlzLmVuYWJsZU1vZGlmaWVyc0NvbnRyb2xNYXAuZ2V0KGUuZ2V0KCJpZCIpLnZhbHVlKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh0PT50aGlzLnRvZ2dsZU1vZGlmaWVyQ29udHJvbHMoZSx0KSkpfXRvZ2dsZU1vZGlmaWVyQ29udHJvbHMoZSx0KXtjb25zdCBuPWUuZ2V0KCJtb2RpZmllclR5cGUiKSxhPWUuZ2V0KCJtb2RpZmllclZhbHVlIik7dD8obi5lbmFibGUoKSxhLmVuYWJsZSgpKToobi5kaXNhYmxlKCksYS5kaXNhYmxlKCkpfXVwZGF0ZUZ1bmN0aW9uQ29kZXMoZSx0KXtjb25zdCBuPXRoaXMuZ2V0RnVuY3Rpb25Db2Rlcyh0KTt0aGlzLmZ1bmN0aW9uQ29kZXNNYXAuc2V0KGUuZ2V0KCJpZCIpLnZhbHVlLG4pLG4uaW5jbHVkZXMoZS5nZXQoImZ1bmN0aW9uQ29kZSIpLnZhbHVlKXx8ZS5nZXQoImZ1bmN0aW9uQ29kZSIpLnBhdGNoVmFsdWUoblswXSx7ZW1pdEV2ZW50OiExfSl9Z2V0RnVuY3Rpb25Db2RlcyhlKXtjb25zdCB0PVsuLi5lPT09ZWEuQklUUz90aGlzLmJpdHNXcml0ZUZ1bmN0aW9uQ29kZXM6W10sLi4udGhpcy5kZWZhdWx0V3JpdGVGdW5jdGlvbkNvZGVzXTtpZih0aGlzLmtleXNUeXBlPT09YWEuQVRUUklCVVRFU19VUERBVEVTKXJldHVybiB0LnNvcnQoKChlLHQpPT5lLXQpKTtjb25zdCBuPVsuLi50aGlzLmRlZmF1bHRSZWFkRnVuY3Rpb25Db2Rlc107cmV0dXJuIGU9PT1lYS5CSVRTJiZuLnB1c2goLi4udGhpcy5iaXRzUmVhZEZ1bmN0aW9uQ29kZXMpLHRoaXMua2V5c1R5cGU9PT1hYS5SUENfUkVRVUVTVFMmJm4ucHVzaCguLi50KSxuLnNvcnQoKChlLHQpPT5lLXQpKX1nZXREZWZhdWx0RnVuY3Rpb25Db2Rlcygpe3JldHVybiB0aGlzLmtleXNUeXBlPT09YWEuQVRUUklCVVRFU19VUERBVEVTP3RoaXMuZGVmYXVsdFdyaXRlRnVuY3Rpb25Db2Rlczp0aGlzLmtleXNUeXBlPT09YWEuUlBDX1JFUVVFU1RTP1suLi50aGlzLmRlZmF1bHRSZWFkRnVuY3Rpb25Db2RlcywuLi50aGlzLmRlZmF1bHRXcml0ZUZ1bmN0aW9uQ29kZXNdOnRoaXMuZGVmYXVsdFJlYWRGdW5jdGlvbkNvZGVzfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Zm8sZGVwczpbe3Rva2VuOm1lLlVudHlwZWRGb3JtQnVpbGRlcn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6Zm8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1tb2RidXMtZGF0YS1rZXlzLXBhbmVsIixpbnB1dHM6e2lzTWFzdGVyOiJpc01hc3RlciIsaGlkZU5ld0ZpZWxkczoiaGlkZU5ld0ZpZWxkcyIscGFuZWxUaXRsZToicGFuZWxUaXRsZSIsYWRkS2V5VGl0bGU6ImFkZEtleVRpdGxlIixkZWxldGVLZXlUaXRsZToiZGVsZXRlS2V5VGl0bGUiLG5vS2V5c1RleHQ6Im5vS2V5c1RleHQiLGtleXNUeXBlOiJrZXlzVHlwZSIsdmFsdWVzOiJ2YWx1ZXMiLHBvcG92ZXI6InBvcG92ZXIifSxvdXRwdXRzOntrZXlzRGF0YUFwcGxpZWQ6ImtleXNEYXRhQXBwbGllZCJ9LG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1tb2RidXMta2V5cy1wYW5lbCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPnt7IHBhbmVsVGl0bGUgIHwgdHJhbnNsYXRlIH19e3tcJyAoXCcgKyBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGggKyBcJylcJ319PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBrZXktcGFuZWwiICpuZ0lmPSJrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGg7IGVsc2Ugbm9LZXlzIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItZmxleCBuby1mbGV4IHJvdyBjZW50ZXIgZmlsbC13aWR0aCJcbiAgICAgICAgICAgKm5nRm9yPSJsZXQga2V5Q29udHJvbCBvZiBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9sczsgdHJhY2tCeTogdHJhY2tCeUNvbnRyb2xJZDsgbGV0ICRpbmRleCA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3Q7Ij5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLWZsZXgiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09ImtleUNvbnRyb2wiPlxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJsYXN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9ImlzTWFzdGVyIGVsc2UgdGFnTmFtZSIgY2xhc3M9InRpdGxlLWNvbnRhaW5lciIgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPlxuICAgICAgICAgICAgICAgICAgICB7eyBrZXlDb250cm9sLmdldChcJ3RhZ1wnKS52YWx1ZSB9fXt7IFwnLVwnIH19e3sga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS52YWx1ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3RhZ05hbWU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlLWNvbnRhaW5lciB0Yi1mbGV4Ij57eyBcJ2dhdGV3YXkua2V5XCcgfCB0cmFuc2xhdGUgfX06XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ia2V5LWxhYmVsIiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sga2V5Q29udHJvbC5nZXQoXCd0YWdcJykudmFsdWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUtY29udGFpbmVyIj57eyBcJ2dhdGV3YXkuYWRkcmVzc1wnIHwgdHJhbnNsYXRlIH19OlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImtleS1sYWJlbCI+e3sga2V5Q29udHJvbC5nZXQoXCdhZGRyZXNzXCcpLnZhbHVlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlLWNvbnRhaW5lciI+e3sgXCdnYXRld2F5LnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTpcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrZXktbGFiZWwiPnt7IGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0RXhwYW5zaW9uUGFuZWxDb250ZW50PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwgdGItZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuZGF0YS1rZXlzXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9tb2RidXMtZnVuY3Rpb25zLWRhdGEtdHlwZXNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5wbGF0Zm9ybS1zaWRlPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmtleVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgZ2F0ZXdheS5rZXlcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRhZyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5rZXktcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImtleUNvbnRyb2wuZ2V0KFwndGFnXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlDb250cm9sLmdldChcJ3RhZ1wnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9yLXNpZGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgIGdhdGV3YXkudHlwZVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIG1vZGJ1c0RhdGFUeXBlcyIgW3ZhbHVlXT0idHlwZSI+e3sgdHlwZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj0id2l0aEZ1bmN0aW9uQ29kZSIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuZnVuY3Rpb24tY29kZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZnVuY3Rpb25Db2RlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9ImxldCBjb2RlIG9mIGZ1bmN0aW9uQ29kZXNNYXAuZ2V0KGtleUNvbnRyb2wuZ2V0KFwnaWRcJykudmFsdWUpIHx8IGRlZmF1bHRGdW5jdGlvbkNvZGVzIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09ImNvZGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBNb2RidXNGdW5jdGlvbkNvZGVUcmFuc2xhdGlvbnNNYXAuZ2V0KGNvZGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5vYmplY3RzLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5Lm9iamVjdHMtY291bnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtaW49IjEiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1heD0iNTAwMDAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9Im9iamVjdHNDb3VudCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT0iIU1vZGJ1c0VkaXRhYmxlRGF0YVR5cGVzLmluY2x1ZGVzKGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5vYmplY3RzLWNvdW50LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ29iamVjdHNDb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCdvYmplY3RzQ291bnRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmFkZHJlc3NcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuYWRkcmVzczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbWF4PSI1MDAwMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iYWRkcmVzcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5hZGRyZXNzLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ2FkZHJlc3NcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleUNvbnRyb2wuZ2V0KFwnYWRkcmVzc1wnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9InNob3dNb2RpZmllcnNNYXAuZ2V0KGtleUNvbnRyb2wuZ2V0KFwnaWRcJykudmFsdWUpIiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLXNsaWRlLXRvZ2dsZSI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0iZW5hYmxlTW9kaWZpZXJzQ29udHJvbE1hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdpZFwnKS52YWx1ZSkudmFsdWUiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciBmeExheW91dD0icm93IHdyYXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJjZW50ZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT0iZW5hYmxlTW9kaWZpZXJzQ29udHJvbE1hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdpZFwnKS52YWx1ZSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1hdC1zbGlkZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLm1vZGlmaWVyXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1vZGlmaWVyXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMgdGItZmxleCBmdWxsLXdpZHRoIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50eXBlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGZpbGwtd2lkdGgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9Im1vZGlmaWVyVHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBhbGlnbi1jZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJ0Yi1tYXQtMTgiIFtzdmdJY29uXT0iTW9kaWZpZXJUeXBlc01hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclR5cGVcJykudmFsdWUpPy5pY29uIj48L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgTW9kaWZpZXJUeXBlc01hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclR5cGVcJykudmFsdWUpPy5uYW1lIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBtb2RpZmllclR5cGUgb2YgbW9kaWZpZXJUeXBlcyIgW3ZhbHVlXT0ibW9kaWZpZXJUeXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0yMCIgc3ZnSWNvbj0ie3sgTW9kaWZpZXJUeXBlc01hcC5nZXQobW9kaWZpZXJUeXBlKS5pY29uIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IE1vZGlmaWVyVHlwZXNNYXAuZ2V0KG1vZGlmaWVyVHlwZSkubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0ibW9kaWZpZXJWYWx1ZSIgc3RlcD0iMC4xIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lm1vZGlmaWVyLWludmFsaWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclZhbHVlXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleUNvbnRyb2wuZ2V0KFwnbW9kaWZpZXJWYWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9ImlzTWFzdGVyIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS52YWx1ZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1yZXBvcnQtc3RyYXRlZ3lcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9IndpdGhSZXBvcnRTdHJhdGVneSJcbiAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRWYWx1ZV09IlJlcG9ydFN0cmF0ZWd5RGVmYXVsdFZhbHVlLktleSJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJyZXBvcnRTdHJhdGVneSJcbiAgICAgICAgICAgICAgICAgICAgW2lzRXhwYW5zaW9uTW9kZV09InRydWUiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlS2V5KCRldmVudCwgJGluZGV4KSJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09ImRlbGV0ZUtleVRpdGxlIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXY+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJhZGRLZXkoKSI+XG4gICAgICAgIHt7IGFkZEtleVRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjbm9LZXlzPlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIGtleS1wYW5lbCI+XG4gICAgICA8c3BhbiBjbGFzcz0idGItcHJvbXB0IiB0cmFuc2xhdGU+e3sgbm9LZXlzVGV4dCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz0idGItZmxleCBmbGV4LWVuZCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uXG4gICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIChjbGljayk9ImNhbmNlbCgpIj5cbiAgICAgIHt7IFwnYWN0aW9uLmNhbmNlbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAoY2xpY2spPSJhcHBseUtleXNEYXRhKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJrZXlzTGlzdEZvcm1BcnJheS5pbnZhbGlkIHx8ICFrZXlzTGlzdEZvcm1BcnJheS5kaXJ0eSI+XG4gICAgICB7eyBcJ2FjdGlvbi5hcHBseVwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnRiLW1vZGJ1cy1rZXlzLXBhbmVse3dpZHRoOjc3dnc7bWF4LXdpZHRoOjcwMHB4fTpob3N0IC50Yi1tb2RidXMta2V5cy1wYW5lbCAudGl0bGUtY29udGFpbmVye3dpZHRoOjE4MHB4fTpob3N0IC50Yi1tb2RidXMta2V5cy1wYW5lbCAua2V5LWxhYmVse2ZvbnQtd2VpZ2h0OjQwMH06aG9zdCAudGItbW9kYnVzLWtleXMtcGFuZWwgLmtleS1wYW5lbHtoZWlnaHQ6NTAwcHg7b3ZlcmZsb3c6YXV0b306aG9zdCAudGItbW9kYnVzLWtleXMtcGFuZWwgLnRiLWZvcm0tcGFuZWwgLm1hdC1tZGMtaWNvbi1idXR0b257d2lkdGg6NTZweDtoZWlnaHQ6NTZweDtwYWRkaW5nOjE2cHg7Y29sb3I6IzAwMDAwMDhhfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmd0LkhlbHBQb3B1cENvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhlbHAtcG9wdXBdLCBbdGItaGVscC1wb3B1cC1jb250ZW50XSIsaW5wdXRzOlsidGItaGVscC1wb3B1cCIsInRiLWhlbHAtcG9wdXAtY29udGVudCIsInRyaWdnZXItdGV4dCIsInRyaWdnZXItc3R5bGUiLCJ0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudCIsInRiLWhlbHAtcG9wdXAtc3R5bGUiLCJoaW50TW9kZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOndlLk1hdFNlbGVjdFRyaWdnZXIsc2VsZWN0b3I6Im1hdC1zZWxlY3QtdHJpZ2dlciJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmV0Lk1hdFNsaWRlVG9nZ2xlLHNlbGVjdG9yOiJtYXQtc2xpZGUtdG9nZ2xlIixpbnB1dHM6WyJuYW1lIiwiaWQiLCJsYWJlbFBvc2l0aW9uIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImFyaWEtZGVzY3JpYmVkYnkiLCJyZXF1aXJlZCIsImNvbG9yIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJjaGVja2VkIiwiaGlkZUljb24iLCJkaXNhYmxlZEludGVyYWN0aXZlIl0sb3V0cHV0czpbImNoYW5nZSIsInRvZ2dsZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2xpZGVUb2dnbGUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbCxzZWxlY3RvcjoibWF0LWV4cGFuc2lvbi1wYW5lbCIsaW5wdXRzOlsiaGlkZVRvZ2dsZSIsInRvZ2dsZVBvc2l0aW9uIl0sb3V0cHV0czpbImFmdGVyRXhwYW5kIiwiYWZ0ZXJDb2xsYXBzZSJdLGV4cG9ydEFzOlsibWF0RXhwYW5zaW9uUGFuZWwiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbEhlYWRlcixzZWxlY3RvcjoibWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIiLGlucHV0czpbImV4cGFuZGVkSGVpZ2h0IiwiY29sbGFwc2VkSGVpZ2h0IiwidGFiSW5kZXgiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbFRpdGxlLHNlbGVjdG9yOiJtYXQtcGFuZWwtdGl0bGUifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsQ29udGVudCxzZWxlY3RvcjoibmctdGVtcGxhdGVbbWF0RXhwYW5zaW9uUGFuZWxDb250ZW50XSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRBbGlnbkRpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRBbGlnbl0sIFtmeExheW91dEFsaWduLnhzXSwgW2Z4TGF5b3V0QWxpZ24uc21dLCBbZnhMYXlvdXRBbGlnbi5tZF0sICBbZnhMYXlvdXRBbGlnbi5sZ10sIFtmeExheW91dEFsaWduLnhsXSwgW2Z4TGF5b3V0QWxpZ24ubHQtc21dLCBbZnhMYXlvdXRBbGlnbi5sdC1tZF0sICBbZnhMYXlvdXRBbGlnbi5sdC1sZ10sIFtmeExheW91dEFsaWduLmx0LXhsXSwgW2Z4TGF5b3V0QWxpZ24uZ3QteHNdLCBbZnhMYXlvdXRBbGlnbi5ndC1zbV0sICBbZnhMYXlvdXRBbGlnbi5ndC1tZF0sIFtmeExheW91dEFsaWduLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRBbGlnbiIsImZ4TGF5b3V0QWxpZ24ueHMiLCJmeExheW91dEFsaWduLnNtIiwiZnhMYXlvdXRBbGlnbi5tZCIsImZ4TGF5b3V0QWxpZ24ubGciLCJmeExheW91dEFsaWduLnhsIiwiZnhMYXlvdXRBbGlnbi5sdC1zbSIsImZ4TGF5b3V0QWxpZ24ubHQtbWQiLCJmeExheW91dEFsaWduLmx0LWxnIiwiZnhMYXlvdXRBbGlnbi5sdC14bCIsImZ4TGF5b3V0QWxpZ24uZ3QteHMiLCJmeExheW91dEFsaWduLmd0LXNtIiwiZnhMYXlvdXRBbGlnbi5ndC1tZCIsImZ4TGF5b3V0QWxpZ24uZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRGbGV4RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeEZsZXhdLCBbZnhGbGV4LnhzXSwgW2Z4RmxleC5zbV0sIFtmeEZsZXgubWRdLCAgW2Z4RmxleC5sZ10sIFtmeEZsZXgueGxdLCBbZnhGbGV4Lmx0LXNtXSwgW2Z4RmxleC5sdC1tZF0sICBbZnhGbGV4Lmx0LWxnXSwgW2Z4RmxleC5sdC14bF0sIFtmeEZsZXguZ3QteHNdLCBbZnhGbGV4Lmd0LXNtXSwgIFtmeEZsZXguZ3QtbWRdLCBbZnhGbGV4Lmd0LWxnXSIsaW5wdXRzOlsiZnhGbGV4IiwiZnhGbGV4LnhzIiwiZnhGbGV4LnNtIiwiZnhGbGV4Lm1kIiwiZnhGbGV4LmxnIiwiZnhGbGV4LnhsIiwiZnhGbGV4Lmx0LXNtIiwiZnhGbGV4Lmx0LW1kIiwiZnhGbGV4Lmx0LWxnIiwiZnhGbGV4Lmx0LXhsIiwiZnhGbGV4Lmd0LXhzIiwiZnhGbGV4Lmd0LXNtIiwiZnhGbGV4Lmd0LW1kIiwiZnhGbGV4Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTnVtYmVyVmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbmdNb2RlbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5SZXF1aXJlZFZhbGlkYXRvcixzZWxlY3RvcjoiOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbE5hbWVdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bbmdNb2RlbF0iLGlucHV0czpbInJlcXVpcmVkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWF4VmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttYXhdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtuZ01vZGVsXSIsaW5wdXRzOlsibWF4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpnbyxzZWxlY3RvcjoidGItcmVwb3J0LXN0cmF0ZWd5IixpbnB1dHM6WyJpc0V4cGFuc2lvbk1vZGUiLCJkZWZhdWx0VmFsdWUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dfSl9fWUoIk1vZGJ1c0RhdGFLZXlzUGFuZWxDb21wb25lbnQiLGZvKSxIZShbTigpXSxmby5wcm90b3R5cGUsImlzTWFzdGVyIix2b2lkIDApLEhlKFtOKCldLGZvLnByb3RvdHlwZSwiaGlkZU5ld0ZpZWxkcyIsdm9pZCAwKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmZvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1tb2RidXMtZGF0YS1rZXlzLXBhbmVsIixzdGFuZGFsb25lOiEwLGltcG9ydHM6W0gsRCxUYSxnbyxTYV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1tb2RidXMta2V5cy1wYW5lbCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPnt7IHBhbmVsVGl0bGUgIHwgdHJhbnNsYXRlIH19e3tcJyAoXCcgKyBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGggKyBcJylcJ319PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBrZXktcGFuZWwiICpuZ0lmPSJrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGg7IGVsc2Ugbm9LZXlzIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItZmxleCBuby1mbGV4IHJvdyBjZW50ZXIgZmlsbC13aWR0aCJcbiAgICAgICAgICAgKm5nRm9yPSJsZXQga2V5Q29udHJvbCBvZiBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9sczsgdHJhY2tCeTogdHJhY2tCeUNvbnRyb2xJZDsgbGV0ICRpbmRleCA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3Q7Ij5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLWZsZXgiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09ImtleUNvbnRyb2wiPlxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJsYXN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9ImlzTWFzdGVyIGVsc2UgdGFnTmFtZSIgY2xhc3M9InRpdGxlLWNvbnRhaW5lciIgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPlxuICAgICAgICAgICAgICAgICAgICB7eyBrZXlDb250cm9sLmdldChcJ3RhZ1wnKS52YWx1ZSB9fXt7IFwnLVwnIH19e3sga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS52YWx1ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3RhZ05hbWU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlLWNvbnRhaW5lciB0Yi1mbGV4Ij57eyBcJ2dhdGV3YXkua2V5XCcgfCB0cmFuc2xhdGUgfX06XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ia2V5LWxhYmVsIiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sga2V5Q29udHJvbC5nZXQoXCd0YWdcJykudmFsdWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUtY29udGFpbmVyIj57eyBcJ2dhdGV3YXkuYWRkcmVzc1wnIHwgdHJhbnNsYXRlIH19OlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImtleS1sYWJlbCI+e3sga2V5Q29udHJvbC5nZXQoXCdhZGRyZXNzXCcpLnZhbHVlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlLWNvbnRhaW5lciI+e3sgXCdnYXRld2F5LnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTpcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrZXktbGFiZWwiPnt7IGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0RXhwYW5zaW9uUGFuZWxDb250ZW50PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwgdGItZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuZGF0YS1rZXlzXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9tb2RidXMtZnVuY3Rpb25zLWRhdGEtdHlwZXNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5wbGF0Zm9ybS1zaWRlPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmtleVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgZ2F0ZXdheS5rZXlcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRhZyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5rZXktcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImtleUNvbnRyb2wuZ2V0KFwndGFnXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlDb250cm9sLmdldChcJ3RhZ1wnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9yLXNpZGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgIGdhdGV3YXkudHlwZVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIG1vZGJ1c0RhdGFUeXBlcyIgW3ZhbHVlXT0idHlwZSI+e3sgdHlwZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj0id2l0aEZ1bmN0aW9uQ29kZSIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuZnVuY3Rpb24tY29kZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZnVuY3Rpb25Db2RlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9ImxldCBjb2RlIG9mIGZ1bmN0aW9uQ29kZXNNYXAuZ2V0KGtleUNvbnRyb2wuZ2V0KFwnaWRcJykudmFsdWUpIHx8IGRlZmF1bHRGdW5jdGlvbkNvZGVzIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09ImNvZGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBNb2RidXNGdW5jdGlvbkNvZGVUcmFuc2xhdGlvbnNNYXAuZ2V0KGNvZGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5vYmplY3RzLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5Lm9iamVjdHMtY291bnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtaW49IjEiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1heD0iNTAwMDAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9Im9iamVjdHNDb3VudCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT0iIU1vZGJ1c0VkaXRhYmxlRGF0YVR5cGVzLmluY2x1ZGVzKGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5vYmplY3RzLWNvdW50LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ29iamVjdHNDb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCdvYmplY3RzQ291bnRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmFkZHJlc3NcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuYWRkcmVzczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbWF4PSI1MDAwMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iYWRkcmVzcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5hZGRyZXNzLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ2FkZHJlc3NcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleUNvbnRyb2wuZ2V0KFwnYWRkcmVzc1wnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9InNob3dNb2RpZmllcnNNYXAuZ2V0KGtleUNvbnRyb2wuZ2V0KFwnaWRcJykudmFsdWUpIiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLXNsaWRlLXRvZ2dsZSI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0iZW5hYmxlTW9kaWZpZXJzQ29udHJvbE1hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdpZFwnKS52YWx1ZSkudmFsdWUiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciBmeExheW91dD0icm93IHdyYXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJjZW50ZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT0iZW5hYmxlTW9kaWZpZXJzQ29udHJvbE1hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdpZFwnKS52YWx1ZSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1hdC1zbGlkZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLm1vZGlmaWVyXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1vZGlmaWVyXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMgdGItZmxleCBmdWxsLXdpZHRoIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50eXBlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGZpbGwtd2lkdGgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9Im1vZGlmaWVyVHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBhbGlnbi1jZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJ0Yi1tYXQtMTgiIFtzdmdJY29uXT0iTW9kaWZpZXJUeXBlc01hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclR5cGVcJykudmFsdWUpPy5pY29uIj48L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgTW9kaWZpZXJUeXBlc01hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclR5cGVcJykudmFsdWUpPy5uYW1lIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBtb2RpZmllclR5cGUgb2YgbW9kaWZpZXJUeXBlcyIgW3ZhbHVlXT0ibW9kaWZpZXJUeXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0yMCIgc3ZnSWNvbj0ie3sgTW9kaWZpZXJUeXBlc01hcC5nZXQobW9kaWZpZXJUeXBlKS5pY29uIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IE1vZGlmaWVyVHlwZXNNYXAuZ2V0KG1vZGlmaWVyVHlwZSkubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0ibW9kaWZpZXJWYWx1ZSIgc3RlcD0iMC4xIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lm1vZGlmaWVyLWludmFsaWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclZhbHVlXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleUNvbnRyb2wuZ2V0KFwnbW9kaWZpZXJWYWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9ImlzTWFzdGVyIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS52YWx1ZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1yZXBvcnQtc3RyYXRlZ3lcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9IndpdGhSZXBvcnRTdHJhdGVneSJcbiAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRWYWx1ZV09IlJlcG9ydFN0cmF0ZWd5RGVmYXVsdFZhbHVlLktleSJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJyZXBvcnRTdHJhdGVneSJcbiAgICAgICAgICAgICAgICAgICAgW2lzRXhwYW5zaW9uTW9kZV09InRydWUiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlS2V5KCRldmVudCwgJGluZGV4KSJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09ImRlbGV0ZUtleVRpdGxlIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXY+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJhZGRLZXkoKSI+XG4gICAgICAgIHt7IGFkZEtleVRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjbm9LZXlzPlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIGtleS1wYW5lbCI+XG4gICAgICA8c3BhbiBjbGFzcz0idGItcHJvbXB0IiB0cmFuc2xhdGU+e3sgbm9LZXlzVGV4dCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz0idGItZmxleCBmbGV4LWVuZCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uXG4gICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIChjbGljayk9ImNhbmNlbCgpIj5cbiAgICAgIHt7IFwnYWN0aW9uLmNhbmNlbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAoY2xpY2spPSJhcHBseUtleXNEYXRhKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJrZXlzTGlzdEZvcm1BcnJheS5pbnZhbGlkIHx8ICFrZXlzTGlzdEZvcm1BcnJheS5kaXJ0eSI+XG4gICAgICB7eyBcJ2FjdGlvbi5hcHBseVwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnRiLW1vZGJ1cy1rZXlzLXBhbmVse3dpZHRoOjc3dnc7bWF4LXdpZHRoOjcwMHB4fTpob3N0IC50Yi1tb2RidXMta2V5cy1wYW5lbCAudGl0bGUtY29udGFpbmVye3dpZHRoOjE4MHB4fTpob3N0IC50Yi1tb2RidXMta2V5cy1wYW5lbCAua2V5LWxhYmVse2ZvbnQtd2VpZ2h0OjQwMH06aG9zdCAudGItbW9kYnVzLWtleXMtcGFuZWwgLmtleS1wYW5lbHtoZWlnaHQ6NTAwcHg7b3ZlcmZsb3c6YXV0b306aG9zdCAudGItbW9kYnVzLWtleXMtcGFuZWwgLnRiLWZvcm0tcGFuZWwgLm1hdC1tZGMtaWNvbi1idXR0b257d2lkdGg6NTZweDtoZWlnaHQ6NTZweDtwYWRkaW5nOjE2cHg7Y29sb3I6IzAwMDAwMDhhfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuVW50eXBlZEZvcm1CdWlsZGVyfV0scHJvcERlY29yYXRvcnM6e2lzTWFzdGVyOlt7dHlwZTphfV0saGlkZU5ld0ZpZWxkczpbe3R5cGU6YX1dLHBhbmVsVGl0bGU6W3t0eXBlOmF9XSxhZGRLZXlUaXRsZTpbe3R5cGU6YX1dLGRlbGV0ZUtleVRpdGxlOlt7dHlwZTphfV0sbm9LZXlzVGV4dDpbe3R5cGU6YX1dLGtleXNUeXBlOlt7dHlwZTphfV0sdmFsdWVzOlt7dHlwZTphfV0scG9wb3Zlcjpbe3R5cGU6YX1dLGtleXNEYXRhQXBwbGllZDpbe3R5cGU6bH1dfX0pO2NsYXNzIHlve2NvbnN0cnVjdG9yKGUsdCxuLGEsbyl7dGhpcy5mYj1lLHRoaXMucG9wb3ZlclNlcnZpY2U9dCx0aGlzLnJlbmRlcmVyPW4sdGhpcy52aWV3Q29udGFpbmVyUmVmPWEsdGhpcy5jZHI9byx0aGlzLnNpbmdsZU1vZGU9ITEsdGhpcy5oaWRlTmV3RmllbGRzPSExLHRoaXMuZGlzYWJsZWQ9ITEsdGhpcy5tb2RidXNSZWdpc3RlclR5cGVzPU9iamVjdC52YWx1ZXMoWG4pLHRoaXMubW9kYnVzVmFsdWVLZXlzPU9iamVjdC52YWx1ZXMoYWEpLHRoaXMuTW9kYnVzVmFsdWVzVHJhbnNsYXRpb25zTWFwPVpuLHRoaXMuTW9kYnVzVmFsdWVLZXk9YWEsdGhpcy5kZXN0cm95JD1uZXcgU2V9bmdPbkluaXQoKXt0aGlzLmluaXRpYWxpemVWYWx1ZXNGb3JtR3JvdXAoKSx0aGlzLm9ic2VydmVWYWx1ZXNDaGFuZ2VzKCl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLm9uQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7dGhpcy5vblRvdWNoZWQ9ZX13cml0ZVZhbHVlKGUpe2lmKHRoaXMuc2luZ2xlTW9kZSl0aGlzLnZhbHVlc0Zvcm1Hcm91cC5zZXRWYWx1ZSh0aGlzLmdldFNpbmdsZVJlZ2lzdGVyU3RhdGUoZSkse2VtaXRFdmVudDohMX0pO2Vsc2V7Y29uc3R7aG9sZGluZ19yZWdpc3RlcnM6dCxjb2lsc19pbml0aWFsaXplcjpuLGlucHV0X3JlZ2lzdGVyczphLGRpc2NyZXRlX2lucHV0czpvfT1lO3RoaXMudmFsdWVzRm9ybUdyb3VwLnNldFZhbHVlKHtob2xkaW5nX3JlZ2lzdGVyczp0aGlzLmdldFNpbmdsZVJlZ2lzdGVyU3RhdGUodCksY29pbHNfaW5pdGlhbGl6ZXI6dGhpcy5nZXRTaW5nbGVSZWdpc3RlclN0YXRlKG4pLGlucHV0X3JlZ2lzdGVyczp0aGlzLmdldFNpbmdsZVJlZ2lzdGVyU3RhdGUoYSksZGlzY3JldGVfaW5wdXRzOnRoaXMuZ2V0U2luZ2xlUmVnaXN0ZXJTdGF0ZShvKX0se2VtaXRFdmVudDohMX0pfXRoaXMuY2RyLm1hcmtGb3JDaGVjaygpfXZhbGlkYXRlKCl7cmV0dXJuIHRoaXMudmFsdWVzRm9ybUdyb3VwLnZhbGlkP251bGw6e3ZhbHVlc0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fX1zZXREaXNhYmxlZFN0YXRlKGUpe3RoaXMuZGlzYWJsZWQ9ZSx0aGlzLmNkci5tYXJrRm9yQ2hlY2soKX1nZXRWYWx1ZUdyb3VwKGUsdCl7cmV0dXJuIHQ/dGhpcy52YWx1ZXNGb3JtR3JvdXAuZ2V0KHQpLmdldChlKTp0aGlzLnZhbHVlc0Zvcm1Hcm91cC5nZXQoZSl9bWFuYWdlS2V5cyhlLHQsbixhKXtlLnN0b3BQcm9wYWdhdGlvbigpO2NvbnN0IG89dC5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O2lmKHRoaXMucG9wb3ZlclNlcnZpY2UuaGFzUG9wb3ZlcihvKSlyZXR1cm4gdm9pZCB0aGlzLnBvcG92ZXJTZXJ2aWNlLmhpZGVQb3BvdmVyKG8pO2NvbnN0IGk9dGhpcy5nZXRWYWx1ZUdyb3VwKG4sYSkscj17dmFsdWVzOmkudmFsdWUsaXNNYXN0ZXI6IXRoaXMuc2luZ2xlTW9kZSxrZXlzVHlwZTpuLHBhbmVsVGl0bGU6b2EuZ2V0KG4pLGFkZEtleVRpdGxlOmlhLmdldChuKSxkZWxldGVLZXlUaXRsZTpyYS5nZXQobiksbm9LZXlzVGV4dDpzYS5nZXQobiksaGlkZU5ld0ZpZWxkczp0aGlzLmhpZGVOZXdGaWVsZHN9LHM9dGhpcy5wb3BvdmVyU2VydmljZS5kaXNwbGF5UG9wb3ZlcihvLHRoaXMucmVuZGVyZXIsdGhpcy52aWV3Q29udGFpbmVyUmVmLGZvLCJsZWZ0Qm90dG9tIiwhMSxudWxsLHIse30se30se30sITApO3MudGJDb21wb25lbnRSZWYuaW5zdGFuY2UucG9wb3Zlcj1zLHMudGJDb21wb25lbnRSZWYuaW5zdGFuY2Uua2V5c0RhdGFBcHBsaWVkLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3MuaGlkZSgpLGkucGF0Y2hWYWx1ZShlKSxpLm1hcmtBc0RpcnR5KCksdGhpcy5jZHIubWFya0ZvckNoZWNrKCl9KSl9aW5pdGlhbGl6ZVZhbHVlc0Zvcm1Hcm91cCgpe2NvbnN0IGU9KCk9PnRoaXMuZmIuZ3JvdXAodGhpcy5tb2RidXNWYWx1ZUtleXMucmVkdWNlKCgoZSx0KT0+KGVbdF09dGhpcy5mYi5jb250cm9sKFtbXSxbXV0pLGUpKSx7fSkpO3RoaXMuc2luZ2xlTW9kZT90aGlzLnZhbHVlc0Zvcm1Hcm91cD1lKCk6dGhpcy52YWx1ZXNGb3JtR3JvdXA9dGhpcy5mYi5ncm91cCh0aGlzLm1vZGJ1c1JlZ2lzdGVyVHlwZXMucmVkdWNlKCgodCxuKT0+KHRbbl09ZSgpLHQpKSx7fSkpfW9ic2VydmVWYWx1ZXNDaGFuZ2VzKCl7dGhpcy52YWx1ZXNGb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMub25DaGFuZ2UoZSksdGhpcy5vblRvdWNoZWQoKX0pKX1nZXRTaW5nbGVSZWdpc3RlclN0YXRlKGUpe3JldHVybnthdHRyaWJ1dGVzOmU/LmF0dHJpYnV0ZXM/P1tdLHRpbWVzZXJpZXM6ZT8udGltZXNlcmllcz8/W10sYXR0cmlidXRlVXBkYXRlczplPy5hdHRyaWJ1dGVVcGRhdGVzPz9bXSxycGM6ZT8ucnBjPz9bXX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTp5byxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjpmdC5UYlBvcG92ZXJTZXJ2aWNlfSx7dG9rZW46dC5SZW5kZXJlcjJ9LHt0b2tlbjp0LlZpZXdDb250YWluZXJSZWZ9LHt0b2tlbjp0LkNoYW5nZURldGVjdG9yUmVmfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTp5byxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1vZGJ1cy12YWx1ZXMiLGlucHV0czp7c2luZ2xlTW9kZToic2luZ2xlTW9kZSIsaGlkZU5ld0ZpZWxkczoiaGlkZU5ld0ZpZWxkcyJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PnlvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT55bykpLG11bHRpOiEwfV0sbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcblxuPG5nLWNvbnRhaW5lciAqbmdJZj0ic2luZ2xlTW9kZSBlbHNlIG11bHRpcGxlVmlldyI+XG4gIDxkaXYgW2Zvcm1Hcm91cF09InZhbHVlc0Zvcm1Hcm91cCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJzaW5nbGVWaWV3IiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPSJ7JGltcGxpY2l0OiBudWxsfSI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjbXVsdGlwbGVWaWV3PlxuICA8bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0idmFsdWVzRm9ybUdyb3VwIj5cbiAgICA8bWF0LXRhYiAqbmdGb3I9ImxldCByZWdpc3RlciBvZiBtb2RidXNSZWdpc3RlclR5cGVzIiBsYWJlbD0ie3sgTW9kYnVzVmFsdWVzVHJhbnNsYXRpb25zTWFwLmdldChyZWdpc3RlcikgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiBbZm9ybUdyb3VwXT0idmFsdWVzRm9ybUdyb3VwLmdldChyZWdpc3RlcikiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09InNpbmdsZVZpZXciIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09InskaW1wbGljaXQ6IHJlZ2lzdGVyfSI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC10YWI+XG4gIDwvbWF0LXRhYi1ncm91cD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2luZ2xlVmlldyBsZXQtcmVnaXN0ZXI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZXM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5BVFRSSUJVVEVTLCByZWdpc3RlcikudmFsdWUiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZSBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVMsIHJlZ2lzdGVyKS52YWx1ZSI+XG4gICAgICAgICAge3sgYXR0cmlidXRlLnRhZyB9fVxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJkaXNhYmxlZCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAjYXR0cmlidXRlc0J1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgYXR0cmlidXRlc0J1dHRvbiwgTW9kYnVzVmFsdWVLZXkuQVRUUklCVVRFUywgcmVnaXN0ZXIpIj5cbiAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50aW1lc2VyaWVzPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggY2xhc3M9InRiLWZsZXgiIFt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdPSJnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LlRJTUVTRVJJRVMsIHJlZ2lzdGVyKS52YWx1ZSI+XG4gICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCB0ZWxlbWV0cnkgb2YgZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5USU1FU0VSSUVTLCByZWdpc3RlcikudmFsdWUiPlxuICAgICAgICAgIHt7IHRlbGVtZXRyeS50YWcgfX1cbiAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iZGlzYWJsZWQiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgI3RlbGVtZXRyeUJ1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgdGVsZW1ldHJ5QnV0dG9uLCBNb2RidXNWYWx1ZUtleS5USU1FU0VSSUVTLCByZWdpc3RlcikiPlxuICAgICAgICA8dGItaWNvbiBtYXRCdXR0b25JY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZS11cGRhdGVzPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09ImdldFZhbHVlR3JvdXAoTW9kYnVzVmFsdWVLZXkuQVRUUklCVVRFU19VUERBVEVTLCByZWdpc3RlcikudmFsdWUiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZVVwZGF0ZSBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVNfVVBEQVRFUywgcmVnaXN0ZXIpLnZhbHVlIj5cbiAgICAgICAgICB7eyBhdHRyaWJ1dGVVcGRhdGUudGFnIH19XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iZGlzYWJsZWQiXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICNhdHRyaWJ1dGVzVXBkYXRlc0J1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgYXR0cmlidXRlc1VwZGF0ZXNCdXR0b24sIE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVNfVVBEQVRFUywgcmVnaXN0ZXIpIj5cbiAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5ycGMtcmVxdWVzdHM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5SUENfUkVRVUVTVFMsIHJlZ2lzdGVyKS52YWx1ZSIgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgcnBjUmVxdWVzdCBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LlJQQ19SRVFVRVNUUywgcmVnaXN0ZXIpLnZhbHVlIj5cbiAgICAgICAgICB7eyBycGNSZXF1ZXN0LnRhZyB9fVxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJkaXNhYmxlZCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAjcnBjUmVxdWVzdHNCdXR0b25cbiAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIHJwY1JlcXVlc3RzQnV0dG9uLCBNb2RidXNWYWx1ZUtleS5SUENfUkVRVUVTVFMsIHJlZ2lzdGVyKSI+XG4gICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWJvZHktd3JhcHBlcnttaW4taGVpZ2h0OjMyMHB4fTo6bmctZGVlcCAubWRjLWV2b2x1dGlvbi1jaGlwLXNldF9fY2hpcHN7YWxpZ24taXRlbXM6Y2VudGVyfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1RlbXBsYXRlT3V0bGV0LHNlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0iLGlucHV0czpbIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IiwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRJbmplY3RvciJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp5dC5NYXRDaGlwLHNlbGVjdG9yOiJtYXQtYmFzaWMtY2hpcCwgW21hdC1iYXNpYy1jaGlwXSwgbWF0LWNoaXAsIFttYXQtY2hpcF0iLGlucHV0czpbInJvbGUiLCJpZCIsImFyaWEtbGFiZWwiLCJhcmlhLWRlc2NyaXB0aW9uIiwidmFsdWUiLCJjb2xvciIsInJlbW92YWJsZSIsImhpZ2hsaWdodGVkIiwiZGlzYWJsZVJpcHBsZSIsImRpc2FibGVkIl0sb3V0cHV0czpbInJlbW92ZWQiLCJkZXN0cm95ZWQiXSxleHBvcnRBczpbIm1hdENoaXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp5dC5NYXRDaGlwTGlzdGJveCxzZWxlY3RvcjoibWF0LWNoaXAtbGlzdGJveCIsaW5wdXRzOlsibXVsdGlwbGUiLCJhcmlhLW9yaWVudGF0aW9uIiwic2VsZWN0YWJsZSIsImNvbXBhcmVXaXRoIiwicmVxdWlyZWQiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwidmFsdWUiXSxvdXRwdXRzOlsiY2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YnQuVGJJY29uQ29tcG9uZW50LHNlbGVjdG9yOiJ0Yi1pY29uIixpbnB1dHM6WyJjb2xvciJdLGV4cG9ydEFzOlsidGJJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6a2Esc2VsZWN0b3I6Ilt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdIixpbnB1dHM6WyJ0Yi1lbGxpcHNpcy1jaGlwLWxpc3QiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJNb2RidXNWYWx1ZXNDb21wb25lbnQiLHlvKSxIZShbTigpXSx5by5wcm90b3R5cGUsInNpbmdsZU1vZGUiLHZvaWQgMCksSGUoW04oKV0seW8ucHJvdG90eXBlLCJoaWRlTmV3RmllbGRzIix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6eW8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy12YWx1ZXMiLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT55bykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+eW8pKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxELGthXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcblxuPG5nLWNvbnRhaW5lciAqbmdJZj0ic2luZ2xlTW9kZSBlbHNlIG11bHRpcGxlVmlldyI+XG4gIDxkaXYgW2Zvcm1Hcm91cF09InZhbHVlc0Zvcm1Hcm91cCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJzaW5nbGVWaWV3IiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPSJ7JGltcGxpY2l0OiBudWxsfSI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjbXVsdGlwbGVWaWV3PlxuICA8bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0idmFsdWVzRm9ybUdyb3VwIj5cbiAgICA8bWF0LXRhYiAqbmdGb3I9ImxldCByZWdpc3RlciBvZiBtb2RidXNSZWdpc3RlclR5cGVzIiBsYWJlbD0ie3sgTW9kYnVzVmFsdWVzVHJhbnNsYXRpb25zTWFwLmdldChyZWdpc3RlcikgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiBbZm9ybUdyb3VwXT0idmFsdWVzRm9ybUdyb3VwLmdldChyZWdpc3RlcikiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09InNpbmdsZVZpZXciIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09InskaW1wbGljaXQ6IHJlZ2lzdGVyfSI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC10YWI+XG4gIDwvbWF0LXRhYi1ncm91cD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2luZ2xlVmlldyBsZXQtcmVnaXN0ZXI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZXM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5BVFRSSUJVVEVTLCByZWdpc3RlcikudmFsdWUiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZSBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVMsIHJlZ2lzdGVyKS52YWx1ZSI+XG4gICAgICAgICAge3sgYXR0cmlidXRlLnRhZyB9fVxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJkaXNhYmxlZCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAjYXR0cmlidXRlc0J1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgYXR0cmlidXRlc0J1dHRvbiwgTW9kYnVzVmFsdWVLZXkuQVRUUklCVVRFUywgcmVnaXN0ZXIpIj5cbiAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50aW1lc2VyaWVzPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggY2xhc3M9InRiLWZsZXgiIFt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdPSJnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LlRJTUVTRVJJRVMsIHJlZ2lzdGVyKS52YWx1ZSI+XG4gICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCB0ZWxlbWV0cnkgb2YgZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5USU1FU0VSSUVTLCByZWdpc3RlcikudmFsdWUiPlxuICAgICAgICAgIHt7IHRlbGVtZXRyeS50YWcgfX1cbiAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iZGlzYWJsZWQiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgI3RlbGVtZXRyeUJ1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgdGVsZW1ldHJ5QnV0dG9uLCBNb2RidXNWYWx1ZUtleS5USU1FU0VSSUVTLCByZWdpc3RlcikiPlxuICAgICAgICA8dGItaWNvbiBtYXRCdXR0b25JY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZS11cGRhdGVzPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09ImdldFZhbHVlR3JvdXAoTW9kYnVzVmFsdWVLZXkuQVRUUklCVVRFU19VUERBVEVTLCByZWdpc3RlcikudmFsdWUiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZVVwZGF0ZSBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVNfVVBEQVRFUywgcmVnaXN0ZXIpLnZhbHVlIj5cbiAgICAgICAgICB7eyBhdHRyaWJ1dGVVcGRhdGUudGFnIH19XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iZGlzYWJsZWQiXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICNhdHRyaWJ1dGVzVXBkYXRlc0J1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgYXR0cmlidXRlc1VwZGF0ZXNCdXR0b24sIE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVNfVVBEQVRFUywgcmVnaXN0ZXIpIj5cbiAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5ycGMtcmVxdWVzdHM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5SUENfUkVRVUVTVFMsIHJlZ2lzdGVyKS52YWx1ZSIgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgcnBjUmVxdWVzdCBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LlJQQ19SRVFVRVNUUywgcmVnaXN0ZXIpLnZhbHVlIj5cbiAgICAgICAgICB7eyBycGNSZXF1ZXN0LnRhZyB9fVxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJkaXNhYmxlZCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAjcnBjUmVxdWVzdHNCdXR0b25cbiAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIHJwY1JlcXVlc3RzQnV0dG9uLCBNb2RidXNWYWx1ZUtleS5SUENfUkVRVUVTVFMsIHJlZ2lzdGVyKSI+XG4gICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWJvZHktd3JhcHBlcnttaW4taGVpZ2h0OjMyMHB4fTo6bmctZGVlcCAubWRjLWV2b2x1dGlvbi1jaGlwLXNldF9fY2hpcHN7YWxpZ24taXRlbXM6Y2VudGVyfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9LHt0eXBlOmZ0LlRiUG9wb3ZlclNlcnZpY2V9LHt0eXBlOnQuUmVuZGVyZXIyfSx7dHlwZTp0LlZpZXdDb250YWluZXJSZWZ9LHt0eXBlOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9XSxwcm9wRGVjb3JhdG9yczp7c2luZ2xlTW9kZTpbe3R5cGU6YX1dLGhpZGVOZXdGaWVsZHM6W3t0eXBlOmF9XX19KTtjbGFzcyBib3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuZmI9ZSx0aGlzLmNkcj10LHRoaXMuaXNNYXN0ZXI9ITEsdGhpcy5kaXNhYmxlZD0hMSx0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLnNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe2NlcnRmaWxlOlsiIixbdWUucGF0dGVybihrdCldXSxrZXlmaWxlOlsiIixbdWUucGF0dGVybihrdCldXSxwYXNzd29yZDpbIiIsW3VlLnBhdHRlcm4oa3QpXV0sc2VydmVyX2hvc3RuYW1lOlsiIixbdWUucGF0dGVybihrdCldXSxyZXFjbGljZXJ0Olt7dmFsdWU6ITEsZGlzYWJsZWQ6ITB9XX0pLHRoaXMub2JzZXJ2ZVZhbHVlQ2hhbmdlcygpfW5nT25DaGFuZ2VzKCl7dGhpcy51cGRhdGVNYXN0ZXJFbmFibGluZygpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9c2V0RGlzYWJsZWRTdGF0ZShlKXt0aGlzLmRpc2FibGVkPWUsdGhpcy5kaXNhYmxlZD90aGlzLnNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwLmRpc2FibGUoe2VtaXRFdmVudDohMX0pOnRoaXMuc2VjdXJpdHlDb25maWdGb3JtR3JvdXAuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnVwZGF0ZU1hc3RlckVuYWJsaW5nKCksdGhpcy5jZHIubWFya0ZvckNoZWNrKCl9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5zZWN1cml0eUNvbmZpZ0Zvcm1Hcm91cC52YWxpZD9udWxsOntzZWN1cml0eUNvbmZpZ0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fX13cml0ZVZhbHVlKGUpe2NvbnN0e2NlcnRmaWxlOnQscGFzc3dvcmQ6bixrZXlmaWxlOmEsc2VydmVyX2hvc3RuYW1lOm99PWUsaT17Y2VydGZpbGU6dD8/IiIscGFzc3dvcmQ6bj8/IiIsa2V5ZmlsZTphPz8iIixzZXJ2ZXJfaG9zdG5hbWU6bz8/IiIscmVxY2xpY2VydDohIWUucmVxY2xpY2VydH07dGhpcy5zZWN1cml0eUNvbmZpZ0Zvcm1Hcm91cC5yZXNldChpLHtlbWl0RXZlbnQ6ITF9KX11cGRhdGVNYXN0ZXJFbmFibGluZygpe3RoaXMuaXNNYXN0ZXI/KHRoaXMuZGlzYWJsZWR8fHRoaXMuc2VjdXJpdHlDb25maWdGb3JtR3JvdXAuZ2V0KCJyZXFjbGljZXJ0IikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwLmdldCgic2VydmVyX2hvc3RuYW1lIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpOih0aGlzLmRpc2FibGVkfHx0aGlzLnNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwLmdldCgic2VydmVyX2hvc3RuYW1lIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwLmdldCgicmVxY2xpY2VydCIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pKX1vYnNlcnZlVmFsdWVDaGFuZ2VzKCl7dGhpcy5zZWN1cml0eUNvbmZpZ0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Ym8sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfSx7dG9rZW46dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6Ym8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1tb2RidXMtc2VjdXJpdHktY29uZmlnIixpbnB1dHM6e2lzTWFzdGVyOiJpc01hc3RlciJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PmJvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5ibykpLG11bHRpOiEwfV0sdXNlc09uQ2hhbmdlczohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyIgW2Zvcm1Hcm91cF09InNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCI+e3sgXCdnYXRld2F5LmhpbnRzLnBhdGgtaW4tb3NcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLmNhLWNlcnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPmdhdGV3YXkuY2xpZW50LWNlcnQtcGF0aDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY2VydGZpbGUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkucHJpdmF0ZS1rZXktcGF0aFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIDxzcGFuIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCB0cmFuc2xhdGU+Z2F0ZXdheS5wcml2YXRlLWtleS1wYXRoPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJrZXlmaWxlIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5wYXNzd29yZDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJwYXNzd29yZCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icGFzc3dvcmQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAgYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0IiBtYXRTdWZmaXg+XG4gICAgICAgICAgPHRiLXRvZ2dsZS1wYXNzd29yZCBjbGFzcz0idGItZmxleCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiPjwvdGItdG9nZ2xlLXBhc3N3b3JkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPSIhaXNNYXN0ZXIiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci1ob3N0bmFtZTwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJ2ZXJfaG9zdG5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPSJpc01hc3RlciIgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXFjbGljZXJ0Ij5cbiAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgIHt7IFwnZ2F0ZXdheS5yZXF1ZXN0LWNsaWVudC1jZXJ0aWZpY2F0ZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1sYWJlbD5cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp0dC5Ub2dnbGVQYXNzd29yZENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXBhc3N3b3JkIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1IZShbTigpXSxiby5wcm90b3R5cGUsImlzTWFzdGVyIix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Ym8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1zZWN1cml0eS1jb25maWciLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5ibykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+Ym8pKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxELFNhXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciIFtmb3JtR3JvdXBdPSJzZWN1cml0eUNvbmZpZ0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwiPnt7IFwnZ2F0ZXdheS5oaW50cy5wYXRoLWluLW9zXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5jYS1jZXJ0XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPHNwYW4gdGJUcnVuY2F0ZVdpdGhUb29sdGlwIHRyYW5zbGF0ZT5nYXRld2F5LmNsaWVudC1jZXJ0LXBhdGg8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImNlcnRmaWxlIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LnByaXZhdGUta2V5LXBhdGhcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPmdhdGV3YXkucHJpdmF0ZS1rZXktcGF0aDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ia2V5ZmlsZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucGFzc3dvcmQ8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhc3N3b3JkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGFsaWduLWNlbnRlciBmaWxsLWhlaWdodCIgbWF0U3VmZml4PlxuICAgICAgICAgIDx0Yi10b2dnbGUtcGFzc3dvcmQgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0Ij48L3RiLXRvZ2dsZS1wYXNzd29yZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj0iIWlzTWFzdGVyIiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5zZXJ2ZXItaG9zdG5hbWU8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ic2VydmVyX2hvc3RuYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj0iaXNNYXN0ZXIiIGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmVxY2xpY2VydCI+XG4gICAgICA8bWF0LWxhYmVsPlxuICAgICAgICB7eyBcJ2dhdGV3YXkucmVxdWVzdC1jbGllbnQtY2VydGlmaWNhdGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9tYXQtbGFiZWw+XG4gICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICA8L2Rpdj5cbjwvZGl2PlxuJ31dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTptZS5Gb3JtQnVpbGRlcn0se3R5cGU6dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHByb3BEZWNvcmF0b3JzOntpc01hc3Rlcjpbe3R5cGU6YX1dfX0pO2NsYXNzIGhvIGV4dGVuZHMgUHtjb25zdHJ1Y3RvcihlLHQsbixhLG8pe3N1cGVyKHQsbixvKSx0aGlzLmZiPWUsdGhpcy5zdG9yZT10LHRoaXMucm91dGVyPW4sdGhpcy5kYXRhPWEsdGhpcy5kaWFsb2dSZWY9byx0aGlzLnBvcnRMaW1pdHM9RXQsdGhpcy5tb2RidXNQcm90b2NvbFR5cGVzPU9iamVjdC52YWx1ZXMoSG4pLHRoaXMubW9kYnVzTWV0aG9kVHlwZXM9T2JqZWN0LnZhbHVlcyhXbiksdGhpcy5tb2RidXNTZXJpYWxNZXRob2RUeXBlcz1PYmplY3QudmFsdWVzKGpuKSx0aGlzLm1vZGJ1c1Bhcml0aWVzPU9iamVjdC52YWx1ZXMoWW4pLHRoaXMubW9kYnVzQnl0ZVNpemVzPSRuLHRoaXMubW9kYnVzQmF1ZHJhdGVzPWxhLHRoaXMubW9kYnVzT3JkZXJUeXBlPU9iamVjdC52YWx1ZXMoSm4pLHRoaXMuTW9kYnVzUHJvdG9jb2xUeXBlPUhuLHRoaXMuTW9kYnVzUGFyaXR5TGFiZWxzTWFwPVFuLHRoaXMuTW9kYnVzUHJvdG9jb2xMYWJlbHNNYXA9em4sdGhpcy5Nb2RidXNNZXRob2RMYWJlbHNNYXA9S24sdGhpcy5SZXBvcnRTdHJhdGVneURlZmF1bHRWYWx1ZT1sbix0aGlzLm1vZGJ1c0hlbHBMaW5rPXYrIi9kb2NzL2lvdC1nYXRld2F5L2NvbmZpZy9tb2RidXMvI3NlY3Rpb24tbWFzdGVyLWRlc2NyaXB0aW9uLWFuZC1jb25maWd1cmF0aW9uLXBhcmFtZXRlcnMiLHRoaXMuc2VyaWFsU3BlY2lmaWNDb250cm9sS2V5cz1bInNlcmlhbFBvcnQiLCJiYXVkcmF0ZSIsInN0b3BiaXRzIiwiYnl0ZXNpemUiLCJwYXJpdHkiLCJzdHJpY3QiXSx0aGlzLnRjcFVkcFNwZWNpZmljQ29udHJvbEtleXM9WyJwb3J0Iiwic2VjdXJpdHkiLCJob3N0Il0sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5zaG93U2VjdXJpdHlDb250cm9sPXRoaXMuZmIuY29udHJvbCghMSksdGhpcy5pbml0aWFsaXplU2xhdmVGb3JtR3JvdXAoKSx0aGlzLnVwZGF0ZVNsYXZlRm9ybUdyb3VwKCksdGhpcy51cGRhdGVDb250cm9sc0VuYWJsaW5nKHRoaXMuZGF0YS52YWx1ZS50eXBlKSx0aGlzLm9ic2VydmVUeXBlQ2hhbmdlKCksdGhpcy5vYnNlcnZlU2hvd1NlY3VyaXR5KCksdGhpcy5zaG93U2VjdXJpdHlDb250cm9sLnBhdGNoVmFsdWUoISF0aGlzLmRhdGEudmFsdWUuc2VjdXJpdHkmJiFlZSh0aGlzLmRhdGEudmFsdWUuc2VjdXJpdHkse30pKX1nZXQgcHJvdG9jb2xUeXBlKCl7cmV0dXJuIHRoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWV9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9Y2FuY2VsKCl7dGhpcy5kaWFsb2dSZWYuY2xvc2UobnVsbCl9YWRkKCl7dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC52YWxpZCYmdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5nZXRTbGF2ZVJlc3VsdERhdGEoKSl9aW5pdGlhbGl6ZVNsYXZlRm9ybUdyb3VwKCl7dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cD10aGlzLmZiLmdyb3VwKHt0eXBlOltIbi5UQ1BdLGhvc3Q6WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHBvcnQ6W251bGwsW3VlLnJlcXVpcmVkLHVlLm1pbihFdC5NSU4pLHVlLm1heChFdC5NQVgpXV0sc2VyaWFsUG9ydDpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sbWV0aG9kOltXbi5TT0NLRVQsW3VlLnJlcXVpcmVkXV0sYmF1ZHJhdGU6W3RoaXMubW9kYnVzQmF1ZHJhdGVzWzBdXSxzdG9wYml0czpbMV0sYnl0ZXNpemU6WyRuWzBdXSxwYXJpdHk6W1luLk5vbmVdLHN0cmljdDpbITBdLHVuaXRJZDpbbnVsbCxbdWUucmVxdWlyZWRdXSxkZXZpY2VOYW1lOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxkZXZpY2VUeXBlOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx0aW1lb3V0OlszNV0sYnl0ZU9yZGVyOltKbi5CSUddLHdvcmRPcmRlcjpbSm4uQklHXSxyZXRyaWVzOlshMF0scmV0cnlPbkVtcHR5OlshMF0scmV0cnlPbkludmFsaWQ6WyEwXSxwb2xsUGVyaW9kOls1ZTMsW3VlLnJlcXVpcmVkXV0sY29ubmVjdEF0dGVtcHRUaW1lTXM6WzVlMyxbdWUucmVxdWlyZWRdXSxjb25uZWN0QXR0ZW1wdENvdW50Ols1LFt1ZS5yZXF1aXJlZF1dLHdhaXRBZnRlckZhaWxlZEF0dGVtcHRzTXM6WzNlNSxbdWUucmVxdWlyZWRdXSx2YWx1ZXM6W3t9XSxzZWN1cml0eTpbe31dfSksdGhpcy5hZGRGaWVsZHNUb0Zvcm1Hcm91cCgpfXVwZGF0ZVNsYXZlRm9ybUdyb3VwKCl7dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5wYXRjaFZhbHVlKHsuLi50aGlzLmRhdGEudmFsdWUscG9ydDp0aGlzLmRhdGEudmFsdWUudHlwZT09PUhuLlNlcmlhbD9udWxsOnRoaXMuZGF0YS52YWx1ZS5wb3J0LHNlcmlhbFBvcnQ6dGhpcy5kYXRhLnZhbHVlLnR5cGU9PT1Ibi5TZXJpYWw/dGhpcy5kYXRhLnZhbHVlLnBvcnQ6IiIsdmFsdWVzOnthdHRyaWJ1dGVzOnRoaXMuZGF0YS52YWx1ZS5hdHRyaWJ1dGVzPz9bXSx0aW1lc2VyaWVzOnRoaXMuZGF0YS52YWx1ZS50aW1lc2VyaWVzPz9bXSxhdHRyaWJ1dGVVcGRhdGVzOnRoaXMuZGF0YS52YWx1ZS5hdHRyaWJ1dGVVcGRhdGVzPz9bXSxycGM6dGhpcy5kYXRhLnZhbHVlLnJwYz8/W119fSl9b2JzZXJ2ZVR5cGVDaGFuZ2UoKXt0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldCgidHlwZSIpLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLnVwZGF0ZUNvbnRyb2xzRW5hYmxpbmcoZSksdGhpcy51cGRhdGVNZXRob2RUeXBlKGUpfSkpfXVwZGF0ZU1ldGhvZFR5cGUoZSl7dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoIm1ldGhvZCIpLnZhbHVlIT09V24uUlRVJiZ0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldCgibWV0aG9kIikucGF0Y2hWYWx1ZShlPT09SG4uU2VyaWFsP2puLkFTQ0lJOlduLlNPQ0tFVCx7ZW1pdEV2ZW50OiExfSl9dXBkYXRlQ29udHJvbHNFbmFibGluZyhlKXtjb25zdFt0LG5dPWU9PT1Ibi5TZXJpYWw/W3RoaXMuc2VyaWFsU3BlY2lmaWNDb250cm9sS2V5cyx0aGlzLnRjcFVkcFNwZWNpZmljQ29udHJvbEtleXNdOlt0aGlzLnRjcFVkcFNwZWNpZmljQ29udHJvbEtleXMsdGhpcy5zZXJpYWxTcGVjaWZpY0NvbnRyb2xLZXlzXTt0LmZvckVhY2goKGU9PnRoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KGUpPy5lbmFibGUoe2VtaXRFdmVudDohMX0pKSksbi5mb3JFYWNoKChlPT50aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChlKT8uZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpKSx0aGlzLnVwZGF0ZVNlY3VyaXR5RW5hYmxpbmcodGhpcy5zaG93U2VjdXJpdHlDb250cm9sLnZhbHVlKX1vYnNlcnZlU2hvd1NlY3VyaXR5KCl7dGhpcy5zaG93U2VjdXJpdHlDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9PnRoaXMudXBkYXRlU2VjdXJpdHlFbmFibGluZyhlKSkpfXVwZGF0ZVNlY3VyaXR5RW5hYmxpbmcoZSl7ZSYmdGhpcy5wcm90b2NvbFR5cGUhPT1Ibi5TZXJpYWw/dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoInNlY3VyaXR5IikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KTp0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldCgic2VjdXJpdHkiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmhvLGRlcHM6W3t0b2tlbjptZS5Gb3JtQnVpbGRlcn0se3Rva2VuOm90LlN0b3JlfSx7dG9rZW46aXQuUm91dGVyfSx7dG9rZW46WGV9LHt0b2tlbjpKZS5NYXREaWFsb2dSZWZ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5EaXJlY3RpdmV9KX1zdGF0aWN7dGhpcy7JtWRpcj10Lsm1ybVuZ0RlY2xhcmVEaXJlY3RpdmUoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOmhvLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0fSl9fWUoIk1vZGJ1c1NsYXZlRGlhbG9nQWJzdHJhY3QiLGhvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmhvLGRlY29yYXRvcnM6W3t0eXBlOnN9XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTpvdC5TdG9yZX0se3R5cGU6aXQuUm91dGVyfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6cCxhcmdzOltYZV19XX0se3R5cGU6SmUuTWF0RGlhbG9nUmVmfV19KTtjbGFzcyB4byBleHRlbmRzIGhve2NvbnN0cnVjdG9yKGUsdCxuLGEsbyl7c3VwZXIoZSx0LG4sYSxvKSx0aGlzLmZiPWUsdGhpcy5zdG9yZT10LHRoaXMucm91dGVyPW4sdGhpcy5kYXRhPWEsdGhpcy5kaWFsb2dSZWY9b31nZXRTbGF2ZVJlc3VsdERhdGEoKXtjb25zdHt2YWx1ZXM6ZSx0eXBlOnQsc2VyaWFsUG9ydDpuLC4uLmF9PXRoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAudmFsdWUsbz17Li4uYSx0eXBlOnQsLi4uZX07cmV0dXJuIHQ9PT1Ibi5TZXJpYWwmJihvLnBvcnQ9biksby5yZXBvcnRTdHJhdGVneXx8ZGVsZXRlIG8ucmVwb3J0U3RyYXRlZ3ksb31hZGRGaWVsZHNUb0Zvcm1Hcm91cCgpe3RoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuYWRkQ29udHJvbCgicmVwb3J0U3RyYXRlZ3kiLHRoaXMuZmIuY29udHJvbChudWxsKSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTp4byxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjpvdC5TdG9yZX0se3Rva2VuOml0LlJvdXRlcn0se3Rva2VuOlhlfSx7dG9rZW46SmUuTWF0RGlhbG9nUmVmfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTp4byxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1vZGJ1cy1zbGF2ZS1kaWFsb2ciLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0ic2xhdmVzLWNvbmZpZy1jb250YWluZXIiPlxuICA8bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICAgIDxoMj57eyBcJ2dhdGV3YXkuc2VydmVyLXNsYXZlXCcgfCB0cmFuc2xhdGUgfX08L2gyPlxuICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgPGRpdiBbdGItaGVscF09Im1vZGJ1c0hlbHBMaW5rIj48L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L21hdC10b29sYmFyPlxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBbZm9ybUdyb3VwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIj5cbiAgICA8ZGl2IGNsYXNzPSJzdHJva2VkIHRiLWZvcm0tcGFuZWwiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggcm93IHNwYWNlLWJldHdlZW4gYWxpZ24tY2VudGVyIG5vLWdhcCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuc2VydmVyLWNvbm5lY3Rpb248L2Rpdj5cbiAgICAgICAgICA8dGItdG9nZ2xlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiIGFwcGVhcmFuY2U9ImZpbGwiPlxuICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBtb2RidXNQcm90b2NvbFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj57eyBNb2RidXNQcm90b2NvbExhYmVsc01hcC5nZXQodHlwZSkgfX08L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyJcbiAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ob3N0XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5Lmhvc3Q8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iaG9zdCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuaG9zdC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIGVsc2Ugc2VyaWFsUG9ydCJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiXG4gICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSJ7e3BvcnRMaW1pdHMuTUlOfX0iIG1heD0ie3twb3J0TGltaXRzLk1BWH19IlxuICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKSB8IGdldEdhdGV3YXlQb3J0VG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ21pblwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2VyaWFsUG9ydD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc2VyaWFsLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucG9ydDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJpYWxQb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkucG9ydC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzZXJpYWxQb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2VyaWFsUG9ydFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmZyYW1lci10eXBlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5tZXRob2RcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwgPyBtb2RidXNTZXJpYWxNZXRob2RUeXBlcyA6IG1vZGJ1c01ldGhvZFR5cGVzIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT0ibWV0aG9kIj57eyBNb2RidXNNZXRob2RMYWJlbHNNYXAuZ2V0KG1ldGhvZCkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJhdWRyYXRlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJhdWRyYXRlPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJiYXVkcmF0ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCByYXRlIG9mIG1vZGJ1c0JhdWRyYXRlcyIgW3ZhbHVlXT0icmF0ZSI+e3sgcmF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ieXRlc2l6ZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlc2l6ZTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYnl0ZXNpemUiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgc2l6ZSBvZiBtb2RidXNCeXRlU2l6ZXMiIFt2YWx1ZV09InNpemUiPnt7IHNpemUgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc3RvcGJpdHNcJyB8IHRyYW5zbGF0ZSB9fSIgIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3BiaXRzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzdG9wYml0cyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucGFyaXR5XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnBhcml0eTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icGFyaXR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHBhcml0eSBvZiBtb2RidXNQYXJpdGllcyIgW3ZhbHVlXT0icGFyaXR5Ij57eyBNb2RidXNQYXJpdHlMYWJlbHNNYXAuZ2V0KHBhcml0eSkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic3RyaWN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5zdHJpY3RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0cmljdFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLnVuaXQtaWRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkudW5pdC1pZDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idW5pdElkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudW5pdC1pZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCd1bml0SWRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1uYW1lPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2UtbmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLXByb2ZpbGU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlVHlwZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1wcm9maWxlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9ImRhdGEuaGlkZU5ld0ZpZWxkcyBlbHNlIHJlcG9ydFN0cmF0ZWd5IiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InNlbmREYXRhT25seU9uQ2hhbmdlIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWRhdGEtb24tY2hhbmdlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcmVwb3J0U3RyYXRlZ3k+XG4gICAgICAgICAgPHRiLXJlcG9ydC1zdHJhdGVneSBbZGVmYXVsdFZhbHVlXT0iUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWUuRGV2aWNlIiBmb3JtQ29udHJvbE5hbWU9InJlcG9ydFN0cmF0ZWd5IiBbaXNFeHBhbnNpb25Nb2RlXT0idHJ1ZSIvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuYWR2YW5jZWQtY29ubmVjdGlvbi1zZXR0aW5nczwvZGl2PlxuICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3Rpb24tdGltZW91dFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0aW9uLXRpbWVvdXQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRpbWVvdXQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuYnl0ZS1vcmRlclwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlLW9yZGVyPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJieXRlT3JkZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndvcmQtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud29yZC1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0id29yZE9yZGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBvcmRlciBvZiBtb2RidXNPcmRlclR5cGUiIFt2YWx1ZV09Im9yZGVyIj57eyBvcmRlciB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCB0Yi1zbGlkZS10b2dnbGUiPlxuICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ic2hvd1NlY3VyaXR5Q29udHJvbC52YWx1ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmeExheW91dEFsaWduPSJjZW50ZXIiIFtmb3JtQ29udHJvbF09InNob3dTZWN1cml0eUNvbnRyb2wiIGNsYXNzPSJtYXQtc2xpZGUiIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGxzLWNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICA8dGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZyBjbGFzcz0ic2VjdXJpdHktY29uZmlnIiBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5Ij48L3RiLW1vZGJ1cy1zZWN1cml0eS1jb25maWc+XG4gICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJpZXMiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5yZXRyaWVzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllc1wnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmV0cnlPbkVtcHR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1lbXB0eVwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJldHJpZXMtb24tZW1wdHlcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJ5T25JbnZhbGlkIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoLTI2MCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICBnYXRld2F5LnBvbGwtcGVyaW9kXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb2xsUGVyaW9kIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgtMjYwIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5jb25uZWN0LWF0dGVtcHQtdGltZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtdGltZTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY29ubmVjdEF0dGVtcHRUaW1lTXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3QtYXR0ZW1wdC1jb3VudFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtY291bnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImNvbm5lY3RBdHRlbXB0Q291bnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ3YWl0QWZ0ZXJGYWlsZWRBdHRlbXB0c01zIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgPHRiLW1vZGJ1cy12YWx1ZXMgW3NpbmdsZU1vZGVdPSJ0cnVlIiBbaGlkZU5ld0ZpZWxkc109ImRhdGEuaGlkZU5ld0ZpZWxkcyIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZXMiPjwvdGItbW9kYnVzLXZhbHVlcz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIGNka0ZvY3VzSW5pdGlhbFxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0iYWRkKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5pbnZhbGlkIHx8ICFzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5kaXJ0eSI+XG4gICAgICB7eyBkYXRhLmJ1dHRvblRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnNsYXZlcy1jb25maWctY29udGFpbmVye3dpZHRoOjgwdnc7bWF4LXdpZHRoOjkwMHB4fTpob3N0IC5zbGF2ZS1uYW1lLWxhYmVse21hcmdpbi1yaWdodDoxNnB4O2NvbG9yOiMwMDAwMDBkZX06aG9zdCAuZml4ZWQtdGl0bGUtd2lkdGgtMjYwe21pbi13aWR0aDoyNjBweH06aG9zdCA6Om5nLWRlZXAgLnNlY3VyaXR5LWNvbmZpZyAuZml4ZWQtdGl0bGUtd2lkdGh7bWluLXdpZHRoOjIzMHB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmR0LkhlbHBDb21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oZWxwXSIsaW5wdXRzOlsidGItaGVscCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpKZS5NYXREaWFsb2dBY3Rpb25zLHNlbGVjdG9yOiJbbWF0LWRpYWxvZy1hY3Rpb25zXSwgbWF0LWRpYWxvZy1hY3Rpb25zLCBbbWF0RGlhbG9nQWN0aW9uc10iLGlucHV0czpbImFsaWduIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQ29udGVudCxzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWwsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwiLGlucHV0czpbImhpZGVUb2dnbGUiLCJ0b2dnbGVQb3NpdGlvbiJdLG91dHB1dHM6WyJhZnRlckV4cGFuZCIsImFmdGVyQ29sbGFwc2UiXSxleHBvcnRBczpbIm1hdEV4cGFuc2lvblBhbmVsIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIixpbnB1dHM6WyJleHBhbmRlZEhlaWdodCIsImNvbGxhcHNlZEhlaWdodCIsInRhYkluZGV4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxUaXRsZSxzZWxlY3RvcjoibWF0LXBhbmVsLXRpdGxlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OdW1iZXJWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVtuZ01vZGVsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1pblZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLGlucHV0czpbIm1pbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1heFZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21heF1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21heF1bbmdNb2RlbF0iLGlucHV0czpbIm1heCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WWUuVHJ1bmNhdGVXaXRoVG9vbHRpcERpcmVjdGl2ZSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bnQuVG9nZ2xlT3B0aW9uLHNlbGVjdG9yOiJ0Yi10b2dnbGUtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmF0LlRvZ2dsZVNlbGVjdENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXNlbGVjdCIsaW5wdXRzOlsiZGlzYWJsZWQiLCJzZWxlY3RNZWRpYUJyZWFrcG9pbnQiLCJhcHBlYXJhbmNlIiwiZGlzYWJsZVBhZ2luYXRpb24iLCJmaWxsSGVpZ2h0IiwiZXh0cmFQYWRkaW5nIiwicHJpbWFyeUJhY2tncm91bmQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp5byxzZWxlY3RvcjoidGItbW9kYnVzLXZhbHVlcyIsaW5wdXRzOlsic2luZ2xlTW9kZSIsImhpZGVOZXdGaWVsZHMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpibyxzZWxlY3RvcjoidGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZyIsaW5wdXRzOlsiaXNNYXN0ZXIiXX0se2tpbmQ6InBpcGUiLHR5cGU6d2EsbmFtZToiZ2V0R2F0ZXdheVBvcnRUb29sdGlwIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpnbyxzZWxlY3RvcjoidGItcmVwb3J0LXN0cmF0ZWd5IixpbnB1dHM6WyJpc0V4cGFuc2lvbk1vZGUiLCJkZWZhdWx0VmFsdWUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJNb2RidXNTbGF2ZURpYWxvZ0NvbXBvbmVudCIseG8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6eG8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1zbGF2ZS1kaWFsb2ciLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxzdGFuZGFsb25lOiEwLGltcG9ydHM6W0gsRCx5byxibyx3YSxnbyxTYV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJzbGF2ZXMtY29uZmlnLWNvbnRhaW5lciI+XG4gIDxtYXQtdG9vbGJhciBjb2xvcj0icHJpbWFyeSI+XG4gICAgPGgyPnt7IFwnZ2F0ZXdheS5zZXJ2ZXItc2xhdmVcJyB8IHRyYW5zbGF0ZSB9fTwvaDI+XG4gICAgPHNwYW4gZnhGbGV4Pjwvc3Bhbj5cbiAgICA8ZGl2IFt0Yi1oZWxwXT0ibW9kYnVzSGVscExpbmsiPjwvZGl2PlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvbWF0LXRvb2xiYXI+XG4gIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50IFtmb3JtR3JvdXBdPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cCIgY2xhc3M9InRiLWZvcm0tcGFuZWwiPlxuICAgIDxkaXYgY2xhc3M9InN0cm9rZWQgdGItZm9ybS1wYW5lbCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCByb3cgc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIgbm8tZ2FwIGZpbGwtd2lkdGgiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5zZXJ2ZXItY29ubmVjdGlvbjwvZGl2PlxuICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIG1vZGJ1c1Byb3RvY29sVHlwZXMiIFt2YWx1ZV09InR5cGUiPnt7IE1vZGJ1c1Byb3RvY29sTGFiZWxzTWFwLmdldCh0eXBlKSB9fTwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPSJwcm90b2NvbFR5cGUgIT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwiXG4gICAgICAgICAgICAgICBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIlxuICAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmhvc3RcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuaG9zdDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJob3N0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5ob3N0LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPSJwcm90b2NvbFR5cGUgIT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwgZWxzZSBzZXJpYWxQb3J0IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyJcbiAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5wb3J0XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnBvcnQ8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49Int7cG9ydExpbWl0cy5NSU59fSIgbWF4PSJ7e3BvcnRMaW1pdHMuTUFYfX0iXG4gICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvcnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpIHwgZ2V0R2F0ZXdheVBvcnRUb29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iKHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdtYXhcJykpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNzZXJpYWxQb3J0PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5zZXJpYWwtcG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InNlcmlhbFBvcnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IlwnZ2F0ZXdheS5wb3J0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3NlcmlhbFBvcnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzZXJpYWxQb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuZnJhbWVyLXR5cGVcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5Lm1ldGhvZFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbWV0aG9kIG9mIHByb3RvY29sVHlwZSA9PT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCA/IG1vZGJ1c1NlcmlhbE1ldGhvZFR5cGVzIDogbW9kYnVzTWV0aG9kVHlwZXMiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPSJtZXRob2QiPnt7IE1vZGJ1c01ldGhvZExhYmVsc01hcC5nZXQobWV0aG9kKSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9InByb3RvY29sVHlwZSA9PT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuYmF1ZHJhdGVcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuYmF1ZHJhdGU8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImJhdWRyYXRlIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHJhdGUgb2YgbW9kYnVzQmF1ZHJhdGVzIiBbdmFsdWVdPSJyYXRlIj57eyByYXRlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJ5dGVzaXplXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJ5dGVzaXplPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJieXRlc2l6ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBzaXplIG9mIG1vZGJ1c0J5dGVTaXplcyIgW3ZhbHVlXT0ic2l6ZSI+e3sgc2l6ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5zdG9wYml0c1wnIHwgdHJhbnNsYXRlIH19IiAgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcGJpdHM8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InN0b3BiaXRzIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5wYXJpdHlcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucGFyaXR5PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJwYXJpdHkiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgcGFyaXR5IG9mIG1vZGJ1c1Bhcml0aWVzIiBbdmFsdWVdPSJwYXJpdHkiPnt7IE1vZGJ1c1Bhcml0eUxhYmVsc01hcC5nZXQocGFyaXR5KSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJzdHJpY3QiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLnN0cmljdFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RyaWN0XCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMudW5pdC1pZFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS51bml0LWlkPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ1bml0SWQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS51bml0LWlkLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwndW5pdElkXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLW5hbWU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1uYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5kZXZpY2UtcHJvZmlsZTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VUeXBlIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLXByb2ZpbGUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlVHlwZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlVHlwZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj0iZGF0YS5oaWRlTmV3RmllbGRzIGVsc2UgcmVwb3J0U3RyYXRlZ3kiIGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic2VuZERhdGFPbmx5T25DaGFuZ2UiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnNlbmQtZGF0YS1vbi1jaGFuZ2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNyZXBvcnRTdHJhdGVneT5cbiAgICAgICAgICA8dGItcmVwb3J0LXN0cmF0ZWd5IFtkZWZhdWx0VmFsdWVdPSJSZXBvcnRTdHJhdGVneURlZmF1bHRWYWx1ZS5EZXZpY2UiIGZvcm1Db250cm9sTmFtZT0icmVwb3J0U3RyYXRlZ3kiIFtpc0V4cGFuc2lvbk1vZGVdPSJ0cnVlIi8+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIj5cbiAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5hZHZhbmNlZC1jb25uZWN0aW9uLXNldHRpbmdzPC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuY29ubmVjdGlvbi10aW1lb3V0XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmNvbm5lY3Rpb24tdGltZW91dDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idGltZW91dCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ieXRlLW9yZGVyXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJ5dGUtb3JkZXI8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImJ5dGVPcmRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgb3JkZXIgb2YgbW9kYnVzT3JkZXJUeXBlIiBbdmFsdWVdPSJvcmRlciI+e3sgb3JkZXIgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMud29yZC1vcmRlclwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS53b3JkLW9yZGVyPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ3b3JkT3JkZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLXNsaWRlLXRvZ2dsZSI+XG4gICAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJzaG93U2VjdXJpdHlDb250cm9sLnZhbHVlIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciBmeExheW91dD0icm93IHdyYXAiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZ4TGF5b3V0QWxpZ249ImNlbnRlciIgW2Zvcm1Db250cm9sXT0ic2hvd1NlY3VyaXR5Q29udHJvbCIgY2xhc3M9Im1hdC1zbGlkZSIgKGNsaWNrKT0iJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50bHMtY29ubmVjdGlvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1tb2RidXMtc2VjdXJpdHktY29uZmlnIGNsYXNzPSJzZWN1cml0eS1jb25maWciIGZvcm1Db250cm9sTmFtZT0ic2VjdXJpdHkiPjwvdGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZz5cbiAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmV0cmllcyI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLnJldHJpZXNcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5yZXRyaWVzXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXRyeU9uRW1wdHkiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5yZXRyaWVzLW9uLWVtcHR5XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllcy1vbi1lbXB0eVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmV0cnlPbkludmFsaWQiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5yZXRyaWVzLW9uLWludmFsaWRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5yZXRyaWVzLW9uLWludmFsaWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgtMjYwIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5wb2xsLXBlcmlvZFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICAgIGdhdGV3YXkucG9sbC1wZXJpb2RcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvbGxQZXJpb2QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3QtYXR0ZW1wdC10aW1lXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmNvbm5lY3QtYXR0ZW1wdC10aW1lPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJjb25uZWN0QXR0ZW1wdFRpbWVNcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoLTI2MCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuY29ubmVjdC1hdHRlbXB0LWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmNvbm5lY3QtYXR0ZW1wdC1jb3VudDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY29ubmVjdEF0dGVtcHRDb3VudCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoLTI2MCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMud2FpdC1hZnRlci1mYWlsZWQtYXR0ZW1wdHNcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud2FpdC1hZnRlci1mYWlsZWQtYXR0ZW1wdHM8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9IndhaXRBZnRlckZhaWxlZEF0dGVtcHRzTXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICAgICAgICA8dGItbW9kYnVzLXZhbHVlcyBbc2luZ2xlTW9kZV09InRydWUiIFtoaWRlTmV3RmllbGRzXT0iZGF0YS5oaWRlTmV3RmllbGRzIiBmb3JtQ29udHJvbE5hbWU9InZhbHVlcyI+PC90Yi1tb2RidXMtdmFsdWVzPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5jYW5jZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAoY2xpY2spPSJhZGQoKSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09InNsYXZlQ29uZmlnRm9ybUdyb3VwLmludmFsaWQgfHwgIXNsYXZlQ29uZmlnRm9ybUdyb3VwLmRpcnR5Ij5cbiAgICAgIHt7IGRhdGEuYnV0dG9uVGl0bGUgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCAuc2xhdmVzLWNvbmZpZy1jb250YWluZXJ7d2lkdGg6ODB2dzttYXgtd2lkdGg6OTAwcHh9Omhvc3QgLnNsYXZlLW5hbWUtbGFiZWx7bWFyZ2luLXJpZ2h0OjE2cHg7Y29sb3I6IzAwMDAwMGRlfTpob3N0IC5maXhlZC10aXRsZS13aWR0aC0yNjB7bWluLXdpZHRoOjI2MHB4fTpob3N0IDo6bmctZGVlcCAuc2VjdXJpdHktY29uZmlnIC5maXhlZC10aXRsZS13aWR0aHttaW4td2lkdGg6MjMwcHh9XG4nXX1dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTptZS5Gb3JtQnVpbGRlcn0se3R5cGU6b3QuU3RvcmV9LHt0eXBlOml0LlJvdXRlcn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOnAsYXJnczpbWGVdfV19LHt0eXBlOkplLk1hdERpYWxvZ1JlZn1dfSk7Y2xhc3Mgdm8gZXh0ZW5kcyBob3tjb25zdHJ1Y3RvcihlLHQsbixhLG8pe3N1cGVyKGUsdCxuLGEsbyksdGhpcy5mYj1lLHRoaXMuc3RvcmU9dCx0aGlzLnJvdXRlcj1uLHRoaXMuZGF0YT1hLHRoaXMuZGlhbG9nUmVmPW99Z2V0U2xhdmVSZXN1bHREYXRhKCl7Y29uc3R7dmFsdWVzOmUsdHlwZTp0LHNlcmlhbFBvcnQ6biwuLi5hfT10aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLnZhbHVlLG89ey4uLmEsdHlwZTp0LC4uLmV9O3JldHVybiB0PT09SG4uU2VyaWFsJiYoby5wb3J0PW4pLG99YWRkRmllbGRzVG9Gb3JtR3JvdXAoKXt0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmFkZENvbnRyb2woInNlbmREYXRhT25seU9uQ2hhbmdlIix0aGlzLmZiLmNvbnRyb2woITEpKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnZvLGRlcHM6W3t0b2tlbjptZS5Gb3JtQnVpbGRlcn0se3Rva2VuOm90LlN0b3JlfSx7dG9rZW46aXQuUm91dGVyfSx7dG9rZW46WGV9LHt0b2tlbjpKZS5NYXREaWFsb2dSZWZ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOnZvLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItbW9kYnVzLWxlZ2FjeS1zbGF2ZS1kaWFsb2ciLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0ic2xhdmVzLWNvbmZpZy1jb250YWluZXIiPlxuICA8bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICAgIDxoMj57eyBcJ2dhdGV3YXkuc2VydmVyLXNsYXZlXCcgfCB0cmFuc2xhdGUgfX08L2gyPlxuICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgPGRpdiBbdGItaGVscF09Im1vZGJ1c0hlbHBMaW5rIj48L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L21hdC10b29sYmFyPlxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBbZm9ybUdyb3VwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIj5cbiAgICA8ZGl2IGNsYXNzPSJzdHJva2VkIHRiLWZvcm0tcGFuZWwiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggcm93IHNwYWNlLWJldHdlZW4gYWxpZ24tY2VudGVyIG5vLWdhcCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuc2VydmVyLWNvbm5lY3Rpb248L2Rpdj5cbiAgICAgICAgICA8dGItdG9nZ2xlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiIGFwcGVhcmFuY2U9ImZpbGwiPlxuICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBtb2RidXNQcm90b2NvbFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj57eyBNb2RidXNQcm90b2NvbExhYmVsc01hcC5nZXQodHlwZSkgfX08L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyJcbiAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ob3N0XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5Lmhvc3Q8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iaG9zdCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuaG9zdC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIGVsc2Ugc2VyaWFsUG9ydCJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiXG4gICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSJ7e3BvcnRMaW1pdHMuTUlOfX0iIG1heD0ie3twb3J0TGltaXRzLk1BWH19IlxuICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKSB8IGdldEdhdGV3YXlQb3J0VG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ21pblwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2VyaWFsUG9ydD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc2VyaWFsLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucG9ydDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJpYWxQb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkucG9ydC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzZXJpYWxQb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2VyaWFsUG9ydFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmZyYW1lci10eXBlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5tZXRob2RcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwgPyBtb2RidXNTZXJpYWxNZXRob2RUeXBlcyA6IG1vZGJ1c01ldGhvZFR5cGVzIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT0ibWV0aG9kIj57eyBNb2RidXNNZXRob2RMYWJlbHNNYXAuZ2V0KG1ldGhvZCkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJhdWRyYXRlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJhdWRyYXRlPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJiYXVkcmF0ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCByYXRlIG9mIG1vZGJ1c0JhdWRyYXRlcyIgW3ZhbHVlXT0icmF0ZSI+e3sgcmF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ieXRlc2l6ZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlc2l6ZTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYnl0ZXNpemUiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgc2l6ZSBvZiBtb2RidXNCeXRlU2l6ZXMiIFt2YWx1ZV09InNpemUiPnt7IHNpemUgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc3RvcGJpdHNcJyB8IHRyYW5zbGF0ZSB9fSIgIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3BiaXRzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzdG9wYml0cyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucGFyaXR5XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnBhcml0eTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icGFyaXR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHBhcml0eSBvZiBtb2RidXNQYXJpdGllcyIgW3ZhbHVlXT0icGFyaXR5Ij57eyBNb2RidXNQYXJpdHlMYWJlbHNNYXAuZ2V0KHBhcml0eSkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic3RyaWN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5zdHJpY3RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0cmljdFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLnVuaXQtaWRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkudW5pdC1pZDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idW5pdElkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudW5pdC1pZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCd1bml0SWRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1uYW1lPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2UtbmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLXByb2ZpbGU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlVHlwZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1wcm9maWxlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9ImRhdGEuaGlkZU5ld0ZpZWxkcyBlbHNlIHJlcG9ydFN0cmF0ZWd5IiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InNlbmREYXRhT25seU9uQ2hhbmdlIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWRhdGEtb24tY2hhbmdlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcmVwb3J0U3RyYXRlZ3k+XG4gICAgICAgICAgPHRiLXJlcG9ydC1zdHJhdGVneSBbZGVmYXVsdFZhbHVlXT0iUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWUuRGV2aWNlIiBmb3JtQ29udHJvbE5hbWU9InJlcG9ydFN0cmF0ZWd5IiBbaXNFeHBhbnNpb25Nb2RlXT0idHJ1ZSIvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuYWR2YW5jZWQtY29ubmVjdGlvbi1zZXR0aW5nczwvZGl2PlxuICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3Rpb24tdGltZW91dFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0aW9uLXRpbWVvdXQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRpbWVvdXQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuYnl0ZS1vcmRlclwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlLW9yZGVyPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJieXRlT3JkZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndvcmQtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud29yZC1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0id29yZE9yZGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBvcmRlciBvZiBtb2RidXNPcmRlclR5cGUiIFt2YWx1ZV09Im9yZGVyIj57eyBvcmRlciB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCB0Yi1zbGlkZS10b2dnbGUiPlxuICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ic2hvd1NlY3VyaXR5Q29udHJvbC52YWx1ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmeExheW91dEFsaWduPSJjZW50ZXIiIFtmb3JtQ29udHJvbF09InNob3dTZWN1cml0eUNvbnRyb2wiIGNsYXNzPSJtYXQtc2xpZGUiIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGxzLWNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICA8dGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZyBjbGFzcz0ic2VjdXJpdHktY29uZmlnIiBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5Ij48L3RiLW1vZGJ1cy1zZWN1cml0eS1jb25maWc+XG4gICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJpZXMiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5yZXRyaWVzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllc1wnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmV0cnlPbkVtcHR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1lbXB0eVwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJldHJpZXMtb24tZW1wdHlcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJ5T25JbnZhbGlkIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoLTI2MCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICBnYXRld2F5LnBvbGwtcGVyaW9kXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb2xsUGVyaW9kIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgtMjYwIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5jb25uZWN0LWF0dGVtcHQtdGltZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtdGltZTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY29ubmVjdEF0dGVtcHRUaW1lTXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3QtYXR0ZW1wdC1jb3VudFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtY291bnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImNvbm5lY3RBdHRlbXB0Q291bnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ3YWl0QWZ0ZXJGYWlsZWRBdHRlbXB0c01zIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgPHRiLW1vZGJ1cy12YWx1ZXMgW3NpbmdsZU1vZGVdPSJ0cnVlIiBbaGlkZU5ld0ZpZWxkc109ImRhdGEuaGlkZU5ld0ZpZWxkcyIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZXMiPjwvdGItbW9kYnVzLXZhbHVlcz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIGNka0ZvY3VzSW5pdGlhbFxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0iYWRkKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5pbnZhbGlkIHx8ICFzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5kaXJ0eSI+XG4gICAgICB7eyBkYXRhLmJ1dHRvblRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnNsYXZlcy1jb25maWctY29udGFpbmVye3dpZHRoOjgwdnc7bWF4LXdpZHRoOjkwMHB4fTpob3N0IC5zbGF2ZS1uYW1lLWxhYmVse21hcmdpbi1yaWdodDoxNnB4O2NvbG9yOiMwMDAwMDBkZX06aG9zdCAuZml4ZWQtdGl0bGUtd2lkdGgtMjYwe21pbi13aWR0aDoyNjBweH06aG9zdCA6Om5nLWRlZXAgLnNlY3VyaXR5LWNvbmZpZyAuZml4ZWQtdGl0bGUtd2lkdGh7bWluLXdpZHRoOjIzMHB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmR0LkhlbHBDb21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oZWxwXSIsaW5wdXRzOlsidGItaGVscCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpKZS5NYXREaWFsb2dBY3Rpb25zLHNlbGVjdG9yOiJbbWF0LWRpYWxvZy1hY3Rpb25zXSwgbWF0LWRpYWxvZy1hY3Rpb25zLCBbbWF0RGlhbG9nQWN0aW9uc10iLGlucHV0czpbImFsaWduIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQ29udGVudCxzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWwsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwiLGlucHV0czpbImhpZGVUb2dnbGUiLCJ0b2dnbGVQb3NpdGlvbiJdLG91dHB1dHM6WyJhZnRlckV4cGFuZCIsImFmdGVyQ29sbGFwc2UiXSxleHBvcnRBczpbIm1hdEV4cGFuc2lvblBhbmVsIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIixpbnB1dHM6WyJleHBhbmRlZEhlaWdodCIsImNvbGxhcHNlZEhlaWdodCIsInRhYkluZGV4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxUaXRsZSxzZWxlY3RvcjoibWF0LXBhbmVsLXRpdGxlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OdW1iZXJWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVtuZ01vZGVsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1pblZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLGlucHV0czpbIm1pbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1heFZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21heF1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21heF1bbmdNb2RlbF0iLGlucHV0czpbIm1heCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WWUuVHJ1bmNhdGVXaXRoVG9vbHRpcERpcmVjdGl2ZSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bnQuVG9nZ2xlT3B0aW9uLHNlbGVjdG9yOiJ0Yi10b2dnbGUtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmF0LlRvZ2dsZVNlbGVjdENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXNlbGVjdCIsaW5wdXRzOlsiZGlzYWJsZWQiLCJzZWxlY3RNZWRpYUJyZWFrcG9pbnQiLCJhcHBlYXJhbmNlIiwiZGlzYWJsZVBhZ2luYXRpb24iLCJmaWxsSGVpZ2h0IiwiZXh0cmFQYWRkaW5nIiwicHJpbWFyeUJhY2tncm91bmQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp5byxzZWxlY3RvcjoidGItbW9kYnVzLXZhbHVlcyIsaW5wdXRzOlsic2luZ2xlTW9kZSIsImhpZGVOZXdGaWVsZHMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpibyxzZWxlY3RvcjoidGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZyIsaW5wdXRzOlsiaXNNYXN0ZXIiXX0se2tpbmQ6InBpcGUiLHR5cGU6d2EsbmFtZToiZ2V0R2F0ZXdheVBvcnRUb29sdGlwIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpnbyxzZWxlY3RvcjoidGItcmVwb3J0LXN0cmF0ZWd5IixpbnB1dHM6WyJpc0V4cGFuc2lvbk1vZGUiLCJkZWZhdWx0VmFsdWUiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJNb2RidXNMZWdhY3lTbGF2ZURpYWxvZ0NvbXBvbmVudCIsdm8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6dm8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1sZWdhY3ktc2xhdmUtZGlhbG9nIixjaGFuZ2VEZXRlY3Rpb246ZC5PblB1c2gsc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQseW8sYm8sd2EsZ29dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0ic2xhdmVzLWNvbmZpZy1jb250YWluZXIiPlxuICA8bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICAgIDxoMj57eyBcJ2dhdGV3YXkuc2VydmVyLXNsYXZlXCcgfCB0cmFuc2xhdGUgfX08L2gyPlxuICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgPGRpdiBbdGItaGVscF09Im1vZGJ1c0hlbHBMaW5rIj48L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L21hdC10b29sYmFyPlxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBbZm9ybUdyb3VwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIj5cbiAgICA8ZGl2IGNsYXNzPSJzdHJva2VkIHRiLWZvcm0tcGFuZWwiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggcm93IHNwYWNlLWJldHdlZW4gYWxpZ24tY2VudGVyIG5vLWdhcCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuc2VydmVyLWNvbm5lY3Rpb248L2Rpdj5cbiAgICAgICAgICA8dGItdG9nZ2xlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiIGFwcGVhcmFuY2U9ImZpbGwiPlxuICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBtb2RidXNQcm90b2NvbFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj57eyBNb2RidXNQcm90b2NvbExhYmVsc01hcC5nZXQodHlwZSkgfX08L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyJcbiAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ob3N0XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5Lmhvc3Q8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iaG9zdCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuaG9zdC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIGVsc2Ugc2VyaWFsUG9ydCJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiXG4gICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSJ7e3BvcnRMaW1pdHMuTUlOfX0iIG1heD0ie3twb3J0TGltaXRzLk1BWH19IlxuICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKSB8IGdldEdhdGV3YXlQb3J0VG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ21pblwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2VyaWFsUG9ydD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc2VyaWFsLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucG9ydDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJpYWxQb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkucG9ydC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzZXJpYWxQb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2VyaWFsUG9ydFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmZyYW1lci10eXBlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5tZXRob2RcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwgPyBtb2RidXNTZXJpYWxNZXRob2RUeXBlcyA6IG1vZGJ1c01ldGhvZFR5cGVzIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT0ibWV0aG9kIj57eyBNb2RidXNNZXRob2RMYWJlbHNNYXAuZ2V0KG1ldGhvZCkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJhdWRyYXRlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJhdWRyYXRlPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJiYXVkcmF0ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCByYXRlIG9mIG1vZGJ1c0JhdWRyYXRlcyIgW3ZhbHVlXT0icmF0ZSI+e3sgcmF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ieXRlc2l6ZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlc2l6ZTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYnl0ZXNpemUiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgc2l6ZSBvZiBtb2RidXNCeXRlU2l6ZXMiIFt2YWx1ZV09InNpemUiPnt7IHNpemUgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc3RvcGJpdHNcJyB8IHRyYW5zbGF0ZSB9fSIgIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3BiaXRzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzdG9wYml0cyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucGFyaXR5XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnBhcml0eTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icGFyaXR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHBhcml0eSBvZiBtb2RidXNQYXJpdGllcyIgW3ZhbHVlXT0icGFyaXR5Ij57eyBNb2RidXNQYXJpdHlMYWJlbHNNYXAuZ2V0KHBhcml0eSkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic3RyaWN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5zdHJpY3RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0cmljdFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLnVuaXQtaWRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkudW5pdC1pZDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idW5pdElkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudW5pdC1pZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCd1bml0SWRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1uYW1lPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2UtbmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLXByb2ZpbGU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlVHlwZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1wcm9maWxlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9ImRhdGEuaGlkZU5ld0ZpZWxkcyBlbHNlIHJlcG9ydFN0cmF0ZWd5IiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InNlbmREYXRhT25seU9uQ2hhbmdlIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWRhdGEtb24tY2hhbmdlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcmVwb3J0U3RyYXRlZ3k+XG4gICAgICAgICAgPHRiLXJlcG9ydC1zdHJhdGVneSBbZGVmYXVsdFZhbHVlXT0iUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWUuRGV2aWNlIiBmb3JtQ29udHJvbE5hbWU9InJlcG9ydFN0cmF0ZWd5IiBbaXNFeHBhbnNpb25Nb2RlXT0idHJ1ZSIvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuYWR2YW5jZWQtY29ubmVjdGlvbi1zZXR0aW5nczwvZGl2PlxuICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3Rpb24tdGltZW91dFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0aW9uLXRpbWVvdXQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRpbWVvdXQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuYnl0ZS1vcmRlclwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlLW9yZGVyPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJieXRlT3JkZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndvcmQtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud29yZC1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0id29yZE9yZGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBvcmRlciBvZiBtb2RidXNPcmRlclR5cGUiIFt2YWx1ZV09Im9yZGVyIj57eyBvcmRlciB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCB0Yi1zbGlkZS10b2dnbGUiPlxuICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ic2hvd1NlY3VyaXR5Q29udHJvbC52YWx1ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmeExheW91dEFsaWduPSJjZW50ZXIiIFtmb3JtQ29udHJvbF09InNob3dTZWN1cml0eUNvbnRyb2wiIGNsYXNzPSJtYXQtc2xpZGUiIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGxzLWNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICA8dGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZyBjbGFzcz0ic2VjdXJpdHktY29uZmlnIiBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5Ij48L3RiLW1vZGJ1cy1zZWN1cml0eS1jb25maWc+XG4gICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJpZXMiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5yZXRyaWVzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllc1wnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmV0cnlPbkVtcHR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1lbXB0eVwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJldHJpZXMtb24tZW1wdHlcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJ5T25JbnZhbGlkIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoLTI2MCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICBnYXRld2F5LnBvbGwtcGVyaW9kXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb2xsUGVyaW9kIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgtMjYwIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5jb25uZWN0LWF0dGVtcHQtdGltZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtdGltZTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY29ubmVjdEF0dGVtcHRUaW1lTXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3QtYXR0ZW1wdC1jb3VudFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtY291bnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImNvbm5lY3RBdHRlbXB0Q291bnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ3YWl0QWZ0ZXJGYWlsZWRBdHRlbXB0c01zIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgPHRiLW1vZGJ1cy12YWx1ZXMgW3NpbmdsZU1vZGVdPSJ0cnVlIiBbaGlkZU5ld0ZpZWxkc109ImRhdGEuaGlkZU5ld0ZpZWxkcyIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZXMiPjwvdGItbW9kYnVzLXZhbHVlcz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIGNka0ZvY3VzSW5pdGlhbFxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0iYWRkKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5pbnZhbGlkIHx8ICFzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5kaXJ0eSI+XG4gICAgICB7eyBkYXRhLmJ1dHRvblRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnNsYXZlcy1jb25maWctY29udGFpbmVye3dpZHRoOjgwdnc7bWF4LXdpZHRoOjkwMHB4fTpob3N0IC5zbGF2ZS1uYW1lLWxhYmVse21hcmdpbi1yaWdodDoxNnB4O2NvbG9yOiMwMDAwMDBkZX06aG9zdCAuZml4ZWQtdGl0bGUtd2lkdGgtMjYwe21pbi13aWR0aDoyNjBweH06aG9zdCA6Om5nLWRlZXAgLnNlY3VyaXR5LWNvbmZpZyAuZml4ZWQtdGl0bGUtd2lkdGh7bWluLXdpZHRoOjIzMHB4fVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9LHt0eXBlOm90LlN0b3JlfSx7dHlwZTppdC5Sb3V0ZXJ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpwLGFyZ3M6W1hlXX1dfSx7dHlwZTpKZS5NYXREaWFsb2dSZWZ9XX0pO2NsYXNzIHdve2NvbnN0cnVjdG9yKGUsdCxuLGEsbyl7dGhpcy50cmFuc2xhdGU9ZSx0aGlzLmRpYWxvZz10LHRoaXMuZGlhbG9nU2VydmljZT1uLHRoaXMuZmI9YSx0aGlzLmNkcj1vLHRoaXMuaXNMZWdhY3k9ITEsdGhpcy50ZXh0U2VhcmNoTW9kZT0hMSx0aGlzLnRleHRTZWFyY2g9dGhpcy5mYi5jb250cm9sKCIiLHtub25OdWxsYWJsZTohMH0pLHRoaXMuTW9kYnVzUHJvdG9jb2xMYWJlbHNNYXA9em4sdGhpcy5vbkNoYW5nZT0oKT0+e30sdGhpcy5vblRvdWNoZWQ9KCk9Pnt9LHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMubWFzdGVyRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe3NsYXZlczp0aGlzLmZiLmFycmF5KFtdKX0pLHRoaXMuZGF0YVNvdXJjZT1uZXcgQ299Z2V0IHNsYXZlcygpe3JldHVybiB0aGlzLm1hc3RlckZvcm1Hcm91cC5nZXQoInNsYXZlcyIpfW5nT25Jbml0KCl7dGhpcy5tYXN0ZXJGb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMudXBkYXRlVGFibGVEYXRhKGUuc2xhdmVzKSx0aGlzLm9uQ2hhbmdlKGUpLHRoaXMub25Ub3VjaGVkKCl9KSl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9bmdBZnRlclZpZXdJbml0KCl7dGhpcy50ZXh0U2VhcmNoLnZhbHVlQ2hhbmdlcy5waXBlKFZlKDE1MCksQmUoKChlLHQpPT4oZT8/IiIpPT09dC50cmltKCkpKSxOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT50aGlzLnVwZGF0ZVRhYmxlRGF0YSh0aGlzLnNsYXZlcy52YWx1ZSxlLnRyaW0oKSkpKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMub25DaGFuZ2U9ZX1yZWdpc3Rlck9uVG91Y2hlZChlKXt0aGlzLm9uVG91Y2hlZD1lfXdyaXRlVmFsdWUoZSl7dGhpcy5zbGF2ZXMuY2xlYXIoKSx0aGlzLnB1c2hEYXRhQXNGb3JtQXJyYXlzKGUuc2xhdmVzKX1lbnRlckZpbHRlck1vZGUoKXt0aGlzLnRleHRTZWFyY2hNb2RlPSEwLHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtjb25zdCBlPXRoaXMuc2VhcmNoSW5wdXRGaWVsZC5uYXRpdmVFbGVtZW50O2UuZm9jdXMoKSxlLnNldFNlbGVjdGlvblJhbmdlKDAsMCl9ZXhpdEZpbHRlck1vZGUoKXt0aGlzLnVwZGF0ZVRhYmxlRGF0YSh0aGlzLnNsYXZlcy52YWx1ZSksdGhpcy50ZXh0U2VhcmNoTW9kZT0hMSx0aGlzLnRleHRTZWFyY2gucmVzZXQoKX1tYW5hZ2VTbGF2ZShlLHQpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCk7Y29uc3Qgbj1pZSh0KSxhPW4/dGhpcy5zbGF2ZXMuYXQodCkudmFsdWU6e307dGhpcy5nZXRTbGF2ZURpYWxvZyhhLG4/ImFjdGlvbi5hcHBseSI6ImFjdGlvbi5hZGQiKS5hZnRlckNsb3NlZCgpLnBpcGUoT2UoMSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2UmJihuP3RoaXMuc2xhdmVzLmF0KHQpLnBhdGNoVmFsdWUoZSk6dGhpcy5zbGF2ZXMucHVzaCh0aGlzLmZiLmNvbnRyb2woZSkpLHRoaXMubWFzdGVyRm9ybUdyb3VwLm1hcmtBc0RpcnR5KCkpfSkpfWdldFNsYXZlRGlhbG9nKGUsdCl7cmV0dXJuIHRoaXMuaXNMZWdhY3k/dGhpcy5kaWFsb2cub3Blbih2byx7ZGlzYWJsZUNsb3NlOiEwLHBhbmVsQ2xhc3M6WyJ0Yi1kaWFsb2ciLCJ0Yi1mdWxsc2NyZWVuLWRpYWxvZyJdLGRhdGE6e3ZhbHVlOmUsaGlkZU5ld0ZpZWxkczohMCxidXR0b25UaXRsZTp0fX0pOnRoaXMuZGlhbG9nLm9wZW4oeG8se2Rpc2FibGVDbG9zZTohMCxwYW5lbENsYXNzOlsidGItZGlhbG9nIiwidGItZnVsbHNjcmVlbi1kaWFsb2ciXSxkYXRhOnt2YWx1ZTplLGJ1dHRvblRpdGxlOnQsaGlkZU5ld0ZpZWxkczohMX19KX1kZWxldGVTbGF2ZShlLHQpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0odGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5kZWxldGUtc2xhdmUtdGl0bGUiKSwiIix0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJhY3Rpb24ubm8iKSx0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJhY3Rpb24ueWVzIiksITApLnBpcGUoT2UoMSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2UmJih0aGlzLnNsYXZlcy5yZW1vdmVBdCh0KSx0aGlzLm1hc3RlckZvcm1Hcm91cC5tYXJrQXNEaXJ0eSgpKX0pKX11cGRhdGVUYWJsZURhdGEoZSx0KXt0JiYoZT1lLmZpbHRlcigoZT0+T2JqZWN0LnZhbHVlcyhlKS5zb21lKChlPT5lLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0LnRvTG93ZXJDYXNlKCkpKSkpKSksdGhpcy5kYXRhU291cmNlLmxvYWREYXRhKGUpfXB1c2hEYXRhQXNGb3JtQXJyYXlzKGUpe2U/Lmxlbmd0aCYmZS5mb3JFYWNoKChlPT50aGlzLnNsYXZlcy5wdXNoKHRoaXMuZmIuY29udHJvbChlKSkpKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOndvLGRlcHM6W3t0b2tlbjpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0b2tlbjpKZS5NYXREaWFsb2d9LHt0b2tlbjpYLkRpYWxvZ1NlcnZpY2V9LHt0b2tlbjptZS5Gb3JtQnVpbGRlcn0se3Rva2VuOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOndvLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItbW9kYnVzLW1hc3Rlci10YWJsZSIsaW5wdXRzOntpc0xlZ2FjeToiaXNMZWdhY3kifSxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT53bykpLG11bHRpOiEwfV0sdmlld1F1ZXJpZXM6W3twcm9wZXJ0eU5hbWU6InNlYXJjaElucHV0RmllbGQiLGZpcnN0OiEwLHByZWRpY2F0ZTpbInNlYXJjaElucHV0Il0sZGVzY2VuZGFudHM6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItbWFzdGVyLXRhYmxlIHRiLWFic29sdXRlLWZpbGwiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggY2VudGVyIj57eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLW1hc3RlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGZ4RmxleCBmeExheW91dD0iY29sdW1uIiBjbGFzcz0idGItbWFzdGVyLXRhYmxlLWNvbnRlbnQiPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIiBbZnhTaG93XT0iIXRleHRTZWFyY2hNb2RlIj5cbiAgICAgIDxkaXYgY2xhc3M9Im1hdC10b29sYmFyLXRvb2xzIiAqbmdJZj0iKGRhdGFTb3VyY2UuaXNFbXB0eSgpIHwgYXN5bmMpID09PSBmYWxzZSI+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0ic3RhcnQgY2VudGVyIiBmeExheW91dC54cz0iY29sdW1uIiBmeExheW91dEFsaWduLnhzPSJjZW50ZXIgc3RhcnQiIGNsYXNzPSJ0aXRsZS1jb250YWluZXIiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Yi1tYXN0ZXItdGFibGUtdGl0bGUiPnt7IFwnZ2F0ZXdheS5zZXJ2ZXJzLXNsYXZlc1wnIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZVNsYXZlKCRldmVudCkiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uYWRkXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9ImVudGVyRmlsdGVyTW9kZSgpIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLnNlYXJjaFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXRvb2xiYXI+XG4gICAgPG1hdC10b29sYmFyIGNsYXNzPSJtYXQtbWRjLXRhYmxlLXRvb2xiYXIiIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSI+XG4gICAgICA8ZGl2IGNsYXNzPSJtYXQtdG9vbGJhci10b29scyI+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+Jm5ic3A7PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0ICNzZWFyY2hJbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPSJ0ZXh0U2VhcmNoIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdjb21tb24uZW50ZXItc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0iZXhpdEZpbHRlck1vZGUoKSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5jbG9zZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1jb250YWluZXIiPlxuICAgICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09ImRhdGFTb3VyY2UiPlxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPSJcJ2RldmljZU5hbWVcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS5kZXZpY2UtbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgc2xhdmUiIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iPlxuICAgICAgICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgc2xhdmVbXCdkZXZpY2VOYW1lXCddIH19PC9kaXY+XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW21hdENvbHVtbkRlZl09IlwnaW5mb1wnIj5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmluZm9cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlIiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IHNsYXZlW1wnaG9zdFwnXSA/PyBzbGF2ZVtcJ3BvcnRcJ10gfX08L2Rpdj5cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT0iXCd1bml0SWRcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS51bml0LWlkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBzbGF2ZSIgY2xhc3M9InRhYmxlLXZhbHVlLWNvbHVtbiI+XG4gICAgICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBzbGF2ZVtcJ3VuaXRJZFwnXSB9fTwvZGl2PlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPSJcJ3R5cGVcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXY+e3sgXCdnYXRld2F5LnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlIiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIHt7IE1vZGJ1c1Byb3RvY29sTGFiZWxzTWFwLmdldChzbGF2ZVtcJ3R5cGVcJ10pIH19XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPSJhY3Rpb25zIiBzdGlja3lFbmQ+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGUuZ3QtbWRdPSJ7IG1pbldpZHRoOiBcJzk2cHhcJywgbWF4V2lkdGg6IFwnOTZweFwnLCB3aWR0aDogXCc5NnB4XCcsIHRleHRBbGlnbjogXCdjZW50ZXJcJ30iPlxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlOyBsZXQgaSA9IGluZGV4IlxuICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZS5ndC1tZF09InsgbWluV2lkdGg6IFwnOTZweFwnLCBtYXhXaWR0aDogXCc5NnB4XCcsIHdpZHRoOiBcJzk2cHhcJ30iPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyb3dBY3Rpb25zPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZVNsYXZlKCRldmVudCwgaSkiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmRlbGV0ZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlU2xhdmUoJGV2ZW50LCBpKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24+ZGVsZXRlPC90Yi1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8ZGl2IGZ4SGlkZSBmeFNob3cuZ3QtbWQgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0QWxpZ249ImVuZCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJyb3dBY3Rpb25zIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmeEhpZGUgZnhTaG93Lmx0LWxnIGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJlbmQiPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPSJjZWxsQWN0aW9uc01lbnUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8bWF0LW1lbnUgI2NlbGxBY3Rpb25zTWVudT0ibWF0TWVudSIgeFBvc2l0aW9uPSJiZWZvcmUiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJyb3dBY3Rpb25zIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bWF0LWhlYWRlci1yb3cgW25nQ2xhc3NdPSJ7XCdtYXQtcm93LXNlbGVjdFwnOiB0cnVlfSIgKm1hdEhlYWRlclJvd0RlZj0iW1wnZGV2aWNlTmFtZVwnLCBcJ2luZm9cJywgXCd1bml0SWRcJywgXCd0eXBlXCcsIFwnYWN0aW9uc1wnXTsgc3RpY2t5OiB0cnVlIj48L21hdC1oZWFkZXItcm93PlxuICAgICAgICA8bWF0LXJvdyAqbWF0Um93RGVmPSJsZXQgc2xhdmU7IGNvbHVtbnM6IFtcJ2RldmljZU5hbWVcJywgXCdpbmZvXCcsIFwndW5pdElkXCcsIFwndHlwZVwnLCBcJ2FjdGlvbnNcJ10iPjwvbWF0LXJvdz5cbiAgICAgIDwvdGFibGU+XG4gICAgICA8c2VjdGlvbiBbZnhTaG93XT0iIXRleHRTZWFyY2hNb2RlICYmIChkYXRhU291cmNlLmlzRW1wdHkoKSB8IGFzeW5jKSIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgIGNsYXNzPSJtYXQtaGVhZGxpbmUtNSB0Yi1hYnNvbHV0ZS1maWxsIHRiLWFkZC1uZXciPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9ImNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VTbGF2ZSgkZXZlbnQpIj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC05NiI+YWRkPC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3Bhbj57eyBcJ2dhdGV3YXkuYWRkLXNsYXZlXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9zZWN0aW9uPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSAmJiAoZGF0YVNvdXJjZS5pc0VtcHR5KCkgfCBhc3luYykiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCIgdHJhbnNsYXRlPlxuICAgICAgd2lkZ2V0Lm5vLWRhdGEtZm91bmRcbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojZmZmO292ZXJmbG93OmhpZGRlbn06aG9zdCAudGItbWFzdGVyLXRhYmxlIC50Yi1tYXN0ZXItdGFibGUtY29udGVudCAubWF0LXRvb2xiYXItdG9vbHN7bWluLWhlaWdodDphdXRvfTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50aXRsZS1jb250YWluZXJ7b3ZlcmZsb3c6aGlkZGVufTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50Yi1tYXN0ZXItdGFibGUtdGl0bGV7cGFkZGluZy1yaWdodDoyMHB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306aG9zdCAudGItbWFzdGVyLXRhYmxlIC50Yi1tYXN0ZXItdGFibGUtY29udGVudCAudGFibGUtY29udGFpbmVye292ZXJmbG93OmF1dG99Omhvc3QgLnRiLW1hc3Rlci10YWJsZSAudGItbWFzdGVyLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lciAubWF0LW1kYy10YWJsZXt0YWJsZS1sYXlvdXQ6Zml4ZWQ7bWluLXdpZHRoOjQ1MHB4fTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50YWJsZS1jb250YWluZXIgLm1hdC1tZGMtdGFibGUgLnRhYmxlLXZhbHVlLWNvbHVtbntwYWRkaW5nOjAgMTJweDt3aWR0aDozOCV9Omhvc3QgLm5vLWRhdGEtZm91bmR7aGVpZ2h0OmNhbGMoMTAwJSAtIDEyMHB4KX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCl7Omhvc3QgLm1hdC10b29sYmFye2hlaWdodDphdXRvO21pbi1oZWlnaHQ6MTAwcHh9Omhvc3QgLm1hdC10b29sYmFyIC50Yi1tYXN0ZXItdGFibGUtdGl0bGV7cGFkZGluZy1ib3R0b206NXB4O3dpZHRoOjEwMCV9fTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxse2N1cnNvcjpwb2ludGVyfTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxsIC5tYXQtaWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4O2ZvbnQtc2l6ZToyNHB4O2NvbG9yOiM3NTc1NzV9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJuZ21vZHVsZSIsdHlwZTpIfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdDbGFzcyxzZWxlY3RvcjoiW25nQ2xhc3NdIixpbnB1dHM6WyJjbGFzcyIsIm5nQ2xhc3MiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nVGVtcGxhdGVPdXRsZXQsc2VsZWN0b3I6IltuZ1RlbXBsYXRlT3V0bGV0XSIsaW5wdXRzOlsibmdUZW1wbGF0ZU91dGxldENvbnRleHQiLCJuZ1RlbXBsYXRlT3V0bGV0IiwibmdUZW1wbGF0ZU91dGxldEluamVjdG9yIl19LHtraW5kOiJwaXBlIix0eXBlOl8uQXN5bmNQaXBlLG5hbWU6ImFzeW5jIn0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QnV0dG9uLHNlbGVjdG9yOiIgICAgYnV0dG9uW21hdC1idXR0b25dLCBidXR0b25bbWF0LXJhaXNlZC1idXR0b25dLCBidXR0b25bbWF0LWZsYXQtYnV0dG9uXSwgICAgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0gICIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpodC5NYXRNZW51LHNlbGVjdG9yOiJtYXQtbWVudSIsaW5wdXRzOlsiYmFja2Ryb3BDbGFzcyIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwieFBvc2l0aW9uIiwieVBvc2l0aW9uIiwib3ZlcmxhcFRyaWdnZXIiLCJoYXNCYWNrZHJvcCIsImNsYXNzIiwiY2xhc3NMaXN0Il0sb3V0cHV0czpbImNsb3NlZCIsImNsb3NlIl0sZXhwb3J0QXM6WyJtYXRNZW51Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6aHQuTWF0TWVudVRyaWdnZXIsc2VsZWN0b3I6IlttYXQtbWVudS10cmlnZ2VyLWZvcl0sIFttYXRNZW51VHJpZ2dlckZvcl0iLGlucHV0czpbIm1hdC1tZW51LXRyaWdnZXItZm9yIiwibWF0TWVudVRyaWdnZXJGb3IiLCJtYXRNZW51VHJpZ2dlckRhdGEiLCJtYXRNZW51VHJpZ2dlclJlc3RvcmVGb2N1cyJdLG91dHB1dHM6WyJtZW51T3BlbmVkIiwib25NZW51T3BlbiIsIm1lbnVDbG9zZWQiLCJvbk1lbnVDbG9zZSJdLGV4cG9ydEFzOlsibWF0TWVudVRyaWdnZXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdFRhYmxlLHNlbGVjdG9yOiJtYXQtdGFibGUsIHRhYmxlW21hdC10YWJsZV0iLGV4cG9ydEFzOlsibWF0VGFibGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlckNlbGxEZWYsc2VsZWN0b3I6IlttYXRIZWFkZXJDZWxsRGVmXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRIZWFkZXJSb3dEZWYsc2VsZWN0b3I6IlttYXRIZWFkZXJSb3dEZWZdIixpbnB1dHM6WyJtYXRIZWFkZXJSb3dEZWYiLCJtYXRIZWFkZXJSb3dEZWZTdGlja3kiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdENvbHVtbkRlZixzZWxlY3RvcjoiW21hdENvbHVtbkRlZl0iLGlucHV0czpbIm1hdENvbHVtbkRlZiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Q2VsbERlZixzZWxlY3RvcjoiW21hdENlbGxEZWZdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdFJvd0RlZixzZWxlY3RvcjoiW21hdFJvd0RlZl0iLGlucHV0czpbIm1hdFJvd0RlZkNvbHVtbnMiLCJtYXRSb3dEZWZXaGVuIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRIZWFkZXJDZWxsLHNlbGVjdG9yOiJtYXQtaGVhZGVyLWNlbGwsIHRoW21hdC1oZWFkZXItY2VsbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Q2VsbCxzZWxlY3RvcjoibWF0LWNlbGwsIHRkW21hdC1jZWxsXSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Yi5NYXRIZWFkZXJSb3csc2VsZWN0b3I6Im1hdC1oZWFkZXItcm93LCB0clttYXQtaGVhZGVyLXJvd10iLGV4cG9ydEFzOlsibWF0SGVhZGVyUm93Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Yi5NYXRSb3csc2VsZWN0b3I6Im1hdC1yb3csIHRyW21hdC1yb3ddIixleHBvcnRBczpbIm1hdFJvdyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRdLCBbZnhMYXlvdXQueHNdLCBbZnhMYXlvdXQuc21dLCBbZnhMYXlvdXQubWRdLCAgW2Z4TGF5b3V0LmxnXSwgW2Z4TGF5b3V0LnhsXSwgW2Z4TGF5b3V0Lmx0LXNtXSwgW2Z4TGF5b3V0Lmx0LW1kXSwgIFtmeExheW91dC5sdC1sZ10sIFtmeExheW91dC5sdC14bF0sIFtmeExheW91dC5ndC14c10sIFtmeExheW91dC5ndC1zbV0sICBbZnhMYXlvdXQuZ3QtbWRdLCBbZnhMYXlvdXQuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dCIsImZ4TGF5b3V0LnhzIiwiZnhMYXlvdXQuc20iLCJmeExheW91dC5tZCIsImZ4TGF5b3V0LmxnIiwiZnhMYXlvdXQueGwiLCJmeExheW91dC5sdC1zbSIsImZ4TGF5b3V0Lmx0LW1kIiwiZnhMYXlvdXQubHQtbGciLCJmeExheW91dC5sdC14bCIsImZ4TGF5b3V0Lmd0LXhzIiwiZnhMYXlvdXQuZ3Qtc20iLCJmeExheW91dC5ndC1tZCIsImZ4TGF5b3V0Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOksuRGVmYXVsdFNob3dIaWRlRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeFNob3ddLCBbZnhTaG93LnByaW50XSwgIFtmeFNob3cueHNdLCBbZnhTaG93LnNtXSwgW2Z4U2hvdy5tZF0sIFtmeFNob3cubGddLCBbZnhTaG93LnhsXSwgIFtmeFNob3cubHQtc21dLCBbZnhTaG93Lmx0LW1kXSwgW2Z4U2hvdy5sdC1sZ10sIFtmeFNob3cubHQteGxdLCAgW2Z4U2hvdy5ndC14c10sIFtmeFNob3cuZ3Qtc21dLCBbZnhTaG93Lmd0LW1kXSwgW2Z4U2hvdy5ndC1sZ10sICBbZnhIaWRlXSwgW2Z4SGlkZS5wcmludF0sICBbZnhIaWRlLnhzXSwgW2Z4SGlkZS5zbV0sIFtmeEhpZGUubWRdLCBbZnhIaWRlLmxnXSwgW2Z4SGlkZS54bF0sICBbZnhIaWRlLmx0LXNtXSwgW2Z4SGlkZS5sdC1tZF0sIFtmeEhpZGUubHQtbGddLCBbZnhIaWRlLmx0LXhsXSwgIFtmeEhpZGUuZ3QteHNdLCBbZnhIaWRlLmd0LXNtXSwgW2Z4SGlkZS5ndC1tZF0sIFtmeEhpZGUuZ3QtbGddIixpbnB1dHM6WyJmeFNob3ciLCJmeFNob3cucHJpbnQiLCJmeFNob3cueHMiLCJmeFNob3cuc20iLCJmeFNob3cubWQiLCJmeFNob3cubGciLCJmeFNob3cueGwiLCJmeFNob3cubHQtc20iLCJmeFNob3cubHQtbWQiLCJmeFNob3cubHQtbGciLCJmeFNob3cubHQteGwiLCJmeFNob3cuZ3QteHMiLCJmeFNob3cuZ3Qtc20iLCJmeFNob3cuZ3QtbWQiLCJmeFNob3cuZ3QtbGciLCJmeEhpZGUiLCJmeEhpZGUucHJpbnQiLCJmeEhpZGUueHMiLCJmeEhpZGUuc20iLCJmeEhpZGUubWQiLCJmeEhpZGUubGciLCJmeEhpZGUueGwiLCJmeEhpZGUubHQtc20iLCJmeEhpZGUubHQtbWQiLCJmeEhpZGUubHQtbGciLCJmeEhpZGUubHQteGwiLCJmeEhpZGUuZ3QteHMiLCJmeEhpZGUuZ3Qtc20iLCJmeEhpZGUuZ3QtbWQiLCJmeEhpZGUuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRDbGFzc0RpcmVjdGl2ZSxzZWxlY3RvcjoiICBbbmdDbGFzc10sIFtuZ0NsYXNzLnhzXSwgW25nQ2xhc3Muc21dLCBbbmdDbGFzcy5tZF0sIFtuZ0NsYXNzLmxnXSwgW25nQ2xhc3MueGxdLCAgW25nQ2xhc3MubHQtc21dLCBbbmdDbGFzcy5sdC1tZF0sIFtuZ0NsYXNzLmx0LWxnXSwgW25nQ2xhc3MubHQteGxdLCAgW25nQ2xhc3MuZ3QteHNdLCBbbmdDbGFzcy5ndC1zbV0sIFtuZ0NsYXNzLmd0LW1kXSwgW25nQ2xhc3MuZ3QtbGddIixpbnB1dHM6WyJuZ0NsYXNzIiwibmdDbGFzcy54cyIsIm5nQ2xhc3Muc20iLCJuZ0NsYXNzLm1kIiwibmdDbGFzcy5sZyIsIm5nQ2xhc3MueGwiLCJuZ0NsYXNzLmx0LXNtIiwibmdDbGFzcy5sdC1tZCIsIm5nQ2xhc3MubHQtbGciLCJuZ0NsYXNzLmx0LXhsIiwibmdDbGFzcy5ndC14cyIsIm5nQ2xhc3MuZ3Qtc20iLCJuZ0NsYXNzLmd0LW1kIiwibmdDbGFzcy5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOksuRGVmYXVsdFN0eWxlRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtuZ1N0eWxlXSwgIFtuZ1N0eWxlLnhzXSwgW25nU3R5bGUuc21dLCBbbmdTdHlsZS5tZF0sIFtuZ1N0eWxlLmxnXSwgW25nU3R5bGUueGxdLCAgW25nU3R5bGUubHQtc21dLCBbbmdTdHlsZS5sdC1tZF0sIFtuZ1N0eWxlLmx0LWxnXSwgW25nU3R5bGUubHQteGxdLCAgW25nU3R5bGUuZ3QteHNdLCBbbmdTdHlsZS5ndC1zbV0sIFtuZ1N0eWxlLmd0LW1kXSwgW25nU3R5bGUuZ3QtbGddIixpbnB1dHM6WyJuZ1N0eWxlIiwibmdTdHlsZS54cyIsIm5nU3R5bGUuc20iLCJuZ1N0eWxlLm1kIiwibmdTdHlsZS5sZyIsIm5nU3R5bGUueGwiLCJuZ1N0eWxlLmx0LXNtIiwibmdTdHlsZS5sdC1tZCIsIm5nU3R5bGUubHQtbGciLCJuZ1N0eWxlLmx0LXhsIiwibmdTdHlsZS5ndC14cyIsIm5nU3R5bGUuZ3Qtc20iLCJuZ1N0eWxlLmd0LW1kIiwibmdTdHlsZS5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpidC5UYkljb25Db21wb25lbnQsc2VsZWN0b3I6InRiLWljb24iLGlucHV0czpbImNvbG9yIl0sZXhwb3J0QXM6WyJ0Ykljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJNb2RidXNNYXN0ZXJUYWJsZUNvbXBvbmVudCIsd28pLEhlKFt4dCgpXSx3by5wcm90b3R5cGUsImlzTGVnYWN5Iix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6d28sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1tYXN0ZXItdGFibGUiLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT53bykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsU2FdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItbWFzdGVyLXRhYmxlIHRiLWFic29sdXRlLWZpbGwiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggY2VudGVyIj57eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLW1hc3RlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGZ4RmxleCBmeExheW91dD0iY29sdW1uIiBjbGFzcz0idGItbWFzdGVyLXRhYmxlLWNvbnRlbnQiPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIiBbZnhTaG93XT0iIXRleHRTZWFyY2hNb2RlIj5cbiAgICAgIDxkaXYgY2xhc3M9Im1hdC10b29sYmFyLXRvb2xzIiAqbmdJZj0iKGRhdGFTb3VyY2UuaXNFbXB0eSgpIHwgYXN5bmMpID09PSBmYWxzZSI+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0ic3RhcnQgY2VudGVyIiBmeExheW91dC54cz0iY29sdW1uIiBmeExheW91dEFsaWduLnhzPSJjZW50ZXIgc3RhcnQiIGNsYXNzPSJ0aXRsZS1jb250YWluZXIiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Yi1tYXN0ZXItdGFibGUtdGl0bGUiPnt7IFwnZ2F0ZXdheS5zZXJ2ZXJzLXNsYXZlc1wnIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZVNsYXZlKCRldmVudCkiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uYWRkXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9ImVudGVyRmlsdGVyTW9kZSgpIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLnNlYXJjaFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXRvb2xiYXI+XG4gICAgPG1hdC10b29sYmFyIGNsYXNzPSJtYXQtbWRjLXRhYmxlLXRvb2xiYXIiIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSI+XG4gICAgICA8ZGl2IGNsYXNzPSJtYXQtdG9vbGJhci10b29scyI+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+Jm5ic3A7PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0ICNzZWFyY2hJbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPSJ0ZXh0U2VhcmNoIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdjb21tb24uZW50ZXItc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0iZXhpdEZpbHRlck1vZGUoKSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5jbG9zZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1jb250YWluZXIiPlxuICAgICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09ImRhdGFTb3VyY2UiPlxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPSJcJ2RldmljZU5hbWVcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS5kZXZpY2UtbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgc2xhdmUiIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iPlxuICAgICAgICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgc2xhdmVbXCdkZXZpY2VOYW1lXCddIH19PC9kaXY+XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW21hdENvbHVtbkRlZl09IlwnaW5mb1wnIj5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmluZm9cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlIiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IHNsYXZlW1wnaG9zdFwnXSA/PyBzbGF2ZVtcJ3BvcnRcJ10gfX08L2Rpdj5cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT0iXCd1bml0SWRcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS51bml0LWlkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBzbGF2ZSIgY2xhc3M9InRhYmxlLXZhbHVlLWNvbHVtbiI+XG4gICAgICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBzbGF2ZVtcJ3VuaXRJZFwnXSB9fTwvZGl2PlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPSJcJ3R5cGVcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXY+e3sgXCdnYXRld2F5LnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlIiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIHt7IE1vZGJ1c1Byb3RvY29sTGFiZWxzTWFwLmdldChzbGF2ZVtcJ3R5cGVcJ10pIH19XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPSJhY3Rpb25zIiBzdGlja3lFbmQ+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGUuZ3QtbWRdPSJ7IG1pbldpZHRoOiBcJzk2cHhcJywgbWF4V2lkdGg6IFwnOTZweFwnLCB3aWR0aDogXCc5NnB4XCcsIHRleHRBbGlnbjogXCdjZW50ZXJcJ30iPlxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlOyBsZXQgaSA9IGluZGV4IlxuICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZS5ndC1tZF09InsgbWluV2lkdGg6IFwnOTZweFwnLCBtYXhXaWR0aDogXCc5NnB4XCcsIHdpZHRoOiBcJzk2cHhcJ30iPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyb3dBY3Rpb25zPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZVNsYXZlKCRldmVudCwgaSkiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmRlbGV0ZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlU2xhdmUoJGV2ZW50LCBpKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24+ZGVsZXRlPC90Yi1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8ZGl2IGZ4SGlkZSBmeFNob3cuZ3QtbWQgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0QWxpZ249ImVuZCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJyb3dBY3Rpb25zIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmeEhpZGUgZnhTaG93Lmx0LWxnIGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJlbmQiPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPSJjZWxsQWN0aW9uc01lbnUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8bWF0LW1lbnUgI2NlbGxBY3Rpb25zTWVudT0ibWF0TWVudSIgeFBvc2l0aW9uPSJiZWZvcmUiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJyb3dBY3Rpb25zIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bWF0LWhlYWRlci1yb3cgW25nQ2xhc3NdPSJ7XCdtYXQtcm93LXNlbGVjdFwnOiB0cnVlfSIgKm1hdEhlYWRlclJvd0RlZj0iW1wnZGV2aWNlTmFtZVwnLCBcJ2luZm9cJywgXCd1bml0SWRcJywgXCd0eXBlXCcsIFwnYWN0aW9uc1wnXTsgc3RpY2t5OiB0cnVlIj48L21hdC1oZWFkZXItcm93PlxuICAgICAgICA8bWF0LXJvdyAqbWF0Um93RGVmPSJsZXQgc2xhdmU7IGNvbHVtbnM6IFtcJ2RldmljZU5hbWVcJywgXCdpbmZvXCcsIFwndW5pdElkXCcsIFwndHlwZVwnLCBcJ2FjdGlvbnNcJ10iPjwvbWF0LXJvdz5cbiAgICAgIDwvdGFibGU+XG4gICAgICA8c2VjdGlvbiBbZnhTaG93XT0iIXRleHRTZWFyY2hNb2RlICYmIChkYXRhU291cmNlLmlzRW1wdHkoKSB8IGFzeW5jKSIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgIGNsYXNzPSJtYXQtaGVhZGxpbmUtNSB0Yi1hYnNvbHV0ZS1maWxsIHRiLWFkZC1uZXciPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9ImNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VTbGF2ZSgkZXZlbnQpIj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC05NiI+YWRkPC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3Bhbj57eyBcJ2dhdGV3YXkuYWRkLXNsYXZlXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9zZWN0aW9uPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSAmJiAoZGF0YVNvdXJjZS5pc0VtcHR5KCkgfCBhc3luYykiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCIgdHJhbnNsYXRlPlxuICAgICAgd2lkZ2V0Lm5vLWRhdGEtZm91bmRcbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojZmZmO292ZXJmbG93OmhpZGRlbn06aG9zdCAudGItbWFzdGVyLXRhYmxlIC50Yi1tYXN0ZXItdGFibGUtY29udGVudCAubWF0LXRvb2xiYXItdG9vbHN7bWluLWhlaWdodDphdXRvfTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50aXRsZS1jb250YWluZXJ7b3ZlcmZsb3c6aGlkZGVufTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50Yi1tYXN0ZXItdGFibGUtdGl0bGV7cGFkZGluZy1yaWdodDoyMHB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306aG9zdCAudGItbWFzdGVyLXRhYmxlIC50Yi1tYXN0ZXItdGFibGUtY29udGVudCAudGFibGUtY29udGFpbmVye292ZXJmbG93OmF1dG99Omhvc3QgLnRiLW1hc3Rlci10YWJsZSAudGItbWFzdGVyLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lciAubWF0LW1kYy10YWJsZXt0YWJsZS1sYXlvdXQ6Zml4ZWQ7bWluLXdpZHRoOjQ1MHB4fTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50YWJsZS1jb250YWluZXIgLm1hdC1tZGMtdGFibGUgLnRhYmxlLXZhbHVlLWNvbHVtbntwYWRkaW5nOjAgMTJweDt3aWR0aDozOCV9Omhvc3QgLm5vLWRhdGEtZm91bmR7aGVpZ2h0OmNhbGMoMTAwJSAtIDEyMHB4KX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCl7Omhvc3QgLm1hdC10b29sYmFye2hlaWdodDphdXRvO21pbi1oZWlnaHQ6MTAwcHh9Omhvc3QgLm1hdC10b29sYmFyIC50Yi1tYXN0ZXItdGFibGUtdGl0bGV7cGFkZGluZy1ib3R0b206NXB4O3dpZHRoOjEwMCV9fTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxse2N1cnNvcjpwb2ludGVyfTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxsIC5tYXQtaWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4O2ZvbnQtc2l6ZToyNHB4O2NvbG9yOiM3NTc1NzV9XG4nXX1dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0eXBlOkplLk1hdERpYWxvZ30se3R5cGU6WC5EaWFsb2dTZXJ2aWNlfSx7dHlwZTptZS5Gb3JtQnVpbGRlcn0se3R5cGU6dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHByb3BEZWNvcmF0b3JzOntzZWFyY2hJbnB1dEZpZWxkOlt7dHlwZTpvLGFyZ3M6WyJzZWFyY2hJbnB1dCJdfV0saXNMZWdhY3k6W3t0eXBlOmF9XX19KTtjbGFzcyBDbyBleHRlbmRzIFJ7Y29uc3RydWN0b3IoKXtzdXBlcigpfX1lKCJTbGF2ZXNEYXRhc291cmNlIixDbyk7Y2xhc3MgVG8gZXh0ZW5kcyB5YXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5lbmFibGVTbGF2ZUNvbnRyb2w9bmV3IHllKCExKSx0aGlzLmVuYWJsZVNsYXZlQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy51cGRhdGVTbGF2ZUVuYWJsaW5nKGUpLHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJzbGF2ZSIpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohIXRoaXMub25DaGFuZ2V9KX0pKX13cml0ZVZhbHVlKGUpe3N1cGVyLndyaXRlVmFsdWUoZSksdGhpcy5vbkVuYWJsZVNsYXZlQ29udHJvbChlKX12YWxpZGF0ZSgpe2NvbnN0e21hc3RlcjplLHNsYXZlOnR9PXRoaXMuYmFzaWNGb3JtR3JvdXAudmFsdWUsbj0hZT8uc2xhdmVzPy5sZW5ndGgmJihlZSh0LHt9KXx8IXQpO3JldHVybiF0aGlzLmJhc2ljRm9ybUdyb3VwLnZhbGlkfHxuP3tiYXNpY0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fTpudWxsfWluaXRCYXNpY0Zvcm1Hcm91cCgpe3JldHVybiB0aGlzLmZiLmdyb3VwKHttYXN0ZXI6W10sc2xhdmU6W119KX11cGRhdGVTbGF2ZUVuYWJsaW5nKGUpe2U/dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInNsYXZlIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KTp0aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgic2xhdmUiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KX1vbkVuYWJsZVNsYXZlQ29udHJvbChlKXt0aGlzLmVuYWJsZVNsYXZlQ29udHJvbC5zZXRWYWx1ZSghIWUuc2xhdmUmJiFlZShlLnNsYXZlLHt9KSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpUbyxkZXBzOltdLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkRpcmVjdGl2ZX0pfXN0YXRpY3t0aGlzLsm1ZGlyPXQuybXJtW5nRGVjbGFyZURpcmVjdGl2ZSh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6VG8sdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnR9KX19ZSgiTW9kYnVzQmFzaWNDb25maWdEaXJlY3RpdmUiLFRvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlRvLGRlY29yYXRvcnM6W3t0eXBlOnN9XSxjdG9yUGFyYW1ldGVyczooKT0+W119KTtjbGFzcyBTb3tjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy5Nb2RidXNQcm90b2NvbExhYmVsc01hcD16bix0aGlzLk1vZGJ1c01ldGhvZExhYmVsc01hcD1Lbix0aGlzLnBvcnRMaW1pdHM9RXQsdGhpcy5tb2RidXNQcm90b2NvbFR5cGVzPU9iamVjdC52YWx1ZXMoSG4pLHRoaXMubW9kYnVzTWV0aG9kVHlwZXM9T2JqZWN0LnZhbHVlcyhXbiksdGhpcy5tb2RidXNTZXJpYWxNZXRob2RUeXBlcz1PYmplY3QudmFsdWVzKGpuKSx0aGlzLm1vZGJ1c09yZGVyVHlwZT1PYmplY3QudmFsdWVzKEpuKSx0aGlzLk1vZGJ1c1Byb3RvY29sVHlwZT1Ibix0aGlzLm1vZGJ1c0JhdWRyYXRlcz1sYSx0aGlzLmlzU2xhdmVFbmFibGVkPSExLHRoaXMuc2VyaWFsU3BlY2lmaWNDb250cm9sS2V5cz1bInNlcmlhbFBvcnQiLCJiYXVkcmF0ZSJdLHRoaXMudGNwVWRwU3BlY2lmaWNDb250cm9sS2V5cz1bInBvcnQiLCJzZWN1cml0eSIsImhvc3QiXSx0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLnNob3dTZWN1cml0eUNvbnRyb2w9dGhpcy5mYi5jb250cm9sKCExKSx0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe3R5cGU6W0huLlRDUF0saG9zdDpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scG9ydDpbbnVsbCxbdWUucmVxdWlyZWQsdWUubWluKEV0Lk1JTiksdWUubWF4KEV0Lk1BWCldXSxzZXJpYWxQb3J0OlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxtZXRob2Q6W1duLlNPQ0tFVF0sdW5pdElkOltudWxsLFt1ZS5yZXF1aXJlZF1dLGJhdWRyYXRlOlt0aGlzLm1vZGJ1c0JhdWRyYXRlc1swXV0sZGV2aWNlTmFtZTpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sZGV2aWNlVHlwZTpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scG9sbFBlcmlvZDpbNWUzLFt1ZS5yZXF1aXJlZF1dLHNlbmREYXRhVG9UaGluZ3NCb2FyZDpbITFdLGJ5dGVPcmRlcjpbSm4uQklHXSx3b3JkT3JkZXI6W0puLkJJR10sc2VjdXJpdHk6W10saWRlbnRpdHk6dGhpcy5mYi5ncm91cCh7dmVuZG9yTmFtZTpbIiIsW3VlLnBhdHRlcm4oa3QpXV0scHJvZHVjdENvZGU6WyIiLFt1ZS5wYXR0ZXJuKGt0KV1dLHZlbmRvclVybDpbIiIsW3VlLnBhdHRlcm4oa3QpXV0scHJvZHVjdE5hbWU6WyIiLFt1ZS5wYXR0ZXJuKGt0KV1dLG1vZGVsTmFtZTpbIiIsW3VlLnBhdHRlcm4oa3QpXV19KSx2YWx1ZXM6W119KSx0aGlzLm9ic2VydmVWYWx1ZUNoYW5nZXMoKSx0aGlzLm9ic2VydmVUeXBlQ2hhbmdlKCksdGhpcy5vYnNlcnZlU2hvd1NlY3VyaXR5KCl9Z2V0IHByb3RvY29sVHlwZSgpe3JldHVybiB0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldCgidHlwZSIpLnZhbHVlfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC52YWxpZD9udWxsOntzbGF2ZUNvbmZpZ0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fX13cml0ZVZhbHVlKGUpe3RoaXMuc2hvd1NlY3VyaXR5Q29udHJvbC5wYXRjaFZhbHVlKCEhZS5zZWN1cml0eSYmIWVlKGUuc2VjdXJpdHkse30pKSx0aGlzLnVwZGF0ZVNsYXZlQ29uZmlnKGUpfXNldERpc2FibGVkU3RhdGUoZSl7dGhpcy5pc1NsYXZlRW5hYmxlZD0hZSx0aGlzLnVwZGF0ZUZvcm1FbmFibGVTdGF0ZSgpfW9ic2VydmVWYWx1ZUNoYW5nZXMoKXt0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9PntlLnR5cGU9PT1Ibi5TZXJpYWwmJihlLnBvcnQ9ZS5zZXJpYWxQb3J0LGRlbGV0ZSBlLnNlcmlhbFBvcnQpLHRoaXMub25DaGFuZ2UoZSksdGhpcy5vblRvdWNoZWQoKX0pKX1vYnNlcnZlVHlwZUNoYW5nZSgpe3RoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMudXBkYXRlRm9ybUVuYWJsZVN0YXRlKCksdGhpcy51cGRhdGVNZXRob2RUeXBlKGUpfSkpfXVwZGF0ZU1ldGhvZFR5cGUoZSl7dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoIm1ldGhvZCIpLnZhbHVlIT09V24uUlRVJiZ0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldCgibWV0aG9kIikucGF0Y2hWYWx1ZShlPT09SG4uU2VyaWFsP2puLkFTQ0lJOlduLlNPQ0tFVCx7ZW1pdEV2ZW50OiExfSl9dXBkYXRlRm9ybUVuYWJsZVN0YXRlKCl7dGhpcy5pc1NsYXZlRW5hYmxlZD8odGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5lbmFibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuc2hvd1NlY3VyaXR5Q29udHJvbC5lbmFibGUoe2VtaXRFdmVudDohMX0pKToodGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNob3dTZWN1cml0eUNvbnRyb2wuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpLHRoaXMudXBkYXRlRW5hYmxpbmdCeVByb3RvY29sKCksdGhpcy51cGRhdGVTZWN1cml0eUVuYWJsZSh0aGlzLnNob3dTZWN1cml0eUNvbnRyb2wudmFsdWUpfW9ic2VydmVTaG93U2VjdXJpdHkoKXt0aGlzLnNob3dTZWN1cml0eUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+dGhpcy51cGRhdGVTZWN1cml0eUVuYWJsZShlKSkpfXVwZGF0ZVNlY3VyaXR5RW5hYmxlKGUpe2UmJnRoaXMuaXNTbGF2ZUVuYWJsZWQmJnRoaXMucHJvdG9jb2xUeXBlIT09SG4uU2VyaWFsP3RoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KCJzZWN1cml0eSIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSk6dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoInNlY3VyaXR5IikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSl9dXBkYXRlRW5hYmxpbmdCeVByb3RvY29sKCl7Y29uc3QgZT10aGlzLnByb3RvY29sVHlwZT09PUhuLlNlcmlhbCx0PWU/dGhpcy5zZXJpYWxTcGVjaWZpY0NvbnRyb2xLZXlzOnRoaXMudGNwVWRwU3BlY2lmaWNDb250cm9sS2V5cyxuPWU/dGhpcy50Y3BVZHBTcGVjaWZpY0NvbnRyb2xLZXlzOnRoaXMuc2VyaWFsU3BlY2lmaWNDb250cm9sS2V5czt0aGlzLmlzU2xhdmVFbmFibGVkJiZ0LmZvckVhY2goKGU9PnRoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KGUpPy5lbmFibGUoe2VtaXRFdmVudDohMX0pKSksbi5mb3JFYWNoKChlPT50aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChlKT8uZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpKX11cGRhdGVTbGF2ZUNvbmZpZyhlKXtjb25zdHt0eXBlOnQ9SG4uVENQLG1ldGhvZDpuPVduLlJUVSx1bml0SWQ6YT0wLGRldmljZU5hbWU6bz0iIixkZXZpY2VUeXBlOmk9IiIscG9sbFBlcmlvZDpyPTVlMyxzZW5kRGF0YVRvVGhpbmdzQm9hcmQ6cz0hMSxieXRlT3JkZXI6bD1Kbi5CSUcsd29yZE9yZGVyOmM9Sm4uQklHLHNlY3VyaXR5OnA9e30saWRlbnRpdHk6bT17dmVuZG9yTmFtZToiIixwcm9kdWN0Q29kZToiIix2ZW5kb3JVcmw6IiIscHJvZHVjdE5hbWU6IiIsbW9kZWxOYW1lOiIifSx2YWx1ZXM6ZD17fSxiYXVkcmF0ZTp1PXRoaXMubW9kYnVzQmF1ZHJhdGVzWzBdLGhvc3Q6Zz0iIixwb3J0OmY9bnVsbH09ZSx5PXt0eXBlOnQsbWV0aG9kOm4sdW5pdElkOmEsZGV2aWNlTmFtZTpvLGRldmljZVR5cGU6aSxwb2xsUGVyaW9kOnIsc2VuZERhdGFUb1RoaW5nc0JvYXJkOiEhcyxieXRlT3JkZXI6bCx3b3JkT3JkZXI6YyxzZWN1cml0eTpwLGlkZW50aXR5Om0sdmFsdWVzOmQsYmF1ZHJhdGU6dSxob3N0OnQ9PT1Ibi5TZXJpYWw/IiI6Zyxwb3J0OnQ9PT1Ibi5TZXJpYWw/bnVsbDpmLHNlcmlhbFBvcnQ6dD09PUhuLlNlcmlhbD9mOiIifTt0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLnNldFZhbHVlKHkse2VtaXRFdmVudDohMX0pfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6U28sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpTbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1vZGJ1cy1zbGF2ZS1jb25maWciLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PlNvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5TbykpLG11bHRpOiEwfV0sbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgW2Zvcm1Hcm91cF09InNsYXZlQ29uZmlnRm9ybUdyb3VwIiBjbGFzcz0ic2xhdmUtY29udGFpbmVyIj5cbiAgPGRpdiBjbGFzcz0ic2xhdmUtY29udGVudCB0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIiA+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCByb3cgc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIgbm8tZ2FwIGZpbGwtd2lkdGgiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci1zbGF2ZS1jb25maWc8L2Rpdj5cbiAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2YgbW9kYnVzUHJvdG9jb2xUeXBlcyIgW3ZhbHVlXT0idHlwZSI+e3sgTW9kYnVzUHJvdG9jb2xMYWJlbHNNYXAuZ2V0KHR5cGUpIH19PC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiPlxuICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIlxuICAgICAgICAgICBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIlxuICAgICAgICAgICBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmhvc3RcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuaG9zdDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJob3N0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lmhvc3QtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCBlbHNlIHNlcmlhbFBvcnQiXG4gICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiXG4gICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSJ7e3BvcnRMaW1pdHMuTUlOfX0iIG1heD0ie3twb3J0TGltaXRzLk1BWH19IlxuICAgICAgICAgICAgICAgICAgIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvcnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykgfCBnZXRHYXRld2F5UG9ydFRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ21heFwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLXRlbXBsYXRlICNzZXJpYWxQb3J0PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc2VyaWFsLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucG9ydDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJpYWxQb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IlwnZ2F0ZXdheS5wb3J0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5mcmFtZXItdHlwZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+XG4gICAgICAgICAgZ2F0ZXdheS5tZXRob2RcbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBtZXRob2Qgb2YgcHJvdG9jb2xUeXBlID09PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsID8gbW9kYnVzU2VyaWFsTWV0aG9kVHlwZXMgOiBtb2RidXNNZXRob2RUeXBlcyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT0ibWV0aG9kIj57eyBNb2RidXNNZXRob2RMYWJlbHNNYXAuZ2V0KG1ldGhvZCkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy51bml0LWlkXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnVuaXQtaWQ8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InVuaXRJZCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudW5pdC1pZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCd1bml0SWRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLW5hbWU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLXByb2ZpbGU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlVHlwZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLXByb2ZpbGUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VUeXBlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgIDxzcGFuIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCB0cmFuc2xhdGU+XG4gICAgICAgICAgZ2F0ZXdheS5wb2xsLXBlcmlvZFxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvbGxQZXJpb2QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSA9PT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJhdWRyYXRlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJhdWRyYXRlPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJiYXVkcmF0ZSI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCByYXRlIG9mIG1vZGJ1c0JhdWRyYXRlcyIgW3ZhbHVlXT0icmF0ZSI+e3sgcmF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJzZW5kRGF0YVRvVGhpbmdzQm9hcmQiPlxuICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWRhdGEtdG8tcGxhdGZvcm1cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIj5cbiAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5hZHZhbmNlZC1jb25uZWN0aW9uLXNldHRpbmdzPC9kaXY+XG4gICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJ5dGUtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuYnl0ZS1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYnl0ZU9yZGVyIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndvcmQtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud29yZC1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0id29yZE9yZGVyIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCB0Yi1zbGlkZS10b2dnbGUiPlxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJzaG93U2VjdXJpdHlDb250cm9sLnZhbHVlIj5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZ4TGF5b3V0QWxpZ249ImNlbnRlciIgW2Zvcm1Db250cm9sXT0ic2hvd1NlY3VyaXR5Q29udHJvbCIgY2xhc3M9Im1hdC1zbGlkZSIgKGNsaWNrKT0iJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGxzLWNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgPHRiLW1vZGJ1cy1zZWN1cml0eS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZWN1cml0eSI+PC90Yi1tb2RidXMtc2VjdXJpdHktY29uZmlnPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2lkZW50aXR5XCcpIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudmVuZG9yLW5hbWU8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmVuZG9yTmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnByb2R1Y3QtY29kZTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwcm9kdWN0Q29kZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnZlbmRvci11cmw8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmVuZG9yVXJsIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucHJvZHVjdC1uYW1lPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InByb2R1Y3ROYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkubW9kZWwtbmFtZTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJtb2RlbE5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWVzPC9kaXY+XG4gICAgICA8dGItbW9kYnVzLXZhbHVlcyBmb3JtQ29udHJvbE5hbWU9InZhbHVlcyI+PC90Yi1tb2RidXMtdmFsdWVzPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxkZXBlbmRlbmNpZXM6W3traW5kOiJuZ21vZHVsZSIsdHlwZTpIfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWwsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwiLGlucHV0czpbImhpZGVUb2dnbGUiLCJ0b2dnbGVQb3NpdGlvbiJdLG91dHB1dHM6WyJhZnRlckV4cGFuZCIsImFmdGVyQ29sbGFwc2UiXSxleHBvcnRBczpbIm1hdEV4cGFuc2lvblBhbmVsIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIixpbnB1dHM6WyJleHBhbmRlZEhlaWdodCIsImNvbGxhcHNlZEhlaWdodCIsInRhYkluZGV4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxUaXRsZSxzZWxlY3RvcjoibWF0LXBhbmVsLXRpdGxlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWF4VmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttYXhdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtuZ01vZGVsXSIsaW5wdXRzOlsibWF4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpudC5Ub2dnbGVPcHRpb24sc2VsZWN0b3I6InRiLXRvZ2dsZS1vcHRpb24iLGlucHV0czpbInZhbHVlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YXQuVG9nZ2xlU2VsZWN0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi10b2dnbGUtc2VsZWN0IixpbnB1dHM6WyJkaXNhYmxlZCIsInNlbGVjdE1lZGlhQnJlYWtwb2ludCIsImFwcGVhcmFuY2UiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImZpbGxIZWlnaHQiLCJleHRyYVBhZGRpbmciLCJwcmltYXJ5QmFja2dyb3VuZCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnV0LkhpbnRUb29sdGlwSWNvbkNvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhpbnQtdG9vbHRpcC1pY29uXSIsaW5wdXRzOlsidGItaGludC10b29sdGlwLWljb24iLCJ0b29sdGlwUG9zaXRpb24iLCJoaW50SWNvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnlvLHNlbGVjdG9yOiJ0Yi1tb2RidXMtdmFsdWVzIixpbnB1dHM6WyJzaW5nbGVNb2RlIiwiaGlkZU5ld0ZpZWxkcyJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJvLHNlbGVjdG9yOiJ0Yi1tb2RidXMtc2VjdXJpdHktY29uZmlnIixpbnB1dHM6WyJpc01hc3RlciJdfSx7a2luZDoicGlwZSIsdHlwZTp3YSxuYW1lOiJnZXRHYXRld2F5UG9ydFRvb2x0aXAifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlNhLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfV0sY2hhbmdlRGV0ZWN0aW9uOnQuQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNofSl9fXQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6U28sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1zbGF2ZS1jb25maWciLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5TbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+U28pKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxELHlvLGJvLHdhLFNhXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgW2Zvcm1Hcm91cF09InNsYXZlQ29uZmlnRm9ybUdyb3VwIiBjbGFzcz0ic2xhdmUtY29udGFpbmVyIj5cbiAgPGRpdiBjbGFzcz0ic2xhdmUtY29udGVudCB0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIiA+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCByb3cgc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIgbm8tZ2FwIGZpbGwtd2lkdGgiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci1zbGF2ZS1jb25maWc8L2Rpdj5cbiAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2YgbW9kYnVzUHJvdG9jb2xUeXBlcyIgW3ZhbHVlXT0idHlwZSI+e3sgTW9kYnVzUHJvdG9jb2xMYWJlbHNNYXAuZ2V0KHR5cGUpIH19PC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiPlxuICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIlxuICAgICAgICAgICBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIlxuICAgICAgICAgICBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmhvc3RcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuaG9zdDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJob3N0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lmhvc3QtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCBlbHNlIHNlcmlhbFBvcnQiXG4gICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiXG4gICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSJ7e3BvcnRMaW1pdHMuTUlOfX0iIG1heD0ie3twb3J0TGltaXRzLk1BWH19IlxuICAgICAgICAgICAgICAgICAgIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvcnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykgfCBnZXRHYXRld2F5UG9ydFRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ21heFwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLXRlbXBsYXRlICNzZXJpYWxQb3J0PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc2VyaWFsLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucG9ydDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJpYWxQb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IlwnZ2F0ZXdheS5wb3J0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5mcmFtZXItdHlwZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+XG4gICAgICAgICAgZ2F0ZXdheS5tZXRob2RcbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBtZXRob2Qgb2YgcHJvdG9jb2xUeXBlID09PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsID8gbW9kYnVzU2VyaWFsTWV0aG9kVHlwZXMgOiBtb2RidXNNZXRob2RUeXBlcyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT0ibWV0aG9kIj57eyBNb2RidXNNZXRob2RMYWJlbHNNYXAuZ2V0KG1ldGhvZCkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy51bml0LWlkXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnVuaXQtaWQ8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InVuaXRJZCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudW5pdC1pZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCd1bml0SWRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLW5hbWU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLXByb2ZpbGU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlVHlwZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLXByb2ZpbGUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VUeXBlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgIDxzcGFuIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCB0cmFuc2xhdGU+XG4gICAgICAgICAgZ2F0ZXdheS5wb2xsLXBlcmlvZFxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvbGxQZXJpb2QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSA9PT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJhdWRyYXRlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJhdWRyYXRlPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJiYXVkcmF0ZSI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCByYXRlIG9mIG1vZGJ1c0JhdWRyYXRlcyIgW3ZhbHVlXT0icmF0ZSI+e3sgcmF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJzZW5kRGF0YVRvVGhpbmdzQm9hcmQiPlxuICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWRhdGEtdG8tcGxhdGZvcm1cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIj5cbiAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5hZHZhbmNlZC1jb25uZWN0aW9uLXNldHRpbmdzPC9kaXY+XG4gICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJ5dGUtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuYnl0ZS1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYnl0ZU9yZGVyIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndvcmQtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud29yZC1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0id29yZE9yZGVyIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCB0Yi1zbGlkZS10b2dnbGUiPlxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJzaG93U2VjdXJpdHlDb250cm9sLnZhbHVlIj5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZ4TGF5b3V0QWxpZ249ImNlbnRlciIgW2Zvcm1Db250cm9sXT0ic2hvd1NlY3VyaXR5Q29udHJvbCIgY2xhc3M9Im1hdC1zbGlkZSIgKGNsaWNrKT0iJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGxzLWNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgPHRiLW1vZGJ1cy1zZWN1cml0eS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZWN1cml0eSI+PC90Yi1tb2RidXMtc2VjdXJpdHktY29uZmlnPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2lkZW50aXR5XCcpIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudmVuZG9yLW5hbWU8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmVuZG9yTmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnByb2R1Y3QtY29kZTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwcm9kdWN0Q29kZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnZlbmRvci11cmw8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmVuZG9yVXJsIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucHJvZHVjdC1uYW1lPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InByb2R1Y3ROYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkubW9kZWwtbmFtZTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJtb2RlbE5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWVzPC9kaXY+XG4gICAgICA8dGItbW9kYnVzLXZhbHVlcyBmb3JtQ29udHJvbE5hbWU9InZhbHVlcyI+PC90Yi1tb2RidXMtdmFsdWVzPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuJ31dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTptZS5Gb3JtQnVpbGRlcn1dfSk7Y2xhc3Mga28gZXh0ZW5kcyBUb3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5pc0xlZ2FjeT0hMX1tYXBDb25maWdUb0Zvcm1WYWx1ZSh7bWFzdGVyOmUsc2xhdmU6dH0pe3JldHVybnttYXN0ZXI6ZT8uc2xhdmVzP2U6e3NsYXZlczpbXX0sc2xhdmU6dD8/e319fWdldE1hcHBlZFZhbHVlKGUpe3JldHVybnttYXN0ZXI6ZS5tYXN0ZXIsc2xhdmU6ZS5zbGF2ZX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTprbyxkZXBzOm51bGwsdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTprbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1vZGJ1cy1iYXNpYy1jb25maWciLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PmtvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5rbykpLG11bHRpOiEwfV0sdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0iYmFzaWNGb3JtR3JvdXAiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09ImdlbmVyYWxUYWJDb250ZW50Ij48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5Lm1hc3Rlci1jb25uZWN0aW9uc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8dGItbW9kYnVzLW1hc3Rlci10YWJsZSBbaXNMZWdhY3ldPSJpc0xlZ2FjeSIgZm9ybUNvbnRyb2xOYW1lPSJtYXN0ZXIiPjwvdGItbW9kYnVzLW1hc3Rlci10YWJsZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnNlcnZlci1jb25maWdcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggY2VudGVyIj57eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLXNlcnZlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBbZm9ybUNvbnRyb2xdPSJlbmFibGVTbGF2ZUNvbnRyb2wiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZW5hYmxlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPHRiLW1vZGJ1cy1zbGF2ZS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzbGF2ZSI+PC90Yi1tb2RidXMtc2xhdmUtY29uZmlnPlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJuZ21vZHVsZSIsdHlwZTpIfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdUZW1wbGF0ZU91dGxldCxzZWxlY3RvcjoiW25nVGVtcGxhdGVPdXRsZXRdIixpbnB1dHM6WyJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCIsIm5nVGVtcGxhdGVPdXRsZXQiLCJuZ1RlbXBsYXRlT3V0bGV0SW5qZWN0b3IiXX0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWIsc2VsZWN0b3I6Im1hdC10YWIiLGlucHV0czpbImRpc2FibGVkIiwibGFiZWwiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwibGFiZWxDbGFzcyIsImJvZHlDbGFzcyJdLGV4cG9ydEFzOlsibWF0VGFiIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWJHcm91cCxzZWxlY3RvcjoibWF0LXRhYi1ncm91cCIsaW5wdXRzOlsiY29sb3IiLCJmaXRJbmtCYXJUb0NvbnRlbnQiLCJtYXQtc3RyZXRjaC10YWJzIiwiZHluYW1pY0hlaWdodCIsInNlbGVjdGVkSW5kZXgiLCJoZWFkZXJQb3NpdGlvbiIsImFuaW1hdGlvbkR1cmF0aW9uIiwiY29udGVudFRhYkluZGV4IiwiZGlzYWJsZVBhZ2luYXRpb24iLCJkaXNhYmxlUmlwcGxlIiwicHJlc2VydmVDb250ZW50IiwiYmFja2dyb3VuZENvbG9yIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSJdLG91dHB1dHM6WyJzZWxlY3RlZEluZGV4Q2hhbmdlIiwiZm9jdXNDaGFuZ2UiLCJhbmltYXRpb25Eb25lIiwic2VsZWN0ZWRUYWJDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFRhYkdyb3VwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6ZXQuTWF0U2xpZGVUb2dnbGUsc2VsZWN0b3I6Im1hdC1zbGlkZS10b2dnbGUiLGlucHV0czpbIm5hbWUiLCJpZCIsImxhYmVsUG9zaXRpb24iLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsInJlcXVpcmVkIiwiY29sb3IiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImNoZWNrZWQiLCJoaWRlSWNvbiIsImRpc2FibGVkSW50ZXJhY3RpdmUiXSxvdXRwdXRzOlsiY2hhbmdlIiwidG9nZ2xlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2wiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpTbyxzZWxlY3RvcjoidGItbW9kYnVzLXNsYXZlLWNvbmZpZyJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d28sc2VsZWN0b3I6InRiLW1vZGJ1cy1tYXN0ZXItdGFibGUiLGlucHV0czpbImlzTGVnYWN5Il19XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19ZSgiTW9kYnVzQmFzaWNDb25maWdDb21wb25lbnQiLGtvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmtvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1tb2RidXMtYmFzaWMtY29uZmlnIixjaGFuZ2VEZXRlY3Rpb246ZC5PblB1c2gscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+a28pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PmtvKSksbXVsdGk6ITB9XSxzdGFuZGFsb25lOiEwLGltcG9ydHM6W0gsRCxTbyx3byxrYV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0iYmFzaWNGb3JtR3JvdXAiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09ImdlbmVyYWxUYWJDb250ZW50Ij48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5Lm1hc3Rlci1jb25uZWN0aW9uc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8dGItbW9kYnVzLW1hc3Rlci10YWJsZSBbaXNMZWdhY3ldPSJpc0xlZ2FjeSIgZm9ybUNvbnRyb2xOYW1lPSJtYXN0ZXIiPjwvdGItbW9kYnVzLW1hc3Rlci10YWJsZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnNlcnZlci1jb25maWdcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggY2VudGVyIj57eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLXNlcnZlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBbZm9ybUNvbnRyb2xdPSJlbmFibGVTbGF2ZUNvbnRyb2wiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZW5hYmxlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPHRiLW1vZGJ1cy1zbGF2ZS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzbGF2ZSI+PC90Yi1tb2RidXMtc2xhdmUtY29uZmlnPlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9XG4nXX1dfV19KTtjbGFzcyBMbyBleHRlbmRzIFRve2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmlzTGVnYWN5PSEwfW1hcENvbmZpZ1RvRm9ybVZhbHVlKGUpe3JldHVybnttYXN0ZXI6ZS5tYXN0ZXI/LnNsYXZlcz9lLm1hc3Rlcjp7c2xhdmVzOltdfSxzbGF2ZTplLnNsYXZlP2hhLm1hcFNsYXZlVG9VcGdyYWRlZFZlcnNpb24oZS5zbGF2ZSk6e319fWdldE1hcHBlZFZhbHVlKGUpe3JldHVybnttYXN0ZXI6ZS5tYXN0ZXIsc2xhdmU6ZS5zbGF2ZT9oYS5tYXBTbGF2ZVRvRG93bmdyYWRlZFZlcnNpb24oZS5zbGF2ZSk6e319fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6TG8sZGVwczpudWxsLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6TG8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1tb2RidXMtbGVnYWN5LWJhc2ljLWNvbmZpZyIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+TG8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkxvKSksbXVsdGk6ITB9XSx1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdGFiLWdyb3VwIFtmb3JtR3JvdXBdPSJiYXNpY0Zvcm1Hcm91cCI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZ2VuZXJhbFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkubWFzdGVyLWNvbm5lY3Rpb25zXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDx0Yi1tb2RidXMtbWFzdGVyLXRhYmxlIFtpc0xlZ2FjeV09ImlzTGVnYWN5IiBmb3JtQ29udHJvbE5hbWU9Im1hc3RlciI+PC90Yi1tb2RidXMtbWFzdGVyLXRhYmxlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuc2VydmVyLWNvbmZpZ1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwgdGItZmxleCBjZW50ZXIiPnt7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMtc2VydmVyXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIFtmb3JtQ29udHJvbF09ImVuYWJsZVNsYXZlQ29udHJvbCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5lbmFibGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8dGItbW9kYnVzLXNsYXZlLWNvbmZpZyBmb3JtQ29udHJvbE5hbWU9InNsYXZlIj48L3RiLW1vZGJ1cy1zbGF2ZS1jb25maWc+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHtoZWlnaHQ6MTAwJX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1RlbXBsYXRlT3V0bGV0LHNlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0iLGlucHV0czpbIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IiwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRJbmplY3RvciJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOlNvLHNlbGVjdG9yOiJ0Yi1tb2RidXMtc2xhdmUtY29uZmlnIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3byxzZWxlY3RvcjoidGItbW9kYnVzLW1hc3Rlci10YWJsZSIsaW5wdXRzOlsiaXNMZWdhY3kiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJNb2RidXNMZWdhY3lCYXNpY0NvbmZpZ0NvbXBvbmVudCIsTG8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6TG8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1sZWdhY3ktYmFzaWMtY29uZmlnIixjaGFuZ2VEZXRlY3Rpb246ZC5PblB1c2gscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+TG8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkxvKSksbXVsdGk6ITB9XSxzdGFuZGFsb25lOiEwLGltcG9ydHM6W0gsRCxTbyx3byxrYV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0iYmFzaWNGb3JtR3JvdXAiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09ImdlbmVyYWxUYWJDb250ZW50Ij48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5Lm1hc3Rlci1jb25uZWN0aW9uc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8dGItbW9kYnVzLW1hc3Rlci10YWJsZSBbaXNMZWdhY3ldPSJpc0xlZ2FjeSIgZm9ybUNvbnRyb2xOYW1lPSJtYXN0ZXIiPjwvdGItbW9kYnVzLW1hc3Rlci10YWJsZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnNlcnZlci1jb25maWdcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggY2VudGVyIj57eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLXNlcnZlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBbZm9ybUNvbnRyb2xdPSJlbmFibGVTbGF2ZUNvbnRyb2wiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZW5hYmxlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPHRiLW1vZGJ1cy1zbGF2ZS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzbGF2ZSI+PC90Yi1tb2RidXMtc2xhdmUtY29uZmlnPlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9XG4nXX1dfV19KTtjbGFzcyBGbyBleHRlbmRzIHlhe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm1hcHBpbmdUeXBlcz1mbix0aGlzLmlzTGVnYWN5PSEwfWluaXRCYXNpY0Zvcm1Hcm91cCgpe3JldHVybiB0aGlzLmZiLmdyb3VwKHttYXBwaW5nOltdLHNlcnZlcjpbXX0pfW1hcENvbmZpZ1RvRm9ybVZhbHVlKGUpe3JldHVybntzZXJ2ZXI6ZS5zZXJ2ZXI/eGEubWFwU2VydmVyVG9VcGdyYWRlZFZlcnNpb24oZS5zZXJ2ZXIpOnt9LG1hcHBpbmc6ZS5zZXJ2ZXI/Lm1hcHBpbmc/eGEubWFwTWFwcGluZ1RvVXBncmFkZWRWZXJzaW9uKGUuc2VydmVyLm1hcHBpbmcpOltdfX1nZXRNYXBwZWRWYWx1ZShlKXtyZXR1cm57c2VydmVyOnhhLm1hcFNlcnZlclRvRG93bmdyYWRlZFZlcnNpb24oZSl9fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Rm8sZGVwczpudWxsLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6Rm8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1vcGMtdWEtbGVnYWN5LWJhc2ljLWNvbmZpZyIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+Rm8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkZvKSksbXVsdGk6ITB9XSx1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdGFiLWdyb3VwIFtmb3JtR3JvdXBdPSJiYXNpY0Zvcm1Hcm91cCI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZ2VuZXJhbFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuc2VydmVyXCcgfCB0cmFuc2xhdGUgfX0qIj5cbiAgICA8dGItb3BjLXNlcnZlci1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZXJ2ZXIiIFtoaWRlTmV3RmllbGRzXT0iaXNMZWdhY3kiPjwvdGItb3BjLXNlcnZlci1jb25maWc+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5kYXRhLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AgdGItZmxleCBmaWxsLWhlaWdodCI+XG4gICAgICA8dGItbWFwcGluZy10YWJsZSBmb3JtQ29udHJvbE5hbWU9Im1hcHBpbmciIFtyZXF1aXJlZF09InRydWUiIFttYXBwaW5nVHlwZV09Im1hcHBpbmdUeXBlcy5PUENVQSI+PC90Yi1tYXBwaW5nLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLXRhYi1ncm91cCw6aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWJvZHktd3JhcHBlcntoZWlnaHQ6MTAwJX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1RlbXBsYXRlT3V0bGV0LHNlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0iLGlucHV0czpbIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IiwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRJbmplY3RvciJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6cm8sc2VsZWN0b3I6InRiLW1hcHBpbmctdGFibGUiLGlucHV0czpbInJlcXVpcmVkIiwibWFwcGluZ1R5cGUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpjbyxzZWxlY3RvcjoidGItb3BjLXNlcnZlci1jb25maWciLGlucHV0czpbImhpZGVOZXdGaWVsZHMiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX10Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkZvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1vcGMtdWEtbGVnYWN5LWJhc2ljLWNvbmZpZyIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PkZvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5GbykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsbG8scm8sY29dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10YWItZ3JvdXAgW2Zvcm1Hcm91cF09ImJhc2ljRm9ybUdyb3VwIj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5nZW5lcmFsXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJnZW5lcmFsVGFiQ29udGVudCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5zZXJ2ZXJcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDx0Yi1vcGMtc2VydmVyLWNvbmZpZyBmb3JtQ29udHJvbE5hbWU9InNlcnZlciIgW2hpZGVOZXdGaWVsZHNdPSJpc0xlZ2FjeSI+PC90Yi1vcGMtc2VydmVyLWNvbmZpZz5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmRhdGEtbWFwcGluZ1wnIHwgdHJhbnNsYXRlIH19KiI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCB0Yi1mbGV4IGZpbGwtaGVpZ2h0Ij5cbiAgICAgIDx0Yi1tYXBwaW5nLXRhYmxlIGZvcm1Db250cm9sTmFtZT0ibWFwcGluZyIgW3JlcXVpcmVkXT0idHJ1ZSIgW21hcHBpbmdUeXBlXT0ibWFwcGluZ1R5cGVzLk9QQ1VBIj48L3RiLW1hcHBpbmctdGFibGU+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHtoZWlnaHQ6MTAwJX06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWdyb3VwLDpob3N0IDo6bmctZGVlcCAubWF0LW1kYy10YWItYm9keS13cmFwcGVye2hlaWdodDoxMDAlfVxuJ119XX1dfSk7Y2xhc3MgSW8gZXh0ZW5kcyB5YXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5NYXBwaW5nVHlwZT1mbn1pbml0QmFzaWNGb3JtR3JvdXAoKXtyZXR1cm4gdGhpcy5mYi5ncm91cCh7bWFwcGluZzpbXSxyZXF1ZXN0c01hcHBpbmc6W10sYnJva2VyOltdLHdvcmtlcnM6W119KX1nZXRSZXF1ZXN0RGF0YUFycmF5KGUpe2NvbnN0IHQ9W107cmV0dXJuIGxlKGUpJiZPYmplY3Qua2V5cyhlKS5mb3JFYWNoKChuPT57Zm9yKGNvbnN0IGEgb2YgZVtuXSl0LnB1c2goe3JlcXVlc3RUeXBlOm4scmVxdWVzdFZhbHVlOmF9KX0pKSx0fWdldFJlcXVlc3REYXRhT2JqZWN0KGUpe3JldHVybiBlLnJlZHVjZSgoKGUse3JlcXVlc3RUeXBlOnQscmVxdWVzdFZhbHVlOm59KT0+KGVbdF0ucHVzaChuKSxlKSkse2Nvbm5lY3RSZXF1ZXN0czpbXSxkaXNjb25uZWN0UmVxdWVzdHM6W10sYXR0cmlidXRlUmVxdWVzdHM6W10sYXR0cmlidXRlVXBkYXRlczpbXSxzZXJ2ZXJTaWRlUnBjOltdfSl9Z2V0QnJva2VyTWFwcGVkVmFsdWUoZSx0KXtyZXR1cm57Li4uZSxtYXhOdW1iZXJPZldvcmtlcnM6dC5tYXhOdW1iZXJPZldvcmtlcnM/PzEwMCxtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyOnQubWF4TWVzc2FnZU51bWJlclBlcldvcmtlcj8/MTB9fXdyaXRlVmFsdWUoZSl7dGhpcy5iYXNpY0Zvcm1Hcm91cC5zZXRWYWx1ZSh0aGlzLm1hcENvbmZpZ1RvRm9ybVZhbHVlKGUpLHtlbWl0RXZlbnQ6ITF9KX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOklvLGRlcHM6bnVsbCx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5EaXJlY3RpdmV9KX1zdGF0aWN7dGhpcy7JtWRpcj10Lsm1ybVuZ0RlY2xhcmVEaXJlY3RpdmUoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOklvLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0fSl9fXQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6SW8sZGVjb3JhdG9yczpbe3R5cGU6c31dfSk7Y2xhc3MgQW8gZXh0ZW5kcyBJb3ttYXBDb25maWdUb0Zvcm1WYWx1ZShlKXtjb25zdHticm9rZXI6dCxtYXBwaW5nOm49W10sY29ubmVjdFJlcXVlc3RzOmE9W10sZGlzY29ubmVjdFJlcXVlc3RzOm89W10sYXR0cmlidXRlUmVxdWVzdHM6aT1bXSxhdHRyaWJ1dGVVcGRhdGVzOnI9W10sc2VydmVyU2lkZVJwYzpzPVtdfT1lLGw9bWEubWFwUmVxdWVzdHNUb1VwZ3JhZGVkVmVyc2lvbih7Y29ubmVjdFJlcXVlc3RzOmEsZGlzY29ubmVjdFJlcXVlc3RzOm8sYXR0cmlidXRlUmVxdWVzdHM6aSxhdHRyaWJ1dGVVcGRhdGVzOnIsc2VydmVyU2lkZVJwYzpzfSk7cmV0dXJue3dvcmtlcnM6dCYmKHQubWF4TnVtYmVyT2ZXb3JrZXJzfHx0Lm1heE1lc3NhZ2VOdW1iZXJQZXJXb3JrZXIpP3ttYXhOdW1iZXJPZldvcmtlcnM6dC5tYXhOdW1iZXJPZldvcmtlcnMsbWF4TWVzc2FnZU51bWJlclBlcldvcmtlcjp0Lm1heE1lc3NhZ2VOdW1iZXJQZXJXb3JrZXJ9Ont9LG1hcHBpbmc6bWEubWFwTWFwcGluZ1RvVXBncmFkZWRWZXJzaW9uKG4pfHxbXSxicm9rZXI6dHx8e30scmVxdWVzdHNNYXBwaW5nOnRoaXMuZ2V0UmVxdWVzdERhdGFBcnJheShsKX19Z2V0TWFwcGVkVmFsdWUoZSl7Y29uc3R7YnJva2VyOnQsd29ya2VyczpuLG1hcHBpbmc6YSxyZXF1ZXN0c01hcHBpbmc6b309ZXx8e30saT1vPy5sZW5ndGg/dGhpcy5nZXRSZXF1ZXN0RGF0YU9iamVjdChvKTp7fTtyZXR1cm57YnJva2VyOnRoaXMuZ2V0QnJva2VyTWFwcGVkVmFsdWUodCxuKSxtYXBwaW5nOm1hLm1hcE1hcHBpbmdUb0Rvd25ncmFkZWRWZXJzaW9uKGEpLC4uLm1hLm1hcFJlcXVlc3RzVG9Eb3duZ3JhZGVkVmVyc2lvbihpKX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpBbyxkZXBzOm51bGwsdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpBbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1xdHQtbGVnYWN5LWJhc2ljLWNvbmZpZyIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+QW8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkFvKSksbXVsdGk6ITB9XSx1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdGFiLWdyb3VwIFtmb3JtR3JvdXBdPSJiYXNpY0Zvcm1Hcm91cCI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZ2VuZXJhbFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuYnJva2VyLmNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDx0Yi1icm9rZXItY29uZmlnLWNvbnRyb2wgZm9ybUNvbnRyb2xOYW1lPSJicm9rZXIiPjwvdGItYnJva2VyLWNvbmZpZy1jb250cm9sPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZGF0YS1tYXBwaW5nXCcgfCB0cmFuc2xhdGUgfX0qIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIHRiLWZsZXggZmlsbC1oZWlnaHQiPlxuICAgICAgPHRiLW1hcHBpbmctdGFibGUgZm9ybUNvbnRyb2xOYW1lPSJtYXBwaW5nIiBbcmVxdWlyZWRdPSJ0cnVlIiBbbWFwcGluZ1R5cGVdPSJNYXBwaW5nVHlwZS5EQVRBIj48L3RiLW1hcHBpbmctdGFibGU+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5yZXF1ZXN0cy1tYXBwaW5nXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AgdGItZmxleCBmaWxsLWhlaWdodCI+XG4gICAgICA8dGItbWFwcGluZy10YWJsZSBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RzTWFwcGluZyIgW21hcHBpbmdUeXBlXT0iTWFwcGluZ1R5cGUuUkVRVUVTVFMiPjwvdGItbWFwcGluZy10YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LndvcmtlcnMtc2V0dGluZ3NcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgICA8dGItd29ya2Vycy1jb25maWctY29udHJvbCBmb3JtQ29udHJvbE5hbWU9IndvcmtlcnMiPjwvdGItd29ya2Vycy1jb25maWctY29udHJvbD5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtdGFiPlxuPC9tYXQtdGFiLWdyb3VwPlxuXG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLXRhYi1ncm91cCw6aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWJvZHktd3JhcHBlcntoZWlnaHQ6MTAwJX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1RlbXBsYXRlT3V0bGV0LHNlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0iLGlucHV0czpbIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IiwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRJbmplY3RvciJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dW8sc2VsZWN0b3I6InRiLXdvcmtlcnMtY29uZmlnLWNvbnRyb2wifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOm1vLHNlbGVjdG9yOiJ0Yi1icm9rZXItY29uZmlnLWNvbnRyb2wifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnJvLHNlbGVjdG9yOiJ0Yi1tYXBwaW5nLXRhYmxlIixpbnB1dHM6WyJyZXF1aXJlZCIsIm1hcHBpbmdUeXBlIl19XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19dC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpBbyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItbXF0dC1sZWdhY3ktYmFzaWMtY29uZmlnIixjaGFuZ2VEZXRlY3Rpb246ZC5PblB1c2gscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+QW8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkFvKSksbXVsdGk6ITB9XSxzdGFuZGFsb25lOiEwLGltcG9ydHM6W0gsRCxsbyx1byxtbyxyb10sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0iYmFzaWNGb3JtR3JvdXAiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09ImdlbmVyYWxUYWJDb250ZW50Ij48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmJyb2tlci5jb25uZWN0aW9uXCcgfCB0cmFuc2xhdGUgfX0qIj5cbiAgICA8dGItYnJva2VyLWNvbmZpZy1jb250cm9sIGZvcm1Db250cm9sTmFtZT0iYnJva2VyIj48L3RiLWJyb2tlci1jb25maWctY29udHJvbD5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmRhdGEtbWFwcGluZ1wnIHwgdHJhbnNsYXRlIH19KiI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCB0Yi1mbGV4IGZpbGwtaGVpZ2h0Ij5cbiAgICAgIDx0Yi1tYXBwaW5nLXRhYmxlIGZvcm1Db250cm9sTmFtZT0ibWFwcGluZyIgW3JlcXVpcmVkXT0idHJ1ZSIgW21hcHBpbmdUeXBlXT0iTWFwcGluZ1R5cGUuREFUQSI+PC90Yi1tYXBwaW5nLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkucmVxdWVzdHMtbWFwcGluZ1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIHRiLWZsZXggZmlsbC1oZWlnaHQiPlxuICAgICAgPHRiLW1hcHBpbmctdGFibGUgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0c01hcHBpbmciIFttYXBwaW5nVHlwZV09Ik1hcHBpbmdUeXBlLlJFUVVFU1RTIj48L3RiLW1hcHBpbmctdGFibGU+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS53b3JrZXJzLXNldHRpbmdzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciPlxuICAgICAgPHRiLXdvcmtlcnMtY29uZmlnLWNvbnRyb2wgZm9ybUNvbnRyb2xOYW1lPSJ3b3JrZXJzIj48L3RiLXdvcmtlcnMtY29uZmlnLWNvbnRyb2w+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cblxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e2hlaWdodDoxMDAlfTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy10YWItZ3JvdXAsOmhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLXRhYi1ib2R5LXdyYXBwZXJ7aGVpZ2h0OjEwMCV9XG4nXX1dfV19KTtjbGFzcyBObyBleHRlbmRzIElve21hcENvbmZpZ1RvRm9ybVZhbHVlKGUpe2NvbnN0e2Jyb2tlcjp0LG1hcHBpbmc6bj1bXSxyZXF1ZXN0c01hcHBpbmc6YX09ZTtyZXR1cm57d29ya2Vyczp0JiYodC5tYXhOdW1iZXJPZldvcmtlcnN8fHQubWF4TWVzc2FnZU51bWJlclBlcldvcmtlcik/e21heE51bWJlck9mV29ya2Vyczp0Lm1heE51bWJlck9mV29ya2VycyxtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyOnQubWF4TWVzc2FnZU51bWJlclBlcldvcmtlcn06e30sbWFwcGluZzpuPz9bXSxicm9rZXI6dD8/e30scmVxdWVzdHNNYXBwaW5nOnRoaXMuZ2V0UmVxdWVzdERhdGFBcnJheShhKX19Z2V0TWFwcGVkVmFsdWUoZSl7Y29uc3R7YnJva2VyOnQsd29ya2VyczpuLG1hcHBpbmc6YSxyZXF1ZXN0c01hcHBpbmc6b309ZXx8e307cmV0dXJue2Jyb2tlcjp0aGlzLmdldEJyb2tlck1hcHBlZFZhbHVlKHQsbiksbWFwcGluZzphLHJlcXVlc3RzTWFwcGluZzpvPy5sZW5ndGg/dGhpcy5nZXRSZXF1ZXN0RGF0YU9iamVjdChvKTp7fX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpObyxkZXBzOm51bGwsdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpObyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1xdHQtYmFzaWMtY29uZmlnIixwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5ObykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+Tm8pKSxtdWx0aTohMH1dLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10YWItZ3JvdXAgW2Zvcm1Hcm91cF09ImJhc2ljRm9ybUdyb3VwIj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5nZW5lcmFsXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJnZW5lcmFsVGFiQ29udGVudCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5icm9rZXIuY29ubmVjdGlvblwnIHwgdHJhbnNsYXRlIH19KiI+XG4gICAgPHRiLWJyb2tlci1jb25maWctY29udHJvbCBmb3JtQ29udHJvbE5hbWU9ImJyb2tlciI+PC90Yi1icm9rZXItY29uZmlnLWNvbnRyb2w+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5kYXRhLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AgdGItZmxleCBmaWxsLWhlaWdodCI+XG4gICAgICA8dGItbWFwcGluZy10YWJsZSBmb3JtQ29udHJvbE5hbWU9Im1hcHBpbmciIFtyZXF1aXJlZF09InRydWUiIFttYXBwaW5nVHlwZV09Ik1hcHBpbmdUeXBlLkRBVEEiPjwvdGItbWFwcGluZy10YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnJlcXVlc3RzLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCB0Yi1mbGV4IGZpbGwtaGVpZ2h0Ij5cbiAgICAgIDx0Yi1tYXBwaW5nLXRhYmxlIGZvcm1Db250cm9sTmFtZT0icmVxdWVzdHNNYXBwaW5nIiBbbWFwcGluZ1R5cGVdPSJNYXBwaW5nVHlwZS5SRVFVRVNUUyI+PC90Yi1tYXBwaW5nLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkud29ya2Vycy1zZXR0aW5nc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgIDx0Yi13b3JrZXJzLWNvbmZpZy1jb250cm9sIGZvcm1Db250cm9sTmFtZT0id29ya2VycyI+PC90Yi13b3JrZXJzLWNvbmZpZy1jb250cm9sPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHtoZWlnaHQ6MTAwJX06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWdyb3VwLDpob3N0IDo6bmctZGVlcCAubWF0LW1kYy10YWItYm9keS13cmFwcGVye2hlaWdodDoxMDAlfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nVGVtcGxhdGVPdXRsZXQsc2VsZWN0b3I6IltuZ1RlbXBsYXRlT3V0bGV0XSIsaW5wdXRzOlsibmdUZW1wbGF0ZU91dGxldENvbnRleHQiLCJuZ1RlbXBsYXRlT3V0bGV0IiwibmdUZW1wbGF0ZU91dGxldEluamVjdG9yIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOlcuTWF0VGFiLHNlbGVjdG9yOiJtYXQtdGFiIixpbnB1dHM6WyJkaXNhYmxlZCIsImxhYmVsIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImxhYmVsQ2xhc3MiLCJib2R5Q2xhc3MiXSxleHBvcnRBczpbIm1hdFRhYiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOlcuTWF0VGFiR3JvdXAsc2VsZWN0b3I6Im1hdC10YWItZ3JvdXAiLGlucHV0czpbImNvbG9yIiwiZml0SW5rQmFyVG9Db250ZW50IiwibWF0LXN0cmV0Y2gtdGFicyIsImR5bmFtaWNIZWlnaHQiLCJzZWxlY3RlZEluZGV4IiwiaGVhZGVyUG9zaXRpb24iLCJhbmltYXRpb25EdXJhdGlvbiIsImNvbnRlbnRUYWJJbmRleCIsImRpc2FibGVQYWdpbmF0aW9uIiwiZGlzYWJsZVJpcHBsZSIsInByZXNlcnZlQ29udGVudCIsImJhY2tncm91bmRDb2xvciIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiXSxvdXRwdXRzOlsic2VsZWN0ZWRJbmRleENoYW5nZSIsImZvY3VzQ2hhbmdlIiwiYW5pbWF0aW9uRG9uZSIsInNlbGVjdGVkVGFiQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRUYWJHcm91cCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5SZXF1aXJlZFZhbGlkYXRvcixzZWxlY3RvcjoiOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbE5hbWVdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bbmdNb2RlbF0iLGlucHV0czpbInJlcXVpcmVkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1byxzZWxlY3RvcjoidGItd29ya2Vycy1jb25maWctY29udHJvbCJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6bW8sc2VsZWN0b3I6InRiLWJyb2tlci1jb25maWctY29udHJvbCJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6cm8sc2VsZWN0b3I6InRiLW1hcHBpbmctdGFibGUiLGlucHV0czpbInJlcXVpcmVkIiwibWFwcGluZ1R5cGUiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX10Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOk5vLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1tcXR0LWJhc2ljLWNvbmZpZyIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9Pk5vKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5ObykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsbG8sdW8sbW8scm9dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10YWItZ3JvdXAgW2Zvcm1Hcm91cF09ImJhc2ljRm9ybUdyb3VwIj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5nZW5lcmFsXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJnZW5lcmFsVGFiQ29udGVudCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5icm9rZXIuY29ubmVjdGlvblwnIHwgdHJhbnNsYXRlIH19KiI+XG4gICAgPHRiLWJyb2tlci1jb25maWctY29udHJvbCBmb3JtQ29udHJvbE5hbWU9ImJyb2tlciI+PC90Yi1icm9rZXItY29uZmlnLWNvbnRyb2w+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5kYXRhLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AgdGItZmxleCBmaWxsLWhlaWdodCI+XG4gICAgICA8dGItbWFwcGluZy10YWJsZSBmb3JtQ29udHJvbE5hbWU9Im1hcHBpbmciIFtyZXF1aXJlZF09InRydWUiIFttYXBwaW5nVHlwZV09Ik1hcHBpbmdUeXBlLkRBVEEiPjwvdGItbWFwcGluZy10YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnJlcXVlc3RzLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCB0Yi1mbGV4IGZpbGwtaGVpZ2h0Ij5cbiAgICAgIDx0Yi1tYXBwaW5nLXRhYmxlIGZvcm1Db250cm9sTmFtZT0icmVxdWVzdHNNYXBwaW5nIiBbbWFwcGluZ1R5cGVdPSJNYXBwaW5nVHlwZS5SRVFVRVNUUyI+PC90Yi1tYXBwaW5nLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkud29ya2Vycy1zZXR0aW5nc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgIDx0Yi13b3JrZXJzLWNvbmZpZy1jb250cm9sIGZvcm1Db250cm9sTmFtZT0id29ya2VycyI+PC90Yi13b3JrZXJzLWNvbmZpZy1jb250cm9sPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHtoZWlnaHQ6MTAwJX06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWdyb3VwLDpob3N0IDo6bmctZGVlcCAubWF0LW1kYy10YWItYm9keS13cmFwcGVye2hlaWdodDoxMDAlfVxuJ119XX1dfSk7Y2xhc3MgTW97aXNFcnJvclN0YXRlKGUpe3JldHVybiBlJiZlLmludmFsaWR9fWUoIkZvcmNlRXJyb3JTdGF0ZU1hdGNoZXIiLE1vKTtjbGFzcyBFbyBleHRlbmRzIE97Y29uc3RydWN0b3IoZSx0LG4sYSxvLGkscixzLGwsYyxwKXtzdXBlcihlKSx0aGlzLnN0b3JlPWUsdGhpcy5mYj10LHRoaXMudHJhbnNsYXRlPW4sdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlPWEsdGhpcy5kaWFsb2dTZXJ2aWNlPW8sdGhpcy5kaWFsb2c9aSx0aGlzLnRlbGVtZXRyeVdzU2VydmljZT1yLHRoaXMuem9uZT1zLHRoaXMudXRpbHM9bCx0aGlzLmlzTGF0ZXN0VmVyc2lvbkNvbmZpZz1jLHRoaXMuY2Q9cCx0aGlzLkNvbm5lY3RvclR5cGU9X3QsdGhpcy5hbGxvd0Jhc2ljQ29uZmlnPW5ldyBTZXQoW190Lk1RVFQsX3QuT1BDVUEsX3QuTU9EQlVTXSksdGhpcy5nYXRld2F5TG9nTGV2ZWw9T2JqZWN0LnZhbHVlcyhNdCksdGhpcy5kaXNwbGF5ZWRDb2x1bW5zPVsiZW5hYmxlZCIsImtleSIsInR5cGUiLCJzeW5jU3RhdHVzIiwiZXJyb3JzIiwiYWN0aW9ucyJdLHRoaXMuR2F0ZXdheUNvbm5lY3RvclR5cGVzVHJhbnNsYXRlc01hcD1IdCx0aGlzLkNvbm5lY3RvckNvbmZpZ3VyYXRpb25Nb2Rlcz1vbix0aGlzLlJlcG9ydFN0cmF0ZWd5RGVmYXVsdFZhbHVlPWxuLHRoaXMubW9kZT10aGlzLkNvbm5lY3RvckNvbmZpZ3VyYXRpb25Nb2Rlcy5CQVNJQyx0aGlzLmJhc2ljQ29uZmlnSW5pdFN1YmplY3Q9bmV3IFNlLHRoaXMuYWN0aXZlRGF0YT1bXSx0aGlzLmluYWN0aXZlRGF0YT1bXSx0aGlzLnNoYXJlZEF0dHJpYnV0ZURhdGE9W10sdGhpcy5zdWJzY3JpcHRpb25PcHRpb25zPXtjYWxsYmFja3M6e29uRGF0YVVwZGF0ZWQ6KCk9PnRoaXMuY3R4Lm5nWm9uZS5ydW4oKCgpPT57dGhpcy5vbkVycm9yc1VwZGF0ZWQoKX0pKSxvbkRhdGFVcGRhdGVFcnJvcjooZSx0KT0+dGhpcy5jdHgubmdab25lLnJ1bigoKCk9Pnt0aGlzLm9uRGF0YVVwZGF0ZUVycm9yKHQpfSkpfX0sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5hdHRyaWJ1dGVVcGRhdGVTdWJqZWN0PW5ldyBTZSx0aGlzLmluaXREYXRhU291cmNlcygpLHRoaXMuaW5pdENvbm5lY3RvckZvcm0oKSx0aGlzLm9ic2VydmVBdHRyaWJ1dGVDaGFuZ2UoKX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLmRhdGFTb3VyY2Uuc29ydD10aGlzLnNvcnQsdGhpcy5kYXRhU291cmNlLnNvcnRpbmdEYXRhQWNjZXNzb3I9dGhpcy5nZXRTb3J0aW5nRGF0YUFjY2Vzc29yKCksdGhpcy5jdHguJHNjb3BlLmdhdGV3YXlDb25uZWN0b3JzPXRoaXMsdGhpcy5sb2FkQ29ubmVjdG9ycygpLHRoaXMubG9hZEdhdGV3YXlTdGF0ZSgpLHRoaXMub2JzZXJ2ZU1vZGVDaGFuZ2UoKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKSxzdXBlci5uZ09uRGVzdHJveSgpfW9uU2F2ZUNvbm5lY3Rvcigpe3RoaXMuc2F2ZUNvbm5lY3Rvcih0aGlzLmdldFVwZGF0ZWRDb25uZWN0b3JEYXRhKHRoaXMuY29ubmVjdG9yRm9ybS52YWx1ZSksITEpfXNhdmVDb25uZWN0b3IoZSx0PSEwKXtjb25zdCBuPXR8fHRoaXMuYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyh0aGlzLmluaXRpYWxDb25uZWN0b3IubmFtZSk/TC5TSEFSRURfU0NPUEU6TC5TRVJWRVJfU0NPUEU7QWUodGhpcy5nZXRFbnRpdHlBdHRyaWJ1dGVUYXNrcyhlLG4pKS5waXBlKE9lKDEpKS5zdWJzY3JpYmUoKG49Pnt0aGlzLnNob3dUb2FzdCh0P3RoaXMudHJhbnNsYXRlLmluc3RhbnQoImdhdGV3YXkuY29ubmVjdG9yLWNyZWF0ZWQiKTp0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LmNvbm5lY3Rvci11cGRhdGVkIikpLHRoaXMuaW5pdGlhbENvbm5lY3Rvcj1lLHRoaXMudXBkYXRlRGF0YSghMCksdGhpcy5jb25uZWN0b3JGb3JtLm1hcmtBc1ByaXN0aW5lKCl9KSl9Z2V0RW50aXR5QXR0cmlidXRlVGFza3MoZSx0KXtjb25zdCBuPVtdLGE9W3trZXk6ZS5uYW1lLHZhbHVlOmV9XSxvPVtdLGk9IXRoaXMuYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyhlLm5hbWUpJiZ0PT09TC5TSEFSRURfU0NPUEV8fCF0aGlzLmluYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyhlLm5hbWUpJiZ0PT09TC5TRVJWRVJfU0NPUEUscj10aGlzLmluaXRpYWxDb25uZWN0b3ImJnRoaXMuaW5pdGlhbENvbm5lY3Rvci5uYW1lIT09ZS5uYW1lO3JldHVybiByJiYoby5wdXNoKHtrZXk6dGhpcy5pbml0aWFsQ29ubmVjdG9yLm5hbWV9KSx0aGlzLnJlbW92ZUNvbm5lY3RvckZyb21MaXN0KHRoaXMuaW5pdGlhbENvbm5lY3Rvci5uYW1lLCEwKSx0aGlzLnJlbW92ZUNvbm5lY3RvckZyb21MaXN0KHRoaXMuaW5pdGlhbENvbm5lY3Rvci5uYW1lLCExKSksaSYmKHQ9PT1MLlNIQVJFRF9TQ09QRT90aGlzLmFjdGl2ZUNvbm5lY3RvcnMucHVzaChlLm5hbWUpOnRoaXMuaW5hY3RpdmVDb25uZWN0b3JzLnB1c2goZS5uYW1lKSksKHJ8fGkpJiZuLnB1c2godGhpcy5nZXRTYXZlRW50aXR5QXR0cmlidXRlc1Rhc2sodCkpLG4ucHVzaCh0aGlzLmF0dHJpYnV0ZVNlcnZpY2Uuc2F2ZUVudGl0eUF0dHJpYnV0ZXModGhpcy5kZXZpY2UsdCxhKSksby5sZW5ndGgmJm4ucHVzaCh0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZGVsZXRlRW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSx0LG8pKSxufWdldFNhdmVFbnRpdHlBdHRyaWJ1dGVzVGFzayhlKXtjb25zdCB0PWU9PT1MLlNIQVJFRF9TQ09QRT8iYWN0aXZlX2Nvbm5lY3RvcnMiOiJpbmFjdGl2ZV9jb25uZWN0b3JzIixuPWU9PT1MLlNIQVJFRF9TQ09QRT90aGlzLmFjdGl2ZUNvbm5lY3RvcnM6dGhpcy5pbmFjdGl2ZUNvbm5lY3RvcnM7cmV0dXJuIHRoaXMuYXR0cmlidXRlU2VydmljZS5zYXZlRW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSxlLFt7a2V5OnQsdmFsdWU6bn1dKX1yZW1vdmVDb25uZWN0b3JGcm9tTGlzdChlLHQpe2NvbnN0IG49dD90aGlzLmFjdGl2ZUNvbm5lY3RvcnM6dGhpcy5pbmFjdGl2ZUNvbm5lY3RvcnMsYT1uLmluZGV4T2YoZSk7LTEhPT1hJiZuLnNwbGljZShhLDEpfWdldFVwZGF0ZWRDb25uZWN0b3JEYXRhKGUpe2NvbnN0IHQ9ey4uLmV9O3JldHVybiB0LmNvbmZpZ3VyYXRpb249YCR7Y2UodC5uYW1lKX0uanNvbmAsZGVsZXRlIHQuYmFzaWNDb25maWcsdC50eXBlIT09X3QuR1JQQyYmZGVsZXRlIHQua2V5LHQudHlwZSE9PV90LkNVU1RPTSYmZGVsZXRlIHQuY2xhc3MsdC50eXBlPT09X3QuTU9EQlVTJiZ0aGlzLmlzTGF0ZXN0VmVyc2lvbkNvbmZpZy50cmFuc2Zvcm0odC5jb25maWdWZXJzaW9uKSYmKHQucmVwb3J0U3RyYXRlZ3l8fCh0LnJlcG9ydFN0cmF0ZWd5PXt0eXBlOnNuLk9uUmVwb3J0UGVyaW9kLHJlcG9ydFBlcmlvZDpsbi5Db25uZWN0b3J9LGRlbGV0ZSB0LnNlbmREYXRhT25seU9uQ2hhbmdlKSksdGhpcy5nYXRld2F5VmVyc2lvbiYmIXQuY29uZmlnVmVyc2lvbiYmKHQuY29uZmlnVmVyc2lvbj10aGlzLmdhdGV3YXlWZXJzaW9uKSx0LnRzPURhdGUubm93KCksdH11cGRhdGVEYXRhKGU9ITEpe3RoaXMucGFnZUxpbmsuc29ydE9yZGVyLnByb3BlcnR5PXRoaXMuc29ydC5hY3RpdmUsdGhpcy5wYWdlTGluay5zb3J0T3JkZXIuZGlyZWN0aW9uPXdbdGhpcy5zb3J0LmRpcmVjdGlvbi50b1VwcGVyQ2FzZSgpXSx0aGlzLmF0dHJpYnV0ZURhdGFTb3VyY2UubG9hZEF0dHJpYnV0ZXModGhpcy5kZXZpY2UsTC5DTElFTlRfU0NPUEUsdGhpcy5wYWdlTGluayxlKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLmFjdGl2ZURhdGE9ZS5kYXRhLmZpbHRlcigoZT0+dGhpcy5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKGUua2V5KSkpLHRoaXMuY29tYmluZURhdGEoKSx0aGlzLmdlbmVyYXRlU3Vic2NyaXB0aW9uKCksdGhpcy5zZXRDbGllbnREYXRhKGUpfSkpLHRoaXMuaW5hY3RpdmVDb25uZWN0b3JzRGF0YVNvdXJjZS5sb2FkQXR0cmlidXRlcyh0aGlzLmRldmljZSxMLlNIQVJFRF9TQ09QRSx0aGlzLnBhZ2VMaW5rLGUpLnN1YnNjcmliZSgoZT0+e3RoaXMuc2hhcmVkQXR0cmlidXRlRGF0YT1lLmRhdGEuZmlsdGVyKChlPT50aGlzLmFjdGl2ZUNvbm5lY3RvcnMuaW5jbHVkZXMoZS5rZXkpKSksdGhpcy5jb21iaW5lRGF0YSgpfSkpLHRoaXMuc2VydmVyRGF0YVNvdXJjZS5sb2FkQXR0cmlidXRlcyh0aGlzLmRldmljZSxMLlNFUlZFUl9TQ09QRSx0aGlzLnBhZ2VMaW5rLGUpLnN1YnNjcmliZSgoZT0+e3RoaXMuaW5hY3RpdmVEYXRhPWUuZGF0YS5maWx0ZXIoKGU9PnRoaXMuaW5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKGUua2V5KSkpLHRoaXMuY29tYmluZURhdGEoKX0pKX1pc0Nvbm5lY3RvclN5bmNlZChlKXtjb25zdCB0PWUudmFsdWU7aWYoIXQudHN8fGUuc2tpcFN5bmN8fCF0aGlzLmlzR2F0ZXdheUFjdGl2ZSlyZXR1cm4hMTtpZigtMT09PXRoaXMuYWN0aXZlRGF0YS5maW5kSW5kZXgoKGU9Pigic3RyaW5nIj09dHlwZW9mIGUudmFsdWU/SlNPTi5wYXJzZShlLnZhbHVlKTplLnZhbHVlKS5uYW1lPT09dC5uYW1lKSkpcmV0dXJuITE7cmV0dXJuLTEhPT10aGlzLnNoYXJlZEF0dHJpYnV0ZURhdGEuZmluZEluZGV4KChlPT57Y29uc3Qgbj1lLnZhbHVlLGE9bi5uYW1lPT09dC5uYW1lLG89ZWUobi5jb25maWd1cmF0aW9uSnNvbix7fSkmJmEsaT10aGlzLmhhc1NhbWVDb25maWcobi5jb25maWd1cmF0aW9uSnNvbix0LmNvbmZpZ3VyYXRpb25Kc29uKSxyPW4udHMmJm4udHM8PXQudHM7cmV0dXJuIGEmJnImJihpfHxvKX0pKX1oYXNTYW1lQ29uZmlnKGUsdCl7Y29uc3R7bmFtZTpuLGlkOmEsZW5hYmxlUmVtb3RlTG9nZ2luZzpvLGxvZ0xldmVsOmkscmVwb3J0U3RyYXRlZ3k6cixjb25maWdWZXJzaW9uOnMsLi4ubH09ZSx7bmFtZTpjLGlkOnAsZW5hYmxlUmVtb3RlTG9nZ2luZzptLGxvZ0xldmVsOmQscmVwb3J0U3RyYXRlZ3k6dSxjb25maWdWZXJzaW9uOmcsLi4uZn09dDtyZXR1cm4gZWUobCxmKX1jb21iaW5lRGF0YSgpe2NvbnN0IGU9Wy4uLnRoaXMuYWN0aXZlRGF0YSwuLi50aGlzLmluYWN0aXZlRGF0YSwuLi50aGlzLnNoYXJlZEF0dHJpYnV0ZURhdGFdLnJlZHVjZSgoKGUsdCk9Pntjb25zdCBuPWUuZmluZEluZGV4KChlPT5lLmtleT09PXQua2V5KSk7cmV0dXJuLTE9PT1uP2UucHVzaCh0KTp0Lmxhc3RVcGRhdGVUcz5lW25dLmxhc3RVcGRhdGVUcyYmIXRoaXMuaXNDb25uZWN0b3JTeW5jZWQoZVtuXSkmJihlW25dPXsuLi50LHNraXBTeW5jOiEwfSksZX0pLFtdKTt0aGlzLmRhdGFTb3VyY2UuZGF0YT1lLm1hcCgoZT0+KHsuLi5lLHZhbHVlOiJzdHJpbmciPT10eXBlb2YgZS52YWx1ZT9KU09OLnBhcnNlKGUudmFsdWUpOmUudmFsdWV9KSkpfWNsZWFyT3V0Q29ubmVjdG9yRm9ybSgpe3RoaXMuaW5pdGlhbENvbm5lY3Rvcj1udWxsLHRoaXMuY29ubmVjdG9yRm9ybS5zZXRWYWx1ZSh7bW9kZTpvbi5CQVNJQyxuYW1lOiIiLHR5cGU6X3QuTVFUVCxzZW5kRGF0YU9ubHlPbkNoYW5nZTohMSxlbmFibGVSZW1vdGVMb2dnaW5nOiExLGxvZ0xldmVsOk10LklORk8sa2V5OiJhdXRvIixjbGFzczoiIixjb25maWd1cmF0aW9uOiIiLGNvbmZpZ3VyYXRpb25Kc29uOnt9LGJhc2ljQ29uZmlnOnt9LGNvbmZpZ1ZlcnNpb246IiIscmVwb3J0U3RyYXRlZ3k6W3t2YWx1ZTp7fSxkaXNhYmxlZDohMH1dfSx7ZW1pdEV2ZW50OiExfSksdGhpcy5jb25uZWN0b3JGb3JtLm1hcmtBc1ByaXN0aW5lKCl9c2VsZWN0Q29ubmVjdG9yKGUsdCl7ZSYmZS5zdG9wUHJvcGFnYXRpb24oKTtjb25zdCBuPXQudmFsdWU7bj8ubmFtZSE9PXRoaXMuaW5pdGlhbENvbm5lY3Rvcj8ubmFtZSYmdGhpcy5jb25maXJtQ29ubmVjdG9yQ2hhbmdlKCkuc3Vic2NyaWJlKChlPT57ZSYmdGhpcy5zZXRGb3JtVmFsdWUobil9KSl9aXNTYW1lQ29ubmVjdG9yKGUpe2lmKCF0aGlzLmluaXRpYWxDb25uZWN0b3IpcmV0dXJuITE7Y29uc3QgdD1lLnZhbHVlO3JldHVybiB0aGlzLmluaXRpYWxDb25uZWN0b3IubmFtZT09PXQubmFtZX1zaG93VG9hc3QoZSl7dGhpcy5zdG9yZS5kaXNwYXRjaCh7dHlwZToiW05vdGlmaWNhdGlvbl0gU2hvdyIsbm90aWZpY2F0aW9uOnttZXNzYWdlOmUsdHlwZToic3VjY2VzcyIsZHVyYXRpb246MWUzLHZlcnRpY2FsUG9zaXRpb246InRvcCIsaG9yaXpvbnRhbFBvc2l0aW9uOiJsZWZ0Iix0YXJnZXQ6ImRhc2hib2FyZFJvb3QiLGZvcmNlRGlzbWlzczohMH19KX1yZXR1cm5UeXBlKGUpe2NvbnN0IHQ9ZS52YWx1ZTtyZXR1cm4gdGhpcy5HYXRld2F5Q29ubmVjdG9yVHlwZXNUcmFuc2xhdGVzTWFwLmdldCh0LnR5cGUpfWRlbGV0ZUNvbm5lY3RvcihlLHQpe3Q/LnN0b3BQcm9wYWdhdGlvbigpO2NvbnN0IG49YERlbGV0ZSBjb25uZWN0b3IgIiR7ZS5rZXl9Ij9gO3RoaXMuZGlhbG9nU2VydmljZS5jb25maXJtKG4sIkFsbCBjb25uZWN0b3IgZGF0YSB3aWxsIGJlIGRlbGV0ZWQuIiwiQ2FuY2VsIiwiRGVsZXRlIikucGlwZShPZSgxKSxVZSgodD0+e2lmKCF0KXJldHVybjtjb25zdCBuPVtdLGE9dGhpcy5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKGUudmFsdWU/Lm5hbWUpP0wuU0hBUkVEX1NDT1BFOkwuU0VSVkVSX1NDT1BFO3JldHVybiBuLnB1c2godGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLmRlbGV0ZUVudGl0eUF0dHJpYnV0ZXModGhpcy5kZXZpY2UsYSxbZV0pKSx0aGlzLnJlbW92ZUNvbm5lY3RvckZyb21MaXN0KGUua2V5LCEwKSx0aGlzLnJlbW92ZUNvbm5lY3RvckZyb21MaXN0KGUua2V5LCExKSxuLnB1c2godGhpcy5nZXRTYXZlRW50aXR5QXR0cmlidXRlc1Rhc2soYSkpLEFlKG4pfSkpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5pbml0aWFsQ29ubmVjdG9yJiZ0aGlzLmluaXRpYWxDb25uZWN0b3IubmFtZSE9PWUua2V5fHwodGhpcy5jbGVhck91dENvbm5lY3RvckZvcm0oKSx0aGlzLmNkLmRldGVjdENoYW5nZXMoKSx0aGlzLmNvbm5lY3RvckZvcm0uZGlzYWJsZSgpKSx0aGlzLnVwZGF0ZURhdGEoITApfSkpfWNvbm5lY3RvckxvZ3MoZSx0KXt0JiZ0LnN0b3BQcm9wYWdhdGlvbigpO2NvbnN0IG49Sih0aGlzLmN0eC5zdGF0ZUNvbnRyb2xsZXIuZ2V0U3RhdGVQYXJhbXMoKSk7bi5jb25uZWN0b3JfbG9ncz1lLG4udGFyZ2V0RW50aXR5UGFyYW1OYW1lPSJjb25uZWN0b3JfbG9ncyIsdGhpcy5jdHguc3RhdGVDb250cm9sbGVyLm9wZW5TdGF0ZSgiY29ubmVjdG9yX2xvZ3MiLG4pfWNvbm5lY3RvclJwYyhlLHQpe3QmJnQuc3RvcFByb3BhZ2F0aW9uKCk7Y29uc3Qgbj1KKHRoaXMuY3R4LnN0YXRlQ29udHJvbGxlci5nZXRTdGF0ZVBhcmFtcygpKTtuLmNvbm5lY3Rvcl9ycGM9ZSxuLnRhcmdldEVudGl0eVBhcmFtTmFtZT0iY29ubmVjdG9yX3JwYyIsdGhpcy5jdHguc3RhdGVDb250cm9sbGVyLm9wZW5TdGF0ZSgiY29ubmVjdG9yX3JwYyIsbil9b25FbmFibGVDb25uZWN0b3IoZSl7ZS52YWx1ZS50cz0obmV3IERhdGUpLmdldFRpbWUoKSx0aGlzLnVwZGF0ZUFjdGl2ZUNvbm5lY3RvcktleXMoZS5rZXkpLHRoaXMuYXR0cmlidXRlVXBkYXRlU3ViamVjdC5uZXh0KGUpfWdldEVycm9yc0NvdW50KGUpe2NvbnN0IHQ9ZS5rZXksbj10aGlzLnN1YnNjcmlwdGlvbiYmdGhpcy5zdWJzY3JpcHRpb24uZGF0YS5maW5kKChlPT5lJiZlLmRhdGFLZXkubmFtZT09PWAke3R9X0VSUk9SU19DT1VOVGApKTtyZXR1cm4gbiYmdGhpcy5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKHQpP24uZGF0YVswXVsxXXx8MDoiSW5hY3RpdmUifW9uQWRkQ29ubmVjdG9yKGUpe2U/LnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuY29uZmlybUNvbm5lY3RvckNoYW5nZSgpLnBpcGUoT2UoMSksTWUoQm9vbGVhbiksVWUoKCgpPT50aGlzLm9wZW5BZGRDb25uZWN0b3JEaWFsb2coKSkpLE1lKEJvb2xlYW4pKS5zdWJzY3JpYmUoKGU9PnRoaXMuYWRkQ29ubmVjdG9yKGUpKSl9YWRkQ29ubmVjdG9yKGUpe3RoaXMuY29ubmVjdG9yRm9ybS5kaXNhYmxlZCYmdGhpcy5jb25uZWN0b3JGb3JtLmVuYWJsZSgpLGUuY29uZmlndXJhdGlvbkpzb258fChlLmNvbmZpZ3VyYXRpb25Kc29uPXt9KSx0aGlzLmdhdGV3YXlWZXJzaW9uJiYhZS5jb25maWdWZXJzaW9uJiYoZS5jb25maWdWZXJzaW9uPXRoaXMuZ2F0ZXdheVZlcnNpb24pLGUuYmFzaWNDb25maWc9ZS5jb25maWd1cmF0aW9uSnNvbix0aGlzLmluaXRpYWxDb25uZWN0b3I9ZTtjb25zdCB0PXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoInR5cGUiKS52YWx1ZTt0aGlzLnNldEluaXRpYWxDb25uZWN0b3JWYWx1ZXMoZSksdGhpcy5zYXZlQ29ubmVjdG9yKHRoaXMuZ2V0VXBkYXRlZENvbm5lY3RvckRhdGEoZSkpLHQhPT1lLnR5cGUmJnRoaXMuYWxsb3dCYXNpY0NvbmZpZy5oYXMoZS50eXBlKT90aGlzLmJhc2ljQ29uZmlnSW5pdFN1YmplY3QucGlwZShPZSgxKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMucGF0Y2hCYXNpY0NvbmZpZ0Nvbm5lY3RvcihlKX0pKTp0aGlzLnBhdGNoQmFzaWNDb25maWdDb25uZWN0b3IoZSl9c2V0SW5pdGlhbENvbm5lY3RvclZhbHVlcyhlKXtjb25zdHtiYXNpY0NvbmZpZzp0LG1vZGU6biwuLi5hfT1lO3RoaXMudG9nZ2xlUmVwb3J0U3RyYXRlZ3koZS50eXBlKSx0aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJtb2RlIikuc2V0VmFsdWUodGhpcy5hbGxvd0Jhc2ljQ29uZmlnLmhhcyhlLnR5cGUpP2UubW9kZT8/b24uQkFTSUM6bnVsbCx7ZW1pdEV2ZW50OiExfSksdGhpcy5jb25uZWN0b3JGb3JtLnBhdGNoVmFsdWUoYSx7ZW1pdEV2ZW50OiExfSl9b3BlbkFkZENvbm5lY3RvckRpYWxvZygpe3JldHVybiB0aGlzLmN0eC5uZ1pvbmUucnVuKCgoKT0+dGhpcy5kaWFsb2cub3Blbih0byx7ZGlzYWJsZUNsb3NlOiEwLHBhbmVsQ2xhc3M6WyJ0Yi1kaWFsb2ciLCJ0Yi1mdWxsc2NyZWVuLWRpYWxvZyJdLGRhdGE6e2RhdGFTb3VyY2VEYXRhOnRoaXMuZGF0YVNvdXJjZS5kYXRhLGdhdGV3YXlWZXJzaW9uOnRoaXMuZ2F0ZXdheVZlcnNpb259fSkuYWZ0ZXJDbG9zZWQoKSkpfXVuaXFOYW1lUmVxdWlyZWQoKXtyZXR1cm4gZT0+e2NvbnN0IHQ9ZS52YWx1ZT8udHJpbSgpLnRvTG93ZXJDYXNlKCksbj10aGlzLmRhdGFTb3VyY2UuZGF0YS5zb21lKChlPT5lLnZhbHVlLm5hbWUudG9Mb3dlckNhc2UoKT09PXQpKSxhPXRoaXMuaW5pdGlhbENvbm5lY3Rvcj8ubmFtZS50b0xvd2VyQ2FzZSgpPT09dDtyZXR1cm4gbiYmIWE/e2R1cGxpY2F0ZU5hbWU6e3ZhbGlkOiExfX06bnVsbH19aW5pdERhdGFTb3VyY2VzKCl7Y29uc3QgZT17cHJvcGVydHk6ImtleSIsZGlyZWN0aW9uOncuQVNDfTt0aGlzLnBhZ2VMaW5rPW5ldyBDKDFlMywwLG51bGwsZSksdGhpcy5hdHRyaWJ1dGVEYXRhU291cmNlPW5ldyBMYSh0aGlzLmF0dHJpYnV0ZVNlcnZpY2UsdGhpcy50ZWxlbWV0cnlXc1NlcnZpY2UsdGhpcy56b25lLHRoaXMudHJhbnNsYXRlKSx0aGlzLmluYWN0aXZlQ29ubmVjdG9yc0RhdGFTb3VyY2U9bmV3IExhKHRoaXMuYXR0cmlidXRlU2VydmljZSx0aGlzLnRlbGVtZXRyeVdzU2VydmljZSx0aGlzLnpvbmUsdGhpcy50cmFuc2xhdGUpLHRoaXMuc2VydmVyRGF0YVNvdXJjZT1uZXcgTGEodGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLHRoaXMudGVsZW1ldHJ5V3NTZXJ2aWNlLHRoaXMuem9uZSx0aGlzLnRyYW5zbGF0ZSksdGhpcy5kYXRhU291cmNlPW5ldyB5KFtdKX1pbml0Q29ubmVjdG9yRm9ybSgpe3RoaXMuY29ubmVjdG9yRm9ybT10aGlzLmZiLmdyb3VwKHttb2RlOltvbi5CQVNJQ10sbmFtZTpbIiIsW3VlLnJlcXVpcmVkLHRoaXMudW5pcU5hbWVSZXF1aXJlZCgpLHVlLnBhdHRlcm4oa3QpXV0sdHlwZTpbIiIsW3VlLnJlcXVpcmVkXV0sZW5hYmxlUmVtb3RlTG9nZ2luZzpbITFdLGxvZ0xldmVsOlsiIixbdWUucmVxdWlyZWRdXSxzZW5kRGF0YU9ubHlPbkNoYW5nZTpbITFdLGtleTpbImF1dG8iXSxjbGFzczpbIiJdLGNvbmZpZ3VyYXRpb246WyIiXSxjb25maWd1cmF0aW9uSnNvbjpbe30sW3VlLnJlcXVpcmVkXV0sYmFzaWNDb25maWc6W3t9XSxjb25maWdWZXJzaW9uOlsiIl0scmVwb3J0U3RyYXRlZ3k6W3t2YWx1ZTp7fSxkaXNhYmxlZDohMH1dfSksdGhpcy5jb25uZWN0b3JGb3JtLmRpc2FibGUoKX1nZXRTb3J0aW5nRGF0YUFjY2Vzc29yKCl7cmV0dXJuKGUsdCk9Pntzd2l0Y2godCl7Y2FzZSJzeW5jU3RhdHVzIjpyZXR1cm4gdGhpcy5pc0Nvbm5lY3RvclN5bmNlZChlKT8xOjA7Y2FzZSJlbmFibGVkIjpyZXR1cm4gdGhpcy5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKGUua2V5KT8xOjA7Y2FzZSJlcnJvcnMiOmNvbnN0IG49dGhpcy5nZXRFcnJvcnNDb3VudChlKTtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIG4/dGhpcy5zb3J0LmRpcmVjdGlvbi50b1VwcGVyQ2FzZSgpPT09dy5ERVNDPy0xOjEvMDpuO2RlZmF1bHQ6cmV0dXJuIGVbdF18fGUudmFsdWVbdF19fX1sb2FkQ29ubmVjdG9ycygpe3RoaXMuZGV2aWNlJiZ0aGlzLmRldmljZS5pZCE9PWsmJkFlKFt0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0RW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSxMLlNIQVJFRF9TQ09QRSxbImFjdGl2ZV9jb25uZWN0b3JzIl0pLHRoaXMuYXR0cmlidXRlU2VydmljZS5nZXRFbnRpdHlBdHRyaWJ1dGVzKHRoaXMuZGV2aWNlLEwuU0VSVkVSX1NDT1BFLFsiaW5hY3RpdmVfY29ubmVjdG9ycyJdKSx0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0RW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSxMLkNMSUVOVF9TQ09QRSxbIlZlcnNpb24iXSldKS5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLmFjdGl2ZUNvbm5lY3RvcnM9dGhpcy5wYXJzZUNvbm5lY3RvcnMoZVswXSksdGhpcy5pbmFjdGl2ZUNvbm5lY3RvcnM9dGhpcy5wYXJzZUNvbm5lY3RvcnMoZVsxXSksdGhpcy5nYXRld2F5VmVyc2lvbj1lWzJdWzBdPy52YWx1ZSx0aGlzLnVwZGF0ZURhdGEoITApfSkpfWxvYWRHYXRld2F5U3RhdGUoKXt0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0RW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSxMLlNFUlZFUl9TQ09QRSkucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57Y29uc3QgdD1lLmZpbmQoKGU9PiJhY3RpdmUiPT09ZS5rZXkpKS52YWx1ZSxuPWUuZmluZCgoZT0+Imxhc3REaXNjb25uZWN0VGltZSI9PT1lLmtleSkpPy52YWx1ZSxhPWUuZmluZCgoZT0+Imxhc3RDb25uZWN0VGltZSI9PT1lLmtleSkpPy52YWx1ZTt0aGlzLmlzR2F0ZXdheUFjdGl2ZT10aGlzLmdldEdhdGV3YXlTdGF0dXModCxhLG4pfSkpfXBhcnNlQ29ubmVjdG9ycyhlKXtjb25zdCB0PWU/LlswXT8udmFsdWV8fFtdO3JldHVybiBuZSh0KT9KU09OLnBhcnNlKHQpOnR9b2JzZXJ2ZU1vZGVDaGFuZ2UoKXt0aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJtb2RlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJtb2RlIikubWFya0FzUHJpc3RpbmUoKX0pKX1vYnNlcnZlQXR0cmlidXRlQ2hhbmdlKCl7dGhpcy5hdHRyaWJ1dGVVcGRhdGVTdWJqZWN0LnBpcGUoVmUoMzAwKSxFZSgoZT0+dGhpcy5leGVjdXRlQXR0cmlidXRlVXBkYXRlcyhlKSkpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKX11cGRhdGVBY3RpdmVDb25uZWN0b3JLZXlzKGUpe2lmKHRoaXMuYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyhlKSl7Y29uc3QgdD10aGlzLmFjdGl2ZUNvbm5lY3RvcnMuaW5kZXhPZihlKTstMSE9PXQmJnRoaXMuYWN0aXZlQ29ubmVjdG9ycy5zcGxpY2UodCwxKSx0aGlzLmluYWN0aXZlQ29ubmVjdG9ycy5wdXNoKGUpfWVsc2V7Y29uc3QgdD10aGlzLmluYWN0aXZlQ29ubmVjdG9ycy5pbmRleE9mKGUpOy0xIT09dCYmdGhpcy5pbmFjdGl2ZUNvbm5lY3RvcnMuc3BsaWNlKHQsMSksdGhpcy5hY3RpdmVDb25uZWN0b3JzLnB1c2goZSl9fWV4ZWN1dGVBdHRyaWJ1dGVVcGRhdGVzKGUpe0FlKHRoaXMuZ2V0QXR0cmlidXRlRXhlY3V0aW9uVGFza3MoZSkpLnBpcGUoT2UoMSksRWUoKCgpPT50aGlzLnVwZGF0ZURhdGEoITApKSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgpfWdldEF0dHJpYnV0ZUV4ZWN1dGlvblRhc2tzKGUpe2NvbnN0IHQ9dGhpcy5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKGUua2V5KSxuPXQ/TC5TRVJWRVJfU0NPUEU6TC5TSEFSRURfU0NPUEUsYT10P0wuU0hBUkVEX1NDT1BFOkwuU0VSVkVSX1NDT1BFO3JldHVyblt0aGlzLmF0dHJpYnV0ZVNlcnZpY2Uuc2F2ZUVudGl0eUF0dHJpYnV0ZXModGhpcy5kZXZpY2UsTC5TSEFSRURfU0NPUEUsW3trZXk6ImFjdGl2ZV9jb25uZWN0b3JzIix2YWx1ZTp0aGlzLmFjdGl2ZUNvbm5lY3RvcnN9XSksdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNhdmVFbnRpdHlBdHRyaWJ1dGVzKHRoaXMuZGV2aWNlLEwuU0VSVkVSX1NDT1BFLFt7a2V5OiJpbmFjdGl2ZV9jb25uZWN0b3JzIix2YWx1ZTp0aGlzLmluYWN0aXZlQ29ubmVjdG9yc31dKSx0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZGVsZXRlRW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSxuLFtlXSksdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNhdmVFbnRpdHlBdHRyaWJ1dGVzKHRoaXMuZGV2aWNlLGEsW2VdKV19b25EYXRhVXBkYXRlRXJyb3IoZSl7Y29uc3QgdD10aGlzLnV0aWxzLnBhcnNlRXhjZXB0aW9uKGUpO2xldCBuPXQubmFtZTt0Lm1lc3NhZ2UmJihuKz0iOiAiK3QubWVzc2FnZSksY29uc29sZS5lcnJvcihuKX1vbkVycm9yc1VwZGF0ZWQoKXt0aGlzLmNkLmRldGVjdENoYW5nZXMoKX1vbkRhdGFVcGRhdGVkKCl7Y29uc3QgZT10aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLmRhdGEsdD1lLmZpbmQoKGU9PiJhY3RpdmUiPT09ZS5kYXRhS2V5Lm5hbWUpKS5kYXRhWzBdWzFdLG49ZS5maW5kKChlPT4ibGFzdERpc2Nvbm5lY3RUaW1lIj09PWUuZGF0YUtleS5uYW1lKSkuZGF0YVswXVsxXSxhPWUuZmluZCgoZT0+Imxhc3RDb25uZWN0VGltZSI9PT1lLmRhdGFLZXkubmFtZSkpLmRhdGFbMF1bMV07dGhpcy5pc0dhdGV3YXlBY3RpdmU9dGhpcy5nZXRHYXRld2F5U3RhdHVzKHQsYSxuKSx0aGlzLmNkLmRldGVjdENoYW5nZXMoKX1nZXRHYXRld2F5U3RhdHVzKGUsdCxuKXtyZXR1cm4hIWUmJighbnx8dD5uKX1nZW5lcmF0ZVN1YnNjcmlwdGlvbigpe2lmKHRoaXMuc3Vic2NyaXB0aW9uJiZ0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMuZGV2aWNlKXtjb25zdCBlPVt7dHlwZTpGLmVudGl0eSxlbnRpdHlUeXBlOkkuREVWSUNFLGVudGl0eUlkOnRoaXMuZGV2aWNlLmlkLGVudGl0eU5hbWU6IkdhdGV3YXkiLHRpbWVzZXJpZXM6W119XTt0aGlzLmRhdGFTb3VyY2UuZGF0YS5mb3JFYWNoKCh0PT57ZVswXS50aW1lc2VyaWVzLnB1c2goe25hbWU6YCR7dC5rZXl9X0VSUk9SU19DT1VOVGAsbGFiZWw6YCR7dC5rZXl9X0VSUk9SU19DT1VOVGB9KX0pKSx0aGlzLmN0eC5zdWJzY3JpcHRpb25BcGkuY3JlYXRlU3Vic2NyaXB0aW9uRnJvbUluZm8oQS5sYXRlc3QsZSx0aGlzLnN1YnNjcmlwdGlvbk9wdGlvbnMsITEsITApLnN1YnNjcmliZSgoZT0+e3RoaXMuc3Vic2NyaXB0aW9uPWV9KSl9fWNyZWF0ZUJhc2ljQ29uZmlnV2F0Y2hlcigpe3RoaXMuYmFzaWNDb25maWdTdWImJnRoaXMuYmFzaWNDb25maWdTdWIudW5zdWJzY3JpYmUoKSx0aGlzLmJhc2ljQ29uZmlnU3ViPXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoImJhc2ljQ29uZmlnIikudmFsdWVDaGFuZ2VzLnBpcGUoTWUoKCgpPT4hIXRoaXMuaW5pdGlhbENvbm5lY3RvcikpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pntjb25zdCB0PXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoImNvbmZpZ3VyYXRpb25Kc29uIiksbj10aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJ0eXBlIikudmFsdWUsYT10aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJtb2RlIikudmFsdWU7aWYoIWVlKGUsdD8udmFsdWUpJiZ0aGlzLmFsbG93QmFzaWNDb25maWcuaGFzKG4pJiZhPT09b24uQkFTSUMpe2NvbnN0IG49ey4uLnQudmFsdWUsLi4uZX07dGhpcy5jb25uZWN0b3JGb3JtLmdldCgiY29uZmlndXJhdGlvbkpzb24iKS5wYXRjaFZhbHVlKG4se2VtaXRFdmVudDohMX0pfX0pKX1jcmVhdGVKc29uQ29uZmlnV2F0Y2hlcigpe3RoaXMuanNvbkNvbmZpZ1N1YiYmdGhpcy5qc29uQ29uZmlnU3ViLnVuc3Vic2NyaWJlKCksdGhpcy5qc29uQ29uZmlnU3ViPXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoImNvbmZpZ3VyYXRpb25Kc29uIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2NvbnN0IHQ9dGhpcy5jb25uZWN0b3JGb3JtLmdldCgiYmFzaWNDb25maWciKSxuPXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoInR5cGUiKS52YWx1ZSxhPXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoIm1vZGUiKS52YWx1ZTshZWUoZSx0Py52YWx1ZSkmJnRoaXMuYWxsb3dCYXNpY0NvbmZpZy5oYXMobikmJmE9PT1vbi5BRFZBTkNFRCYmdGhpcy5jb25uZWN0b3JGb3JtLmdldCgiYmFzaWNDb25maWciKS5wYXRjaFZhbHVlKGUse2VtaXRFdmVudDohMX0pfSkpfWNvbmZpcm1Db25uZWN0b3JDaGFuZ2UoKXtyZXR1cm4gdGhpcy5pbml0aWFsQ29ubmVjdG9yJiZ0aGlzLmNvbm5lY3RvckZvcm0uZGlydHk/dGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0odGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5jaGFuZ2UtY29ubmVjdG9yLXRpdGxlIiksdGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5jaGFuZ2UtY29ubmVjdG9yLXRleHQiKSx0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJhY3Rpb24ubm8iKSx0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJhY3Rpb24ueWVzIiksITApOkllKCEwKX1zZXRGb3JtVmFsdWUoZSl7dGhpcy5jb25uZWN0b3JGb3JtLmRpc2FibGVkJiZ0aGlzLmNvbm5lY3RvckZvcm0uZW5hYmxlKCk7Y29uc3QgdD1iYS5nZXRDb25maWcoe2NvbmZpZ3VyYXRpb246IiIsa2V5OiJhdXRvIixjb25maWd1cmF0aW9uSnNvbjp7fSwuLi5lfSx0aGlzLmdhdGV3YXlWZXJzaW9uKTt0aGlzLmdhdGV3YXlWZXJzaW9uJiYhdC5jb25maWdWZXJzaW9uJiYodC5jb25maWdWZXJzaW9uPXRoaXMuZ2F0ZXdheVZlcnNpb24pLHQuYmFzaWNDb25maWc9dC5jb25maWd1cmF0aW9uSnNvbix0aGlzLmluaXRpYWxDb25uZWN0b3I9dCx0aGlzLnVwZGF0ZUNvbm5lY3Rvcih0KX11cGRhdGVDb25uZWN0b3IoZSl7c3dpdGNoKHRoaXMuanNvbkNvbmZpZ1N1Yj8udW5zdWJzY3JpYmUoKSxlLnR5cGUpe2Nhc2UgX3QuTVFUVDpjYXNlIF90Lk9QQ1VBOmNhc2UgX3QuTU9EQlVTOnRoaXMudXBkYXRlQmFzaWNDb25maWdDb25uZWN0b3IoZSk7YnJlYWs7ZGVmYXVsdDp0aGlzLmNvbm5lY3RvckZvcm0ucGF0Y2hWYWx1ZSh7Li4uZSxtb2RlOm51bGx9KSx0aGlzLmNvbm5lY3RvckZvcm0ubWFya0FzUHJpc3RpbmUoKSx0aGlzLmNyZWF0ZUpzb25Db25maWdXYXRjaGVyKCl9fXVwZGF0ZUJhc2ljQ29uZmlnQ29ubmVjdG9yKGUpe3RoaXMuYmFzaWNDb25maWdTdWI/LnVuc3Vic2NyaWJlKCk7Y29uc3QgdD10aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJ0eXBlIikudmFsdWU7dGhpcy5zZXRJbml0aWFsQ29ubmVjdG9yVmFsdWVzKGUpLHQhPT1lLnR5cGUmJnRoaXMuYWxsb3dCYXNpY0NvbmZpZy5oYXMoZS50eXBlKT90aGlzLmJhc2ljQ29uZmlnSW5pdFN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShPZSgxKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMucGF0Y2hCYXNpY0NvbmZpZ0Nvbm5lY3RvcihlKX0pKTp0aGlzLnBhdGNoQmFzaWNDb25maWdDb25uZWN0b3IoZSl9cGF0Y2hCYXNpY0NvbmZpZ0Nvbm5lY3RvcihlKXt0aGlzLmNvbm5lY3RvckZvcm0ucGF0Y2hWYWx1ZShlLHtlbWl0RXZlbnQ6ITF9KSx0aGlzLmNvbm5lY3RvckZvcm0ubWFya0FzUHJpc3RpbmUoKSx0aGlzLmNyZWF0ZUJhc2ljQ29uZmlnV2F0Y2hlcigpLHRoaXMuY3JlYXRlSnNvbkNvbmZpZ1dhdGNoZXIoKX10b2dnbGVSZXBvcnRTdHJhdGVneShlKXtjb25zdCB0PXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoInJlcG9ydFN0cmF0ZWd5Iik7ZT09PV90Lk1PREJVUz90LmVuYWJsZSh7ZW1pdEV2ZW50OiExfSk6dC5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KX1zZXRDbGllbnREYXRhKGUpe2lmKHRoaXMuaW5pdGlhbENvbm5lY3Rvcil7Y29uc3QgdD1lLmRhdGEuZmluZCgoZT0+ZS5rZXk9PT10aGlzLmluaXRpYWxDb25uZWN0b3IubmFtZSkpO3QmJih0LnZhbHVlPSJzdHJpbmciPT10eXBlb2YgdC52YWx1ZT9KU09OLnBhcnNlKHQudmFsdWUpOnQudmFsdWUsdGhpcy5pc0Nvbm5lY3RvclN5bmNlZCh0KSYmdC52YWx1ZS5jb25maWd1cmF0aW9uSnNvbiYmdGhpcy5zZXRGb3JtVmFsdWUoey4uLnQudmFsdWUsbW9kZTp0aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJtb2RlIikudmFsdWU/P3QudmFsdWUubW9kZX0pKX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpFbyxkZXBzOlt7dG9rZW46b3QuU3RvcmV9LHt0b2tlbjptZS5Gb3JtQnVpbGRlcn0se3Rva2VuOlkuVHJhbnNsYXRlU2VydmljZX0se3Rva2VuOlguQXR0cmlidXRlU2VydmljZX0se3Rva2VuOlguRGlhbG9nU2VydmljZX0se3Rva2VuOkplLk1hdERpYWxvZ30se3Rva2VuOlguVGVsZW1ldHJ5V2Vic29ja2V0U2VydmljZX0se3Rva2VuOnQuTmdab25lfSx7dG9rZW46WC5VdGlsc1NlcnZpY2V9LHt0b2tlbjp2YX0se3Rva2VuOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOkVvLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LWNvbm5lY3RvciIsaW5wdXRzOntjdHg6ImN0eCIsZGV2aWNlOiJkZXZpY2UifSxwcm92aWRlcnM6W3twcm92aWRlOlRlLHVzZUNsYXNzOk1vfV0sdmlld1F1ZXJpZXM6W3twcm9wZXJ0eU5hbWU6Im5hbWVJbnB1dCIsZmlyc3Q6ITAscHJlZGljYXRlOlsibmFtZUlucHV0Il0sZGVzY2VuZGFudHM6ITB9LHtwcm9wZXJ0eU5hbWU6InNvcnQiLGZpcnN0OiEwLHByZWRpY2F0ZTpnLGRlc2NlbmRhbnRzOiEwfV0sdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJjb25uZWN0b3ItY29udGFpbmVyIHRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIj5cbiAgPHNlY3Rpb24gY2xhc3M9InRhYmxlLXNlY3Rpb24gdGItZm9ybS1wYW5lbCBuby1wYWRkaW5nIGZsZXggc2VjdGlvbi1jb250YWluZXIiPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIj5cbiAgICAgIDxoMj57eyBcJ2dhdGV3YXkuY29ubmVjdG9yc1wnIHwgdHJhbnNsYXRlIH19PC9oMj5cbiAgICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgICA8YnV0dG9uICpuZ0lmPSJkYXRhU291cmNlPy5kYXRhPy5sZW5ndGgiXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJpc0xvYWRpbmckIHwgYXN5bmMiXG4gICAgICAgICAgICAgIChjbGljayk9Im9uQWRkQ29ubmVjdG9yKCRldmVudCkiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmFkZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L21hdC10b29sYmFyPlxuICAgIDxkaXYgY2xhc3M9InRhYmxlLWNvbnRhaW5lciI+XG4gICAgICA8c2VjdGlvbiAqbmdJZj0iIWRhdGFTb3VyY2U/LmRhdGE/Lmxlbmd0aCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgIGNsYXNzPSJtYXQtaGVhZGxpbmUtNSB0Yi1hYnNvbHV0ZS1maWxsIHRiLWFkZC1uZXciPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9ImNvbm5lY3RvciJcbiAgICAgICAgKGNsaWNrKT0ib25BZGRDb25uZWN0b3IoJGV2ZW50KSI+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJ0Yi1tYXQtOTYiPmFkZDwvbWF0LWljb24+XG4gICAgICAgICAgPHNwYW4+e3sgXCdnYXRld2F5LmFkZC1jb25uZWN0b3JcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT0iZGF0YVNvdXJjZSJcbiAgICAgICAgICAgICBtYXRTb3J0IFttYXRTb3J0QWN0aXZlXT0icGFnZUxpbmsuc29ydE9yZGVyLnByb3BlcnR5IiBbbWF0U29ydERpcmVjdGlvbl09InBhZ2VMaW5rLnNvcnREaXJlY3Rpb24oKSJcbiAgICAgICAgICAgICBtYXRTb3J0RGlzYWJsZUNsZWFyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iZW5hYmxlZCIgc3RpY2t5PlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgc3R5bGU9IndpZHRoOiA2MHB4O21pbi13aWR0aDogNjBweDsiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtZW5hYmxlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgYXR0cmlidXRlIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIFtjaGVja2VkXT0iYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyhhdHRyaWJ1dGUua2V5KSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgb25FbmFibGVDb25uZWN0b3IoYXR0cmlidXRlKSI+PC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0ia2V5Ij5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDQwJSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1uYW1lXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiPlxuICAgICAgICAgICAge3sgYXR0cmlidXRlLmtleSB9fVxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0idHlwZSI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgc3R5bGU9IndpZHRoOiAzMCUiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtdHlwZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgYXR0cmlidXRlIiBzdHlsZT0idGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSI+XG4gICAgICAgICAgICB7eyByZXR1cm5UeXBlKGF0dHJpYnV0ZSkgfX1cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9InN5bmNTdGF0dXMiPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIHN0eWxlPSJ3aWR0aDogMzAlIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5jb25maWd1cmF0aW9uXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzIiBbY2xhc3NdPSJpc0Nvbm5lY3RvclN5bmNlZChhdHRyaWJ1dGUpID8gXCdzdGF0dXMtc3luY1wnIDogXCdzdGF0dXMtdW5zeW5jXCciPlxuICAgICAgICAgICAgICAgIHt7IGlzQ29ubmVjdG9yU3luY2VkKGF0dHJpYnV0ZSkgPyBcJ3N5bmNcJyA6IFwnb3V0IG9mIHN5bmNcJyB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9ImVycm9ycyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgc3R5bGU9IndpZHRoOiAzMCUiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtc3RhdHVzXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkb3QiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ0Vycm9yczogXCcrIGdldEVycm9yc0NvdW50KGF0dHJpYnV0ZSl9fSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPSJjb25uZWN0b3JMb2dzKGF0dHJpYnV0ZSwgJGV2ZW50KSJcbiAgICAgICAgICAgICAgICAgIFtjbGFzc109IntcJ2hhc0Vycm9yc1wnOiArZ2V0RXJyb3JzQ291bnQoYXR0cmlidXRlKSA+IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCdub0Vycm9yc1wnOiArZ2V0RXJyb3JzQ291bnQoYXR0cmlidXRlKSA9PT0gMCB8fCBnZXRFcnJvcnNDb3VudChhdHRyaWJ1dGUpID09PSBcJ1wnfSI+PC9zcGFuPlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iYWN0aW9ucyIgc3RpY2t5RW5kPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlLmd0LW1kXT0ieyBtaW5XaWR0aDogXCcxNDRweFwnLCBtYXhXaWR0aDogXCcxNDRweFwnLCB3aWR0aDogXCcxNDRweFwnLCB0ZXh0QWxpZ246IFwnY2VudGVyXCd9Ij5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWFjdGlvbnNcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IGF0dHJpYnV0ZSJcbiAgICAgICAgICAgICAgICAgICAgW25nU3R5bGUuZ3QtbWRdPSJ7IG1pbldpZHRoOiBcJzE0NHB4XCcsIG1heFdpZHRoOiBcJzE0NHB4XCcsIHdpZHRoOiBcJzE0NHB4XCd9Ij5cbiAgICAgICAgICAgIDxkaXYgZnhIaWRlIGZ4U2hvdy5ndC1tZCBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJSUEMiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJjb25uZWN0b3JScGMoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+cHJpdmF0ZV9jb25uZWN0aXZpdHk8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJMb2dzIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iY29ubmVjdG9yTG9ncyhhdHRyaWJ1dGUsICRldmVudCkiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5saXN0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0iRGVsZXRlIGNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9ImRlbGV0ZUNvbm5lY3RvcihhdHRyaWJ1dGUsICRldmVudCkiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmeEhpZGUgZnhTaG93Lmx0LWxnPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPSJjZWxsQWN0aW9uc01lbnUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8bWF0LW1lbnUgI2NlbGxBY3Rpb25zTWVudT0ibWF0TWVudSIgeFBvc2l0aW9uPSJiZWZvcmUiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJSUEMiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iY29ubmVjdG9yUnBjKGF0dHJpYnV0ZSwgJGV2ZW50KSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24+cHJpdmF0ZV9jb25uZWN0aXZpdHk8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJMb2dzIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9ImNvbm5lY3RvckxvZ3MoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5saXN0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0iRGVsZXRlIGNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJkZWxldGVDb25uZWN0b3IoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxtYXQtaGVhZGVyLXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbWF0SGVhZGVyUm93RGVmPSJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWUiPjwvbWF0LWhlYWRlci1yb3c+XG4gICAgICAgIDxtYXQtcm93IGNsYXNzPSJtYXQtcm93LXNlbGVjdCIgW2NsYXNzXT0ie1wndGItY3VycmVudC1lbnRpdHlcJzogaXNTYW1lQ29ubmVjdG9yKGF0dHJpYnV0ZSl9IlxuICAgICAgICAgICAgICAgICAqbWF0Um93RGVmPSJsZXQgYXR0cmlidXRlOyBsZXQgaSA9IGluZGV4OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyIgKGNsaWNrKT0ic2VsZWN0Q29ubmVjdG9yKCRldmVudCwgYXR0cmlidXRlKSI+PC9tYXQtcm93PlxuICAgICAgPC90YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9zZWN0aW9uPlxuICA8c2VjdGlvbiBbZm9ybUdyb3VwXT0iY29ubmVjdG9yRm9ybSIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc2VjdGlvbi1jb250YWluZXIgZmxleCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSB0Yi1mbGV4IG5vLWZsZXggc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSI+XG4gICAgICAgIHt7IGluaXRpYWxDb25uZWN0b3I/LnR5cGUgPyBHYXRld2F5Q29ubmVjdG9yVHlwZXNUcmFuc2xhdGVzTWFwLmdldChpbml0aWFsQ29ubmVjdG9yLnR5cGUpIDogXCdcJyB9fVxuICAgICAgICB7eyBcJ2dhdGV3YXkuY29uZmlndXJhdGlvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDxzcGFuIGNsYXNzPSJ2ZXJzaW9uLXBsYWNlaG9sZGVyIiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdjb25maWdWZXJzaW9uXCcpLnZhbHVlIj52e3tjb25uZWN0b3JGb3JtLmdldChcJ2NvbmZpZ1ZlcnNpb25cJykudmFsdWV9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgKm5nSWY9ImluaXRpYWxDb25uZWN0b3IgJiYgYWxsb3dCYXNpY0NvbmZpZy5oYXMoaW5pdGlhbENvbm5lY3Rvci50eXBlKSJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0ibW9kZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uIFt2YWx1ZV09IkNvbm5lY3RvckNvbmZpZ3VyYXRpb25Nb2Rlcy5CQVNJQyI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LmJhc2ljXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiBbdmFsdWVdPSJDb25uZWN0b3JDb25maWd1cmF0aW9uTW9kZXMuQURWQU5DRUQiPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5hZHZhbmNlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgIDwvdGItdG9nZ2xlLXNlbGVjdD5cbiAgICA8L2Rpdj5cbiAgICA8c3BhbiBbZnhTaG93XT0iIWluaXRpYWxDb25uZWN0b3IiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCIgdHJhbnNsYXRlPlxuICAgICAgZ2F0ZXdheS5zZWxlY3QtY29ubmVjdG9yXG4gICAgPC9zcGFuPlxuICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHNlY3Rpb24tY29udGFpbmVyIG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLWZsZXggc3BhY2UtYmV0d2VlbiIgKm5nSWY9ImluaXRpYWxDb25uZWN0b3IiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdtb2RlXCcpPy52YWx1ZSA9PT0gQ29ubmVjdG9yQ29uZmlndXJhdGlvbk1vZGVzLkJBU0lDIGVsc2UgZGVmYXVsdENvbmZpZyI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT0iaW5pdGlhbENvbm5lY3Rvci50eXBlIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9IkNvbm5lY3RvclR5cGUuTVFUVCI+XG4gICAgICAgICAgICA8dGItbXF0dC1iYXNpYy1jb25maWdcbiAgICAgICAgICAgICAgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwnY29uZmlnVmVyc2lvblwnKS52YWx1ZSB8IGlzTGF0ZXN0VmVyc2lvbkNvbmZpZyBlbHNlIGxlZ2FjeSJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgW2dlbmVyYWxUYWJDb250ZW50XT0iZ2VuZXJhbFRhYkNvbnRlbnQiXG4gICAgICAgICAgICAgIChpbml0aWFsaXplZCk9ImJhc2ljQ29uZmlnSW5pdFN1YmplY3QubmV4dCgpIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbGVnYWN5PlxuICAgICAgICAgICAgICA8dGItbXF0dC1sZWdhY3ktYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk9QQ1VBIj5cbiAgICAgICAgICAgIDx0Yi1vcGMtdWEtYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ2NvbmZpZ1ZlcnNpb25cJykudmFsdWUgfCBpc0xhdGVzdFZlcnNpb25Db25maWcgZWxzZSBsZWdhY3kiXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICAgICAgICAgIFtnZW5lcmFsVGFiQ29udGVudF09ImdlbmVyYWxUYWJDb250ZW50IlxuICAgICAgICAgICAgICAoaW5pdGlhbGl6ZWQpPSJiYXNpY0NvbmZpZ0luaXRTdWJqZWN0Lm5leHQoKSJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2xlZ2FjeT5cbiAgICAgICAgICAgICAgPHRiLW9wYy11YS1sZWdhY3ktYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk1PREJVUyI+XG4gICAgICAgICAgICA8dGItbW9kYnVzLWJhc2ljLWNvbmZpZ1xuICAgICAgICAgICAgICAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdjb25maWdWZXJzaW9uXCcpLnZhbHVlIHwgaXNMYXRlc3RWZXJzaW9uQ29uZmlnIGVsc2UgbGVnYWN5IlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9ImJhc2ljQ29uZmlnIlxuICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNsZWdhY3k+XG4gICAgICAgICAgICAgIDx0Yi1tb2RidXMtbGVnYWN5LWJhc2ljLWNvbmZpZ1xuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgW2dlbmVyYWxUYWJDb250ZW50XT0iZ2VuZXJhbFRhYkNvbnRlbnQiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q29uZmlnPlxuICAgICAgICA8bWF0LXRhYi1ncm91cD5cbiAgICAgICAgICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgICAgICAgICAgPHRiLWpzb24tb2JqZWN0LWVkaXRcbiAgICAgICAgICAgICAgZmlsbEhlaWdodD0idHJ1ZSJcbiAgICAgICAgICAgICAgY2xhc3M9InRiLWZsZXggZmlsbC1oZWlnaHQiXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PSJjb2x1bW4iXG4gICAgICAgICAgICAgIGpzb25SZXF1aXJlZFxuICAgICAgICAgICAgICBsYWJlbD0ie3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJjb25maWd1cmF0aW9uSnNvbiI+XG4gICAgICAgICAgICA8L3RiLWpzb24tb2JqZWN0LWVkaXQ+XG4gICAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgICA8L21hdC10YWItZ3JvdXA+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGRpdiBmeExheW91dEFsaWduPSJlbmQgY2VudGVyIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iIWNvbm5lY3RvckZvcm0uZGlydHkgfHwgY29ubmVjdG9yRm9ybS5pbnZhbGlkIlxuICAgICAgICAgICAgICAgIChjbGljayk9Im9uU2F2ZUNvbm5lY3RvcigpIj5cbiAgICAgICAgICB7eyBcJ2FjdGlvbi5zYXZlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG4gIDwvc2VjdGlvbj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNnZW5lcmFsVGFiQ29udGVudD5cbiAgPHNlY3Rpb24gW2Zvcm1Hcm91cF09ImNvbm5lY3RvckZvcm0iIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIHNlY3Rpb24tY29udGFpbmVyIGZsZXgiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiID5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5uYW1lPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGF1dG9jb21wbGV0ZT0ib2ZmIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJuYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS5oYXNFcnJvcihcJ2R1cGxpY2F0ZU5hbWVcJykgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCdnYXRld2F5LmNvbm5lY3Rvci1kdXBsaWNhdGUtbmFtZVwnIDogXCdnYXRld2F5Lm5hbWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSIoY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYgY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLnRvdWNoZWQpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0b3JGb3JtLmdldChcJ25hbWVcJykuaGFzRXJyb3IoXCdkdXBsaWNhdGVOYW1lXCcpIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IENvbm5lY3RvclR5cGUuQ1VTVE9NIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1jbGFzczwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJjbGFzcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlID09PSBDb25uZWN0b3JUeXBlLkdSUEMiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWtleTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJrZXkiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5sb2dzLWNvbmZpZ3VyYXRpb248L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0iZW5hYmxlUmVtb3RlTG9nZ2luZyI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5lbmFibGUtcmVtb3RlLWxvZ2dpbmdcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucmVtb3RlLWxvZ2dpbmctbGV2ZWw8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImxvZ0xldmVsIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbG9nTGV2ZWwgb2YgZ2F0ZXdheUxvZ0xldmVsIiBbdmFsdWVdPSJsb2dMZXZlbCI+e3sgbG9nTGV2ZWwgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IENvbm5lY3RvclR5cGUuTVFUVCIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJzZW5kRGF0YU9ubHlPbkNoYW5nZSI+XG4gICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5zZW5kLWNoYW5nZS1kYXRhLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnNlbmQtY2hhbmdlLWRhdGFcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8L2Rpdj5cbiAgICA8dGItcmVwb3J0LXN0cmF0ZWd5XG4gICAgICBbZGVmYXVsdFZhbHVlXT0iUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWUuQ29ubmVjdG9yIlxuICAgICAgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gQ29ubmVjdG9yVHlwZS5NT0RCVVMgJiYgKGNvbm5lY3RvckZvcm0uZ2V0KFwnY29uZmlnVmVyc2lvblwnKS52YWx1ZSB8IGlzTGF0ZXN0VmVyc2lvbkNvbmZpZykiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9InJlcG9ydFN0cmF0ZWd5IlxuICAgIC8+XG4gIDwvc2VjdGlvbj5cbjwvbmctdGVtcGxhdGU+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrO292ZXJmbG93LXg6YXV0bztwYWRkaW5nOjB9Omhvc3QgLnZlcnNpb24tcGxhY2Vob2xkZXJ7Y29sb3I6Z3JheTtmb250LXNpemU6MTJweH06aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lcntoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2ZsZXgtZGlyZWN0aW9uOnJvd31AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpezpob3N0IC5jb25uZWN0b3ItY29udGFpbmVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn19Omhvc3QgLmNvbm5lY3Rvci1jb250YWluZXI+c2VjdGlvbjpub3QoLnRhYmxlLXNlY3Rpb24pe21heC13aWR0aDp1bnNldH1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpezpob3N0IC5jb25uZWN0b3ItY29udGFpbmVyPnNlY3Rpb246bm90KC50YWJsZS1zZWN0aW9uKXttYXgtd2lkdGg6NTAlfX06aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGFibGUtc2VjdGlvbnttaW4taGVpZ2h0OjM1dmg7b3ZlcmZsb3c6aGlkZGVufTpob3N0IC5jb25uZWN0b3ItY29udGFpbmVyIC50YWJsZS1zZWN0aW9uIC50YWJsZS1jb250YWluZXJ7b3ZlcmZsb3c6YXV0b306aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAuZmxleHtmbGV4OjF9Omhvc3QgLmNvbm5lY3Rvci1jb250YWluZXIgLmlucHV0LWNvbnRhaW5lcntoZWlnaHQ6YXV0b306aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAuc2VjdGlvbi1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfTpob3N0IC5tYXQtdG9vbGJhcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMDAwMDBkZSFpbXBvcnRhbnR9Omhvc3QgLm1hdC1tZGMtc2xpZGUtdG9nZ2xle21hcmdpbjowIDhweH06aG9zdCAuc3RhdHVze3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6MTZweDtmb250LXdlaWdodDo1MDA7d2lkdGg6Zml0LWNvbnRlbnQ7cGFkZGluZzo1cHggMTVweH06aG9zdCAuc3RhdHVzLXN5bmN7YmFja2dyb3VuZDojMTk4MDM4MGY7Y29sb3I6IzE5ODAzOH06aG9zdCAuc3RhdHVzLXVuc3luY3tiYWNrZ3JvdW5kOiNjYjI1MzAwZjtjb2xvcjojY2IyNTMwfTpob3N0IG1hdC1yb3d7Y3Vyc29yOnBvaW50ZXJ9Omhvc3QgLmRvdHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4O2JhY2tncm91bmQtY29sb3I6I2JiYjtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1ibG9ja306aG9zdCAuaGFzRXJyb3Jze2JhY2tncm91bmQtY29sb3I6I2NiMjUzMH06aG9zdCAubm9FcnJvcnN7YmFja2dyb3VuZC1jb2xvcjojMTk4MDM4fTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAubWF0LW1kYy10YWItZ3JvdXAsOmhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC5tYXQtbWRjLXRhYi1ib2R5LXdyYXBwZXJ7aGVpZ2h0OjEwMCV9Omhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC5tYXQtbWRjLXRhYi1ib2R5Lm1hdC1tZGMtdGFiLWJvZHktYWN0aXZle3Bvc2l0aW9uOmFic29sdXRlfTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGItZm9ybS1yb3cgLmZpeGVkLXRpdGxlLXdpZHRoe21pbi13aWR0aDoxMjBweDt3aWR0aDozMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGItYWRkLW5ld3tkaXNwbGF5OmZsZXg7ei1pbmRleDo5OTk7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Omhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC50Yi1hZGQtbmV3IGJ1dHRvbi5jb25uZWN0b3J7aGVpZ2h0OmF1dG87cGFkZGluZy1yaWdodDoxMnB4O2ZvbnQtc2l6ZToyMHB4O2JvcmRlci1zdHlsZTpkYXNoZWQ7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItcmFkaXVzOjhweDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6IzAwMDAwMDYxfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nVGVtcGxhdGVPdXRsZXQsc2VsZWN0b3I6IltuZ1RlbXBsYXRlT3V0bGV0XSIsaW5wdXRzOlsibmdUZW1wbGF0ZU91dGxldENvbnRleHQiLCJuZ1RlbXBsYXRlT3V0bGV0IiwibmdUZW1wbGF0ZU91dGxldEluamVjdG9yIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaCxzZWxlY3RvcjoiW25nU3dpdGNoXSIsaW5wdXRzOlsibmdTd2l0Y2giXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoQ2FzZSxzZWxlY3RvcjoiW25nU3dpdGNoQ2FzZV0iLGlucHV0czpbIm5nU3dpdGNoQ2FzZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZ0Lkpzb25PYmplY3RFZGl0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi1qc29uLW9iamVjdC1lZGl0IixpbnB1dHM6WyJsYWJlbCIsImRpc2FibGVkIiwiZmlsbEhlaWdodCIsImVkaXRvclN0eWxlIiwic29ydCIsImpzb25SZXF1aXJlZCIsInJlYWRvbmx5Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QnV0dG9uLHNlbGVjdG9yOiIgICAgYnV0dG9uW21hdC1idXR0b25dLCBidXR0b25bbWF0LXJhaXNlZC1idXR0b25dLCBidXR0b25bbWF0LWZsYXQtYnV0dG9uXSwgICAgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0gICIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRTdWZmaXgsc2VsZWN0b3I6IlttYXRTdWZmaXhdLCBbbWF0SWNvblN1ZmZpeF0sIFttYXRUZXh0U3VmZml4XSIsaW5wdXRzOlsibWF0VGV4dFN1ZmZpeCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnJ0Lk1hdFRvb2xiYXIsc2VsZWN0b3I6Im1hdC10b29sYmFyIixpbnB1dHM6WyJjb2xvciJdLGV4cG9ydEFzOlsibWF0VG9vbGJhciJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmh0Lk1hdE1lbnUsc2VsZWN0b3I6Im1hdC1tZW51IixpbnB1dHM6WyJiYWNrZHJvcENsYXNzIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImFyaWEtZGVzY3JpYmVkYnkiLCJ4UG9zaXRpb24iLCJ5UG9zaXRpb24iLCJvdmVybGFwVHJpZ2dlciIsImhhc0JhY2tkcm9wIiwiY2xhc3MiLCJjbGFzc0xpc3QiXSxvdXRwdXRzOlsiY2xvc2VkIiwiY2xvc2UiXSxleHBvcnRBczpbIm1hdE1lbnUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpodC5NYXRNZW51VHJpZ2dlcixzZWxlY3RvcjoiW21hdC1tZW51LXRyaWdnZXItZm9yXSwgW21hdE1lbnVUcmlnZ2VyRm9yXSIsaW5wdXRzOlsibWF0LW1lbnUtdHJpZ2dlci1mb3IiLCJtYXRNZW51VHJpZ2dlckZvciIsIm1hdE1lbnVUcmlnZ2VyRGF0YSIsIm1hdE1lbnVUcmlnZ2VyUmVzdG9yZUZvY3VzIl0sb3V0cHV0czpbIm1lbnVPcGVuZWQiLCJvbk1lbnVPcGVuIiwibWVudUNsb3NlZCIsIm9uTWVudUNsb3NlIl0sZXhwb3J0QXM6WyJtYXRNZW51VHJpZ2dlciJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOndlLk1hdFNlbGVjdCxzZWxlY3RvcjoibWF0LXNlbGVjdCIsaW5wdXRzOlsiYXJpYS1kZXNjcmliZWRieSIsInBhbmVsQ2xhc3MiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3IiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwibXVsdGlwbGUiLCJkaXNhYmxlT3B0aW9uQ2VudGVyaW5nIiwiY29tcGFyZVdpdGgiLCJ2YWx1ZSIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJlcnJvclN0YXRlTWF0Y2hlciIsInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLCJzb3J0Q29tcGFyYXRvciIsImlkIiwicGFuZWxXaWR0aCJdLG91dHB1dHM6WyJvcGVuZWRDaGFuZ2UiLCJvcGVuZWQiLCJjbG9zZWQiLCJzZWxlY3Rpb25DaGFuZ2UiLCJ2YWx1ZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2VsZWN0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmIuTWF0VGFibGUsc2VsZWN0b3I6Im1hdC10YWJsZSwgdGFibGVbbWF0LXRhYmxlXSIsZXhwb3J0QXM6WyJtYXRUYWJsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0SGVhZGVyQ2VsbERlZixzZWxlY3RvcjoiW21hdEhlYWRlckNlbGxEZWZdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlclJvd0RlZixzZWxlY3RvcjoiW21hdEhlYWRlclJvd0RlZl0iLGlucHV0czpbIm1hdEhlYWRlclJvd0RlZiIsIm1hdEhlYWRlclJvd0RlZlN0aWNreSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Q29sdW1uRGVmLHNlbGVjdG9yOiJbbWF0Q29sdW1uRGVmXSIsaW5wdXRzOlsibWF0Q29sdW1uRGVmIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsRGVmLHNlbGVjdG9yOiJbbWF0Q2VsbERlZl0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Um93RGVmLHNlbGVjdG9yOiJbbWF0Um93RGVmXSIsaW5wdXRzOlsibWF0Um93RGVmQ29sdW1ucyIsIm1hdFJvd0RlZldoZW4iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlckNlbGwsc2VsZWN0b3I6Im1hdC1oZWFkZXItY2VsbCwgdGhbbWF0LWhlYWRlci1jZWxsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsLHNlbGVjdG9yOiJtYXQtY2VsbCwgdGRbbWF0LWNlbGxdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdEhlYWRlclJvdyxzZWxlY3RvcjoibWF0LWhlYWRlci1yb3csIHRyW21hdC1oZWFkZXItcm93XSIsZXhwb3J0QXM6WyJtYXRIZWFkZXJSb3ciXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdFJvdyxzZWxlY3RvcjoibWF0LXJvdywgdHJbbWF0LXJvd10iLGV4cG9ydEFzOlsibWF0Um93Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Zi5NYXRTb3J0LHNlbGVjdG9yOiJbbWF0U29ydF0iLGlucHV0czpbIm1hdFNvcnRBY3RpdmUiLCJtYXRTb3J0U3RhcnQiLCJtYXRTb3J0RGlyZWN0aW9uIiwibWF0U29ydERpc2FibGVDbGVhciIsIm1hdFNvcnREaXNhYmxlZCJdLG91dHB1dHM6WyJtYXRTb3J0Q2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTb3J0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Zi5NYXRTb3J0SGVhZGVyLHNlbGVjdG9yOiJbbWF0LXNvcnQtaGVhZGVyXSIsaW5wdXRzOlsibWF0LXNvcnQtaGVhZGVyIiwiYXJyb3dQb3NpdGlvbiIsInN0YXJ0IiwiZGlzYWJsZWQiLCJzb3J0QWN0aW9uRGVzY3JpcHRpb24iLCJkaXNhYmxlQ2xlYXIiXSxleHBvcnRBczpbIm1hdFNvcnRIZWFkZXIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRBbGlnbkRpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRBbGlnbl0sIFtmeExheW91dEFsaWduLnhzXSwgW2Z4TGF5b3V0QWxpZ24uc21dLCBbZnhMYXlvdXRBbGlnbi5tZF0sICBbZnhMYXlvdXRBbGlnbi5sZ10sIFtmeExheW91dEFsaWduLnhsXSwgW2Z4TGF5b3V0QWxpZ24ubHQtc21dLCBbZnhMYXlvdXRBbGlnbi5sdC1tZF0sICBbZnhMYXlvdXRBbGlnbi5sdC1sZ10sIFtmeExheW91dEFsaWduLmx0LXhsXSwgW2Z4TGF5b3V0QWxpZ24uZ3QteHNdLCBbZnhMYXlvdXRBbGlnbi5ndC1zbV0sICBbZnhMYXlvdXRBbGlnbi5ndC1tZF0sIFtmeExheW91dEFsaWduLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRBbGlnbiIsImZ4TGF5b3V0QWxpZ24ueHMiLCJmeExheW91dEFsaWduLnNtIiwiZnhMYXlvdXRBbGlnbi5tZCIsImZ4TGF5b3V0QWxpZ24ubGciLCJmeExheW91dEFsaWduLnhsIiwiZnhMYXlvdXRBbGlnbi5sdC1zbSIsImZ4TGF5b3V0QWxpZ24ubHQtbWQiLCJmeExheW91dEFsaWduLmx0LWxnIiwiZnhMYXlvdXRBbGlnbi5sdC14bCIsImZ4TGF5b3V0QWxpZ24uZ3QteHMiLCJmeExheW91dEFsaWduLmd0LXNtIiwiZnhMYXlvdXRBbGlnbi5ndC1tZCIsImZ4TGF5b3V0QWxpZ24uZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRGbGV4RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeEZsZXhdLCBbZnhGbGV4LnhzXSwgW2Z4RmxleC5zbV0sIFtmeEZsZXgubWRdLCAgW2Z4RmxleC5sZ10sIFtmeEZsZXgueGxdLCBbZnhGbGV4Lmx0LXNtXSwgW2Z4RmxleC5sdC1tZF0sICBbZnhGbGV4Lmx0LWxnXSwgW2Z4RmxleC5sdC14bF0sIFtmeEZsZXguZ3QteHNdLCBbZnhGbGV4Lmd0LXNtXSwgIFtmeEZsZXguZ3QtbWRdLCBbZnhGbGV4Lmd0LWxnXSIsaW5wdXRzOlsiZnhGbGV4IiwiZnhGbGV4LnhzIiwiZnhGbGV4LnNtIiwiZnhGbGV4Lm1kIiwiZnhGbGV4LmxnIiwiZnhGbGV4LnhsIiwiZnhGbGV4Lmx0LXNtIiwiZnhGbGV4Lmx0LW1kIiwiZnhGbGV4Lmx0LWxnIiwiZnhGbGV4Lmx0LXhsIiwiZnhGbGV4Lmd0LXhzIiwiZnhGbGV4Lmd0LXNtIiwiZnhGbGV4Lmd0LW1kIiwiZnhGbGV4Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Sy5EZWZhdWx0U2hvd0hpZGVEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4U2hvd10sIFtmeFNob3cucHJpbnRdLCAgW2Z4U2hvdy54c10sIFtmeFNob3cuc21dLCBbZnhTaG93Lm1kXSwgW2Z4U2hvdy5sZ10sIFtmeFNob3cueGxdLCAgW2Z4U2hvdy5sdC1zbV0sIFtmeFNob3cubHQtbWRdLCBbZnhTaG93Lmx0LWxnXSwgW2Z4U2hvdy5sdC14bF0sICBbZnhTaG93Lmd0LXhzXSwgW2Z4U2hvdy5ndC1zbV0sIFtmeFNob3cuZ3QtbWRdLCBbZnhTaG93Lmd0LWxnXSwgIFtmeEhpZGVdLCBbZnhIaWRlLnByaW50XSwgIFtmeEhpZGUueHNdLCBbZnhIaWRlLnNtXSwgW2Z4SGlkZS5tZF0sIFtmeEhpZGUubGddLCBbZnhIaWRlLnhsXSwgIFtmeEhpZGUubHQtc21dLCBbZnhIaWRlLmx0LW1kXSwgW2Z4SGlkZS5sdC1sZ10sIFtmeEhpZGUubHQteGxdLCAgW2Z4SGlkZS5ndC14c10sIFtmeEhpZGUuZ3Qtc21dLCBbZnhIaWRlLmd0LW1kXSwgW2Z4SGlkZS5ndC1sZ10iLGlucHV0czpbImZ4U2hvdyIsImZ4U2hvdy5wcmludCIsImZ4U2hvdy54cyIsImZ4U2hvdy5zbSIsImZ4U2hvdy5tZCIsImZ4U2hvdy5sZyIsImZ4U2hvdy54bCIsImZ4U2hvdy5sdC1zbSIsImZ4U2hvdy5sdC1tZCIsImZ4U2hvdy5sdC1sZyIsImZ4U2hvdy5sdC14bCIsImZ4U2hvdy5ndC14cyIsImZ4U2hvdy5ndC1zbSIsImZ4U2hvdy5ndC1tZCIsImZ4U2hvdy5ndC1sZyIsImZ4SGlkZSIsImZ4SGlkZS5wcmludCIsImZ4SGlkZS54cyIsImZ4SGlkZS5zbSIsImZ4SGlkZS5tZCIsImZ4SGlkZS5sZyIsImZ4SGlkZS54bCIsImZ4SGlkZS5sdC1zbSIsImZ4SGlkZS5sdC1tZCIsImZ4SGlkZS5sdC1sZyIsImZ4SGlkZS5sdC14bCIsImZ4SGlkZS5ndC14cyIsImZ4SGlkZS5ndC1zbSIsImZ4SGlkZS5ndC1tZCIsImZ4SGlkZS5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOksuRGVmYXVsdFN0eWxlRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtuZ1N0eWxlXSwgIFtuZ1N0eWxlLnhzXSwgW25nU3R5bGUuc21dLCBbbmdTdHlsZS5tZF0sIFtuZ1N0eWxlLmxnXSwgW25nU3R5bGUueGxdLCAgW25nU3R5bGUubHQtc21dLCBbbmdTdHlsZS5sdC1tZF0sIFtuZ1N0eWxlLmx0LWxnXSwgW25nU3R5bGUubHQteGxdLCAgW25nU3R5bGUuZ3QteHNdLCBbbmdTdHlsZS5ndC1zbV0sIFtuZ1N0eWxlLmd0LW1kXSwgW25nU3R5bGUuZ3QtbGddIixpbnB1dHM6WyJuZ1N0eWxlIiwibmdTdHlsZS54cyIsIm5nU3R5bGUuc20iLCJuZ1N0eWxlLm1kIiwibmdTdHlsZS5sZyIsIm5nU3R5bGUueGwiLCJuZ1N0eWxlLmx0LXNtIiwibmdTdHlsZS5sdC1tZCIsIm5nU3R5bGUubHQtbGciLCJuZ1N0eWxlLmx0LXhsIiwibmdTdHlsZS5ndC14cyIsIm5nU3R5bGUuZ3Qtc20iLCJuZ1N0eWxlLmd0LW1kIiwibmdTdHlsZS5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bnQuVG9nZ2xlT3B0aW9uLHNlbGVjdG9yOiJ0Yi10b2dnbGUtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmF0LlRvZ2dsZVNlbGVjdENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXNlbGVjdCIsaW5wdXRzOlsiZGlzYWJsZWQiLCJzZWxlY3RNZWRpYUJyZWFrcG9pbnQiLCJhcHBlYXJhbmNlIiwiZGlzYWJsZVBhZ2luYXRpb24iLCJmaWxsSGVpZ2h0IiwiZXh0cmFQYWRkaW5nIiwicHJpbWFyeUJhY2tncm91bmQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpMbyxzZWxlY3RvcjoidGItbW9kYnVzLWxlZ2FjeS1iYXNpYy1jb25maWcifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmtvLHNlbGVjdG9yOiJ0Yi1tb2RidXMtYmFzaWMtY29uZmlnIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpGbyxzZWxlY3RvcjoidGItb3BjLXVhLWxlZ2FjeS1iYXNpYy1jb25maWcifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnBvLHNlbGVjdG9yOiJ0Yi1vcGMtdWEtYmFzaWMtY29uZmlnIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpBbyxzZWxlY3RvcjoidGItbXF0dC1sZWdhY3ktYmFzaWMtY29uZmlnIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpObyxzZWxlY3RvcjoidGItbXF0dC1iYXNpYy1jb25maWcifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmdvLHNlbGVjdG9yOiJ0Yi1yZXBvcnQtc3RyYXRlZ3kiLGlucHV0czpbImlzRXhwYW5zaW9uTW9kZSIsImRlZmF1bHRWYWx1ZSJdfSx7a2luZDoicGlwZSIsdHlwZTpfLkFzeW5jUGlwZSxuYW1lOiJhc3luYyJ9LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoicGlwZSIsdHlwZTp2YSxuYW1lOiJpc0xhdGVzdFZlcnNpb25Db25maWcifV19KX19ZSgiR2F0ZXdheUNvbm5lY3RvckNvbXBvbmVudCIsRW8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6RW8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktY29ubmVjdG9yIixwcm92aWRlcnM6W3twcm92aWRlOlRlLHVzZUNsYXNzOk1vfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJjb25uZWN0b3ItY29udGFpbmVyIHRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIj5cbiAgPHNlY3Rpb24gY2xhc3M9InRhYmxlLXNlY3Rpb24gdGItZm9ybS1wYW5lbCBuby1wYWRkaW5nIGZsZXggc2VjdGlvbi1jb250YWluZXIiPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIj5cbiAgICAgIDxoMj57eyBcJ2dhdGV3YXkuY29ubmVjdG9yc1wnIHwgdHJhbnNsYXRlIH19PC9oMj5cbiAgICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgICA8YnV0dG9uICpuZ0lmPSJkYXRhU291cmNlPy5kYXRhPy5sZW5ndGgiXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJpc0xvYWRpbmckIHwgYXN5bmMiXG4gICAgICAgICAgICAgIChjbGljayk9Im9uQWRkQ29ubmVjdG9yKCRldmVudCkiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmFkZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L21hdC10b29sYmFyPlxuICAgIDxkaXYgY2xhc3M9InRhYmxlLWNvbnRhaW5lciI+XG4gICAgICA8c2VjdGlvbiAqbmdJZj0iIWRhdGFTb3VyY2U/LmRhdGE/Lmxlbmd0aCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgIGNsYXNzPSJtYXQtaGVhZGxpbmUtNSB0Yi1hYnNvbHV0ZS1maWxsIHRiLWFkZC1uZXciPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9ImNvbm5lY3RvciJcbiAgICAgICAgKGNsaWNrKT0ib25BZGRDb25uZWN0b3IoJGV2ZW50KSI+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJ0Yi1tYXQtOTYiPmFkZDwvbWF0LWljb24+XG4gICAgICAgICAgPHNwYW4+e3sgXCdnYXRld2F5LmFkZC1jb25uZWN0b3JcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT0iZGF0YVNvdXJjZSJcbiAgICAgICAgICAgICBtYXRTb3J0IFttYXRTb3J0QWN0aXZlXT0icGFnZUxpbmsuc29ydE9yZGVyLnByb3BlcnR5IiBbbWF0U29ydERpcmVjdGlvbl09InBhZ2VMaW5rLnNvcnREaXJlY3Rpb24oKSJcbiAgICAgICAgICAgICBtYXRTb3J0RGlzYWJsZUNsZWFyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iZW5hYmxlZCIgc3RpY2t5PlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgc3R5bGU9IndpZHRoOiA2MHB4O21pbi13aWR0aDogNjBweDsiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtZW5hYmxlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgYXR0cmlidXRlIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIFtjaGVja2VkXT0iYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyhhdHRyaWJ1dGUua2V5KSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgb25FbmFibGVDb25uZWN0b3IoYXR0cmlidXRlKSI+PC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0ia2V5Ij5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDQwJSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1uYW1lXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiPlxuICAgICAgICAgICAge3sgYXR0cmlidXRlLmtleSB9fVxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0idHlwZSI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgc3R5bGU9IndpZHRoOiAzMCUiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtdHlwZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgYXR0cmlidXRlIiBzdHlsZT0idGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSI+XG4gICAgICAgICAgICB7eyByZXR1cm5UeXBlKGF0dHJpYnV0ZSkgfX1cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9InN5bmNTdGF0dXMiPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIHN0eWxlPSJ3aWR0aDogMzAlIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5jb25maWd1cmF0aW9uXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzIiBbY2xhc3NdPSJpc0Nvbm5lY3RvclN5bmNlZChhdHRyaWJ1dGUpID8gXCdzdGF0dXMtc3luY1wnIDogXCdzdGF0dXMtdW5zeW5jXCciPlxuICAgICAgICAgICAgICAgIHt7IGlzQ29ubmVjdG9yU3luY2VkKGF0dHJpYnV0ZSkgPyBcJ3N5bmNcJyA6IFwnb3V0IG9mIHN5bmNcJyB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9ImVycm9ycyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgc3R5bGU9IndpZHRoOiAzMCUiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtc3RhdHVzXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkb3QiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ0Vycm9yczogXCcrIGdldEVycm9yc0NvdW50KGF0dHJpYnV0ZSl9fSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPSJjb25uZWN0b3JMb2dzKGF0dHJpYnV0ZSwgJGV2ZW50KSJcbiAgICAgICAgICAgICAgICAgIFtjbGFzc109IntcJ2hhc0Vycm9yc1wnOiArZ2V0RXJyb3JzQ291bnQoYXR0cmlidXRlKSA+IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCdub0Vycm9yc1wnOiArZ2V0RXJyb3JzQ291bnQoYXR0cmlidXRlKSA9PT0gMCB8fCBnZXRFcnJvcnNDb3VudChhdHRyaWJ1dGUpID09PSBcJ1wnfSI+PC9zcGFuPlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iYWN0aW9ucyIgc3RpY2t5RW5kPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlLmd0LW1kXT0ieyBtaW5XaWR0aDogXCcxNDRweFwnLCBtYXhXaWR0aDogXCcxNDRweFwnLCB3aWR0aDogXCcxNDRweFwnLCB0ZXh0QWxpZ246IFwnY2VudGVyXCd9Ij5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWFjdGlvbnNcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IGF0dHJpYnV0ZSJcbiAgICAgICAgICAgICAgICAgICAgW25nU3R5bGUuZ3QtbWRdPSJ7IG1pbldpZHRoOiBcJzE0NHB4XCcsIG1heFdpZHRoOiBcJzE0NHB4XCcsIHdpZHRoOiBcJzE0NHB4XCd9Ij5cbiAgICAgICAgICAgIDxkaXYgZnhIaWRlIGZ4U2hvdy5ndC1tZCBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJSUEMiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJjb25uZWN0b3JScGMoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+cHJpdmF0ZV9jb25uZWN0aXZpdHk8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJMb2dzIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iY29ubmVjdG9yTG9ncyhhdHRyaWJ1dGUsICRldmVudCkiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5saXN0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0iRGVsZXRlIGNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9ImRlbGV0ZUNvbm5lY3RvcihhdHRyaWJ1dGUsICRldmVudCkiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmeEhpZGUgZnhTaG93Lmx0LWxnPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPSJjZWxsQWN0aW9uc01lbnUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8bWF0LW1lbnUgI2NlbGxBY3Rpb25zTWVudT0ibWF0TWVudSIgeFBvc2l0aW9uPSJiZWZvcmUiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJSUEMiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iY29ubmVjdG9yUnBjKGF0dHJpYnV0ZSwgJGV2ZW50KSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24+cHJpdmF0ZV9jb25uZWN0aXZpdHk8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJMb2dzIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9ImNvbm5lY3RvckxvZ3MoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5saXN0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0iRGVsZXRlIGNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJkZWxldGVDb25uZWN0b3IoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxtYXQtaGVhZGVyLXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbWF0SGVhZGVyUm93RGVmPSJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWUiPjwvbWF0LWhlYWRlci1yb3c+XG4gICAgICAgIDxtYXQtcm93IGNsYXNzPSJtYXQtcm93LXNlbGVjdCIgW2NsYXNzXT0ie1wndGItY3VycmVudC1lbnRpdHlcJzogaXNTYW1lQ29ubmVjdG9yKGF0dHJpYnV0ZSl9IlxuICAgICAgICAgICAgICAgICAqbWF0Um93RGVmPSJsZXQgYXR0cmlidXRlOyBsZXQgaSA9IGluZGV4OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyIgKGNsaWNrKT0ic2VsZWN0Q29ubmVjdG9yKCRldmVudCwgYXR0cmlidXRlKSI+PC9tYXQtcm93PlxuICAgICAgPC90YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9zZWN0aW9uPlxuICA8c2VjdGlvbiBbZm9ybUdyb3VwXT0iY29ubmVjdG9yRm9ybSIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc2VjdGlvbi1jb250YWluZXIgZmxleCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSB0Yi1mbGV4IG5vLWZsZXggc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSI+XG4gICAgICAgIHt7IGluaXRpYWxDb25uZWN0b3I/LnR5cGUgPyBHYXRld2F5Q29ubmVjdG9yVHlwZXNUcmFuc2xhdGVzTWFwLmdldChpbml0aWFsQ29ubmVjdG9yLnR5cGUpIDogXCdcJyB9fVxuICAgICAgICB7eyBcJ2dhdGV3YXkuY29uZmlndXJhdGlvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDxzcGFuIGNsYXNzPSJ2ZXJzaW9uLXBsYWNlaG9sZGVyIiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdjb25maWdWZXJzaW9uXCcpLnZhbHVlIj52e3tjb25uZWN0b3JGb3JtLmdldChcJ2NvbmZpZ1ZlcnNpb25cJykudmFsdWV9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgKm5nSWY9ImluaXRpYWxDb25uZWN0b3IgJiYgYWxsb3dCYXNpY0NvbmZpZy5oYXMoaW5pdGlhbENvbm5lY3Rvci50eXBlKSJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0ibW9kZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uIFt2YWx1ZV09IkNvbm5lY3RvckNvbmZpZ3VyYXRpb25Nb2Rlcy5CQVNJQyI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LmJhc2ljXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiBbdmFsdWVdPSJDb25uZWN0b3JDb25maWd1cmF0aW9uTW9kZXMuQURWQU5DRUQiPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5hZHZhbmNlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgIDwvdGItdG9nZ2xlLXNlbGVjdD5cbiAgICA8L2Rpdj5cbiAgICA8c3BhbiBbZnhTaG93XT0iIWluaXRpYWxDb25uZWN0b3IiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCIgdHJhbnNsYXRlPlxuICAgICAgZ2F0ZXdheS5zZWxlY3QtY29ubmVjdG9yXG4gICAgPC9zcGFuPlxuICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHNlY3Rpb24tY29udGFpbmVyIG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLWZsZXggc3BhY2UtYmV0d2VlbiIgKm5nSWY9ImluaXRpYWxDb25uZWN0b3IiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdtb2RlXCcpPy52YWx1ZSA9PT0gQ29ubmVjdG9yQ29uZmlndXJhdGlvbk1vZGVzLkJBU0lDIGVsc2UgZGVmYXVsdENvbmZpZyI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT0iaW5pdGlhbENvbm5lY3Rvci50eXBlIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9IkNvbm5lY3RvclR5cGUuTVFUVCI+XG4gICAgICAgICAgICA8dGItbXF0dC1iYXNpYy1jb25maWdcbiAgICAgICAgICAgICAgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwnY29uZmlnVmVyc2lvblwnKS52YWx1ZSB8IGlzTGF0ZXN0VmVyc2lvbkNvbmZpZyBlbHNlIGxlZ2FjeSJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgW2dlbmVyYWxUYWJDb250ZW50XT0iZ2VuZXJhbFRhYkNvbnRlbnQiXG4gICAgICAgICAgICAgIChpbml0aWFsaXplZCk9ImJhc2ljQ29uZmlnSW5pdFN1YmplY3QubmV4dCgpIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbGVnYWN5PlxuICAgICAgICAgICAgICA8dGItbXF0dC1sZWdhY3ktYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk9QQ1VBIj5cbiAgICAgICAgICAgIDx0Yi1vcGMtdWEtYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ2NvbmZpZ1ZlcnNpb25cJykudmFsdWUgfCBpc0xhdGVzdFZlcnNpb25Db25maWcgZWxzZSBsZWdhY3kiXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICAgICAgICAgIFtnZW5lcmFsVGFiQ29udGVudF09ImdlbmVyYWxUYWJDb250ZW50IlxuICAgICAgICAgICAgICAoaW5pdGlhbGl6ZWQpPSJiYXNpY0NvbmZpZ0luaXRTdWJqZWN0Lm5leHQoKSJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2xlZ2FjeT5cbiAgICAgICAgICAgICAgPHRiLW9wYy11YS1sZWdhY3ktYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk1PREJVUyI+XG4gICAgICAgICAgICA8dGItbW9kYnVzLWJhc2ljLWNvbmZpZ1xuICAgICAgICAgICAgICAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdjb25maWdWZXJzaW9uXCcpLnZhbHVlIHwgaXNMYXRlc3RWZXJzaW9uQ29uZmlnIGVsc2UgbGVnYWN5IlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9ImJhc2ljQ29uZmlnIlxuICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNsZWdhY3k+XG4gICAgICAgICAgICAgIDx0Yi1tb2RidXMtbGVnYWN5LWJhc2ljLWNvbmZpZ1xuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgW2dlbmVyYWxUYWJDb250ZW50XT0iZ2VuZXJhbFRhYkNvbnRlbnQiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q29uZmlnPlxuICAgICAgICA8bWF0LXRhYi1ncm91cD5cbiAgICAgICAgICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgICAgICAgICAgPHRiLWpzb24tb2JqZWN0LWVkaXRcbiAgICAgICAgICAgICAgZmlsbEhlaWdodD0idHJ1ZSJcbiAgICAgICAgICAgICAgY2xhc3M9InRiLWZsZXggZmlsbC1oZWlnaHQiXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PSJjb2x1bW4iXG4gICAgICAgICAgICAgIGpzb25SZXF1aXJlZFxuICAgICAgICAgICAgICBsYWJlbD0ie3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJjb25maWd1cmF0aW9uSnNvbiI+XG4gICAgICAgICAgICA8L3RiLWpzb24tb2JqZWN0LWVkaXQ+XG4gICAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgICA8L21hdC10YWItZ3JvdXA+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGRpdiBmeExheW91dEFsaWduPSJlbmQgY2VudGVyIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iIWNvbm5lY3RvckZvcm0uZGlydHkgfHwgY29ubmVjdG9yRm9ybS5pbnZhbGlkIlxuICAgICAgICAgICAgICAgIChjbGljayk9Im9uU2F2ZUNvbm5lY3RvcigpIj5cbiAgICAgICAgICB7eyBcJ2FjdGlvbi5zYXZlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG4gIDwvc2VjdGlvbj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNnZW5lcmFsVGFiQ29udGVudD5cbiAgPHNlY3Rpb24gW2Zvcm1Hcm91cF09ImNvbm5lY3RvckZvcm0iIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIHNlY3Rpb24tY29udGFpbmVyIGZsZXgiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiID5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5uYW1lPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGF1dG9jb21wbGV0ZT0ib2ZmIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJuYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS5oYXNFcnJvcihcJ2R1cGxpY2F0ZU5hbWVcJykgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCdnYXRld2F5LmNvbm5lY3Rvci1kdXBsaWNhdGUtbmFtZVwnIDogXCdnYXRld2F5Lm5hbWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSIoY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYgY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLnRvdWNoZWQpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0b3JGb3JtLmdldChcJ25hbWVcJykuaGFzRXJyb3IoXCdkdXBsaWNhdGVOYW1lXCcpIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IENvbm5lY3RvclR5cGUuQ1VTVE9NIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1jbGFzczwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJjbGFzcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlID09PSBDb25uZWN0b3JUeXBlLkdSUEMiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWtleTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJrZXkiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5sb2dzLWNvbmZpZ3VyYXRpb248L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0iZW5hYmxlUmVtb3RlTG9nZ2luZyI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5lbmFibGUtcmVtb3RlLWxvZ2dpbmdcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucmVtb3RlLWxvZ2dpbmctbGV2ZWw8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImxvZ0xldmVsIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbG9nTGV2ZWwgb2YgZ2F0ZXdheUxvZ0xldmVsIiBbdmFsdWVdPSJsb2dMZXZlbCI+e3sgbG9nTGV2ZWwgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IENvbm5lY3RvclR5cGUuTVFUVCIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJzZW5kRGF0YU9ubHlPbkNoYW5nZSI+XG4gICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5zZW5kLWNoYW5nZS1kYXRhLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnNlbmQtY2hhbmdlLWRhdGFcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8L2Rpdj5cbiAgICA8dGItcmVwb3J0LXN0cmF0ZWd5XG4gICAgICBbZGVmYXVsdFZhbHVlXT0iUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWUuQ29ubmVjdG9yIlxuICAgICAgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gQ29ubmVjdG9yVHlwZS5NT0RCVVMgJiYgKGNvbm5lY3RvckZvcm0uZ2V0KFwnY29uZmlnVmVyc2lvblwnKS52YWx1ZSB8IGlzTGF0ZXN0VmVyc2lvbkNvbmZpZykiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9InJlcG9ydFN0cmF0ZWd5IlxuICAgIC8+XG4gIDwvc2VjdGlvbj5cbjwvbmctdGVtcGxhdGU+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrO292ZXJmbG93LXg6YXV0bztwYWRkaW5nOjB9Omhvc3QgLnZlcnNpb24tcGxhY2Vob2xkZXJ7Y29sb3I6Z3JheTtmb250LXNpemU6MTJweH06aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lcntoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2ZsZXgtZGlyZWN0aW9uOnJvd31AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpezpob3N0IC5jb25uZWN0b3ItY29udGFpbmVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn19Omhvc3QgLmNvbm5lY3Rvci1jb250YWluZXI+c2VjdGlvbjpub3QoLnRhYmxlLXNlY3Rpb24pe21heC13aWR0aDp1bnNldH1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpezpob3N0IC5jb25uZWN0b3ItY29udGFpbmVyPnNlY3Rpb246bm90KC50YWJsZS1zZWN0aW9uKXttYXgtd2lkdGg6NTAlfX06aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGFibGUtc2VjdGlvbnttaW4taGVpZ2h0OjM1dmg7b3ZlcmZsb3c6aGlkZGVufTpob3N0IC5jb25uZWN0b3ItY29udGFpbmVyIC50YWJsZS1zZWN0aW9uIC50YWJsZS1jb250YWluZXJ7b3ZlcmZsb3c6YXV0b306aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAuZmxleHtmbGV4OjF9Omhvc3QgLmNvbm5lY3Rvci1jb250YWluZXIgLmlucHV0LWNvbnRhaW5lcntoZWlnaHQ6YXV0b306aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAuc2VjdGlvbi1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfTpob3N0IC5tYXQtdG9vbGJhcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMDAwMDBkZSFpbXBvcnRhbnR9Omhvc3QgLm1hdC1tZGMtc2xpZGUtdG9nZ2xle21hcmdpbjowIDhweH06aG9zdCAuc3RhdHVze3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6MTZweDtmb250LXdlaWdodDo1MDA7d2lkdGg6Zml0LWNvbnRlbnQ7cGFkZGluZzo1cHggMTVweH06aG9zdCAuc3RhdHVzLXN5bmN7YmFja2dyb3VuZDojMTk4MDM4MGY7Y29sb3I6IzE5ODAzOH06aG9zdCAuc3RhdHVzLXVuc3luY3tiYWNrZ3JvdW5kOiNjYjI1MzAwZjtjb2xvcjojY2IyNTMwfTpob3N0IG1hdC1yb3d7Y3Vyc29yOnBvaW50ZXJ9Omhvc3QgLmRvdHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4O2JhY2tncm91bmQtY29sb3I6I2JiYjtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1ibG9ja306aG9zdCAuaGFzRXJyb3Jze2JhY2tncm91bmQtY29sb3I6I2NiMjUzMH06aG9zdCAubm9FcnJvcnN7YmFja2dyb3VuZC1jb2xvcjojMTk4MDM4fTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAubWF0LW1kYy10YWItZ3JvdXAsOmhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC5tYXQtbWRjLXRhYi1ib2R5LXdyYXBwZXJ7aGVpZ2h0OjEwMCV9Omhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC5tYXQtbWRjLXRhYi1ib2R5Lm1hdC1tZGMtdGFiLWJvZHktYWN0aXZle3Bvc2l0aW9uOmFic29sdXRlfTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGItZm9ybS1yb3cgLmZpeGVkLXRpdGxlLXdpZHRoe21pbi13aWR0aDoxMjBweDt3aWR0aDozMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGItYWRkLW5ld3tkaXNwbGF5OmZsZXg7ei1pbmRleDo5OTk7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Omhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC50Yi1hZGQtbmV3IGJ1dHRvbi5jb25uZWN0b3J7aGVpZ2h0OmF1dG87cGFkZGluZy1yaWdodDoxMnB4O2ZvbnQtc2l6ZToyMHB4O2JvcmRlci1zdHlsZTpkYXNoZWQ7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItcmFkaXVzOjhweDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6IzAwMDAwMDYxfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6b3QuU3RvcmV9LHt0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0eXBlOlguQXR0cmlidXRlU2VydmljZX0se3R5cGU6WC5EaWFsb2dTZXJ2aWNlfSx7dHlwZTpKZS5NYXREaWFsb2d9LHt0eXBlOlguVGVsZW1ldHJ5V2Vic29ja2V0U2VydmljZX0se3R5cGU6dC5OZ1pvbmV9LHt0eXBlOlguVXRpbHNTZXJ2aWNlfSx7dHlwZTp2YX0se3R5cGU6dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHByb3BEZWNvcmF0b3JzOntjdHg6W3t0eXBlOmF9XSxkZXZpY2U6W3t0eXBlOmF9XSxuYW1lSW5wdXQ6W3t0eXBlOm8sYXJnczpbIm5hbWVJbnB1dCJdfV0sc29ydDpbe3R5cGU6byxhcmdzOltnLHtzdGF0aWM6ITF9XX1dfX0pO2NsYXNzIHFve2NvbnN0cnVjdG9yKGUpe3RoaXMuZGV2aWNlU2VydmljZT1lfWRvd25sb2FkKGUpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5kZXZpY2VJZCYmdGhpcy5kZXZpY2VTZXJ2aWNlLmRvd25sb2FkR2F0ZXdheURvY2tlckNvbXBvc2VGaWxlKHRoaXMuZGV2aWNlSWQpLnN1YnNjcmliZSgoKCk9Pnt9KSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpxbyxkZXBzOlt7dG9rZW46WC5EZXZpY2VTZXJ2aWNlfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpxbyxzZWxlY3RvcjoidGItZ2F0ZXdheS1jb21tYW5kIixpbnB1dHM6e2RldmljZUlkOiJkZXZpY2VJZCJ9LG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudCBzdHlsZT0icGFkZGluZzogMTZweCAxNnB4IDhweCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIj5cbiAgPGRpdiBjbGFzcz0idGItbm8tZGF0YS10ZXh0Ij57eyBcJ2dhdGV3YXkuZG9ja2VyLWxhYmVsXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+ZGV2aWNlLmNvbm5lY3Rpdml0eS5pbnN0YWxsLW5lY2Vzc2FyeS1jbGllbnQtdG9vbHM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyBzcGFjZS1iZXR3ZWVuIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLW5vLWRhdGEtdGV4dCB0Yi1jb21tYW5kcy1oaW50IiB0cmFuc2xhdGU+Z2F0ZXdheS5pbnN0YWxsLWRvY2tlci1jb21wb3NlPC9kaXY+XG4gICAgICA8YSBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9InByaW1hcnkiIGhyZWY9Imh0dHBzOi8vZG9jcy5kb2NrZXIuY29tL2NvbXBvc2UvaW5zdGFsbC8iIHRhcmdldD0iX2JsYW5rIj5cbiAgICAgICAgPG1hdC1pY29uPmRlc2NyaXB0aW9uPC9tYXQtaWNvbj5cbiAgICAgICAge3sgXCdjb21tb24uZG9jdW1lbnRhdGlvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2E+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuZG93bmxvYWQtY29uZmlndXJhdGlvbi1maWxlPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgc3BhY2UtYmV0d2VlbiI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1uby1kYXRhLXRleHQgdGItY29tbWFuZHMtaGludCIgdHJhbnNsYXRlPmdhdGV3YXkuZG93bmxvYWQtZG9ja2VyLWNvbXBvc2U8L2Rpdj5cbiAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJkb3dubG9hZCgkZXZlbnQpIj5cbiAgICAgICAgPG1hdC1pY29uPmRvd25sb2FkPC9tYXQtaWNvbj5cbiAgICAgICAge3sgXCdhY3Rpb24uZG93bmxvYWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkubGF1bmNoLWdhdGV3YXk8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1uby1kYXRhLXRleHQgdGItY29tbWFuZHMtaGludCIgdHJhbnNsYXRlPmdhdGV3YXkubGF1bmNoLWRvY2tlci1jb21wb3NlPC9kaXY+XG4gICAgPHRiLW1hcmtkb3duIHVzZVBsYWluTWFya2Rvd24gY29udGFpbmVyQ2xhc3M9InN0YXJ0LWNvZGUiXG4gICAgICAgICAgICAgICAgIGRhdGE9IlxuICAgICAgICAgIGBgYGJhc2hcbiAgICAgICAgICBkb2NrZXIgY29tcG9zZSB1cFxuICAgICAgICAgIHs6Y29weS1jb2RlfVxuICAgICAgICAgIGBgYFxuICAgICAgIj48L3RiLW1hcmtkb3duPlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC50Yi1jb21tYW5kcy1oaW50e2NvbG9yOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2ZsZXg6MX06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgLmNvZGUtd3JhcHBlcntwYWRkaW5nOjB9Omhvc3QgOjpuZy1kZWVwIC50Yi1tYXJrZG93bi12aWV3IC5zdGFydC1jb2RlIC5jb2RlLXdyYXBwZXIgcHJlW2NsYXNzKj1sYW5ndWFnZS1de21hcmdpbjowO2JhY2tncm91bmQ6I2YzZjZmYTtib3JkZXItY29sb3I6IzMwNTY4MDtwYWRkaW5nLXJpZ2h0OjM4cHg7b3ZlcmZsb3c6c2Nyb2xsO3BhZGRpbmctYm90dG9tOjRweDttaW4taGVpZ2h0OjQycHg7c2Nyb2xsYmFyLXdpZHRoOnRoaW59Omhvc3QgOjpuZy1kZWVwIC50Yi1tYXJrZG93bi12aWV3IC5zdGFydC1jb2RlIC5jb2RlLXdyYXBwZXIgcHJlW2NsYXNzKj1sYW5ndWFnZS1dOjotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo0cHg7aGVpZ2h0OjRweH06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG57cmlnaHQ6LTJweH06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG4gcHtjb2xvcjojMzA1NjgwfTpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBwLDpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBkaXZ7YmFja2dyb3VuZC1jb2xvcjojZjNmNmZhfTpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBkaXYgaW1ne2Rpc3BsYXk6bm9uZX06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG4gZGl2OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246aW5pdGlhbDtkaXNwbGF5OmJsb2NrO3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7YmFja2dyb3VuZDojMzA1NjgwO21hc2staW1hZ2U6dXJsKC9hc3NldHMvY29weS1jb2RlLWljb24uc3ZnKTstd2Via2l0LW1hc2staW1hZ2U6dXJsKC9hc3NldHMvY29weS1jb2RlLWljb24uc3ZnKTttYXNrLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1tYXNrLXJlcGVhdDpuby1yZXBlYXR9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJjb21wb25lbnQiLHR5cGU6d3QuVGJNYXJrZG93bkNvbXBvbmVudCxzZWxlY3RvcjoidGItbWFya2Rvd24iLGlucHV0czpbImRhdGEiLCJjb250ZXh0IiwiYWRkaXRpb25hbENvbXBpbGVNb2R1bGVzIiwibWFya2Rvd25DbGFzcyIsImNvbnRhaW5lckNsYXNzIiwic3R5bGUiLCJhcHBseURlZmF1bHRNYXJrZG93blN0eWxlIiwiYWRkaXRpb25hbFN0eWxlcyIsImxpbmVOdW1iZXJzIiwiZmFsbGJhY2tUb1BsYWluTWFya2Rvd24iLCJ1c2VQbGFpbk1hcmtkb3duIl0sb3V0cHV0czpbInJlYWR5Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QW5jaG9yLHNlbGVjdG9yOiJhW21hdC1idXR0b25dLCBhW21hdC1yYWlzZWQtYnV0dG9uXSwgYVttYXQtZmxhdC1idXR0b25dLCBhW21hdC1zdHJva2VkLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIiwibWF0QW5jaG9yIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QnV0dG9uLHNlbGVjdG9yOiIgICAgYnV0dG9uW21hdC1idXR0b25dLCBidXR0b25bbWF0LXJhaXNlZC1idXR0b25dLCBidXR0b25bbWF0LWZsYXQtYnV0dG9uXSwgICAgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0gICIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQ29udGVudCxzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XX0pfX1lKCJEZXZpY2VHYXRld2F5Q29tbWFuZENvbXBvbmVudCIscW8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6cW8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktY29tbWFuZCIsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudCBzdHlsZT0icGFkZGluZzogMTZweCAxNnB4IDhweCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIj5cbiAgPGRpdiBjbGFzcz0idGItbm8tZGF0YS10ZXh0Ij57eyBcJ2dhdGV3YXkuZG9ja2VyLWxhYmVsXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+ZGV2aWNlLmNvbm5lY3Rpdml0eS5pbnN0YWxsLW5lY2Vzc2FyeS1jbGllbnQtdG9vbHM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyBzcGFjZS1iZXR3ZWVuIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLW5vLWRhdGEtdGV4dCB0Yi1jb21tYW5kcy1oaW50IiB0cmFuc2xhdGU+Z2F0ZXdheS5pbnN0YWxsLWRvY2tlci1jb21wb3NlPC9kaXY+XG4gICAgICA8YSBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9InByaW1hcnkiIGhyZWY9Imh0dHBzOi8vZG9jcy5kb2NrZXIuY29tL2NvbXBvc2UvaW5zdGFsbC8iIHRhcmdldD0iX2JsYW5rIj5cbiAgICAgICAgPG1hdC1pY29uPmRlc2NyaXB0aW9uPC9tYXQtaWNvbj5cbiAgICAgICAge3sgXCdjb21tb24uZG9jdW1lbnRhdGlvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2E+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuZG93bmxvYWQtY29uZmlndXJhdGlvbi1maWxlPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgc3BhY2UtYmV0d2VlbiI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1uby1kYXRhLXRleHQgdGItY29tbWFuZHMtaGludCIgdHJhbnNsYXRlPmdhdGV3YXkuZG93bmxvYWQtZG9ja2VyLWNvbXBvc2U8L2Rpdj5cbiAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJkb3dubG9hZCgkZXZlbnQpIj5cbiAgICAgICAgPG1hdC1pY29uPmRvd25sb2FkPC9tYXQtaWNvbj5cbiAgICAgICAge3sgXCdhY3Rpb24uZG93bmxvYWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkubGF1bmNoLWdhdGV3YXk8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1uby1kYXRhLXRleHQgdGItY29tbWFuZHMtaGludCIgdHJhbnNsYXRlPmdhdGV3YXkubGF1bmNoLWRvY2tlci1jb21wb3NlPC9kaXY+XG4gICAgPHRiLW1hcmtkb3duIHVzZVBsYWluTWFya2Rvd24gY29udGFpbmVyQ2xhc3M9InN0YXJ0LWNvZGUiXG4gICAgICAgICAgICAgICAgIGRhdGE9IlxuICAgICAgICAgIGBgYGJhc2hcbiAgICAgICAgICBkb2NrZXIgY29tcG9zZSB1cFxuICAgICAgICAgIHs6Y29weS1jb2RlfVxuICAgICAgICAgIGBgYFxuICAgICAgIj48L3RiLW1hcmtkb3duPlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC50Yi1jb21tYW5kcy1oaW50e2NvbG9yOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2ZsZXg6MX06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgLmNvZGUtd3JhcHBlcntwYWRkaW5nOjB9Omhvc3QgOjpuZy1kZWVwIC50Yi1tYXJrZG93bi12aWV3IC5zdGFydC1jb2RlIC5jb2RlLXdyYXBwZXIgcHJlW2NsYXNzKj1sYW5ndWFnZS1de21hcmdpbjowO2JhY2tncm91bmQ6I2YzZjZmYTtib3JkZXItY29sb3I6IzMwNTY4MDtwYWRkaW5nLXJpZ2h0OjM4cHg7b3ZlcmZsb3c6c2Nyb2xsO3BhZGRpbmctYm90dG9tOjRweDttaW4taGVpZ2h0OjQycHg7c2Nyb2xsYmFyLXdpZHRoOnRoaW59Omhvc3QgOjpuZy1kZWVwIC50Yi1tYXJrZG93bi12aWV3IC5zdGFydC1jb2RlIC5jb2RlLXdyYXBwZXIgcHJlW2NsYXNzKj1sYW5ndWFnZS1dOjotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo0cHg7aGVpZ2h0OjRweH06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG57cmlnaHQ6LTJweH06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG4gcHtjb2xvcjojMzA1NjgwfTpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBwLDpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBkaXZ7YmFja2dyb3VuZC1jb2xvcjojZjNmNmZhfTpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBkaXYgaW1ne2Rpc3BsYXk6bm9uZX06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG4gZGl2OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246aW5pdGlhbDtkaXNwbGF5OmJsb2NrO3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7YmFja2dyb3VuZDojMzA1NjgwO21hc2staW1hZ2U6dXJsKC9hc3NldHMvY29weS1jb2RlLWljb24uc3ZnKTstd2Via2l0LW1hc2staW1hZ2U6dXJsKC9hc3NldHMvY29weS1jb2RlLWljb24uc3ZnKTttYXNrLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1tYXNrLXJlcGVhdDpuby1yZXBlYXR9XG4nXX1dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTpYLkRldmljZVNlcnZpY2V9XSxwcm9wRGVjb3JhdG9yczp7ZGV2aWNlSWQ6W3t0eXBlOmF9XX19KTtjbGFzcyBEb3tjb25zdHJ1Y3RvcihlLHQsbixhKXt0aGlzLmZiPWUsdGhpcy5kZXZpY2VTZXJ2aWNlPXQsdGhpcy5jZD1uLHRoaXMuZGlhbG9nPWEsdGhpcy5kaWFsb2dNb2RlPSExLHRoaXMuaW5pdGlhbENyZWRlbnRpYWxzVXBkYXRlZD1uZXcgaSx0aGlzLlN0b3JhZ2VUeXBlcz1BdCx0aGlzLnN0b3JhZ2VUeXBlcz1PYmplY3QudmFsdWVzKEF0KSx0aGlzLnN0b3JhZ2VUeXBlc1RyYW5zbGF0aW9uTWFwPVJ0LHRoaXMubG9nU2F2aW5nUGVyaW9kcz1PdCx0aGlzLmxvY2FsTG9nc0NvbmZpZ3M9T2JqZWN0LmtleXMoUHQpLHRoaXMubG9jYWxMb2dzQ29uZmlnVHJhbnNsYXRlTWFwPUd0LHRoaXMuc2VjdXJpdHlUeXBlcz1CdCx0aGlzLmdhdGV3YXlMb2dMZXZlbD1PYmplY3QudmFsdWVzKE10KSx0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLmluaXRCYXNpY0Zvcm1Hcm91cCgpLHRoaXMub2JzZXJ2ZUZvcm1DaGFuZ2VzKCksdGhpcy5iYXNpY0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9d3JpdGVWYWx1ZShlKXt0aGlzLmJhc2ljRm9ybUdyb3VwLnBhdGNoVmFsdWUoZSx7ZW1pdEV2ZW50OiExfSksdGhpcy5jaGVja0FuZEZldGNoQ3JlZGVudGlhbHMoZT8udGhpbmdzYm9hcmQ/LnNlY3VyaXR5Pz97fSksZT8uZ3JwYyYmdGhpcy50b2dnbGVScGNGaWVsZHMoZS5ncnBjLmVuYWJsZWQpOyhlPy50aGluZ3Nib2FyZD8uc3RhdGlzdGljcz8uY29tbWFuZHM/P1tdKS5mb3JFYWNoKChlPT50aGlzLmFkZENvbW1hbmQoZSwhMSkpKX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLmJhc2ljRm9ybUdyb3VwLnZhbGlkP251bGw6e2Jhc2ljRm9ybUdyb3VwOnt2YWxpZDohMX19fWF0TGVhc3RPbmVSZXF1aXJlZChlLHQ9bnVsbCl7cmV0dXJuIG49Pnt0fHwodD1PYmplY3Qua2V5cyhuLmNvbnRyb2xzKSk7cmV0dXJuIG4/LmNvbnRyb2xzJiZ0LnNvbWUoKHQ9PiFlKG4uY29udHJvbHNbdF0pKSk/bnVsbDp7YXRMZWFzdE9uZTohMH19fXRvZ2dsZVJwY0ZpZWxkcyhlKXtjb25zdCB0PXRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJncnBjIik7ZT8odC5nZXQoInNlcnZlclBvcnQiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJrZWVwQWxpdmVUaW1lTXMiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJrZWVwQWxpdmVUaW1lb3V0TXMiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJrZWVwYWxpdmVQZXJtaXRXaXRob3V0Q2FsbHMiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJtYXhQaW5nc1dpdGhvdXREYXRhIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0LmdldCgibWluVGltZUJldHdlZW5QaW5nc01zIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0LmdldCgibWluUGluZ0ludGVydmFsV2l0aG91dERhdGFNcyIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSkpOih0LmdldCgic2VydmVyUG9ydCIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJrZWVwQWxpdmVUaW1lTXMiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSx0LmdldCgia2VlcEFsaXZlVGltZW91dE1zIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoImtlZXBhbGl2ZVBlcm1pdFdpdGhvdXRDYWxscyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJtYXhQaW5nc1dpdGhvdXREYXRhIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoIm1pblRpbWVCZXR3ZWVuUGluZ3NNcyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJtaW5QaW5nSW50ZXJ2YWxXaXRob3V0RGF0YU1zIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpfWFkZExvY2FsTG9nQ29uZmlnKGUsdCl7Y29uc3Qgbj10aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgibG9ncy5sb2NhbCIpLGE9dGhpcy5mYi5ncm91cCh7bG9nTGV2ZWw6W3QubG9nTGV2ZWx8fE10LklORk8sW3VlLnJlcXVpcmVkXV0sZmlsZVBhdGg6W3QuZmlsZVBhdGh8fCIuL2xvZ3MiLFt1ZS5yZXF1aXJlZF1dLGJhY2t1cENvdW50Olt0LmJhY2t1cENvdW50fHw3LFt1ZS5yZXF1aXJlZCx1ZS5taW4oMCldXSxzYXZpbmdUaW1lOlt0LnNhdmluZ1RpbWV8fDMsW3VlLnJlcXVpcmVkLHVlLm1pbigwKV1dLHNhdmluZ1BlcmlvZDpbdC5zYXZpbmdQZXJpb2R8fER0LmRheXMsW3VlLnJlcXVpcmVkXV19KTtuLmFkZENvbnRyb2woZSxhKX1nZXRMb2dGb3JtR3JvdXAoZSl7cmV0dXJuIHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KGBsb2dzLmxvY2FsLiR7ZX1gKX1jb21tYW5kRm9ybUFycmF5KCl7cmV0dXJuIHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJ0aGluZ3Nib2FyZC5zdGF0aXN0aWNzLmNvbW1hbmRzIil9cmVtb3ZlQ29tbWFuZENvbnRyb2woZSx0KXsiIiE9PXQucG9pbnRlclR5cGUmJih0aGlzLmNvbW1hbmRGb3JtQXJyYXkoKS5yZW1vdmVBdChlKSx0aGlzLmJhc2ljRm9ybUdyb3VwLm1hcmtBc0RpcnR5KCkpfXJlbW92ZUFsbFNlY3VyaXR5VmFsaWRhdG9ycygpe2NvbnN0IGU9dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInRoaW5nc2JvYXJkLnNlY3VyaXR5Iik7ZS5jbGVhclZhbGlkYXRvcnMoKTtmb3IoY29uc3QgdCBpbiBlLmNvbnRyb2xzKSJ0eXBlIiE9PXQmJihlLmNvbnRyb2xzW3RdLmNsZWFyVmFsaWRhdG9ycygpLGUuY29udHJvbHNbdF0uc2V0RXJyb3JzKG51bGwpLGUuY29udHJvbHNbdF0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpKX1yZW1vdmVBbGxTdG9yYWdlVmFsaWRhdG9ycygpe2NvbnN0IGU9dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInN0b3JhZ2UiKTtmb3IoY29uc3QgdCBpbiBlLmNvbnRyb2xzKSJ0eXBlIiE9PXQmJihlLmNvbnRyb2xzW3RdLmNsZWFyVmFsaWRhdG9ycygpLGUuY29udHJvbHNbdF0uc2V0RXJyb3JzKG51bGwpLGUuY29udHJvbHNbdF0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpKX1vcGVuQ29uZmlndXJhdGlvbkNvbmZpcm1EaWFsb2coKXt0aGlzLmRldmljZVNlcnZpY2UuZ2V0RGV2aWNlKHRoaXMuZGV2aWNlLmlkKS5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLmRpYWxvZy5vcGVuKFBhLHtkaXNhYmxlQ2xvc2U6ITAscGFuZWxDbGFzczpbInRiLWRpYWxvZyIsInRiLWZ1bGxzY3JlZW4tZGlhbG9nIl0sZGF0YTp7Z2F0ZXdheU5hbWU6ZS5uYW1lfX0pLmFmdGVyQ2xvc2VkKCkucGlwZShPZSgxKSkuc3Vic2NyaWJlKChlPT57ZXx8dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInRoaW5nc2JvYXJkLnJlbW90ZUNvbmZpZ3VyYXRpb24iKS5zZXRWYWx1ZSghMCx7ZW1pdEV2ZW50OiExfSl9KSl9KSl9YWRkQ29tbWFuZChlLHQ9ITApe2NvbnN0e2F0dHJpYnV0ZU9uR2F0ZXdheTpuPW51bGwsY29tbWFuZDphPW51bGwsdGltZW91dDpvPW51bGx9PWV8fHt9LGk9dGhpcy5mYi5ncm91cCh7YXR0cmlidXRlT25HYXRld2F5OltuLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKC9eW14uXHNdKyQvKV1dLGNvbW1hbmQ6W2EsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oL14oPz1cUykuKlxTJC8pXV0sdGltZW91dDpbbyxbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKSx1ZS5wYXR0ZXJuKC9eW14uXHNdKyQvKV1dfSk7dGhpcy5jb21tYW5kRm9ybUFycmF5KCkucHVzaChpLHtlbWl0RXZlbnQ6dH0pfWluaXRCYXNpY0Zvcm1Hcm91cCgpe3RoaXMuYmFzaWNGb3JtR3JvdXA9dGhpcy5mYi5ncm91cCh7dGhpbmdzYm9hcmQ6dGhpcy5pbml0VGhpbmdzYm9hcmRGb3JtR3JvdXAoKSxzdG9yYWdlOnRoaXMuaW5pdFN0b3JhZ2VGb3JtR3JvdXAoKSxncnBjOnRoaXMuaW5pdEdycGNGb3JtR3JvdXAoKSxjb25uZWN0b3JzOnRoaXMuZmIuYXJyYXkoW10pLGxvZ3M6dGhpcy5pbml0TG9nc0Zvcm1Hcm91cCgpfSl9aW5pdFRoaW5nc2JvYXJkRm9ybUdyb3VwKCl7cmV0dXJuIHRoaXMuZmIuZ3JvdXAoe2hvc3Q6W3dpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSxbdWUucmVxdWlyZWQsdWUucGF0dGVybigvXlteXHNdKyQvKV1dLHBvcnQ6WzE4ODMsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5tYXgoNjU1MzUpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLHJlbW90ZVNoZWxsOlshMV0scmVtb3RlQ29uZmlndXJhdGlvbjpbITBdLGNoZWNrQ29ubmVjdG9yc0NvbmZpZ3VyYXRpb25JblNlY29uZHM6WzYwLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sc3RhdGlzdGljczp0aGlzLmZiLmdyb3VwKHtlbmFibGU6WyEwXSxzdGF0c1NlbmRQZXJpb2RJblNlY29uZHM6WzM2MDAsW3VlLnJlcXVpcmVkLHVlLm1pbig2MCksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sY29tbWFuZHM6dGhpcy5mYi5hcnJheShbXSl9KSxtYXhQYXlsb2FkU2l6ZUJ5dGVzOls4MTk2LFt1ZS5yZXF1aXJlZCx1ZS5taW4oMTAwKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxtaW5QYWNrU2VuZERlbGF5TVM6WzUwLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMTApLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLG1pblBhY2tTaXplVG9TZW5kOls1MDAsW3VlLnJlcXVpcmVkLHVlLm1pbigxMDApLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLGhhbmRsZURldmljZVJlbmFtaW5nOlshMF0sY2hlY2tpbmdEZXZpY2VBY3Rpdml0eTp0aGlzLmluaXRDaGVja2luZ0RldmljZUFjdGl2aXR5Rm9ybUdyb3VwKCksc2VjdXJpdHk6dGhpcy5pbml0U2VjdXJpdHlGb3JtR3JvdXAoKSxxb3M6WzEsW3VlLnJlcXVpcmVkLHVlLm1pbigwKSx1ZS5tYXgoMSksdWUucGF0dGVybigvXlteLlxzXSskLyldXX0pfWluaXRTdG9yYWdlRm9ybUdyb3VwKCl7cmV0dXJuIHRoaXMuZmIuZ3JvdXAoe3R5cGU6W0F0Lk1FTU9SWSxbdWUucmVxdWlyZWRdXSxyZWFkX3JlY29yZHNfY291bnQ6WzEwMCxbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLG1heF9yZWNvcmRzX2NvdW50OlsxZTUsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxkYXRhX2ZvbGRlcl9wYXRoOlsiLi9kYXRhLyIsW3VlLnJlcXVpcmVkXV0sbWF4X2ZpbGVfY291bnQ6WzEwLFt1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sbWF4X3JlYWRfcmVjb3Jkc19jb3VudDpbMTAsW3VlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxtYXhfcmVjb3Jkc19wZXJfZmlsZTpbMWU0LFt1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sZGF0YV9maWxlX3BhdGg6WyIuL2RhdGEvZGF0YS5kYiIsW3VlLnJlcXVpcmVkXV0sbWVzc2FnZXNfdHRsX2NoZWNrX2luX2hvdXJzOlsxLFt1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sbWVzc2FnZXNfdHRsX2luX2RheXM6WzcsW3VlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXX0pfWluaXRHcnBjRm9ybUdyb3VwKCl7cmV0dXJuIHRoaXMuZmIuZ3JvdXAoe2VuYWJsZWQ6WyExXSxzZXJ2ZXJQb3J0Ols5NTk1LFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUubWF4KDY1NTM1KSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxrZWVwQWxpdmVUaW1lTXM6WzFlNCxbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLGtlZXBBbGl2ZVRpbWVvdXRNczpbNWUzLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sa2VlcGFsaXZlUGVybWl0V2l0aG91dENhbGxzOlshMF0sbWF4UGluZ3NXaXRob3V0RGF0YTpbMCxbdWUucmVxdWlyZWQsdWUubWluKDApLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLG1pblRpbWVCZXR3ZWVuUGluZ3NNczpbMWU0LFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sbWluUGluZ0ludGVydmFsV2l0aG91dERhdGFNczpbNWUzLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV19KX1pbml0TG9nc0Zvcm1Hcm91cCgpe3JldHVybiB0aGlzLmZiLmdyb3VwKHtkYXRlRm9ybWF0OlsiJVktJW0tJWQgJUg6JU06JVMiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKC9eW15cc10uKlteXHNdJC8pXV0sbG9nRm9ybWF0OlsiJShhc2N0aW1lKXMgLSB8JShsZXZlbG5hbWUpc3wgLSBbJShmaWxlbmFtZSlzXSAtICUobW9kdWxlKXMgLSAlKGZ1bmNOYW1lKXMgLSAlKGxpbmVubylkIC0gJShtZXNzYWdlKXMiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKC9eW15cc10uKlteXHNdJC8pXV0sdHlwZTpbInJlbW90ZSIsW3VlLnJlcXVpcmVkXV0scmVtb3RlOnRoaXMuZmIuZ3JvdXAoe2VuYWJsZWQ6WyExXSxsb2dMZXZlbDpbTXQuSU5GTyxbdWUucmVxdWlyZWRdXX0pLGxvY2FsOnRoaXMuZmIuZ3JvdXAoe30pfSl9aW5pdENoZWNraW5nRGV2aWNlQWN0aXZpdHlGb3JtR3JvdXAoKXtyZXR1cm4gdGhpcy5mYi5ncm91cCh7Y2hlY2tEZXZpY2VJbmFjdGl2aXR5OlshMV0saW5hY3Rpdml0eVRpbWVvdXRTZWNvbmRzOlsyMDAsW3VlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxpbmFjdGl2aXR5Q2hlY2tQZXJpb2RTZWNvbmRzOls1MDAsW3VlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXX0pfWluaXRTZWN1cml0eUZvcm1Hcm91cCgpe3JldHVybiB0aGlzLmZiLmdyb3VwKHt0eXBlOltWdC5BQ0NFU1NfVE9LRU4sW3VlLnJlcXVpcmVkXV0sYWNjZXNzVG9rZW46W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oL15bXi5cc10rJC8pXV0sY2xpZW50SWQ6W251bGwsW3VlLnBhdHRlcm4oL15bXi5cc10rJC8pXV0sdXNlcm5hbWU6W251bGwsW3VlLnBhdHRlcm4oL15bXi5cc10rJC8pXV0scGFzc3dvcmQ6W251bGwsW3VlLnBhdHRlcm4oL15bXi5cc10rJC8pXV0sY2FDZXJ0OltudWxsXSxjZXJ0OltudWxsXSxwcml2YXRlS2V5OltudWxsXX0pfW9ic2VydmVGb3JtQ2hhbmdlcygpe3RoaXMub2JzZXJ2ZVNlY3VyaXR5UGFzc3dvcmRDaGFuZ2VzKCksdGhpcy5vYnNlcnZlUmVtb3RlQ29uZmlndXJhdGlvbkNoYW5nZXMoKSx0aGlzLm9ic2VydmVEZXZpY2VBY3Rpdml0eUNoYW5nZXMoKSx0aGlzLm9ic2VydmVTZWN1cml0eVR5cGVDaGFuZ2VzKCksdGhpcy5vYnNlcnZlU3RvcmFnZVR5cGVDaGFuZ2VzKCl9b2JzZXJ2ZVNlY3VyaXR5UGFzc3dvcmRDaGFuZ2VzKCl7Y29uc3QgZT10aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgidGhpbmdzYm9hcmQuc2VjdXJpdHkudXNlcm5hbWUiKTt0aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgidGhpbmdzYm9hcmQuc2VjdXJpdHkucGFzc3dvcmQiKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh0PT57dCYmIiIhPT10P2Uuc2V0VmFsaWRhdG9ycyhbdWUucmVxdWlyZWRdKTplLmNsZWFyVmFsaWRhdG9ycygpLGUudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiExfSl9KSl9b2JzZXJ2ZVJlbW90ZUNvbmZpZ3VyYXRpb25DaGFuZ2VzKCl7dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInRoaW5nc2JvYXJkLnJlbW90ZUNvbmZpZ3VyYXRpb24iKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57ZXx8dGhpcy5vcGVuQ29uZmlndXJhdGlvbkNvbmZpcm1EaWFsb2coKX0pKSx0aGlzLmxvZ1NlbGVjdG9yPXRoaXMuZmIuY29udHJvbChQdC5zZXJ2aWNlKTtmb3IoY29uc3QgZSBvZiBPYmplY3Qua2V5cyhQdCkpdGhpcy5hZGRMb2NhbExvZ0NvbmZpZyhlLHt9KX1vYnNlcnZlRGV2aWNlQWN0aXZpdHlDaGFuZ2VzKCl7Y29uc3QgZT10aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgidGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eSIpO2UuZ2V0KCJjaGVja0RldmljZUluYWN0aXZpdHkiKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh0PT57ZS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7Y29uc3Qgbj1bdWUubWluKDEpLHVlLnJlcXVpcmVkLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV07dD8oZS5nZXQoImluYWN0aXZpdHlUaW1lb3V0U2Vjb25kcyIpLnNldFZhbGlkYXRvcnMobiksZS5nZXQoImluYWN0aXZpdHlDaGVja1BlcmlvZFNlY29uZHMiKS5zZXRWYWxpZGF0b3JzKG4pKTooZS5nZXQoImluYWN0aXZpdHlUaW1lb3V0U2Vjb25kcyIpLmNsZWFyVmFsaWRhdG9ycygpLGUuZ2V0KCJpbmFjdGl2aXR5Q2hlY2tQZXJpb2RTZWNvbmRzIikuY2xlYXJWYWxpZGF0b3JzKCkpLGUuZ2V0KCJpbmFjdGl2aXR5VGltZW91dFNlY29uZHMiKS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtlbWl0RXZlbnQ6ITF9KSxlLmdldCgiaW5hY3Rpdml0eUNoZWNrUGVyaW9kU2Vjb25kcyIpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohMX0pfSkpLHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJncnBjLmVuYWJsZWQiKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy50b2dnbGVScGNGaWVsZHMoZSl9KSl9b2JzZXJ2ZVNlY3VyaXR5VHlwZUNoYW5nZXMoKXtjb25zdCBlPXRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJ0aGluZ3Nib2FyZC5zZWN1cml0eSIpO2UuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgodD0+e3N3aXRjaCh0aGlzLnJlbW92ZUFsbFNlY3VyaXR5VmFsaWRhdG9ycygpLHQpe2Nhc2UgVnQuQUNDRVNTX1RPS0VOOnRoaXMuYWRkQWNjZXNzVG9rZW5WYWxpZGF0b3JzKGUpO2JyZWFrO2Nhc2UgVnQuVExTX1BSSVZBVEVfS0VZOnRoaXMuYWRkVGxzUHJpdmF0ZUtleVZhbGlkYXRvcnMoZSk7YnJlYWs7Y2FzZSBWdC5UTFNfQUNDRVNTX1RPS0VOOnRoaXMuYWRkVGxzQWNjZXNzVG9rZW5WYWxpZGF0b3JzKGUpO2JyZWFrO2Nhc2UgVnQuVVNFUk5BTUVfUEFTU1dPUkQ6ZS5hZGRWYWxpZGF0b3JzKFt0aGlzLmF0TGVhc3RPbmVSZXF1aXJlZCh1ZS5yZXF1aXJlZCxbImNsaWVudElkIiwidXNlcm5hbWUiXSldKX1lLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKX0pKSxbImNhQ2VydCIsInByaXZhdGVLZXkiLCJjZXJ0Il0uZm9yRWFjaCgodD0+e2UuZ2V0KHQpLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCgpPT50aGlzLmNkLmRldGVjdENoYW5nZXMoKSkpfSkpfW9ic2VydmVTdG9yYWdlVHlwZUNoYW5nZXMoKXtjb25zdCBlPXRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJzdG9yYWdlIik7ZS5nZXQoInR5cGUiKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh0PT57c3dpdGNoKHRoaXMucmVtb3ZlQWxsU3RvcmFnZVZhbGlkYXRvcnMoKSx0KXtjYXNlIEF0Lk1FTU9SWTp0aGlzLmFkZE1lbW9yeVN0b3JhZ2VWYWxpZGF0b3JzKGUpO2JyZWFrO2Nhc2UgQXQuRklMRTp0aGlzLmFkZEZpbGVTdG9yYWdlVmFsaWRhdG9ycyhlKTticmVhaztjYXNlIEF0LlNRTElURTp0aGlzLmFkZFNxbGl0ZVN0b3JhZ2VWYWxpZGF0b3JzKGUpfX0pKX1hZGRBY2Nlc3NUb2tlblZhbGlkYXRvcnMoZSl7ZS5nZXQoImFjY2Vzc1Rva2VuIikuYWRkVmFsaWRhdG9ycyhbdWUucmVxdWlyZWQsdWUucGF0dGVybigvXlteLlxzXSskLyldKSxlLmdldCgiYWNjZXNzVG9rZW4iKS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCl9YWRkVGxzUHJpdmF0ZUtleVZhbGlkYXRvcnMoZSl7WyJjYUNlcnQiLCJwcml2YXRlS2V5IiwiY2VydCJdLmZvckVhY2goKHQ9PntlLmdldCh0KS5hZGRWYWxpZGF0b3JzKFt1ZS5yZXF1aXJlZF0pLGUuZ2V0KHQpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKX0pKX1hZGRUbHNBY2Nlc3NUb2tlblZhbGlkYXRvcnMoZSl7dGhpcy5hZGRBY2Nlc3NUb2tlblZhbGlkYXRvcnMoZSksZS5nZXQoImNhQ2VydCIpLmFkZFZhbGlkYXRvcnMoW3VlLnJlcXVpcmVkXSksZS5nZXQoImNhQ2VydCIpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKX1hZGRNZW1vcnlTdG9yYWdlVmFsaWRhdG9ycyhlKXtlLmdldCgicmVhZF9yZWNvcmRzX2NvdW50IikuYWRkVmFsaWRhdG9ycyhbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV0pLGUuZ2V0KCJtYXhfcmVjb3Jkc19jb3VudCIpLmFkZFZhbGlkYXRvcnMoW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldKSxlLmdldCgicmVhZF9yZWNvcmRzX2NvdW50IikudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiExfSksZS5nZXQoIm1heF9yZWNvcmRzX2NvdW50IikudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiExfSl9YWRkRmlsZVN0b3JhZ2VWYWxpZGF0b3JzKGUpe1sibWF4X2ZpbGVfY291bnQiLCJtYXhfcmVhZF9yZWNvcmRzX2NvdW50IiwibWF4X3JlY29yZHNfcGVyX2ZpbGUiXS5mb3JFYWNoKCh0PT57ZS5nZXQodCkuYWRkVmFsaWRhdG9ycyhbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV0pLGUuZ2V0KHQpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohMX0pfSkpfWFkZFNxbGl0ZVN0b3JhZ2VWYWxpZGF0b3JzKGUpe1sibWVzc2FnZXNfdHRsX2NoZWNrX2luX2hvdXJzIiwibWVzc2FnZXNfdHRsX2luX2RheXMiXS5mb3JFYWNoKCh0PT57ZS5nZXQodCkuYWRkVmFsaWRhdG9ycyhbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV0pLGUuZ2V0KHQpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohMX0pfSkpfWNoZWNrQW5kRmV0Y2hDcmVkZW50aWFscyhlKXtlLnR5cGUhPT1WdC5UTFNfUFJJVkFURV9LRVkmJnRoaXMuZGV2aWNlU2VydmljZS5nZXREZXZpY2VDcmVkZW50aWFscyh0aGlzLmRldmljZS5pZCkucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh0PT57dGhpcy5pbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkLmVtaXQodCksdGhpcy51cGRhdGVTZWN1cml0eVR5cGUoZSx0KSx0aGlzLnVwZGF0ZUNyZWRlbnRpYWxzKHQsZSl9KSl9dXBkYXRlU2VjdXJpdHlUeXBlKGUsdCl7Y29uc3Qgbj10LmNyZWRlbnRpYWxzVHlwZT09PVUuQUNDRVNTX1RPS0VOfHxlLnR5cGU9PT1WdC5UTFNfQUNDRVNTX1RPS0VOP2UudHlwZT09PVZ0LlRMU19BQ0NFU1NfVE9LRU4/VnQuVExTX0FDQ0VTU19UT0tFTjpWdC5BQ0NFU1NfVE9LRU46dC5jcmVkZW50aWFsc1R5cGU9PT1VLk1RVFRfQkFTSUM/VnQuVVNFUk5BTUVfUEFTU1dPUkQ6bnVsbDtuJiZ0aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgidGhpbmdzYm9hcmQuc2VjdXJpdHkudHlwZSIpLnNldFZhbHVlKG4se2VtaXRFdmVudDohMX0pfXVwZGF0ZUNyZWRlbnRpYWxzKGUsdCl7c3dpdGNoKGUuY3JlZGVudGlhbHNUeXBlKXtjYXNlIFUuQUNDRVNTX1RPS0VOOnRoaXMudXBkYXRlQWNjZXNzVG9rZW5DcmVkZW50aWFscyhlLHQpO2JyZWFrO2Nhc2UgVS5NUVRUX0JBU0lDOnRoaXMudXBkYXRlTXF0dEJhc2ljQ3JlZGVudGlhbHMoZSk7Y2FzZSBVLlg1MDlfQ0VSVElGSUNBVEU6fX11cGRhdGVBY2Nlc3NUb2tlbkNyZWRlbnRpYWxzKGUsdCl7dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInRoaW5nc2JvYXJkLnNlY3VyaXR5LmFjY2Vzc1Rva2VuIikuc2V0VmFsdWUoZS5jcmVkZW50aWFsc0lkLHtlbWl0RXZlbnQ6ITF9KSx0LnR5cGU9PT1WdC5UTFNfQUNDRVNTX1RPS0VOJiZ0aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgidGhpbmdzYm9hcmQuc2VjdXJpdHkuY2FDZXJ0Iikuc2V0VmFsdWUodC5jYUNlcnQse2VtaXRFdmVudDohMX0pfXVwZGF0ZU1xdHRCYXNpY0NyZWRlbnRpYWxzKGUpe2NvbnN0IHQ9SlNPTi5wYXJzZShlLmNyZWRlbnRpYWxzVmFsdWUpO3RoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJ0aGluZ3Nib2FyZC5zZWN1cml0eS5jbGllbnRJZCIpLnNldFZhbHVlKHQuY2xpZW50SWQse2VtaXRFdmVudDohMX0pLHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJ0aGluZ3Nib2FyZC5zZWN1cml0eS51c2VybmFtZSIpLnNldFZhbHVlKHQudXNlck5hbWUse2VtaXRFdmVudDohMX0pLHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJ0aGluZ3Nib2FyZC5zZWN1cml0eS5wYXNzd29yZCIpLnNldFZhbHVlKHQucGFzc3dvcmQse2VtaXRFdmVudDohMX0pfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6RG8sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfSx7dG9rZW46WC5EZXZpY2VTZXJ2aWNlfSx7dG9rZW46dC5DaGFuZ2VEZXRlY3RvclJlZn0se3Rva2VuOkplLk1hdERpYWxvZ31dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6RG8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LWJhc2ljLWNvbmZpZ3VyYXRpb24iLGlucHV0czp7ZGV2aWNlOiJkZXZpY2UiLGRpYWxvZ01vZGU6ImRpYWxvZ01vZGUifSxvdXRwdXRzOntpbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkOiJpbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkIn0scHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+RG8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkRvKSksbXVsdGk6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10YWItZ3JvdXAgY2xhc3M9InRhYi1ncm91cC1ibG9jayIgW2Zvcm1Hcm91cF09ImJhc2ljRm9ybUdyb3VwIiBbY2xhc3MuZGlhbG9nLW1vZGVdPSJkaWFsb2dNb2RlIj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5nZW5lcmFsXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy10ZW1wbGF0ZSBtYXRUYWJDb250ZW50PlxuICAgICAgPGRpdiBmb3JtR3JvdXBOYW1lPSJ0aGluZ3Nib2FyZCIgY2xhc3M9Im1hdC1jb250ZW50IG1hdC1wYWRkaW5nIGNvbmZpZ3VyYXRpb24tYmxvY2siPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIj5cbiAgICAgICAgICA8ZGl2IHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucmVtb3RlLWNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBjb2xvcj0icHJpbWFyeSIgZm9ybUNvbnRyb2xOYW1lPSJyZW1vdGVDb25maWd1cmF0aW9uIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJlbW90ZS1jb25maWd1cmF0aW9uXCcgIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLnJlbW90ZS1zaGVsbFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGNvbG9yPSJwcmltYXJ5IiBmb3JtQ29udHJvbE5hbWU9InJlbW90ZVNoZWxsIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJlbW90ZS1zaGVsbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkudGhpbmdzYm9hcmQtaG9zdDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJob3N0Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuaG9zdFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmhvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icG9ydCIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5wb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucG9ydFwnKS5oYXNFcnJvcihcJ21heFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtbWF4XCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnBvcnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMucG9ydFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCI+XG4gICAgICAgICAgPGRpdiB0cmFuc2xhdGUgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPnNlY3VyaXR5LnNlY3VyaXR5PC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBmb3JtR3JvdXBOYW1lPSJzZWN1cml0eSI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLXNlbGVjdCBjbGFzcz0idG9nZ2xlLWdyb3VwIiBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCBzZWN1cml0eVR5cGUgb2Ygc2VjdXJpdHlUeXBlcyB8IGtleXZhbHVlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPSJzZWN1cml0eVR5cGUua2V5Ij57eyBzZWN1cml0eVR5cGUudmFsdWUgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnR5cGVcJykudmFsdWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhcJ2FjY2Vzc3Rva2VuXCcpIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+c2VjdXJpdHkuYWNjZXNzLXRva2VuPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImFjY2Vzc1Rva2VuIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LmFjY2Vzc1Rva2VuXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnc2VjdXJpdHkuYWNjZXNzLXRva2VuLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDx0Yi1jb3B5LWJ1dHRvblxuICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgIG1pbmlCdXR0b249ImZhbHNlIlxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5hY2Nlc3NUb2tlblwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICBbY29weVRleHRdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5hY2Nlc3NUb2tlblwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICB0b29sdGlwVGV4dD0ie3sgXCdkZXZpY2UuY29weS1hY2Nlc3MtdG9rZW5cJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgIGljb249ImNvbnRlbnRfY29weSI+XG4gICAgICAgICAgICAgIDwvdGItY29weS1idXR0b24+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMudG9rZW5cJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMiXG4gICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnR5cGVcJykudmFsdWUgPT09IFwndXNlcm5hbWVQYXNzd29yZFwnIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+c2VjdXJpdHkuY2xpZW50SWQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImNsaWVudElkIi8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5jbGllbnRJZFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdzZWN1cml0eS5jbGllbnRJZC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1jb3B5LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWluaUJ1dHRvbj0iZmFsc2UiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5jbGllbnRJZFwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgW2NvcHlUZXh0XT0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkuY2xpZW50SWRcJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0PSJ7eyBcJ2dhdGV3YXkuY29weS1jbGllbnQtaWRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj0iY29udGVudF9jb3B5Ij5cbiAgICAgICAgICAgICAgICAgIDwvdGItY29weS1idXR0b24+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5jbGllbnQtaWRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5zZWN1cml0eS51c2VybmFtZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idXNlcm5hbWUiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnVzZXJuYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ3NlY3VyaXR5LnVzZXJuYW1lLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPHRiLWNvcHktYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtaW5pQnV0dG9uPSJmYWxzZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnVzZXJuYW1lXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgICAgICBbY29weVRleHRdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS51c2VybmFtZVwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcFRleHQ9Int7IFwnZ2F0ZXdheS5jb3B5LXVzZXJuYW1lXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgIGljb249ImNvbnRlbnRfY29weSI+XG4gICAgICAgICAgICAgICAgICA8L3RiLWNvcHktYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMudXNlcm5hbWVcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyIgc3R5bGU9IndpZHRoOiAxMDAlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnR5cGVcJykudmFsdWUgPT09IFwndXNlcm5hbWVQYXNzd29yZFwnIj5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnBhc3N3b3JkPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icGFzc3dvcmQiLz5cbiAgICAgICAgICAgICAgICA8dGItY29weS1idXR0b25cbiAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWluaUJ1dHRvbj0iZmFsc2UiXG4gICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkucGFzc3dvcmRcJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICBbY29weVRleHRdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5wYXNzd29yZFwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0PSJ7eyBcJ2dhdGV3YXkuY29weS1wYXNzd29yZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIGljb249ImNvbnRlbnRfY29weSI+XG4gICAgICAgICAgICAgICAgPC90Yi1jb3B5LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMucGFzc3dvcmRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8dGItZXJyb3Igc3R5bGU9Im1hcmdpbi10b3A6IC0xMnB4OyBkaXNwbGF5OiBibG9jazsiIGZ4RmxleD0iMTAwIlxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS50eXBlXCcpLnZhbHVlID09PSBcJ3VzZXJuYW1lUGFzc3dvcmRcJyJcbiAgICAgICAgICAgICAgICAgICAgICBbZXJyb3JdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eVwnKS5oYXNFcnJvcihcJ2F0TGVhc3RPbmVcJykgP1xuICAgICAgICAgIChcJ2RldmljZS5jbGllbnQtaWQtb3ItdXNlci1uYW1lLW5lY2Vzc2FyeVwnIHwgdHJhbnNsYXRlKSA6IFwnXCciPjwvdGItZXJyb3I+XG4gICAgICAgICAgICA8dGItZmlsZS1pbnB1dFxuICAgICAgICAgICAgICBmeEZsZXg9IjEwMCJcbiAgICAgICAgICAgICAgaGludD0ie3sgXCdnYXRld2F5LmhpbnRzLmNhLWNlcnRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnR5cGVcJykudmFsdWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhcJ3Rsc1wnKSJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJjYUNlcnQiXG4gICAgICAgICAgICAgIGxhYmVsPSJ7eyBcJ3NlY3VyaXR5LmNhLWNlcnRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgW2FsbG93ZWRFeHRlbnNpb25zXT0iXCdwZW0sIGNlcnQsIGtleVwnIlxuICAgICAgICAgICAgICBbYWNjZXB0XT0iXCcucGVtLCBhcHBsaWNhdGlvbi9wZW0sLmNlcnQsIGFwcGxpY2F0aW9uL2NlcnQsIC5rZXksYXBwbGljYXRpb24va2V5XCciXG4gICAgICAgICAgICAgIGRyb3BMYWJlbD0ie3sgXCdnYXRld2F5LmRyb3AtZmlsZVwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgIDwvdGItZmlsZS1pbnB1dD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkubG9ncy5sb2dzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy10ZW1wbGF0ZSBtYXRUYWJDb250ZW50PlxuICAgICAgPGRpdiBmb3JtR3JvdXBOYW1lPSJsb2dzIiBjbGFzcz0ibWF0LWNvbnRlbnQgbWF0LXBhZGRpbmcgY29uZmlndXJhdGlvbi1ibG9jayI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tcGFkZGluZy1ib3R0b20iPlxuICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9ImNvbHVtbiI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5kYXRlLWZvcm1hdDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJkYXRlRm9ybWF0Ii8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2xvZ3MuZGF0ZUZvcm1hdFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5kYXRlLWZvcm1hdC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmRhdGUtZm9ybVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmxvZ3MubG9nLWZvcm1hdDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJsb2dGb3JtYXQiIHJvd3M9IjIiPjwvdGV4dGFyZWE+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2xvZ3MubG9nRm9ybWF0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLmxvZy1mb3JtYXQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5sb2ctZm9ybWF0XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIiBmb3JtR3JvdXBOYW1lPSJyZW1vdGUiPlxuICAgICAgICAgIDxkaXYgdHJhbnNsYXRlIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIj5nYXRld2F5LmxvZ3MucmVtb3RlPC9kaXY+XG4gICAgICAgICAgPGRpdiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLnJlbW90ZS1sb2dcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBjb2xvcj0icHJpbWFyeSIgZm9ybUNvbnRyb2xOYW1lPSJlbmFibGVkIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmxvZ3MucmVtb3RlLWxvZ3NcJyAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmxvZ3MubGV2ZWw8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibG9nTGV2ZWwiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBsb2dMZXZlbCBvZiBnYXRld2F5TG9nTGV2ZWwiIFt2YWx1ZV09ImxvZ0xldmVsIj57eyBsb2dMZXZlbCB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1wYWRkaW5nLWJvdHRvbSIgZm9ybUdyb3VwTmFtZT0ibG9jYWwiPlxuICAgICAgICAgIDxkaXYgdHJhbnNsYXRlIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIj5nYXRld2F5LmxvZ3MubG9jYWw8L2Rpdj5cbiAgICAgICAgICA8dGItdG9nZ2xlLXNlbGVjdCBjbGFzcz0idG9nZ2xlLWdyb3VwIiBbZm9ybUNvbnRyb2xdPSJsb2dTZWxlY3RvciI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCBsb2dDb25maWcgb2YgbG9jYWxMb2dzQ29uZmlncyIgW3ZhbHVlXT0ibG9nQ29uZmlnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImZpcnN0LWNhcGl0YWwiPnt7IGxvY2FsTG9nc0NvbmZpZ1RyYW5zbGF0ZU1hcC5nZXQobG9nQ29uZmlnKSB9fTwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0iZ2V0TG9nRm9ybUdyb3VwKGxvZ1NlbGVjdG9yLnZhbHVlKSI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmxvZ3MubGV2ZWw8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImxvZ0xldmVsIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGxvZ0xldmVsIG9mIGdhdGV3YXlMb2dMZXZlbCIgW3ZhbHVlXT0ibG9nTGV2ZWwiPnt7IGxvZ0xldmVsIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmxvZ3MuZmlsZS1wYXRoPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZmlsZVBhdGgiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdsb2dzLmxvY2FsLlwnICsgbG9nU2VsZWN0b3IudmFsdWUgKyBcJy5maWxlUGF0aFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLmZpbGUtcGF0aC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgc2F2aW5nLXBlcmlvZCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5zYXZpbmctcGVyaW9kPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJzYXZpbmdUaW1lIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnbG9ncy5sb2NhbC5cJyArIGxvZ1NlbGVjdG9yLnZhbHVlICsgXCcuc2F2aW5nVGltZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmxvZ3Muc2F2aW5nLXBlcmlvZC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2xvZ3MubG9jYWwuXCcgKyBsb2dTZWxlY3Rvci52YWx1ZSArIFwnLnNhdmluZ1RpbWVcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5zYXZpbmctcGVyaW9kLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBoaWRlUmVxdWlyZWRNYXJrZXIgc3R5bGU9Im1pbi13aWR0aDogMTEwcHg7IHdpZHRoOiAzMCUiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJzYXZpbmdQZXJpb2QiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBwZXJpb2Qgb2YgbG9nU2F2aW5nUGVyaW9kcyB8IGtleXZhbHVlIiBbdmFsdWVdPSJwZXJpb2Qua2V5Ij5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBwZXJpb2QudmFsdWUgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5iYWNrdXAtY291bnQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJiYWNrdXBDb3VudCIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnbG9ncy5sb2NhbC5cJyArIGxvZ1NlbGVjdG9yLnZhbHVlICsgXCcuYmFja3VwQ291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5iYWNrdXAtY291bnQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdsb2dzLmxvY2FsLlwnICsgbG9nU2VsZWN0b3IudmFsdWUgKyBcJy5iYWNrdXBDb3VudFwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5iYWNrdXAtY291bnQtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuYmFja3VwLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnN0b3JhZ2VcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9InN0b3JhZ2UiIGNsYXNzPSJtYXQtY29udGVudCBtYXQtcGFkZGluZyBjb25maWd1cmF0aW9uLWJsb2NrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1wYWRkaW5nLWJvdHRvbSI+XG4gICAgICAgICAgPGRpdiB0cmFuc2xhdGUgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPmdhdGV3YXkuc3RvcmFnZTwvZGl2PlxuICAgICAgICAgIDxkaXYgdHJhbnNsYXRlIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLWhpbnQiPmdhdGV3YXkuaGludHMuc3RvcmFnZTwvZGl2PlxuICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGNsYXNzPSJ0b2dnbGUtZ3JvdXAiIGZvcm1Db250cm9sTmFtZT0idHlwZSI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCBzdG9yYWdlVHlwZSBvZiBzdG9yYWdlVHlwZXMiIFt2YWx1ZV09InN0b3JhZ2VUeXBlIj5cbiAgICAgICAgICAgICAge3sgc3RvcmFnZVR5cGVzVHJhbnNsYXRpb25NYXAuZ2V0KHN0b3JhZ2VUeXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgIDwvdGItdG9nZ2xlLXNlbGVjdD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLWhpbnQiPnt7IFwnZ2F0ZXdheS5oaW50cy5cJyArIGJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UudHlwZVwnKS52YWx1ZSB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS50eXBlXCcpLnZhbHVlIj5cbiAgICAgICAgICAgIDxzZWN0aW9uICpuZ1N3aXRjaENhc2U9IlN0b3JhZ2VUeXBlcy5NRU1PUlkiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlYWRfcmVjb3Jkc19jb3VudCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UucmVhZF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UucmVhZF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5yZWFkX3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5yZWFkLXJlY29yZC1jb3VudFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1heF9yZWNvcmRzX2NvdW50Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tYXhfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tYXhfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1heC1yZWNvcmRzLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPHNlY3Rpb24gKm5nU3dpdGNoQ2FzZT0iU3RvcmFnZVR5cGVzLkZJTEUiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdG9yYWdlLWRhdGEtZm9sZGVyLXBhdGg8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImRhdGFfZm9sZGVyX3BhdGgiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UuZGF0YV9mb2xkZXJfcGF0aFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtZGF0YS1mb2xkZXItcGF0aC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0LWZvcm0tZmllbGQtaW5maXggcG9pbnRlci1ldmVudCBzdWZmaXgtaWNvbiIgYXJpYS1oaWRkZW49ImZhbHNlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9ImhlbHAtaWNvbiJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRTdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZGF0YS1mb2xkZXJcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtbWF4LWZpbGVzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1heF9maWxlX2NvdW50Ii8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9maWxlX2NvdW50XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9maWxlX2NvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LWZpbGVzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X2ZpbGVfY291bnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LWZpbGVzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5tYXgtZmlsZS1jb3VudFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgZm9ybUNvbnRyb2xOYW1lPSJtYXhfcmVhZF9yZWNvcmRzX2NvdW50Ii8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWFkX3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlYWRfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWFkX3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5tYXgtcmVhZC1jb3VudFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1heF9yZWNvcmRzX3Blcl9maWxlIi8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWNvcmRzX3Blcl9maWxlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtcmVjb3Jkcy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlY29yZHNfcGVyX2ZpbGVcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtcmVjb3Jkcy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWNvcmRzX3Blcl9maWxlXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5tYXgtcmVjb3Jkc1wnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPHNlY3Rpb24gKm5nU3dpdGNoQ2FzZT0iU3RvcmFnZVR5cGVzLlNRTElURSI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtcGF0aDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YV9maWxlX3BhdGgiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UuZGF0YV9maWxlX3BhdGhcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLXBhdGgtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5kYXRhLWZvbGRlclwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1lc3NhZ2VzX3R0bF9jaGVja19pbl9ob3VycyIvPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tZXNzYWdlc190dGxfY2hlY2tfaW5faG91cnNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXNzYWdlcy10dGwtY2hlY2staW4taG91cnMtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9jaGVja19pbl9ob3Vyc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXNzYWdlcy10dGwtY2hlY2staW4taG91cnMtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tZXNzYWdlc190dGxfY2hlY2tfaW5faG91cnNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMudHRsLWNoZWNrLWhvdXJcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubWVzc2FnZXMtdHRsLWluLWRheXM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1lc3NhZ2VzX3R0bF9pbl9kYXlzIi8+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tZXNzYWdlc190dGxfaW5fZGF5c1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXNzYWdlcy10dGwtaW4tZGF5cy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tZXNzYWdlc190dGxfaW5fZGF5c1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubWVzc2FnZXMtdHRsLWluLWRheXMtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9pbl9kYXlzXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubWVzc2FnZXMtdHRsLWluLWRheXMtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLnR0bC1tZXNzYWdlcy1kYXlcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdycGNcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9ImdycGMiIGNsYXNzPSJtYXQtY29udGVudCBtYXQtcGFkZGluZyBjb25maWd1cmF0aW9uLWJsb2NrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1wYWRkaW5nLWJvdHRvbSI+XG4gICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgY29sb3I9InByaW1hcnkiIGZvcm1Db250cm9sTmFtZT0iZW5hYmxlZCI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwY1wnICB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8ZGl2IHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucGVybWl0LXdpdGhvdXQtY2FsbHNcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBjb2xvcj0icHJpbWFyeSIgZm9ybUNvbnRyb2xOYW1lPSJrZWVwYWxpdmVQZXJtaXRXaXRob3V0Q2FsbHMiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucGVybWl0LXdpdGhvdXQtY2FsbHNcJyAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c2VjdGlvbj5cbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci1wb3J0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ic2VydmVyUG9ydCIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuc2VydmVyLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5zZXJ2ZXJQb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMuc2VydmVyUG9ydFwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMuc2VydmVyUG9ydFwnKS5oYXNFcnJvcihcJ21heFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1tYXhcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMuc2VydmVyUG9ydFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtdGltZW91dDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImtlZXBBbGl2ZVRpbWVvdXRNcyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5rZWVwQWxpdmVUaW1lb3V0TXNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMua2VlcEFsaXZlVGltZW91dE1zXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtdGltZW91dC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMua2VlcEFsaXZlVGltZW91dE1zXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5ncnBjLWtlZXAtYWxpdmU8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJrZWVwQWxpdmVUaW1lTXMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmdycGMta2VlcC1hbGl2ZVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLmtlZXBBbGl2ZVRpbWVNc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMua2VlcEFsaXZlVGltZU1zXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLmtlZXBBbGl2ZVRpbWVNc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMta2VlcC1hbGl2ZS1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5nczwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1pblRpbWVCZXR3ZWVuUGluZ3NNcyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWluVGltZUJldHdlZW5QaW5nc01zXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5taW5UaW1lQmV0d2VlblBpbmdzTXNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWluVGltZUJldHdlZW5QaW5nc01zXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWF4UGluZ3NXaXRob3V0RGF0YSIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWF4UGluZ3NXaXRob3V0RGF0YVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWF4UGluZ3NXaXRob3V0RGF0YVwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5tYXhQaW5nc1dpdGhvdXREYXRhXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGE8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtaW5QaW5nSW50ZXJ2YWxXaXRob3V0RGF0YU1zIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5ncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLm1pblBpbmdJbnRlcnZhbFdpdGhvdXREYXRhTXNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWluUGluZ0ludGVydmFsV2l0aG91dERhdGFNc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLm1pblBpbmdJbnRlcnZhbFdpdGhvdXREYXRhTXNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnN0YXRpc3RpY3Muc3RhdGlzdGljc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT0idGhpbmdzYm9hcmQiIGNsYXNzPSJtYXQtY29udGVudCBtYXQtcGFkZGluZyBjb25maWd1cmF0aW9uLWJsb2NrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1wYWRkaW5nLWJvdHRvbSIgZm9ybUdyb3VwTmFtZT0ic3RhdGlzdGljcyI+XG4gICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY29sb3I9InByaW1hcnkiIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0iZW5hYmxlIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnN0YXRpc3RpY3NcJyAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLnNlbmQtcGVyaW9kPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJzdGF0c1NlbmRQZXJpb2RJblNlY29uZHMiIHR5cGU9Im51bWJlciIgbWluPSI2MCIvPlxuICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc3RhdGlzdGljcy5zdGF0c1NlbmRQZXJpb2RJblNlY29uZHNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnNlbmQtcGVyaW9kLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc3RhdGlzdGljcy5zdGF0c1NlbmRQZXJpb2RJblNlY29uZHNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5zZW5kLXBlcmlvZC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zdGF0aXN0aWNzLnN0YXRzU2VuZFBlcmlvZEluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5zZW5kLXBlcmlvZC1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmRzPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC1oaW50IiB0cmFuc2xhdGU+Z2F0ZXdheS5oaW50cy5jb21tYW5kczwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgZm9ybUdyb3VwTmFtZT0ic3RhdGlzdGljcyI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PSJyb3ciIGZvcm1BcnJheU5hbWU9ImNvbW1hbmRzIiBjbGFzcz0ic3RhdGlzdGljcy1jb250YWluZXIiXG4gICAgICAgICAgICAgICAgICpuZ0Zvcj0ibGV0IGNvbW1hbmRDb250cm9sIG9mIGNvbW1hbmRGb3JtQXJyYXkoKS5jb250cm9sczsgbGV0ICRpbmRleCA9IGluZGV4Ij5cbiAgICAgICAgICAgICAgPHNlY3Rpb24gW2Zvcm1Hcm91cE5hbWVdPSIkaW5kZXgiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQgbm8tcGFkZGluZy1ib3R0b20gbm8tZ2FwIGNvbW1hbmQtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3MuYXR0cmlidXRlLW5hbWU8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iYXR0cmlidXRlT25HYXRld2F5Ii8+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbW1hbmRDb250cm9sLmdldChcJ2F0dHJpYnV0ZU9uR2F0ZXdheVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5hdHRyaWJ1dGUtbmFtZS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmF0dHJpYnV0ZVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLnRpbWVvdXQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idGltZW91dCIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZENvbnRyb2wuZ2V0KFwndGltZW91dFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy50aW1lb3V0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbW1hbmRDb250cm9sLmdldChcJ3RpbWVvdXRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnRpbWVvdXQtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbW1hbmRDb250cm9sLmdldChcJ3RpbWVvdXRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy50aW1lb3V0LXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy50aW1lb3V0XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RhdGlzdGljcy5jb21tYW5kPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJjb21tYW5kIi8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb21tYW5kQ29udHJvbC5nZXQoXCdjb21tYW5kXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5jb21tYW5kLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZENvbnRyb2wuZ2V0KFwnY29tbWFuZFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5jb21tYW5kLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5jb21tYW5kXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPSJyZW1vdmVDb21tYW5kQ29udHJvbCgkaW5kZXgsICRldmVudCkiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWJveC1idXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iIWJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnJlbW90ZUNvbmZpZ3VyYXRpb25cJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LnN0YXRpc3RpY3MucmVtb3ZlXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiBmaXQtY29udGVudDsiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iIWJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnJlbW90ZUNvbmZpZ3VyYXRpb25cJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9ImFkZENvbW1hbmQoKSI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmFkZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkub3RoZXJcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9InRoaW5nc2JvYXJkIiBjbGFzcz0ibWF0LWNvbnRlbnQgbWF0LXBhZGRpbmcgY29uZmlndXJhdGlvbi1ibG9jayI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwiIGZvcm1Hcm91cE5hbWU9ImNoZWNraW5nRGV2aWNlQWN0aXZpdHkiXG4gICAgICAgICAgICAgW2NsYXNzLm5vLXBhZGRpbmctYm90dG9tXT0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5jaGVja0RldmljZUluYWN0aXZpdHlcJykudmFsdWUiPlxuICAgICAgICAgIDxkaXYgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5jaGVjay1kZXZpY2UtYWN0aXZpdHlcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBjb2xvcj0icHJpbWFyeSIgZm9ybUNvbnRyb2xOYW1lPSJjaGVja0RldmljZUluYWN0aXZpdHkiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuY2hlY2tpbmctZGV2aWNlLWFjdGl2aXR5XCcgIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiXG4gICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNraW5nRGV2aWNlQWN0aXZpdHkuY2hlY2tEZXZpY2VJbmFjdGl2aXR5XCcpLnZhbHVlIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iaW5hY3Rpdml0eVRpbWVvdXRTZWNvbmRzIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNraW5nRGV2aWNlQWN0aXZpdHkuaW5hY3Rpdml0eVRpbWVvdXRTZWNvbmRzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNraW5nRGV2aWNlQWN0aXZpdHkuaW5hY3Rpdml0eVRpbWVvdXRTZWNvbmRzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5pbmFjdGl2aXR5VGltZW91dFNlY29uZHNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmluYWN0aXZpdHktdGltZW91dFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5pbmFjdGl2aXR5LWNoZWNrLXBlcmlvZC1zZWNvbmRzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgZm9ybUNvbnRyb2xOYW1lPSJpbmFjdGl2aXR5Q2hlY2tQZXJpb2RTZWNvbmRzIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5pbmFjdGl2aXR5Q2hlY2tQZXJpb2RTZWNvbmRzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LWNoZWNrLXBlcmlvZC1zZWNvbmRzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5pbmFjdGl2aXR5Q2hlY2tQZXJpb2RTZWNvbmRzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja2luZ0RldmljZUFjdGl2aXR5LmluYWN0aXZpdHlDaGVja1BlcmlvZFNlY29uZHNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuaW5hY3Rpdml0eS1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5hZHZhbmNlZDwvZGl2PlxuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubWluLXBhY2stc2VuZC1kZWxheTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtaW5QYWNrU2VuZERlbGF5TVMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1pblBhY2tTZW5kRGVsYXlNU1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubWluLXBhY2stc2VuZC1kZWxheS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5taW5QYWNrU2VuZERlbGF5TVNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5taW4tcGFjay1zZW5kLWRlbGF5LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1pblBhY2tTZW5kRGVsYXlNU1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5taW4tcGFjay1zZW5kLWRlbGF5LXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5taW5pbWFsLXBhY2stZGVsYXlcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubXF0dC1xb3M8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icW9zIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbWF4PSIxIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnFvc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubXF0dC1xb3MtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucW9zXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubXF0dC1xb3MtcmFuZ2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucW9zXCcpLmhhc0Vycm9yKFwnbWF4XCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubXF0dC1xb3MtcmFuZ2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5xb3NcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLmNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbjwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJjaGVja0Nvbm5lY3RvcnNDb25maWd1cmF0aW9uSW5TZWNvbmRzIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNrQ29ubmVjdG9yc0NvbmZpZ3VyYXRpb25JblNlY29uZHNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tDb25uZWN0b3JzQ29uZmlndXJhdGlvbkluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNrQ29ubmVjdG9yc0NvbmZpZ3VyYXRpb25JblNlY29uZHNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5jaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RhdGlzdGljcy5tYXgtcGF5bG9hZC1zaXplLWJ5dGVzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1heFBheWxvYWRTaXplQnl0ZXMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWF4UGF5bG9hZFNpemVCeXRlc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5tYXgtcGF5bG9hZC1zaXplLWJ5dGVzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWF4UGF5bG9hZFNpemVCeXRlc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MubWF4LXBheWxvYWQtc2l6ZS1ieXRlcy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5tYXhQYXlsb2FkU2l6ZUJ5dGVzXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MubWF4LXBheWxvYWQtc2l6ZS1ieXRlcy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMubWF4LXBheWxvYWQtc2l6ZS1ieXRlc1wnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3MubWluLXBhY2stc2l6ZS10by1zZW5kPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1pblBhY2tTaXplVG9TZW5kIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1pblBhY2tTaXplVG9TZW5kXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLm1pbi1wYWNrLXNpemUtdG8tc2VuZC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1pblBhY2tTaXplVG9TZW5kXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5taW4tcGFjay1zaXplLXRvLXNlbmQtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWluUGFja1NpemVUb1NlbmRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5taW4tcGFjay1zaXplLXRvLXNlbmQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1pbi1wYWNrLXNpemUtdG8tc2VuZFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1yb3dzOm1pbi1jb250ZW50IG1pbm1heChhdXRvLDFmcikgbWluLWNvbnRlbnR9Omhvc3QgLmNvbmZpZ3VyYXRpb24tYmxvY2t7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTZweDttYXgtaGVpZ2h0Ojcwdmh9Omhvc3QgLmRpYWxvZy1tb2RlIC5jb25maWd1cmF0aW9uLWJsb2Nre21heC1oZWlnaHQ6NjB2aH06aG9zdCAubWF0LXRvb2xiYXJ7Z3JpZC1yb3c6MTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMDAwMDBkZSFpbXBvcnRhbnR9Omhvc3QgLnRhYi1ncm91cC1ibG9ja3ttaW4td2lkdGg6MDtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjA7Z3JpZC1yb3c6Mn06aG9zdCAudG9nZ2xlLWdyb3Vwe21hcmdpbi1yaWdodDphdXRvfTpob3N0IC5maXJzdC1jYXBpdGFse3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemV9Omhvc3QgdGV4dGFyZWF7cmVzaXplOm5vbmV9Omhvc3QgLnNhdmluZy1wZXJpb2R7ZmxleDoxfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lcnt3aWR0aDoxMDAlfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciAuY29tbWFuZC1jb250YWluZXJ7d2lkdGg6MTAwJX06aG9zdCBtYXQtZm9ybS1maWVsZCBtYXQtZXJyb3J7ZGlzcGxheTpub25lIWltcG9ydGFudH06aG9zdCBtYXQtZm9ybS1maWVsZCBtYXQtZXJyb3I6Zmlyc3QtY2hpbGR7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9Omhvc3QgOjpuZy1kZWVwIC5wb2ludGVyLWV2ZW50e3BvaW50ZXItZXZlbnRzOmFsbH06aG9zdCA6Om5nLWRlZXAgLnRvZ2dsZS1ncm91cCBzcGFue3BhZGRpbmc6MCAyNXB4fTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2NvbG9yOiNlMGUwZTB9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLWZvcm0tZmllbGQtaWNvbi1zdWZmaXg6aG92ZXJ7Y29sb3I6IzllOWU5ZX06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtZm9ybS1maWVsZC1pY29uLXN1ZmZpeHtkaXNwbGF5OmZsZXh9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJuZ21vZHVsZSIsdHlwZTpIfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoLHNlbGVjdG9yOiJbbmdTd2l0Y2hdIixpbnB1dHM6WyJuZ1N3aXRjaCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdTd2l0Y2hDYXNlLHNlbGVjdG9yOiJbbmdTd2l0Y2hDYXNlXSIsaW5wdXRzOlsibmdTd2l0Y2hDYXNlIl19LHtraW5kOiJwaXBlIix0eXBlOl8uS2V5VmFsdWVQaXBlLG5hbWU6ImtleXZhbHVlIn0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q3QuVGJFcnJvckNvbXBvbmVudCxzZWxlY3RvcjoidGItZXJyb3IiLGlucHV0czpbIm5vTWFyZ2luIiwiZXJyb3IiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdEVycm9yLHNlbGVjdG9yOiJtYXQtZXJyb3IsIFttYXRFcnJvcl0iLGlucHV0czpbImlkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpXLk1hdFRhYkNvbnRlbnQsc2VsZWN0b3I6IlttYXRUYWJDb250ZW50XSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWIsc2VsZWN0b3I6Im1hdC10YWIiLGlucHV0czpbImRpc2FibGVkIiwibGFiZWwiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwibGFiZWxDbGFzcyIsImJvZHlDbGFzcyJdLGV4cG9ydEFzOlsibWF0VGFiIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWJHcm91cCxzZWxlY3RvcjoibWF0LXRhYi1ncm91cCIsaW5wdXRzOlsiY29sb3IiLCJmaXRJbmtCYXJUb0NvbnRlbnQiLCJtYXQtc3RyZXRjaC10YWJzIiwiZHluYW1pY0hlaWdodCIsInNlbGVjdGVkSW5kZXgiLCJoZWFkZXJQb3NpdGlvbiIsImFuaW1hdGlvbkR1cmF0aW9uIiwiY29udGVudFRhYkluZGV4IiwiZGlzYWJsZVBhZ2luYXRpb24iLCJkaXNhYmxlUmlwcGxlIiwicHJlc2VydmVDb250ZW50IiwiYmFja2dyb3VuZENvbG9yIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSJdLG91dHB1dHM6WyJzZWxlY3RlZEluZGV4Q2hhbmdlIiwiZm9jdXNDaGFuZ2UiLCJhbmltYXRpb25Eb25lIiwic2VsZWN0ZWRUYWJDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFRhYkdyb3VwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6ZXQuTWF0U2xpZGVUb2dnbGUsc2VsZWN0b3I6Im1hdC1zbGlkZS10b2dnbGUiLGlucHV0czpbIm5hbWUiLCJpZCIsImxhYmVsUG9zaXRpb24iLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsInJlcXVpcmVkIiwiY29sb3IiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImNoZWNrZWQiLCJoaWRlSWNvbiIsImRpc2FibGVkSW50ZXJhY3RpdmUiXSxvdXRwdXRzOlsiY2hhbmdlIiwidG9nZ2xlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRdLCBbZnhMYXlvdXQueHNdLCBbZnhMYXlvdXQuc21dLCBbZnhMYXlvdXQubWRdLCAgW2Z4TGF5b3V0LmxnXSwgW2Z4TGF5b3V0LnhsXSwgW2Z4TGF5b3V0Lmx0LXNtXSwgW2Z4TGF5b3V0Lmx0LW1kXSwgIFtmeExheW91dC5sdC1sZ10sIFtmeExheW91dC5sdC14bF0sIFtmeExheW91dC5ndC14c10sIFtmeExheW91dC5ndC1zbV0sICBbZnhMYXlvdXQuZ3QtbWRdLCBbZnhMYXlvdXQuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dCIsImZ4TGF5b3V0LnhzIiwiZnhMYXlvdXQuc20iLCJmeExheW91dC5tZCIsImZ4TGF5b3V0LmxnIiwiZnhMYXlvdXQueGwiLCJmeExheW91dC5sdC1zbSIsImZ4TGF5b3V0Lmx0LW1kIiwiZnhMYXlvdXQubHQtbGciLCJmeExheW91dC5sdC14bCIsImZ4TGF5b3V0Lmd0LXhzIiwiZnhMYXlvdXQuZ3Qtc20iLCJmeExheW91dC5ndC1tZCIsImZ4TGF5b3V0Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWF4VmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttYXhdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtuZ01vZGVsXSIsaW5wdXRzOlsibWF4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBOYW1lLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0iLGlucHV0czpbImZvcm1Hcm91cE5hbWUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQXJyYXlOYW1lLHNlbGVjdG9yOiJbZm9ybUFycmF5TmFtZV0iLGlucHV0czpbImZvcm1BcnJheU5hbWUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpUdC5GaWxlSW5wdXRDb21wb25lbnQsc2VsZWN0b3I6InRiLWZpbGUtaW5wdXQiLGlucHV0czpbImxhYmVsIiwiaGludCIsImFjY2VwdCIsIm5vRmlsZVRleHQiLCJpbnB1dElkIiwiYWxsb3dlZEV4dGVuc2lvbnMiLCJkcm9wTGFiZWwiLCJtYXhTaXplQnl0ZSIsImNvbnRlbnRDb252ZXJ0RnVuY3Rpb24iLCJyZXF1aXJlZCIsInJlcXVpcmVkQXNFcnJvciIsImRpc2FibGVkIiwiZXhpc3RpbmdGaWxlTmFtZSIsInJlYWRBc0JpbmFyeSIsIndvcmtGcm9tRmlsZU9iaiIsIm11bHRpcGxlRmlsZSJdLG91dHB1dHM6WyJmaWxlTmFtZUNoYW5nZWQiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6U3QuQ29weUJ1dHRvbkNvbXBvbmVudCxzZWxlY3RvcjoidGItY29weS1idXR0b24iLGlucHV0czpbImNvcHlUZXh0IiwiZGlzYWJsZWQiLCJtZGlJY29uIiwiaWNvbiIsInRvb2x0aXBUZXh0IiwidG9vbHRpcFBvc2l0aW9uIiwic3R5bGUiLCJjb2xvciIsIm1pbmlCdXR0b24iXSxvdXRwdXRzOlsic3VjY2Vzc0NvcGllZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm50LlRvZ2dsZU9wdGlvbixzZWxlY3RvcjoidGItdG9nZ2xlLW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTphdC5Ub2dnbGVTZWxlY3RDb21wb25lbnQsc2VsZWN0b3I6InRiLXRvZ2dsZS1zZWxlY3QiLGlucHV0czpbImRpc2FibGVkIiwic2VsZWN0TWVkaWFCcmVha3BvaW50IiwiYXBwZWFyYW5jZSIsImRpc2FibGVQYWdpbmF0aW9uIiwiZmlsbEhlaWdodCIsImV4dHJhUGFkZGluZyIsInByaW1hcnlCYWNrZ3JvdW5kIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dXQuSGludFRvb2x0aXBJY29uQ29tcG9uZW50LHNlbGVjdG9yOiJbdGItaGludC10b29sdGlwLWljb25dIixpbnB1dHM6WyJ0Yi1oaW50LXRvb2x0aXAtaWNvbiIsInRvb2x0aXBQb3NpdGlvbiIsImhpbnRJY29uIl19XX0pfX1lKCJHYXRld2F5QmFzaWNDb25maWd1cmF0aW9uQ29tcG9uZW50IixEbyksSGUoW04oKV0sRG8ucHJvdG90eXBlLCJkaWFsb2dNb2RlIix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6RG8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktYmFzaWMtY29uZmlndXJhdGlvbiIsc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILERdLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PkRvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5EbykpLG11bHRpOiEwfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRhYi1ncm91cCBjbGFzcz0idGFiLWdyb3VwLWJsb2NrIiBbZm9ybUdyb3VwXT0iYmFzaWNGb3JtR3JvdXAiIFtjbGFzcy5kaWFsb2ctbW9kZV09ImRpYWxvZ01vZGUiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9InRoaW5nc2JvYXJkIiBjbGFzcz0ibWF0LWNvbnRlbnQgbWF0LXBhZGRpbmcgY29uZmlndXJhdGlvbi1ibG9jayI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tcGFkZGluZy1ib3R0b20iPlxuICAgICAgICAgIDxkaXYgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5yZW1vdGUtY29uZmlndXJhdGlvblwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGNvbG9yPSJwcmltYXJ5IiBmb3JtQ29udHJvbE5hbWU9InJlbW90ZUNvbmZpZ3VyYXRpb24iPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmVtb3RlLWNvbmZpZ3VyYXRpb25cJyAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucmVtb3RlLXNoZWxsXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmciPlxuICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgY29sb3I9InByaW1hcnkiIGZvcm1Db250cm9sTmFtZT0icmVtb3RlU2hlbGwiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmVtb3RlLXNoZWxsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS50aGluZ3Nib2FyZC1ob3N0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Imhvc3QiLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5ob3N0XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuaG9zdFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkudGhpbmdzYm9hcmQtcG9ydDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5wb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnBvcnRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5wb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1tYXhcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucG9ydFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5wb3J0XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIj5cbiAgICAgICAgICA8ZGl2IHRyYW5zbGF0ZSBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSI+c2VjdXJpdHkuc2VjdXJpdHk8L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIGZvcm1Hcm91cE5hbWU9InNlY3VyaXR5Ij5cbiAgICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGNsYXNzPSJ0b2dnbGUtZ3JvdXAiIGZvcm1Db250cm9sTmFtZT0idHlwZSI+XG4gICAgICAgICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IHNlY3VyaXR5VHlwZSBvZiBzZWN1cml0eVR5cGVzIHwga2V5dmFsdWUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09InNlY3VyaXR5VHlwZS5rZXkiPnt7IHNlY3VyaXR5VHlwZS52YWx1ZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudHlwZVwnKS52YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFwnYWNjZXNzdG9rZW5cJykiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5zZWN1cml0eS5hY2Nlc3MtdG9rZW48L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iYWNjZXNzVG9rZW4iLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkuYWNjZXNzVG9rZW5cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdzZWN1cml0eS5hY2Nlc3MtdG9rZW4tcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPHRiLWNvcHktYnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgbWluaUJ1dHRvbj0iZmFsc2UiXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LmFjY2Vzc1Rva2VuXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgIFtjb3B5VGV4dF09ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LmFjY2Vzc1Rva2VuXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0PSJ7eyBcJ2RldmljZS5jb3B5LWFjY2Vzcy10b2tlblwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgaWNvbj0iY29udGVudF9jb3B5Ij5cbiAgICAgICAgICAgICAgPC90Yi1jb3B5LWJ1dHRvbj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy50b2tlblwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPHNlY3Rpb24+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyJcbiAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudHlwZVwnKS52YWx1ZSA9PT0gXCd1c2VybmFtZVBhc3N3b3JkXCciPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5zZWN1cml0eS5jbGllbnRJZDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iY2xpZW50SWQiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LmNsaWVudElkXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ3NlY3VyaXR5LmNsaWVudElkLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPHRiLWNvcHktYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtaW5pQnV0dG9uPSJmYWxzZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LmNsaWVudElkXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgICAgICBbY29weVRleHRdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5jbGllbnRJZFwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcFRleHQ9Int7IFwnZ2F0ZXdheS5jb3B5LWNsaWVudC1pZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBpY29uPSJjb250ZW50X2NvcHkiPlxuICAgICAgICAgICAgICAgICAgPC90Yi1jb3B5LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmNsaWVudC1pZFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPnNlY3VyaXR5LnVzZXJuYW1lPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ1c2VybmFtZSIvPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudXNlcm5hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnc2VjdXJpdHkudXNlcm5hbWUtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8dGItY29weS1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgIG1pbmlCdXR0b249ImZhbHNlIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudXNlcm5hbWVcJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICAgIFtjb3B5VGV4dF09ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnVzZXJuYW1lXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgICAgICB0b29sdGlwVGV4dD0ie3sgXCdnYXRld2F5LmNvcHktdXNlcm5hbWVcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj0iY29udGVudF9jb3B5Ij5cbiAgICAgICAgICAgICAgICAgIDwvdGItY29weS1idXR0b24+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy51c2VybmFtZVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBzdHlsZT0id2lkdGg6IDEwMCUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudHlwZVwnKS52YWx1ZSA9PT0gXCd1c2VybmFtZVBhc3N3b3JkXCciPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkucGFzc3dvcmQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJwYXNzd29yZCIvPlxuICAgICAgICAgICAgICAgIDx0Yi1jb3B5LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtaW5pQnV0dG9uPSJmYWxzZSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5wYXNzd29yZFwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgIFtjb3B5VGV4dF09ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnBhc3N3b3JkXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgICAgdG9vbHRpcFRleHQ9Int7IFwnZ2F0ZXdheS5jb3B5LXBhc3N3b3JkXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgaWNvbj0iY29udGVudF9jb3B5Ij5cbiAgICAgICAgICAgICAgICA8L3RiLWNvcHktYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5wYXNzd29yZFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDx0Yi1lcnJvciBzdHlsZT0ibWFyZ2luLXRvcDogLTEycHg7IGRpc3BsYXk6IGJsb2NrOyIgZnhGbGV4PSIxMDAiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnR5cGVcJykudmFsdWUgPT09IFwndXNlcm5hbWVQYXNzd29yZFwnIlxuICAgICAgICAgICAgICAgICAgICAgIFtlcnJvcl09ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5XCcpLmhhc0Vycm9yKFwnYXRMZWFzdE9uZVwnKSA/XG4gICAgICAgICAgKFwnZGV2aWNlLmNsaWVudC1pZC1vci11c2VyLW5hbWUtbmVjZXNzYXJ5XCcgfCB0cmFuc2xhdGUpIDogXCdcJyI+PC90Yi1lcnJvcj5cbiAgICAgICAgICAgIDx0Yi1maWxlLWlucHV0XG4gICAgICAgICAgICAgIGZ4RmxleD0iMTAwIlxuICAgICAgICAgICAgICBoaW50PSJ7eyBcJ2dhdGV3YXkuaGludHMuY2EtY2VydFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudHlwZVwnKS52YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFwndGxzXCcpIlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9ImNhQ2VydCJcbiAgICAgICAgICAgICAgbGFiZWw9Int7IFwnc2VjdXJpdHkuY2EtY2VydFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBbYWxsb3dlZEV4dGVuc2lvbnNdPSJcJ3BlbSwgY2VydCwga2V5XCciXG4gICAgICAgICAgICAgIFthY2NlcHRdPSJcJy5wZW0sIGFwcGxpY2F0aW9uL3BlbSwuY2VydCwgYXBwbGljYXRpb24vY2VydCwgLmtleSxhcHBsaWNhdGlvbi9rZXlcJyJcbiAgICAgICAgICAgICAgZHJvcExhYmVsPSJ7eyBcJ2dhdGV3YXkuZHJvcC1maWxlXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgPC90Yi1maWxlLWlucHV0PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5sb2dzLmxvZ3NcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9ImxvZ3MiIGNsYXNzPSJtYXQtY29udGVudCBtYXQtcGFkZGluZyBjb25maWd1cmF0aW9uLWJsb2NrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1wYWRkaW5nLWJvdHRvbSI+XG4gICAgICAgICAgPGRpdiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5sb2dzLmRhdGUtZm9ybWF0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImRhdGVGb3JtYXQiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnbG9ncy5kYXRlRm9ybWF0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLmRhdGUtZm9ybWF0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZGF0ZS1mb3JtXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5sb2ctZm9ybWF0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImxvZ0Zvcm1hdCIgcm93cz0iMiI+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnbG9ncy5sb2dGb3JtYXRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmxvZ3MubG9nLWZvcm1hdC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmxvZy1mb3JtYXRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tcGFkZGluZy1ib3R0b20iIGZvcm1Hcm91cE5hbWU9InJlbW90ZSI+XG4gICAgICAgICAgPGRpdiB0cmFuc2xhdGUgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPmdhdGV3YXkubG9ncy5yZW1vdGU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucmVtb3RlLWxvZ1wnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGNvbG9yPSJwcmltYXJ5IiBmb3JtQ29udHJvbE5hbWU9ImVuYWJsZWQiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5yZW1vdGUtbG9nc1wnICB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5sZXZlbDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJsb2dMZXZlbCI+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGxvZ0xldmVsIG9mIGdhdGV3YXlMb2dMZXZlbCIgW3ZhbHVlXT0ibG9nTGV2ZWwiPnt7IGxvZ0xldmVsIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIiBmb3JtR3JvdXBOYW1lPSJsb2NhbCI+XG4gICAgICAgICAgPGRpdiB0cmFuc2xhdGUgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPmdhdGV3YXkubG9ncy5sb2NhbDwvZGl2PlxuICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGNsYXNzPSJ0b2dnbGUtZ3JvdXAiIFtmb3JtQ29udHJvbF09ImxvZ1NlbGVjdG9yIj5cbiAgICAgICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IGxvZ0NvbmZpZyBvZiBsb2NhbExvZ3NDb25maWdzIiBbdmFsdWVdPSJsb2dDb25maWciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZmlyc3QtY2FwaXRhbCI+e3sgbG9jYWxMb2dzQ29uZmlnVHJhbnNsYXRlTWFwLmdldChsb2dDb25maWcpIH19PC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgIDwvdGItdG9nZ2xlLXNlbGVjdD5cbiAgICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPSJnZXRMb2dGb3JtR3JvdXAobG9nU2VsZWN0b3IudmFsdWUpIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5sZXZlbDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibG9nTGV2ZWwiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbG9nTGV2ZWwgb2YgZ2F0ZXdheUxvZ0xldmVsIiBbdmFsdWVdPSJsb2dMZXZlbCI+e3sgbG9nTGV2ZWwgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5maWxlLXBhdGg8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJmaWxlUGF0aCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2xvZ3MubG9jYWwuXCcgKyBsb2dTZWxlY3Rvci52YWx1ZSArIFwnLmZpbGVQYXRoXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmxvZ3MuZmlsZS1wYXRoLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBzYXZpbmctcGVyaW9kIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5sb2dzLnNhdmluZy1wZXJpb2Q8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InNhdmluZ1RpbWUiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdsb2dzLmxvY2FsLlwnICsgbG9nU2VsZWN0b3IudmFsdWUgKyBcJy5zYXZpbmdUaW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5zYXZpbmctcGVyaW9kLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnbG9ncy5sb2NhbC5cJyArIGxvZ1NlbGVjdG9yLnZhbHVlICsgXCcuc2F2aW5nVGltZVwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLnNhdmluZy1wZXJpb2QtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGhpZGVSZXF1aXJlZE1hcmtlciBzdHlsZT0ibWluLXdpZHRoOiAxMTBweDsgd2lkdGg6IDMwJSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InNhdmluZ1BlcmlvZCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHBlcmlvZCBvZiBsb2dTYXZpbmdQZXJpb2RzIHwga2V5dmFsdWUiIFt2YWx1ZV09InBlcmlvZC5rZXkiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IHBlcmlvZC52YWx1ZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5sb2dzLmJhY2t1cC1jb3VudDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImJhY2t1cENvdW50IiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdsb2dzLmxvY2FsLlwnICsgbG9nU2VsZWN0b3IudmFsdWUgKyBcJy5iYWNrdXBDb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLmJhY2t1cC1jb3VudC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2xvZ3MubG9jYWwuXCcgKyBsb2dTZWxlY3Rvci52YWx1ZSArIFwnLmJhY2t1cENvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLmJhY2t1cC1jb3VudC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5iYWNrdXAtY291bnRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuc3RvcmFnZVwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT0ic3RvcmFnZSIgY2xhc3M9Im1hdC1jb250ZW50IG1hdC1wYWRkaW5nIGNvbmZpZ3VyYXRpb24tYmxvY2siPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIj5cbiAgICAgICAgICA8ZGl2IHRyYW5zbGF0ZSBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSI+Z2F0ZXdheS5zdG9yYWdlPC9kaXY+XG4gICAgICAgICAgPGRpdiB0cmFuc2xhdGUgY2xhc3M9InRiLWZvcm0tcGFuZWwtaGludCI+Z2F0ZXdheS5oaW50cy5zdG9yYWdlPC9kaXY+XG4gICAgICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgY2xhc3M9InRvZ2dsZS1ncm91cCIgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IHN0b3JhZ2VUeXBlIG9mIHN0b3JhZ2VUeXBlcyIgW3ZhbHVlXT0ic3RvcmFnZVR5cGUiPlxuICAgICAgICAgICAgICB7eyBzdG9yYWdlVHlwZXNUcmFuc2xhdGlvbk1hcC5nZXQoc3RvcmFnZVR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtaGludCI+e3sgXCdnYXRld2F5LmhpbnRzLlwnICsgYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS50eXBlXCcpLnZhbHVlIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLnR5cGVcJykudmFsdWUiPlxuICAgICAgICAgICAgPHNlY3Rpb24gKm5nU3dpdGNoQ2FzZT0iU3RvcmFnZVR5cGVzLk1FTU9SWSIgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVhZF9yZWNvcmRzX2NvdW50Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5yZWFkX3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5yZWFkX3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLnJlYWRfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLnJlYWQtcmVjb3JkLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcmFnZS1tYXgtcmVjb3JkczwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWF4X3JlY29yZHNfY291bnQiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMubWF4LXJlY29yZHMtY291bnRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8c2VjdGlvbiAqbmdTd2l0Y2hDYXNlPSJTdG9yYWdlVHlwZXMuRklMRSI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtZGF0YS1mb2xkZXItcGF0aDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YV9mb2xkZXJfcGF0aCIvPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5kYXRhX2ZvbGRlcl9wYXRoXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXQtZm9ybS1maWVsZC1pbmZpeCBwb2ludGVyLWV2ZW50IHN1ZmZpeC1pY29uIiBhcmlhLWhpZGRlbj0iZmFsc2UiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0iaGVscC1pY29uIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5kYXRhLWZvbGRlclwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIGZvcm1Db250cm9sTmFtZT0ibWF4X2ZpbGVfY291bnQiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X2ZpbGVfY291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X2ZpbGVfY291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXMtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tYXhfZmlsZV9jb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXMtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1heC1maWxlLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1heF9yZWFkX3JlY29yZHNfY291bnQiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlYWRfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tYXhfcmVhZF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlYWRfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1heC1yZWFkLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdG9yYWdlLW1heC1maWxlLXJlY29yZHM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIGZvcm1Db250cm9sTmFtZT0ibWF4X3JlY29yZHNfcGVyX2ZpbGUiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlY29yZHNfcGVyX2ZpbGVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tYXhfcmVjb3Jkc19wZXJfZmlsZVwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlY29yZHNfcGVyX2ZpbGVcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1heC1yZWNvcmRzXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8c2VjdGlvbiAqbmdTd2l0Y2hDYXNlPSJTdG9yYWdlVHlwZXMuU1FMSVRFIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcmFnZS1wYXRoPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJkYXRhX2ZpbGVfcGF0aCIvPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5kYXRhX2ZpbGVfcGF0aFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtcGF0aC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmRhdGEtZm9sZGVyXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5tZXNzYWdlcy10dGwtY2hlY2staW4taG91cnM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIGZvcm1Db250cm9sTmFtZT0ibWVzc2FnZXNfdHRsX2NoZWNrX2luX2hvdXJzIi8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9jaGVja19pbl9ob3Vyc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWVzc2FnZXNfdHRsX2NoZWNrX2luX2hvdXJzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9jaGVja19pbl9ob3Vyc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy50dGwtY2hlY2staG91clwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5tZXNzYWdlcy10dGwtaW4tZGF5czwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIGZvcm1Db250cm9sTmFtZT0ibWVzc2FnZXNfdHRsX2luX2RheXMiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9pbl9kYXlzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1lc3NhZ2VzLXR0bC1pbi1kYXlzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9pbl9kYXlzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXNzYWdlcy10dGwtaW4tZGF5cy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWVzc2FnZXNfdHRsX2luX2RheXNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXNzYWdlcy10dGwtaW4tZGF5cy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMudHRsLW1lc3NhZ2VzLWRheVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZ3JwY1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT0iZ3JwYyIgY2xhc3M9Im1hdC1jb250ZW50IG1hdC1wYWRkaW5nIGNvbmZpZ3VyYXRpb24tYmxvY2siPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBjb2xvcj0icHJpbWFyeSIgZm9ybUNvbnRyb2xOYW1lPSJlbmFibGVkIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjXCcgIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDxkaXYgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5wZXJtaXQtd2l0aG91dC1jYWxsc1wnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGNvbG9yPSJwcmltYXJ5IiBmb3JtQ29udHJvbE5hbWU9ImtlZXBhbGl2ZVBlcm1pdFdpdGhvdXRDYWxscyI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5wZXJtaXQtd2l0aG91dC1jYWxsc1wnICB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc2VydmVyLXBvcnQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJzZXJ2ZXJQb3J0IiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5zZXJ2ZXItcG9ydFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLnNlcnZlclBvcnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5zZXJ2ZXJQb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5zZXJ2ZXJQb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LW1heFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5zZXJ2ZXJQb3J0XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmdycGMta2VlcC1hbGl2ZS10aW1lb3V0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ia2VlcEFsaXZlVGltZW91dE1zIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5ncnBjLWtlZXAtYWxpdmUtdGltZW91dFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLmtlZXBBbGl2ZVRpbWVvdXRNc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtdGltZW91dC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5rZWVwQWxpdmVUaW1lb3V0TXNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMta2VlcC1hbGl2ZS10aW1lb3V0LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5rZWVwQWxpdmVUaW1lb3V0TXNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtdGltZW91dC1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmdycGMta2VlcC1hbGl2ZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImtlZXBBbGl2ZVRpbWVNcyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZ3JwYy1rZWVwLWFsaXZlXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMua2VlcEFsaXZlVGltZU1zXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMta2VlcC1hbGl2ZS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5rZWVwQWxpdmVUaW1lTXNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMta2VlcC1hbGl2ZS1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMua2VlcEFsaXZlVGltZU1zXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1rZWVwLWFsaXZlLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWluVGltZUJldHdlZW5QaW5nc01zIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5ncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3NcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5taW5UaW1lQmV0d2VlblBpbmdzTXNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLm1pblRpbWVCZXR3ZWVuUGluZ3NNc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5taW5UaW1lQmV0d2VlblBpbmdzTXNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5ncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGE8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtYXhQaW5nc1dpdGhvdXREYXRhIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5ncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGFcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5tYXhQaW5nc1dpdGhvdXREYXRhXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5tYXhQaW5nc1dpdGhvdXREYXRhXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLm1heFBpbmdzV2l0aG91dERhdGFcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5ncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1pblBpbmdJbnRlcnZhbFdpdGhvdXREYXRhTXMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWluUGluZ0ludGVydmFsV2l0aG91dERhdGFNc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5taW5QaW5nSW50ZXJ2YWxXaXRob3V0RGF0YU1zXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWluUGluZ0ludGVydmFsV2l0aG91dERhdGFNc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5zdGF0aXN0aWNzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy10ZW1wbGF0ZSBtYXRUYWJDb250ZW50PlxuICAgICAgPGRpdiBmb3JtR3JvdXBOYW1lPSJ0aGluZ3Nib2FyZCIgY2xhc3M9Im1hdC1jb250ZW50IG1hdC1wYWRkaW5nIGNvbmZpZ3VyYXRpb24tYmxvY2siPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIiBmb3JtR3JvdXBOYW1lPSJzdGF0aXN0aWNzIj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjb2xvcj0icHJpbWFyeSIgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJlbmFibGUiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3Muc3RhdGlzdGljc1wnICB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3Muc2VuZC1wZXJpb2Q8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InN0YXRzU2VuZFBlcmlvZEluU2Vjb25kcyIgdHlwZT0ibnVtYmVyIiBtaW49IjYwIi8+XG4gICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zdGF0aXN0aWNzLnN0YXRzU2VuZFBlcmlvZEluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3Muc2VuZC1wZXJpb2QtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zdGF0aXN0aWNzLnN0YXRzU2VuZFBlcmlvZEluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnNlbmQtcGVyaW9kLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnN0YXRpc3RpY3Muc3RhdHNTZW5kUGVyaW9kSW5TZWNvbmRzXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnNlbmQtcGVyaW9kLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3MuY29tbWFuZHM8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLWhpbnQiIHRyYW5zbGF0ZT5nYXRld2F5LmhpbnRzLmNvbW1hbmRzPC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBmb3JtR3JvdXBOYW1lPSJzdGF0aXN0aWNzIj5cbiAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9InJvdyIgZm9ybUFycmF5TmFtZT0iY29tbWFuZHMiIGNsYXNzPSJzdGF0aXN0aWNzLWNvbnRhaW5lciJcbiAgICAgICAgICAgICAgICAgKm5nRm9yPSJsZXQgY29tbWFuZENvbnRyb2wgb2YgY29tbWFuZEZvcm1BcnJheSgpLmNvbnRyb2xzOyBsZXQgJGluZGV4ID0gaW5kZXgiPlxuICAgICAgICAgICAgICA8c2VjdGlvbiBbZm9ybUdyb3VwTmFtZV09IiRpbmRleCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCBuby1wYWRkaW5nLWJvdHRvbSBuby1nYXAgY29tbWFuZC1jb250YWluZXIiPlxuICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RhdGlzdGljcy5hdHRyaWJ1dGUtbmFtZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJhdHRyaWJ1dGVPbkdhdGV3YXkiLz5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZENvbnRyb2wuZ2V0KFwnYXR0cmlidXRlT25HYXRld2F5XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmF0dHJpYnV0ZS1uYW1lLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuYXR0cmlidXRlXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3MudGltZW91dDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ0aW1lb3V0IiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb21tYW5kQ29udHJvbC5nZXQoXCd0aW1lb3V0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnRpbWVvdXQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZENvbnRyb2wuZ2V0KFwndGltZW91dFwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MudGltZW91dC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZENvbnRyb2wuZ2V0KFwndGltZW91dFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnRpbWVvdXQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLnRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImNvbW1hbmQiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbW1hbmRDb250cm9sLmdldChcJ2NvbW1hbmRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb21tYW5kQ29udHJvbC5nZXQoXCdjb21tYW5kXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmNvbW1hbmRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9InJlbW92ZUNvbW1hbmRDb250cm9sKCRpbmRleCwgJGV2ZW50KSJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItYm94LWJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPSIhYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucmVtb3RlQ29uZmlndXJhdGlvblwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5yZW1vdmVcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IGZpdC1jb250ZW50OyJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPSIhYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucmVtb3RlQ29uZmlndXJhdGlvblwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iYWRkQ29tbWFuZCgpIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuYWRkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5vdGhlclwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT0idGhpbmdzYm9hcmQiIGNsYXNzPSJtYXQtY29udGVudCBtYXQtcGFkZGluZyBjb25maWd1cmF0aW9uLWJsb2NrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCIgZm9ybUdyb3VwTmFtZT0iY2hlY2tpbmdEZXZpY2VBY3Rpdml0eSJcbiAgICAgICAgICAgICBbY2xhc3Mubm8tcGFkZGluZy1ib3R0b21dPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja2luZ0RldmljZUFjdGl2aXR5LmNoZWNrRGV2aWNlSW5hY3Rpdml0eVwnKS52YWx1ZSI+XG4gICAgICAgICAgPGRpdiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLmNoZWNrLWRldmljZS1hY3Rpdml0eVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGNvbG9yPSJwcmltYXJ5IiBmb3JtQ29udHJvbE5hbWU9ImNoZWNrRGV2aWNlSW5hY3Rpdml0eSI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5jaGVja2luZy1kZXZpY2UtYWN0aXZpdHlcJyAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyJcbiAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5jaGVja0RldmljZUluYWN0aXZpdHlcJykudmFsdWUiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5pbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kczwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJpbmFjdGl2aXR5VGltZW91dFNlY29uZHMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5pbmFjdGl2aXR5VGltZW91dFNlY29uZHNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5pbmFjdGl2aXR5VGltZW91dFNlY29uZHNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja2luZ0RldmljZUFjdGl2aXR5LmluYWN0aXZpdHlUaW1lb3V0U2Vjb25kc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuaW5hY3Rpdml0eS10aW1lb3V0XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBmb3JtQ29udHJvbE5hbWU9ImluYWN0aXZpdHlDaGVja1BlcmlvZFNlY29uZHMiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja2luZ0RldmljZUFjdGl2aXR5LmluYWN0aXZpdHlDaGVja1BlcmlvZFNlY29uZHNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja2luZ0RldmljZUFjdGl2aXR5LmluYWN0aXZpdHlDaGVja1BlcmlvZFNlY29uZHNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LWNoZWNrLXBlcmlvZC1zZWNvbmRzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNraW5nRGV2aWNlQWN0aXZpdHkuaW5hY3Rpdml0eUNoZWNrUGVyaW9kU2Vjb25kc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LWNoZWNrLXBlcmlvZC1zZWNvbmRzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5pbmFjdGl2aXR5LXBlcmlvZFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tcGFkZGluZy1ib3R0b20iPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LmFkdmFuY2VkPC9kaXY+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5taW4tcGFjay1zZW5kLWRlbGF5PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1pblBhY2tTZW5kRGVsYXlNUyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWluUGFja1NlbmREZWxheU1TXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5taW4tcGFjay1zZW5kLWRlbGF5LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1pblBhY2tTZW5kRGVsYXlNU1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1pbi1wYWNrLXNlbmQtZGVsYXktbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWluUGFja1NlbmREZWxheU1TXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1pbi1wYWNrLXNlbmQtZGVsYXktcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1pbmltYWwtcGFjay1kZWxheVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5tcXR0LXFvczwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJxb3MiIHR5cGU9Im51bWJlciIgbWluPSIwIiBtYXg9IjEiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucW9zXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tcXR0LXFvcy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5xb3NcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tcXR0LXFvcy1yYW5nZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5xb3NcJykuaGFzRXJyb3IoXCdtYXhcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tcXR0LXFvcy1yYW5nZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLnFvc1wnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3MuY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImNoZWNrQ29ubmVjdG9yc0NvbmZpZ3VyYXRpb25JblNlY29uZHMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tDb25uZWN0b3JzQ29uZmlndXJhdGlvbkluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5jaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja0Nvbm5lY3RvcnNDb25maWd1cmF0aW9uSW5TZWNvbmRzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5jaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tDb25uZWN0b3JzQ29uZmlndXJhdGlvbkluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbi1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLm1heC1wYXlsb2FkLXNpemUtYnl0ZXM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWF4UGF5bG9hZFNpemVCeXRlcyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5tYXhQYXlsb2FkU2l6ZUJ5dGVzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLm1heC1wYXlsb2FkLXNpemUtYnl0ZXMtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5tYXhQYXlsb2FkU2l6ZUJ5dGVzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5tYXgtcGF5bG9hZC1zaXplLWJ5dGVzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1heFBheWxvYWRTaXplQnl0ZXNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5tYXgtcGF5bG9hZC1zaXplLWJ5dGVzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5tYXgtcGF5bG9hZC1zaXplLWJ5dGVzXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RhdGlzdGljcy5taW4tcGFjay1zaXplLXRvLXNlbmQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWluUGFja1NpemVUb1NlbmQiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWluUGFja1NpemVUb1NlbmRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MubWluLXBhY2stc2l6ZS10by1zZW5kLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWluUGFja1NpemVUb1NlbmRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLm1pbi1wYWNrLXNpemUtdG8tc2VuZC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5taW5QYWNrU2l6ZVRvU2VuZFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLm1pbi1wYWNrLXNpemUtdG8tc2VuZC1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMubWluLXBhY2stc2l6ZS10by1zZW5kXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLXJvd3M6bWluLWNvbnRlbnQgbWlubWF4KGF1dG8sMWZyKSBtaW4tY29udGVudH06aG9zdCAuY29uZmlndXJhdGlvbi1ibG9ja3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxNnB4O21heC1oZWlnaHQ6NzB2aH06aG9zdCAuZGlhbG9nLW1vZGUgLmNvbmZpZ3VyYXRpb24tYmxvY2t7bWF4LWhlaWdodDo2MHZofTpob3N0IC5tYXQtdG9vbGJhcntncmlkLXJvdzoxO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6IzAwMDAwMGRlIWltcG9ydGFudH06aG9zdCAudGFiLWdyb3VwLWJsb2Nre21pbi13aWR0aDowO2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6MDtncmlkLXJvdzoyfTpob3N0IC50b2dnbGUtZ3JvdXB7bWFyZ2luLXJpZ2h0OmF1dG99Omhvc3QgLmZpcnN0LWNhcGl0YWx7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZX06aG9zdCB0ZXh0YXJlYXtyZXNpemU6bm9uZX06aG9zdCAuc2F2aW5nLXBlcmlvZHtmbGV4OjF9Omhvc3QgLnN0YXRpc3RpY3MtY29udGFpbmVye3dpZHRoOjEwMCV9Omhvc3QgLnN0YXRpc3RpY3MtY29udGFpbmVyIC5jb21tYW5kLWNvbnRhaW5lcnt3aWR0aDoxMDAlfTpob3N0IG1hdC1mb3JtLWZpZWxkIG1hdC1lcnJvcntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fTpob3N0IG1hdC1mb3JtLWZpZWxkIG1hdC1lcnJvcjpmaXJzdC1jaGlsZHtkaXNwbGF5OmJsb2NrIWltcG9ydGFudH06aG9zdCA6Om5nLWRlZXAgLnBvaW50ZXItZXZlbnR7cG9pbnRlci1ldmVudHM6YWxsfTpob3N0IDo6bmctZGVlcCAudG9nZ2xlLWdyb3VwIHNwYW57cGFkZGluZzowIDI1cHh9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLWZvcm0tZmllbGQtaWNvbi1zdWZmaXh7Y29sb3I6I2UwZTBlMH06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtZm9ybS1maWVsZC1pY29uLXN1ZmZpeDpob3Zlcntjb2xvcjojOWU5ZTllfTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTpYLkRldmljZVNlcnZpY2V9LHt0eXBlOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9LHt0eXBlOkplLk1hdERpYWxvZ31dLHByb3BEZWNvcmF0b3JzOntkZXZpY2U6W3t0eXBlOmF9XSxkaWFsb2dNb2RlOlt7dHlwZTphfV0saW5pdGlhbENyZWRlbnRpYWxzVXBkYXRlZDpbe3R5cGU6bH1dfX0pO2NsYXNzIFBve2NvbnN0cnVjdG9yKGUpe3RoaXMuZmI9ZSx0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLmFkdmFuY2VkRm9ybUNvbnRyb2w9dGhpcy5mYi5jb250cm9sKCIiKSx0aGlzLmFkdmFuY2VkRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMub25DaGFuZ2UoZSksdGhpcy5vblRvdWNoZWQoKX0pKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMub25DaGFuZ2U9ZX1yZWdpc3Rlck9uVG91Y2hlZChlKXt0aGlzLm9uVG91Y2hlZD1lfXdyaXRlVmFsdWUoZSl7dGhpcy5hZHZhbmNlZEZvcm1Db250cm9sLnJlc2V0KGUse2VtaXRFdmVudDohMX0pfXZhbGlkYXRlKCl7cmV0dXJuIHRoaXMuYWR2YW5jZWRGb3JtQ29udHJvbC52YWxpZD9udWxsOnthZHZhbmNlZEZvcm1Db250cm9sOnt2YWxpZDohMX19fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6UG8sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpQbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLWdhdGV3YXktYWR2YW5jZWQtY29uZmlndXJhdGlvbiIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+UG8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PlBvKSksbXVsdGk6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuXG48dGItanNvbi1vYmplY3QtZWRpdFxuICBmaWxsSGVpZ2h0PSJ0cnVlIlxuICBjbGFzcz0idGItZmxleCBjb25maWctY29udGFpbmVyIlxuICBmeExheW91dD0iY29sdW1uIlxuICBqc29uUmVxdWlyZWRcbiAgbGFiZWw9Int7IFwnZ2F0ZXdheS5jb25maWd1cmF0aW9uXCcgfCB0cmFuc2xhdGUgfX0iXG4gIFtmb3JtQ29udHJvbF09ImFkdmFuY2VkRm9ybUNvbnRyb2wiXG4vPlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC5jb25maWctY29udGFpbmVye2hlaWdodDpjYWxjKDEwMCUgLSA2MHB4KTtwYWRkaW5nOjhweH1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZ0Lkpzb25PYmplY3RFZGl0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi1qc29uLW9iamVjdC1lZGl0IixpbnB1dHM6WyJsYWJlbCIsImRpc2FibGVkIiwiZmlsbEhlaWdodCIsImVkaXRvclN0eWxlIiwic29ydCIsImpzb25SZXF1aXJlZCIsInJlYWRvbmx5Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2wiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV19KX19ZSgiR2F0ZXdheUFkdmFuY2VkQ29uZmlndXJhdGlvbkNvbXBvbmVudCIsUG8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6UG8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktYWR2YW5jZWQtY29uZmlndXJhdGlvbiIsc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILERdLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PlBvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5QbykpLG11bHRpOiEwfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG5cbjx0Yi1qc29uLW9iamVjdC1lZGl0XG4gIGZpbGxIZWlnaHQ9InRydWUiXG4gIGNsYXNzPSJ0Yi1mbGV4IGNvbmZpZy1jb250YWluZXIiXG4gIGZ4TGF5b3V0PSJjb2x1bW4iXG4gIGpzb25SZXF1aXJlZFxuICBsYWJlbD0ie3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSJcbiAgW2Zvcm1Db250cm9sXT0iYWR2YW5jZWRGb3JtQ29udHJvbCJcbi8+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLmNvbmZpZy1jb250YWluZXJ7aGVpZ2h0OmNhbGMoMTAwJSAtIDYwcHgpO3BhZGRpbmc6OHB4fVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9XX0pO2NsYXNzIEdve2NvbnN0cnVjdG9yKGUsdCxuLGEpe3RoaXMuZmI9ZSx0aGlzLmF0dHJpYnV0ZVNlcnZpY2U9dCx0aGlzLmRldmljZVNlcnZpY2U9bix0aGlzLmNkPWEsdGhpcy5Db25maWd1cmF0aW9uTW9kZXM9b24sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5nYXRld2F5Q29uZmlnQXR0cmlidXRlS2V5cz1bImdlbmVyYWxfY29uZmlndXJhdGlvbiIsImdycGNfY29uZmlndXJhdGlvbiIsImxvZ3NfY29uZmlndXJhdGlvbiIsInN0b3JhZ2VfY29uZmlndXJhdGlvbiIsIlJlbW90ZUxvZ2dpbmdMZXZlbCIsIm1vZGUiXSx0aGlzLmdhdGV3YXlDb25maWdHcm91cD10aGlzLmZiLmdyb3VwKHtiYXNpY0NvbmZpZzpbXSxhZHZhbmNlZENvbmZpZzpbXSxtb2RlOltvbi5CQVNJQ119KSx0aGlzLm9ic2VydmVBbGlnbkNvbmZpZ3MoKX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLmZldGNoQ29uZmlnQXR0cmlidXRlKHRoaXMuZGV2aWNlKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1zYXZlQ29uZmlnKCl7Y29uc3R7bW9kZTplLGFkdmFuY2VkQ29uZmlnOnR9PXBlKHRoaXMucmVtb3ZlRW1wdHkodGhpcy5nYXRld2F5Q29uZmlnR3JvdXAudmFsdWUpKSxuPXttb2RlOmUsLi4udH07bi50aGluZ3Nib2FyZC5zdGF0aXN0aWNzLmNvbW1hbmRzPU9iamVjdC52YWx1ZXMobi50aGluZ3Nib2FyZC5zdGF0aXN0aWNzLmNvbW1hbmRzPz9bXSk7Y29uc3QgYT10aGlzLmdlbmVyYXRlQXR0cmlidXRlcyhuKTt0aGlzLmF0dHJpYnV0ZVNlcnZpY2Uuc2F2ZUVudGl0eUF0dHJpYnV0ZXModGhpcy5kZXZpY2UsTC5TSEFSRURfU0NPUEUsYSkucGlwZShVZSgoZT0+dGhpcy51cGRhdGVDcmVkZW50aWFscyhuLnRoaW5nc2JvYXJkLnNlY3VyaXR5KSkpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5kaWFsb2dSZWY/dGhpcy5kaWFsb2dSZWYuY2xvc2UoKToodGhpcy5nYXRld2F5Q29uZmlnR3JvdXAubWFya0FzUHJpc3RpbmUoKSx0aGlzLmNkLmRldGVjdENoYW5nZXMoKSl9KSl9b2JzZXJ2ZUFsaWduQ29uZmlncygpe3RoaXMuZ2F0ZXdheUNvbmZpZ0dyb3VwLmdldCgiYmFzaWNDb25maWciKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57Y29uc3QgdD10aGlzLmdhdGV3YXlDb25maWdHcm91cC5nZXQoImFkdmFuY2VkQ29uZmlnIik7ZWUodC52YWx1ZSxlKXx8dGhpcy5nYXRld2F5Q29uZmlnR3JvdXAuZ2V0KCJtb2RlIikudmFsdWUhPT1vbi5CQVNJQ3x8dC5wYXRjaFZhbHVlKGUse2VtaXRFdmVudDohMX0pfSkpLHRoaXMuZ2F0ZXdheUNvbmZpZ0dyb3VwLmdldCgiYWR2YW5jZWRDb25maWciKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57Y29uc3QgdD10aGlzLmdhdGV3YXlDb25maWdHcm91cC5nZXQoImJhc2ljQ29uZmlnIik7ZWUodC52YWx1ZSxlKXx8dGhpcy5nYXRld2F5Q29uZmlnR3JvdXAuZ2V0KCJtb2RlIikudmFsdWUhPT1vbi5BRFZBTkNFRHx8dC5wYXRjaFZhbHVlKGUse2VtaXRFdmVudDohMX0pfSkpfWdlbmVyYXRlQXR0cmlidXRlcyhlKXtjb25zdCB0PVtdLG49KGUsbik9Pnt0LnB1c2goe2tleTplLHZhbHVlOm59KX0sYT0oZSx0KT0+e3Q9ey4uLnQsdHM6KG5ldyBEYXRlKS5nZXRUaW1lKCl9LG4oZSx0KX07cmV0dXJuIG4oIlJlbW90ZUxvZ2dpbmdMZXZlbCIsZS5sb2dzPy5yZW1vdGU/LmVuYWJsZWQ/ZS5sb2dzLnJlbW90ZS5sb2dMZXZlbDpNdC5OT05FKSxkZWxldGUgZS5jb25uZWN0b3JzLG4oImxvZ3NfY29uZmlndXJhdGlvbiIsdGhpcy5nZW5lcmF0ZUxvZ3NGaWxlKGUubG9ncykpLGEoImdycGNfY29uZmlndXJhdGlvbiIsZS5ncnBjKSxhKCJzdG9yYWdlX2NvbmZpZ3VyYXRpb24iLGUuc3RvcmFnZSksYSgiZ2VuZXJhbF9jb25maWd1cmF0aW9uIixlLnRoaW5nc2JvYXJkKSxuKCJtb2RlIixlLm1vZGUpLHR9dXBkYXRlQ3JlZGVudGlhbHMoZSl7bGV0IHQ9e307c3dpdGNoKGUudHlwZSl7Y2FzZSBWdC5VU0VSTkFNRV9QQVNTV09SRDp0aGlzLnNob3VsZFVwZGF0ZUNyZWRlbnRpYWxzKGUpJiYodD10aGlzLmdlbmVyYXRlTXF0dENyZWRlbnRpYWxzKGUpKTticmVhaztjYXNlIFZ0LkFDQ0VTU19UT0tFTjpjYXNlIFZ0LlRMU19BQ0NFU1NfVE9LRU46dGhpcy5zaG91bGRVcGRhdGVBY2Nlc3NUb2tlbihlKSYmKHQ9e2NyZWRlbnRpYWxzVHlwZTpVLkFDQ0VTU19UT0tFTixjcmVkZW50aWFsc0lkOmUuYWNjZXNzVG9rZW59KX1yZXR1cm4gT2JqZWN0LmtleXModCkubGVuZ3RoP3RoaXMuZGV2aWNlU2VydmljZS5zYXZlRGV2aWNlQ3JlZGVudGlhbHMoey4uLnRoaXMuaW5pdGlhbENyZWRlbnRpYWxzLC4uLnR9KTpJZShudWxsKX1zaG91bGRVcGRhdGVDcmVkZW50aWFscyhlKXtpZih0aGlzLmluaXRpYWxDcmVkZW50aWFscy5jcmVkZW50aWFsc1R5cGUhPT1VLk1RVFRfQkFTSUMpcmV0dXJuITA7Y29uc3QgdD1KU09OLnBhcnNlKHRoaXMuaW5pdGlhbENyZWRlbnRpYWxzLmNyZWRlbnRpYWxzVmFsdWUpO3JldHVybiEodC5jbGllbnRJZD09PWUuY2xpZW50SWQmJnQudXNlck5hbWU9PT1lLnVzZXJuYW1lJiZ0LnBhc3N3b3JkPT09ZS5wYXNzd29yZCl9Z2VuZXJhdGVNcXR0Q3JlZGVudGlhbHMoZSl7Y29uc3R7Y2xpZW50SWQ6dCx1c2VybmFtZTpuLHBhc3N3b3JkOmF9PWUsbz17Li4udCYme2NsaWVudElkOnR9LC4uLm4mJnt1c2VyTmFtZTpufSwuLi5hJiZ7cGFzc3dvcmQ6YX19O3JldHVybntjcmVkZW50aWFsc1R5cGU6VS5NUVRUX0JBU0lDLGNyZWRlbnRpYWxzVmFsdWU6SlNPTi5zdHJpbmdpZnkobyl9fXNob3VsZFVwZGF0ZUFjY2Vzc1Rva2VuKGUpe3JldHVybiB0aGlzLmluaXRpYWxDcmVkZW50aWFscy5jcmVkZW50aWFsc1R5cGUhPT1VLkFDQ0VTU19UT0tFTnx8dGhpcy5pbml0aWFsQ3JlZGVudGlhbHMuY3JlZGVudGlhbHNJZCE9PWUuYWNjZXNzVG9rZW59Y2FuY2VsKCl7dGhpcy5kaWFsb2dSZWYmJnRoaXMuZGlhbG9nUmVmLmNsb3NlKCl9cmVtb3ZlRW1wdHkoZSl7cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhlKS5maWx0ZXIoKChbZSx0XSk9Pm51bGwhPXQpKS5tYXAoKChbZSx0XSk9PltlLHQ9PT1PYmplY3QodCk/dGhpcy5yZW1vdmVFbXB0eSh0KTp0XSkpKX1nZW5lcmF0ZUxvZ3NGaWxlKGUpe2NvbnN0IHQ9e3ZlcnNpb246MSxkaXNhYmxlX2V4aXN0aW5nX2xvZ2dlcnM6ITEsZm9ybWF0dGVyczp7TG9nRm9ybWF0dGVyOntjbGFzczoibG9nZ2luZy5Gb3JtYXR0ZXIiLGZvcm1hdDplLmxvZ0Zvcm1hdCxkYXRlZm10OmUuZGF0ZUZvcm1hdH19LGhhbmRsZXJzOntjb25zb2xlSGFuZGxlcjp7Y2xhc3M6ImxvZ2dpbmcuU3RyZWFtSGFuZGxlciIsZm9ybWF0dGVyOiJMb2dGb3JtYXR0ZXIiLGxldmVsOjAsc3RyZWFtOiJleHQ6Ly9zeXMuc3Rkb3V0In0sZGF0YWJhc2VIYW5kbGVyOntjbGFzczoidGhpbmdzYm9hcmRfZ2F0ZXdheS50Yl91dGlsaXR5LnRiX2hhbmRsZXIuVGltZWRSb3RhdGluZ0ZpbGVIYW5kbGVyIixmb3JtYXR0ZXI6IkxvZ0Zvcm1hdHRlciIsZmlsZW5hbWU6Ii4vbG9ncy9kYXRhYmFzZS5sb2ciLGJhY2t1cENvdW50OjEsZW5jb2Rpbmc6InV0Zi04In19LGxvZ2dlcnM6e2RhdGFiYXNlOntoYW5kbGVyczpbImRhdGFiYXNlSGFuZGxlciIsImNvbnNvbGVIYW5kbGVyIl0sbGV2ZWw6IkRFQlVHIixwcm9wYWdhdGU6ITF9fSxyb290OntsZXZlbDoiRVJST1IiLGhhbmRsZXJzOlsiY29uc29sZUhhbmRsZXIiXX0sdHM6KG5ldyBEYXRlKS5nZXRUaW1lKCl9O3JldHVybiB0aGlzLmFkZExvY2FsTG9nZ2Vycyh0LGUubG9jYWwpLHR9YWRkTG9jYWxMb2dnZXJzKGUsdCl7Zm9yKGNvbnN0IG4gb2YgT2JqZWN0LmtleXModCkpZS5oYW5kbGVyc1tuKyJIYW5kbGVyIl09dGhpcy5jcmVhdGVIYW5kbGVyT2JqKHRbbl0sbiksZS5sb2dnZXJzW25dPXRoaXMuY3JlYXRlTG9nZ2VyT2JqKHRbbl0sbil9Y3JlYXRlSGFuZGxlck9iaihlLHQpe3JldHVybntjbGFzczoidGhpbmdzYm9hcmRfZ2F0ZXdheS50Yl91dGlsaXR5LnRiX2hhbmRsZXIuVGltZWRSb3RhdGluZ0ZpbGVIYW5kbGVyIixmb3JtYXR0ZXI6IkxvZ0Zvcm1hdHRlciIsZmlsZW5hbWU6YCR7ZS5maWxlUGF0aH0vJHt0fS5sb2dgLGJhY2t1cENvdW50OmUuYmFja3VwQ291bnQsaW50ZXJ2YWw6ZS5zYXZpbmdUaW1lLHdoZW46ZS5zYXZpbmdQZXJpb2QsZW5jb2Rpbmc6InV0Zi04In19Y3JlYXRlTG9nZ2VyT2JqKGUsdCl7cmV0dXJue2hhbmRsZXJzOltgJHt0fUhhbmRsZXJgLCJjb25zb2xlSGFuZGxlciJdLGxldmVsOmUubG9nTGV2ZWwscHJvcGFnYXRlOiExfX1mZXRjaENvbmZpZ0F0dHJpYnV0ZShlKXtlLmlkIT09ayYmdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLmdldEVudGl0eUF0dHJpYnV0ZXMoZSxMLkNMSUVOVF9TQ09QRSkucGlwZShfZSgodD0+dC5sZW5ndGg/SWUodCk6dGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLmdldEVudGl0eUF0dHJpYnV0ZXMoZSxMLlNIQVJFRF9TQ09QRSx0aGlzLmdhdGV3YXlDb25maWdBdHRyaWJ1dGVLZXlzKSkpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLnVwZGF0ZUNvbmZpZ3MoZSksdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCl9KSl9dXBkYXRlQ29uZmlncyhlKXtjb25zdCB0PXt0aGluZ3Nib2FyZDp7fSxncnBjOnt9LGxvZ3M6e30sc3RvcmFnZTp7fSxtb2RlOm9uLkJBU0lDfTtlLmZvckVhY2goKGU9Pntzd2l0Y2goZS5rZXkpe2Nhc2UiZ2VuZXJhbF9jb25maWd1cmF0aW9uIjp0LnRoaW5nc2JvYXJkPWUudmFsdWUsdGhpcy51cGRhdGVGb3JtQ29udHJvbHMoZS52YWx1ZSk7YnJlYWs7Y2FzZSJncnBjX2NvbmZpZ3VyYXRpb24iOnQuZ3JwYz1lLnZhbHVlO2JyZWFrO2Nhc2UibG9nc19jb25maWd1cmF0aW9uIjp0LmxvZ3M9dGhpcy5sb2dzVG9PYmooZS52YWx1ZSk7YnJlYWs7Y2FzZSJzdG9yYWdlX2NvbmZpZ3VyYXRpb24iOnQuc3RvcmFnZT1lLnZhbHVlO2JyZWFrO2Nhc2UibW9kZSI6dC5tb2RlPWUudmFsdWU7YnJlYWs7Y2FzZSJSZW1vdGVMb2dnaW5nTGV2ZWwiOnQubG9ncz17Li4udC5sb2dzLHJlbW90ZTp7ZW5hYmxlZDplLnZhbHVlIT09TXQuTk9ORSxsb2dMZXZlbDplLnZhbHVlfX19fSkpLHRoaXMuZ2F0ZXdheUNvbmZpZ0dyb3VwLmdldCgiYmFzaWNDb25maWciKS5zZXRWYWx1ZSh0LHtlbWl0RXZlbnQ6ITF9KSx0aGlzLmdhdGV3YXlDb25maWdHcm91cC5nZXQoImFkdmFuY2VkQ29uZmlnIikuc2V0VmFsdWUodCx7ZW1pdEV2ZW50OiExfSl9dXBkYXRlRm9ybUNvbnRyb2xzKGUpe2NvbnN0e3R5cGU6dCxhY2Nlc3NUb2tlbjpuLC4uLmF9PWUuc2VjdXJpdHk/P3t9O3RoaXMuaW5pdGlhbENyZWRlbnRpYWxzPXtkZXZpY2VJZDp0aGlzLmRldmljZSxjcmVkZW50aWFsc1R5cGU6dCxjcmVkZW50aWFsc0lkOm4sY3JlZGVudGlhbHNWYWx1ZTpKU09OLnN0cmluZ2lmeShhKX19bG9nc1RvT2JqKGUpe2NvbnN0e2Zvcm1hdDp0LGRhdGVmbXQ6bn09ZS5mb3JtYXR0ZXJzLkxvZ0Zvcm1hdHRlcjtyZXR1cm57bG9jYWw6T2JqZWN0LmtleXMoUHQpLnJlZHVjZSgoKHQsbik9Pntjb25zdCBhPWUuaGFuZGxlcnNbYCR7bn1IYW5kbGVyYF18fHt9LG89ZS5sb2dnZXJzW25dfHx7fTtyZXR1cm4gdFtuXT17bG9nTGV2ZWw6by5sZXZlbHx8TXQuSU5GTyxmaWxlUGF0aDphLmZpbGVuYW1lPy5zcGxpdChgLyR7bn1gKVswXXx8Ii4vbG9ncyIsYmFja3VwQ291bnQ6YS5iYWNrdXBDb3VudHx8NyxzYXZpbmdUaW1lOmEuaW50ZXJ2YWx8fDMsc2F2aW5nUGVyaW9kOmEud2hlbnx8RHQuZGF5c30sdH0pLHt9KSxsb2dGb3JtYXQ6dCxkYXRlRm9ybWF0Om59fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6R28sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfSx7dG9rZW46WC5BdHRyaWJ1dGVTZXJ2aWNlfSx7dG9rZW46WC5EZXZpY2VTZXJ2aWNlfSx7dG9rZW46dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6R28sc2VsZWN0b3I6InRiLWdhdGV3YXktY29uZmlndXJhdGlvbiIsaW5wdXRzOntkZXZpY2U6ImRldmljZSIsZGlhbG9nUmVmOiJkaWFsb2dSZWYifSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuXG48ZGl2IFtmb3JtR3JvdXBdPSJnYXRld2F5Q29uZmlnR3JvdXAiIGNsYXNzPSJnYXRld2F5LWNvbmZpZy1jb250YWluZXIiPlxuICA8ZGl2IGNsYXNzPSJjb250ZW50LXdyYXBwZXIiPlxuICAgIDxtYXQtdG9vbGJhciBjb2xvcj0icHJpbWFyeSIgW2NsYXNzLnBhZ2UtaGVhZGVyXT0iIWRpYWxvZ1JlZiI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHNwYWNlLWJldHdlZW4gYWxpZ24tY2VudGVyIj5cbiAgICAgICAgPGgyIHRyYW5zbGF0ZT5nYXRld2F5LmdhdGV3YXktY29uZmlndXJhdGlvbjwvaDI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItYWN0aW9ucyI+XG4gICAgICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgW2NsYXNzLmRpYWxvZy10b2dnbGVdPSIhIWRpYWxvZ1JlZiIgZm9ybUNvbnRyb2xOYW1lPSJtb2RlIiBhcHBlYXJhbmNlPSJ7e2RpYWxvZ1JlZiA/IFwnc3Ryb2tlZFwnIDogXCdmaWxsXCd9fSI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiBbdmFsdWVdPSJDb25maWd1cmF0aW9uTW9kZXMuQkFTSUMiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuYmFzaWNcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gW3ZhbHVlXT0iQ29uZmlndXJhdGlvbk1vZGVzLkFEVkFOQ0VEIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmFkdmFuY2VkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj0iZGlhbG9nUmVmIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0iY2FuY2VsKCkiIHR5cGU9ImJ1dHRvbiI+XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgICA8dGItZ2F0ZXdheS1iYXNpYy1jb25maWd1cmF0aW9uXG4gICAgICAqbmdJZj0iZ2F0ZXdheUNvbmZpZ0dyb3VwLmdldChcJ21vZGVcJykudmFsdWUgPT09IENvbmZpZ3VyYXRpb25Nb2Rlcy5CQVNJQyJcbiAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICBbZGV2aWNlXT0iZGV2aWNlIlxuICAgICAgW2RpYWxvZ01vZGVdPSIhIWRpYWxvZ1JlZiJcbiAgICAgIChpbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkKT0iaW5pdGlhbENyZWRlbnRpYWxzID0gJGV2ZW50IlxuICAgIC8+XG4gICAgPHRiLWdhdGV3YXktYWR2YW5jZWQtY29uZmlndXJhdGlvblxuICAgICAgKm5nSWY9ImdhdGV3YXlDb25maWdHcm91cC5nZXQoXCdtb2RlXCcpLnZhbHVlID09PSBDb25maWd1cmF0aW9uTW9kZXMuQURWQU5DRUQiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9ImFkdmFuY2VkQ29uZmlnIlxuICAgIC8+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJhY3Rpb25zIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAqbmdJZj0iZGlhbG9nUmVmIlxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0iZ2F0ZXdheUNvbmZpZ0dyb3VwLmludmFsaWQgfHwgIWdhdGV3YXlDb25maWdHcm91cC5kaXJ0eSJcbiAgICAgICAgICAgIChjbGljayk9InNhdmVDb25maWcoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5zYXZlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3c6aGlkZGVufTpob3N0IC5wYWdlLWhlYWRlci5tYXQtdG9vbGJhcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMDAwMDBkZSFpbXBvcnRhbnR9Omhvc3QgLmFjdGlvbnN7Z3JpZC1yb3c6MztwYWRkaW5nOjhweCAxNnB4IDhweCA4cHg7ZGlzcGxheTpmbGV4O2dhcDo4cHg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3JpZ2h0OjA7ei1pbmRleDoxO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDoxMDAlfTpob3N0IC5nYXRld2F5LWNvbmZpZy1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59Omhvc3QgLmNvbnRlbnQtd3JhcHBlcntmbGV4OjF9Omhvc3QgLnRvb2xiYXItYWN0aW9uc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5kaWFsb2ctdG9nZ2xlIDo6bmctZGVlcCAubWF0LWJ1dHRvbi10b2dnbGUtYnV0dG9ue2NvbG9yOiNmZmZmZmZiZn1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlkuVHJhbnNsYXRlRGlyZWN0aXZlLHNlbGVjdG9yOiJbdHJhbnNsYXRlXSxbbmd4LXRyYW5zbGF0ZV0iLGlucHV0czpbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZVBhcmFtcyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm50LlRvZ2dsZU9wdGlvbixzZWxlY3RvcjoidGItdG9nZ2xlLW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTphdC5Ub2dnbGVTZWxlY3RDb21wb25lbnQsc2VsZWN0b3I6InRiLXRvZ2dsZS1zZWxlY3QiLGlucHV0czpbImRpc2FibGVkIiwic2VsZWN0TWVkaWFCcmVha3BvaW50IiwiYXBwZWFyYW5jZSIsImRpc2FibGVQYWdpbmF0aW9uIiwiZmlsbEhlaWdodCIsImV4dHJhUGFkZGluZyIsInByaW1hcnlCYWNrZ3JvdW5kIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6RG8sc2VsZWN0b3I6InRiLWdhdGV3YXktYmFzaWMtY29uZmlndXJhdGlvbiIsaW5wdXRzOlsiZGV2aWNlIiwiZGlhbG9nTW9kZSJdLG91dHB1dHM6WyJpbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6UG8sc2VsZWN0b3I6InRiLWdhdGV3YXktYWR2YW5jZWQtY29uZmlndXJhdGlvbiJ9LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV19KX19ZSgiR2F0ZXdheUNvbmZpZ3VyYXRpb25Db21wb25lbnQiLEdvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkdvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1nYXRld2F5LWNvbmZpZ3VyYXRpb24iLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuXG48ZGl2IFtmb3JtR3JvdXBdPSJnYXRld2F5Q29uZmlnR3JvdXAiIGNsYXNzPSJnYXRld2F5LWNvbmZpZy1jb250YWluZXIiPlxuICA8ZGl2IGNsYXNzPSJjb250ZW50LXdyYXBwZXIiPlxuICAgIDxtYXQtdG9vbGJhciBjb2xvcj0icHJpbWFyeSIgW2NsYXNzLnBhZ2UtaGVhZGVyXT0iIWRpYWxvZ1JlZiI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHNwYWNlLWJldHdlZW4gYWxpZ24tY2VudGVyIj5cbiAgICAgICAgPGgyIHRyYW5zbGF0ZT5nYXRld2F5LmdhdGV3YXktY29uZmlndXJhdGlvbjwvaDI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItYWN0aW9ucyI+XG4gICAgICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgW2NsYXNzLmRpYWxvZy10b2dnbGVdPSIhIWRpYWxvZ1JlZiIgZm9ybUNvbnRyb2xOYW1lPSJtb2RlIiBhcHBlYXJhbmNlPSJ7e2RpYWxvZ1JlZiA/IFwnc3Ryb2tlZFwnIDogXCdmaWxsXCd9fSI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiBbdmFsdWVdPSJDb25maWd1cmF0aW9uTW9kZXMuQkFTSUMiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuYmFzaWNcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gW3ZhbHVlXT0iQ29uZmlndXJhdGlvbk1vZGVzLkFEVkFOQ0VEIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmFkdmFuY2VkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj0iZGlhbG9nUmVmIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0iY2FuY2VsKCkiIHR5cGU9ImJ1dHRvbiI+XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgICA8dGItZ2F0ZXdheS1iYXNpYy1jb25maWd1cmF0aW9uXG4gICAgICAqbmdJZj0iZ2F0ZXdheUNvbmZpZ0dyb3VwLmdldChcJ21vZGVcJykudmFsdWUgPT09IENvbmZpZ3VyYXRpb25Nb2Rlcy5CQVNJQyJcbiAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICBbZGV2aWNlXT0iZGV2aWNlIlxuICAgICAgW2RpYWxvZ01vZGVdPSIhIWRpYWxvZ1JlZiJcbiAgICAgIChpbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkKT0iaW5pdGlhbENyZWRlbnRpYWxzID0gJGV2ZW50IlxuICAgIC8+XG4gICAgPHRiLWdhdGV3YXktYWR2YW5jZWQtY29uZmlndXJhdGlvblxuICAgICAgKm5nSWY9ImdhdGV3YXlDb25maWdHcm91cC5nZXQoXCdtb2RlXCcpLnZhbHVlID09PSBDb25maWd1cmF0aW9uTW9kZXMuQURWQU5DRUQiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9ImFkdmFuY2VkQ29uZmlnIlxuICAgIC8+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJhY3Rpb25zIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAqbmdJZj0iZGlhbG9nUmVmIlxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0iZ2F0ZXdheUNvbmZpZ0dyb3VwLmludmFsaWQgfHwgIWdhdGV3YXlDb25maWdHcm91cC5kaXJ0eSJcbiAgICAgICAgICAgIChjbGljayk9InNhdmVDb25maWcoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5zYXZlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3c6aGlkZGVufTpob3N0IC5wYWdlLWhlYWRlci5tYXQtdG9vbGJhcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMDAwMDBkZSFpbXBvcnRhbnR9Omhvc3QgLmFjdGlvbnN7Z3JpZC1yb3c6MztwYWRkaW5nOjhweCAxNnB4IDhweCA4cHg7ZGlzcGxheTpmbGV4O2dhcDo4cHg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3JpZ2h0OjA7ei1pbmRleDoxO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDoxMDAlfTpob3N0IC5nYXRld2F5LWNvbmZpZy1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59Omhvc3QgLmNvbnRlbnQtd3JhcHBlcntmbGV4OjF9Omhvc3QgLnRvb2xiYXItYWN0aW9uc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5kaWFsb2ctdG9nZ2xlIDo6bmctZGVlcCAubWF0LWJ1dHRvbi10b2dnbGUtYnV0dG9ue2NvbG9yOiNmZmZmZmZiZn1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTpYLkF0dHJpYnV0ZVNlcnZpY2V9LHt0eXBlOlguRGV2aWNlU2VydmljZX0se3R5cGU6dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHByb3BEZWNvcmF0b3JzOntkZXZpY2U6W3t0eXBlOmF9XSxkaWFsb2dSZWY6W3t0eXBlOmF9XX19KTt2YXIgT289e2dhdGV3YXk6e2FkZHJlc3M6IkFkZHJlc3MiLCJhZGRyZXNzLXJlcXVpcmVkIjoiQWRkcmVzcyByZXF1aXJlZCIsImFkZC1lbnRyeSI6IkFkZCBjb25maWd1cmF0aW9uIiwiYWRkLWF0dHJpYnV0ZSI6IkFkZCBhdHRyaWJ1dGUiLCJhZGQtYXR0cmlidXRlLXVwZGF0ZSI6IkFkZCBhdHRyaWJ1dGUgdXBkYXRlIiwiYWRkLWtleSI6IkFkZCBrZXkiLCJhZGQtdGltZXNlcmllcyI6IkFkZCB0aW1lIHNlcmllcyIsImFkZC1tYXBwaW5nIjoiQWRkIG1hcHBpbmciLCJhZGQtc2xhdmUiOiJBZGQgU2xhdmUiLGFyZ3VtZW50czoiQXJndW1lbnRzIiwiYWRkLXJwYy1tZXRob2QiOiJBZGQgbWV0aG9kIiwiYWRkLXJwYy1yZXF1ZXN0IjoiQWRkIHJlcXVlc3QiLCJhZGQtdmFsdWUiOiJBZGQgYXJndW1lbnQiLGJhdWRyYXRlOiJCYXVkcmF0ZSIsYnl0ZXNpemU6IkJ5dGVzaXplIiwiZGVsZXRlLXZhbHVlIjoiRGVsZXRlIHZhbHVlIiwiZGVsZXRlLXJwYy1tZXRob2QiOiJEZWxldGUgbWV0aG9kIiwiZGVsZXRlLXJwYy1yZXF1ZXN0IjoiRGVsZXRlIHJlcXVlc3QiLCJkZWxldGUtYXR0cmlidXRlLXVwZGF0ZSI6IkRlbGV0ZSBhdHRyaWJ1dGUgdXBkYXRlIixhZHZhbmNlZDoiQWR2YW5jZWQiLCJhZHZhbmNlZC1jb25uZWN0aW9uLXNldHRpbmdzIjoiQWR2YW5jZWQgY29ubmVjdGlvbiBzZXR0aW5ncyIsYXR0cmlidXRlczoiQXR0cmlidXRlcyIsImF0dHJpYnV0ZS11cGRhdGVzIjoiQXR0cmlidXRlIHVwZGF0ZXMiLCJhdHRyaWJ1dGUtZmlsdGVyIjoiQXR0cmlidXRlIGZpbHRlciIsImF0dHJpYnV0ZS1maWx0ZXItaGludCI6IkZpbHRlciBmb3IgaW5jb21pbmcgYXR0cmlidXRlIG5hbWUgZnJvbSBwbGF0Zm9ybSwgc3VwcG9ydHMgcmVndWxhciBleHByZXNzaW9uLiIsImF0dHJpYnV0ZS1maWx0ZXItcmVxdWlyZWQiOiJBdHRyaWJ1dGUgZmlsdGVyIHJlcXVpcmVkLiIsImF0dHJpYnV0ZS1uYW1lLWV4cHJlc3Npb24iOiJBdHRyaWJ1dGUgbmFtZSBleHByZXNzaW9uIiwiYXR0cmlidXRlLW5hbWUtZXhwcmVzc2lvbi1yZXF1aXJlZCI6IkF0dHJpYnV0ZSBuYW1lIGV4cHJlc3Npb24gcmVxdWlyZWQuIiwiYXR0cmlidXRlLW5hbWUtZXhwcmVzc2lvbi1oaW50IjoiSGludCBmb3IgQXR0cmlidXRlIG5hbWUgZXhwcmVzc2lvbiIsYmFzaWM6IkJhc2ljIiwiYnl0ZS1vcmRlciI6IkJ5dGUgb3JkZXIiLCJ3b3JkLW9yZGVyIjoiV29yZCBvcmRlciIsYnJva2VyOntjb25uZWN0aW9uOiJDb25uZWN0aW9uIHRvIGJyb2tlciIsbmFtZToiQnJva2VyIG5hbWUiLCJuYW1lLXJlcXVpcmVkIjoiQnJva2VyIG5hbWUgcmVxdWlyZWQuIiwic2VjdXJpdHktdHlwZXMiOnthbm9ueW1vdXM6IkFub255bW91cyIsYmFzaWM6IkJhc2ljIixjZXJ0aWZpY2F0ZXM6IkNlcnRpZmljYXRlcyJ9fSwiQ0EtY2VydGlmaWNhdGUtcGF0aCI6IlBhdGggdG8gQ0EgY2VydGlmaWNhdGUgZmlsZSIsInBhdGgtdG8tQ0EtY2VydC1yZXF1aXJlZCI6IlBhdGggdG8gQ0EgY2VydGlmaWNhdGUgZmlsZSBpcyByZXF1aXJlZC4iLCJjaGFuZ2UtY29ubmVjdG9yLXRpdGxlIjoiQ29uZmlybSBjb25uZWN0b3IgY2hhbmdlIiwiY2hhbmdlLWNvbm5lY3Rvci10ZXh0IjoiU3dpdGNoaW5nIGNvbm5lY3RvcnMgd2lsbCBkaXNjYXJkIGFueSB1bnNhdmVkIGNoYW5nZXMuIENvbnRpbnVlPyIsImNoZWNraW5nLWRldmljZS1hY3Rpdml0eSI6IkNoZWNraW5nIGRldmljZSBhY3Rpdml0eSIsY29tbWFuZDoiRG9ja2VyIGNvbW1hbmRzIiwiY29tbWFuZC1jb3BpZWQtbWVzc2FnZSI6IkRvY2tlciBjb21tYW5kIGhhcyBiZWVuIGNvcGllZCB0byBjbGlwYm9hcmQiLGNvbmZpZ3VyYXRpb246IkNvbmZpZ3VyYXRpb24iLCJhZGQtY29ubmVjdG9yIjoiQWRkIGNvbm5lY3RvciIsImNvbm5lY3Rvci1hZGQiOiJBZGQgbmV3IGNvbm5lY3RvciIsImNvbm5lY3Rvci1lbmFibGVkIjoiRW5hYmxlIGNvbm5lY3RvciIsImNvbm5lY3Rvci1uYW1lIjoiQ29ubmVjdG9yIG5hbWUiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6IkNvbm5lY3RvciBuYW1lIGlzIHJlcXVpcmVkLiIsImNvbm5lY3Rvci10eXBlIjoiQ29ubmVjdG9yIHR5cGUiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IkNvbm5lY3RvciB0eXBlIGlzIHJlcXVpcmVkLiIsY29ubmVjdG9yczoiQ29ubmVjdG9ycyIsImNvbm5lY3RvcnMtY29uZmlnIjoiQ29ubmVjdG9ycyBjb25maWd1cmF0aW9uIiwiY29ubmVjdG9ycy10YWJsZS1lbmFibGVkIjoiRW5hYmxlZCIsImNvbm5lY3RvcnMtdGFibGUtbmFtZSI6Ik5hbWUiLCJjb25uZWN0b3JzLXRhYmxlLXR5cGUiOiJUeXBlIiwiY29ubmVjdG9ycy10YWJsZS1zdGF0dXMiOiJTdGF0dXMiLCJjb25uZWN0b3JzLXRhYmxlLWFjdGlvbnMiOiJBY3Rpb25zIiwiY29ubmVjdG9ycy10YWJsZS1rZXkiOiJLZXkiLCJjb25uZWN0b3JzLXRhYmxlLWNsYXNzIjoiQ2xhc3MiLCJjb25uZWN0aW9uLXRpbWVvdXQiOiJDb25uZWN0aW9uIHRpbWVvdXQgKHMpIiwiY29ubmVjdC1hdHRlbXB0LXRpbWUiOiJDb25uZWN0IGF0dGVtcHQgdGltZSAobXMpIiwiY29ubmVjdC1hdHRlbXB0LWNvdW50IjoiQ29ubmVjdCBhdHRlbXB0IGNvdW50IiwiY29weS11c2VybmFtZSI6IkNvcHkgdXNlcm5hbWUiLCJjb3B5LXBhc3N3b3JkIjoiQ29weSBwYXNzd29yZCIsImNvcHktY2xpZW50LWlkIjoiQ29weSBjbGllbnQgSUQiLCJjb25uZWN0b3ItY3JlYXRlZCI6IkNvbm5lY3RvciBjcmVhdGVkIiwiY29ubmVjdG9yLXVwZGF0ZWQiOiJDb25uZWN0b3IgdXBkYXRlZCIsInJwYy1jb21tYW5kLXNhdmUtdGVtcGxhdGUiOiJTYXZlIFRlbXBsYXRlIiwicnBjLWNvbW1hbmQtc2VuZCI6IlNlbmQiLCJycGMtY29tbWFuZC1yZXN1bHQiOiJSZXNwb25zZSIsInJwYy1jb21tYW5kLWVkaXQtcGFyYW1zIjoiRWRpdCBwYXJhbWV0ZXJzIiwiZ2F0ZXdheS1jb25maWd1cmF0aW9uIjoiR2VuZXJhbCBDb25maWd1cmF0aW9uIiwiZG9ja2VyLWxhYmVsIjoiVXNlIHRoZSBmb2xsb3dpbmcgaW5zdHJ1Y3Rpb24gdG8gcnVuIElvVCBHYXRld2F5IGluIERvY2tlciBjb21wb3NlIHdpdGggY3JlZGVudGlhbHMgZm9yIHNlbGVjdGVkIGRldmljZSIsImluc3RhbGwtZG9ja2VyLWNvbXBvc2UiOiJVc2UgdGhlIGluc3RydWN0aW9ucyB0byBkb3dubG9hZCwgaW5zdGFsbCBhbmQgc2V0dXAgZG9ja2VyIGNvbXBvc2UiLCJkZXZpY2UtaW5mby1zZXR0aW5ncyI6IkRldmljZSBpbmZvIHNldHRpbmdzIiwiZGV2aWNlLWluZm8iOnsiZW50aXR5LWZpZWxkIjoiRW50aXR5IGZpZWxkIixzb3VyY2U6IlNvdXJjZSIsZXhwcmVzc2lvbjoiVmFsdWUgLyBFeHByZXNzaW9uIiwiZXhwcmVzc2lvbi1oaW50IjoiU2hvdyBoZWxwIixuYW1lOiJOYW1lIiwicHJvZmlsZS1uYW1lIjoiUHJvZmlsZSBuYW1lIiwiZGV2aWNlLW5hbWUtZXhwcmVzc2lvbiI6IkRldmljZSBuYW1lIGV4cHJlc3Npb24iLCJkZXZpY2UtbmFtZS1leHByZXNzaW9uLXJlcXVpcmVkIjoiRGV2aWNlIG5hbWUgZXhwcmVzc2lvbiBpcyByZXF1aXJlZC4iLCJkZXZpY2UtcHJvZmlsZS1leHByZXNzaW9uLXJlcXVpcmVkIjoiRGV2aWNlIHByb2ZpbGUgZXhwcmVzc2lvbiBpcyByZXF1aXJlZC4ifSwiZGV2aWNlLW5hbWUtZmlsdGVyIjoiRGV2aWNlIG5hbWUgZmlsdGVyIiwiZGV2aWNlLW5hbWUtZmlsdGVyLWhpbnQiOiJUaGlzIGZpZWxkIHN1cHBvcnRzIFJlZ3VsYXIgZXhwcmVzc2lvbnMgdG8gZmlsdGVyIGluY29taW5nIGRhdGEgYnkgZGV2aWNlIG5hbWUuIiwiZGV2aWNlLW5hbWUtZmlsdGVyLXJlcXVpcmVkIjoiRGV2aWNlIG5hbWUgZmlsdGVyIGlzIHJlcXVpcmVkLiIsZGV0YWlsczoiRGV0YWlscyIsImRlbGV0ZS1tYXBwaW5nLXRpdGxlIjoiRGVsZXRlIG1hcHBpbmc/IiwiZGVsZXRlLXNsYXZlLXRpdGxlIjoiRGVsZXRlIHNsYXZlPyIsZGl2aWRlcjoiRGl2aWRlciIsImRvd25sb2FkLWNvbmZpZ3VyYXRpb24tZmlsZSI6IkRvd25sb2FkIGNvbmZpZ3VyYXRpb24gZmlsZSIsImRvd25sb2FkLWRvY2tlci1jb21wb3NlIjoiRG93bmxvYWQgZG9ja2VyLWNvbXBvc2UueW1sIGZvciB5b3VyIGdhdGV3YXkiLCJlbmFibGUtcmVtb3RlLWxvZ2dpbmciOiJFbmFibGUgcmVtb3RlIGxvZ2dpbmciLCJlbGxpcHNpcy1jaGlwcy10ZXh0IjoiKyB7e2NvdW50fX0gbW9yZSIsImxhdW5jaC1nYXRld2F5IjoiTGF1bmNoIGdhdGV3YXkiLCJsYXVuY2gtY29tbWFuZCI6IkxhdW5jaCBjb21tYW5kIiwibGF1bmNoLWRvY2tlci1jb21wb3NlIjoiU3RhcnQgdGhlIGdhdGV3YXkgdXNpbmcgdGhlIGZvbGxvd2luZyBjb21tYW5kIGluIHRoZSB0ZXJtaW5hbCBmcm9tIGZvbGRlciB3aXRoIGRvY2tlci1jb21wb3NlLnltbCBmaWxlIiwibG9ncy1jb25maWd1cmF0aW9uIjoiTG9ncyBjb25maWd1cmF0aW9uIiwiY3JlYXRlLW5ldy1nYXRld2F5IjoiQ3JlYXRlIGEgbmV3IGdhdGV3YXkiLCJjcmVhdGUtbmV3LWdhdGV3YXktdGV4dCI6IkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCBjcmVhdGUgYSBuZXcgZ2F0ZXdheSB3aXRoIG5hbWU6ICd7e2dhdGV3YXlOYW1lfX0nPyIsImNyZWF0ZWQtdGltZSI6IkNyZWF0ZWQgdGltZSIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1oZWFkZXIiOiJDb25maWd1cmF0aW9ucyB3aWxsIGJlIGRlbGV0ZWQiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctYm9keSI6IlR1cm5pbmcgb2ZmIFJlbW90ZSBDb25maWd1cmF0aW9uIGlzIHBvc3NpYmxlIG9ubHkgaWYgdGhlcmUgaXMgcGh5c2ljYWwgYWNjZXNzIHRvIHRoZSBHYXRld2F5LiBBbGwgcHJldmlvdXMgY29uZmlndXJhdGlvbnMgd2lsbCBiZSBkZWxldGVkLjxicj48YnI+IFxuVG8gdHVybiBvZmYgY29uZmlndXJhdGlvbiwgZW50ZXIgZ2F0ZXdheSBuYW1lIGJlbG93IiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0IjoiR2F0ZXdheSBuYW1lIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0LXJlcXVpcmVkIjoiR2F0ZXdheSBuYW1lIGlzIG1hbmRhdG9yeSIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1jb25maXJtIjoiVHVybiBPZmYiLCJjb25uZWN0b3ItZHVwbGljYXRlLW5hbWUiOiJDb25uZWN0b3Igd2l0aCBzdWNoIG5hbWUgYWxyZWFkeSBleGlzdHMuIiwiY29ubmVjdG9yLXNpZGUiOiJDb25uZWN0b3Igc2lkZSIsInBheWxvYWQtdHlwZSI6IlBheWxvYWQgdHlwZSIsInBsYXRmb3JtLXNpZGUiOiJQbGF0Zm9ybSBzaWRlIixKU09OOiJKU09OIiwiSlNPTi1oaW50IjoiQ29udmVydGVyIGZvciB0aGlzIHBheWxvYWQgdHlwZSBwcm9jZXNzZXMgTVFUVCBtZXNzYWdlcyBpbiBKU09OIGZvcm1hdC4gSXQgdXNlcyBKU09OIFBhdGggZXhwcmVzc2lvbnMgdG8gZXh0cmFjdCB2aXRhbCBkZXRhaWxzIHN1Y2ggYXMgZGV2aWNlIG5hbWVzLCBkZXZpY2UgcHJvZmlsZSBuYW1lcywgYXR0cmlidXRlcywgYW5kIHRpbWUgc2VyaWVzIGZyb20gdGhlIG1lc3NhZ2UuIEFuZCByZWd1bGFyIGV4cHJlc3Npb25zIHRvIGdldCBkZXZpY2UgZGV0YWlscyBmcm9tIHRvcGljcy4iLGJ5dGVzOiJCeXRlcyIsImJ5dGVzLWhpbnQiOiJDb252ZXJ0ZXIgZm9yIHRoaXMgcGF5bG9hZCB0eXBlIGRlc2lnbmVkIGZvciBiaW5hcnkgTVFUVCBwYXlsb2FkcywgdGhpcyBjb252ZXJ0ZXIgZGlyZWN0bHkgaW50ZXJwcmV0cyBiaW5hcnkgZGF0YSB0byByZXRyaWV2ZSBkZXZpY2UgbmFtZXMgYW5kIGRldmljZSBwcm9maWxlIG5hbWVzLCBhbG9uZyB3aXRoIGF0dHJpYnV0ZXMgYW5kIHRpbWUgc2VyaWVzLCB1c2luZyBzcGVjaWZpYyBieXRlIHBvc2l0aW9ucyBmb3IgZGF0YSBleHRyYWN0aW9uLiIsY3VzdG9tOiJDdXN0b20iLCJjdXN0b20taGludCI6IlRoaXMgb3B0aW9uIGFsbG93cyB5b3UgdG8gdXNlIGEgY3VzdG9tIGNvbnZlcnRlciBmb3Igc3BlY2lmaWMgZGF0YSB0YXNrcy4gWW91IG5lZWQgdG8gYWRkIHlvdXIgY3VzdG9tIGNvbnZlcnRlciB0byB0aGUgZXh0ZW5zaW9uIGZvbGRlciBhbmQgZW50ZXIgaXRzIGNsYXNzIG5hbWUgaW4gdGhlIFVJIHNldHRpbmdzLiBBbnkga2V5cyB5b3UgcHJvdmlkZSB3aWxsIGJlIHNlbnQgYXMgY29uZmlndXJhdGlvbiB0byB5b3VyIGN1c3RvbSBjb252ZXJ0ZXIuIiwiY2xpZW50LWNlcnQtcGF0aCI6IlBhdGggdG8gY2xpZW50IGNlcnRpZmljYXRlIGZpbGUiLCJwYXRoLXRvLWNsaWVudC1jZXJ0LXJlcXVpcmVkIjoiUGF0aCB0byBjbGllbnQgY2VydGlmaWNhdGUgZmlsZSBpcyByZXF1aXJlZC4iLCJjbGllbnQtaWQiOiJDbGllbnQgSUQiLCJkYXRhLWNvbnZlcnNpb24iOiJEYXRhIGNvbnZlcnNpb24iLCJkYXRhLW1hcHBpbmciOiJEYXRhIG1hcHBpbmciLCJkYXRhLW1hcHBpbmctaGludCI6IkRhdGEgbWFwcGluZyBwcm92aWRlcyB0aGUgY2FwYWJpbGl0eSB0byBwYXJzZSBhbmQgY29udmVydCB0aGUgZGF0YSByZWNlaXZlZCBmcm9tIGEgTVFUVCBjbGllbnQgaW4gaW5jb21pbmcgbWVzc2FnZXMgaW50byBzcGVjaWZpYyBhdHRyaWJ1dGVzIGFuZCB0aW1lIHNlcmllcyBkYXRhIGtleXMuIiwib3BjdWEtZGF0YS1tYXBwaW5nLWhpbnQiOiJEYXRhIG1hcHBpbmcgcHJvdmlkZXMgdGhlIGNhcGFiaWxpdHkgdG8gcGFyc2UgYW5kIGNvbnZlcnQgdGhlIGRhdGEgcmVjZWl2ZWQgZnJvbSBhIE9QQ1VBIHNlcnZlciBpbnRvIHNwZWNpZmljIGRhdGEga2V5cy4iLGRlbGV0ZToiRGVsZXRlIGNvbmZpZ3VyYXRpb24iLCJkZWxldGUtYXR0cmlidXRlIjoiRGVsZXRlIGF0dHJpYnV0ZSIsImRlbGV0ZS1rZXkiOiJEZWxldGUga2V5IiwiZGVsZXRlLXRpbWVzZXJpZXMiOiJEZWxldGUgdGltZSBzZXJpZXMiLGRlZmF1bHQ6IkRlZmF1bHQiLCJkZXZpY2Utbm9kZSI6IkRldmljZSBub2RlIiwiZGV2aWNlLW5vZGUtcmVxdWlyZWQiOiJEZXZpY2Ugbm9kZSByZXF1aXJlZC4iLCJkZXZpY2Utbm9kZS1oaW50IjoiUGF0aCBvciBpZGVudGlmaWVyIGZvciBkZXZpY2Ugbm9kZSBvbiBPUEMgVUEgc2VydmVyLiBSZWxhdGl2ZSBwYXRocyBmcm9tIGl0IGZvciBhdHRyaWJ1dGVzIGFuZCB0aW1lIHNlcmllcyBjYW4gYmUgdXNlZC4iLCJkZXZpY2UtbmFtZSI6IkRldmljZSBuYW1lIiwiZGV2aWNlLXByb2ZpbGUtbGFiZWwiOiJEZXZpY2UgcHJvZmlsZSIsImRldmljZS1uYW1lLXJlcXVpcmVkIjoiRGV2aWNlIG5hbWUgcmVxdWlyZWQiLCJkZXZpY2UtcHJvZmlsZS1yZXF1aXJlZCI6IkRldmljZSBwcm9maWxlIHJlcXVpcmVkIiwiZG93bmxvYWQtdGlwIjoiRG93bmxvYWQgY29uZmlndXJhdGlvbiBmaWxlIiwiZHJvcC1maWxlIjoiRHJvcCBmaWxlIGhlcmUgb3IiLGVuYWJsZToiRW5hYmxlIiwiZW5hYmxlLXN1YnNjcmlwdGlvbiI6IkVuYWJsZSBzdWJzY3JpcHRpb24iLGV4dGVuc2lvbjoiRXh0ZW5zaW9uIiwiZXh0ZW5zaW9uLWhpbnQiOiJQdXQgeW91ciBjb252ZXJ0ZXIgY2xhc3NuYW1lIGluIHRoZSBmaWVsZC4gQ3VzdG9tIGNvbnZlcnRlciB3aXRoIHN1Y2ggY2xhc3Mgc2hvdWxkIGJlIGluIGV4dGVuc2lvbi9tcXR0IGZvbGRlci4iLCJleHRlbnNpb24tcmVxdWlyZWQiOiJFeHRlbnNpb24gaXMgcmVxdWlyZWQuIiwiZXh0ZW5zaW9uLWNvbmZpZ3VyYXRpb24iOiJFeHRlbnNpb24gY29uZmlndXJhdGlvbiIsImV4dGVuc2lvbi1jb25maWd1cmF0aW9uLWhpbnQiOiJDb25maWd1cmF0aW9uIGZvciBjb252ZXJ0b3IiLCJmaWxsLWNvbm5lY3Rvci1kZWZhdWx0cyI6IkZpbGwgY29uZmlndXJhdGlvbiB3aXRoIGRlZmF1bHQgdmFsdWVzIiwiZmlsbC1jb25uZWN0b3ItZGVmYXVsdHMtaGludCI6IlRoaXMgcHJvcGVydHkgYWxsb3dzIHRvIGZpbGwgY29ubmVjdG9yIGNvbmZpZ3VyYXRpb24gd2l0aCBkZWZhdWx0IHZhbHVlcyBvbiBpdCdzIGNyZWF0aW9uLiIsImZyb20tZGV2aWNlLXJlcXVlc3Qtc2V0dGluZ3MiOiJJbnB1dCByZXF1ZXN0IHBhcnNpbmciLCJmcm9tLWRldmljZS1yZXF1ZXN0LXNldHRpbmdzLWhpbnQiOiJUaGVzZSBmaWVsZHMgc3VwcG9ydCBKU09OUGF0aCBleHByZXNzaW9ucyB0byBleHRyYWN0IGEgbmFtZSBmcm9tIGluY29taW5nIG1lc3NhZ2UuIiwiZnVuY3Rpb24tY29kZSI6IkZ1bmN0aW9uIGNvZGUiLCJmdW5jdGlvbi1jb2RlcyI6eyJyZWFkLWNvaWxzIjoiMDEgLSBSZWFkIENvaWxzIiwicmVhZC1kaXNjcmV0ZS1pbnB1dHMiOiIwMiAtIFJlYWQgRGlzY3JldGUgSW5wdXRzIiwicmVhZC1tdWx0aXBsZS1ob2xkaW5nLXJlZ2lzdGVycyI6IjAzIC0gUmVhZCBNdWx0aXBsZSBIb2xkaW5nIFJlZ2lzdGVycyIsInJlYWQtaW5wdXQtcmVnaXN0ZXJzIjoiMDQgLSBSZWFkIElucHV0IFJlZ2lzdGVycyIsIndyaXRlLXNpbmdsZS1jb2lsIjoiMDUgLSBXcml0ZSBTaW5nbGUgQ29pbCIsIndyaXRlLXNpbmdsZS1ob2xkaW5nLXJlZ2lzdGVyIjoiMDYgLSBXcml0ZSBTaW5nbGUgSG9sZGluZyBSZWdpc3RlciIsIndyaXRlLW11bHRpcGxlLWNvaWxzIjoiMTUgLSBXcml0ZSBNdWx0aXBsZSBDb2lscyIsIndyaXRlLW11bHRpcGxlLWhvbGRpbmctcmVnaXN0ZXJzIjoiMTYgLSBXcml0ZSBNdWx0aXBsZSBIb2xkaW5nIFJlZ2lzdGVycyJ9LCJ0by1kZXZpY2UtcmVzcG9uc2Utc2V0dGluZ3MiOiJPdXRwdXQgcmVxdWVzdCBwcm9jZXNzaW5nIiwidG8tZGV2aWNlLXJlc3BvbnNlLXNldHRpbmdzLWhpbnQiOiJGb3IgdGhlc2UgZmllbGRzIHlvdSBjYW4gdXNlIHRoZSBmb2xsb3dpbmcgdmFyaWFibGVzIGFuZCB0aGV5IHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhY3R1YWwgdmFsdWVzOiAke2RldmljZU5hbWV9LCAke2F0dHJpYnV0ZUtleX0sICR7YXR0cmlidXRlVmFsdWV9IixnYXRld2F5OiJHYXRld2F5IiwiZ2F0ZXdheS1leGlzdHMiOiJEZXZpY2Ugd2l0aCBzYW1lIG5hbWUgaXMgYWxyZWFkeSBleGlzdHMuIiwiZ2F0ZXdheS1uYW1lIjoiR2F0ZXdheSBuYW1lIiwiZ2F0ZXdheS1uYW1lLXJlcXVpcmVkIjoiR2F0ZXdheSBuYW1lIGlzIHJlcXVpcmVkLiIsImdhdGV3YXktc2F2ZWQiOiJHYXRld2F5IGNvbmZpZ3VyYXRpb24gc3VjY2Vzc2Z1bGx5IHNhdmVkLiIsImdlbmVyYXRlLWNsaWVudC1pZCI6IkdlbmVyYXRlIENsaWVudCBJRCIsZ3JwYzoiR1JQQyIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0IjoiS2VlcCBhbGl2ZSB0aW1lb3V0IChpbiBtcykiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dC1yZXF1aXJlZCI6IktlZXAgYWxpdmUgdGltZW91dCBpcyByZXF1aXJlZCIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LW1pbiI6IktlZXAgYWxpdmUgdGltZW91dCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcGF0dGVybiI6IktlZXAgYWxpdmUgdGltZW91dCBpcyBub3QgdmFsaWQiLCJncnBjLWtlZXAtYWxpdmUiOiJLZWVwIGFsaXZlIChpbiBtcykiLCJncnBjLWtlZXAtYWxpdmUtcmVxdWlyZWQiOiJLZWVwIGFsaXZlIGlzIHJlcXVpcmVkIiwiZ3JwYy1rZWVwLWFsaXZlLW1pbiI6IktlZXAgYWxpdmUgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMta2VlcC1hbGl2ZS1wYXR0ZXJuIjoiS2VlcCBhbGl2ZSBpcyBub3QgdmFsaWQiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MiOiJNaW4gdGltZSBiZXR3ZWVuIHBpbmdzIChpbiBtcykiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcmVxdWlyZWQiOiJNaW4gdGltZSBiZXR3ZWVuIHBpbmdzIGlzIHJlcXVpcmVkIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLW1pbiI6Ik1pbiB0aW1lIGJldHdlZW4gcGluZ3MgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1wYXR0ZXJuIjoiTWluIHRpbWUgYmV0d2VlbiBwaW5ncyBpcyBub3QgdmFsaWQiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YSI6Ik1pbiBwaW5nIGludGVydmFsIHdpdGhvdXQgZGF0YSAoaW4gbXMpIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcmVxdWlyZWQiOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgaXMgcmVxdWlyZWQiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1taW4iOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgaXMgbm90IHZhbGlkIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoiTWF4IHBpbmdzIHdpdGhvdXQgZGF0YSIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6Ik1heCBwaW5ncyB3aXRob3V0IGRhdGEgaXMgcmVxdWlyZWQiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtbWluIjoiTWF4IHBpbmdzIHdpdGhvdXQgZGF0YSBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiJNYXggcGluZ3Mgd2l0aG91dCBkYXRhIGlzIG5vdCB2YWxpZCIsaW5mbzoiSW5mbyIsaWRlbnRpdHk6IklkZW50aXR5IiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcyI6IkluYWN0aXZpdHkgY2hlY2sgcGVyaW9kIChpbiBzZWMpIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1yZXF1aXJlZCI6IkluYWN0aXZpdHkgY2hlY2sgcGVyaW9kIGlzIHJlcXVpcmVkIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1taW4iOiJJbmFjdGl2aXR5IGNoZWNrIHBlcmlvZCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1wYXR0ZXJuIjoiSW5hY3Rpdml0eSBjaGVjayBwZXJpb2QgaXMgbm90IHZhbGlkIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMiOiJJbmFjdGl2aXR5IHRpbWVvdXQgKGluIHNlYykiLCJpbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1yZXF1aXJlZCI6IkluYWN0aXZpdHkgdGltZW91dCBpcyByZXF1aXJlZCIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLW1pbiI6IkluYWN0aXZpdHkgdGltZW91dCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcGF0dGVybiI6IkluYWN0aXZpdHkgdGltZW91dCBpcyBub3QgdmFsaWQiLCJ1bml0LWlkIjoiVW5pdCBJRCIsaG9zdDoiSG9zdCIsImhvc3QtcmVxdWlyZWQiOiJIb3N0IGlzIHJlcXVpcmVkLiIsaG9sZGluZ19yZWdpc3RlcnM6IkhvbGRpbmcgcmVnaXN0ZXJzIixjb2lsc19pbml0aWFsaXplcjoiQ29pbHMgaW5pdGlhbGl6ZXIiLGlucHV0X3JlZ2lzdGVyczoiSW5wdXQgcmVnaXN0ZXJzIixkaXNjcmV0ZV9pbnB1dHM6IkRpc2NyZXRlIGlucHV0cyIsImpzb24tcGFyc2UiOiJOb3QgdmFsaWQgSlNPTi4iLCJqc29uLXJlcXVpcmVkIjoiRmllbGQgY2Fubm90IGJlIGVtcHR5LiIsIkpTT05QYXRoLWhpbnQiOiJUaGlzIGZpZWxkIHN1cHBvcnRzIGNvbnN0YW50cyBhbmQgSlNPTlBhdGggZXhwcmVzc2lvbnMuIixsb2dzOntsb2dzOiJMb2dzIixkYXlzOiJkYXlzIixob3VyczoiaG91cnMiLG1pbnV0ZXM6Im1pbnV0ZXMiLHNlY29uZHM6InNlY29uZHMiLCJkYXRlLWZvcm1hdCI6IkRhdGUgZm9ybWF0IiwiZGF0ZS1mb3JtYXQtcmVxdWlyZWQiOiJEYXRlIGZvcm1hdCByZXF1aXJlZCIsImxvZy1mb3JtYXQiOiJMb2cgZm9ybWF0IiwibG9nLXR5cGUiOiJMb2cgdHlwZSIsImxvZy1mb3JtYXQtcmVxdWlyZWQiOiJMb2cgZm9ybWF0IHJlcXVpcmVkIixyZW1vdGU6IlJlbW90ZSBsb2dnaW5nIiwicmVtb3RlLWxvZ3MiOiJSZW1vdGUgbG9ncyIsbG9jYWw6IkxvY2FsIGxvZ2dpbmciLGxldmVsOiJMb2cgbGV2ZWwiLCJmaWxlLXBhdGgiOiJGaWxlIHBhdGgiLCJmaWxlLXBhdGgtcmVxdWlyZWQiOiJGaWxlIHBhdGggcmVxdWlyZWQiLCJzYXZpbmctcGVyaW9kIjoiTG9nIHNhdmluZyBwZXJpb2QiLCJzYXZpbmctcGVyaW9kLW1pbiI6IkxvZyBzYXZpbmcgcGVyaW9kIGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJzYXZpbmctcGVyaW9kLXJlcXVpcmVkIjoiTG9nIHNhdmluZyBwZXJpb2QgcmVxdWlyZWQiLCJiYWNrdXAtY291bnQiOiJCYWNrdXAgY291bnQiLCJiYWNrdXAtY291bnQtbWluIjoiQmFja3VwIGNvdW50IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJiYWNrdXAtY291bnQtcmVxdWlyZWQiOiJCYWNrdXAgY291bnQgcmVxdWlyZWQifSwibWF4LW51bWJlci1vZi13b3JrZXJzIjoiTWF4IG51bWJlciBvZiB3b3JrZXJzIiwibWF4LW51bWJlci1vZi13b3JrZXJzLWhpbnQiOiJNYXhpbWFsIG51bWJlciBvZiB3b3JrZXJzIHRocmVhZHMgZm9yIGNvbnZlcnRlcnMgXG4oVGhlIGFtb3VudCBvZiB3b3JrZXJzIGNoYW5nZXMgZHluYW1pY2FsbHksIGRlcGVuZGluZyBvbiBsb2FkKSBcblJlY29tbWVuZGVkIGFtb3VudCA1MC0xNTAuIiwibWF4LW51bWJlci1vZi13b3JrZXJzLXJlcXVpcmVkIjoiTWF4IG51bWJlciBvZiB3b3JrZXJzIGlzIHJlcXVpcmVkLiIsIm1heC1tZXNzYWdlcy1xdWV1ZS1mb3Itd29ya2VyIjoiTWF4IG1lc3NhZ2VzIHF1ZXVlIHBlciB3b3JrZXIiLCJtYXgtbWVzc2FnZXMtcXVldWUtZm9yLXdvcmtlci1oaW50IjoiTWF4aW1hbCBtZXNzYWdlcyBjb3VudCB0aGF0IHdpbGwgYmUgaW4gdGhlIHF1ZXVlIFxuZm9yIGVhY2ggY29udmVydGVyIHdvcmtlci4iLCJtYXgtbWVzc2FnZXMtcXVldWUtZm9yLXdvcmtlci1yZXF1aXJlZCI6Ik1heCBtZXNzYWdlcyBxdWV1ZSBwZXIgd29ya2VyIGlzIHJlcXVpcmVkLiIsbWV0aG9kOiJNZXRob2QiLCJtZXRob2QtbmFtZSI6Ik1ldGhvZCBuYW1lIiwibWV0aG9kLXJlcXVpcmVkIjoiTWV0aG9kIG5hbWUgaXMgcmVxdWlyZWQuIiwibWluLXBhY2stc2VuZC1kZWxheSI6Ik1pbiBwYWNrIHNlbmQgZGVsYXkgKGluIG1zKSIsIm1pbi1wYWNrLXNlbmQtZGVsYXktcmVxdWlyZWQiOiJNaW4gcGFjayBzZW5kIGRlbGF5IGlzIHJlcXVpcmVkIiwibWluLXBhY2stc2VuZC1kZWxheS1taW4iOiJNaW4gcGFjayBzZW5kIGRlbGF5IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEwIiwibWluLXBhY2stc2VuZC1kZWxheS1wYXR0ZXJuIjoiTWluIHBhY2sgc2VuZCBkZWxheSBpcyBub3QgdmFsaWQiLG11bHRpcGxpZXI6Ik11bHRpcGxpZXIiLG1vZGU6Ik1vZGUiLCJtb2RlbC1uYW1lIjoiTW9kZWwgbmFtZSIsbW9kaWZpZXI6Ik1vZGlmaWVyIiwibW9kaWZpZXItaW52YWxpZCI6Ik1vZGlmaWVyIGlzIG5vdCB2YWxpZCIsIm1xdHQtdmVyc2lvbiI6Ik1RVFQgdmVyc2lvbiIsbmFtZToiTmFtZSIsIm5hbWUtcmVxdWlyZWQiOiJOYW1lIGlzIHJlcXVpcmVkLiIsIm5vLWF0dHJpYnV0ZXMiOiJObyBhdHRyaWJ1dGVzIiwibm8tYXR0cmlidXRlLXVwZGF0ZXMiOiJObyBhdHRyaWJ1dGUgdXBkYXRlcyIsIm5vLWNvbm5lY3RvcnMiOiJObyBjb25uZWN0b3JzIiwibm8tZGF0YSI6Ik5vIGNvbmZpZ3VyYXRpb25zIiwibm8tZ2F0ZXdheS1mb3VuZCI6Ik5vIGdhdGV3YXkgZm91bmQuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5vdCBmb3VuZC4iLCJuby10aW1lc2VyaWVzIjoiTm8gdGltZSBzZXJpZXMiLCJuby1rZXlzIjoiTm8ga2V5cyIsIm5vLXZhbHVlIjoiTm8gYXJndW1lbnRzIiwibm8tcnBjLW1ldGhvZHMiOiJObyBSUEMgbWV0aG9kcyIsIm5vLXJwYy1yZXF1ZXN0cyI6Ik5vIFJQQyByZXF1ZXN0cyIsInBhdGgtaGludCI6IlRoZSBwYXRoIGlzIGxvY2FsIHRvIHRoZSBnYXRld2F5IGZpbGUgc3lzdGVtIiwicGF0aC1sb2dzIjoiUGF0aCB0byBsb2cgZmlsZXMiLCJwYXRoLWxvZ3MtcmVxdWlyZWQiOiJQYXRoIGlzIHJlcXVpcmVkLiIscGFzc3dvcmQ6IlBhc3N3b3JkIiwicGFzc3dvcmQtcmVxdWlyZWQiOiJQYXNzd29yZCBpcyByZXF1aXJlZC4iLCJwZXJtaXQtd2l0aG91dC1jYWxscyI6IktlZXAgYWxpdmUgcGVybWl0IHdpdGhvdXQgY2FsbHMiLCJwb2xsLXBlcmlvZCI6IlBvbGwgcGVyaW9kIChtcykiLCJwb2xsLXBlcmlvZC1lcnJvciI6IlBvbGwgcGVyaW9kIHNob3VsZCBiZSBhdCBsZWFzdCB7e21pbn19IChtcykuIixwb3J0OiJQb3J0IiwicG9ydC1yZXF1aXJlZCI6IlBvcnQgaXMgcmVxdWlyZWQuIiwicG9ydC1saW1pdHMtZXJyb3IiOiJQb3J0IHNob3VsZCBiZSBudW1iZXIgZnJvbSB7e21pbn19IHRvIHt7bWF4fX0uIiwicHJpdmF0ZS1rZXktcGF0aCI6IlBhdGggdG8gcHJpdmF0ZSBrZXkgZmlsZSIsInBhdGgtdG8tcHJpdmF0ZS1rZXktcmVxdWlyZWQiOiJQYXRoIHRvIHByaXZhdGUga2V5IGZpbGUgaXMgcmVxdWlyZWQuIixwYXJpdHk6IlBhcml0eSIsInByb2R1Y3QtY29kZSI6IlByb2R1Y3QgY29kZSIsInByb2R1Y3QtbmFtZSI6IlByb2R1Y3QgbmFtZSIscmF3OiJSYXciLHJldGFpbjoiUmV0YWluIiwicmV0YWluLWhpbnQiOiJUaGlzIGZsYWcgdGVsbHMgdGhlIGJyb2tlciB0byBzdG9yZSB0aGUgbWVzc2FnZSBmb3IgYSB0b3BpY1xuYW5kIGVuc3VyZXMgYW55IG5ldyBjbGllbnQgc3Vic2NyaWJpbmcgdG8gdGhhdCB0b3BpY1xud2lsbCByZWNlaXZlIHRoZSBzdG9yZWQgbWVzc2FnZS4iLHJlbW90ZToiUmVtb3RlIGNvbmZpZ3VyYXRpb24iLCJyZW1vdGUtbG9nZ2luZy1sZXZlbCI6IkxvZ2dpbmcgbGV2ZWwiLCJyZW1vdmUtZW50cnkiOiJSZW1vdmUgY29uZmlndXJhdGlvbiIsInJlbW90ZS1zaGVsbCI6IlJlbW90ZSBzaGVsbCIsInJlbW90ZS1jb25maWd1cmF0aW9uIjoiUmVtb3RlIENvbmZpZ3VyYXRpb24iLHJldHJpZXM6IlJldHJpZXMiLCJyZXRyaWVzLW9uLWVtcHR5IjoiUmV0cmllcyBvbiBlbXB0eSIsInJldHJpZXMtb24taW52YWxpZCI6IlJldHJpZXMgb24gaW52YWxpZCIscnBjOnt0aXRsZToie3t0eXBlfX0gQ29ubmVjdG9yIFJQQyBwYXJhbWV0ZXJzIiwidGVtcGxhdGVzLXRpdGxlIjoiQ29ubmVjdG9yIFJQQyBUZW1wbGF0ZXMiLG1ldGhvZEZpbHRlcjoiTWV0aG9kIGZpbHRlciIsIm1ldGhvZC1uYW1lIjoiTWV0aG9kIG5hbWUiLHJlcXVlc3RUb3BpY0V4cHJlc3Npb246IlJlcXVlc3QgdG9waWMgZXhwcmVzc2lvbiIscmVzcG9uc2VUb3BpY0V4cHJlc3Npb246IlJlc3BvbnNlIHRvcGljIGV4cHJlc3Npb24iLHJlc3BvbnNlVGltZW91dDoiUmVzcG9uc2UgdGltZW91dCIsdmFsdWVFeHByZXNzaW9uOiJWYWx1ZSBleHByZXNzaW9uIix0YWc6IlRhZyIsdHlwZToiVHlwZSIsZnVuY3Rpb25Db2RlOiJGdW5jdGlvbiBDb2RlIixvYmplY3RzQ291bnQ6Ik9iamVjdHMgQ291bnQiLGFkZHJlc3M6IkFkZHJlc3MiLG1ldGhvZDoiTWV0aG9kIixyZXF1ZXN0VHlwZToiUmVxdWVzdCBUeXBlIixyZXF1ZXN0VGltZW91dDoiUmVxdWVzdCBUaW1lb3V0IixvYmplY3RUeXBlOiJPYmplY3QgdHlwZSIsaWRlbnRpZmllcjoiSWRlbnRpZmllciIscHJvcGVydHlJZDoiUHJvcGVydHkgSUQiLG1ldGhvZFJQQzoiTWV0aG9kIFJQQyBuYW1lIix3aXRoUmVzcG9uc2U6IldpdGggUmVzcG9uc2UiLGNoYXJhY3RlcmlzdGljVVVJRDoiQ2hhcmFjdGVyaXN0aWMgVVVJRCIsbWV0aG9kUHJvY2Vzc2luZzoiTWV0aG9kIFByb2Nlc3NpbmciLG5vZGVJRDoiTm9kZSBJRCIsaXNFeHRlbmRlZElEOiJJcyBFeHRlbmRlZCBJRCIsaXNGRDoiSXMgRkQiLGJpdHJhdGVTd2l0Y2g6IkJpdHJhdGUgU3dpdGNoIixkYXRhSW5IRVg6IkRhdGEgSW4gSEVYIixkYXRhTGVuZ3RoOiJEYXRhIExlbmd0aCIsZGF0YUJ5dGVvcmRlcjoiRGF0YSBCeXRlIE9yZGVyIixkYXRhQmVmb3JlOiJEYXRhIEJlZm9yZSIsZGF0YUFmdGVyOiJEYXRhIEFmdGVyIixkYXRhRXhwcmVzc2lvbjoiRGF0YSBFeHByZXNzaW9uIixlbmNvZGluZzoiRW5jb2RpbmciLG9pZDoiT0lEIiwiYWRkLW9pZCI6IkFkZCBPSUQiLCJhZGQtaGVhZGVyIjoiQWRkIGhlYWRlciIsImFkZC1zZWN1cml0eSI6IkFkZCBzZWN1cml0eSIscmVtb3ZlOiJSZW1vdmUiLHJlcXVlc3RGaWx0ZXI6IlJlcXVlc3QgRmlsdGVyIixyZXF1ZXN0VXJsRXhwcmVzc2lvbjoiUmVxdWVzdCBVUkwgRXhwcmVzc2lvbiIsaHR0cE1ldGhvZDoiSFRUUCBNZXRob2QiLHRpbWVvdXQ6IlRpbWVvdXQiLHRyaWVzOiJUcmllcyIsaHR0cEhlYWRlcnM6IkhUVFAgSGVhZGVycyIsImhlYWRlci1uYW1lIjoiSGVhZGVyIG5hbWUiLGhpbnQ6eyJtb2RidXMtcmVzcG9uc2UtcmVhZGluZyI6IlJQQyByZXNwb25zZSB3aWxsIHJldHVybiBhbGwgc3VidHJhY3RlZCB2YWx1ZXMgZnJvbSBhbGwgY29ubmVjdGVkIGRldmljZXMgd2hlbiB0aGUgcmVhZGluZyBmdW5jdGlvbnMgYXJlIHNlbGVjdGVkLiIsIm1vZGJ1cy13cml0aW5nLWZ1bmN0aW9ucyI6IlJQQyB3aWxsIHdyaXRlIGEgZmlsbGVkIHZhbHVlIHRvIGFsbCBjb25uZWN0ZWQgZGV2aWNlcyB3aGVuIHRoZSB3cml0aW5nIGZ1bmN0aW9ucyBhcmUgc2VsZWN0ZWQuIiwib3BjLW1ldGhvZCI6IkEgZmlsbGVkIG1ldGhvZCBuYW1lIGlzIHRoZSBPUEMtVUEgbWV0aG9kIHRoYXQgd2lsbCBwcm9jZXNzZWQgb24gdGhlIHNlcnZlciBzaWRlIChtYWtlIHN1cmUgeW91ciBub2RlIGhhcyB0aGUgcmVxdWVzdGVkIG1ldGhvZCkuIn0sInNlY3VyaXR5LW5hbWUiOiJTZWN1cml0eSBuYW1lIix2YWx1ZToiVmFsdWUiLHNlY3VyaXR5OiJTZWN1cml0eSIscmVzcG9uc2VWYWx1ZUV4cHJlc3Npb246IlJlc3BvbnNlIFZhbHVlIEV4cHJlc3Npb24iLHJlcXVlc3RWYWx1ZUV4cHJlc3Npb246IlJlcXVlc3QgVmFsdWUgRXhwcmVzc2lvbiIsYXJndW1lbnRzOiJBcmd1bWVudHMiLCJhZGQtYXJndW1lbnQiOiJBZGQgYXJndW1lbnQiLCJ3cml0ZS1wcm9wZXJ0eSI6IldyaXRlIHByb3BlcnR5IiwicmVhZC1wcm9wZXJ0eSI6IlJlYWQgcHJvcGVydHkiLCJhbmFsb2ctb3V0cHV0IjoiQW5hbG9nIG91dHB1dCIsImFuYWxvZy1pbnB1dCI6IkFuYWxvZyBpbnB1dCIsImJpbmFyeS1vdXRwdXQiOiJCaW5hcnkgb3V0cHV0IiwiYmluYXJ5LWlucHV0IjoiQmluYXJ5IGlucHV0IiwiYmluYXJ5LXZhbHVlIjoiQmluYXJ5IHZhbHVlIiwiYW5hbG9nLXZhbHVlIjoiQW5hbG9nIHZhbHVlIix3cml0ZToiV3JpdGUiLHJlYWQ6IlJlYWQiLHNjYW46IlNjYW4iLG9pZHM6Ik9JRFMiLHNldDoiU2V0IixtdWx0aXNldDoiTXVsdGlzZXQiLGdldDoiR2V0IiwiYnVsay13YWxrIjoiQnVsayB3YWxrIix0YWJsZToiVGFibGUiLCJtdWx0aS1nZXQiOiJNdWx0aWdldCIsImdldC1uZXh0IjoiR2V0IG5leHQiLCJidWxrLWdldCI6IkJ1bGsgZ2V0Iix3YWxrOiJXYWxrIiwic2F2ZS10ZW1wbGF0ZSI6IlNhdmUgdGVtcGxhdGUiLCJ0ZW1wbGF0ZS1uYW1lIjoiVGVtcGxhdGUgbmFtZSIsInRlbXBsYXRlLW5hbWUtcmVxdWlyZWQiOiJUZW1wbGF0ZSBuYW1lIGlzIHJlcXVpcmVkLiIsInRlbXBsYXRlLW5hbWUtZHVwbGljYXRlIjoiVGVtcGxhdGUgd2l0aCBzdWNoIG5hbWUgYWxyZWFkeSBleGlzdHMsIGl0IHdpbGwgYmUgdXBkYXRlZC4iLGNvbW1hbmQ6IkNvbW1hbmQiLHBhcmFtczoiUGFyYW1zIiwianNvbi12YWx1ZS1pbnZhbGlkIjoiSlNPTiB2YWx1ZSBoYXMgYW4gaW52YWxpZCBmb3JtYXQifSwicnBjLW1ldGhvZHMiOiJSUEMgbWV0aG9kcyIsInJwYy1yZXF1ZXN0cyI6IlJQQyByZXF1ZXN0cyIscmVxdWVzdDp7ImNvbm5lY3QtcmVxdWVzdCI6IkNvbm5lY3QgcmVxdWVzdCIsImRpc2Nvbm5lY3QtcmVxdWVzdCI6IkRpc2Nvbm5lY3QgcmVxdWVzdCIsImF0dHJpYnV0ZS1yZXF1ZXN0IjoiQXR0cmlidXRlIHJlcXVlc3QiLCJhdHRyaWJ1dGUtdXBkYXRlIjoiQXR0cmlidXRlIHVwZGF0ZSIsInJwYy1jb25uZWN0aW9uIjoiUlBDIGNvbW1hbmQifSwicmVxdWVzdC10eXBlIjoiUmVxdWVzdCB0eXBlIiwicmVxdWVzdHMtbWFwcGluZyI6IlJlcXVlc3RzIG1hcHBpbmciLCJyZXF1ZXN0cy1tYXBwaW5nLWhpbnQiOiJNUVRUIENvbm5lY3RvciByZXF1ZXN0cyBhbGxvd3MgeW91IHRvIGNvbm5lY3QsIGRpc2Nvbm5lY3QsIHByb2Nlc3MgYXR0cmlidXRlIHJlcXVlc3RzIGZyb20gdGhlIGRldmljZSwgaGFuZGxlIGF0dHJpYnV0ZSB1cGRhdGVzIG9uIHRoZSBzZXJ2ZXIgYW5kIFJQQyBwcm9jZXNzaW5nIGNvbmZpZ3VyYXRpb24uIiwicmVxdWVzdC10b3BpYy1leHByZXNzaW9uIjoiUmVxdWVzdCB0b3BpYyBleHByZXNzaW9uIiwicmVxdWVzdC1jbGllbnQtY2VydGlmaWNhdGUiOiJSZXF1ZXN0IGNsaWVudCBjZXJ0aWZpY2F0ZSIsInJlcXVlc3QtdG9waWMtZXhwcmVzc2lvbi1yZXF1aXJlZCI6IlJlcXVlc3QgdG9waWMgZXhwcmVzc2lvbiBpcyByZXF1aXJlZC4iLCJyZXNwb25zZS10aW1lb3V0IjoiUmVzcG9uc2UgdGltZW91dCAobXMpIiwicmVzcG9uc2UtdGltZW91dC1yZXF1aXJlZCI6IlJlc3BvbnNlIHRpbWVvdXQgaXMgcmVxdWlyZWQuIiwicmVzcG9uc2UtdGltZW91dC1saW1pdHMtZXJyb3IiOiJUaW1lb3V0IG11c3QgYmUgbW9yZSB0aGVuIHt7bWlufX0gbXMuIiwicmVzcG9uc2UtdG9waWMtUW9zIjoiUmVzcG9uc2UgdG9waWMgUW9TIiwicmVzcG9uc2UtdG9waWMtUW9zLWhpbnQiOiJNUVRUIFF1YWxpdHkgb2YgU2VydmljZSAoUW9TKSBpcyBhbiBhZ3JlZW1lbnQgYmV0d2VlbiB0aGUgbWVzc2FnZSBzZW5kZXIgYW5kIHJlY2VpdmVyIHRoYXQgZGVmaW5lcyB0aGUgbGV2ZWwgb2YgZGVsaXZlcnkgZ3VhcmFudGVlIGZvciBhIHNwZWNpZmljIG1lc3NhZ2UuIiwicmVzcG9uc2UtdG9waWMtZXhwcmVzc2lvbiI6IlJlc3BvbnNlIHRvcGljIGV4cHJlc3Npb24iLCJyZXNwb25zZS10b3BpYy1leHByZXNzaW9uLXJlcXVpcmVkIjoiUmVzcG9uc2UgdG9waWMgZXhwcmVzc2lvbiBpcyByZXF1aXJlZC4iLCJyZXNwb25zZS12YWx1ZS1leHByZXNzaW9uIjoiUmVzcG9uc2UgdmFsdWUgZXhwcmVzc2lvbiIsInJlc3BvbnNlLXZhbHVlLWV4cHJlc3Npb24tcmVxdWlyZWQiOiJSZXNwb25zZSB2YWx1ZSBleHByZXNzaW9uIGlzIHJlcXVpcmVkLiIsInZlbmRvci1uYW1lIjoiVmVuZG9yIG5hbWUiLCJ2ZW5kb3ItdXJsIjoiVmVuZG9yIFVSTCIsdmFsdWU6IlZhbHVlIix2YWx1ZXM6IlZhbHVlcyIsInZhbHVlLXJlcXVpcmVkIjoiVmFsdWUgaXMgcmVxdWlyZWQuIiwidmFsdWUtZXhwcmVzc2lvbiI6IlZhbHVlIGV4cHJlc3Npb24iLCJ2YWx1ZS1leHByZXNzaW9uLXJlcXVpcmVkIjoiVmFsdWUgZXhwcmVzc2lvbiBpcyByZXF1aXJlZC4iLCJ3aXRoLXJlc3BvbnNlIjoiV2l0aCByZXNwb25zZSIsIndpdGhvdXQtcmVzcG9uc2UiOiJXaXRob3V0IHJlc3BvbnNlIixvdGhlcjoiT3RoZXIiLCJzYXZlLXRpcCI6IlNhdmUgY29uZmlndXJhdGlvbiBmaWxlIiwic2Nhbi1wZXJpb2QiOiJTY2FuIHBlcmlvZCAobXMpIiwic2Nhbi1wZXJpb2QtZXJyb3IiOiJTY2FuIHBlcmlvZCBzaG91bGQgYmUgYXQgbGVhc3Qge3ttaW59fSAobXMpLiIsInN1Yi1jaGVjay1wZXJpb2QiOiJTdWJzY3JpcHRpb24gY2hlY2sgcGVyaW9kIChtcykiLCJzdWItY2hlY2stcGVyaW9kLWVycm9yIjoiU3Vic2NyaXB0aW9uIGNoZWNrIHBlcmlvZCBzaG91bGQgYmUgYXQgbGVhc3Qge3ttaW59fSAobXMpLiIsInNlY3VyaXR5LWxhYmVsIjoiU2VjdXJpdHkiLCJzZWN1cml0eS1wb2xpY3kiOiJTZWN1cml0eSBwb2xpY3kiLCJzZWN1cml0eS10eXBlIjoiU2VjdXJpdHkgdHlwZSIsInNlY3VyaXR5LXR5cGVzIjp7ImFjY2Vzcy10b2tlbiI6IkFjY2VzcyBUb2tlbiIsInVzZXJuYW1lLXBhc3N3b3JkIjoiVXNlcm5hbWUgYW5kIFBhc3N3b3JkIix0bHM6IlRMUyIsInRscy1hY2Nlc3MtdG9rZW4iOiJUTFMgKyBBY2Nlc3MgVG9rZW4iLCJ0bHMtcHJpdmF0ZS1rZXkiOiJUTFMgKyBQcml2YXRlIEtleSJ9LCJzZWxlY3QtY29ubmVjdG9yIjoiU2VsZWN0IGNvbm5lY3RvciB0byBkaXNwbGF5IGNvbmZpZyIsInNlbmQtY2hhbmdlLWRhdGEiOiJTZW5kIGRhdGEgb25seSBvbiBjaGFuZ2UiLCJzZW5kLWRhdGEtdG8tcGxhdGZvcm0iOiJTZW5kIGRhdGEgdG8gcGxhdGZvcm0iLCJzZW5kLWRhdGEtb24tY2hhbmdlIjoiU2VuZCBkYXRhIG9ubHkgb24gY2hhbmdlIiwic2VuZC1jaGFuZ2UtZGF0YS1oaW50IjoiVGhlIHZhbHVlcyB3aWxsIGJlIHNhdmVkIHRvIHRoZSBkYXRhYmFzZSBvbmx5IGlmIHRoZXkgYXJlIGRpZmZlcmVudCBmcm9tIHRoZSBjb3JyZXNwb25kaW5nIHZhbHVlcyBpbiB0aGUgcHJldmlvdXMgY29udmVydGVkIG1lc3NhZ2UuIFRoaXMgZnVuY3Rpb25hbGl0eSBhcHBsaWVzIHRvIGJvdGggYXR0cmlidXRlcyBhbmQgdGltZSBzZXJpZXMgaW4gdGhlIGNvbnZlcnRlciBvdXRwdXQuIixzZXJ2ZXI6IlNlcnZlciIsInNlcnZlci1ob3N0bmFtZSI6IlNlcnZlciBob3N0bmFtZSIsInNlcnZlci1zbGF2ZSI6IlNlcnZlciAoU2xhdmUpIiwic2VydmVycy1zbGF2ZXMiOiJTZXJ2ZXJzIChTbGF2ZXMpIiwic2VydmVyLXBvcnQiOiJTZXJ2ZXIgcG9ydCIsInNlcnZlci11cmwiOiJTZXJ2ZXIgZW5kcG9pbnQgdXJsIiwic2VydmVyLWNvbm5lY3Rpb24iOiJTZXJ2ZXIgQ29ubmVjdGlvbiIsInNlcnZlci1jb25maWciOiJTZXJ2ZXIgY29uZmlndXJhdGlvbiIsInNlcnZlci1zbGF2ZS1jb25maWciOiJTZXJ2ZXIgKFNsYXZlKSBjb25maWd1cmF0aW9uIiwic2VydmVyLXVybC1yZXF1aXJlZCI6IlNlcnZlciBlbmRwb2ludCB1cmwgaXMgcmVxdWlyZWQuIixzdG9wYml0czoiU3RvcGJpdHMiLHN0cmljdDoiU3RyaWN0IixzZXQ6IlNldCIsInNob3ctbWFwIjoiU2hvdyBtYXAiLHN0YXRpc3RpY3M6e3N0YXRpc3RpYzoiU3RhdGlzdGljIixzdGF0aXN0aWNzOiJTdGF0aXN0aWNzIiwic3RhdGlzdGljLWNvbW1hbmRzLWVtcHR5IjonTm8gY29uZmlndXJlZCBzdGF0aXN0aWMga2V5cyBmb3VuZC4gWW91IGNhbiBjb25maWd1cmUgdGhlbSBpbiAiU3RhdGlzdGljcyIgdGFiIGluIGdlbmVyYWwgY29uZmlndXJhdGlvbi4nLCJzdGF0aXN0aWNzLWJ1dHRvbiI6IkdvIHRvIGNvbmZpZ3VyYXRpb24iLGNvbW1hbmRzOiJDb21tYW5kcyIsInNlbmQtcGVyaW9kIjoiU3RhdGlzdGljIHNlbmQgcGVyaW9kIChpbiBzZWMpIiwic2VuZC1wZXJpb2QtcmVxdWlyZWQiOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgaXMgcmVxdWlyZWQiLCJzZW5kLXBlcmlvZC1taW4iOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgY2FuIG5vdCBiZSBsZXNzIHRoZW4gNjAiLCJzZW5kLXBlcmlvZC1wYXR0ZXJuIjoiU3RhdGlzdGljIHNlbmQgcGVyaW9kIGlzIG5vdCB2YWxpZCIsImNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbiI6IkNoZWNrIGNvbm5lY3RvcnMgY29uZmlndXJhdGlvbiAoaW4gc2VjKSIsIm1heC1wYXlsb2FkLXNpemUtYnl0ZXMiOiJNYXggcGF5bG9hZCBzaXplIGluIGJ5dGVzIiwibWF4LXBheWxvYWQtc2l6ZS1ieXRlcy1yZXF1aXJlZCI6Ik1heCBwYXlsb2FkIHNpemUgaW4gYnl0ZXMgaXMgcmVxdWlyZWQiLCJtYXgtcGF5bG9hZC1zaXplLWJ5dGVzLW1pbiI6Ik1heCBwYXlsb2FkIHNpemUgaW4gYnl0ZXMgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMTAwIiwibWF4LXBheWxvYWQtc2l6ZS1ieXRlcy1wYXR0ZXJuIjoiTWF4IHBheWxvYWQgc2l6ZSBpbiBieXRlcyBpcyBub3QgdmFsaWQiLCJtaW4tcGFjay1zaXplLXRvLXNlbmQiOiJNaW4gcGFja2V0IHNpemUgdG8gc2VuZCIsIm1pbi1wYWNrLXNpemUtdG8tc2VuZC1yZXF1aXJlZCI6Ik1pbiBwYWNrZXQgc2l6ZSB0byBzZW5kIGlzIHJlcXVpcmVkIiwibWluLXBhY2stc2l6ZS10by1zZW5kLW1pbiI6Ik1pbiBwYWNrZXQgc2l6ZSB0byBzZW5kIGNhbiBub3QgYmUgbGVzcyB0aGVuIDEwMCIsIm1pbi1wYWNrLXNpemUtdG8tc2VuZC1wYXR0ZXJuIjoiTWluIHBhY2tldCBzaXplIHRvIHNlbmQgaXMgbm90IHZhbGlkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXJlcXVpcmVkIjoiQ2hlY2sgY29ubmVjdG9ycyBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLW1pbiI6IkNoZWNrIGNvbm5lY3RvcnMgY29uZmlndXJhdGlvbiBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXBhdHRlcm4iOiJDaGVjayBjb25uZWN0b3JzIGNvbmZpZ3VyYXRpb24gaXMgbm90IHZhbGlkIixhZGQ6IkFkZCBjb21tYW5kIix0aW1lb3V0OiJUaW1lb3V0IChpbiBzZWMpIiwidGltZW91dC1tcyI6IlRpbWVvdXQgKGluIG1zKSIsInRpbWVvdXQtcmVxdWlyZWQiOiJUaW1lb3V0IGlzIHJlcXVpcmVkIiwidGltZW91dC1taW4iOiJUaW1lb3V0IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJ0aW1lb3V0LXBhdHRlcm4iOiJUaW1lb3V0IGlzIG5vdCB2YWxpZCIsImF0dHJpYnV0ZS1uYW1lIjoiQXR0cmlidXRlIG5hbWUiLCJhdHRyaWJ1dGUtbmFtZS1yZXF1aXJlZCI6IkF0dHJpYnV0ZSBuYW1lIGlzIHJlcXVpcmVkIixjb21tYW5kOiJDb21tYW5kIiwiY29tbWFuZC1yZXF1aXJlZCI6IkNvbW1hbmQgaXMgcmVxdWlyZWQiLCJjb21tYW5kLXBhdHRlcm4iOiJDb21tYW5kIGlzIG5vdCB2YWxpZCIscmVtb3ZlOiJSZW1vdmUgY29tbWFuZCJ9LHN0b3JhZ2U6IlN0b3JhZ2UiLCJzdG9yYWdlLW1heC1maWxlLXJlY29yZHMiOiJNYXhpbXVtIHJlY29yZHMgaW4gZmlsZSIsInN0b3JhZ2UtbWF4LWZpbGVzIjoiTWF4aW11bSBudW1iZXIgb2YgZmlsZXMiLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiJNaW5pbXVtIG51bWJlciBpcyAxLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXJlcXVpcmVkIjoiTnVtYmVyIGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMiOiJNYXhpbXVtIHJlY29yZHMgaW4gc3RvcmFnZSIsInN0b3JhZ2UtbWF4LXJlY29yZHMtbWluIjoiTWluaW11bSBudW1iZXIgb2YgcmVjb3JkcyBpcyAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1yZXF1aXJlZCI6Ik1heGltdW0gcmVjb3JkcyBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50IjoiUmVhZCByZWNvcmQgY291bnQgaW4gc3RvcmFnZSIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtbWluIjoiTWluaW11bSBudW1iZXIgb2YgcmVjb3JkcyBpcyAxLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1yZXF1aXJlZCI6IlJlYWQgcmVjb3JkIGNvdW50IGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50IjoiTWF4IHJlYWQgcmVjb3JkIGNvdW50IGluIHN0b3JhZ2UiLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1taW4iOiJNaW5pbXVtIG51bWJlciBvZiByZWNvcmRzIGlzIDEuIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcmVxdWlyZWQiOiJNYXggUmVhZCByZWNvcmQgY291bnQgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoIjoiRGF0YSBmb2xkZXIgcGF0aCIsInN0b3JhZ2UtZGF0YS1mb2xkZXItcGF0aC1yZXF1aXJlZCI6IkRhdGEgZm9sZGVyIHBhdGggaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1wYWNrLXNpemUiOiJNYXhpbXVtIGV2ZW50IHBhY2sgc2l6ZSIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6Ik1pbmltdW0gbnVtYmVyIGlzIDEuIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiJNYXhpbXVtIGV2ZW50IHBhY2sgc2l6ZSBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLXBhdGgiOiJTdG9yYWdlIHBhdGgiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiJTdG9yYWdlIHBhdGggaXMgcmVxdWlyZWQuIiwic3RvcmFnZS10eXBlIjoiU3RvcmFnZSB0eXBlIiwic3RvcmFnZS10eXBlcyI6eyJmaWxlLXN0b3JhZ2UiOiJGaWxlIHN0b3JhZ2UiLCJtZW1vcnktc3RvcmFnZSI6Ik1lbW9yeSBzdG9yYWdlIixzcWxpdGU6IlNRTElURSJ9LCJyZXBvcnQtc3RyYXRlZ3kiOntsYWJlbDoiUmVwb3J0IHN0cmF0ZWd5Iiwib24tY2hhbmdlIjoiT24gdmFsdWUgY2hhbmdlIiwib24tcmVwb3J0LXBlcmlvZCI6Ik9uIHJlcG9ydCBwZXJpb2QiLCJvbi1jaGFuZ2Utb3ItcmVwb3J0LXBlcmlvZCI6Ik9uIHZhbHVlIGNoYW5nZSBvciByZXBvcnQgcGVyaW9kIiwicmVwb3J0LXBlcmlvZCI6IlJlcG9ydCBwZXJpb2QifSwic291cmNlLXR5cGUiOnttc2c6IkV4dHJhY3QgZnJvbSBtZXNzYWdlIix0b3BpYzoiRXh0cmFjdCBmcm9tIHRvcGljIixjb25zdDoiQ29uc3RhbnQiLGlkZW50aWZpZXI6IklkZW50aWZpZXIiLHBhdGg6IlBhdGgifSwid29ya2Vycy1zZXR0aW5ncyI6IldvcmtlcnMgc2V0dGluZ3MiLHRoaW5nc2JvYXJkOiJUaGluZ3NCb2FyZCIsZ2VuZXJhbDoiR2VuZXJhbCIsdGltZXNlcmllczoiVGltZSBzZXJpZXMiLGtleToiS2V5IixrZXlzOiJLZXlzIiwia2V5LXJlcXVpcmVkIjoiS2V5IGlzIHJlcXVpcmVkLiIsInRoaW5nc2JvYXJkLWhvc3QiOiJQbGF0Zm9ybSBob3N0IiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6Ikhvc3QgaXMgcmVxdWlyZWQuIiwidGhpbmdzYm9hcmQtcG9ydCI6IlBsYXRmb3JtIHBvcnQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6Ik1heGltdW0gcG9ydCBudW1iZXIgaXMgNjU1MzUuIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiJNaW5pbXVtIHBvcnQgbnVtYmVyIGlzIDEuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiUG9ydCBpcyBub3QgdmFsaWQuIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6IlBvcnQgaXMgcmVxdWlyZWQuIix0aWR5OiJUaWR5IiwidGlkeS10aXAiOiJUaWR5IGNvbmZpZyBKU09OIix0aW1lb3V0OiJUaW1lb3V0IChtcykiLCJ0aW1lb3V0LWVycm9yIjoiVGltZW91dCBzaG91bGQgYmUgYXQgbGVhc3Qge3ttaW59fSAobXMpLiIsInRpdGxlLWNvbm5lY3RvcnMtanNvbiI6IkNvbm5lY3RvciB7e3R5cGVOYW1lfX0gY29uZmlndXJhdGlvbiIsdHlwZToiVHlwZSIsInRvcGljLWZpbHRlciI6IlRvcGljIGZpbHRlciIsInRvcGljLXJlcXVpcmVkIjoiVG9waWMgZmlsdGVyIGlzIHJlcXVpcmVkLiIsInRscy1wYXRoLWNhLWNlcnRpZmljYXRlIjoiUGF0aCB0byBDQSBjZXJ0aWZpY2F0ZSBvbiBnYXRld2F5IiwidGxzLXBhdGgtY2xpZW50LWNlcnRpZmljYXRlIjoiUGF0aCB0byBjbGllbnQgY2VydGlmaWNhdGUgb24gZ2F0ZXdheSIsInRscy1jb25uZWN0aW9uIjoiVExTIENvbm5lY3Rpb24iLCJtYXN0ZXItY29ubmVjdGlvbnMiOiJNYXN0ZXIgQ29ubmVjdGlvbnMiLCJtZXRob2QtZmlsdGVyIjoiTWV0aG9kIGZpbHRlciIsIm1ldGhvZC1maWx0ZXItaGludCI6IlJlZ3VsYXIgZXhwcmVzc2lvbiB0byBmaWx0ZXIgaW5jb21pbmcgUlBDIG1ldGhvZCBmcm9tIHBsYXRmb3JtLiIsIm1ldGhvZC1maWx0ZXItcmVxdWlyZWQiOiJNZXRob2QgZmlsdGVyIGlzIHJlcXVpcmVkLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3VycyI6Ik1lc3NhZ2VzIFRUTCBjaGVjayBpbiBob3VycyIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1yZXF1aXJlZCI6Ik1lc3NhZ2VzIFRUTCBjaGVjayBpbiBob3VycyBpcyByZXF1aXJlZC4iLCJtZXNzYWdlcy10dGwtY2hlY2staW4taG91cnMtbWluIjoiTWluIG51bWJlciBpcyAxLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cyI6Ik1lc3NhZ2VzIFRUTCBpbiBkYXlzIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcmVxdWlyZWQiOiJNZXNzYWdlcyBUVEwgaW4gZGF5cyBpcyByZXF1aXJlZC4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1taW4iOiJNaW4gbnVtYmVyIGlzIDEuIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwibXF0dC1xb3MiOiJRb1MiLCJtcXR0LXFvcy1yZXF1aXJlZCI6IlFvUyBpcyByZXF1aXJlZCIsIm1xdHQtcW9zLXJhbmdlIjoiUW9TIHZhbHVlcyByYW5nZSBpcyBmcm9tIDAgdG8gMSIscW9zOnsiYXQtbW9zdC1vbmNlIjoiMCAtIEF0IG1vc3Qgb25jZSIsImF0LWxlYXN0LW9uY2UiOiIxIC0gQXQgbGVhc3Qgb25jZSIsImV4YWN0bHktb25jZSI6IjIgLSBFeGFjdGx5IG9uY2UifSwib2JqZWN0cy1jb3VudCI6Ik9iamVjdHMgY291bnQiLCJvYmplY3RzLWNvdW50LXJlcXVpcmVkIjoiT2JqZWN0cyBjb3VudCBpcyByZXF1aXJlZCIsIndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzIjoiV2FpdCBhZnRlciBmYWlsZWQgYXR0ZW1wdHMgKG1zKSIsInRscy1wYXRoLXByaXZhdGUta2V5IjoiUGF0aCB0byBwcml2YXRlIGtleSBvbiBnYXRld2F5IiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiJUb2dnbGUgZnVsbHNjcmVlbiIsInRyYW5zZm9ybWVyLWpzb24tY29uZmlnIjoiQ29uZmlndXJhdGlvbiBKU09OKiIsInVwZGF0ZS1jb25maWciOiJBZGQvdXBkYXRlIGNvbmZpZ3VyYXRpb24gSlNPTiIsdXNlcm5hbWU6IlVzZXJuYW1lIiwidXNlcm5hbWUtcmVxdWlyZWQiOiJVc2VybmFtZSBpcyByZXF1aXJlZC4iLCJ1bml0LWlkLXJlcXVpcmVkIjoiVW5pdCBJRCBpcyByZXF1aXJlZC4iLCJ3cml0ZS1jb2lsIjoiV3JpdGUgQ29pbCIsIndyaXRlLWNvaWxzIjoiV3JpdGUgQ29pbHMiLCJ3cml0ZS1yZWdpc3RlciI6IldyaXRlIFJlZ2lzdGVyIiwid3JpdGUtcmVnaXN0ZXJzIjoiV3JpdGUgUmVnaXN0ZXJzIixoaW50czp7Im1vZGJ1cy1tYXN0ZXIiOiJDb25maWd1cmF0aW9uIHNlY3Rpb25zIGZvciBjb25uZWN0aW5nIHRvIE1vZGJ1cyBzZXJ2ZXJzIGFuZCByZWFkaW5nIGRhdGEgZnJvbSB0aGVtLiIsIm1vZGJ1cy1zZXJ2ZXIiOiJDb25maWd1cmF0aW9uIHNlY3Rpb24gZm9yIHRoZSBNb2RidXMgc2VydmVyLCBzdG9yaW5nIGRhdGEgYW5kIHNlbmRpbmcgdXBkYXRlcyB0byB0aGUgcGxhdGZvcm0gd2hlbiBjaGFuZ2VzIG9jY3VyIG9yIGF0IGZpeGVkIGludGVydmFscy4iLCJyZW1vdGUtY29uZmlndXJhdGlvbiI6IkVuYWJsZXMgcmVtb3RlIGNvbmZpZ3VyYXRpb24gYW5kIG1hbmFnZW1lbnQgb2YgdGhlIGdhdGV3YXkiLCJyZW1vdGUtc2hlbGwiOiJFbmFibGVzIHJlbW90ZSBjb250cm9sIG9mIHRoZSBvcGVyYXRpbmcgc3lzdGVtIHdpdGggdGhlIGdhdGV3YXkgZnJvbSB0aGUgUmVtb3RlIFNoZWxsIHdpZGdldCIsaG9zdDoiSG9zdG5hbWUgb3IgSVAgYWRkcmVzcyBvZiBwbGF0Zm9ybSBzZXJ2ZXIiLHBvcnQ6IlBvcnQgb2YgTVFUVCBzZXJ2aWNlIG9uIHBsYXRmb3JtIHNlcnZlciIsdG9rZW46IkFjY2VzcyB0b2tlbiBmb3IgdGhlIGdhdGV3YXkgZnJvbSBwbGF0Zm9ybSBzZXJ2ZXIiLCJjbGllbnQtaWQiOiJNUVRUIGNsaWVudCBpZCBmb3IgdGhlIGdhdGV3YXkgZm9ybSBwbGF0Zm9ybSBzZXJ2ZXIiLHVzZXJuYW1lOiJNUVRUIHVzZXJuYW1lIGZvciB0aGUgZ2F0ZXdheSBmb3JtIHBsYXRmb3JtIHNlcnZlciIscGFzc3dvcmQ6Ik1RVFQgcGFzc3dvcmQgZm9yIHRoZSBnYXRld2F5IGZvcm0gcGxhdGZvcm0gc2VydmVyIiwiY2EtY2VydCI6IlBhdGggdG8gQ0EgY2VydGlmaWNhdGUgZmlsZSIsImRhdGUtZm9ybSI6IkRhdGUgZm9ybWF0IGluIGxvZyBtZXNzYWdlIiwiZGF0YS1mb2xkZXIiOiJQYXRoIHRvIHRoZSBmb2xkZXIgdGhhdCB3aWxsIGNvbnRhaW4gZGF0YSAoUmVsYXRpdmUgb3IgQWJzb2x1dGUpIiwibG9nLWZvcm1hdCI6IkxvZyBtZXNzYWdlIGZvcm1hdCIsInJlbW90ZS1sb2ciOiJFbmFibGVzIHJlbW90ZSBsb2dnaW5nIGFuZCBsb2dzIHJlYWRpbmcgZnJvbSB0aGUgZ2F0ZXdheSIsImJhY2t1cC1jb3VudCI6IklmIGJhY2t1cCBjb3VudCBpcyA+IDAsIHdoZW4gYSByb2xsb3ZlciBpcyBkb25lLCBubyBtb3JlIHRoYW4gYmFja3VwIGNvdW50IGZpbGVzIGFyZSBrZXB0IC0gdGhlIG9sZGVzdCBvbmVzIGFyZSBkZWxldGVkIixzdG9yYWdlOiJQcm92aWRlcyBjb25maWd1cmF0aW9uIGZvciBzYXZpbmcgaW5jb21pbmcgZGF0YSBiZWZvcmUgaXQgaXMgc2VudCB0byB0aGUgcGxhdGZvcm0iLCJtYXgtZmlsZS1jb3VudCI6Ik1heGltdW0gbnVtYmVyIG9mIGZpbGVzIHRoYXQgd2lsbCBiZSBjcmVhdGVkIiwibWF4LXJlYWQtY291bnQiOiJOdW1iZXIgb2YgbWVzc2FnZXMgdG8gcmV0cmlldmUgZnJvbSB0aGUgc3RvcmFnZSBhbmQgc2VuZCB0byBwbGF0Zm9ybSIsIm1heC1yZWNvcmRzIjoiTWF4aW11bSBjb3VudCBvZiByZWNvcmRzIHRoYXQgd2lsbCBiZSBzdG9yZWQgaW4gb25lIGZpbGUiLCJyZWFkLXJlY29yZC1jb3VudCI6Ik51bWJlciBvZiBtZXNzYWdlcyB0byByZXRyaWV2ZSBmcm9tIHRoZSBzdG9yYWdlIGFuZCBzZW5kIHRvIHBsYXRmb3JtIiwibWF4LXJlY29yZHMtY291bnQiOiJNYXhpbXVtIG51bWJlciBvZiBkYXRhIGVudHJpZXMgaW4gc3RvcmFnZSBiZWZvcmUgc2VuZGluZyB0byBwbGF0Zm9ybSIsInR0bC1jaGVjay1ob3VyIjoiSG93IG9mdGVuIHdpbGwgdGhlIEdhdGV3YXkgY2hlY2sgZGF0YSBmb3Igb2Jzb2xlc2NlbmNlIiwidHRsLW1lc3NhZ2VzLWRheSI6Ik1heGltdW0gbnVtYmVyIG9mIGRheXMgdGhhdCB0aGUgc3RvcmFnZSB3aWxsIHJldGFpbiBkYXRhIixjb21tYW5kczoiQ29tbWFuZHMgZm9yIGNvbGxlY3RpbmcgYWRkaXRpb25hbCBzdGF0aXN0aWMiLGF0dHJpYnV0ZToiU3RhdGlzdGljIHRlbGVtZXRyeSBrZXkiLHRpbWVvdXQ6IlRpbWVvdXQgZm9yIGNvbW1hbmQgZXhlY3V0aW5nIixjb21tYW5kOiJUaGUgcmVzdWx0IG9mIHRoZSBjb21tYW5kIGV4ZWN1dGlvbiwgd2lsbCBiZSB1c2VkIGFzIHRoZSB2YWx1ZSBmb3IgdGVsZW1ldHJ5IiwiY2hlY2stZGV2aWNlLWFjdGl2aXR5IjoiRW5hYmxlcyBtb25pdG9yIHRoZSBhY3Rpdml0eSBvZiBlYWNoIGNvbm5lY3RlZCBkZXZpY2UiLCJpbmFjdGl2aXR5LXRpbWVvdXQiOiJUaW1lIGFmdGVyIHdob3NlIHRoZSBnYXRld2F5IHdpbGwgZGlzY29ubmVjdCBkZXZpY2UiLCJpbmFjdGl2aXR5LXBlcmlvZCI6IlBlcmlvZGljaXR5IG9mIGRldmljZSBhY3Rpdml0eSBjaGVjayIsIm1pbmltYWwtcGFjay1kZWxheSI6IkRlbGF5IGJldHdlZW4gc2VuZGluZyBwYWNrcyBvZiBtZXNzYWdlcyAoRGVjcmVhc2luZyB0aGlzIHNldHRpbmcgcmVzdWx0cyBpbiBpbmNyZWFzZWQgQ1BVIHVzYWdlKSIscW9zOiJRdWFsaXR5IG9mIFNlcnZpY2UgaW4gTVFUVCBtZXNzYWdpbmcgKDAgLSBhdCBtb3N0IG9uY2UsIDEgLSBhdCBsZWFzdCBvbmNlKSIsInNlcnZlci1wb3J0IjoiTmV0d29yayBwb3J0IG9uIHdoaWNoIEdSUEMgc2VydmVyIHdpbGwgbGlzdGVuIGZvciBpbmNvbWluZyBjb25uZWN0aW9ucy4iLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dCI6Ik1heGltdW0gdGltZSB0aGUgc2VydmVyIHNob3VsZCB3YWl0IGZvciBhIGtlZXBhbGl2ZSBwaW5nIHJlc3BvbnNlIGJlZm9yZSBjb25zaWRlcmluZyB0aGUgY29ubmVjdGlvbiBkZWFkLiIsImdycGMta2VlcC1hbGl2ZSI6IkR1cmF0aW9uIGJldHdlZW4gdHdvIHN1Y2Nlc3NpdmUga2VlcGFsaXZlIHBpbmcgbWVzc2FnZXMgd2hlbiB0aGVyZSBpcyBubyBhY3RpdmUgUlBDIGNhbGwuIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzIjoiTWluaW11bSBhbW91bnQgb2YgdGltZSB0aGUgc2VydmVyIHNob3VsZCB3YWl0IGJldHdlZW4gc2VuZGluZyBrZWVwYWxpdmUgcGluZyBtZXNzYWdlcyIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YSI6Ik1heGltdW0gbnVtYmVyIG9mIGtlZXBhbGl2ZSBwaW5nIG1lc3NhZ2VzIHRoYXQgdGhlIHNlcnZlciBjYW4gc2VuZCB3aXRob3V0IHJlY2VpdmluZyBhbnkgZGF0YSBiZWZvcmUgaXQgY29uc2lkZXJzIHRoZSBjb25uZWN0aW9uIGRlYWQuIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEiOiJNaW5pbXVtIGFtb3VudCBvZiB0aW1lIHRoZSBzZXJ2ZXIgc2hvdWxkIHdhaXQgYmV0d2VlbiBzZW5kaW5nIGtlZXBhbGl2ZSBwaW5nIG1lc3NhZ2VzIHdoZW4gdGhlcmUgaXMgbm8gZGF0YSBiZWluZyBzZW50IG9yIHJlY2VpdmVkLiIsInBlcm1pdC13aXRob3V0LWNhbGxzIjoiQWxsb3cgc2VydmVyIHRvIGtlZXAgdGhlIEdSUEMgY29ubmVjdGlvbiBhbGl2ZSBldmVuIHdoZW4gdGhlcmUgYXJlIG5vIGFjdGl2ZSBSUEMgY2FsbHMuIiwicGF0aC1pbi1vcyI6IlBhdGggaW4gZ2F0ZXdheSBvcy4iLG1lbW9yeToiWW91ciBkYXRhIHdpbGwgYmUgc3RvcmVkIGluIHRoZSBpbi1tZW1vcnkgcXVldWUsIGl0IGlzIGEgZmFzdGVzdCBidXQgbm8gcGVyc2lzdGVuY2UgZ3VhcmFudGVlLiIsZmlsZToiWW91ciBkYXRhIHdpbGwgYmUgc3RvcmVkIGluIHNlcGFyYXRlZCBmaWxlcyBhbmQgd2lsbCBiZSBzYXZlZCBldmVuIGFmdGVyIHRoZSBnYXRld2F5IHJlc3RhcnQuIixzcWxpdGU6IllvdXIgZGF0YSB3aWxsIGJlIHN0b3JlZCBpbiBmaWxlIGJhc2VkIGRhdGFiYXNlLiBBbmQgd2lsbCBiZSBzYXZlZCBldmVuIGFmdGVyIHRoZSBnYXRld2F5IHJlc3RhcnQuIiwib3BjLXRpbWVvdXQiOiJUaW1lb3V0IGluIG1pbGxpc2Vjb25kcyBmb3IgY29ubmVjdGluZyB0byBPUEMtVUEgc2VydmVyLiIsInNlY3VyaXR5LXBvbGljeSI6IlNlY3VyaXR5IFBvbGljeSBkZWZpbmVzIHRoZSBzZWN1cml0eSBtZWNoYW5pc21zIHRvIGJlIGFwcGxpZWQuIiwic2Nhbi1wZXJpb2QiOiJQZXJpb2QgaW4gbWlsbGlzZWNvbmRzIHRvIHJlc2NhbiB0aGUgc2VydmVyLiIsInN1Yi1jaGVjay1wZXJpb2QiOiJQZXJpb2QgdG8gY2hlY2sgdGhlIHN1YnNjcmlwdGlvbnMgaW4gdGhlIE9QQy1VQSBzZXJ2ZXIuIiwiZW5hYmxlLXN1YnNjcmlwdGlvbiI6IklmIHRydWUgLSB0aGUgZ2F0ZXdheSB3aWxsIHN1YnNjcmliZSB0byBpbnRlcmVzdGluZyBub2RlcyBhbmQgd2FpdCBmb3IgZGF0YSB1cGRhdGUgYW5kIGlmIGZhbHNlIC0gdGhlIGdhdGV3YXkgd2lsbCByZXNjYW4gT1BDLVVBIHNlcnZlciBldmVyeSBzY2FuUGVyaW9kSW5NaWxsaXMuIiwic2hvdy1tYXAiOiJTaG93IG5vZGVzIG9uIHNjYW5uaW5nLiIsIm1ldGhvZC1uYW1lIjoiTmFtZSBvZiBtZXRob2Qgb24gT1BDLVVBIHNlcnZlci4iLGFyZ3VtZW50czoiQXJndW1lbnRzIGZvciB0aGUgbWV0aG9kICh3aWxsIGJlIG92ZXJ3cml0dGVuIGJ5IGFyZ3VtZW50cyBmcm9tIHRoZSBSUEMgcmVxdWVzdCkuIiwibWluLXBhY2stc2l6ZS10by1zZW5kIjoiTWluaW11bSBwYWNrYWdlIHNpemUgZm9yIHNlbmRpbmcuIiwibWF4LXBheWxvYWQtc2l6ZS1ieXRlcyI6Ik1heGltdW0gcGFja2FnZSBzaXplIGluIGJ5dGVzIiwicG9sbC1wZXJpb2QiOiJQZXJpb2QgaW4gbWlsbGlzZWNvbmRzIHRvIHJlYWQgZGF0YSBmcm9tIG5vZGVzLiIsbW9kYnVzOnsiZnJhbWVyLXR5cGUiOiJUeXBlIG9mIGEgZnJhbWVyIChTb2NrZXQsIFJUVSwgb3IgQVNDSUkpLCBpZiBuZWVkZWQuIixob3N0OiJIb3N0bmFtZSBvciBJUCBhZGRyZXNzIG9mIE1vZGJ1cyBzZXJ2ZXIuIixwb3J0OiJNb2RidXMgc2VydmVyIHBvcnQgZm9yIGNvbm5lY3Rpb24uIiwidW5pdC1pZCI6Ik1vZGJ1cyBzbGF2ZSBJRC4iLCJjb25uZWN0aW9uLXRpbWVvdXQiOiJDb25uZWN0aW9uIHRpbWVvdXQgKGluIHNlY29uZHMpIGZvciB0aGUgTW9kYnVzIHNlcnZlci4iLCJieXRlLW9yZGVyIjoiQnl0ZSBvcmRlciBmb3IgcmVhZGluZyBkYXRhLiIsIndvcmQtb3JkZXIiOiJXb3JkIG9yZGVyIHdoZW4gcmVhZGluZyBtdWx0aXBsZSByZWdpc3RlcnMuIixyZXRyaWVzOiJSZXRyeWluZyBkYXRhIHRyYW5zbWlzc2lvbiB0byB0aGUgbWFzdGVyLiBBY2NlcHRhYmxlIHZhbHVlczogdHJ1ZSBvciBmYWxzZS4iLCJyZXRyaWVzLW9uLWVtcHR5IjoiUmV0cnkgc2VuZGluZyBkYXRhIHRvIHRoZSBtYXN0ZXIgaWYgdGhlIGRhdGEgaXMgZW1wdHkuIiwicmV0cmllcy1vbi1pbnZhbGlkIjoiUmV0cnkgc2VuZGluZyBkYXRhIHRvIHRoZSBtYXN0ZXIgaWYgaXQgZmFpbHMuIiwicG9sbC1wZXJpb2QiOiJQZXJpb2QgaW4gbWlsbGlzZWNvbmRzIHRvIGNoZWNrIGF0dHJpYnV0ZXMgYW5kIHRlbGVtZXRyeSBvbiB0aGUgc2xhdmUuIiwiY29ubmVjdC1hdHRlbXB0LXRpbWUiOiJBIHdhaXRpbmcgcGVyaW9kIGluIG1pbGxpc2Vjb25kcyBiZWZvcmUgZXN0YWJsaXNoaW5nIGEgY29ubmVjdGlvbiB0byB0aGUgbWFzdGVyLiIsImNvbm5lY3QtYXR0ZW1wdC1jb3VudCI6IlRoZSBudW1iZXIgb2YgY29ubmVjdGlvbiBhdHRlbXB0cyBtYWRlIHRocm91Z2ggdGhlIGdhdGV3YXkuIiwid2FpdC1hZnRlci1mYWlsZWQtYXR0ZW1wdHMiOiJBIHdhaXRpbmcgcGVyaW9kIGluIG1pbGxpc2Vjb25kcyBiZWZvcmUgYXR0ZW1wdGluZyB0byBzZW5kIGRhdGEgdG8gdGhlIG1hc3Rlci4iLCJzZXJpYWwtcG9ydCI6IlNlcmlhbCBwb3J0IGZvciBjb25uZWN0aW9uLiIsYmF1ZHJhdGU6IkJhdWQgcmF0ZSBmb3IgdGhlIHNlcmlhbCBkZXZpY2UuIixzdG9wYml0czoiVGhlIG51bWJlciBvZiBzdG9wIGJpdHMgc2VudCBhZnRlciBlYWNoIGNoYXJhY3RlciBpbiBhIG1lc3NhZ2UgdG8gaW5kaWNhdGUgdGhlIGVuZCBvZiB0aGUgYnl0ZS4iLGJ5dGVzaXplOiJUaGUgbnVtYmVyIG9mIGJpdHMgaW4gYSBieXRlIG9mIHNlcmlhbCBkYXRhLiBUaGlzIGNhbiBiZSBvbmUgb2YgNSwgNiwgNywgb3IgOC4iLHBhcml0eToiVGhlIHR5cGUgb2YgY2hlY2tzdW0gdXNlZCB0byB2ZXJpZnkgZGF0YSBpbnRlZ3JpdHkuIE9wdGlvbnM6IChFKXZlbiwgKE8pZGQsIChOKW9uZS4iLHN0cmljdDoiVXNlIGludGVyLWNoYXJhY3RlciB0aW1lb3V0IGZvciBiYXVkcmF0ZXMg4omkIDE5MjAwLiIsIm9iamVjdHMtY291bnQiOiJEZXBlbmRzIG9uIHRoZSBzZWxlY3RlZCB0eXBlLiIsYWRkcmVzczoiUmVnaXN0ZXIgYWRkcmVzcyB0byB2ZXJpZnkuIixrZXk6IktleSB0byBiZSB1c2VkIGFzIHRoZSBhdHRyaWJ1dGUga2V5IGZvciB0aGUgcGxhdGZvcm0gaW5zdGFuY2UuIiwiZGF0YS1rZXlzIjoiRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgZnVuY3Rpb24gY29kZXMgYW5kIGRhdGEgdHlwZXMgY2xpY2sgb24gaGVscCBpY29uIixtb2RpZmllcjoiVGhlIHJldHJpZXZlZCB2YWx1ZSB3aWxsIGJlIGFkanVzdGVkIChieSBtdWx0aXBseWluZyBvciBkaXZpZGluZyBpdCkgYmFzZWQgb24gdGhlIHNwZWNpZmllZCBtb2RpZmllciB2YWx1ZS4ifX19fSxSbz17ImFkZC1lbnRyeSI6Itil2LbYp9mB2Kkg2KrZg9mI2YrZhiIsYWR2YW5jZWQ6ItmF2KrZgtiv2YUiLCJjaGVja2luZy1kZXZpY2UtYWN0aXZpdHkiOiLZgdit2LUg2YbYtNin2Lcg2KfZhNis2YfYp9iyIixjb21tYW5kOiLYo9mI2KfZhdixIERvY2tlciIsImNvbW1hbmQtY29waWVkLW1lc3NhZ2UiOiLYqtmFINmG2LPYriDYo9mF2LEgRG9ja2VyINil2YTZiSDYp9mE2K3Yp9mB2LjYqSIsY29uZmlndXJhdGlvbjoi2KfZhNiq2YPZiNmK2YYiLCJjb25uZWN0b3ItYWRkIjoi2KXYttin2YHYqSDZhdmI2LXZhCDYrNiv2YrYryIsImNvbm5lY3Rvci1lbmFibGVkIjoi2KrZhdmD2YrZhiDYp9mE2YXZiNi12YQiLCJjb25uZWN0b3ItbmFtZSI6Itin2LPZhSDYp9mE2YXZiNi12YQiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6Itin2LPZhSDYp9mE2YXZiNi12YQg2YXYt9mE2YjYqC4iLCJjb25uZWN0b3ItdHlwZSI6ItmG2YjYuSDYp9mE2YXZiNi12YQiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6ItmG2YjYuSDYp9mE2YXZiNi12YQg2YXYt9mE2YjYqC4iLGNvbm5lY3RvcnM6Itin2YTZhdmI2LXZhNin2KoiLCJjb25uZWN0b3JzLWNvbmZpZyI6Itiq2YPZiNmK2YbYp9iqINin2YTZhdmI2LXZhNin2KoiLCJjb25uZWN0b3JzLXRhYmxlLWVuYWJsZWQiOiLZhdmF2YPZkdmGIiwiY29ubmVjdG9ycy10YWJsZS1uYW1lIjoi2KfZhNin2LPZhSIsImNvbm5lY3RvcnMtdGFibGUtdHlwZSI6Itin2YTZhtmI2LkiLCJjb25uZWN0b3JzLXRhYmxlLXN0YXR1cyI6Itin2YTYrdin2YTYqSIsImNvbm5lY3RvcnMtdGFibGUtYWN0aW9ucyI6Itin2YTYpdis2LHYp9ih2KfYqiIsImNvbm5lY3RvcnMtdGFibGUta2V5Ijoi2KfZhNmF2YHYqtin2K0iLCJjb25uZWN0b3JzLXRhYmxlLWNsYXNzIjoi2KfZhNmB2KbYqSIsInJwYy1jb21tYW5kLXNlbmQiOiLYpdix2LPYp9mEIiwicnBjLWNvbW1hbmQtcmVzdWx0Ijoi2KfZhNin2LPYqtis2KfYqNipIiwicnBjLWNvbW1hbmQtZWRpdC1wYXJhbXMiOiLYqtit2LHZitixINin2YTZhdi52YTZhdin2KoiLCJnYXRld2F5LWNvbmZpZ3VyYXRpb24iOiLYqtmD2YjZitmGINi52KfZhSIsImRvY2tlci1sYWJlbCI6Itin2LPYqtiu2K/ZhSDYp9mE2KrYudmE2YrZhdin2Kog2KfZhNiq2KfZhNmK2Kkg2YTYqti02LrZitmEIElvVCBHYXRld2F5INmB2YogRG9ja2VyIGNvbXBvc2Ug2YXYuSDYqNmK2KfZhtin2Kog2KfYudiq2YXYp9ivINmE2YTYrNmH2KfYsiDYp9mE2YXYrdiv2K8iLCJpbnN0YWxsLWRvY2tlci1jb21wb3NlIjoi2KfYs9iq2K7Yr9mFINin2YTYqti52YTZitmF2KfYqiDZhNiq2YbYstmK2YQg2YjYqtir2KjZitiqINmI2KXYudiv2KfYryBkb2NrZXIgY29tcG9zZSIsImRvd25sb2FkLWNvbmZpZ3VyYXRpb24tZmlsZSI6Itiq2YbYstmK2YQg2YXZhNmBINin2YTYqtmD2YjZitmGIiwiZG93bmxvYWQtZG9ja2VyLWNvbXBvc2UiOiLYqtmG2LLZitmEIGRvY2tlci1jb21wb3NlLnltbCDZhNio2YjYp9io2KrZgyIsImxhdW5jaC1nYXRld2F5Ijoi2KrYtNi62YrZhCDYp9mE2KjZiNin2KjYqSIsImxhdW5jaC1kb2NrZXItY29tcG9zZSI6Itio2K/YoSDYqti02LrZitmEINin2YTYqNmI2KfYqNipINio2KfYs9iq2K7Yr9in2YUg2KfZhNij2YXYsSDYp9mE2KrYp9mE2Yog2YHZiiDYp9mE2LfYsdmB2YrYqSDZhdmGINin2YTZhdis2YTYryDYp9mE2LDZiiDZitit2KrZiNmKINi52YTZiSDZhdmE2YEgZG9ja2VyLWNvbXBvc2UueW1sIiwiY3JlYXRlLW5ldy1nYXRld2F5Ijoi2KXZhti02KfYoSDYqNmI2KfYqNipINis2K/Zitiv2KkiLCJjcmVhdGUtbmV3LWdhdGV3YXktdGV4dCI6ItmH2YQg2KPZhtiqINmF2KrYo9mD2K8g2KPZhtmDINiq2LHZitivINil2YbYtNin2KEg2KjZiNin2KjYqSDYrNiv2YrYr9ipINio2KfYs9mFOiAne3tnYXRld2F5TmFtZX19J9ifIiwiY3JlYXRlZC10aW1lIjoi2YjZgtiqINin2YTYpdmG2LTYp9ihIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWhlYWRlciI6Itiz2YrYqtmFINit2LDZgSDYp9mE2KrZg9mI2YrZhtin2KoiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctYm9keSI6ItmK2YXZg9mGINiq2LnYt9mK2YQg2KfZhNiq2YPZiNmK2YYg2LnZhiDYqNmP2LnYryDZgdmC2Lcg2KXYsNinINmD2KfZhiDZh9mG2KfZgyDZiNi12YjZhCDYrNiz2K/ZiiDYpdmE2Ykg2KfZhNio2YjYp9io2KkuINiz2KrYqtmFINit2LDZgSDYrNmF2YrYuSDYp9mE2KrZg9mI2YrZhtin2Kog2KfZhNiz2KfYqNmC2KkuPGJyPjxicj4gXG4g2YTYqti52LfZitmEINin2YTYqtmD2YjZitmG2Iwg2KPYr9iu2YQg2KfYs9mFINin2YTYqNmI2KfYqNipINij2K/Zhtin2YciLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaW5wdXQiOiLYp9iz2YUg2KfZhNio2YjYp9io2KkiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaW5wdXQtcmVxdWlyZWQiOiLYp9iz2YUg2KfZhNio2YjYp9io2Kkg2KXZhNiy2KfZhdmKIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWNvbmZpcm0iOiLYpdmK2YLYp9mBINin2YTYqti02LrZitmEIixkZWxldGU6Itit2LDZgSDYp9mE2KrZg9mI2YrZhiIsImRvd25sb2FkLXRpcCI6Itiq2YbYstmK2YQg2YXZhNmBINin2YTYqtmD2YjZitmGIiwiZHJvcC1maWxlIjoi2KPZgdmE2YIg2KfZhNmF2YTZgSDZh9mG2Kcg2KPZiCIsZ2F0ZXdheToi2KfZhNio2YjYp9io2KkiLCJnYXRld2F5LWV4aXN0cyI6Itin2YTYrNmH2KfYsiDYqNmG2YHYsyDYp9mE2KfYs9mFINmF2YjYrNmI2K8g2KjYp9mE2YHYudmELiIsImdhdGV3YXktbmFtZSI6Itin2LPZhSDYp9mE2KjZiNin2KjYqSIsImdhdGV3YXktbmFtZS1yZXF1aXJlZCI6Itin2LPZhSDYp9mE2KjZiNin2KjYqSDZhdi32YTZiNioLiIsImdhdGV3YXktc2F2ZWQiOiLYqtmFINit2YHYuCDYqtmD2YjZitmGINin2YTYqNmI2KfYqNipINio2YbYrNin2K0uIixncnBjOiJHUlBDIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQiOiLZhdmH2YTYqSDYp9mE2KjZgtin2KEg2LnZhNmJINmC2YrYryDYp9mE2K3Zitin2KkgKNio2KfZhNmF2YTZhNmKINir2KfZhtmK2KkpIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcmVxdWlyZWQiOiLZhdmH2YTYqSDYp9mE2KjZgtin2KEg2LnZhNmJINmC2YrYryDYp9mE2K3Zitin2Kkg2YXYt9mE2YjYqNipIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtbWluIjoi2YXZh9mE2Kkg2KfZhNio2YLYp9ihINi52YTZiSDZgtmK2K8g2KfZhNit2YrYp9ipINmE2Kcg2YrZhdmD2YYg2KPZhiDYqtmD2YjZhiDYo9mC2YQg2YXZhiAxIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcGF0dGVybiI6ItmF2YfZhNipINin2YTYqNmC2KfYoSDYudmE2Ykg2YLZitivINin2YTYrdmK2KfYqSDYutmK2LEg2LXYp9mE2K3YqSIsImdycGMta2VlcC1hbGl2ZSI6Itin2YTYqNmC2KfYoSDYudmE2Ykg2YLZitivINin2YTYrdmK2KfYqSAo2KjYp9mE2YXZhNmE2Yog2KvYp9mG2YrYqSkiLCJncnBjLWtlZXAtYWxpdmUtcmVxdWlyZWQiOiLYp9mE2KjZgtin2KEg2LnZhNmJINmC2YrYryDYp9mE2K3Zitin2Kkg2YXYt9mE2YjYqCIsImdycGMta2VlcC1hbGl2ZS1taW4iOiLYp9mE2KjZgtin2KEg2LnZhNmJINmC2YrYryDYp9mE2K3Zitin2Kkg2YTYpyDZitmF2YPZhiDYo9mGINmK2YPZiNmGINij2YLZhCDZhdmGIDEiLCJncnBjLWtlZXAtYWxpdmUtcGF0dGVybiI6Itin2YTYqNmC2KfYoSDYudmE2Ykg2YLZitivINin2YTYrdmK2KfYqSDYutmK2LEg2LXYp9mE2K0iLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MiOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTZhNmI2YLYqiDYqNmK2YYg2KfZhNio2YrZhti62KfYqiAo2KjYp9mE2YXZhNmE2Yog2KvYp9mG2YrYqSkiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcmVxdWlyZWQiOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTZhNmI2YLYqiDYqNmK2YYg2KfZhNio2YrZhti62KfYqiDZhdi32YTZiNioIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLW1pbiI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNmE2YjZgtiqINio2YrZhiDYp9mE2KjZitmG2LrYp9iqINmE2Kcg2YrZhdmD2YYg2KPZhiDZitmD2YjZhiDYo9mC2YQg2YXZhiAxIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLXBhdHRlcm4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTZhNmI2YLYqiDYqNmK2YYg2KfZhNio2YrZhti62KfYqiDYutmK2LEg2LXYp9mE2K0iLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YSI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNmB2KfYtdmEINin2YTYqNmK2YbYuiDYqNiv2YjZhiDYqNmK2KfZhtin2KogKNio2KfZhNmF2YTZhNmKINir2KfZhtmK2KkpIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcmVxdWlyZWQiOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTZgdin2LXZhCDYp9mE2KjZitmG2Log2KjYr9mI2YYg2KjZitin2YbYp9iqINmF2LfZhNmI2KgiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1taW4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTZgdin2LXZhCDYp9mE2KjZitmG2Log2KjYr9mI2YYg2KjZitin2YbYp9iqINmE2Kcg2YrZhdmD2YYg2KPZhiDZitmD2YjZhiDYo9mC2YQg2YXZhiAxIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcGF0dGVybiI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNmB2KfYtdmEINin2YTYqNmK2YbYuiDYqNiv2YjZhiDYqNmK2KfZhtin2Kog2LrZitixINi12KfZhNitIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINin2YTYqNmK2YbYutin2Kog2KjYr9mI2YYg2KjZitin2YbYp9iqIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXJlcXVpcmVkIjoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINin2YTYqNmK2YbYutin2Kog2KjYr9mI2YYg2KjZitin2YbYp9iqINmF2LfZhNmI2KgiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtbWluIjoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINin2YTYqNmK2YbYutin2Kog2KjYr9mI2YYg2KjZitin2YbYp9iqINmE2Kcg2YrZhdmD2YYg2KPZhiDZitmD2YjZhiDYo9mC2YQg2YXZhiAxIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiLYp9mE2K3YryDYp9mE2KPZgti12Ykg2YTYudiv2K8g2KfZhNio2YrZhti62KfYqiDYqNiv2YjZhiDYqNmK2KfZhtin2Kog2LrZitixINi12KfZhNitIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcyI6ItmB2KrYsdipINmB2K3YtSDYp9mE2K7ZhdmI2YQgKNio2KfZhNir2YjYp9mG2YopIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1yZXF1aXJlZCI6ItmB2KrYsdipINmB2K3YtSDYp9mE2K7ZhdmI2YQg2YXYt9mE2YjYqNipIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1taW4iOiLZgdiq2LHYqSDZgdit2LUg2KfZhNiu2YXZiNmEINmE2Kcg2YrZhdmD2YYg2KPZhiDYqtmD2YjZhiDYo9mC2YQg2YXZhiAxIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1wYXR0ZXJuIjoi2YHYqtix2Kkg2YHYrdi1INin2YTYrtmF2YjZhCDYutmK2LEg2LXYp9mE2K3YqSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzIjoi2YHYqtix2Kkg2KfZhNiu2YXZiNmEICjYqNin2YTYq9mI2KfZhtmKKSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLXJlcXVpcmVkIjoi2YHYqtix2Kkg2KfZhNiu2YXZiNmEINmF2LfZhNmI2KjYqSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLW1pbiI6ItmB2KrYsdipINin2YTYrtmF2YjZhCDZhNinINmK2YXZg9mGINij2YYg2KrZg9mI2YYg2KPZgtmEINmF2YYgMSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLXBhdHRlcm4iOiLZgdiq2LHYqSDYp9mE2K7ZhdmI2YQg2LrZitixINi12KfZhNit2KkiLCJqc29uLXBhcnNlIjoiSlNPTiDYutmK2LEg2LXYp9mE2K0uIiwianNvbi1yZXF1aXJlZCI6Itin2YTYrdmC2YQg2YTYpyDZitmF2YPZhiDYo9mGINmK2YPZiNmGINmB2KfYsdi62YvYpy4iLGxvZ3M6e2xvZ3M6Itin2YTYs9is2YTYp9iqIixkYXlzOiLYo9mK2KfZhSIsaG91cnM6Itiz2KfYudin2KoiLG1pbnV0ZXM6Itiv2YLYp9im2YIiLHNlY29uZHM6Itir2YjYp9mG2YoiLCJkYXRlLWZvcm1hdCI6Itiq2YbYs9mK2YIg2KfZhNiq2KfYsdmK2K4iLCJkYXRlLWZvcm1hdC1yZXF1aXJlZCI6Itiq2YbYs9mK2YIg2KfZhNiq2KfYsdmK2K4g2YXYt9mE2YjYqCIsImxvZy1mb3JtYXQiOiLYqtmG2LPZitmCINin2YTYs9is2YQiLCJsb2ctdHlwZSI6ItmG2YjYuSDYp9mE2LPYrNmEIiwibG9nLWZvcm1hdC1yZXF1aXJlZCI6Itiq2YbYs9mK2YIg2KfZhNiz2KzZhCDZhdi32YTZiNioIixyZW1vdGU6Itin2YTYqtiz2KzZitmEINi52YYg2KjZj9i52K8iLCJyZW1vdGUtbG9ncyI6Itin2YTYs9is2YTYp9iqINi52YYg2KjZj9i52K8iLGxvY2FsOiLYp9mE2KrYs9is2YrZhCDYp9mE2YXYrdmE2YoiLGxldmVsOiLZhdiz2KrZiNmJINin2YTYs9is2YQiLCJmaWxlLXBhdGgiOiLZhdiz2KfYsSDYp9mE2YXZhNmBIiwiZmlsZS1wYXRoLXJlcXVpcmVkIjoi2YXYs9in2LEg2KfZhNmF2YTZgSDZhdi32YTZiNioIiwic2F2aW5nLXBlcmlvZCI6ItmB2KrYsdipINit2YHYuCDYp9mE2LPYrNmEIiwic2F2aW5nLXBlcmlvZC1taW4iOiLZgdiq2LHYqSDYrdmB2Lgg2KfZhNiz2KzZhCDZhNinINmK2YXZg9mGINij2YYg2KrZg9mI2YYg2KPZgtmEINmF2YYgMSIsInNhdmluZy1wZXJpb2QtcmVxdWlyZWQiOiLZgdiq2LHYqSDYrdmB2Lgg2KfZhNiz2KzZhCDZhdi32YTZiNio2KkiLCJiYWNrdXAtY291bnQiOiLYudiv2K8g2KfZhNmG2LPYriDYp9mE2KfYrdiq2YrYp9i32YrYqSIsImJhY2t1cC1jb3VudC1taW4iOiLYudiv2K8g2KfZhNmG2LPYriDYp9mE2KfYrdiq2YrYp9i32YrYqSDZhNinINmK2YXZg9mGINij2YYg2YrZg9mI2YYg2KPZgtmEINmF2YYgMSIsImJhY2t1cC1jb3VudC1yZXF1aXJlZCI6Iti52K/YryDYp9mE2YbYs9iuINin2YTYp9it2KrZitin2LfZitipINmF2LfZhNmI2KgifSwibWluLXBhY2stc2VuZC1kZWxheSI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNiq2KPYrtmK2LEg2KXYsdiz2KfZhCDYp9mE2K3YstmF2KkgKNio2KfZhNmF2YTZhNmKINir2KfZhtmK2KkpIiwibWluLXBhY2stc2VuZC1kZWxheS1yZXF1aXJlZCI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNiq2KPYrtmK2LEg2KXYsdiz2KfZhCDYp9mE2K3YstmF2Kkg2YXYt9mE2YjYqCIsIm1pbi1wYWNrLXNlbmQtZGVsYXktbWluIjoi2YTYpyDZitmF2YPZhiDYo9mGINmK2YPZiNmGINin2YTYrdivINin2YTYo9iv2YbZiSDZhNiq2KPYrtmK2LEg2KXYsdiz2KfZhCDYp9mE2K3YstmF2Kkg2KPZgtmEINmF2YYgMCIsIm5vLWNvbm5lY3RvcnMiOiLZhNinINiq2YjYrNivINmF2YjYtdmE2KfYqiIsIm5vLWRhdGEiOiLZhNinINiq2YjYrNivINiq2YPZiNmK2YbYp9iqIiwibm8tZ2F0ZXdheS1mb3VuZCI6ItmE2YUg2YrYqtmFINin2YTYudir2YjYsSDYudmE2Ykg2KjZiNin2KjYqS4iLCJuby1nYXRld2F5LW1hdGNoaW5nIjoiJ3t7aXRlbX19JyDYutmK2LEg2YXZiNis2YjYry4iLCJwYXRoLWxvZ3MiOiLZhdiz2KfYsSDYpdmE2Ykg2YXZhNmB2KfYqiDYp9mE2LPYrNmEIiwicGF0aC1sb2dzLXJlcXVpcmVkIjoi2KfZhNmF2LPYp9ixINmF2LfZhNmI2KguIiwicGVybWl0LXdpdGhvdXQtY2FsbHMiOiLYp9mE2KjZgtin2KEg2LnZhNmJINin2YTYrdmK2KfYqSDZitiz2YXYrSDYqNiv2YjZhiDZhdmD2KfZhNmF2KfYqiIscmVtb3RlOiLYp9mE2KrZg9mI2YrZhiDYudmGINio2Y/YudivIiwicmVtb3RlLWxvZ2dpbmctbGV2ZWwiOiLZhdiz2KrZiNmJINin2YTYqtiz2KzZitmEIiwicmVtb3ZlLWVudHJ5Ijoi2KXYstin2YTYqSDYp9mE2KrZg9mI2YrZhiIsInJlbW90ZS1zaGVsbCI6ItmC2LTYsdipINi52YYg2KjZj9i52K8iLCJyZW1vdGUtY29uZmlndXJhdGlvbiI6Itin2YTYqtmD2YjZitmGINi52YYg2KjZj9i52K8iLG90aGVyOiLYotiu2LEiLCJzYXZlLXRpcCI6Itit2YHYuCDZhdmE2YEg2KfZhNiq2YPZiNmK2YYiLCJzZWN1cml0eS10eXBlIjoi2YbZiNi5INin2YTYo9mF2KfZhiIsInNlY3VyaXR5LXR5cGVzIjp7ImFjY2Vzcy10b2tlbiI6Itix2YXYsiDYp9mE2YjYtdmI2YQiLCJ1c2VybmFtZS1wYXNzd29yZCI6Itin2LPZhSDYp9mE2YXYs9iq2K7Yr9mFINmI2YPZhNmF2Kkg2KfZhNmF2LHZiNixIix0bHM6IlRMUyIsInRscy1hY2Nlc3MtdG9rZW4iOiJUTFMgKyDYsdmF2LIg2KfZhNmI2LXZiNmEIiwidGxzLXByaXZhdGUta2V5IjoiVExTICsg2KfZhNmF2YHYqtin2K0g2KfZhNiu2KfYtSJ9LCJzZXJ2ZXItcG9ydCI6ItmF2YbZgdiwINin2YTYrtin2K/ZhSIsc3RhdGlzdGljczp7c3RhdGlzdGljOiLYpdit2LXYp9im2YrYqSIsc3RhdGlzdGljczoi2KfZhNil2K3Ytdin2KbZitin2KoiLCJzdGF0aXN0aWMtY29tbWFuZHMtZW1wdHkiOiLZhNinINiq2KrZiNmB2LEg2KXYrdi12KfYptmK2KfYqiIsY29tbWFuZHM6Itin2YTYo9mI2KfZhdixIiwic2VuZC1wZXJpb2QiOiLZgdiq2LHYqSDYpdix2LPYp9mEINin2YTYpdit2LXYp9im2YrYp9iqICjYqNin2YTYq9mI2KfZhtmKKSIsInNlbmQtcGVyaW9kLXJlcXVpcmVkIjoi2YHYqtix2Kkg2KXYsdiz2KfZhCDYp9mE2KXYrdi12KfYptmK2KfYqiDZhdi32YTZiNio2KkiLCJzZW5kLXBlcmlvZC1taW4iOiLZhNinINmK2YXZg9mGINij2YYg2KrZg9mI2YYg2YHYqtix2Kkg2KXYsdiz2KfZhCDYp9mE2KXYrdi12KfYptmK2KfYqiDYo9mC2YQg2YXZhiA2MCIsInNlbmQtcGVyaW9kLXBhdHRlcm4iOiLZgdiq2LHYqSDYpdix2LPYp9mEINin2YTYpdit2LXYp9im2YrYp9iqINi62YrYsSDYtdin2YTYrdipIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uIjoi2YHYqtix2Kkg2YHYrdi1INiq2YPZiNmK2YYg2KfZhNmF2YjYtdmE2KfYqiAo2KjYp9mE2KvZiNin2YbZiikiLCJjaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tcmVxdWlyZWQiOiLZgdiq2LHYqSDZgdit2LUg2KrZg9mI2YrZhiDYp9mE2YXZiNi12YTYp9iqINmF2LfZhNmI2KjYqSIsImNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbi1taW4iOiLZhNinINmK2YXZg9mGINij2YYg2KrZg9mI2YYg2YHYqtix2Kkg2YHYrdi1INiq2YPZiNmK2YYg2KfZhNmF2YjYtdmE2KfYqiDYo9mC2YQg2YXZhiAxIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXBhdHRlcm4iOiLZgdiq2LHYqSDZgdit2LUg2KrZg9mI2YrZhiDYp9mE2YXZiNi12YTYp9iqINi62YrYsSDYtdin2YTYrdipIixhZGQ6Itil2LbYp9mB2Kkg2KPZhdixIix0aW1lb3V0OiLYp9mE2YXZh9mE2KkiLCJ0aW1lb3V0LW1zIjoi2KfZhNmF2YfZhNipICjYqNin2YTZhdmE2YTZiiDYq9in2YbZitipKSIsInRpbWVvdXQtcmVxdWlyZWQiOiLYp9mE2YXZh9mE2Kkg2YXYt9mE2YjYqNipIiwidGltZW91dC1taW4iOiLZhNinINmK2YXZg9mGINij2YYg2KrZg9mI2YYg2KfZhNmF2YfZhNipINij2YLZhCDZhdmGIDEiLCJ0aW1lb3V0LXBhdHRlcm4iOiLYp9mE2YXZh9mE2Kkg2LrZitixINi12KfZhNit2KkiLCJhdHRyaWJ1dGUtbmFtZSI6Itin2LPZhSDYp9mE2LPZhdipIiwiYXR0cmlidXRlLW5hbWUtcmVxdWlyZWQiOiLYp9iz2YUg2KfZhNiz2YXYqSDZhdi32YTZiNioIixjb21tYW5kOiLYp9mE2KPZhdixIiwiY29tbWFuZC1yZXF1aXJlZCI6Itin2YTYo9mF2LEg2YXYt9mE2YjYqCIsImNvbW1hbmQtcGF0dGVybiI6Itin2YTYo9mF2LEg2LrZitixINi12KfZhNitIixyZW1vdmU6Itil2LLYp9mE2Kkg2KfZhNij2YXYsSJ9LHN0b3JhZ2U6Itin2YTYqtiu2LLZitmGIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoi2KfZhNiz2KzZhNin2Kog2KfZhNmC2LXZiNmJINmB2Yog2KfZhNmF2YTZgSIsInN0b3JhZ2UtbWF4LWZpbGVzIjoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINin2YTZhdmE2YHYp9iqIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoi2KfZhNit2K8g2KfZhNij2K/ZhtmJINmH2YggMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoi2KfZhNi52K/YryDYutmK2LEg2LXYp9mE2K0uIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiLYp9mE2LnYr9ivINmF2LfZhNmI2KguIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Itin2YTYs9is2YTYp9iqINin2YTZgti12YjZiSDZgdmKINin2YTYqtiu2LLZitmGIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1taW4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTYudiv2K8g2KfZhNiz2KzZhNin2Kog2YfZiCAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6Itin2YTYudiv2K8g2LrZitixINi12KfZhNitLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiLYp9mE2LPYrNmE2KfYqiDYp9mE2YLYtdmI2Ykg2YXYt9mE2YjYqNipLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQiOiLYudiv2K8g2YLYsdin2KHYqSDYp9mE2LPYrNmE2KfYqiDZgdmKINin2YTYqtiu2LLZitmGIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1taW4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTYudiv2K8g2KfZhNiz2KzZhNin2Kog2YfZiCAxLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVybiI6Itin2YTYudiv2K8g2LrZitixINi12KfZhNitLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcmVxdWlyZWQiOiLYudiv2K8g2YLYsdin2KHYqSDYp9mE2LPYrNmE2KfYqiDZhdi32YTZiNioLiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50Ijoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINmC2LHYp9ih2Kkg2KfZhNiz2KzZhNin2Kog2YHZiiDYp9mE2KrYrtiy2YrZhiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LW1pbiI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNi52K/YryDYp9mE2LPYrNmE2KfYqiDZh9mIIDEuIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVybiI6Itin2YTYudiv2K8g2LrZitixINi12KfZhNitLiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkIjoi2LnYr9ivINin2YTZgtix2KfYodipINin2YTZgti12YjZiSDZhdi32YTZiNioLiIsInN0b3JhZ2UtZGF0YS1mb2xkZXItcGF0aCI6ItmF2LPYp9ixINmF2KzZhNivINin2YTYqNmK2KfZhtin2KoiLCJzdG9yYWdlLWRhdGEtZm9sZGVyLXBhdGgtcmVxdWlyZWQiOiLZhdiz2KfYsSDZhdis2YTYryDYp9mE2KjZitin2YbYp9iqINmF2LfZhNmI2KguIiwic3RvcmFnZS1wYWNrLXNpemUiOiLYp9mE2K3YryDYp9mE2KPZgti12Ykg2YTYrdis2YUg2K3YstmF2Kkg2KfZhNit2K/YqyIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZh9mIIDEuIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6Itin2YTYudiv2K8g2LrZitixINi12KfZhNitLiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoi2KfZhNit2KzZhSDYp9mE2KPZgti12Ykg2YTYrdiy2YXYqSDYp9mE2K3Yr9irINmF2LfZhNmI2KguIiwic3RvcmFnZS1wYXRoIjoi2YXYs9in2LEg2KfZhNiq2K7YstmK2YYiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiLZhdiz2KfYsSDYp9mE2KrYrtiy2YrZhiDZhdi32YTZiNioLiIsInN0b3JhZ2UtdHlwZSI6ItmG2YjYuSDYp9mE2KrYrtiy2YrZhiIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoi2KrYrtiy2YrZhiDYp9mE2YXZhNmB2KfYqiIsIm1lbW9yeS1zdG9yYWdlIjoi2KrYrtiy2YrZhiDYp9mE2LDYp9mD2LHYqSIsc3FsaXRlOiJTUUxJVEUifSx0aGluZ3Nib2FyZDoi2KvZitmG2LrYstio2YjYsdivIixnZW5lcmFsOiLYudin2YUiLCJ0aGluZ3Nib2FyZC1ob3N0Ijoi2YXYttmK2YEg2KvZitmG2LrYstio2YjYsdivIiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6Itin2YTZhdi22YrZgSDZhdi32YTZiNioLiIsInRoaW5nc2JvYXJkLXBvcnQiOiLZhdmG2YHYsCDYq9mK2YbYutiy2KjZiNix2K8iLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6Itin2YTYrdivINin2YTYo9mC2LXZiSDZhNix2YLZhSDYp9mE2YXZhtmB2LAg2YfZiCA2NTUzNS4iLCJ0aGluZ3Nib2FyZC1wb3J0LW1pbiI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNix2YLZhSDYp9mE2YXZhtmB2LAg2YfZiCAxLiIsInRoaW5nc2JvYXJkLXBvcnQtcGF0dGVybiI6Itin2YTZhdmG2YHYsCDYutmK2LEg2LXYp9mE2K0uIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6Itin2YTZhdmG2YHYsCDZhdi32YTZiNioLiIsdGlkeToi2KrYsdiq2YrYqCIsInRpZHktdGlwIjoi2KrYsdiq2YrYqCDYqtmD2YjZitmGIEpTT04iLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiLYqtmD2YjZitmGINmF2YjYtdmEIHt7dHlwZU5hbWV9fSIsInRscy1wYXRoLWNhLWNlcnRpZmljYXRlIjoi2KfZhNmF2LPYp9ixINil2YTZiSDYtNmH2KfYr9ipIENBINi52YTZiSDYp9mE2KjZiNin2KjYqSIsInRscy1wYXRoLWNsaWVudC1jZXJ0aWZpY2F0ZSI6Itin2YTZhdiz2KfYsSDYpdmE2Ykg2LTZh9in2K/YqSDYp9mE2LnZhdmK2YQg2LnZhNmJINin2YTYqNmI2KfYqNipIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzIjoi2YHYrdi1IFRUTCDYp9mE2LHYs9in2KbZhCDYqNin2YTYs9in2LnYp9iqIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXJlcXVpcmVkIjoi2YrYrNioINiq2K3Yr9mK2K8g2YHYrdi1IFRUTCDYp9mE2LHYs9in2KbZhCDYqNin2YTYs9in2LnYp9iqLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1taW4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YfZiCAxLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1wYXR0ZXJuIjoi2KfZhNix2YLZhSDYutmK2LEg2LXYp9mE2K0uIiwibWVzc2FnZXMtdHRsLWluLWRheXMiOiJUVEwg2KfZhNix2LPYp9im2YQg2KjYp9mE2KPZitin2YUiLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1yZXF1aXJlZCI6ItmK2KzYqCDYqtit2K/ZitivIFRUTCDYp9mE2LHYs9in2KbZhCDYqNin2YTYo9mK2KfZhS4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1taW4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YfZiCAxLiIsIm1lc3NhZ2VzLXR0bC1pbi1kYXlzLXBhdHRlcm4iOiLYp9mE2LHZgtmFINi62YrYsSDYtdin2YTYrS4iLCJtcXR0LXFvcyI6Itis2YjYr9ipINin2YTYrtiv2YXYqSAoUW9TKSIsIm1xdHQtcW9zLXJlcXVpcmVkIjoi2KzZiNiv2Kkg2KfZhNiu2K/ZhdipIChRb1MpINmF2LfZhNmI2KjYqSIsIm1xdHQtcW9zLXJhbmdlIjoi2KrYqtix2KfZiNitINmC2YrZhSDYrNmI2K/YqSDYp9mE2K7Yr9mF2KkgKFFvUykg2YXZhiAwINil2YTZiSAxIiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiLYp9mE2YXYs9in2LEg2KXZhNmJINin2YTZhdmB2KrYp9itINin2YTYrtin2LUg2LnZhNmJINin2YTYqNmI2KfYqNipIiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiLYqtio2K/ZitmEINmI2LbYuSDZhdmE2KEg2KfZhNi02KfYtNipIiwidHJhbnNmb3JtZXItanNvbi1jb25maWciOiLYqtmD2YjZitmGIEpTT04qIiwidXBkYXRlLWNvbmZpZyI6Itil2LbYp9mB2Kkv2KrYrdiv2YrYqyDYqtmD2YjZitmGIEpTT04iLGhpbnRzOnsicmVtb3RlLWNvbmZpZ3VyYXRpb24iOiLZitmF2YPZhtmDINiq2YXZg9mK2YYg2KfZhNiq2YPZiNmK2YYg2YjYpdiv2KfYsdipINin2YTYqNmI2KfYqNipINi52YYg2KjZj9i52K8iLCJyZW1vdGUtc2hlbGwiOiLZitmF2YPZhtmDINiq2YXZg9mK2YYg2KfZhNiq2K3Zg9mFINin2YTYqNi52YrYryDZgdmKINmG2LjYp9mFINin2YTYqti02LrZitmEINmF2Lkg2KfZhNio2YjYp9io2Kkg2YXZhiDYudmG2LXYsSDZiNin2KzZh9ipINin2YTZhdiz2KrYrtiv2YUg2YLYtNix2Kkg2LnZhiDYqNmP2LnYryIsaG9zdDoi2KfYs9mFINin2YTZhdi22YrZgSDYo9mIINi52YbZiNin2YYgSVAg2YTYrtin2K/ZhSDYq9mK2YbYutiy2KjZiNix2K8iLHBvcnQ6ItmF2YbZgdiwINiu2K/ZhdipIE1RVFQg2LnZhNmJINiu2KfYr9mFINir2YrZhti62LLYqNmI2LHYryIsdG9rZW46Itix2YXYsiDYp9mE2YjYtdmI2YQg2YTZhNio2YjYp9io2Kkg2YXZhiDYrtin2K/ZhSDYq9mK2YbYutiy2KjZiNix2K8iLCJjbGllbnQtaWQiOiLZhdi52LHZgSDYudmF2YrZhCBNUVRUINmE2YTYqNmI2KfYqNipINmF2YYg2K7Yp9iv2YUg2KvZitmG2LrYstio2YjYsdivIix1c2VybmFtZToi2KfYs9mFINin2YTZhdiz2KrYrtiv2YUgTVFUVCDZhNmE2KjZiNin2KjYqSDZhdmGINiu2KfYr9mFINir2YrZhti62LLYqNmI2LHYryIscGFzc3dvcmQ6ItmD2YTZhdipINin2YTZhdix2YjYsSBNUVRUINmE2YTYqNmI2KfYqNipINmF2YYg2K7Yp9iv2YUg2KvZitmG2LrYstio2YjYsdivIiwiY2EtY2VydCI6Itin2YTZhdiz2KfYsSDYpdmE2Ykg2YXZhNmBINi02YfYp9iv2KkgQ0EiLCJkYXRlLWZvcm0iOiLYqtmG2LPZitmCINin2YTYqtin2LHZitiuINmB2Yog2LHYs9in2YTYqSDYp9mE2LPYrNmEIiwiZGF0YS1mb2xkZXIiOiLYp9mE2YXYs9in2LEg2KXZhNmJINin2YTZhdis2YTYryDYp9mE2LDZiiDYs9mK2K3YqtmI2Yog2LnZhNmJINin2YTYqNmK2KfZhtin2KogKNmG2LPYqNmKINij2Ygg2YXYt9mE2YIpIiwibG9nLWZvcm1hdCI6Itiq2YbYs9mK2YIg2LHYs9in2YTYqSDYp9mE2LPYrNmEIiwicmVtb3RlLWxvZyI6ItmK2YXZg9mG2YMg2KrZhdmD2YrZhiDYp9mE2KrYs9is2YrZhCDYp9mE2KjYudmK2K8g2YjZgtix2KfYodipINin2YTYs9is2YTYp9iqINmF2YYg2KfZhNio2YjYp9io2KkiLCJiYWNrdXAtY291bnQiOiLYpdiw2Kcg2YPYp9mGINi52K/YryDYp9mE2YbYs9iuINin2YTYp9it2KrZitin2LfZitipID4gMNiMINi52YbYryDYudmF2YTZitipINiq2K/ZiNmK2LHYjCDZhNinINmK2KrZhSDYp9mE2KfYrdiq2YHYp9i4INio2KPZg9ir2LEg2YXZhiDYudiv2K8g2KfZhNmG2LPYriDYp9mE2KfYrdiq2YrYp9i32YrYqSDYp9mE2YXYrdiv2K/YqSAtINmK2KrZhSDYrdiw2YEg2KfZhNij2YLYr9mFIixzdG9yYWdlOiLZitmI2YHYsSDYqtmD2YjZitmG2YvYpyDZhNit2YHYuCDYp9mE2KjZitin2YbYp9iqINin2YTZiNin2LHYr9ipINmC2KjZhCDYpdix2LPYp9mE2YfYpyDYpdmE2Ykg2KfZhNmF2YbYtdipIiwibWF4LWZpbGUtY291bnQiOiLYp9mE2LnYr9ivINin2YTYo9mC2LXZiSDZhNi52K/YryDYp9mE2YXZhNmB2KfYqiDYp9mE2KrZiiDYs9mK2KrZhSDYpdmG2LTYp9ik2YfYpyIsIm1heC1yZWFkLWNvdW50Ijoi2LnYr9ivINin2YTYsdiz2KfYptmEINmE2YTYrdi12YjZhCDYudmE2YrZh9inINmF2YYg2KfZhNiq2K7YstmK2YYg2YjYpdix2LPYp9mE2YfYpyDYpdmE2Ykg2KvZitmG2LrYstio2YjYsdivIiwibWF4LXJlY29yZHMiOiLYp9mE2LnYr9ivINin2YTYo9mC2LXZiSDZhNmE2LPYrNmE2KfYqiDYp9mE2KrZiiDYs9iq2K7YstmGINmB2Yog2YXZhNmBINmI2KfYrdivIiwicmVhZC1yZWNvcmQtY291bnQiOiLYudiv2K8g2KfZhNix2LPYp9im2YQg2YTZhNit2LXZiNmEINi52YTZitmH2Kcg2YXZhiDYp9mE2KrYrtiy2YrZhiDZiNil2LHYs9in2YTZh9inINil2YTZiSDYq9mK2YbYutiy2KjZiNix2K8iLCJtYXgtcmVjb3Jkcy1jb3VudCI6Itin2YTYudiv2K8g2KfZhNij2YLYtdmJINmE2YTYqNmK2KfZhtin2Kog2YHZiiDYp9mE2KrYrtiy2YrZhiDZgtio2YQg2KXYsdiz2KfZhNmH2Kcg2KXZhNmJINir2YrZhti62LLYqNmI2LHYryIsInR0bC1jaGVjay1ob3VyIjoi2YPZhSDZhdix2Kkg2LPZitiq2K3ZgtmCINin2YTYqNmI2KfYqNipINmF2YYg2KfZhNio2YrYp9mG2KfYqiDYp9mE2YLYr9mK2YXYqSIsInR0bC1tZXNzYWdlcy1kYXkiOiLYp9mE2K3YryDYp9mE2KPZgti12Ykg2YTYudiv2K8g2KfZhNij2YrYp9mFINin2YTYqtmKINiz2KrYrdiq2YHYuCDZgdmK2YfYpyDYp9mE2KrYrtiy2YrZhiDYqNin2YTYqNmK2KfZhtin2KoiLGNvbW1hbmRzOiLYp9mE2KPZiNin2YXYsSDZhNis2YXYuSDYp9mE2KXYrdi12KfYptmK2KfYqiDYp9mE2KXYttin2YHZitipIixhdHRyaWJ1dGU6ItmF2YHYqtin2K0g2KrZhNmC2Yog2KfZhNil2K3Ytdin2KbZitin2KoiLHRpbWVvdXQ6ItmF2YfZhNipINiy2YXZhtmK2Kkg2YTYqtmG2YHZitiwINin2YTYo9mF2LEiLGNvbW1hbmQ6Itiz2YrYqtmFINin2LPYqtiu2K/Yp9mFINmG2KrZitis2Kkg2KrZhtmB2YrYsCDYp9mE2KPZhdixINmD2YLZitmF2Kkg2YTYqtmE2YLZiiDYp9mE2KXYrdi12KfYptmK2KfYqiIsImNoZWNrLWRldmljZS1hY3Rpdml0eSI6ItmK2YXZg9mG2YMg2KrZhdmD2YrZhiDZhdix2KfZgtio2Kkg2YbYtNin2Lcg2YPZhCDYrNmH2KfYsiDZhdiq2LXZhCIsImluYWN0aXZpdHktdGltZW91dCI6Itin2YTZiNmC2Kog2KjYudivINin2YTYsNmKINiz2KrZgdi12YQg2KfZhNio2YjYp9io2Kkg2KfZhNis2YfYp9iyIiwiaW5hY3Rpdml0eS1wZXJpb2QiOiLYqtmD2LHYp9ixINmB2K3YtSDZhti02KfYtyDYp9mE2KzZh9in2LIiLCJtaW5pbWFsLXBhY2stZGVsYXkiOiLYp9mE2KrYo9iu2YrYsSDYqNmK2YYg2KXYsdiz2KfZhCDYrdiy2YUg2KfZhNix2LPYp9im2YQgKNmK2KTYr9mKINiq2YLZhNmK2YQg2YfYsNinINin2YTYpdi52K/Yp9ivINil2YTZiSDYstmK2KfYr9ipINin2LPYqtiu2K/Yp9mFINmI2K3Yr9ipINin2YTZhdi52KfZhNis2Kkg2KfZhNmF2LHZg9iy2YrYqSkiLHFvczoi2KzZiNiv2Kkg2KfZhNiu2K/ZhdipINmB2Yog2LHYs9in2KbZhCBNUVRUICgwIC0g2LnZhNmJINin2YTYo9mD2KvYsSDZhdix2Kkg2YjYp9it2K/YqdiMIDEgLSDYudmE2Ykg2KfZhNij2YLZhCDZhdix2Kkg2YjYp9it2K/YqSkiLCJzZXJ2ZXItcG9ydCI6ItmF2YbZgdiwINin2YTYtNio2YPYqSDYp9mE2LDZiiDYs9mK2LPYqtmF2Lkg2YHZitmHINiu2KfYr9mFIEdSUEMg2YTZhNin2LPYqtmB2LPYp9ix2KfYqiDYp9mE2YjYp9ix2K/YqS4iLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dCI6Itin2YTYrdivINin2YTYo9mC2LXZiSDZhNmE2YjZgtiqINin2YTYsNmKINmK2KzYqCDYo9mGINmK2YbYqti42LHZhyDYp9mE2K7Yp9iv2YUg2YTYp9iz2KrYrNin2KjYqSDYsdiz2KfZhNipINin2YTYrdmB2KfYuCDYudmE2Ykg2KfZhNin2KrYtdin2YQg2YLYqNmEINin2LnYqtio2KfYsSDYp9mE2KfYqti12KfZhCDZhdmK2KrZi9inLiIsImdycGMta2VlcC1hbGl2ZSI6Itin2YTZhdiv2Kkg2KjZitmGINix2LPYp9im2YQg2K3Zgdi4INin2YTYp9iq2LXYp9mEINin2YTZhdiq2LnYp9mC2KjYqSDYudmG2K8g2LnYr9mFINmI2KzZiNivINin2LPYqtiv2LnYp9ihIFJQQyDZhti02LcuIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzIjoi2KfZhNit2K8g2KfZhNij2K/ZhtmJINmE2YTZiNmC2Kog2KfZhNiw2Yog2YrYrNioINmB2YrZhyDYo9mGINmK2YbYqti42LEg2KfZhNiu2KfYr9mFINio2YrZhiDYpdix2LPYp9mEINix2LPYp9im2YQg2K3Zgdi4INin2YTYp9iq2LXYp9mEIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINix2LPYp9im2YQg2K3Zgdi4INin2YTYp9iq2LXYp9mEINin2YTYqtmKINmK2YXZg9mGINmE2YTYrtin2K/ZhSDYpdix2LPYp9mE2YfYpyDYr9mI2YYg2KrZhNmC2Yog2KPZiiDYqNmK2KfZhtin2Kog2YLYqNmEINin2LnYqtio2KfYsSDYp9mE2KfYqti12KfZhCDZhdmK2KrZi9inLiIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhIjoi2KfZhNit2K8g2KfZhNij2K/ZhtmJINmE2YTZiNmC2Kog2KfZhNiw2Yog2YrYrNioINmB2YrZhyDYo9mGINmK2YbYqti42LEg2KfZhNiu2KfYr9mFINio2YrZhiDYpdix2LPYp9mEINix2LPYp9im2YQg2K3Zgdi4INin2YTYp9iq2LXYp9mEINi52YbYryDYudiv2YUg2KXYsdiz2KfZhCDYo9mIINin2LPYqtmE2KfZhSDYqNmK2KfZhtin2KouIiwicGVybWl0LXdpdGhvdXQtY2FsbHMiOiLYp9mE2LPZhdin2K0g2YTZhNiu2KfYr9mFINio2KXYqNmC2KfYoSDYp9iq2LXYp9mEIEdSUEMg2K3ZitmL2Kcg2K3YqtmJINi52YbYr9mF2Kcg2YTYpyDYqtmD2YjZhiDZh9mG2KfZgyDYp9iz2KrYr9i52KfYodin2KogUlBDINmG2LTYt9ipLiJ9fSxWbz17ImFkZC1lbnRyeSI6IkFmZWdpciBjb25maWd1cmFjacOzIiwiY29ubmVjdG9yLWFkZCI6IkFmZWdpciBjb25lY3RvciIsImNvbm5lY3Rvci1lbmFibGVkIjoiQWN0aXZhciBjb25lY3RvciIsImNvbm5lY3Rvci1uYW1lIjoiTm9tIGNvbmVjdG9yIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiJDYWwgbm9tIGNvbmVjdG9yLiIsImNvbm5lY3Rvci10eXBlIjoiVGlwdXMgY29uZWN0b3IiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IkNhbCB0aXB1cyBjb25lY3Rvci4iLGNvbm5lY3RvcnM6IkNvbmZpZ3VyYWNpw7MgZGUgY29uZWN0b3JzIiwiY3JlYXRlLW5ldy1nYXRld2F5IjoiQ3JlYXIgdW4gZ2F0ZXdheSBub3UiLCJjcmVhdGUtbmV3LWdhdGV3YXktdGV4dCI6IkNyZWFyIHVuIG5vdSBnYXRld2F5IGFtYiBlbCBub206ICd7e2dhdGV3YXlOYW1lfX0nPyIsZGVsZXRlOiJFc2JvcnJhciBjb25maWd1cmFjacOzIiwiZG93bmxvYWQtdGlwIjoiRGVzY2FycmVnYXIgZml0eGVyIGRlIGNvbmZpZ3VyYWNpw7MiLGdhdGV3YXk6IkdhdGV3YXkiLCJnYXRld2F5LWV4aXN0cyI6IkphIGV4aXN0ZWl4IHVuIGRpc3Bvc2l0aXUgYW1iIGVsIG1hdGVpeCBub20uIiwiZ2F0ZXdheS1uYW1lIjoiTm9tIGRlIEdhdGV3YXkiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJDYWwgdW4gbm9tIGRlIGdhdGV3YXkuIiwiZ2F0ZXdheS1zYXZlZCI6IkNvbmZpZ3VyYWNpw7MgZGUgZ2F0ZXdheSBncmF2YWRhIHNhdGlzZmFjdMOycmlhbWVudC4iLCJqc29uLXBhcnNlIjoiSlNPTiBubyB2w6BsaWQuIiwianNvbi1yZXF1aXJlZCI6IkVsIGNhbXAgbm8gcG90IHNlciBidWl0LiIsIm5vLWNvbm5lY3RvcnMiOiJObyBoaSBoYSBjb25lY3RvcnMiLCJuby1kYXRhIjoiTm8gaGkgaGEgY29uZmlndXJhY2lvbnMiLCJuby1nYXRld2F5LWZvdW5kIjoiTm8gcydoYSB0cm9iYXQgY2FwIGdhdGV3YXkuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5vIHRyb2JhdC4iLCJwYXRoLWxvZ3MiOiJSdXRhIGFscyBmaXR4ZXJzIGRlIGxvZyIsInBhdGgtbG9ncy1yZXF1aXJlZCI6IkNhbCBydXRhLiIscmVtb3RlOiJDb25maWd1cmFjacOzIHJlbW90YSIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoiTml2ZWwgZGUgbG9nZ2luZyIsInJlbW92ZS1lbnRyeSI6IkVzYm9ycmFyIGNvbmZpZ3VyYWNpw7MiLCJzYXZlLXRpcCI6IkdyYXZhciBmaXR4ZXIgZGUgY29uZmlndXJhY2nDsyIsInNlY3VyaXR5LXR5cGUiOiJUaXB1cyBkZSBzZWd1cmV0YXQiLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJUb2tlbiBkJ2FjY8OpcyIsdGxzOiJUTFMifSxzdG9yYWdlOiJHcmFiYWNpw7MiLCJzdG9yYWdlLW1heC1maWxlLXJlY29yZHMiOiJOw7ptZXJvIG3DoHhpbSBkZSByZWdpc3RyZXMgZW4gZml0eGVyIiwic3RvcmFnZS1tYXgtZmlsZXMiOiJOw7ptZXJvIG3DoHhpbSBkZSBmaXR4ZXJzIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoiRWwgbsO6bWVybyBtw61uaW0gw6lzIDEuIiwic3RvcmFnZS1tYXgtZmlsZXMtcGF0dGVybiI6Ik7Dum1lcm8gbm8gdsOgbGlkLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXJlcXVpcmVkIjoiQ2FsIG7Dum1lcm8uIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik3DoHhpbSBkZSByZWdpc3RyZXMgZW4gZWwgbWFnYXR6ZW0iLCJzdG9yYWdlLW1heC1yZWNvcmRzLW1pbiI6IkVsIG7Dum1lcm8gbcOtbmltIMOpcyAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6Ik7Dum1lcm8gbm8gdsOgbGlkLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJDYWwgbsO6bWVyby4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6Ik1pZGEgbcOgeGltIGRlIGVzZGV2ZW5pbWVudHMiLCJzdG9yYWdlLXBhY2stc2l6ZS1taW4iOiJFbCBuw7ptZXJvIG3DrW5pbSDDqXMgMS4iLCJzdG9yYWdlLXBhY2stc2l6ZS1wYXR0ZXJuIjoiTsO6bWVybyBubyB2w6BsaWQuIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiJDYWwgbsO6bWVyby4iLCJzdG9yYWdlLXBhdGgiOiJSdXRhIGRlIG1hZ2F0emVtIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoiQ2FsIHJ1dGEgZGUgbWFnYXR6ZW0uIiwic3RvcmFnZS10eXBlIjoiVGlwdXMgZGUgbWFnYXR6ZW0iLCJzdG9yYWdlLXR5cGVzIjp7ImZpbGUtc3RvcmFnZSI6Ik1hZ2F0emVtIGZpdHhlciIsIm1lbW9yeS1zdG9yYWdlIjoiTWFnYXR6ZW0gZW4gbWVtb3JpYSJ9LHRoaW5nc2JvYXJkOiJUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QiOiJIb3N0IFRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6IkNhbCBIb3N0LiIsInRoaW5nc2JvYXJkLXBvcnQiOiJQb3J0IFRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtcG9ydC1tYXgiOiJFbCBwb3J0IG3DoHhpbSDDqXMgNjU1MzUuIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiJFbCBwb3J0IG3DrW5pbSDDqXMgMS4iLCJ0aGluZ3Nib2FyZC1wb3J0LXBhdHRlcm4iOiJQb3J0IG5vIHbDoGxpZC4iLCJ0aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkIjoiQ2FsIHBvcnQuIix0aWR5OiJFbmRyZcOnYXQiLCJ0aWR5LXRpcCI6IkVuZHJlw6dhdCBKU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoiQ29uZmlndXJhY2nDsyBjb25lY3RvciB7e3R5cGVOYW1lfX0iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IlJ1dGEgYWwgY2VydGlmaWNhdCBDQSBhbCBnYXRld2F5IiwidGxzLXBhdGgtY2xpZW50LWNlcnRpZmljYXRlIjoiUnV0YSBhbCBjZXJ0aWZpY2F0IGNsaWVudCBhbCBnYXRld2F5IiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiJSdXRhIGEgbGEgY2xhdSBwcml2YWRhIGFsIGdhdGV3YXkiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlBhbnRhbGxhIGNvbXBsZXRhIGZ1bGxzY3JlZW4iLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IkNvbmZpZ3VyYWNpw7MgSlNPTioiLCJ1cGRhdGUtY29uZmlnIjoiQWZlZ2lyL2FjdHVhbGl6YXIgY29uZmlndXJhY2nDsyBKU09OIn0sQm89eyJhZGQtZW50cnkiOiJQxZlpZGF0IGtvbmZpZ3VyYWNpIiwiY29ubmVjdG9yLWFkZCI6IlDFmWlkYXQgbm92w70ga29uZWt0b3IiLCJjb25uZWN0b3ItZW5hYmxlZCI6IlBvdm9saXQga29uZWt0b3IiLCJjb25uZWN0b3ItbmFtZSI6Ik7DoXpldiBrb25la3RvcnUiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6Ik7DoXpldiBrb25la3RvcnUgamUgcG92aW5uw70uIiwiY29ubmVjdG9yLXR5cGUiOiJUeXAga29uZWt0b3J1IiwiY29ubmVjdG9yLXR5cGUtcmVxdWlyZWQiOiJUeXAga29uZWt0b3J1IGplIHBvdmlubsO9LiIsY29ubmVjdG9yczoiS29uZmlndXJhY2Uga29uZWt0b3J1IiwiY3JlYXRlLW5ldy1nYXRld2F5IjoiVnl0dm/FmWl0IG5vdm91IGJyw6FudSIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiSnN0ZSBzaSBqaXN0aSwgxb5lIGNoY2V0ZSB2eXR2b8WZaXQgbm92b3UgYnLDoW51IHMgbsOhenZlbTogJ3t7Z2F0ZXdheU5hbWV9fSc/IixkZWxldGU6IlNtYXphdCBrb25maWd1cmFjaSIsImRvd25sb2FkLXRpcCI6IlN0w6Fobm91dCBzb3Vib3Iga29uZmlndXJhY2UiLGdhdGV3YXk6IkJyw6FuYSIsImdhdGV3YXktZXhpc3RzIjoiWmHFmcOtemVuw60gc2Ugc2hvZG7DvW0gbsOhenZlbSBqacW+IGV4aXN0dWplLiIsImdhdGV3YXktbmFtZSI6Ik7DoXpldiBicsOhbnkiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJOw6F6ZXYgYnLDoW55IGplIHBvdmlubsO9LiIsImdhdGV3YXktc2F2ZWQiOiJLb25maWd1cmFjZSBicsOhbnkgYnlsYSDDunNwxJvFoW7EmyB1bG/FvmVuYS4iLCJqc29uLXBhcnNlIjoiTmVwbGF0bsO9IEpTT04uIiwianNvbi1yZXF1aXJlZCI6IlBvbGUgbmVtxa/FvmUgYsO9dCBwcsOhemRuw6kuIiwibm8tY29ubmVjdG9ycyI6IsW9w6FkbsOpIGtvbmVrdG9yeSIsIm5vLWRhdGEiOiLFvcOhZG7DqSBrb25maWd1cmFjZSIsIm5vLWdhdGV3YXktZm91bmQiOiLFvcOhZG7DqSBicsOhbnkgbmVieWx5IG5hbGV6ZW55LiIsIm5vLWdhdGV3YXktbWF0Y2hpbmciOiIgJ3t7aXRlbX19JyBuZW5hbGV6ZW5hLiIsInBhdGgtbG9ncyI6IkNlc3RhIGsgc291Ym9yxa9tIGxvZ3UiLCJwYXRoLWxvZ3MtcmVxdWlyZWQiOiJDZXN0YSBqZSBwb3Zpbm7DoS4iLHJlbW90ZToiVnpkw6FsZW7DoSBrb25maWd1cmFjZSIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoiw5pyb3ZlxYggbG9nb3bDoW7DrSIsInJlbW92ZS1lbnRyeSI6Ik9kc3RyYW5pdCBrb25maWd1cmFjaSIsInNhdmUtdGlwIjoiVWxvxb5pdCBzb3Vib3Iga29uZmlndXJhY2UiLCJzZWN1cml0eS10eXBlIjoiVHlwIHphYmV6cGXEjWVuw60iLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJQxZnDrXN0dXBvdsO9IHRva2VuIix0bHM6IlRMUyJ9LHN0b3JhZ2U6IsOabG/FvmnFoXTEmyIsInN0b3JhZ2UtbWF4LWZpbGUtcmVjb3JkcyI6Ik1heGltw6FsbsOtIHBvxI1ldCB6w6F6bmFtxa8gdiBzb3Vib3J1Iiwic3RvcmFnZS1tYXgtZmlsZXMiOiJNYXhpbcOhbG7DrSBwb8SNZXQgc291Ym9yxa8iLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiJNaW5pbcOhbG7DrSBwb8SNZXQgamUgMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiUG/EjWV0IG5lbsOtIHBsYXRuw70uIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiJQb8SNZXQgamUgcG92aW5uw70uIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik1heGltw6FsbsOtIHBvxI1ldCB6w6F6bmFtxa8gdiDDumxvxb5pxaF0aSIsInN0b3JhZ2UtbWF4LXJlY29yZHMtbWluIjoiTWluaW3DoWxuw60gcG/EjWV0IHrDoXpuYW3FryBqZSAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6IlBvxI1ldCBuZW7DrSBwbGF0bsO9LiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJNYXhpbcOhbG7DrSBwb8SNZXQgesOhem5hbcWvIGplIHBvdmlubsO9LiIsInN0b3JhZ2UtcGFjay1zaXplIjoiTWF4aW3DoWxuw60gdmVsaWtvc3Qgc291Ym9ydSB1ZMOhbG9zdMOtIiwic3RvcmFnZS1wYWNrLXNpemUtbWluIjoiTWluaW3DoWxuw60gcG/EjWV0IGplIDEuIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6IlBvxI1ldCBuZW7DrSBwbGF0bsO9LiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoiTWF4aW3DoWxuw60gdmVsaWtvc3Qgc291Ym9ydSB1ZMOhbG9zdMOtIGplIHBvdmlubsOhLiIsInN0b3JhZ2UtcGF0aCI6IkNlc3RhIGsgw7psb8W+acWhdGkiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiJDZXN0YSBrIMO6bG/FvmnFoXRpIGplIHBvdmlubsOhLiIsInN0b3JhZ2UtdHlwZSI6IlR5cCDDumxvxb5pxaF0xJsiLCJzdG9yYWdlLXR5cGVzIjp7ImZpbGUtc3RvcmFnZSI6IlNvdWJvciIsIm1lbW9yeS1zdG9yYWdlIjoiUGFtxJvFpSJ9LHRoaW5nc2JvYXJkOiJUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QiOiJIb3N0IFRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6Ikhvc3QgamUgcG92aW5uw70uIiwidGhpbmdzYm9hcmQtcG9ydCI6IlBvcnQgVGhpbmdzQm9hcmQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6Ik1heGltw6FsbsOtIMSNw61zbG8gcG9ydHUgamUgNjU1MzUuIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiJNaW5pbcOhbG7DrSDEjcOtc2xvIHBvcnR1IGplIDEuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiUG9ydCBuZW7DrSBwbGF0bsO9LiIsInRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWQiOiJQb3J0IGplIHBvdmlubsO9LiIsdGlkeToiVXNwb8WZw6FkYXQiLCJ0aWR5LXRpcCI6IlVzcG/FmcOhZGF0IEpTT04ga29uZmlndXJhY2kiLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiJLb25maWd1cmFjZSB7e3R5cGVOYW1lfX0ga29uZWt0b3J1IiwidGxzLXBhdGgtY2EtY2VydGlmaWNhdGUiOiJDZXN0YSBrIGNlcnRpZmlrw6F0dSBDQSBicsOhbnkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiJDZXN0YSBrIGNlcnRpZmlrw6F0dSBrbGllbnRhIGJyw6FueSIsInRscy1wYXRoLXByaXZhdGUta2V5IjoiQ2VzdGEgayBwcml2w6F0bsOtbXUga2zDrcSNaSBicsOhbnkiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlDFmWVwbm91dCBkbyByZcW+aW11IGNlbMOpIG9icmF6b3ZreSIsInRyYW5zZm9ybWVyLWpzb24tY29uZmlnIjoiSlNPTioga29uZmlndXJhY2UiLCJ1cGRhdGUtY29uZmlnIjoiUMWZaWRhdC9lZGl0b3ZhdCBKU09OIGtvbmZpZ3VyYWNpIn0sVW89eyJhZGQtZW50cnkiOiJUaWxmw7hqIGtvbmZpZ3VyYXRpb24iLCJjb25uZWN0b3ItYWRkIjoiVGlsZsO4aiBueSBzdGlrZm9yYmluZGVsc2UiLCJjb25uZWN0b3ItZW5hYmxlZCI6IkFrdGl2w6lyIHN0aWtmb3JiaW5kZWxzZSIsImNvbm5lY3Rvci1uYW1lIjoiTmF2biBww6Ugc3Rpa2ZvcmJpbmRlbHNlIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiJOYXZuIHDDpSBzdGlrZm9yYmluZGVsc2UgZXIgcMOla3LDpnZldC4iLCJjb25uZWN0b3ItdHlwZSI6IlN0aWtmb3JiaW5kZWxzZXN0eXBlIiwiY29ubmVjdG9yLXR5cGUtcmVxdWlyZWQiOiJTdGlrZm9yYmluZGVsc2VzdHlwZSBlciBww6VrcsOmdmV0LiIsY29ubmVjdG9yczoiS29uZmlndXJhdGlvbiBhZiBzdGlrZm9yYmluZGVsc2VyIiwiY3JlYXRlLW5ldy1nYXRld2F5IjoiT3ByZXQgZW4gbnkgZ2F0ZXdheSIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiIixkZWxldGU6IlNsZXQga29uZmlndXJhdGlvbiIsImRvd25sb2FkLXRpcCI6IkRvd25sb2FkIGtvbmZpZ3VyYXRpb25zZmlsIixnYXRld2F5OiJHYXRld2F5IiwiZ2F0ZXdheS1leGlzdHMiOiJFbmhlZCBtZWQgc2FtbWUgbmF2biBmaW5kZXMgYWxsZXJlZGUuIiwiZ2F0ZXdheS1uYW1lIjoiR2F0ZXdheS1uYXZuIiwiZ2F0ZXdheS1uYW1lLXJlcXVpcmVkIjoiR2F0ZXdheS1uYXZuIGVyIHDDpWtyw6Z2ZXQuIiwiZ2F0ZXdheS1zYXZlZCI6IkdhdGV3YXkta29uZmlndXJhdGlvbmVuIGJsZXYgZ2VtdC4iLCJqc29uLXBhcnNlIjoiSWtrZSBneWxkaWcgSlNPTi4iLCJqc29uLXJlcXVpcmVkIjoiRmVsdGV0IG3DpSBpa2tlIHbDpnJlIHRvbXQuIiwibm8tY29ubmVjdG9ycyI6IkluZ2VuIHN0aWtmb3JiaW5kZWxzZXIiLCJuby1kYXRhIjoiSW5nZW4ga29uZmlndXJhdGlvbmVyIiwibm8tZ2F0ZXdheS1mb3VuZCI6IkluZ2VuIGdhdGV3YXkgZnVuZGV0LiIsIm5vLWdhdGV3YXktbWF0Y2hpbmciOiIiLCJwYXRoLWxvZ3MiOiJTdGkgdGlsIGxvZ2ZpbGVyIiwicGF0aC1sb2dzLXJlcXVpcmVkIjoiU3RpIGVyIHDDpWtyw6Z2ZXQuIixyZW1vdGU6IkZqZXJua29uZmlndXJhdGlvbiIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoiTG9nZsO4cmluZ3NuaXZlYXUiLCJyZW1vdmUtZW50cnkiOiJGamVybiBrb25maWd1cmF0aW9uIiwic2F2ZS10aXAiOiJHZW0ga29uZmlndXJhdGlvbnNmaWwiLCJzZWN1cml0eS10eXBlIjoiU2lra2VyaGVkc3R5cGUiLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJBZGdhbmdzdG9rZW4iLHRsczoiVExTIn0sc3RvcmFnZToiTGFncmluZyIsInN0b3JhZ2UtbWF4LWZpbGUtcmVjb3JkcyI6Ik1ha3MuIGFudGFsIHBvc3RlciBpIGZpbCIsInN0b3JhZ2UtbWF4LWZpbGVzIjoiTWFrcy4gYW50YWwgZmlsZXIiLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiJNaW4uIGFudGFsIGVyIDEuIiwic3RvcmFnZS1tYXgtZmlsZXMtcGF0dGVybiI6IkFudGFsIGVyIGlra2UgZ3lsZGlndC4iLCJzdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZCI6IkFudGFsIGVyIHDDpWtyw6Z2ZXQuIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik1ha3MuIGFudGFsIHBvc3RlciBpIGxhZ3JpbmciLCJzdG9yYWdlLW1heC1yZWNvcmRzLW1pbiI6Ik1pbi4gYW50YWwgcG9zdGVyIGVyIDEuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoiQW50YWwgZXIgaWtrZSBneWxkaWd0LiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJNYWtzLiBhbnRhbCBwb3N0ZXIgZXIgcMOla3LDpnZldC4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6Ik1ha3MuIGFudGFsIHBha2tlc3TDuHJyZWxzZSBmb3IgYmVnaXZlbmhlZCIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6Ik1pbi4gYW50YWwgZXIgMS4iLCJzdG9yYWdlLXBhY2stc2l6ZS1wYXR0ZXJuIjoiQW50YWwgZXIgaWtrZSBneWxkaWd0LiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoiTWFrcy4gYW50YWwgcGFra2VzdMO4cnJlbHNlIGZvciBiZWdpdmVuaGVkIGVyIHDDpWtyw6Z2ZXQuIiwic3RvcmFnZS1wYXRoIjoiTGFncmluZ3NzdGkiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiJMYWdyaW5nc3N0aSBlciBww6VrcsOmdmV0LiIsInN0b3JhZ2UtdHlwZSI6IkxhZ3JpbmdzdHlwZSIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoiTGFncmluZyBhZiBmaWx0ZXIiLCJtZW1vcnktc3RvcmFnZSI6IkxhZ3JpbmcgYWYgaHVrb21tZWxzZSJ9LHRoaW5nc2JvYXJkOiJUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QiOiJUaGluZ3NCb2FyZC12w6ZydCIsInRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWQiOiJWw6ZydCBlciBww6VrcsOmdmV0LiIsInRoaW5nc2JvYXJkLXBvcnQiOiJUaGluZ3NCb2FyZC1wb3J0IiwidGhpbmdzYm9hcmQtcG9ydC1tYXgiOiJNYWtzLiBwb3J0bnVtbWVyIGVyIDY1NTM1LiIsInRoaW5nc2JvYXJkLXBvcnQtbWluIjoiTWluLiBwb3J0bnVtbWVyIGVyIDEuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiUG9ydCBlciBpa2tlIGd5bGRpZy4iLCJ0aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkIjoiUG9ydCBlciBww6VrcsOmdmV0LiIsdGlkeToiVGlkeSIsInRpZHktdGlwIjoiVGlkeSBrb25maWcuIEpTT04iLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiIiLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IlN0aSB0aWwgQ0EtY2VydGlmaWthdCBww6UgZ2F0ZXdheSIsInRscy1wYXRoLWNsaWVudC1jZXJ0aWZpY2F0ZSI6IlN0aSB0aWwga2xpZW50Y2VydGlmaWthdCBww6UgZ2F0ZXdheSIsInRscy1wYXRoLXByaXZhdGUta2V5IjoiU3RpIHRpbCBwcml2YXQgbsO4Z2xlIHDDpSBnYXRld2F5IiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiJTa2lmdCB0aWwgZnVsZCBza8Omcm0iLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IktvbmZpZ3VyYXRpb24gSlNPTioiLCJ1cGRhdGUtY29uZmlnIjoiVGlsZsO4ai9vcGRhdGVyIGtvbmZpZ3VyYXRpb24gSlNPTiJ9LF9vPXsiYWRkLWVudHJ5IjoiQcOxYWRpciBjb25maWd1cmFjacOzbiIsYWR2YW5jZWQ6IkF2YW56YWRvIiwiY2hlY2tpbmctZGV2aWNlLWFjdGl2aXR5IjoiUHJvYmFuZG8gYWN0aXZpZGFkIGRlIGRpc3Bvc2l0aXZvIixjb21tYW5kOiJDb21hbmRvcyBEb2NrZXIiLCJjb21tYW5kLWNvcGllZC1tZXNzYWdlIjoiU2UgaGFuIGNvcGlhZG8gbG9zIGNvbWFuZG9zIGFsIHBvcnRhcGFwZWxlcyIsY29uZmlndXJhdGlvbjoiQ29uZmlndXJhY2nDs24iLCJjb25uZWN0b3ItYWRkIjoiQcOxYWRpciBjb25lY3RvciIsImNvbm5lY3Rvci1lbmFibGVkIjoiQWN0aXZhciBjb25lY3RvciIsImNvbm5lY3Rvci1uYW1lIjoiTm9tYnJlIGNvbmVjdG9yIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBub21icmUgY29uZWN0b3IuIiwiY29ubmVjdG9yLXR5cGUiOiJUaXBvIGNvbmVjdG9yIiwiY29ubmVjdG9yLXR5cGUtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSB0aXBvIGNvbmVjdG9yLiIsY29ubmVjdG9yczoiQ29uZWN0b3JlcyIsImNvbm5lY3RvcnMtY29uZmlnIjoiQ29uZmlndXJhY2nDs24gZGUgY29uZWN0b3JlcyIsImNvbm5lY3RvcnMtdGFibGUtZW5hYmxlZCI6IkVuYWJsZWQiLCJjb25uZWN0b3JzLXRhYmxlLW5hbWUiOiJOb21icmUiLCJjb25uZWN0b3JzLXRhYmxlLXR5cGUiOiJUaXBvIiwiY29ubmVjdG9ycy10YWJsZS1zdGF0dXMiOiJFc3RhZG8iLCJjb25uZWN0b3JzLXRhYmxlLWFjdGlvbnMiOiJBY2Npb25lcyIsImNvbm5lY3RvcnMtdGFibGUta2V5IjoiQ2xhdmUiLCJjb25uZWN0b3JzLXRhYmxlLWNsYXNzIjoiQ2xhc2UiLCJycGMtY29tbWFuZC1zZW5kIjoiRW52aWFyIiwicnBjLWNvbW1hbmQtcmVzdWx0IjoiUmVzdWx0YWRvIiwicnBjLWNvbW1hbmQtZWRpdC1wYXJhbXMiOiJFZGl0YXIgcGFyYW1ldHJvcyIsImdhdGV3YXktY29uZmlndXJhdGlvbiI6IkNvbmZpZ3VyYWNpw7NuIEdlbmVyYWwiLCJjcmVhdGUtbmV3LWdhdGV3YXkiOiJDcmVhciB1biBnYXRld2F5IG51ZXZvIiwiY3JlYXRlLW5ldy1nYXRld2F5LXRleHQiOiJDcmVhciB1biBudWV2byBnYXRld2F5IGNvbiBlbCBub21icmU6ICd7e2dhdGV3YXlOYW1lfX0nPyIsImNyZWF0ZWQtdGltZSI6IkhvcmEgZGUgY3JlYWNpw7NuIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWhlYWRlciI6IkxhcyBjb25maWd1cmFjaW9uZXMgc2UgYm9ycmFyw6FuIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWJvZHkiOiJTw7NsbyBlcyBwb3NpYmxlIGRlc2FjdGl2YXIgbGEgY29uZmlndXJhY2nDs24gcmVtb3RhLCBzaSBoYXkgYWNjZXNvIGbDrXNpY28gYWwgZ2F0ZXdheS4gU2UgYm9ycmFyw6FuIHRvZGFzIGxhcyBjb25maWd1cmFjaW9uZXMgcHJldmlhcy48YnI+PGJyPiBcblBhcmEgZGVzYWN0aXZhciBsYSBjb25maWd1cmFjacOzbiwgaW50cm9kdWNlIGVsIG5vbWJyZSBkZWwgZ2F0ZXdheSBhcXXDrSIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1pbnB1dCI6Ik5vbWJyZSBHYXRld2F5IiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0LXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgbm9tYnJlIGRlIGdhdGV3YXkiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctY29uZmlybSI6IkRlc2FjdGl2YXIiLGRlbGV0ZToiQm9ycmFyIGNvbmZpZ3VyYWNpw7NuIiwiZG93bmxvYWQtdGlwIjoiRGVzY2FyZ2FyIGZpY2hlcm8gZGUgY29uZmlndXJhY2nDs24iLCJkcm9wLWZpbGUiOiJBcnJhc3RyYSB1biBmaWNoZXJvIG8iLGdhdGV3YXk6IkdhdGV3YXkiLCJnYXRld2F5LWV4aXN0cyI6IllhIGV4aXN0ZSB1biBkaXNwb3NpdGl2byBjb24gZWwgbWlzbW8gbm9tYnJlLiIsImdhdGV3YXktbmFtZSI6Ik5vbWJyZSBkZSBHYXRld2F5IiwiZ2F0ZXdheS1uYW1lLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgdW4gbm9tYnJlIGRlIGdhdGV3YXkuIiwiZ2F0ZXdheS1zYXZlZCI6IkNvbmZpZ3VyYWNpw7NuIGRlIGdhdGV3YXkgZ3JhYmFkYSBzYXRpc2ZhY3RvcmlhbWVudGUuIixncnBjOiJHUlBDIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQiOiJUaW1lb3V0IEtlZXAgYWxpdmUgKGVuIG1zKSIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgVGltZW91dCBLZWVwIGFsaXZlIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtbWluIjoiRWwgdmFsb3Igbm8gcHVlZGUgc2VyIG1lbm9yIGRlIDEiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dC1wYXR0ZXJuIjoiRWwgdmFsb3Igbm8gZXMgdsOhbGlkbyIsImdycGMta2VlcC1hbGl2ZSI6IktlZXAgYWxpdmUgKGVuIG1zKSIsImdycGMta2VlcC1hbGl2ZS1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIGtlZXAgYWxpdmUiLCJncnBjLWtlZXAtYWxpdmUtbWluIjoiRWwgdmFsb3Igbm8gcHVlZGUgc2VyIG1lbm9yIGRlIDEiLCJncnBjLWtlZXAtYWxpdmUtcGF0dGVybiI6IkVsIHZhbG9yIGtlZXAgYWxpdmUgbm8gZXMgdsOhbGlkbyIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncyI6IlRpZW1wbyBtw61uaW1vIGVudHJlIHBpbmdzIChlbiBtcykiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSB0aWVtcG8gbcOtbmltbyBlbnRyZSBwaW5ncyIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1taW4iOiJFbCB2YWxvciBubyBwdWVkZSBzZXIgbWVub3IgZGUgMSIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1wYXR0ZXJuIjoiRWwgdmFsb3IgZGUgdGllbXBvIG3DrW5pbW8gZW50cmUgcGluZ3Mgbm8gZXMgdsOhbGlkbyIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhIjoiSW50ZXJ2YWxvIG3DrW5pbW8gc2luIGRhdG9zIChlbiBtcykiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIGludGVydmFsbyIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLW1pbiI6IkVsIHZhbG9yIG5vIHB1ZWRlIHNlciBtZW5vciBkZSAxIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcGF0dGVybiI6IkVsIHZhbG9yIGRlIGludGVydmFsbyBubyBlcyB2w6FsaWRvIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoiSW50ZXJ2YWxvIG3DoXhpbW8gc2luIGRhdG9zIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgaW50ZXJ2YWxvIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLW1pbiI6IkVsIHZhbG9yIG5vIHB1ZWRlIHNlciBtZW5vciBkZSAxIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiJFbCB2YWxvciBkZSBpbnRlcnZhbG8gbm8gZXMgdsOhbGlkbyIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMiOiJQZXJpb2RvIGRlIGNvbnRyb2wgZGUgaW5hY3RpdmlkYWQgKGVuIHNlZ3VuZG9zKSIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBwZXJpb2RvIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1taW4iOiJFbCB2YWxvciBubyBwdWVkZSBzZXIgbWVub3IgZGUgMSIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcGF0dGVybiI6IkVsIHZhbG9yIGRlbCBwZXJpb2RvIG5vIGVzIHbDoWxpZG8iLCJpbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcyI6IlRpbWVvdXQgZGUgaW5hY3RpdmlkYWQgKGVuIHNlZ3VuZG9zKSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgdGltZW91dCBkZSBpbmFjdGl2aWRhZCIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLW1pbiI6IkVsIHZhbG9yIG5vIHB1ZWRlIHNlciBtZW5vciBkZSAxIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcGF0dGVybiI6IkVsIHZhbG9yIGRlIGluYWN0aXZpZGFkIG5vIGVzIHbDoWxpZG8iLCJqc29uLXBhcnNlIjoiSlNPTiBubyB2w6FsaWRvLiIsImpzb24tcmVxdWlyZWQiOiJFbCBjYW1wbyBubyBwdWVkZSBlc3RhciB2YWPDrW8uIixsb2dzOntsb2dzOiJSZWdpc3Ryb3MiLGRheXM6ImTDrWFzIixob3VyczoiaG9yYXMiLG1pbnV0ZXM6Im1pbnV0b3MiLHNlY29uZHM6InNlZ3VuZG9zIiwiZGF0ZS1mb3JtYXQiOiJGb3JtYXRvIGRlIGZlY2hhIiwiZGF0ZS1mb3JtYXQtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBmb3JtYXRvIGRlIGZlY2hhIiwibG9nLWZvcm1hdCI6IkZvcm1hdG8gZGUgcmVnaXN0cm8iLCJsb2ctdHlwZSI6IlRpcG8gZGUgcmVnaXN0cm8iLCJsb2ctZm9ybWF0LXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgdGlwbyBkZSByZWdpc3RybyIscmVtb3RlOiJSZWdpc3RybyByZW1vdG8iLCJyZW1vdGUtbG9ncyI6IlJlZ2lzdHJvIHJlbW90byIsbG9jYWw6IlJlZ2lzdHJvIGxvY2FsIixsZXZlbDoiTml2ZWwgZGUgcmVnaXN0cm8iLCJmaWxlLXBhdGgiOiJSdXRhIGRlIGZpY2hlcm8iLCJmaWxlLXBhdGgtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBydXRhIGRlIGZpY2hlcm8iLCJzYXZpbmctcGVyaW9kIjoiUGVyaW9kbyBkZSBndWFyZGFkbyBkZSByZWdpc3Ryb3MiLCJzYXZpbmctcGVyaW9kLW1pbiI6IkVsIHBlcmlvZG8gbm8gcHVlZGUgc2VyIG1lbm9yIHF1ZSAxIiwic2F2aW5nLXBlcmlvZC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIHBlcmlvZG8gZGUgZ3VhcmRhZG8iLCJiYWNrdXAtY291bnQiOiJOw7ptZXJvIGRlIGJhY2t1cHMiLCJiYWNrdXAtY291bnQtbWluIjoiRWwgbsO6bWVybyBkZSBiYWNrdXBzIG5vIHB1ZWRlIHNlciBtZW5vciBxdWUgMSIsImJhY2t1cC1jb3VudC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIG7Dum1lcm8gZGUgYmFja3VwcyJ9LCJtaW4tcGFjay1zZW5kLWRlbGF5IjoiVGllbXBvIGRlIGVzcGVyYSwgZW52w61vIGRlIHBhcXVldGVzIChlbiBtcykiLCJtaW4tcGFjay1zZW5kLWRlbGF5LXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgdGllbXBvIGRlIGVzcGVyYSIsIm1pbi1wYWNrLXNlbmQtZGVsYXktbWluIjoiRWwgdGllbXBvIGRlIGVzcGVyYSBubyBwdWVkZSBzZXIgbWVub3IgcXVlIDAiLCJuby1jb25uZWN0b3JzIjoiTm8gaGF5IGNvbmVjdG9yZXMiLCJuby1kYXRhIjoiTm8gaGF5IGNvbmZpZ3VyYWNpb25lcyIsIm5vLWdhdGV3YXktZm91bmQiOiJObyBzZSBoYSBlbmNvbnRyYWRvIG5pbmfDum4gZ2F0ZXdheS4iLCJuby1nYXRld2F5LW1hdGNoaW5nIjoiICd7e2l0ZW19fScgbm8gZW5jb250cmFkby4iLCJwYXRoLWxvZ3MiOiJSdXRhIGEgbG9zIGFyY2hpdm9zIGRlIGxvZyIsInBhdGgtbG9ncy1yZXF1aXJlZCI6IlJ1dGEgcmVxdWVyaWRhLiIsInBlcm1pdC13aXRob3V0LWNhbGxzIjoiUGVybWl0aXIgS2VlcCBhbGl2ZSBzaSBsbGFtYWRhcyIscmVtb3RlOiJDb25maWd1cmFjacOzbiByZW1vdGEiLCJyZW1vdGUtbG9nZ2luZy1sZXZlbCI6Ik5pdmVsIGRlIGxvZ2dpbmciLCJyZW1vdmUtZW50cnkiOiJCb3JyYXIgY29uZmlndXJhY2nDs24iLCJyZW1vdGUtc2hlbGwiOiJDb25zb2xhIHJlbW90YSIsInJlbW90ZS1jb25maWd1cmF0aW9uIjoiQ29uZmlndXJhY2nDs24gcmVtb3RhIixvdGhlcjoib3Ryb3MiLCJzYXZlLXRpcCI6IkdyYWJhciBmaWNoZXJvIGRlIGNvbmZpZ3VyYWNpw7NuIiwic2VjdXJpdHktdHlwZSI6IlRpcG8gZGUgc2VndXJpZGFkIiwic2VjdXJpdHktdHlwZXMiOnsiYWNjZXNzLXRva2VuIjoiVMOza2VuIGRlIGFjY2VzbyIsInVzZXJuYW1lLXBhc3N3b3JkIjoiVXN1YXJpbyB5IGNvbnRyYXNlw7FhIix0bHM6IlRMUyIsInRscy1hY2Nlc3MtdG9rZW4iOiJUTFMgKyBUw7NrZW4gZGUgYWNjZXNvIiwidGxzLXByaXZhdGUta2V5IjoiVExTICsgQ2xhdmUgcHJpdmFkYSJ9LCJzZXJ2ZXItcG9ydCI6IlB1ZXJ0byBkZWwgc2Vydmlkb3IiLHN0YXRpc3RpY3M6e3N0YXRpc3RpYzoiRXN0YWTDrXN0aWNhIixzdGF0aXN0aWNzOiJFc3RhZMOtc3RpY2FzIiwic3RhdGlzdGljLWNvbW1hbmRzLWVtcHR5IjoiTm8gaGF5IGVzdGFkw61zdGljYXMiLGNvbW1hbmRzOiJDb21hbmRvcyIsInNlbmQtcGVyaW9kIjoiUGVyaW9kbyBkZSBlbnbDrW8gZGUgZXN0YWTDrXN0aWNhcyAoZW4gc2VndW5kb3MpIiwic2VuZC1wZXJpb2QtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBwZXJpb2RvIGRlIGVudsOtbyIsInNlbmQtcGVyaW9kLW1pbiI6IkVsIHBlcmlvZG8gZGUgZW52w61vIG5vIHB1ZWRlIHNlciBtZW5vciBkZSA2MCIsInNlbmQtcGVyaW9kLXBhdHRlcm4iOiJFbCBwZXJpb2RvIGRlIGVudsOtbyBubyBlcyB2w6FsaWRvIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uIjoiUmV2aXNhciBjb25maWd1cmFjacOzbiBkZSBjb25lY3RvcmVzIChlbiBzZWd1bmRvcykiLCJjaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tcmVxdWlyZWQiOiJTZSByZXF1aWVyZSB1biB2YWxvciIsImNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbi1taW4iOiJFbCB2YWxvciBubyBwdWVkZSBzZXIgbWVub3IgZGUgMSIsImNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbi1wYXR0ZXJuIjoiTGEgY29uZmlndXJhY2nDs24gbm8gZXMgdsOhbGlkYSIsYWRkOiJBw7FhZGlyIGNvbWFuZG8iLHRpbWVvdXQ6IlRpbWVvdXQiLCJ0aW1lb3V0LW1zIjoiVGltZW91dCAoZW4gbXMpIiwidGltZW91dC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIHRpbWVvdXQiLCJ0aW1lb3V0LW1pbiI6IkVsIHRpbWVvdXQgbm8gcHVlZGUgc2VyIG1lbm9yIGRlIDEiLCJ0aW1lb3V0LXBhdHRlcm4iOiJFbCB0aW1lb3V0IG5vIGVzIHbDoWxpZG8iLCJhdHRyaWJ1dGUtbmFtZSI6Ik5vbWJyZSBkZSBhdHJpYnV0byIsImF0dHJpYnV0ZS1uYW1lLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgbm9tYnJlIGRlIGF0cmlidXRvIixjb21tYW5kOiJDb21hbmRvIiwiY29tbWFuZC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIGNvbWFuZG8iLHJlbW92ZToiQm9ycmFyIGNvbWFuZG8ifSxzdG9yYWdlOiJHcmFiYWNpw7NuIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoiTsO6bWVybyBtw6F4aW1vIGRlIHJlZ2lzdHJvcyBlbiBmaWNoZXJvIiwic3RvcmFnZS1tYXgtZmlsZXMiOiJOw7ptZXJvIG3DoXhpbW8gZGUgZmljaGVyb3MiLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiJFbCBuw7ptZXJvIG3DrW5pbW8gZXMgMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiTsO6bWVybyBubyB2w6FsaWRvLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgbsO6bWVyby4iLCJzdG9yYWdlLW1heC1yZWNvcmRzIjoiTcOheGltbyBkZSByZWdpc3Ryb3MgZW4gZWwgYWxtYWPDqW4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLW1pbiI6IkVsIG7Dum1lcm8gbcOtbmltbyBlcyAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6Ik7Dum1lcm8gbm8gdsOhbGlkby4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgbsO6bWVyby4iLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50IjoiTGVlciBuw7ptZXJvIGRlIGVudHJhZGFzIGVuIGFsbWFjw6luIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1taW4iOiJFbCBuw7ptZXJvIG3DrW5pbW8gZGUgZW50cmFkYXMgZXMgMS4iLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm4iOiJFbCBuw7ptZXJvIG5vIGVzIHbDoWxpZG8uIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIG7Dum1lcm8gZGUgZW50cmFkYXMuIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQiOiJOw7ptZXJvIG3DoXhpbW8gZGUgZW50cmFkYXMgZW4gZWwgYWxtYWPDqW4iLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1taW4iOiJFbCBuw7ptZXJvIG3DrW5pbW8gZXMgMS4iLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1wYXR0ZXJuIjoiRWwgbsO6bWVybyBubyBlcyB2w6FsaWRvIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBuw7ptZXJvIG3DoXhpbW8gZGUgZW50cmFkYXMuIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoIjoiUnV0YSBkZSBjYXJwZXRhIGRlIGRhdG9zIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgcnV0YS4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6IlRhbWHDsW8gbcOheGltbyBkZSBldmVudG9zIiwic3RvcmFnZS1wYWNrLXNpemUtbWluIjoiRWwgbsO6bWVybyBtw61uaW1vIGVzIDEuIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6Ik7Dum1lcm8gbm8gdsOhbGlkby4iLCJzdG9yYWdlLXBhY2stc2l6ZS1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIG7Dum1lcm8uIiwic3RvcmFnZS1wYXRoIjoiUnV0YSBkZSBhbG1hY8OpbiIsInN0b3JhZ2UtcGF0aC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIHJ1dGEgZGUgYWxtYWPDqW4uIiwic3RvcmFnZS10eXBlIjoiVGlwbyBkZSBhbG1hY8OpbiIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoiQWxtYWPDqW4gZW4gZmljaGVybyIsIm1lbW9yeS1zdG9yYWdlIjoiQWxtYWPDqW4gZW4gbWVtb3JpYSIsc3FsaXRlOiJTUUxJVEUifSx0aGluZ3Nib2FyZDoiVGhpbmdzQm9hcmQiLGdlbmVyYWw6IkdlbmVyYWwiLCJ0aGluZ3Nib2FyZC1ob3N0IjoiSG9zdCBUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBIb3N0LiIsInRoaW5nc2JvYXJkLXBvcnQiOiJQdWVydG8gVGhpbmdzQm9hcmQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6IkVsIHB1ZXJ0byBtw6F4aW1vIGVzIDY1NTM1LiIsInRoaW5nc2JvYXJkLXBvcnQtbWluIjoiRWwgcHVlcnRvIG3DrW5pbW8gZXMgMS4iLCJ0aGluZ3Nib2FyZC1wb3J0LXBhdHRlcm4iOiJQdWVydG8gbm8gdsOhbGlkby4iLCJ0aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgcHVlcnRvLiIsdGlkeToiVGlkeSIsInRpZHktdGlwIjoiVGlkeSBKU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoiQ29uZmlndXJhY2nDs24gY29uZWN0b3Ige3t0eXBlTmFtZX19IiwidGxzLXBhdGgtY2EtY2VydGlmaWNhdGUiOiJSdXRhIGFsIGNlcnRpZmljYWRvIENBIGVuIGVsIGdhdGV3YXkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiJSdXRhIGFsIGNlcnRpZmljYWRvIGNsaWVudGUgZW4gZWwgZ2F0ZXdheSIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3VycyI6IkNvbXByb2JhY2nDs24gZGUgVFRMIGRlIG1lbnNhamVzIGVuIGhvcmFzIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXJlcXVpcmVkIjoiQ2FtcG8gcmVxdWVyaWRvLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1taW4iOiJFbCBtw61uaW1vIGVzIDEuIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXBhdHRlcm4iOiJFbCBuw7ptZXJvIG5vIGVzIHbDoWxpZG8uIiwibWVzc2FnZXMtdHRsLWluLWRheXMiOiJUVEwgKFRpbWUgdG8gbGl2ZSkgZGUgbWVuc2FnZXMgZW4gZMOtYXMiLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIFRUTCBkZSBtZW5zYWplcy4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1taW4iOiJFbCBuw7ptZXJvIG3DrW5pbW8gZXMgMS4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1wYXR0ZXJuIjoiRWwgbsO6bWVybyBubyBlcyB2w6FsaWRvLiIsIm1xdHQtcW9zIjoiUW9TIiwibXF0dC1xb3MtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBRb1MiLCJtcXR0LXFvcy1yYW5nZSI6IkVsIHJhbmdvIGRlIHZhbG9yZXMgZXMgZGVzZGUgMCBhIDEiLCJ0bHMtcGF0aC1wcml2YXRlLWtleSI6IlJ1dGEgYSBsYSBjbGF2ZSBwcml2YWRhIGVuIGVsIGdhdGV3YXkiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlBhbnRhbGxhIGNvbXBsZXRhIGZ1bGxzY3JlZW4iLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IkNvbmZpZ3VyYWNpw7NuIEpTT04qIiwidXBkYXRlLWNvbmZpZyI6IkHDsWFkaXIvYWN0dWFsaXphciBjb25maWd1cmFjacOzbiBKU09OIixoaW50czp7InJlbW90ZS1jb25maWd1cmF0aW9uIjoiSGFiaWxpdGEgbGEgYWRtaW5pc3RyYWNpw7NuIHkgY29uZmlndXJhY2nDs24gcmVtb3RhIGRlbCBnYXRld2F5IiwicmVtb3RlLXNoZWxsIjoiSGFiaWxpdGEgZWwgY29udHJvbCByZW1vdG8gZGVsIHNpc3RlbWEgb3BlcmF0aXZvIGRlbCBnYXRld2F5IGRlc2RlIGVsIHdpZGdldCB0ZXJtaW5hbCByZW1vdG8iLGhvc3Q6Ikhvc3RuYW1lIG8gZGlyZWNjacOzbiBJUCBkZWwgc2Vydmlkb3IgVGhpbmdzYm9hcmQiLHBvcnQ6IlB1ZXJ0byBkZWwgc2VydmljaW8gTVFUVCBlbiBlbCBzZXJ2aWRvciBUaGluZ3Nib2FyZCIsdG9rZW46IkFjY2VzcyB0b2tlbiBwYXJhIGVsIGdhdGV3YXkiLCJjbGllbnQtaWQiOiJJRCBkZSBjbGllbnRlIE1RVFQgcGFyYSBlbCBnYXRld2F5Iix1c2VybmFtZToiVXN1YXJpbyBNUVRUIHBhcmEgZWwgZ2F0ZXdheSIscGFzc3dvcmQ6IkNvbnRyYXNlw7FhIE1RVFQgcGFyYSBlbCBnYXRld2F5IiwiY2EtY2VydCI6IlJ1dGEgYWwgZmljaGVybyBkZWwgY2VydGlmaWNhZG8gQ0EiLCJkYXRlLWZvcm0iOiJGb3JtYXRvIGRlIGZlY2hhIGVuIGxvcyBtZW5zYWplcyBkZSByZWdpc3RybyIsImRhdGEtZm9sZGVyIjoiUnV0YSBhIGxhIGNhcnBldGEgcXVlIGNvbnRlbmRyw6EgbG9zIGRhdG9zIChSZWxhdGl2YSBvIGFic29sdXRhKSIsImxvZy1mb3JtYXQiOiJGb3JtYXRvIGRlIG1lbnNhamVzIGVuIHJlZ2lzdHJvIiwicmVtb3RlLWxvZyI6IkhhYmlsaXRhIGVsIHJlZ2lzdHJvIHJlbW90byB5IGxhIHBvc3RlcmlvciBsZWN0dXJhIGRlc2RlIGVsIGdhdGV3YXkiLCJiYWNrdXAtY291bnQiOiJTaSBlbCBjb250YWplIGRlIGNvcGlhcyBkZSBzZWd1cmlkYWQgZXMgbWF5b3IgcXVlIDAsIGN1YW5kbyBzZSByZWFsaWNlIHVuYSByZW5vdmFjacOzbiwgbm8gc2UgY29uc2VydmFuIG3DoXMgcXVlIGxvcyBhcmNoaXZvcyBkZSByZWN1ZW50byBkZSBjb3BpYXMgZGUgc2VndXJpZGFkLCBsb3MgbcOhcyBhbnTDrWd1b3Mgc2UgZWxpbWluYXLDoW4iLHN0b3JhZ2U6IlByb3ZlZSBsYSBjb25maWd1cmFjacOzbiBwYXJhIGVsIGdyYWJhZG8gZGUgZGF0b3MgZW50cmFudGVzIGFudGVzIGRlIHF1ZSBzZSBlbnbDrWVuIGEgbGEgcGxhdGFmb3JtYSIsIm1heC1maWxlLWNvdW50IjoiTsO6bWVybyBtw6F4aW1vIGRlIGZpY2hlcm9zIHF1ZSBzZSBjcmVhcsOhbiIsIm1heC1yZWFkLWNvdW50IjoiTsO6bWVvIG3DoXhpbW8gZGUgbWVuc2FqZXMgYSBvYnRlbmVyIGRlc2RlIGVsIGRpc2NvIHkgZW52aWFkb3MgYSBsYSBwbGF0YWZvcm1hIiwibWF4LXJlY29yZHMiOiJOw7ptZXJvIG3DoXhpbW8gZGUgcmVnaXN0cm9zIHF1ZSBzZSBndWFyZGFyw6FuIGVuIHVuIHNvbG8gZmljaGVybyIsInJlYWQtcmVjb3JkLWNvdW50IjoiTsO6bWVybyBkZSBtZW5zYWdlcyBhIG9idGVuZXIgZGVzZGUgZWwgYWxtYWNlbmFtaWVudG8geSBlbnZpYWRvcyBhIGxhIHBsYXRhZm9ybWEiLCJtYXgtcmVjb3Jkcy1jb3VudCI6Ik7Dum1lcm8gbcOheGltbyBkZSBkYXRvcyBlbiBhbG1hY2VuYW1pZW50byBhbnRlcyBkZSBlbnZpYXIgYSBsYSBwbGF0YWZvcm1hIiwidHRsLWNoZWNrLWhvdXIiOiJDb24gcXXDqSBmcmVjdWVuY2lhIGVsIGdhdGV3YXkgY29tcHJvYmFyw6Egc2kgbG9zIGRhdG9zIGVzdMOhbiBvYnNvbGV0b3MiLCJ0dGwtbWVzc2FnZXMtZGF5IjoiTsO6bWVybyBtw6F4aW1vIGRlIGTDrWFzIHBhcmEgbGEgcmV0ZW5jacOzbiBkZSBkYXRvcyBlbiBlbCBhbG1hY8OpbiIsY29tbWFuZHM6IkNvbWFuZG9zIHBhcmEgcmVjb2dlciBlc3RhZMOtc3RpY2FzIGFkaWNpb25hbGVzIixhdHRyaWJ1dGU6IkNsYXZlIGRlIHRlbGVtZXRyw61hIHBhcmEgZXN0YWTDrXN0aWNhcyIsdGltZW91dDoiVGltZW91dCBwYXJhIGxhIGVqZWN1Y2nDs24gZGUgY29tYW5kb3MiLGNvbW1hbmQ6IkVsIHJlc3VsdGFkbyBkZSBsYSBlamVjdWNpw7NuIGRlbCBjb21hbmRvLCBzZSB1c2Fyw6EgY29tbyB2YWxvciBwYXJhIGxhIHRlbGVtZXRyw61hIiwiY2hlY2stZGV2aWNlLWFjdGl2aXR5IjoiSGFiaWxpdGEgbGEgbW9uaXRvcml6YWNpw7NuIGRlIGNhZGEgdW5vIGRlIGxvcyBkaXNwb3NpdGl2b3MgY29uZWN0YWRvcyIsImluYWN0aXZpdHktdGltZW91dCI6IlRpZW1wbyB0cmFzIHF1ZSBlbCBnYXRld2F5IGRlc2NvbmVjdGFyw6EgZWwgZGlzcG9zaXRpdm8iLCJpbmFjdGl2aXR5LXBlcmlvZCI6IlBlcmlvZG8gZGUgbW9uaXRvcml6YWNpw7NuIGRlIGFjdGl2aWRhZCBlbiBlbCBkaXNwb3NpdGl2byIsIm1pbmltYWwtcGFjay1kZWxheSI6IlRpZW1wbyBkZSBlc3BlcmEgZW50cmUgZW52w61vIGRlIHBhcXVldGVzIGRlIG1lbnNhamVzIChVbiB2YWxvciBtdXkgYmFqbywgcmVzdWx0YXLDoSBlbiB1biBhdW1lbnRvIGRlIHVzbyBkZSBsYSBDUFUgZW4gZWwgZ2F0ZXdheSkiLHFvczoiUXVhbGl0eSBvZiBTZXJ2aWNlIGVuIGxvcyBtZW5zYWplcyBNUVRUICgwIC0gYXQgbW9zdCBvbmNlLCAxIC0gYXQgbGVhc3Qgb25jZSkiLCJzZXJ2ZXItcG9ydCI6IlB1ZXJ0byBkZSByZWQgZW4gZWwgY3VhbCBlbCBzZXJ2aWRvciBHUlBDIGVzY3VjaGFyw6EgY29uZXhpb25lcyBlbnRyYW50ZXMuIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQiOiJUaWVtcG8gbcOheGltbywgZWwgY3VhbCBlbCBzZXJ2aWRvciBlc3BlcmFyYSB1biBwaW5nIGtlZXBhbGl2ZSBhbnRlcyBkZSBjb25zaWRlcmFyIGxhIGNvbmV4acOzbiB0ZXJtaW5hZGEuIiwiZ3JwYy1rZWVwLWFsaXZlIjoiRHVyYWNpw7NuIGVudHJlIGRvcyBwaW5ncyBrZWVwYWxpdmUgY3VhbmRvIG5vIGhheWEgbGxhbWFkYSBSUEMgYWN0aXZhLiIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncyI6Ik3DrW5pbW8gdGllbXBvIHF1ZSBlbCBzZXJ2aWRvciBkZWJlIGVzcGVyYXIgZW50cmUgZW52w61vcyBkZSBtZW5zYWplcyBkZSBwaW5nIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoiTsO6bWVybyBtw6F4aW1vIGRlIHBpbmdzIGtlZXBhbGl2ZSBxdWUgZWwgc2Vydmlkb3IgcHVlZGUgZW52aWFyIHNpbiByZWNpYmlyIG5pbmfDum4gZGF0byBhbnRlcyBkZSBjb25zaWRlcmFyIGxhIGNvbmV4acOzbiB0ZXJtaW5hZGEuIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEiOiJNw61uaW1vIHRpZW1wbyBxdWUgZWwgc2Vydmlkb3IgZGViZSBlc3BlcmFyIGVudHJlIGVudsOtb3MgZGUgcGluZyBrZWVwYWxpdmUgY3VhbmRvIG5vIGhheWEgbmluZ8O6biBkYXRvIGVuIGVudsOtbyBvIHJlY2VwY2nDs24uIiwicGVybWl0LXdpdGhvdXQtY2FsbHMiOiJQZXJtaXRpciBhbCBzZXJ2aWRvciBtYW50ZW5lciBsYSBjb25leGnDs24gR1JQQyBhYmllcnRhLCBjdWFuZG8gbm8gaGF5YSBsbGFtYWRhcyBSUEMgYWN0aXZhcy4ifX0sSG89eyJhZGQtZW50cnkiOiLshKTsoJUg7LaU6rCAIiwiY29ubmVjdG9yLWFkZCI6IuyDiOuhnOyatCDsl7DqsrDsnpAg7LaU6rCAIiwiY29ubmVjdG9yLWVuYWJsZWQiOiJFbmFibGUgY29ubmVjdG9yIiwiY29ubmVjdG9yLW5hbWUiOiJDb25uZWN0b3IgbmFtZSIsImNvbm5lY3Rvci1uYW1lLXJlcXVpcmVkIjoiQ29ubmVjdG9yIG5hbWUgaXMgcmVxdWlyZWQuIiwiY29ubmVjdG9yLXR5cGUiOiJDb25uZWN0b3IgdHlwZSIsImNvbm5lY3Rvci10eXBlLXJlcXVpcmVkIjoiQ29ubmVjdG9yIHR5cGUgaXMgcmVxdWlyZWQuIixjb25uZWN0b3JzOiJDb25uZWN0b3JzIGNvbmZpZ3VyYXRpb24iLCJjcmVhdGUtbmV3LWdhdGV3YXkiOiJDcmVhdGUgYSBuZXcgZ2F0ZXdheSIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiQXJlIHlvdSBzdXJlIHlvdSB3YW50IGNyZWF0ZSBhIG5ldyBnYXRld2F5IHdpdGggbmFtZTogJ3t7Z2F0ZXdheU5hbWV9fSc/IixkZWxldGU6IkRlbGV0ZSBjb25maWd1cmF0aW9uIiwiZG93bmxvYWQtdGlwIjoiRG93bmxvYWQgY29uZmlndXJhdGlvbiBmaWxlIixnYXRld2F5OiJHYXRld2F5IiwiZ2F0ZXdheS1leGlzdHMiOiJEZXZpY2Ugd2l0aCBzYW1lIG5hbWUgaXMgYWxyZWFkeSBleGlzdHMuIiwiZ2F0ZXdheS1uYW1lIjoiR2F0ZXdheSBuYW1lIiwiZ2F0ZXdheS1uYW1lLXJlcXVpcmVkIjoiR2F0ZXdheSBuYW1lIGlzIHJlcXVpcmVkLiIsImdhdGV3YXktc2F2ZWQiOiJHYXRld2F5IGNvbmZpZ3VyYXRpb24gc3VjY2Vzc2Z1bGx5IHNhdmVkLiIsImpzb24tcGFyc2UiOiJOb3QgdmFsaWQgSlNPTi4iLCJqc29uLXJlcXVpcmVkIjoiRmllbGQgY2Fubm90IGJlIGVtcHR5LiIsIm5vLWNvbm5lY3RvcnMiOiJObyBjb25uZWN0b3JzIiwibm8tZGF0YSI6Ik5vIGNvbmZpZ3VyYXRpb25zIiwibm8tZ2F0ZXdheS1mb3VuZCI6Ik5vIGdhdGV3YXkgZm91bmQuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5vdCBmb3VuZC4iLCJwYXRoLWxvZ3MiOiJQYXRoIHRvIGxvZyBmaWxlcyIsInBhdGgtbG9ncy1yZXF1aXJlZCI6IlBhdGggaXMgcmVxdWlyZWQuIixyZW1vdGU6IlJlbW90ZSBjb25maWd1cmF0aW9uIiwicmVtb3RlLWxvZ2dpbmctbGV2ZWwiOiJMb2dnaW5nIGxldmVsIiwicmVtb3ZlLWVudHJ5IjoiUmVtb3ZlIGNvbmZpZ3VyYXRpb24iLCJzYXZlLXRpcCI6IlNhdmUgY29uZmlndXJhdGlvbiBmaWxlIiwic2VjdXJpdHktdHlwZSI6IlNlY3VyaXR5IHR5cGUiLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJBY2Nlc3MgVG9rZW4iLHRsczoiVExTIn0sc3RvcmFnZToiU3RvcmFnZSIsInN0b3JhZ2UtbWF4LWZpbGUtcmVjb3JkcyI6Ik1heGltdW0gcmVjb3JkcyBpbiBmaWxlIiwic3RvcmFnZS1tYXgtZmlsZXMiOiJNYXhpbXVtIG51bWJlciBvZiBmaWxlcyIsInN0b3JhZ2UtbWF4LWZpbGVzLW1pbiI6Ik1pbmltdW0gbnVtYmVyIGlzIDEuIiwic3RvcmFnZS1tYXgtZmlsZXMtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiJOdW1iZXIgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik1heGltdW0gcmVjb3JkcyBpbiBzdG9yYWdlIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1taW4iOiJNaW5pbXVtIG51bWJlciBvZiByZWNvcmRzIGlzIDEuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkIjoiTWF4aW11bSByZWNvcmRzIGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtcGFjay1zaXplIjoiTWF4aW11bSBldmVudCBwYWNrIHNpemUiLCJzdG9yYWdlLXBhY2stc2l6ZS1taW4iOiJNaW5pbXVtIG51bWJlciBpcyAxLiIsInN0b3JhZ2UtcGFjay1zaXplLXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoiTWF4aW11bSBldmVudCBwYWNrIHNpemUgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1wYXRoIjoiU3RvcmFnZSBwYXRoIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoiU3RvcmFnZSBwYXRoIGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtdHlwZSI6IlN0b3JhZ2UgdHlwZSIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoiRmlsZSBzdG9yYWdlIiwibWVtb3J5LXN0b3JhZ2UiOiJNZW1vcnkgc3RvcmFnZSJ9LHRoaW5nc2JvYXJkOiJUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QiOiJUaGluZ3NCb2FyZCBob3N0IiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6Ikhvc3QgaXMgcmVxdWlyZWQuIiwidGhpbmdzYm9hcmQtcG9ydCI6IlRoaW5nc0JvYXJkIHBvcnQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6Ik1heGltdW0gcG9ydCBudW1iZXIgaXMgNjU1MzUuIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiJNaW5pbXVtIHBvcnQgbnVtYmVyIGlzIDEuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiUG9ydCBpcyBub3QgdmFsaWQuIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6IlBvcnQgaXMgcmVxdWlyZWQuIix0aWR5OiJUaWR5IiwidGlkeS10aXAiOiJUaWR5IGNvbmZpZyBKU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoiQ29ubmVjdG9yIHt7dHlwZU5hbWV9fSBjb25maWd1cmF0aW9uIiwidGxzLXBhdGgtY2EtY2VydGlmaWNhdGUiOiJQYXRoIHRvIENBIGNlcnRpZmljYXRlIG9uIGdhdGV3YXkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiJQYXRoIHRvIGNsaWVudCBjZXJ0aWZpY2F0ZSBvbiBnYXRld2F5IiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiJQYXRoIHRvIHByaXZhdGUga2V5IG9uIGdhdGV3YXkiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlRvZ2dsZSBmdWxsc2NyZWVuIiwidHJhbnNmb3JtZXItanNvbi1jb25maWciOiJDb25maWd1cmF0aW9uIEpTT04qIiwidXBkYXRlLWNvbmZpZyI6IkFkZC91cGRhdGUgY29uZmlndXJhdGlvbiBKU09OIn0sem89eyJhZGQtZW50cnkiOiJBZGQgY29uZmlndXJhdGlvbiIsYWR2YW5jZWQ6IkFkdmFuY2VkIiwiY2hlY2tpbmctZGV2aWNlLWFjdGl2aXR5IjoiQ2hlY2tpbmcgZGV2aWNlIGFjdGl2aXR5Iixjb21tYW5kOiJEb2NrZXIgY29tbWFuZHMiLCJjb21tYW5kLWNvcGllZC1tZXNzYWdlIjoiRG9ja2VyIGNvbW1hbmQgaGFzIGJlZW4gY29waWVkIHRvIGNsaXBib2FyZCIsY29uZmlndXJhdGlvbjoiQ29uZmlndXJhdGlvbiIsImNvbm5lY3Rvci1hZGQiOiJBZGQgbmV3IGNvbm5lY3RvciIsImNvbm5lY3Rvci1lbmFibGVkIjoiRW5hYmxlIGNvbm5lY3RvciIsImNvbm5lY3Rvci1uYW1lIjoiQ29ubmVjdG9yIG5hbWUiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6IkNvbm5lY3RvciBuYW1lIGlzIHJlcXVpcmVkLiIsImNvbm5lY3Rvci10eXBlIjoiQ29ubmVjdG9yIHR5cGUiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IkNvbm5lY3RvciB0eXBlIGlzIHJlcXVpcmVkLiIsY29ubmVjdG9yczoiQ29ubmVjdG9ycyIsImNvbm5lY3RvcnMtY29uZmlnIjoiQ29ubmVjdG9ycyBjb25maWd1cmF0aW9uIiwiY29ubmVjdG9ycy10YWJsZS1lbmFibGVkIjoiRW5hYmxlZCIsImNvbm5lY3RvcnMtdGFibGUtbmFtZSI6Ik5hbWUiLCJjb25uZWN0b3JzLXRhYmxlLXR5cGUiOiJUeXBlIiwiY29ubmVjdG9ycy10YWJsZS1zdGF0dXMiOiJTdGF0dXMiLCJjb25uZWN0b3JzLXRhYmxlLWFjdGlvbnMiOiJBY3Rpb25zIiwiY29ubmVjdG9ycy10YWJsZS1rZXkiOiJLZXkiLCJjb25uZWN0b3JzLXRhYmxlLWNsYXNzIjoiQ2xhc3MiLCJycGMtY29tbWFuZC1zZW5kIjoiU2VuZCIsInJwYy1jb21tYW5kLXJlc3VsdCI6IlJlc3VsdCIsInJwYy1jb21tYW5kLWVkaXQtcGFyYW1zIjoiRWRpdCBwYXJhbWV0ZXJzIiwiZ2F0ZXdheS1jb25maWd1cmF0aW9uIjoiR2VuZXJhbCBDb25maWd1cmF0aW9uIiwiZG9ja2VyLWxhYmVsIjoiSW4gb3JkZXIgdG8gcnVuIFRoaW5nc0JvYXJkIElvVCBnYXRld2F5IGluIGRvY2tlciB3aXRoIGNyZWRlbnRpYWxzIGZvciB0aGlzIGRldmljZSB5b3UgY2FuIHVzZSB0aGUgZm9sbG93aW5nIGNvbW1hbmRzLiIsImNyZWF0ZS1uZXctZ2F0ZXdheSI6IkNyZWF0ZSBhIG5ldyBnYXRld2F5IiwiY3JlYXRlLW5ldy1nYXRld2F5LXRleHQiOiJBcmUgeW91IHN1cmUgeW91IHdhbnQgY3JlYXRlIGEgbmV3IGdhdGV3YXkgd2l0aCBuYW1lOiAne3tnYXRld2F5TmFtZX19Jz8iLCJjcmVhdGVkLXRpbWUiOiJDcmVhdGVkIHRpbWUiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaGVhZGVyIjoiQ29uZmlndXJhdGlvbnMgd2lsbCBiZSBkZWxldGVkIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWJvZHkiOiJUdXJuaW5nIG9mZiBSZW1vdGUgQ29uZmlndXJhdGlvbiBpcyBwb3NzaWJsZSBvbmx5IGlmIHRoZXJlIGlzIHBoeXNpY2FsIGFjY2VzcyB0byB0aGUgR2F0ZXdheS4gQWxsIHByZXZpb3VzIGNvbmZpZ3VyYXRpb25zIHdpbGwgYmUgZGVsZXRlZC48YnI+PGJyPiBcblRvIHR1cm4gb2ZmIGNvbmZpZ3VyYXRpb24sIGVudGVyIGdhdGV3YXkgbmFtZSBiZWxvdyIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1pbnB1dCI6IkdhdGV3YXkgbmFtZSIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1pbnB1dC1yZXF1aXJlZCI6IkdhdGV3YXkgbmFtZSBpcyBtYW5kYXRvcnkiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctY29uZmlybSI6IlR1cm4gT2ZmIixkZWxldGU6IkRlbGV0ZSBjb25maWd1cmF0aW9uIiwiZG93bmxvYWQtdGlwIjoiRG93bmxvYWQgY29uZmlndXJhdGlvbiBmaWxlIiwiZHJvcC1maWxlIjoiRHJvcCBmaWxlIGhlcmUgb3IiLGdhdGV3YXk6IkdhdGV3YXkiLCJnYXRld2F5LWV4aXN0cyI6IkRldmljZSB3aXRoIHNhbWUgbmFtZSBpcyBhbHJlYWR5IGV4aXN0cy4iLCJnYXRld2F5LW5hbWUiOiJHYXRld2F5IG5hbWUiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJHYXRld2F5IG5hbWUgaXMgcmVxdWlyZWQuIiwiZ2F0ZXdheS1zYXZlZCI6IkdhdGV3YXkgY29uZmlndXJhdGlvbiBzdWNjZXNzZnVsbHkgc2F2ZWQuIixncnBjOiJHUlBDIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQiOiJLZWVwIGFsaXZlIHRpbWVvdXQgKGluIG1zKSIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LXJlcXVpcmVkIjoiS2VlcCBhbGl2ZSB0aW1lb3V0IGlzIHJlcXVpcmVkIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtbWluIjoiS2VlcCBhbGl2ZSB0aW1lb3V0IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dC1wYXR0ZXJuIjoiS2VlcCBhbGl2ZSB0aW1lb3V0IGlzIG5vdCB2YWxpZCIsImdycGMta2VlcC1hbGl2ZSI6IktlZXAgYWxpdmUgKGluIG1zKSIsImdycGMta2VlcC1hbGl2ZS1yZXF1aXJlZCI6IktlZXAgYWxpdmUgaXMgcmVxdWlyZWQiLCJncnBjLWtlZXAtYWxpdmUtbWluIjoiS2VlcCBhbGl2ZSBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1rZWVwLWFsaXZlLXBhdHRlcm4iOiJLZWVwIGFsaXZlIGlzIG5vdCB2YWxpZCIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncyI6Ik1pbiB0aW1lIGJldHdlZW4gcGluZ3MgKGluIG1zKSIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1yZXF1aXJlZCI6Ik1pbiB0aW1lIGJldHdlZW4gcGluZ3MgaXMgcmVxdWlyZWQiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtbWluIjoiTWluIHRpbWUgYmV0d2VlbiBwaW5ncyBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLXBhdHRlcm4iOiJNaW4gdGltZSBiZXR3ZWVuIHBpbmdzIGlzIG5vdCB2YWxpZCIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhIjoiTWluIHBpbmcgaW50ZXJ2YWwgd2l0aG91dCBkYXRhIChpbiBtcykiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6Ik1pbiBwaW5nIGludGVydmFsIHdpdGhvdXQgZGF0YSBpcyByZXF1aXJlZCIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLW1pbiI6Ik1pbiBwaW5nIGludGVydmFsIHdpdGhvdXQgZGF0YSBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcGF0dGVybiI6Ik1pbiBwaW5nIGludGVydmFsIHdpdGhvdXQgZGF0YSBpcyBub3QgdmFsaWQiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEiOiJNYXggcGluZ3Mgd2l0aG91dCBkYXRhIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXJlcXVpcmVkIjoiTWF4IHBpbmdzIHdpdGhvdXQgZGF0YSBpcyByZXF1aXJlZCIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YS1taW4iOiJNYXggcGluZ3Mgd2l0aG91dCBkYXRhIGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtcGF0dGVybiI6Ik1heCBwaW5ncyB3aXRob3V0IGRhdGEgaXMgbm90IHZhbGlkIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcyI6IkluYWN0aXZpdHkgY2hlY2sgcGVyaW9kIChpbiBzZWMpIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1yZXF1aXJlZCI6IkluYWN0aXZpdHkgY2hlY2sgcGVyaW9kIGlzIHJlcXVpcmVkIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1taW4iOiJJbmFjdGl2aXR5IGNoZWNrIHBlcmlvZCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1wYXR0ZXJuIjoiSW5hY3Rpdml0eSBjaGVjayBwZXJpb2QgaXMgbm90IHZhbGlkIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMiOiJJbmFjdGl2aXR5IHRpbWVvdXQgKGluIHNlYykiLCJpbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1yZXF1aXJlZCI6IkluYWN0aXZpdHkgdGltZW91dCBpcyByZXF1aXJlZCIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLW1pbiI6IkluYWN0aXZpdHkgdGltZW91dCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcGF0dGVybiI6IkluYWN0aXZpdHkgdGltZW91dCBpcyBub3QgdmFsaWQiLCJqc29uLXBhcnNlIjoiTm90IHZhbGlkIEpTT04uIiwianNvbi1yZXF1aXJlZCI6IkZpZWxkIGNhbm5vdCBiZSBlbXB0eS4iLGxvZ3M6e2xvZ3M6IkxvZ3MiLGRheXM6ImRheXMiLGhvdXJzOiJob3VycyIsbWludXRlczoibWludXRlcyIsc2Vjb25kczoic2Vjb25kcyIsImRhdGUtZm9ybWF0IjoiRGF0ZSBmb3JtYXQiLCJkYXRlLWZvcm1hdC1yZXF1aXJlZCI6IkRhdGUgZm9ybWF0IHJlcXVpcmVkIiwibG9nLWZvcm1hdCI6IkxvZyBmb3JtYXQiLCJsb2ctdHlwZSI6IkxvZyB0eXBlIiwibG9nLWZvcm1hdC1yZXF1aXJlZCI6IkxvZyBmb3JtYXQgcmVxdWlyZWQiLHJlbW90ZToiUmVtb3RlIGxvZ2dpbmciLCJyZW1vdGUtbG9ncyI6IlJlbW90ZSBsb2dzIixsb2NhbDoiTG9jYWwgbG9nZ2luZyIsbGV2ZWw6IkxvZyBsZXZlbCIsImZpbGUtcGF0aCI6IkZpbGUgcGF0aCIsImZpbGUtcGF0aC1yZXF1aXJlZCI6IkZpbGUgcGF0aCByZXF1aXJlZCIsInNhdmluZy1wZXJpb2QiOiJMb2cgc2F2aW5nIHBlcmlvZCIsInNhdmluZy1wZXJpb2QtbWluIjoiTG9nIHNhdmluZyBwZXJpb2QgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsInNhdmluZy1wZXJpb2QtcmVxdWlyZWQiOiJMb2cgc2F2aW5nIHBlcmlvZCByZXF1aXJlZCIsImJhY2t1cC1jb3VudCI6IkJhY2t1cCBjb3VudCIsImJhY2t1cC1jb3VudC1taW4iOiJCYWNrdXAgY291bnQgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImJhY2t1cC1jb3VudC1yZXF1aXJlZCI6IkJhY2t1cCBjb3VudCByZXF1aXJlZCJ9LCJtaW4tcGFjay1zZW5kLWRlbGF5IjoiTWluIHBhY2sgc2VuZCBkZWxheSAoaW4gbXMpIiwibWluLXBhY2stc2VuZC1kZWxheS1yZXF1aXJlZCI6Ik1pbiBwYWNrIHNlbmQgZGVsYXkgaXMgcmVxdWlyZWQiLCJtaW4tcGFjay1zZW5kLWRlbGF5LW1pbiI6Ik1pbiBwYWNrIHNlbmQgZGVsYXkgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMCIsIm5vLWNvbm5lY3RvcnMiOiJObyBjb25uZWN0b3JzIiwibm8tZGF0YSI6Ik5vIGNvbmZpZ3VyYXRpb25zIiwibm8tZ2F0ZXdheS1mb3VuZCI6Ik5vIGdhdGV3YXkgZm91bmQuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5vdCBmb3VuZC4iLCJwYXRoLWxvZ3MiOiJQYXRoIHRvIGxvZyBmaWxlcyIsInBhdGgtbG9ncy1yZXF1aXJlZCI6IlBhdGggaXMgcmVxdWlyZWQuIiwicGVybWl0LXdpdGhvdXQtY2FsbHMiOiJLZWVwIGFsaXZlIHBlcm1pdCB3aXRob3V0IGNhbGxzIixyZW1vdGU6IlJlbW90ZSBjb25maWd1cmF0aW9uIiwicmVtb3RlLWxvZ2dpbmctbGV2ZWwiOiJMb2dnaW5nIGxldmVsIiwicmVtb3ZlLWVudHJ5IjoiUmVtb3ZlIGNvbmZpZ3VyYXRpb24iLCJyZW1vdGUtc2hlbGwiOiJSZW1vdGUgc2hlbGwiLCJyZW1vdGUtY29uZmlndXJhdGlvbiI6IlJlbW90ZSBDb25maWd1cmF0aW9uIixvdGhlcjoiT3RoZXIiLCJzYXZlLXRpcCI6IlNhdmUgY29uZmlndXJhdGlvbiBmaWxlIiwic2VjdXJpdHktdHlwZSI6IlNlY3VyaXR5IHR5cGUiLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJBY2Nlc3MgVG9rZW4iLCJ1c2VybmFtZS1wYXNzd29yZCI6IlVzZXJuYW1lIGFuZCBQYXNzd29yZCIsdGxzOiJUTFMiLCJ0bHMtYWNjZXNzLXRva2VuIjoiVExTICsgQWNjZXNzIFRva2VuIiwidGxzLXByaXZhdGUta2V5IjoiVExTICsgUHJpdmF0ZSBLZXkifSwic2VydmVyLXBvcnQiOiJTZXJ2ZXIgcG9ydCIsc3RhdGlzdGljczp7c3RhdGlzdGljOiJTdGF0aXN0aWMiLHN0YXRpc3RpY3M6IlN0YXRpc3RpY3MiLCJzdGF0aXN0aWMtY29tbWFuZHMtZW1wdHkiOiJObyBzdGF0aXN0aWNzIGF2YWlsYWJsZSIsY29tbWFuZHM6IkNvbW1hbmRzIiwic2VuZC1wZXJpb2QiOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgKGluIHNlYykiLCJzZW5kLXBlcmlvZC1yZXF1aXJlZCI6IlN0YXRpc3RpYyBzZW5kIHBlcmlvZCBpcyByZXF1aXJlZCIsInNlbmQtcGVyaW9kLW1pbiI6IlN0YXRpc3RpYyBzZW5kIHBlcmlvZCBjYW4gbm90IGJlIGxlc3MgdGhlbiA2MCIsInNlbmQtcGVyaW9kLXBhdHRlcm4iOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgaXMgbm90IHZhbGlkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uIjoiQ2hlY2sgY29ubmVjdG9ycyBjb25maWd1cmF0aW9uIChpbiBzZWMpIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXJlcXVpcmVkIjoiQ2hlY2sgY29ubmVjdG9ycyBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLW1pbiI6IkNoZWNrIGNvbm5lY3RvcnMgY29uZmlndXJhdGlvbiBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXBhdHRlcm4iOiJDaGVjayBjb25uZWN0b3JzIGNvbmZpZ3VyYXRpb24gaXMgbm90IHZhbGlkIixhZGQ6IkFkZCBjb21tYW5kIix0aW1lb3V0OiJUaW1lb3V0IiwidGltZW91dC1tcyI6IlRpbWVvdXQgKGluIG1zKSIsInRpbWVvdXQtcmVxdWlyZWQiOiJUaW1lb3V0IGlzIHJlcXVpcmVkIiwidGltZW91dC1taW4iOiJUaW1lb3V0IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJ0aW1lb3V0LXBhdHRlcm4iOiJUaW1lb3V0IGlzIG5vdCB2YWxpZCIsImF0dHJpYnV0ZS1uYW1lIjoiQXR0cmlidXRlIG5hbWUiLCJhdHRyaWJ1dGUtbmFtZS1yZXF1aXJlZCI6IkF0dHJpYnV0ZSBuYW1lIGlzIHJlcXVpcmVkIixjb21tYW5kOiJDb21tYW5kIiwiY29tbWFuZC1yZXF1aXJlZCI6IkNvbW1hbmQgaXMgcmVxdWlyZWQiLHJlbW92ZToiUmVtb3ZlIGNvbW1hbmQifSxzdG9yYWdlOiJTdG9yYWdlIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoiTWF4aW11bSByZWNvcmRzIGluIGZpbGUiLCJzdG9yYWdlLW1heC1maWxlcyI6Ik1heGltdW0gbnVtYmVyIG9mIGZpbGVzIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoiTWluaW11bSBudW1iZXIgaXMgMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJzdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZCI6Ik51bWJlciBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLW1heC1yZWNvcmRzIjoiTWF4aW11bSByZWNvcmRzIGluIHN0b3JhZ2UiLCJzdG9yYWdlLW1heC1yZWNvcmRzLW1pbiI6Ik1pbmltdW0gbnVtYmVyIG9mIHJlY29yZHMgaXMgMS4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJNYXhpbXVtIHJlY29yZHMgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudCI6IlJlYWQgcmVjb3JkIGNvdW50IGluIHN0b3JhZ2UiLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LW1pbiI6Ik1pbmltdW0gbnVtYmVyIG9mIHJlY29yZHMgaXMgMS4iLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcmVxdWlyZWQiOiJSZWFkIHJlY29yZCBjb3VudCBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudCI6Ik1heCByZWFkIHJlY29yZCBjb3VudCBpbiBzdG9yYWdlIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtbWluIjoiTWluaW11bSBudW1iZXIgb2YgcmVjb3JkcyBpcyAxLiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkIjoiTWF4IFJlYWQgcmVjb3JkIGNvdW50IGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtZGF0YS1mb2xkZXItcGF0aCI6IkRhdGEgZm9sZGVyIHBhdGgiLCJzdG9yYWdlLWRhdGEtZm9sZGVyLXBhdGgtcmVxdWlyZWQiOiJEYXRhIGZvbGRlciBwYXRoIGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtcGFjay1zaXplIjoiTWF4aW11bSBldmVudCBwYWNrIHNpemUiLCJzdG9yYWdlLXBhY2stc2l6ZS1taW4iOiJNaW5pbXVtIG51bWJlciBpcyAxLiIsInN0b3JhZ2UtcGFjay1zaXplLXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoiTWF4aW11bSBldmVudCBwYWNrIHNpemUgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1wYXRoIjoiU3RvcmFnZSBwYXRoIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoiU3RvcmFnZSBwYXRoIGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtdHlwZSI6IlN0b3JhZ2UgdHlwZSIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoiRmlsZSBzdG9yYWdlIiwibWVtb3J5LXN0b3JhZ2UiOiJNZW1vcnkgc3RvcmFnZSIsc3FsaXRlOiJTUUxJVEUifSx0aGluZ3Nib2FyZDoiVGhpbmdzQm9hcmQiLGdlbmVyYWw6IkdlbmVyYWwiLCJ0aGluZ3Nib2FyZC1ob3N0IjoiVGhpbmdzQm9hcmQgaG9zdCIsInRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWQiOiJIb3N0IGlzIHJlcXVpcmVkLiIsInRoaW5nc2JvYXJkLXBvcnQiOiJUaGluZ3NCb2FyZCBwb3J0IiwidGhpbmdzYm9hcmQtcG9ydC1tYXgiOiJNYXhpbXVtIHBvcnQgbnVtYmVyIGlzIDY1NTM1LiIsInRoaW5nc2JvYXJkLXBvcnQtbWluIjoiTWluaW11bSBwb3J0IG51bWJlciBpcyAxLiIsInRoaW5nc2JvYXJkLXBvcnQtcGF0dGVybiI6IlBvcnQgaXMgbm90IHZhbGlkLiIsInRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWQiOiJQb3J0IGlzIHJlcXVpcmVkLiIsdGlkeToiVGlkeSIsInRpZHktdGlwIjoiVGlkeSBjb25maWcgSlNPTiIsInRpdGxlLWNvbm5lY3RvcnMtanNvbiI6IkNvbm5lY3RvciB7e3R5cGVOYW1lfX0gY29uZmlndXJhdGlvbiIsInRscy1wYXRoLWNhLWNlcnRpZmljYXRlIjoiUGF0aCB0byBDQSBjZXJ0aWZpY2F0ZSBvbiBnYXRld2F5IiwidGxzLXBhdGgtY2xpZW50LWNlcnRpZmljYXRlIjoiUGF0aCB0byBjbGllbnQgY2VydGlmaWNhdGUgb24gZ2F0ZXdheSIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3VycyI6Ik1lc3NhZ2VzIFRUTCBjaGVjayBpbiBob3VycyIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1yZXF1aXJlZCI6Ik1lc3NhZ2VzIFRUTCBjaGVjayBpbiBob3VycyBpcyByZXF1aXJlZC4iLCJtZXNzYWdlcy10dGwtY2hlY2staW4taG91cnMtbWluIjoiTWluIG51bWJlciBpcyAxLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cyI6Ik1lc3NhZ2VzIFRUTCBpbiBkYXlzIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcmVxdWlyZWQiOiJNZXNzYWdlcyBUVEwgaW4gZGF5cyBpcyByZXF1aXJlZC4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1taW4iOiJNaW4gbnVtYmVyIGlzIDEuIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwibXF0dC1xb3MiOiJRb1MiLCJtcXR0LXFvcy1yZXF1aXJlZCI6IlFvUyBpcyByZXF1aXJlZCIsIm1xdHQtcW9zLXJhbmdlIjoiUW9TIHZhbHVlcyByYW5nZSBpcyBmcm9tIDAgdG8gMSIsInRscy1wYXRoLXByaXZhdGUta2V5IjoiUGF0aCB0byBwcml2YXRlIGtleSBvbiBnYXRld2F5IiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiJUb2dnbGUgZnVsbHNjcmVlbiIsInRyYW5zZm9ybWVyLWpzb24tY29uZmlnIjoiQ29uZmlndXJhdGlvbiBKU09OKiIsInVwZGF0ZS1jb25maWciOiJBZGQvdXBkYXRlIGNvbmZpZ3VyYXRpb24gSlNPTiIsaGludHM6eyJyZW1vdGUtY29uZmlndXJhdGlvbiI6IkVuYWJsZXMgcmVtb3RlIGNvbmZpZ3VyYXRpb24gYW5kIG1hbmFnZW1lbnQgb2YgdGhlIGdhdGV3YXkiLCJyZW1vdGUtc2hlbGwiOiJFbmFibGVzIHJlbW90ZSBjb250cm9sIG9mIHRoZSBvcGVyYXRpbmcgc3lzdGVtIHdpdGggdGhlIGdhdGV3YXkgZnJvbSB0aGUgUmVtb3RlIFNoZWxsIHdpZGdldCIsaG9zdDoiSG9zdG5hbWUgb3IgSVAgYWRkcmVzcyBvZiBUaGluZ3NCb2FyZCBzZXJ2ZXIiLHBvcnQ6IlBvcnQgb2YgTVFUVCBzZXJ2aWNlIG9uIFRoaW5nc0JvYXJkIHNlcnZlciIsdG9rZW46IkFjY2VzcyB0b2tlbiBmb3IgdGhlIGdhdGV3YXkgZnJvbSBUaGluZ3NCb2FyZCBzZXJ2ZXIiLCJjbGllbnQtaWQiOiJNUVRUIGNsaWVudCBpZCBmb3IgdGhlIGdhdGV3YXkgZm9ybSBUaGluZ3NCb2FyZCBzZXJ2ZXIiLHVzZXJuYW1lOiJNUVRUIHVzZXJuYW1lIGZvciB0aGUgZ2F0ZXdheSBmb3JtIFRoaW5nc0JvYXJkIHNlcnZlciIscGFzc3dvcmQ6Ik1RVFQgcGFzc3dvcmQgZm9yIHRoZSBnYXRld2F5IGZvcm0gVGhpbmdzQm9hcmQgc2VydmVyIiwiY2EtY2VydCI6IlBhdGggdG8gQ0EgY2VydGlmaWNhdGUgZmlsZSIsImRhdGUtZm9ybSI6IkRhdGUgZm9ybWF0IGluIGxvZyBtZXNzYWdlIiwiZGF0YS1mb2xkZXIiOiJQYXRoIHRvIGZvbGRlciwgdGhhdCB3aWxsIGNvbnRhaW5zIGRhdGEgKFJlbGF0aXZlIG9yIEFic29sdXRlKSIsImxvZy1mb3JtYXQiOiJMb2cgbWVzc2FnZSBmb3JtYXQiLCJyZW1vdGUtbG9nIjoiRW5hYmxlcyByZW1vdGUgbG9nZ2luZyBhbmQgbG9ncyByZWFkaW5nIGZyb20gdGhlIGdhdGV3YXkiLCJiYWNrdXAtY291bnQiOiJJZiBiYWNrdXAgY291bnQgaXMgPiAwLCB3aGVuIGEgcm9sbG92ZXIgaXMgZG9uZSwgbm8gbW9yZSB0aGFuIGJhY2t1cCBjb3VudCBmaWxlcyBhcmUga2VwdCAtIHRoZSBvbGRlc3Qgb25lcyBhcmUgZGVsZXRlZCIsc3RvcmFnZToiUHJvdmlkZXMgY29uZmlndXJhdGlvbiBmb3Igc2F2aW5nIGluY29taW5nIGRhdGEgYmVmb3JlIGl0IGlzIHNlbnQgdG8gdGhlIHBsYXRmb3JtIiwibWF4LWZpbGUtY291bnQiOiJNYXhpbXVtIGNvdW50IG9mIGZpbGUgdGhhdCB3aWxsIGJlIGNyZWF0ZWQiLCJtYXgtcmVhZC1jb3VudCI6IkNvdW50IG9mIG1lc3NhZ2VzIHRvIGdldCBmcm9tIHN0b3JhZ2UgYW5kIHNlbmQgdG8gVGhpbmdzQm9hcmQiLCJtYXgtcmVjb3JkcyI6Ik1heGltdW0gY291bnQgb2YgcmVjb3JkcyB0aGF0IHdpbGwgYmUgc3RvcmVkIGluIG9uZSBmaWxlIiwicmVhZC1yZWNvcmQtY291bnQiOiJDb3VudCBvZiBtZXNzYWdlcyB0byBnZXQgZnJvbSBzdG9yYWdlIGFuZCBzZW5kIHRvIFRoaW5nc0JvYXJkIiwibWF4LXJlY29yZHMtY291bnQiOiJNYXhpbXVtIGNvdW50IG9mIGRhdGEgaW4gc3RvcmFnZSBiZWZvcmUgc2VuZCB0byBUaGluZ3NCb2FyZCIsInR0bC1jaGVjay1ob3VyIjoiSG93IG9mdGVuIHdpbGwgR2F0ZXdheSBjaGVjayBkYXRhIGZvciBvYnNvbGVzY2VuY2UiLCJ0dGwtbWVzc2FnZXMtZGF5IjoiTWF4aW11bSBkYXlzIHRoYXQgc3RvcmFnZSB3aWxsIHNhdmUgZGF0YSIsY29tbWFuZHM6IkNvbW1hbmRzIGZvciBjb2xsZWN0aW5nIGFkZGl0aW9uYWwgc3RhdGlzdGljIixhdHRyaWJ1dGU6IlN0YXRpc3RpYyB0ZWxlbWV0cnkga2V5Iix0aW1lb3V0OiJUaW1lb3V0IGZvciBjb21tYW5kIGV4ZWN1dGluZyIsY29tbWFuZDoiVGhlIHJlc3VsdCBvZiB0aGUgY29tbWFuZCBleGVjdXRpb24sIHdpbGwgYmUgdXNlZCBhcyB0aGUgdmFsdWUgZm9yIHRlbGVtZXRyeSIsImNoZWNrLWRldmljZS1hY3Rpdml0eSI6IkVuYWJsZXMgbW9uaXRvciB0aGUgYWN0aXZpdHkgb2YgZWFjaCBjb25uZWN0ZWQgZGV2aWNlIiwiaW5hY3Rpdml0eS10aW1lb3V0IjoiVGltZSBhZnRlciB3aG9zZSB0aGUgZ2F0ZXdheSB3aWxsIGRpc2Nvbm5lY3QgZGV2aWNlIiwiaW5hY3Rpdml0eS1wZXJpb2QiOiJQZXJpb2RpY2l0eSBvZiBkZXZpY2UgYWN0aXZpdHkgY2hlY2siLCJtaW5pbWFsLXBhY2stZGVsYXkiOiJEZWxheSBiZXR3ZWVuIHNlbmRpbmcgcGFja3Mgb2YgbWVzc2FnZXMgKERlY3JlYXNpbmcgdGhpcyBzZXR0aW5nIHJlc3VsdHMgaW4gaW5jcmVhc2VkIENQVSB1c2FnZSkiLHFvczoiUXVhbGl0eSBvZiBTZXJ2aWNlIGluIE1RVFQgbWVzc2FnaW5nICgwIC0gYXQgbW9zdCBvbmNlLCAxIC0gYXQgbGVhc3Qgb25jZSkiLCJzZXJ2ZXItcG9ydCI6Ik5ldHdvcmsgcG9ydCBvbiB3aGljaCBHUlBDIHNlcnZlciB3aWxsIGxpc3RlbiBmb3IgaW5jb21pbmcgY29ubmVjdGlvbnMuIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQiOiJNYXhpbXVtIHRpbWUgdGhlIHNlcnZlciBzaG91bGQgd2FpdCBmb3IgYSBrZWVwYWxpdmUgcGluZyByZXNwb25zZSBiZWZvcmUgY29uc2lkZXJpbmcgdGhlIGNvbm5lY3Rpb24gZGVhZC4iLCJncnBjLWtlZXAtYWxpdmUiOiJEdXJhdGlvbiBiZXR3ZWVuIHR3byBzdWNjZXNzaXZlIGtlZXBhbGl2ZSBwaW5nIG1lc3NhZ2VzIHdoZW4gdGhlcmUgaXMgbm8gYWN0aXZlIFJQQyBjYWxsLiIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncyI6Ik1pbmltdW0gYW1vdW50IG9mIHRpbWUgdGhlIHNlcnZlciBzaG91bGQgd2FpdCBiZXR3ZWVuIHNlbmRpbmcga2VlcGFsaXZlIHBpbmcgbWVzc2FnZXMiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEiOiJNYXhpbXVtIG51bWJlciBvZiBrZWVwYWxpdmUgcGluZyBtZXNzYWdlcyB0aGF0IHRoZSBzZXJ2ZXIgY2FuIHNlbmQgd2l0aG91dCByZWNlaXZpbmcgYW55IGRhdGEgYmVmb3JlIGl0IGNvbnNpZGVycyB0aGUgY29ubmVjdGlvbiBkZWFkLiIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhIjoiTWluaW11bSBhbW91bnQgb2YgdGltZSB0aGUgc2VydmVyIHNob3VsZCB3YWl0IGJldHdlZW4gc2VuZGluZyBrZWVwYWxpdmUgcGluZyBtZXNzYWdlcyB3aGVuIHRoZXJlIGlzIG5vIGRhdGEgYmVpbmcgc2VudCBvciByZWNlaXZlZC4iLCJwZXJtaXQtd2l0aG91dC1jYWxscyI6IkFsbG93IHNlcnZlciB0byBrZWVwIHRoZSBHUlBDIGNvbm5lY3Rpb24gYWxpdmUgZXZlbiB3aGVuIHRoZXJlIGFyZSBubyBhY3RpdmUgUlBDIGNhbGxzLiJ9fSxXbz17ImFkZC1lbnRyeSI6IkNvbmZpZ3VyYXRpZSB0b2V2b2VnZW4iLCJjb25uZWN0b3ItYWRkIjoiTmlldXdlIGNvbm5lY3RvciB0b2V2b2VnZW4iLCJjb25uZWN0b3ItZW5hYmxlZCI6IkNvbm5lY3RvciBpbnNjaGFrZWxlbiIsImNvbm5lY3Rvci1uYW1lIjoiTmFhbSB2YW4gZGUgY29ubmVjdG9yIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiJEZSBuYWFtIHZhbiBkZSBjb25uZWN0b3IgaXMgdmVyZWlzdC4iLCJjb25uZWN0b3ItdHlwZSI6IlR5cGUgYWFuc2x1aXRpbmciLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IkhldCB0eXBlIGNvbm5lY3RvciBpcyB2ZXJlaXN0LiIsY29ubmVjdG9yczoiQ29uZmlndXJhdGllIHZhbiBjb25uZWN0b3JlbiIsImNyZWF0ZS1uZXctZ2F0ZXdheSI6IkVlbiBuaWV1d2UgZ2F0ZXdheSBtYWtlbiIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiV2VldCB1IHpla2VyIGRhdCB1IGVlbiBuaWV1d2UgZ2F0ZXdheSB3aWx0IG1ha2VuIG1ldCBkZSBuYWFtOiAne3tnYXRld2F5TmFtZX19Jz8iLGRlbGV0ZToiQ29uZmlndXJhdGllIHZlcndpamRlcmVuIiwiZG93bmxvYWQtdGlwIjoiQ29uZmlndXJhdGllYmVzdGFuZCBkb3dubG9hZGVuIixnYXRld2F5OiJHYXRld2F5IiwiZ2F0ZXdheS1leGlzdHMiOiJEZXZpY2UgbWV0IGRlemVsZmRlIG5hYW0gYmVzdGFhdCBhbC4iLCJnYXRld2F5LW5hbWUiOiJOYWFtIHZhbiBkZSBnYXRld2F5IiwiZ2F0ZXdheS1uYW1lLXJlcXVpcmVkIjoiRGUgbmFhbSB2YW4gZGUgZ2F0ZXdheSBpcyB2ZXJlaXN0LiIsImdhdGV3YXktc2F2ZWQiOiJHYXRld2F5Y29uZmlndXJhdGllIHN1Y2Nlc3ZvbCBvcGdlc2xhZ2VuLiIsImpzb24tcGFyc2UiOiJPbmdlbGRpZ2UgSlNPTi4iLCJqc29uLXJlcXVpcmVkIjoiSGV0IHZlbGQgbWFnIG5pZXQgbGVlZyB6aWpuLiIsIm5vLWNvbm5lY3RvcnMiOiJHZWVuIGNvbm5lY3RvcmVuIiwibm8tZGF0YSI6IkdlZW4gY29uZmlndXJhdGllcyIsIm5vLWdhdGV3YXktZm91bmQiOiJHZWVuIGdhdGV3YXkgZ2V2b25kZW4uIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6Iid7e2l0ZW19fScgbmlldCBnZXZvbmRlbi4iLCJwYXRoLWxvZ3MiOiJQYWQgbmFhciBsb2diZXN0YW5kZW4iLCJwYXRoLWxvZ3MtcmVxdWlyZWQiOiJQYWQgaXMgdmVyZWlzdC4iLHJlbW90ZToiQ29uZmlndXJhdGllIG9wIGFmc3RhbmQiLCJyZW1vdGUtbG9nZ2luZy1sZXZlbCI6IlJlZ2lzdHJhdGllIG5pdmVhdSIsInJlbW92ZS1lbnRyeSI6IkNvbmZpZ3VyYXRpZSB2ZXJ3aWpkZXJlbiIsInNhdmUtdGlwIjoiQ29uZmlndXJhdGllYmVzdGFuZCBvcHNsYWFuIiwic2VjdXJpdHktdHlwZSI6IlNvb3J0IGJldmVpbGlnaW5nIiwic2VjdXJpdHktdHlwZXMiOnsiYWNjZXNzLXRva2VuIjoiVG9lZ2FuZyB0b3QgdG9rZW4iLHRsczoiVExTIChUTFMpIn0sc3RvcmFnZToiT3BzbGFnIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoiTWF4aW11bSBhYW50YWwgcmVjb3JkcyBpbiBiZXN0YW5kIiwic3RvcmFnZS1tYXgtZmlsZXMiOiJNYXhpbWFhbCBhYW50YWwgYmVzdGFuZGVuIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoiTWluaW11bSBhYW50YWwgaXMgMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiTnVtbWVyIGlzIG5pZXQgZ2VsZGlnLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXJlcXVpcmVkIjoiTnVtbWVyIGlzIHZlcmVpc3QuIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik1heGltdW0gYWFudGFsIHJlY29yZHMgaW4gb3BzbGFnIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1taW4iOiJNaW5pbXVtIGFhbnRhbCByZWNvcmRzIGlzIDEuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoiTnVtbWVyIGlzIG5pZXQgZ2VsZGlnLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJNYXhpbWFsZSByZWNvcmRzIHppam4gdmVyZWlzdC4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6Ik1heGltYWxlIHBha2tldGdyb290dGUgdm9vciBldmVudHMiLCJzdG9yYWdlLXBhY2stc2l6ZS1taW4iOiJNaW5pbXVtIGFhbnRhbCBpcyAxLiIsInN0b3JhZ2UtcGFjay1zaXplLXBhdHRlcm4iOiJOdW1tZXIgaXMgbmlldCBnZWxkaWcuIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiJEZSBtYXhpbWFsZSBwYWtrZXRncm9vdHRlIHZhbiBoZXQgZXZlbnQgaXMgdmVyZWlzdC4iLCJzdG9yYWdlLXBhdGgiOiJPcHNsYWcgcGFkIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoiT3BzbGFncGFkIGlzIHZlcmVpc3QuIiwic3RvcmFnZS10eXBlIjoiVHlwZSBvcHNsYWciLCJzdG9yYWdlLXR5cGVzIjp7ImZpbGUtc3RvcmFnZSI6Ik9wc2xhZyB2YW4gYmVzdGFuZGVuIiwibWVtb3J5LXN0b3JhZ2UiOiJHZWhldWdlbiBvcHNsYWcifSx0aGluZ3Nib2FyZDoiRGluZ2VuIEJvcmQiLCJ0aGluZ3Nib2FyZC1ob3N0IjoiVGhpbmdzQm9hcmQtZ2FzdGhlZXIiLCJ0aGluZ3Nib2FyZC1ob3N0LXJlcXVpcmVkIjoiU2VydmVyIGhvc3QgaXMgdmVyZWlzdC4iLCJ0aGluZ3Nib2FyZC1wb3J0IjoiVGhpbmdzQm9hcmQtcG9vcnQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6IkhldCBtYXhpbWFsZSBwb29ydG51bW1lciBpcyA2NTUzNS4iLCJ0aGluZ3Nib2FyZC1wb3J0LW1pbiI6IkhldCBtaW5pbWFsZSBwb29ydG51bW1lciBpcyAxLiIsInRoaW5nc2JvYXJkLXBvcnQtcGF0dGVybiI6IlBvb3J0IGlzIG5pZXQgZ2VsZGlnLiIsInRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWQiOiJQb29ydCBpcyB2ZXJlaXN0LiIsdGlkeToiT3JkZWxpamsiLCJ0aWR5LXRpcCI6Ik9wZ2VydWltZGUgY29uZmlndXJhdGllIEpTT04iLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiJDb25maWd1cmF0aWUgdmFuIGNvbm5lY3RvciB7e3R5cGVOYW1lfX0iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IlBhZCBuYWFyIENBLWNlcnRpZmljYWF0IG9wIGdhdGV3YXkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiJQYWQgbmFhciBjbGllbnRjZXJ0aWZpY2FhdCBvcCBnYXRld2F5IiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiJQYWQgbmFhciBwcml2w6lzbGV1dGVsIG9wIGdhdGV3YXkiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlZvbGxlZGlnIHNjaGVybSBpbi0gZW4gdWl0c2NoYWtlbGVuIiwidHJhbnNmb3JtZXItanNvbi1jb25maWciOiJDb25maWd1cmF0aWUgSlNPTioiLCJ1cGRhdGUtY29uZmlnIjoiQ29uZmlndXJhdGllIEpTT04gdG9ldm9lZ2VuL2JpandlcmtlbiJ9LGpvPXsiYWRkLWVudHJ5IjoiRG9kYWoga29uZmlndXJhY2rEmSIsYWR2YW5jZWQ6IkFkdmFuY2VkIiwiY2hlY2tpbmctZGV2aWNlLWFjdGl2aXR5IjoiQ2hlY2tpbmcgZGV2aWNlIGFjdGl2aXR5Iixjb21tYW5kOiJEb2NrZXIgY29tbWFuZHMiLCJjb21tYW5kLWNvcGllZC1tZXNzYWdlIjoiRG9ja2VyIGNvbW1hbmQgaGFzIGJlZW4gY29waWVkIHRvIGNsaXBib2FyZCIsY29uZmlndXJhdGlvbjoiQ29uZmlndXJhdGlvbiIsImNvbm5lY3Rvci1hZGQiOiJEb2RhaiBub3dlIHrFgsSFY3plIiwiY29ubmVjdG9yLWVuYWJsZWQiOiJXxYLEhWN6IHrFgsSFY3plIiwiY29ubmVjdG9yLW5hbWUiOiJOYXp3YSB6xYLEhWN6YSIsImNvbm5lY3Rvci1uYW1lLXJlcXVpcmVkIjoiTmF6d2EgesWCxIVjemEgamVzdCB3eW1hZ2FuYS4iLCJjb25uZWN0b3ItdHlwZSI6IlR5cCB6xYLEhWN6YSIsImNvbm5lY3Rvci10eXBlLXJlcXVpcmVkIjoiVHlwIHrFgsSFY3phIGplc3Qgd3ltYWdhbnkuIixjb25uZWN0b3JzOiJLb25maWd1cmFjamEgesWCxIVjenkiLCJjb25uZWN0b3JzLWNvbmZpZyI6IkNvbm5lY3RvcnMgY29uZmlndXJhdGlvbiIsImNvbm5lY3RvcnMtdGFibGUtZW5hYmxlZCI6IkVuYWJsZWQiLCJjb25uZWN0b3JzLXRhYmxlLW5hbWUiOiJOYW1lIiwiY29ubmVjdG9ycy10YWJsZS10eXBlIjoiVHlwZSIsImNvbm5lY3RvcnMtdGFibGUtc3RhdHVzIjoiU3RhdHVzIiwiY29ubmVjdG9ycy10YWJsZS1hY3Rpb25zIjoiQWN0aW9ucyIsImNvbm5lY3RvcnMtdGFibGUta2V5IjoiS2V5IiwiY29ubmVjdG9ycy10YWJsZS1jbGFzcyI6IkNsYXNzIiwicnBjLWNvbW1hbmQtc2VuZCI6IlNlbmQiLCJycGMtY29tbWFuZC1yZXN1bHQiOiJSZXN1bHQiLCJycGMtY29tbWFuZC1lZGl0LXBhcmFtcyI6IkVkaXQgcGFyYW1ldGVycyIsImdhdGV3YXktY29uZmlndXJhdGlvbiI6IkdlbmVyYWwgQ29uZmlndXJhdGlvbiIsImRvY2tlci1sYWJlbCI6IkluIG9yZGVyIHRvIHJ1biBUaGluZ3NCb2FyZCBJb1QgZ2F0ZXdheSBpbiBkb2NrZXIgd2l0aCBjcmVkZW50aWFscyBmb3IgdGhpcyBkZXZpY2UgeW91IGNhbiB1c2UgdGhlIGZvbGxvd2luZyBjb21tYW5kcy4iLCJjcmVhdGUtbmV3LWdhdGV3YXkiOiJVdHfDs3J6IG5vd3kgZ2F0ZXdheSIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiQ3p5IG5hIHBld25vIGNoY2VzeiB1dHdvcnp5xIcgbm93eSBnYXRld2F5IG8gbmF6d2llOiAne3tnYXRld2F5TmFtZX19Jz8iLCJjcmVhdGVkLXRpbWUiOiJDcmVhdGVkIHRpbWUiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaGVhZGVyIjoiQ29uZmlndXJhdGlvbnMgd2lsbCBiZSBkZWxldGVkIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWJvZHkiOiJUdXJuaW5nIG9mZiBSZW1vdGUgQ29uZmlndXJhdGlvbiBpcyBwb3NzaWJsZSBvbmx5IGlmIHRoZXJlIGlzIHBoeXNpY2FsIGFjY2VzcyB0byB0aGUgR2F0ZXdheS4gQWxsIHByZXZpb3VzIGNvbmZpZ3VyYXRpb25zIHdpbGwgYmUgZGVsZXRlZC48YnI+PGJyPiBcblRvIHR1cm4gb2ZmIGNvbmZpZ3VyYXRpb24sIGVudGVyIGdhdGV3YXkgbmFtZSBiZWxvdyIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1pbnB1dCI6IkdhdGV3YXkgbmFtZSIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1pbnB1dC1yZXF1aXJlZCI6IkdhdGV3YXkgbmFtZSBpcyBtYW5kYXRvcnkiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctY29uZmlybSI6IlR1cm4gT2ZmIixkZWxldGU6IlVzdcWEIGtvbmZpZ3VyYWNqxJkiLCJkb3dubG9hZC10aXAiOiJQb2JpZXJ6IHBsaWsga29uZmlndXJhY3lqbnkiLCJkcm9wLWZpbGUiOiJEcm9wIGZpbGUgaGVyZSBvciIsZ2F0ZXdheToiV2VqxZtjaWUiLCJnYXRld2F5LWV4aXN0cyI6IlVyesSFZHplbmllIG8gdGVqIHNhbWVqIG5hendpZSBqdcW8IGlzdG5pZWplLiIsImdhdGV3YXktbmFtZSI6Ik5hendhIEdhdGV3YXkiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJOYXp3YSBHYXRld2F5J2EgamVzdCB3eW1hZ2FuYS4iLCJnYXRld2F5LXNhdmVkIjoiS29uZmlndXJhY2phIEdhdGV3ZXknYSB6b3N0YcWCYSBwb215xZtsbmllIHphcGlzYW5hLiIsZ3JwYzoiR1JQQyIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0IjoiS2VlcCBhbGl2ZSB0aW1lb3V0IChpbiBtcykiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dC1yZXF1aXJlZCI6IktlZXAgYWxpdmUgdGltZW91dCBpcyByZXF1aXJlZCIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LW1pbiI6IktlZXAgYWxpdmUgdGltZW91dCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcGF0dGVybiI6IktlZXAgYWxpdmUgdGltZW91dCBpcyBub3QgdmFsaWQiLCJncnBjLWtlZXAtYWxpdmUiOiJLZWVwIGFsaXZlIChpbiBtcykiLCJncnBjLWtlZXAtYWxpdmUtcmVxdWlyZWQiOiJLZWVwIGFsaXZlIGlzIHJlcXVpcmVkIiwiZ3JwYy1rZWVwLWFsaXZlLW1pbiI6IktlZXAgYWxpdmUgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMta2VlcC1hbGl2ZS1wYXR0ZXJuIjoiS2VlcCBhbGl2ZSBpcyBub3QgdmFsaWQiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MiOiJNaW4gdGltZSBiZXR3ZWVuIHBpbmdzIChpbiBtcykiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcmVxdWlyZWQiOiJNaW4gdGltZSBiZXR3ZWVuIHBpbmdzIGlzIHJlcXVpcmVkIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLW1pbiI6Ik1pbiB0aW1lIGJldHdlZW4gcGluZ3MgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1wYXR0ZXJuIjoiTWluIHRpbWUgYmV0d2VlbiBwaW5ncyBpcyBub3QgdmFsaWQiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YSI6Ik1pbiBwaW5nIGludGVydmFsIHdpdGhvdXQgZGF0YSAoaW4gbXMpIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcmVxdWlyZWQiOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgaXMgcmVxdWlyZWQiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1taW4iOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgaXMgbm90IHZhbGlkIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoiTWF4IHBpbmdzIHdpdGhvdXQgZGF0YSIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6Ik1heCBwaW5ncyB3aXRob3V0IGRhdGEgaXMgcmVxdWlyZWQiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtbWluIjoiTWF4IHBpbmdzIHdpdGhvdXQgZGF0YSBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiJNYXggcGluZ3Mgd2l0aG91dCBkYXRhIGlzIG5vdCB2YWxpZCIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMiOiJJbmFjdGl2aXR5IGNoZWNrIHBlcmlvZCAoaW4gc2VjKSIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcmVxdWlyZWQiOiJJbmFjdGl2aXR5IGNoZWNrIHBlcmlvZCBpcyByZXF1aXJlZCIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtbWluIjoiSW5hY3Rpdml0eSBjaGVjayBwZXJpb2QgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcGF0dGVybiI6IkluYWN0aXZpdHkgY2hlY2sgcGVyaW9kIGlzIG5vdCB2YWxpZCIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzIjoiSW5hY3Rpdml0eSB0aW1lb3V0IChpbiBzZWMpIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcmVxdWlyZWQiOiJJbmFjdGl2aXR5IHRpbWVvdXQgaXMgcmVxdWlyZWQiLCJpbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1taW4iOiJJbmFjdGl2aXR5IHRpbWVvdXQgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLXBhdHRlcm4iOiJJbmFjdGl2aXR5IHRpbWVvdXQgaXMgbm90IHZhbGlkIiwianNvbi1wYXJzZSI6Ik5pZXByYXdpZMWCb3d5IEpTT04uIiwianNvbi1yZXF1aXJlZCI6IlBvbGUgbmllIG1vxbxlIGJ5xIcgcHVzdGUuIixsb2dzOntsb2dzOiJMb2dzIixkYXlzOiJkYXlzIixob3VyczoiaG91cnMiLG1pbnV0ZXM6Im1pbnV0ZXMiLHNlY29uZHM6InNlY29uZHMiLCJkYXRlLWZvcm1hdCI6IkRhdGUgZm9ybWF0IiwiZGF0ZS1mb3JtYXQtcmVxdWlyZWQiOiJEYXRlIGZvcm1hdCByZXF1aXJlZCIsImxvZy1mb3JtYXQiOiJMb2cgZm9ybWF0IiwibG9nLXR5cGUiOiJMb2cgdHlwZSIsImxvZy1mb3JtYXQtcmVxdWlyZWQiOiJMb2cgZm9ybWF0IHJlcXVpcmVkIixyZW1vdGU6IlJlbW90ZSBsb2dnaW5nIiwicmVtb3RlLWxvZ3MiOiJSZW1vdGUgbG9ncyIsbG9jYWw6IkxvY2FsIGxvZ2dpbmciLGxldmVsOiJMb2cgbGV2ZWwiLCJmaWxlLXBhdGgiOiJGaWxlIHBhdGgiLCJmaWxlLXBhdGgtcmVxdWlyZWQiOiJGaWxlIHBhdGggcmVxdWlyZWQiLCJzYXZpbmctcGVyaW9kIjoiTG9nIHNhdmluZyBwZXJpb2QiLCJzYXZpbmctcGVyaW9kLW1pbiI6IkxvZyBzYXZpbmcgcGVyaW9kIGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJzYXZpbmctcGVyaW9kLXJlcXVpcmVkIjoiTG9nIHNhdmluZyBwZXJpb2QgcmVxdWlyZWQiLCJiYWNrdXAtY291bnQiOiJCYWNrdXAgY291bnQiLCJiYWNrdXAtY291bnQtbWluIjoiQmFja3VwIGNvdW50IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJiYWNrdXAtY291bnQtcmVxdWlyZWQiOiJCYWNrdXAgY291bnQgcmVxdWlyZWQifSwibWluLXBhY2stc2VuZC1kZWxheSI6Ik1pbiBwYWNrIHNlbmQgZGVsYXkgKGluIG1zKSIsIm1pbi1wYWNrLXNlbmQtZGVsYXktcmVxdWlyZWQiOiJNaW4gcGFjayBzZW5kIGRlbGF5IGlzIHJlcXVpcmVkIiwibWluLXBhY2stc2VuZC1kZWxheS1taW4iOiJNaW4gcGFjayBzZW5kIGRlbGF5IGNhbiBub3QgYmUgbGVzcyB0aGVuIDAiLCJuby1jb25uZWN0b3JzIjoiQnJhayB6xYLEhWN6eSIsIm5vLWRhdGEiOiJCcmFrIGtvbmZpZ3VyYWNqaSIsIm5vLWdhdGV3YXktZm91bmQiOiJOaWUgem5hbGV6aW9ubyBnYXRld2F5J2EuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5pZSB6bmFsZXppb25vLiIsInBhdGgtbG9ncyI6IsWaY2llxbxrYSBkbyBwbGlrw7N3IGR6aWVubmlrYSIsInBhdGgtbG9ncy1yZXF1aXJlZCI6IsWaY2llxbxrYSBqZXN0IHd5bWFnYW5hLiIsInBlcm1pdC13aXRob3V0LWNhbGxzIjoiS2VlcCBhbGl2ZSBwZXJtaXQgd2l0aG91dCBjYWxscyIscmVtb3RlOiJaZGFsbmEga29uZmlndXJhY2phIiwicmVtb3RlLWxvZ2dpbmctbGV2ZWwiOiJQb3ppb20gbG9nb3dhbmlhIiwicmVtb3ZlLWVudHJ5IjoiVXN1xYQga29uZmlndXJhY2rEmSIsInJlbW90ZS1zaGVsbCI6IlJlbW90ZSBzaGVsbCIsInJlbW90ZS1jb25maWd1cmF0aW9uIjoiUmVtb3RlIENvbmZpZ3VyYXRpb24iLG90aGVyOiJPdGhlciIsInNhdmUtdGlwIjoiWmFwaXN6IHBsaWsga29uZmlndXJhY3lqbnkiLCJzZWN1cml0eS10eXBlIjoiUm9kemFqIHphYmV6cGllY3plbmlhIiwic2VjdXJpdHktdHlwZXMiOnsiYWNjZXNzLXRva2VuIjoiVG9rZW4gZG9zdMSZcHUiLCJ1c2VybmFtZS1wYXNzd29yZCI6IlVzZXJuYW1lIGFuZCBQYXNzd29yZCIsdGxzOiJUTFMiLCJ0bHMtYWNjZXNzLXRva2VuIjoiVExTICsgQWNjZXNzIFRva2VuIiwidGxzLXByaXZhdGUta2V5IjoiVExTICsgUHJpdmF0ZSBLZXkifSwic2VydmVyLXBvcnQiOiJTZXJ2ZXIgcG9ydCIsc3RhdGlzdGljczp7c3RhdGlzdGljOiJTdGF0aXN0aWMiLHN0YXRpc3RpY3M6IlN0YXRpc3RpY3MiLCJzdGF0aXN0aWMtY29tbWFuZHMtZW1wdHkiOiJObyBzdGF0aXN0aWNzIGF2YWlsYWJsZSIsY29tbWFuZHM6IkNvbW1hbmRzIiwic2VuZC1wZXJpb2QiOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgKGluIHNlYykiLCJzZW5kLXBlcmlvZC1yZXF1aXJlZCI6IlN0YXRpc3RpYyBzZW5kIHBlcmlvZCBpcyByZXF1aXJlZCIsInNlbmQtcGVyaW9kLW1pbiI6IlN0YXRpc3RpYyBzZW5kIHBlcmlvZCBjYW4gbm90IGJlIGxlc3MgdGhlbiA2MCIsInNlbmQtcGVyaW9kLXBhdHRlcm4iOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgaXMgbm90IHZhbGlkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uIjoiQ2hlY2sgY29ubmVjdG9ycyBjb25maWd1cmF0aW9uIChpbiBzZWMpIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXJlcXVpcmVkIjoiQ2hlY2sgY29ubmVjdG9ycyBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLW1pbiI6IkNoZWNrIGNvbm5lY3RvcnMgY29uZmlndXJhdGlvbiBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXBhdHRlcm4iOiJDaGVjayBjb25uZWN0b3JzIGNvbmZpZ3VyYXRpb24gaXMgbm90IHZhbGlkIixhZGQ6IkFkZCBjb21tYW5kIix0aW1lb3V0OiJUaW1lb3V0IiwidGltZW91dC1tcyI6IlRpbWVvdXQgKGluIG1zKSIsInRpbWVvdXQtcmVxdWlyZWQiOiJUaW1lb3V0IGlzIHJlcXVpcmVkIiwidGltZW91dC1taW4iOiJUaW1lb3V0IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJ0aW1lb3V0LXBhdHRlcm4iOiJUaW1lb3V0IGlzIG5vdCB2YWxpZCIsImF0dHJpYnV0ZS1uYW1lIjoiQXR0cmlidXRlIG5hbWUiLCJhdHRyaWJ1dGUtbmFtZS1yZXF1aXJlZCI6IkF0dHJpYnV0ZSBuYW1lIGlzIHJlcXVpcmVkIixjb21tYW5kOiJDb21tYW5kIiwiY29tbWFuZC1yZXF1aXJlZCI6IkNvbW1hbmQgaXMgcmVxdWlyZWQiLHJlbW92ZToiUmVtb3ZlIGNvbW1hbmQifSxzdG9yYWdlOiJTa8WCYWRvd2FuaWUiLCJzdG9yYWdlLW1heC1maWxlLXJlY29yZHMiOiJNYWtzeW1hbG5hIGxpY3piYSByZWtvcmTDs3cgdyBwbGlrdSIsInN0b3JhZ2UtbWF4LWZpbGVzIjoiTWFrc3ltYWxuYSBsaWN6YmEgcGxpa8OzdyIsInN0b3JhZ2UtbWF4LWZpbGVzLW1pbiI6Ik1pbmltYWxuYSBsaWN6YmEgdG8gMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiTnVtZXIgamVzdCBuaWVwcmF3aWTFgm93eS4iLCJzdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZCI6Ik51bWVyIGplc3Qgd3ltYWdhbnkuIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik1ha3N5bWFsbmEgbGljemJhIHJla29yZMOzdyB3IHBhbWnEmWNpIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1taW4iOiJNaW5pbWFsbmEgbGljemJhIHJla29yZMOzdyB0byAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6Ik51bWVyIGplc3QgbmllcHJhd2lkxYJvd3kuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1yZXF1aXJlZCI6Ik1ha3N5bWFsbmEgbGljemJhIHJla29yZMOzdyBqZXN0IHd5bWFnYW5hLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQiOiJSZWFkIHJlY29yZCBjb3VudCBpbiBzdG9yYWdlIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1taW4iOiJNaW5pbXVtIG51bWJlciBvZiByZWNvcmRzIGlzIDEuIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkIjoiUmVhZCByZWNvcmQgY291bnQgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQiOiJNYXggcmVhZCByZWNvcmQgY291bnQgaW4gc3RvcmFnZSIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LW1pbiI6Ik1pbmltdW0gbnVtYmVyIG9mIHJlY29yZHMgaXMgMS4iLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1yZXF1aXJlZCI6Ik1heCBSZWFkIHJlY29yZCBjb3VudCBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLWRhdGEtZm9sZGVyLXBhdGgiOiJEYXRhIGZvbGRlciBwYXRoIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoLXJlcXVpcmVkIjoiRGF0YSBmb2xkZXIgcGF0aCBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6Ik1ha3N5bWFsbnkgcm96bWlhciBwYWtpZXR1IHd5ZGFyemXFhCIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6Ik1pbmltYWxuYSBsaWN6YmEgdG8gMS4iLCJzdG9yYWdlLXBhY2stc2l6ZS1wYXR0ZXJuIjoiTnVtZXIgamVzdCBuaWVwcmF3aWTFgm93eS4iLCJzdG9yYWdlLXBhY2stc2l6ZS1yZXF1aXJlZCI6Ik1ha3N5bWFsbnkgcm96bWlhciBwYWtpZXR1IHd5ZGFyemXFhCBqZXN0IHd5bWFnYW55LiIsInN0b3JhZ2UtcGF0aCI6IsWaY2llxbxrYSBwcnplY2hvd3l3YW5pYSIsInN0b3JhZ2UtcGF0aC1yZXF1aXJlZCI6IsWaY2llxbxrYSBkbyBwcnplY2hvd3l3YW5pYSBqZXN0IHd5bWFnYW5hLiIsInN0b3JhZ2UtdHlwZSI6IlR5cCBza8WCYWRvd2FuaWEiLCJzdG9yYWdlLXR5cGVzIjp7ImZpbGUtc3RvcmFnZSI6Ik5vxZtuaWsgZGFueWNoIiwibWVtb3J5LXN0b3JhZ2UiOiJQcnplY2hvd3l3YW5pZSBwYW1pxJljaSIsc3FsaXRlOiJTUUxJVEUifSx0aGluZ3Nib2FyZDoiVGhpbmdzQm9hcmQiLGdlbmVyYWw6IkdlbmVyYWwiLCJ0aGluZ3Nib2FyZC1ob3N0IjoiR29zcG9kYXJ6IFRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6Ikhvc3QgamVzdCB3eW1hZ2FueS4iLCJ0aGluZ3Nib2FyZC1wb3J0IjoiUG9ydCBUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLXBvcnQtbWF4IjoiTWFrc3ltYWxueSBudW1lciBwb3J0dSB0byA2NTUzNS4iLCJ0aGluZ3Nib2FyZC1wb3J0LW1pbiI6Ik1pbmltYWxueSBudW1lciBwb3J0dSB0byAxLiIsInRoaW5nc2JvYXJkLXBvcnQtcGF0dGVybiI6IlBvcnQgamVzdCBuaWVwcmF3aWTFgm93eS4iLCJ0aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkIjoiUG9ydCBqZXN0IHd5bWFnYW55LiIsdGlkeToiVXBvcnrEhWRrdWoiLCJ0aWR5LXRpcCI6IlVwb3J6xIVka293YW5hIGtvbmZpZ3VyYWNqYSBKU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoiWsWCxIVjemUge3t0eXBlTmFtZX19IGtvbmZpZ3VyYWNqYSIsInRscy1wYXRoLWNhLWNlcnRpZmljYXRlIjoixZpjaWXFvGthIGRvIGNlcnR5ZmlrYXR1IENBIG5hIGdhdGV3YXkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiLFmmNpZcW8a2EgZG8gY2VydHlmaWthdHUga2xpZW50YSBuYSBnYXRld2F5IiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzIjoiTWVzc2FnZXMgVFRMIGNoZWNrIGluIGhvdXJzIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXJlcXVpcmVkIjoiTWVzc2FnZXMgVFRMIGNoZWNrIGluIGhvdXJzIGlzIHJlcXVpcmVkLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1taW4iOiJNaW4gbnVtYmVyIGlzIDEuIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsIm1lc3NhZ2VzLXR0bC1pbi1kYXlzIjoiTWVzc2FnZXMgVFRMIGluIGRheXMiLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1yZXF1aXJlZCI6Ik1lc3NhZ2VzIFRUTCBpbiBkYXlzIGlzIHJlcXVpcmVkLiIsIm1lc3NhZ2VzLXR0bC1pbi1kYXlzLW1pbiI6Ik1pbiBudW1iZXIgaXMgMS4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJtcXR0LXFvcyI6IlFvUyIsIm1xdHQtcW9zLXJlcXVpcmVkIjoiUW9TIGlzIHJlcXVpcmVkIiwibXF0dC1xb3MtcmFuZ2UiOiJRb1MgdmFsdWVzIHJhbmdlIGlzIGZyb20gMCB0byAxIiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiLFmmNpZcW8a2EgZG8ga2x1Y3phIHByeXdhdG5lZ28gbmEgYnJhbWNlIiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiJQcnplxYLEhWN6IHRyeWIgcGXFgm5vZWtyYW5vd3kiLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IktvbmZpZ3VyYWNqYSBKU09OKiIsInVwZGF0ZS1jb25maWciOiJEb2Rhai96YWt0dWFsaXp1aiBrb25maWd1cmFjasSZIEpTT04iLGhpbnRzOnsicmVtb3RlLWNvbmZpZ3VyYXRpb24iOiJFbmFibGVzIHJlbW90ZSBjb25maWd1cmF0aW9uIGFuZCBtYW5hZ2VtZW50IG9mIHRoZSBnYXRld2F5IiwicmVtb3RlLXNoZWxsIjoiRW5hYmxlcyByZW1vdGUgY29udHJvbCBvZiB0aGUgb3BlcmF0aW5nIHN5c3RlbSB3aXRoIHRoZSBnYXRld2F5IGZyb20gdGhlIFJlbW90ZSBTaGVsbCB3aWRnZXQiLGhvc3Q6Ikhvc3RuYW1lIG9yIElQIGFkZHJlc3Mgb2YgVGhpbmdzQm9hcmQgc2VydmVyIixwb3J0OiJQb3J0IG9mIE1RVFQgc2VydmljZSBvbiBUaGluZ3NCb2FyZCBzZXJ2ZXIiLHRva2VuOiJBY2Nlc3MgdG9rZW4gZm9yIHRoZSBnYXRld2F5IGZyb20gVGhpbmdzQm9hcmQgc2VydmVyIiwiY2xpZW50LWlkIjoiTVFUVCBjbGllbnQgaWQgZm9yIHRoZSBnYXRld2F5IGZvcm0gVGhpbmdzQm9hcmQgc2VydmVyIix1c2VybmFtZToiTVFUVCB1c2VybmFtZSBmb3IgdGhlIGdhdGV3YXkgZm9ybSBUaGluZ3NCb2FyZCBzZXJ2ZXIiLHBhc3N3b3JkOiJNUVRUIHBhc3N3b3JkIGZvciB0aGUgZ2F0ZXdheSBmb3JtIFRoaW5nc0JvYXJkIHNlcnZlciIsImNhLWNlcnQiOiJQYXRoIHRvIENBIGNlcnRpZmljYXRlIGZpbGUiLCJkYXRlLWZvcm0iOiJEYXRlIGZvcm1hdCBpbiBsb2cgbWVzc2FnZSIsImRhdGEtZm9sZGVyIjoiUGF0aCB0byBmb2xkZXIsIHRoYXQgd2lsbCBjb250YWlucyBkYXRhIChSZWxhdGl2ZSBvciBBYnNvbHV0ZSkiLCJsb2ctZm9ybWF0IjoiTG9nIG1lc3NhZ2UgZm9ybWF0IiwicmVtb3RlLWxvZyI6IkVuYWJsZXMgcmVtb3RlIGxvZ2dpbmcgYW5kIGxvZ3MgcmVhZGluZyBmcm9tIHRoZSBnYXRld2F5IiwiYmFja3VwLWNvdW50IjoiSWYgYmFja3VwIGNvdW50IGlzID4gMCwgd2hlbiBhIHJvbGxvdmVyIGlzIGRvbmUsIG5vIG1vcmUgdGhhbiBiYWNrdXAgY291bnQgZmlsZXMgYXJlIGtlcHQgLSB0aGUgb2xkZXN0IG9uZXMgYXJlIGRlbGV0ZWQiLHN0b3JhZ2U6IlByb3ZpZGVzIGNvbmZpZ3VyYXRpb24gZm9yIHNhdmluZyBpbmNvbWluZyBkYXRhIGJlZm9yZSBpdCBpcyBzZW50IHRvIHRoZSBwbGF0Zm9ybSIsIm1heC1maWxlLWNvdW50IjoiTWF4aW11bSBjb3VudCBvZiBmaWxlIHRoYXQgd2lsbCBiZSBjcmVhdGVkIiwibWF4LXJlYWQtY291bnQiOiJDb3VudCBvZiBtZXNzYWdlcyB0byBnZXQgZnJvbSBzdG9yYWdlIGFuZCBzZW5kIHRvIFRoaW5nc0JvYXJkIiwibWF4LXJlY29yZHMiOiJNYXhpbXVtIGNvdW50IG9mIHJlY29yZHMgdGhhdCB3aWxsIGJlIHN0b3JlZCBpbiBvbmUgZmlsZSIsInJlYWQtcmVjb3JkLWNvdW50IjoiQ291bnQgb2YgbWVzc2FnZXMgdG8gZ2V0IGZyb20gc3RvcmFnZSBhbmQgc2VuZCB0byBUaGluZ3NCb2FyZCIsIm1heC1yZWNvcmRzLWNvdW50IjoiTWF4aW11bSBjb3VudCBvZiBkYXRhIGluIHN0b3JhZ2UgYmVmb3JlIHNlbmQgdG8gVGhpbmdzQm9hcmQiLCJ0dGwtY2hlY2staG91ciI6IkhvdyBvZnRlbiB3aWxsIEdhdGV3YXkgY2hlY2sgZGF0YSBmb3Igb2Jzb2xlc2NlbmNlIiwidHRsLW1lc3NhZ2VzLWRheSI6Ik1heGltdW0gZGF5cyB0aGF0IHN0b3JhZ2Ugd2lsbCBzYXZlIGRhdGEiLGNvbW1hbmRzOiJDb21tYW5kcyBmb3IgY29sbGVjdGluZyBhZGRpdGlvbmFsIHN0YXRpc3RpYyIsYXR0cmlidXRlOiJTdGF0aXN0aWMgdGVsZW1ldHJ5IGtleSIsdGltZW91dDoiVGltZW91dCBmb3IgY29tbWFuZCBleGVjdXRpbmciLGNvbW1hbmQ6IlRoZSByZXN1bHQgb2YgdGhlIGNvbW1hbmQgZXhlY3V0aW9uLCB3aWxsIGJlIHVzZWQgYXMgdGhlIHZhbHVlIGZvciB0ZWxlbWV0cnkiLCJjaGVjay1kZXZpY2UtYWN0aXZpdHkiOiJFbmFibGVzIG1vbml0b3IgdGhlIGFjdGl2aXR5IG9mIGVhY2ggY29ubmVjdGVkIGRldmljZSIsImluYWN0aXZpdHktdGltZW91dCI6IlRpbWUgYWZ0ZXIgd2hvc2UgdGhlIGdhdGV3YXkgd2lsbCBkaXNjb25uZWN0IGRldmljZSIsImluYWN0aXZpdHktcGVyaW9kIjoiUGVyaW9kaWNpdHkgb2YgZGV2aWNlIGFjdGl2aXR5IGNoZWNrIiwibWluaW1hbC1wYWNrLWRlbGF5IjoiRGVsYXkgYmV0d2VlbiBzZW5kaW5nIHBhY2tzIG9mIG1lc3NhZ2VzIChEZWNyZWFzaW5nIHRoaXMgc2V0dGluZyByZXN1bHRzIGluIGluY3JlYXNlZCBDUFUgdXNhZ2UpIixxb3M6IlF1YWxpdHkgb2YgU2VydmljZSBpbiBNUVRUIG1lc3NhZ2luZyAoMCAtIGF0IG1vc3Qgb25jZSwgMSAtIGF0IGxlYXN0IG9uY2UpIiwic2VydmVyLXBvcnQiOiJOZXR3b3JrIHBvcnQgb24gd2hpY2ggR1JQQyBzZXJ2ZXIgd2lsbCBsaXN0ZW4gZm9yIGluY29taW5nIGNvbm5lY3Rpb25zLiIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0IjoiTWF4aW11bSB0aW1lIHRoZSBzZXJ2ZXIgc2hvdWxkIHdhaXQgZm9yIGEga2VlcGFsaXZlIHBpbmcgcmVzcG9uc2UgYmVmb3JlIGNvbnNpZGVyaW5nIHRoZSBjb25uZWN0aW9uIGRlYWQuIiwiZ3JwYy1rZWVwLWFsaXZlIjoiRHVyYXRpb24gYmV0d2VlbiB0d28gc3VjY2Vzc2l2ZSBrZWVwYWxpdmUgcGluZyBtZXNzYWdlcyB3aGVuIHRoZXJlIGlzIG5vIGFjdGl2ZSBSUEMgY2FsbC4iLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MiOiJNaW5pbXVtIGFtb3VudCBvZiB0aW1lIHRoZSBzZXJ2ZXIgc2hvdWxkIHdhaXQgYmV0d2VlbiBzZW5kaW5nIGtlZXBhbGl2ZSBwaW5nIG1lc3NhZ2VzIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoiTWF4aW11bSBudW1iZXIgb2Yga2VlcGFsaXZlIHBpbmcgbWVzc2FnZXMgdGhhdCB0aGUgc2VydmVyIGNhbiBzZW5kIHdpdGhvdXQgcmVjZWl2aW5nIGFueSBkYXRhIGJlZm9yZSBpdCBjb25zaWRlcnMgdGhlIGNvbm5lY3Rpb24gZGVhZC4iLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YSI6Ik1pbmltdW0gYW1vdW50IG9mIHRpbWUgdGhlIHNlcnZlciBzaG91bGQgd2FpdCBiZXR3ZWVuIHNlbmRpbmcga2VlcGFsaXZlIHBpbmcgbWVzc2FnZXMgd2hlbiB0aGVyZSBpcyBubyBkYXRhIGJlaW5nIHNlbnQgb3IgcmVjZWl2ZWQuIiwicGVybWl0LXdpdGhvdXQtY2FsbHMiOiJBbGxvdyBzZXJ2ZXIgdG8ga2VlcCB0aGUgR1JQQyBjb25uZWN0aW9uIGFsaXZlIGV2ZW4gd2hlbiB0aGVyZSBhcmUgbm8gYWN0aXZlIFJQQyBjYWxscy4ifX0sS289eyJhZGQtZW50cnkiOiJBZGljaW9uYXIgY29uZmlndXJhw6fDo28iLCJjb25uZWN0b3ItYWRkIjoiQWRpY2lvbmFyIG5vdm8gY29uZWN0b3IiLCJjb25uZWN0b3ItZW5hYmxlZCI6IkhhYmlsaXRhciBjb25lY3RvciIsImNvbm5lY3Rvci1uYW1lIjoiTm9tZSBkbyBjb25lY3RvciIsImNvbm5lY3Rvci1uYW1lLXJlcXVpcmVkIjoiTyBub21lIGRvIGNvbmVjdG9yIMOpIG9icmlnYXTDs3Jpby4iLCJjb25uZWN0b3ItdHlwZSI6IlRpcG8gZGUgY29uZWN0b3IiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6Ik8gdGlwbyBkZSBjb25lY3RvciDDqSBvYnJpZ2F0w7NyaW8uIixjb25uZWN0b3JzOiJDb25maWd1cmHDp8OjbyBkZSBjb25lY3RvcmVzIiwiY3JlYXRlLW5ldy1nYXRld2F5IjoiQ3JpYXIgdW0gbm92byBnYXRld2F5IiwiY3JlYXRlLW5ldy1nYXRld2F5LXRleHQiOiJUZW0gY2VydGV6YSBkZSBxdWUgZGVzZWphIGNyaWFyIHVtIG5vdm8gZ2F0ZXdheSBjb20gbyBub21lOiAne3tnYXRld2F5TmFtZX19Jz8iLGRlbGV0ZToiRXhjbHVpciBjb25maWd1cmHDp8OjbyIsImRvd25sb2FkLXRpcCI6IkRvd25sb2FkIGRlIGFycXVpdm8gZGUgY29uZmlndXJhw6fDo28iLGdhdGV3YXk6IkdhdGV3YXkiLCJnYXRld2F5LWV4aXN0cyI6IkrDoSBleGlzdGUgdW0gZGlzcG9zaXRpdm8gY29tIG8gbWVzbW8gbm9tZS4iLCJnYXRld2F5LW5hbWUiOiJOb21lIGRvIGdhdGV3YXkiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJPIG5vbWUgZG8gZ2F0ZXdheSDDqSBvYnJpZ2F0w7NyaW8uIiwiZ2F0ZXdheS1zYXZlZCI6IkEgY29uZmlndXJhw6fDo28gZG8gZ2F0ZXdheSBmb2kgc2FsdmEgY29ycmV0YW1lbnRlLiIsImpzb24tcGFyc2UiOiJKU09OIGludsOhbGlkby4iLCJqc29uLXJlcXVpcmVkIjoiTyBjYW1wbyBuw6NvIHBvZGUgZXN0YXIgZW0gYnJhbmNvLiIsIm5vLWNvbm5lY3RvcnMiOiJTZW0gY29uZWN0b3JlcyIsIm5vLWRhdGEiOiJTZW0gY29uZmlndXJhw6fDtWVzIiwibm8tZ2F0ZXdheS1mb3VuZCI6Ik5lbmh1bSBnYXRld2F5IGVuY29udHJhZG8uIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG7Do28gZW5jb250cmFkby4iLCJwYXRoLWxvZ3MiOiJDYW1pbmhvIHBhcmEgYXJxdWl2b3MgZGUgbG9nIiwicGF0aC1sb2dzLXJlcXVpcmVkIjoiTyBjYW1pbmhvIMOpIG9icmlnYXTDs3JpbyIscmVtb3RlOiJDb25maWd1cmHDp8OjbyByZW1vdGEiLCJyZW1vdGUtbG9nZ2luZy1sZXZlbCI6Ik7DrXZlbCBkZSByZWdpc3RybyBlbSBsb2ciLCJyZW1vdmUtZW50cnkiOiJSZW1vdmVyIGNvbmZpZ3VyYcOnw6NvIiwic2F2ZS10aXAiOiJTYWx2YXIgYXJxdWl2byBkZSBjb25maWd1cmHDp8OjbyIsInNlY3VyaXR5LXR5cGUiOiJUaXBvIGRlIHNlZ3VyYW7Dp2EiLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJUb2tlbiBkZSBBY2Vzc28iLHRsczoiVExTIn0sc3RvcmFnZToiQXJtYXplbmFtZW50byIsInN0b3JhZ2UtbWF4LWZpbGUtcmVjb3JkcyI6Ik7Dum1lcm8gbcOheGltbyBkZSByZWdpc3Ryb3MgZW0gYXJxdWl2byIsInN0b3JhZ2UtbWF4LWZpbGVzIjoiTsO6bWVybyBtw6F4aW1vIGRlIGFycXVpdm9zIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoiTyBuw7ptZXJvIG3DrW5pbW8gw6kgMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiTyBuw7ptZXJvIG7Do28gw6kgdsOhbGlkby4iLCJzdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZCI6Ik8gbsO6bWVybyDDqSBvYnJpZ2F0w7NyaW8uIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik7Dum1lcm8gbcOheGltbyBkZSByZWdpc3Ryb3MgZW0gYXJtYXplbmFtZW50byIsInN0b3JhZ2UtbWF4LXJlY29yZHMtbWluIjoiTyBuw7ptZXJvIG3DrW5pbW8gZGUgcmVnaXN0cm9zIMOpIDEuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoiTyBuw7ptZXJvIG7Do28gw6kgdsOhbGlkby4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkIjoiTyBuw7ptZXJvIG3DoXhpbW8gZGUgcmVnaXN0cm9zIMOpIG9icmlnYXTDs3Jpby4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6IlRhbWFuaG8gbcOheGltbyBkZSBwYWNvdGUgZGUgZXZlbnRvcyIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6Ik8gbsO6bWVybyBtw61uaW1vIMOpIDEuIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6Ik8gbsO6bWVybyBuw6NvIMOpIHbDoWxpZG8uIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiJPIHRhbWFuaG8gbcOheGltbyBkZSBwYWNvdGUgZGUgZXZlbnRvcyDDqSBvYnJpZ2F0w7NyaW8uIiwic3RvcmFnZS1wYXRoIjoiQ2FtaW5obyBkZSBhcm1hemVuYW1lbnRvIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoiTyBjYW1pbmhvIGRlIGFybWF6ZW5hbWVudG8gw6kgb2JyaWdhdMOzcmlvLiIsInN0b3JhZ2UtdHlwZSI6IlRpcG8gZGUgYXJtYXplbmFtZW50byIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoiQXJtYXplbmFtZW50byBkZSBhcnF1aXZvIiwibWVtb3J5LXN0b3JhZ2UiOiJBcm1hemVuYW1lbnRvIGRlIG1lbcOzcmlhIn0sdGhpbmdzYm9hcmQ6IlRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdCI6Ikhvc3QgVGhpbmdzQm9hcmQiLCJ0aGluZ3Nib2FyZC1ob3N0LXJlcXVpcmVkIjoiTyBob3N0IMOpIG9icmlnYXTDs3Jpby4iLCJ0aGluZ3Nib2FyZC1wb3J0IjoiUG9ydGEgVGhpbmdzQm9hcmQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6Ik8gbsO6bWVybyBtw6F4aW1vIGRlIHBvcnRhcyDDqSA2NTUzNS4iLCJ0aGluZ3Nib2FyZC1wb3J0LW1pbiI6Ik8gbsO6bWVybyBtw61uaW1vIGRlIHBvcnRhcyDDqSAxLiIsInRoaW5nc2JvYXJkLXBvcnQtcGF0dGVybiI6IkEgcG9ydGEgbsOjbyDDqSB2w6FsaWRhLiIsInRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWQiOiJBIHBvcnRhIMOpIG9icmlnYXTDs3JpYS4iLHRpZHk6IlRpZHkiLCJ0aWR5LXRpcCI6IkNvbmZpZyBUaWR5IEpTT04iLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiJDb25maWd1cmHDp8OjbyBkbyBjb25lY3RvciB7e3R5cGVOYW1lfX0iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IkNhbWluaG8gcGFyYSBjZXJ0aWZpY2FkbyBkZSBBdXRvcmlkYWRlIGRlIENlcnRpZmljYcOnw6NvIG5vIGdhdGV3YXkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiJDYW1pbmhvIHBhcmEgY2VydGlmaWNhZG8gZGUgY2xpZW50ZSBubyBnYXRld2F5IiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiJDYW1pbmhvIHBhcmEgY2hhdmUgcHJpdmFkYSBubyBnYXRld2F5IiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiJBbHRlcm5hciB0ZWxhIGludGVpcmEiLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IkNvbmZpZ3VyYcOnw6NvIEpTT04qIiwidXBkYXRlLWNvbmZpZyI6IkFkaWNpb25hci9hdHVhbGl6YXIgY29uZmlndXJhw6fDo28gZGUgSlNPTiJ9LCRvPXsiYWRkLWVudHJ5IjoiRG9kYWoga29uZmlndXJhY2lqbyIsImNvbm5lY3Rvci1hZGQiOiJEb2RhaiBub3YgcHJpa2xqdcSNZWsiLCJjb25uZWN0b3ItZW5hYmxlZCI6Ik9tb2dvxI1pIHByaWtsanXEjWVrIiwiY29ubmVjdG9yLW5hbWUiOiJJbWUgcHJpa2xqdcSNa2EiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6IkltZSBwcmlrbGp1xI1rYSBqZSBvYnZlem5vLiIsImNvbm5lY3Rvci10eXBlIjoiVnJzdGEgcHJpa2xqdcSNa2EiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IlphaHRldmEgc2UgdnJzdGEgcHJpa2xqdcSNa2EuIixjb25uZWN0b3JzOiJLb25maWd1cmFjaWphIHByaWtsanXEjWtvdiIsImNyZWF0ZS1uZXctZ2F0ZXdheSI6IlVzdHZhcmkgbm92IHByZWhvZCIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiQWxpIHN0ZSBwcmVwcmnEjWFuaSwgZGEgxb5lbGl0ZSB1c3R2YXJpdGkgbm92IHByZWhvZCB6IGltZW5vbTogJ3t7Z2F0ZXdheU5hbWV9fSc/IixkZWxldGU6Ikl6YnJpxaFpIGtvbmZpZ3VyYWNpam8iLCJkb3dubG9hZC10aXAiOiJQcmVub3Mga29uZmlndXJhY2lqc2tlIGRhdG90ZWtlIixnYXRld2F5OiJQcmVob2QiLCJnYXRld2F5LWV4aXN0cyI6Ik5hcHJhdmEgeiBpc3RpbSBpbWVub20gxb5lIG9ic3RhamEuIiwiZ2F0ZXdheS1uYW1lIjoiSW1lIHByZWhvZGEiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJJbWUgcHJlaG9kYSBqZSBvYnZlem5vLiIsImdhdGV3YXktc2F2ZWQiOiJLb25maWd1cmFjaWphIHByZWhvZGEgamUgdXNwZcWhbm8gc2hyYW5qZW5hLiIsImpzb24tcGFyc2UiOiJOZXZlbGphdmVuIEpTT04uIiwianNvbi1yZXF1aXJlZCI6IlBvbGplIG5lIHNtZSBiaXRpIHByYXpuby4iLCJuby1jb25uZWN0b3JzIjoiTmkgcHJpa2xqdcSNa292Iiwibm8tZGF0YSI6IkJyZXoga29uZmlndXJhY2lqIiwibm8tZ2F0ZXdheS1mb3VuZCI6IlByZWhvZCBuaSBuYWpkZW4uIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5pIG1vZ2/EjWUgbmFqdGkuIiwicGF0aC1sb2dzIjoiUG90IGRvIGRuZXZuacWha2loIGRhdG90ZWsiLCJwYXRoLWxvZ3MtcmVxdWlyZWQiOiJQb3QgamUgb2J2ZXpuYS4iLHJlbW90ZToiT2RkYWxqZW5hIGtvbmZpZ3VyYWNpamEiLCJyZW1vdGUtbG9nZ2luZy1sZXZlbCI6IlJhdmVuIGJlbGXFvmVuamEiLCJyZW1vdmUtZW50cnkiOiJPZHN0cmFuaSBrb25maWd1cmFjaWpvIiwic2F2ZS10aXAiOiJTaHJhbmkga29uZmlndXJhY2lqc2tvIGRhdG90ZWtvIiwic2VjdXJpdHktdHlwZSI6IlZyc3RhIHphxaHEjWl0ZSIsInNlY3VyaXR5LXR5cGVzIjp7ImFjY2Vzcy10b2tlbiI6IkRvc3RvcG5pIMW+ZXRvbiIsdGxzOiJUTFMifSxzdG9yYWdlOiJTaHJhbWJhIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoiTmFqdmXEjSB6YXBpc292IHYgZGF0b3Rla2kiLCJzdG9yYWdlLW1heC1maWxlcyI6Ik5hanZlxI1qZSDFoXRldmlsbyBkYXRvdGVrIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoiTmFqbWFuasWhZSDFoXRldmlsbyBqZSAxLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXBhdHRlcm4iOiLFoHRldmlsa2EgbmkgdmVsamF2bmEuIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiLFoHRldmlsa2EgamUgb2J2ZXpuYS4iLCJzdG9yYWdlLW1heC1yZWNvcmRzIjoiTmFqdmXEjSB6YXBpc292IHYgcG9tbmlsbmlrdSIsInN0b3JhZ2UtbWF4LXJlY29yZHMtbWluIjoiTmFqbWFuasWhZSDFoXRldmlsbyB6YXBpc292IGplIDEuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoixaB0ZXZpbGthIG5pIHZlbGphdm5hLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJaYWh0ZXZhbiBqZSBuYWp2ZcSNIHphcGlzb3YuIiwic3RvcmFnZS1wYWNrLXNpemUiOiJOYWp2ZcSNamEgdmVsaWtvc3QgcGFrZXRhIGRvZ29ka292Iiwic3RvcmFnZS1wYWNrLXNpemUtbWluIjoiTmFqbWFuasWhZSDFoXRldmlsbyBqZSAxLiIsInN0b3JhZ2UtcGFjay1zaXplLXBhdHRlcm4iOiLFoHRldmlsa2EgbmkgdmVsamF2bmEuIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiJaYWh0ZXZhbmEgamUgbmFqdmXEjWphIHZlbGlrb3N0IHBha2V0YSBkb2dvZGtvdi4iLCJzdG9yYWdlLXBhdGgiOiJQb3QgcG9tbmlsbmlrYSIsInN0b3JhZ2UtcGF0aC1yZXF1aXJlZCI6IlphaHRldmFuYSBqZSBwb3QgZG8gcG9tbmlsbmlrYS4iLCJzdG9yYWdlLXR5cGUiOiJWcnN0YSBwb21uaWxuaWthIiwic3RvcmFnZS10eXBlcyI6eyJmaWxlLXN0b3JhZ2UiOiJTaHJhbWJhIGRhdG90ZWsiLCJtZW1vcnktc3RvcmFnZSI6IlNwb21pbiBwb21uaWxuaWthIn0sdGhpbmdzYm9hcmQ6IlRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdCI6Ikdvc3RpdGVsaiBUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWQiOiJQb3RyZWJlbiBqZSBnb3N0aXRlbGouIiwidGhpbmdzYm9hcmQtcG9ydCI6IlZyYXRhIFRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtcG9ydC1tYXgiOiJOYWp2ZcSNamEgxaF0ZXZpbGthIHZyYXQgamUgNjU1MzUuIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiJOYWptYW5qxaFhIMWhdGV2aWxrYSB2cmF0IGplIDEuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiVnJhdGEgbmlzbyB2ZWxqYXZuYS4iLCJ0aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkIjoiUG90cmVibmEgc28gdnJhdGEuIix0aWR5OiJVcmVqZW5vIiwidGlkeS10aXAiOiJVcmVqZW5hIGtvbmZpZ3VyYWNpamEgSlNPTiIsInRpdGxlLWNvbm5lY3RvcnMtanNvbiI6IktvbmZpZ3VyYWNpamEga29uZWt0b3JqYSB7e3R5cGVOYW1lfX0iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IlBvdCBkbyBwb3RyZGlsYSBDQSBuYSBwcmVob2R1IiwidGxzLXBhdGgtY2xpZW50LWNlcnRpZmljYXRlIjoiUG90IGRvIHBvdHJkaWxhIHN0cmFua2UgbmEgcHJlaG9kdSIsInRscy1wYXRoLXByaXZhdGUta2V5IjoiUG90IGRvIHphc2VibmVnYSBrbGp1xI1hIG5hIHByZWhvZHUiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlByZWtsb3AgbmEgY2Vsb3phc2xvbnNraSBuYcSNaW4iLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IktvbmZpZ3VyYWNpamEgSlNPTiAqIiwidXBkYXRlLWNvbmZpZyI6IkRvZGFqIC8gcG9zb2RvYmkga29uZmlndXJhY2lqbyBKU09OIn0sWW89eyJhZGQtZW50cnkiOiJZYXDEsWxhbmTEsXJtYSBla2xlIiwiY29ubmVjdG9yLWFkZCI6IlllbmkgYmHEn2xhecSxY8SxIGVrbGUiLCJjb25uZWN0b3ItZW5hYmxlZCI6IkJhxJ9sYXnEsWPEsXnEsSBldGtpbmxlxZ90aXIiLCJjb25uZWN0b3ItbmFtZSI6IkJhxJ9sYXnEsWPEsSBhZMSxIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiJCYcSfbGF5xLFjxLEgYWTEsSBnZXJla2xpLiIsImNvbm5lY3Rvci10eXBlIjoiQmHEn2xhecSxY8SxIHRpcGkiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IkJhxJ9sYXnEsWPEsSB0w7xyw7wgZ2VyZWtsaS4iLGNvbm5lY3RvcnM6IkJhxJ9sYXnEsWPEsWxhcsSxbiB5YXDEsWxhbmTEsXJtYXPEsSIsImNyZWF0ZS1uZXctZ2F0ZXdheSI6IlllbmkgYmlyIGHEnyBnZcOnaWRpIG9sdcWfdHVyIiwiY3JlYXRlLW5ldy1nYXRld2F5LXRleHQiOiIne3tnYXRld2F5TmFtZX19JyBhZMSxbmRhIHllbmkgYmlyIGHEnyBnZcOnaWRpIG9sdcWfdHVybWFrIGlzdGVkacSfaW5pemRlbiBlbWluIG1pc2luaXo/IixkZWxldGU6IllhcMSxbGFuZMSxcm1hecSxIHNpbCIsImRvd25sb2FkLXRpcCI6IllhcMSxbGFuZMSxcm1hIGRvc3lhc8SxbsSxIGluZGlyaW4iLGdhdGV3YXk6IkHEnyBnZcOnaWRpIiwiZ2F0ZXdheS1leGlzdHMiOiJBeW7EsSBhZGEgc2FoaXAgY2loYXogemF0ZW4gdmFyLiIsImdhdGV3YXktbmFtZSI6IkHEnyBnZcOnaWRpIGFkxLEiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJBxJ8gZ2XDp2lkaSBhZMSxIGdlcmVrbGkuIiwiZ2F0ZXdheS1zYXZlZCI6IkHEnyBnZcOnaWRpIHlhcMSxbGFuZMSxcm1hc8SxIGJhxZ9hcsSxeWxhIGtheWRlZGlsZGkuIiwianNvbi1wYXJzZSI6Ikdlw6dlcmxpIGJpciBKU09OIGRlxJ9pbC4iLCJqc29uLXJlcXVpcmVkIjoiQWxhbiBib8WfIG9sYW1hei4iLCJuby1jb25uZWN0b3JzIjoiQmHEn2xhecSxY8SxIHlvayIsIm5vLWRhdGEiOiJZYXDEsWxhbmTEsXJtYSB5b2siLCJuby1nYXRld2F5LWZvdW5kIjoiQcSfIGdlw6dpZGkgYnVsdW5hbWFkxLEuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIGJ1bHVuYW1hZMSxLiIsInBhdGgtbG9ncyI6IkxvZyBkb3N5YWxhcsSxIHlvbHUiLCJwYXRoLWxvZ3MtcmVxdWlyZWQiOiJMb2cgZG9zeWFsYXLEsSBkaXppbmkgZ2VyZWtsaS4iLHJlbW90ZToiVXpha3RhbiB5YXDEsWxhbmTEsXJtYSIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoiTG9nbGFtYSBzZXZpeWVzaSIsInJlbW92ZS1lbnRyeSI6IllhcMSxbGFuZMSxcm1hecSxIGthbGTEsXIiLCJzYXZlLXRpcCI6IllhcMSxbGFuZMSxcm1hIGRvc3lhc8SxbsSxIGtheWRldCIsInNlY3VyaXR5LXR5cGUiOiJHw7x2ZW5saWsgdMO8csO8Iiwic2VjdXJpdHktdHlwZXMiOnsiYWNjZXNzLXRva2VuIjoiQWNjZXNzIFRva2VuIix0bHM6IlRMUyJ9LHN0b3JhZ2U6IkRlcG9sYW1hIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoiRG9zeWFkYWtpIG1ha3NpbXVtIGthecSxdCIsInN0b3JhZ2UtbWF4LWZpbGVzIjoiTWFrc2ltdW0gZG9zeWEgc2F5xLFzxLEiLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiJNaW5pbXVtIHNhecSxIDEnZGlyLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXBhdHRlcm4iOiJTYXnEsSBnZcOnZXJsaSBkZcSfaWwuIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiJTYXnEsSBnZXJla2xpLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMiOiJEZXBvZGFraSBtYWtzaW11bSBrYXnEsXQiLCJzdG9yYWdlLW1heC1yZWNvcmRzLW1pbiI6Ik1pbmltdW0ga2F5xLF0IHNhecSxc8SxIDEnZGlyLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6IlNhecSxIGdlw6dlcmxpIGRlxJ9pbC4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkIjoiTWFrc2ltdW0ga2F5xLF0IGdlcmVrbGkuIiwic3RvcmFnZS1wYWNrLXNpemUiOiJNYWtzaW11bSBldGtpbmxpayBwYWtldGkgYm95dXR1Iiwic3RvcmFnZS1wYWNrLXNpemUtbWluIjoiTWluaW11bSBzYXnEsSAxJ2Rpci4iLCJzdG9yYWdlLXBhY2stc2l6ZS1wYXR0ZXJuIjoiU2F5xLEgZ2XDp2VybGkgZGXEn2lsLiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoiTWFrc2ltdW0gZXRraW5saWsgcGFrZXRpIGJveXV0dSBnZXJla2xpLiIsInN0b3JhZ2UtcGF0aCI6IkRlcG9sYW1hIHlvbHUiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiJEZXBvbGFtYSB5b2x1IGdlcmVrbGkuIiwic3RvcmFnZS10eXBlIjoiRGVwb2xhbWEgdMO8csO8Iiwic3RvcmFnZS10eXBlcyI6eyJmaWxlLXN0b3JhZ2UiOiJEb3N5YSBkZXBvbGFtYSIsIm1lbW9yeS1zdG9yYWdlIjoiQmVsbGVrIGRlcG9sYW1hIn0sdGhpbmdzYm9hcmQ6IlRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdCI6IlRoaW5nc0JvYXJkIGhvc3QiLCJ0aGluZ3Nib2FyZC1ob3N0LXJlcXVpcmVkIjoiSG9zdCBnZXJla2xpLiIsInRoaW5nc2JvYXJkLXBvcnQiOiJUaGluZ3NCb2FyZCBwb3J0IiwidGhpbmdzYm9hcmQtcG9ydC1tYXgiOiJNYWtzaW11bSBwb3J0IG51bWFyYXPEsSA2NTUzNS4iLCJ0aGluZ3Nib2FyZC1wb3J0LW1pbiI6Ik1pbmltdW0gcG9ydCBudW1hcmFzxLEgMSdkaXIuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiUG9ydCBnZcOnZXJsaSBkZcSfaWwuIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6IlBvcnQgZ2VyZWtsaS4iLHRpZHk6IlRpZHkiLCJ0aWR5LXRpcCI6IlRpZHkgY29uZmlnIEpTT04iLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiJDb25uZWN0b3Ige3t0eXBlTmFtZX19IGNvbmZpZ3VyYXRpb24iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IlBhdGggdG8gQ0EgY2VydGlmaWNhdGUgb24gZ2F0ZXdheSIsInRscy1wYXRoLWNsaWVudC1jZXJ0aWZpY2F0ZSI6IlBhdGggdG8gY2xpZW50IGNlcnRpZmljYXRlIG9uIGdhdGV3YXkiLCJ0bHMtcGF0aC1wcml2YXRlLWtleSI6IlBhdGggdG8gcHJpdmF0ZSBrZXkgb24gZ2F0ZXdheSIsInRvZ2dsZS1mdWxsc2NyZWVuIjoiVG9nZ2xlIGZ1bGxzY3JlZW4iLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IkNvbmZpZ3VyYXRpb24gSlNPTioiLCJ1cGRhdGUtY29uZmlnIjoiQWRkL3VwZGF0ZSBjb25maWd1cmF0aW9uIEpTT04ifSxRbz17ImFkZC1lbnRyeSI6Iua3u+WKoOmFjee9riIsYWR2YW5jZWQ6IumrmOe6pyIsImNoZWNraW5nLWRldmljZS1hY3Rpdml0eSI6IuajgOafpeiuvuWkh+a0u+WKqCIsY29tbWFuZDoiRG9ja2Vy5ZG95LukIiwiY29tbWFuZC1jb3BpZWQtbWVzc2FnZSI6IkRvY2tlcuWRveS7pOW3suWkjeWItuWIsOWJqui0tOadvyIsY29uZmlndXJhdGlvbjoi6YWN572uIiwiY29ubmVjdG9yLWFkZCI6Iua3u+WKoOi/nuaOpeWZqCIsImNvbm5lY3Rvci1lbmFibGVkIjoi5ZCv55So6L+e5o6l5ZmoIiwiY29ubmVjdG9yLW5hbWUiOiLov57mjqXlmajlkI3np7AiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6Iui/nuaOpeWZqOWQjeensOW/heWhq+OAgiIsImNvbm5lY3Rvci10eXBlIjoi6L+e5o6l5Zmo57G75Z6LIiwiY29ubmVjdG9yLXR5cGUtcmVxdWlyZWQiOiLov57mjqXlmajnsbvlnovlv4XloavjgIIiLGNvbm5lY3RvcnM6Iui/nuaOpeWZqOmFjee9riIsImNvbm5lY3RvcnMtY29uZmlnIjoi6L+e5o6l5Zmo6YWN572uIiwiY29ubmVjdG9ycy10YWJsZS1lbmFibGVkIjoi5bey5ZCv55SoIiwiY29ubmVjdG9ycy10YWJsZS1uYW1lIjoi5ZCN56ewIiwiY29ubmVjdG9ycy10YWJsZS10eXBlIjoi57G75Z6LIiwiY29ubmVjdG9ycy10YWJsZS1zdGF0dXMiOiLnirbmgIEiLCJjb25uZWN0b3JzLXRhYmxlLWFjdGlvbnMiOiLmk43kvZwiLCJjb25uZWN0b3JzLXRhYmxlLWtleSI6IumUriIsImNvbm5lY3RvcnMtdGFibGUtY2xhc3MiOiLnsbsiLCJycGMtY29tbWFuZC1zZW5kIjoi5Y+R6YCBIiwicnBjLWNvbW1hbmQtcmVzdWx0Ijoi57uT5p6cIiwicnBjLWNvbW1hbmQtZWRpdC1wYXJhbXMiOiLnvJbovpHlj4LmlbAiLCJnYXRld2F5LWNvbmZpZ3VyYXRpb24iOiLpgJrnlKjphY3nva4iLCJjcmVhdGUtbmV3LWdhdGV3YXkiOiLliJvlu7rnvZHlhbMiLCJjcmVhdGUtbmV3LWdhdGV3YXktdGV4dCI6IuehruWumuimgeWIm+W7uuWQjeS4uiAne3tnYXRld2F5TmFtZX19JyDnmoTmlrDnvZHlhbPvvJ8iLCJjcmVhdGVkLXRpbWUiOiLliJvlu7rml7bpl7QiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaGVhZGVyIjoi6YWN572u5bCG6KKr5Yig6ZmkIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWJvZHkiOiLlj6rmnInlr7nnvZHlhbPov5vooYzniannkIborr/pl67ml7bvvIzmiY3mnInlj6/og73lhbPpl63ov5znqIvphY3nva7jgILmiYDmnInlhYjliY3nmoTphY3nva7pg73lsIbooqvliKDpmaTjgII8YnI+PGJyPlxu6KaB5YWz6Zet6YWN572u77yM6K+35Zyo5LiL6Z2i6L6T5YWl572R5YWz5ZCN56ewIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0Ijoi572R5YWz5ZCN56ewIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0LXJlcXVpcmVkIjoi572R5YWz5ZCN56ew5piv5b+F6ZyA55qEIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWNvbmZpcm0iOiLlhbPpl60iLGRlbGV0ZToi5Yig6Zmk6YWN572uIiwiZG93bmxvYWQtdGlwIjoi5LiL6L296YWN572uIiwiZHJvcC1maWxlIjoi5bCG5paH5Lu25ouW5pS+5Yiw5q2k5aSE5oiWIixnYXRld2F5OiLnvZHlhbMiLCJnYXRld2F5LWV4aXN0cyI6IuWQjOWQjeiuvuWkh+W3suWtmOWcqOOAgiIsImdhdGV3YXktbmFtZSI6Iue9keWFs+WQjeensCIsImdhdGV3YXktbmFtZS1yZXF1aXJlZCI6Iue9keWFs+WQjeensOW/heWhq+OAgiIsImdhdGV3YXktc2F2ZWQiOiLlt7LmiJDlip/kv53lrZjnvZHlhbPphY3nva7jgIIiLGdycGM6IkdSUEMiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dCI6IuS/neaMgei/nuaOpei2heaXtu+8iOavq+enku+8iSIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LXJlcXVpcmVkIjoi6ZyA6KaB5L+d5oyB6L+e5o6l6LaF5pe2IiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtbWluIjoi5L+d5oyB6L+e5o6l6LaF5pe25LiN6IO95bCP5LqOMSIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LXBhdHRlcm4iOiLkv53mjIHov57mjqXotoXml7bml6DmlYgiLCJncnBjLWtlZXAtYWxpdmUiOiLkv53mjIHov57mjqXvvIjmr6vnp5LvvIkiLCJncnBjLWtlZXAtYWxpdmUtcmVxdWlyZWQiOiLpnIDopoHkv53mjIHov57mjqUiLCJncnBjLWtlZXAtYWxpdmUtbWluIjoi5L+d5oyB6L+e5o6l5LiN6IO95bCP5LqOMSIsImdycGMta2VlcC1hbGl2ZS1wYXR0ZXJuIjoi5L+d5oyB6L+e5o6l5peg5pWIIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzIjoi5pyA5bCPUGluZ+mXtOmalO+8iOavq+enku+8iSIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1yZXF1aXJlZCI6IumcgOimgeacgOWwj1Bpbmfpl7TpmpQiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtbWluIjoi5pyA5bCPUGluZ+mXtOmalOS4jeiDveWwj+S6jjEiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcGF0dGVybiI6IuacgOWwj1Bpbmfpl7TpmpTml6DmlYgiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YSI6IuaXoOaVsOaNruaXtueahOacgOWwj1Bpbmfpl7TpmpTvvIjmr6vnp5LvvIkiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6IumcgOimgeaXoOaVsOaNruaXtueahOacgOWwj1Bpbmfpl7TpmpQiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1taW4iOiLml6DmlbDmja7ml7bnmoTmnIDlsI9QaW5n6Ze06ZqU5LiN6IO95bCP5LqOMSIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiLml6DmlbDmja7ml7bnmoTmnIDlsI9QaW5n6Ze06ZqU5peg5pWIIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoi5peg5pWw5o2u5pe255qE5pyA5aSnUGluZ+aVsCIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6IumcgOimgeaXoOaVsOaNruaXtueahOacgOWkp1BpbmfmlbAiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtbWluIjoi5peg5pWw5o2u5pe255qE5pyA5aSnUGluZ+aVsOS4jeiDveWwj+S6jjEiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtcGF0dGVybiI6IuaXoOaVsOaNruaXtueahOacgOWkp1BpbmfmlbDml6DmlYgiLCJpbmFjdGl2aXR5LWNoZWNrLXBlcmlvZC1zZWNvbmRzIjoi5LiN5rS76LeD5qOA5p+l5pyf77yI56eS77yJIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1yZXF1aXJlZCI6IumcgOimgeS4jea0u+i3g+ajgOafpeacnyIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtbWluIjoi5LiN5rS76LeD5qOA5p+l5pyf5LiN6IO95bCP5LqOMSIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcGF0dGVybiI6IuS4jea0u+i3g+ajgOafpeacn+aXoOaViCIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzIjoi5LiN5rS76LeD6LaF5pe277yI56eS77yJIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcmVxdWlyZWQiOiLpnIDopoHkuI3mtLvot4PotoXml7YiLCJpbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1taW4iOiLkuI3mtLvot4PotoXml7bkuI3og73lsI/kuo4xIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcGF0dGVybiI6IuS4jea0u+i3g+i2heaXtuaXoOaViCIsImpzb24tcGFyc2UiOiLml6DmlYjnmoRKU09O44CCIiwianNvbi1yZXF1aXJlZCI6IuWtl+auteS4jeiDveS4uuepuuOAgiIsbG9nczp7bG9nczoi5pel5b+XIixkYXlzOiLlpKkiLGhvdXJzOiLlsI/ml7YiLG1pbnV0ZXM6IuWIhumSnyIsc2Vjb25kczoi56eSIiwiZGF0ZS1mb3JtYXQiOiLml6XmnJ/moLzlvI8iLCJkYXRlLWZvcm1hdC1yZXF1aXJlZCI6IumcgOimgeaXpeacn+agvOW8jyIsImxvZy1mb3JtYXQiOiLml6Xlv5fmoLzlvI8iLCJsb2ctdHlwZSI6IuaXpeW/l+exu+WeiyIsImxvZy1mb3JtYXQtcmVxdWlyZWQiOiLpnIDopoHml6Xlv5fmoLzlvI8iLHJlbW90ZToi6L+c56iL5pel5b+X6K6w5b2VIiwicmVtb3RlLWxvZ3MiOiLov5znqIvml6Xlv5ciLGxvY2FsOiLmnKzlnLDml6Xlv5forrDlvZUiLGxldmVsOiLml6Xlv5fnuqfliKsiLCJmaWxlLXBhdGgiOiLmlofku7bot6/lvoQiLCJmaWxlLXBhdGgtcmVxdWlyZWQiOiLpnIDopoHmlofku7bot6/lvoQiLCJzYXZpbmctcGVyaW9kIjoi5pel5b+X5L+d5a2Y5pyf6ZmQIiwic2F2aW5nLXBlcmlvZC1taW4iOiLml6Xlv5fkv53lrZjmnJ/pmZDkuI3og73lsI/kuo4xIiwic2F2aW5nLXBlcmlvZC1yZXF1aXJlZCI6IumcgOimgeaXpeW/l+S/neWtmOacn+mZkCIsImJhY2t1cC1jb3VudCI6IuWkh+S7veaVsOmHjyIsImJhY2t1cC1jb3VudC1taW4iOiLlpIfku73mlbDph4/kuI3og73lsI/kuo4xIiwiYmFja3VwLWNvdW50LXJlcXVpcmVkIjoi6ZyA6KaB5aSH5Lu95pWw6YePIn0sIm1pbi1wYWNrLXNlbmQtZGVsYXkiOiLmnIDlsI/ljIXlj5HpgIHlu7bov5/vvIjmr6vnp5LvvIkiLCJtaW4tcGFjay1zZW5kLWRlbGF5LXJlcXVpcmVkIjoi5pyA5bCP5YyF5Y+R6YCB5bu26L+f5piv5b+F6ZyA55qEIiwibWluLXBhY2stc2VuZC1kZWxheS1taW4iOiLmnIDlsI/ljIXlj5HpgIHlu7bov5/kuI3og73lsI/kuo4wIiwibm8tY29ubmVjdG9ycyI6IuaXoOi/nuaOpeWZqCIsIm5vLWRhdGEiOiLmsqHmnInphY3nva4iLCJuby1nYXRld2F5LWZvdW5kIjoi5pyq5om+5Yiw572R5YWz44CCIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IuacquaJvuWIsCAne3tpdGVtfX0nIOOAgiIsInBhdGgtbG9ncyI6IuaXpeW/l+aWh+S7tueahOi3r+W+hCIsInBhdGgtbG9ncy1yZXF1aXJlZCI6Iui3r+W+hOaYr+W/hemcgOeahOOAgiIsInBlcm1pdC13aXRob3V0LWNhbGxzIjoi5L+d5oyB6L+e5o6l6K645Y+v77yM5peg6ZyA5ZON5bqUIixyZW1vdGU6Iui/nOeoi+mFjee9riIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoi5pel5b+X6K6w5b2V57qn5YirIiwicmVtb3ZlLWVudHJ5Ijoi5Yig6Zmk6YWN572uIiwicmVtb3RlLXNoZWxsIjoi6L+c56iLU2hlbGwiLCJyZW1vdGUtY29uZmlndXJhdGlvbiI6Iui/nOeoi+mFjee9riIsb3RoZXI6IuWFtuS7liIsInNhdmUtdGlwIjoi5L+d5a2Y6YWN572uIiwic2VjdXJpdHktdHlwZSI6IuWuieWFqOexu+WeiyIsInNlY3VyaXR5LXR5cGVzIjp7ImFjY2Vzcy10b2tlbiI6Iuiuv+mXruS7pOeJjCIsInVzZXJuYW1lLXBhc3N3b3JkIjoi55So5oi35ZCN5ZKM5a+G56CBIix0bHM6IlRMUyIsInRscy1hY2Nlc3MtdG9rZW4iOiJUTFMgKyDorr/pl67ku6TniYwiLCJ0bHMtcHJpdmF0ZS1rZXkiOiJUTFMgKyDnp4HpkqUifSwic2VydmVyLXBvcnQiOiLmnI3liqHlmajnq6/lj6MiLHN0YXRpc3RpY3M6e3N0YXRpc3RpYzoi57uf6K6h5L+h5oGvIixzdGF0aXN0aWNzOiLnu5/orqHkv6Hmga8iLCJzdGF0aXN0aWMtY29tbWFuZHMtZW1wdHkiOiLml6Dlj6/nlKjnu5/orqHkv6Hmga8iLGNvbW1hbmRzOiLlkb3ku6QiLCJzZW5kLXBlcmlvZCI6Iue7n+iuoeS/oeaBr+WPkemAgeWRqOacn++8iOenku+8iSIsInNlbmQtcGVyaW9kLXJlcXVpcmVkIjoi57uf6K6h5L+h5oGv5Y+R6YCB5ZGo5pyf5piv5b+F6ZyA55qEIiwic2VuZC1wZXJpb2QtbWluIjoi57uf6K6h5L+h5oGv5Y+R6YCB5ZGo5pyf5LiN6IO95bCP5LqONjAiLCJzZW5kLXBlcmlvZC1wYXR0ZXJuIjoi57uf6K6h5L+h5oGv5Y+R6YCB5ZGo5pyf5peg5pWIIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uIjoi5qOA5p+l6L+e5o6l5Zmo6YWN572u77yI56eS77yJIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXJlcXVpcmVkIjoi5qOA5p+l6L+e5o6l5Zmo6YWN572u5piv5b+F6ZyA55qEIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLW1pbiI6IuajgOafpei/nuaOpeWZqOmFjee9ruS4jeiDveWwj+S6jjEiLCJjaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tcGF0dGVybiI6IuajgOafpei/nuaOpeWZqOmFjee9ruaXoOaViCIsYWRkOiLmt7vliqDlkb3ku6QiLHRpbWVvdXQ6Iui2heaXtuaXtumXtCIsInRpbWVvdXQtbXMiOiLotoXml7bml7bpl7TvvIjmr6vnp5LvvIkiLCJ0aW1lb3V0LXJlcXVpcmVkIjoi6LaF5pe25pe26Ze05piv5b+F6ZyA55qEIiwidGltZW91dC1taW4iOiLotoXml7bml7bpl7TkuI3og73lsI/kuo4xIiwidGltZW91dC1wYXR0ZXJuIjoi6LaF5pe25pe26Ze05peg5pWIIiwiYXR0cmlidXRlLW5hbWUiOiLlsZ7mgKflkI3np7AiLCJhdHRyaWJ1dGUtbmFtZS1yZXF1aXJlZCI6IuWxnuaAp+WQjeensOaYr+W/hemcgOeahCIsY29tbWFuZDoi5ZG95LukIiwiY29tbWFuZC1yZXF1aXJlZCI6IuWRveS7pOaYr+W/hemcgOeahCIsImNvbW1hbmQtcGF0dGVybiI6IuWRveS7pOaXoOaViCIscmVtb3ZlOiLliKDpmaTlkb3ku6QifSxzdG9yYWdlOiLlrZjlgqgiLCJzdG9yYWdlLW1heC1maWxlLXJlY29yZHMiOiLmlofku7bkuK3nmoTmnIDlpKforrDlvZXmlbAiLCJzdG9yYWdlLW1heC1maWxlcyI6IuacgOWkp+aWh+S7tuaVsCIsInN0b3JhZ2UtbWF4LWZpbGVzLW1pbiI6IuacgOWwj+WAvOS4ujHjgIIiLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoi5pWw5a2X5peg5pWI44CCIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiLmlbDlrZfmmK/lv4XpnIDnmoTjgIIiLCJzdG9yYWdlLW1heC1yZWNvcmRzIjoi5a2Y5YKo5Lit55qE5pyA5aSn6K6w5b2V5pWwIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1taW4iOiLmnIDlsI/orrDlvZXmlbDkuLox44CCIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoi5pWw5a2X5peg5pWI44CCIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1yZXF1aXJlZCI6IuacgOWkp+iusOW9lemhueW/heWhq+OAgiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQiOiLlrZjlgqjkuK3nmoTor7vlj5borrDlvZXmlbAiLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LW1pbiI6IuacgOWwj+iusOW9leaVsOS4ujHjgIIiLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm4iOiLmlbDlrZfkuI3lkIjms5XjgIIiLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkIjoi6ZyA6KaB6K+75Y+W6K6w5b2V5pWw44CCIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQiOiLlrZjlgqjkuK3nmoTmnIDlpKfor7vlj5borrDlvZXmlbAiLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1taW4iOiLmnIDlsI/orrDlvZXmlbDkuLox44CCIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVybiI6IuaVsOWtl+S4jeWQiOazleOAgiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkIjoi5pyA5aSn6K+75Y+W6K6w5b2V5pWw5b+F6ZyA44CCIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoIjoi5pWw5o2u5paH5Lu25aS56Lev5b6EIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoLXJlcXVpcmVkIjoi6ZyA6KaB5pWw5o2u5paH5Lu25aS56Lev5b6E44CCIiwic3RvcmFnZS1wYWNrLXNpemUiOiLmnIDlpKfkuovku7bljIXlpKflsI8iLCJzdG9yYWdlLXBhY2stc2l6ZS1taW4iOiLmnIDlsI/lgLzkuLox44CCIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6IuaVsOWtl+aXoOaViOOAgiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoi5pyA5aSn5LqL5Lu25YyF5aSn5bCP5b+F5aGr44CCIiwic3RvcmFnZS1wYXRoIjoi5a2Y5YKo6Lev5b6EIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoi5a2Y5YKo6Lev5b6E5b+F5aGr44CCIiwic3RvcmFnZS10eXBlIjoi5a2Y5YKo57G75Z6LIiwic3RvcmFnZS10eXBlcyI6eyJmaWxlLXN0b3JhZ2UiOiLmlofku7blrZjlgqgiLCJtZW1vcnktc3RvcmFnZSI6IuWGheWtmOWtmOWCqCIsc3FsaXRlOiJTUUxJVEUifSx0aGluZ3Nib2FyZDoiVGhpbmdzQm9hcmQiLGdlbmVyYWw6IuW4uOinhCIsInRoaW5nc2JvYXJkLWhvc3QiOiJUaGluZ3NCb2FyZOS4u+acuiIsInRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWQiOiLkuLvmnLrlv4XloavjgIIiLCJ0aGluZ3Nib2FyZC1wb3J0IjoiVGhpbmdzQm9hcmTnq6/lj6MiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6IuacgOWkp+err+WPo+WPt+S4ujY1NTM144CCIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiLmnIDlsI/nq6/lj6Plj7fkuLox44CCIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoi56uv5Y+j5peg5pWI44CCIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6Iuerr+WPo+W/heWhq+OAgiIsdGlkeToi5pW055CGIiwidGlkeS10aXAiOiLmlbTnkIbphY3nva5KU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoi6L+e5o6l5ZmoIHt7dHlwZU5hbWV9fSDphY3nva4iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6Iue9keWFs+S4ikNB6K+B5Lmm55qE6Lev5b6EIiwidGxzLXBhdGgtY2xpZW50LWNlcnRpZmljYXRlIjoi572R5YWz5LiK5a6i5oi356uv6K+B5Lmm55qE6Lev5b6EIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzIjoi5raI5oGvVFRM5qOA5p+l5bCP5pe25pWwIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXJlcXVpcmVkIjoi6ZyA6KaB5o+Q5L6b5raI5oGvVFRM5qOA5p+l5bCP5pe25pWw44CCIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLW1pbiI6IuacgOWwj+WAvOS4ujHjgIIiLCJtZXNzYWdlcy10dGwtY2hlY2staW4taG91cnMtcGF0dGVybiI6IuaVsOWtl+aXoOaViOOAgiIsIm1lc3NhZ2VzLXR0bC1pbi1kYXlzIjoi5raI5oGvVFRM5aSp5pWwIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcmVxdWlyZWQiOiLpnIDopoHmj5Dkvpvmtojmga9UVEzlpKnmlbDjgIIiLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1taW4iOiLmnIDlsI/lgLzkuLox44CCIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcGF0dGVybiI6IuaVsOWtl+aXoOaViOOAgiIsIm1xdHQtcW9zIjoiUW9TIiwibXF0dC1xb3MtcmVxdWlyZWQiOiLpnIDopoHmj5DkvptRb1MiLCJtcXR0LXFvcy1yYW5nZSI6IlFvU+WAvOeahOiMg+WbtOaYr+S7jjDliLAxIiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiLnvZHlhbPkuIrnp4HpkqXnmoTot6/lvoQiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IuWIh+aNouWFqOWxjyIsInRyYW5zZm9ybWVyLWpzb24tY29uZmlnIjoi6YWN572uSlNPTioiLCJ1cGRhdGUtY29uZmlnIjoi5re75YqgL+abtOaWsOmFjee9rkpTT04iLGhpbnRzOnsicmVtb3RlLWNvbmZpZ3VyYXRpb24iOiLlkK/nlKjlr7nnvZHlhbPnmoTov5znqIvphY3nva7lkoznrqHnkIYiLCJyZW1vdGUtc2hlbGwiOiLpgJrov4fov5znqItTaGVsbOWwj+mDqOS7tuWQr+eUqOWvuee9keWFs+aTjeS9nOezu+e7n+eahOi/nOeoi+aOp+WItiIsaG9zdDoiVGhpbmdzQm9hcmQg5Li75py65ZCN5oiWSVDlnLDlnYAiLHBvcnQ6IlRoaW5nc0JvYXJkIE1RVFTmnI3liqHnq6/lj6MiLHRva2VuOiJUaGluZ3NCb2FyZCDnvZHlhbPorr/pl67ku6TniYwiLCJjbGllbnQtaWQiOiJUaGluZ3NCb2FyZCDnvZHlhbNNUVRU5a6i5oi356uvSUQiLHVzZXJuYW1lOiJUaGluZ3NCb2FyZCDnvZHlhbNNUVRU55So5oi35ZCNIixwYXNzd29yZDoiVGhpbmdzQm9hcmQg572R5YWzTVFUVOWvhueggSIsImNhLWNlcnQiOiJDQeivgeS5puaWh+S7tueahOi3r+W+hCIsImRhdGUtZm9ybSI6IuaXpeW/l+a2iOaBr+S4reeahOaXpeacn+agvOW8jyIsImRhdGEtZm9sZGVyIjoi5YyF5ZCr5pWw5o2u55qE5paH5Lu25aS555qE6Lev5b6E77yI55u45a+55oiW57ud5a+56Lev5b6E77yJIiwibG9nLWZvcm1hdCI6IuaXpeW/l+a2iOaBr+agvOW8jyIsInJlbW90ZS1sb2ciOiLlkK/nlKjlr7nnvZHlhbPnmoTov5znqIvml6Xlv5forrDlvZXlkozml6Xlv5for7vlj5YiLCJiYWNrdXAtY291bnQiOiLlpoLmnpzlpIfku73orqHmlbDlpKfkuo4w77yM5YiZ5Zyo5omn6KGM6L2u5o2i5pe277yM5pyA5aSa5L+d55WZ5aSH5Lu96K6h5pWw5Liq5paH5Lu2LeacgOaXp+eahOaWh+S7tuWwhuiiq+WIoOmZpCIsc3RvcmFnZToi5o+Q5L6b5bCG5pWw5o2u5Y+R6YCB5Yiw5bmz5Y+w5LmL5YmN5L+d5a2Y5Lyg5YWl5pWw5o2u55qE6YWN572uIiwibWF4LWZpbGUtY291bnQiOiLlsIbliJvlu7rnmoTmlofku7bnmoTmnIDlpKfmlbDph48iLCJtYXgtcmVhZC1jb3VudCI6IuS7juWtmOWCqOS4reiOt+WPlueahOa2iOaBr+iuoeaVsOW5tuWPkemAgeWIsFRoaW5nc0JvYXJkIiwibWF4LXJlY29yZHMiOiLkuIDkuKrmlofku7bkuK3lrZjlgqjnmoTmnIDlpKforrDlvZXmlbAiLCJyZWFkLXJlY29yZC1jb3VudCI6IuS7juWtmOWCqOS4reiOt+WPlueahOa2iOaBr+iuoeaVsOW5tuWPkemAgeWIsFRoaW5nc0JvYXJkIiwibWF4LXJlY29yZHMtY291bnQiOiLlnKjlsIbmlbDmja7lj5HpgIHliLBUaGluZ3NCb2FyZOS5i+WJje+8jOWtmOWCqOS4reeahOacgOWkp+aVsOaNruiuoeaVsCIsInR0bC1jaGVjay1ob3VyIjoi572R5YWz5aSa5LmF5qOA5p+l5LiA5qyh5pWw5o2u5piv5ZCm6L+H5pe2IiwidHRsLW1lc3NhZ2VzLWRheSI6IuWtmOWCqOWwhuS/neWtmOaVsOaNrueahOacgOWkp+WkqeaVsCIsY29tbWFuZHM6IueUqOS6juaUtumbhumZhOWKoOe7n+iuoeS/oeaBr+eahOWRveS7pCIsYXR0cmlidXRlOiLnu5/orqHpgaXmtYvplK4iLHRpbWVvdXQ6IuWRveS7pOaJp+ihjOeahOi2heaXtuaXtumXtCIsY29tbWFuZDoi5ZG95Luk5omn6KGM55qE57uT5p6c77yM5bCG55So5L2c6YGl5rWL55qE5YC8IiwiY2hlY2stZGV2aWNlLWFjdGl2aXR5Ijoi5ZCv55So55uR6KeG5q+P5Liq6L+e5o6l6K6+5aSH55qE5rS75YqoIiwiaW5hY3Rpdml0eS10aW1lb3V0Ijoi5Zyo5q2k5pe26Ze05ZCO77yM572R5YWz5bCG5pat5byA6K6+5aSH55qE6L+e5o6lIiwiaW5hY3Rpdml0eS1wZXJpb2QiOiLorr7lpIfmtLvliqjmo4Dmn6XnmoTlkajmnJ8iLCJtaW5pbWFsLXBhY2stZGVsYXkiOiLlj5HpgIHmtojmga/ljIXkuYvpl7TnmoTlu7bov5/vvIjlh4/lsI/mraTorr7nva7kvJrlr7zoh7Tlop7liqBDUFXkvb/nlKjnjofvvIkiLHFvczoiTVFUVOa2iOaBr+S8oOmAkueahOacjeWKoei0qOmHj++8iDAt6Iez5aSa5LiA5qyh77yMMS3oh7PlsJHkuIDmrKHvvIkiLCJzZXJ2ZXItcG9ydCI6IkdSUEPmnI3liqHlmajkvqblkKzkvKDlhaXov57mjqXnmoTnvZHnu5znq6/lj6MiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dCI6IuWcqOiAg+iZkei/nuaOpeatu+S6oeS5i+WJje+8jOacjeWKoeWZqOetieW+hWtlZXBhbGl2ZSBwaW5n5ZON5bqU55qE5pyA6ZW/5pe26Ze0IiwiZ3JwYy1rZWVwLWFsaXZlIjoi5rKh5pyJ5rS75YqoUlBD6LCD55So5pe25Lik5Liq6L+e57uta2VlcGFsaXZlIHBpbmfmtojmga/kuYvpl7TnmoTmjIHnu63ml7bpl7QiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MiOiLmnI3liqHlmajlnKjlj5HpgIFrZWVwYWxpdmUgcGluZ+a2iOaBr+S5i+mXtOW6lOetieW+heeahOacgOWwj+aXtumXtOmHjyIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YSI6IuWcqOayoeacieaOpeaUtuWIsOS7u+S9leaVsOaNruS5i+WJje+8jOacjeWKoeWZqOWPr+S7peWPkemAgeeahGtlZXBhbGl2ZSBwaW5n5raI5oGv55qE5pyA5aSn5pWw6YeP77yM54S25ZCO5bCG6L+e5o6l6KeG5Li65q275LqhIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEiOiLlnKjmsqHmnInlj5HpgIHmiJbmjqXmlLbmlbDmja7ml7bvvIzmnI3liqHlmajlnKjlj5HpgIFrZWVwYWxpdmUgcGluZ+a2iOaBr+S5i+mXtOW6lOetieW+heeahOacgOWwj+aXtumXtOmHjyIsInBlcm1pdC13aXRob3V0LWNhbGxzIjoi5YWB6K645pyN5Yqh5Zmo5Zyo5rKh5pyJ5rS75YqoUlBD6LCD55So5pe25L+d5oyBR1JQQ+i/nuaOpea0u+WKqCJ9LCJkb2NrZXItbGFiZWwiOiLkvb/nlKjku6XkuIvmjIfku6TlnKggRG9ja2VyIGNvbXBvc2Ug5Lit6L+Q6KGMIElvVCDnvZHlhbPvvIzlubbkuLrpgInlrprnmoTorr7lpIfmj5Dkvpvlh63mja4iLCJpbnN0YWxsLWRvY2tlci1jb21wb3NlIjoi5L2/55So5Lul5LiL6K+05piO5LiL6L2944CB5a6J6KOF5ZKM6K6+572uIERvY2tlciBDb21wb3NlIiwiZG93bmxvYWQtY29uZmlndXJhdGlvbi1maWxlIjoi5LiL6L296YWN572u5paH5Lu2IiwiZG93bmxvYWQtZG9ja2VyLWNvbXBvc2UiOiLkuIvovb3mgqjnmoTnvZHlhbPnmoQgZG9ja2VyLWNvbXBvc2UueW1sIOaWh+S7tiIsImxhdW5jaC1nYXRld2F5Ijoi5ZCv5Yqo572R5YWzIiwibGF1bmNoLWRvY2tlci1jb21wb3NlIjoi5Zyo5YyF5ZCrIGRvY2tlci1jb21wb3NlLnltbCDmlofku7bnmoTmlofku7blpLnkuK3vvIzkvb/nlKjku6XkuIvlkb3ku6TlnKjnu4jnq6/kuK3lkK/liqjnvZHlhbMifSxKbz17ImFkZC1lbnRyeSI6IuWinuWKoOmFjee9riIsImNvbm5lY3Rvci1hZGQiOiLlop7liqDmlrDpgKPmjqXlmagiLCJjb25uZWN0b3ItZW5hYmxlZCI6IuWVn+eUqOmAo+aOpeWZqCIsImNvbm5lY3Rvci1uYW1lIjoi6YCj5o6l5Zmo5ZCN56ixIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiLpnIDopoHpgKPmjqXlmajlkI3nqLHjgIIiLCJjb25uZWN0b3ItdHlwZSI6IumAo+aOpeWZqOmhnuWeiyIsImNvbm5lY3Rvci10eXBlLXJlcXVpcmVkIjoi6ZyA6KaB6YCj5o6l5Zmo6aGe5Z6L44CCIixjb25uZWN0b3JzOiLpgKPmjqXlmajphY3nva4iLCJjcmVhdGUtbmV3LWdhdGV3YXkiOiLlu7rnq4vmlrDplpjpgZMiLCJjcmVhdGUtbmV3LWdhdGV3YXktdGV4dCI6IuaCqOeiuuWumuimgeW7uueri+S4gOWAi+WQjeeoseeCuu+8mid7e2dhdGV3YXlOYW1lfX0n55qE5paw6ZaY6YGT5ZeO77yfIixkZWxldGU6IuWIqumZpOmFjee9riIsImRvd25sb2FkLXRpcCI6IuS4i+i8iemFjee9ruaWh+S7tiIsZ2F0ZXdheToi6ZaY6YGTIiwiZ2F0ZXdheS1leGlzdHMiOiLlkIzlkI3oqK3lgpnlt7LlrZjlnKjjgIIiLCJnYXRld2F5LW5hbWUiOiLplpjpgZPlkI3nqLEiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiLpnIDopoHplpjpgZPlkI3nqLHjgIIiLCJnYXRld2F5LXNhdmVkIjoi6ZaY6YGT6YWN572u5bey5oiQ5Yqf5L+d5a2Y44CCIiwianNvbi1wYXJzZSI6IueEoeaViOeahEpTT04iLCJqc29uLXJlcXVpcmVkIjoi5qyE5L2N5LiN6IO954K656m644CCIiwibm8tY29ubmVjdG9ycyI6IueEoemAo+aOpeWZqCIsIm5vLWRhdGEiOiLnhKHphY3nva4iLCJuby1nYXRld2F5LWZvdW5kIjoi5pyq5om+5Yiw6ZaY6YGT44CCIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiDmnKrmib7liLAne3tpdGVtfX0n44CCIiwicGF0aC1sb2dzIjoi5pel6KqM5paH5Lu255qE6Lev5b6RIiwicGF0aC1sb2dzLXJlcXVpcmVkIjoi6ZyA6KaB6Lev5b6R44CCIixyZW1vdGU6Iuenu+mZpOmFjee9riIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoi5pel6KqM6KiY6YyE57Sa5YilIiwicmVtb3ZlLWVudHJ5Ijoi56e76Zmk6YWN572uIiwic2F2ZS10aXAiOiLkv53lrZjphY3nva7mlofku7YiLCJzZWN1cml0eS10eXBlIjoi5a6J5YWo6aGe5Z6LIiwic2VjdXJpdHktdHlwZXMiOnsiYWNjZXNzLXRva2VuIjoi6Kiq5ZWPVG9rZW4iLHRsczoiVExTIn0sc3RvcmFnZToi6LKv5a2YIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoi5paH5Lu25Lit55qE5pyA5aSn57SA6YyEIiwic3RvcmFnZS1tYXgtZmlsZXMiOiLmnIDlpKfmlofku7bmlbgiLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiLmnIDlsI/mlbjph4/ngrox44CCIiwic3RvcmFnZS1tYXgtZmlsZXMtcGF0dGVybiI6IuiZn+eivOeEoeaViOOAgiIsInN0b3JhZ2UtbWF4LWZpbGVzLXJlcXVpcmVkIjoi6ZyA6KaB6Jmf56K844CCIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6IuWtmOWEsuS4reeahOacgOWkp+e0gOmMhCIsInN0b3JhZ2UtbWF4LXJlY29yZHMtbWluIjoi5pyA5bCP57SA6YyE5pW454K6MeOAgiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6IuiZn+eivOeEoeaViOOAgiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiLpnIDopoHmnIDlpKfntIDpjITmlbgiLCJzdG9yYWdlLXBhY2stc2l6ZSI6IuacgOWkp+S6i+S7tuWMheWkp+WwjyIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6IuacgOWwj+aVuOmHj+eCujHjgIIiLCJzdG9yYWdlLXBhY2stc2l6ZS1wYXR0ZXJuIjoi6Jmf56K854Sh5pWI77yOIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiLpnIDopoHmnIDlpKfkuovku7bljIXlpKflsI8iLCJzdG9yYWdlLXBhdGgiOiLlrZjlhLLot6/lvpEiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiLpnIDopoHlrZjlhLLot6/lvpHjgIIiLCJzdG9yYWdlLXR5cGUiOiLlrZjlhLLpoZ7lnosiLCJzdG9yYWdlLXR5cGVzIjp7ImZpbGUtc3RvcmFnZSI6IuaWh+S7tuWtmOWEsiIsIm1lbW9yeS1zdG9yYWdlIjoi6KiY5oa26auU5a2Y5YSyIn0sdGhpbmdzYm9hcmQ6IlRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdCI6IlRoaW5nc0JvYXJk5Li75qmfIiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6IumcgOimgeS4u+apn+OAgiIsInRoaW5nc2JvYXJkLXBvcnQiOiJUaGluZ3NCb2FyZOmAo+aOpeWfoCIsInRoaW5nc2JvYXJkLXBvcnQtbWF4Ijoi5pyA5aSn5Z+g6Jmf54K6IDY1NTM144CCIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiLmnIDlsI/ln6DomZ/ngrox44CCIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoi6YCj5o6l5Z+g54Sh5pWI44CCIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6IumcgOimgemAo+aOpeWfoOOAgiIsdGlkeToi5pW055CGIiwidGlkeS10aXAiOiLmlbTnkIbphY3nva5KU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoi6YCj5o6l5Zmoe3t0eXBlTmFtZX196YWN572uIiwidGxzLXBhdGgtY2EtY2VydGlmaWNhdGUiOiLplpjpgZPkuIpDQeitieabuOeahOi3r+W+kSIsInRscy1wYXRoLWNsaWVudC1jZXJ0aWZpY2F0ZSI6IumWmOmBk+S4iueUqOaItuerr+aGkeaTmueahOi3r+W+kSIsInRscy1wYXRoLXByaXZhdGUta2V5Ijoi6ZaY6YGT5LiK55qE56eB6ZGw6Lev5b6RIiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiLliIfmj5vlhajonqLluZUiLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IumFjee9rkpTT04qIiwidXBkYXRlLWNvbmZpZyI6IuWinuWKoC/mm7TmlrDphY3nva5KU09OIn07Y29uc3QgWG89W2NhLHBhLEZhLERhLEFhLE5hLFBhLGVvLEVvLGlvLGFvLG9vLHFvLHRvLEdvLG5vXTtjbGFzcyBab3tjb25zdHJ1Y3RvcihlKXt0aGlzLnRyYW5zbGF0ZT1lLGZ1bmN0aW9uKGUpe2Uuc2V0VHJhbnNsYXRpb24oImVuX1VTIixPbywhMCksZS5zZXRUcmFuc2xhdGlvbigiYXJfQUUiLFJvLCEwKSxlLnNldFRyYW5zbGF0aW9uKCJjYV9FUyIsVm8sITApLGUuc2V0VHJhbnNsYXRpb24oImNzX0NaIixCbywhMCksZS5zZXRUcmFuc2xhdGlvbigiZGFfREsiLFVvLCEwKSxlLnNldFRyYW5zbGF0aW9uKCJlc19FUyIsX28sITApLGUuc2V0VHJhbnNsYXRpb24oImtvX0tSIixIbywhMCksZS5zZXRUcmFuc2xhdGlvbigibHRfTFQiLHpvLCEwKSxlLnNldFRyYW5zbGF0aW9uKCJubF9CRSIsV28sITApLGUuc2V0VHJhbnNsYXRpb24oInBsX1BMIixqbywhMCksZS5zZXRUcmFuc2xhdGlvbigicHRfQlIiLEtvLCEwKSxlLnNldFRyYW5zbGF0aW9uKCJzbF9TSSIsJG8sITApLGUuc2V0VHJhbnNsYXRpb24oInRyX1RSIixZbywhMCksZS5zZXRUcmFuc2xhdGlvbigiemhfQ04iLFFvLCEwKSxlLnNldFRyYW5zbGF0aW9uKCJ6aF9UVyIsSm8sITApfShlKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlpvLGRlcHM6W3t0b2tlbjpZLlRyYW5zbGF0ZVNlcnZpY2V9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5OZ01vZHVsZX0pfXN0YXRpY3t0aGlzLsm1bW9kPXQuybXJtW5nRGVjbGFyZU5nTW9kdWxlKHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlpvLGRlY2xhcmF0aW9uczpbY2EscGEsRmEsRGEsQWEsTmEsUGEsZW8sRW8saW8sYW8sb28scW8sdG8sR28sbm9dLGltcG9ydHM6W0gsRCxRLE1hLEVhLHFhLHZhLElhLExvLGtvLEZvLHBvLEFvLE5vLGdvLFRhLERvLFBvLGthLENhLFNhXSxleHBvcnRzOltjYSxwYSxGYSxEYSxBYSxOYSxQYSxlbyxFbyxpbyxhbyxvbyxxbyx0byxHbyxub119KX1zdGF0aWN7dGhpcy7JtWluaj10Lsm1ybVuZ0RlY2xhcmVJbmplY3Rvcih7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpabyxwcm92aWRlcnM6W3ZhXSxpbXBvcnRzOltILEQsUSxNYSxFYSxxYSxJYSxMbyxrbyxGbyxwbyxBbyxObyxnbyxEbyxQb119KX19ZSgiR2F0ZXdheUV4dGVuc2lvbk1vZHVsZSIsWm8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Wm8sZGVjb3JhdG9yczpbe3R5cGU6dSxhcmdzOlt7ZGVjbGFyYXRpb25zOlhvLGltcG9ydHM6W0gsRCxRLE1hLEVhLHFhLHZhLElhLExvLGtvLEZvLHBvLEFvLE5vLGdvLFRhLERvLFBvLGthLENhLFNhXSxleHBvcnRzOlhvLHByb3ZpZGVyczpbdmFdfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOlkuVHJhbnNsYXRlU2VydmljZX1dfSl9fX0pKTsvLyMgc291cmNlTWFwcGluZ1VSTD1nYXRld2F5LW1hbmFnZW1lbnQtZXh0ZW5zaW9uLmpzLm1hcAo=",
- "public": false
- },
- {
- "link": "/api/images/system/gateway_configuration_system_widget_image.png",
- "title": "\"Gateway Configuration\" system widget image",
- "type": "IMAGE",
- "subType": "IMAGE",
- "fileName": "gateway_configuration_system_widget_image.png",
- "publicResourceKey": "HLrySB6jG2CRgGO5uLimJc2zrTeFN1Fu",
- "mediaType": "image/png",
- "data": "iVBORw0KGgoAAAANSUhEUgAAAMgAAACgCAIAAADGnbT+AAAABmJLR0QA/wD/AP+gvaeTAAAR50lEQVR42u2dh3MURxaH9SedfXcuXwJjsg1lwMacoeBIJicTTDIgEBlEEDknk7NBJoPIGYQAkRFCRJEFGElg733sM13D7Gq1rNZY4fcrFdXTM9PT0/3t69c9w7yEQCDw8uXL3Nzc69evX5OkEgiEAKmwsBCoEqAqJyfnyZMnr169CkhSCQRCgAROQJUAYmyoUaR4CZyAKgHzJVslxdduAVUCQ6PaQoqvgEpgSX8qWL9JUlBxA8uK+1WSgooGr2LAcki9CuplUIVShZT1vpFQLF7Fg2VUUWJBQUF+fv6LN/pFqjBynQ4AYGB4GVuxgOWoglZDinSUQ6xU/kTXA4DhBRKR2SoeLPCkILAlocaVwAAYQIJELGA5c4Xpe/78OQupalPJdOfOHZAAjAhGqxiwzFyxQm+PFSUJAQNIRDZaxYPFmPrw4UO1puQVSABG7GDBpsCSigILPEoE1oMHD9SUklcgUVKwmAIILCkULMAQWJLAkgSWJLAEliSwJIElCSyBJQksSWBJAuv9gXXy5MmfihAPxnnpggT/X9Z31pYtW9LT010J27ZtszRHcvy9e/e8B1MxMvn/a97M06dPL168eN68edu3b+cAX/m3b9/mlLlz565bt85bGme56u3cuTMzM5N7951LnX/++WfOXbt2bVEvEVEO1/Vl3rp1yxW+efPmU6dOeSt26dIl27Vx48aDBw+WlceyfxpY06dP/+8bVa5c+bPPPnOb2dnZN2/erFSpEq3sO6tBgwajRo2y9MiRI7/66itLcyTH9+rVy3swbwWRSWfbJlX94YcfuFbjxo27dOlSp06devXq0dPueGCqWrUqFejWrVvDhg2rV6/uzp08eTInWvWoA+nmzZt76Tl69Ojnn39erVq1li1b1q5du0qVKqtXrw5tsSZNmnAud+fN37VrF/X88ssvKZw74ty6deu63ww/A/Y2atSIvZ8GlZyczKtOAqt40R8zZ8705sQGlu8UH1jTpk2jVyDAGRjwokDrpBs3bnzyySfgbq3AG2opKSnkmNUErFq1armSQZ++HzJkiG3evXu3Ro0aAwYM4LErmzQLdotLHzt2zGeuoKp+/fqzZ88OBevy5cu2+fTp0z59+oCXgWtgWcnUCqPFpfmFCKz3B1arVq1odDdYeMGCnpo1aw4fPtxbGiMaZsa6nwGOg69cueL2Ug57GYNCwUJ0bbNmzZw9A6zHjx97G4e9Xbt29Z5ChTt06LBgwQKMk/eTBT6wENUgh3wfWCbYIuf48eMxNzgtE8OuigsW3gkoDBw4MBSss2fPkk5LSyuqDvQr5mTSpElhv1LhA4t3IxmY+vXrZ5swFGpCMFoYPDdm0UqQzWiLG8eFDh8+HAGsrKwscnAow4JFy/P7GTduXGytvXXr1t69e584cSJ0V0ZGBrtSU1PLOViDBg368W3RuxHAYjgDIxK7d+/2gbVv3z7S4BWhGqBAlzdt2pQLUZQPLNyv6UExROKltWjRAkRsL04VB/hKs5q4Y9ikBPtoT+fOnbm1CEMhvYsJNNMbChZq166dz6GMXlyOc0PZMqrYBXnlHCwswXdvi76JDBa16tGjB35MXl6eFyxsFWlmWHb8kiVLBr4RI4t3cBw2bBidysHdu3d3M0q4wemx4/v27YsrDX/nz5+3vezyuU0OF9d0nTp1clZtw4YNDjJ3JDfbunVr/mUX9XcmLSxY1I0CY27wULbiS1V5GwrNzGAkGHRGjBjhBQuPhLTz3Dke28PAR+aKFSt8V+GOGIaghxHHbs03FDJcMg4yc7Rx84svvhgzZoyvEBYdKNysDjMAbOHChQsvBEVl2Fy1apUXrDlz5uDPrVmzBrCwna6csGCBdQn9d8cWlcGFiC9V5RMsRPewST85sJhh0ZfLly/3rTw5sC5evIi58t05e637Q5137xWZXbZv395X1fHjx7OiYctd3F2lEDHVCDsUgjsm0zVpKFjPnj0DPjAtYd+DkbEVd6rKLVhUjJEC18e73IBng43xrgB5waI07JO3/x49ehQBLHPIbCXTjNOZM2fcXvwkrm5VxaoxDWTxyXu6+XzQHAoWs0vOHTt2bFFgTZgwgTU2572V3G7FnapyCxbCPaL1vWDRc1gClgBYT7p///65c+cwKs7Tv3r1Kntx4xgXWHPHetHcDKm2mGkLCjaQcQDePZtDhw51I2ObNm2oG6vqLHEBTdu2bcHU1u5tdcC7EmuncACIhJ0VsiTBjJK5oQPrdFDM1/Dw2LVp06Z4EbA1KK1jRQuWeehesOzxCGBhaWwwwlN2C9w2GgIW3WZ7Gd1waZ3z7oYwVllZQMdiea0Ixo/6MEJxAOUzgXDPo1g4ZW0itHGhirGSBgwFiyblqQAjlAPLisWppzQfo1ogLS0CCMDFU4mwl5WqGErm/2cyQvkc7Yopvd0gCSxJYEkCS2BJAksSWJLAEliSwJIEliSwBJYksCSBJQksgSUJLElgSQJLYEkCSxJYksASWJLAkgSWJLAEliSwJIElCSyBJQksSWBJAktgSQJLEliSwBJYksCSBJYksASWJLAkgSUJrD8WLL6MzWeD+dj/3r17SatLBFYcwOJr2Hz1umfPnnwvny+YE3Vtx44d0ZzIZ9ktOJYksPziE/58aJ+wDnZh/iXqGjneoIFFiQ+7EwFL/Sewwoiv8vONfG98QAok+BGRcFwOwR2IAEAoAOyT+zI7VBHbDQRJQKc7l5CWy5YtI2qDiyRABIADBw640ghI5A1MQkgwdzoBTrgEF+JypC1zz549Lq5TIBi8mSu6qF0mQgeQSTAmImktXbqUyF6+AZ1LEDeFwCoE9HKRpIntw1mEKCOMBWdRZ+6Ovfv37w9bCO1AJoUcOnSIr8kLrEgi9HLkSEOEYGBwZJQkxEj//v0ZMS2K6YwZMwibC1gk6AmjCtQokBhahK7AmBGYJBCMJtKxY0cqaRUmYIQLFEhHUoJxg40k0BIBwwgDkZiYSNoCjcIZkSxcR0It8dx8kTKJ20u8k6SkpMGDB8+aNYtKEt7C/QaghAqQT3hzgvlMnTrVWpnqcRYRvKg2MYU5hutOnDiRcjiYaCtc1xHMj4HQQNwXd0c+DRIa6lxg/S56i5blVxjhGOJgEVXGcUDjuiAovqGQIDbsdWFn6RsLf8oPnatYYEFiitC1wAQKbGJgKAF7Q3r+/PlTpkyx++eOgMPihAEcpxujCC8QxH2VNLDocjvdNg13zBjVOHLkiB1Jgl0WXMnActYUW8umqwMnUjeiCQeCQYf5PbjrEiOIXa5MgeUXMUVoSgcKQZFmvJE3+o1dCEMFInSSa18fWAR75kS3ad3GQEMaE4XrRoLxiHCVRLwxrx9bEhpkECPBhSiNPrZLYykteiA9SpkWrysUrPT0dJeDwfP9YPgV0UTEd+VIG4uthu6XwF4vZwijZYHHKNl7JMJa++LjCay3TmeYc0EomeWtDur7779nRLBMeCJ4E4fRVVDF/LEosBih2oTIqr1y5UpgCgTDg2MYoMrCPDFyOayxW5hGxiNMGmaJhIGFWAdhhIUMEniEoW0UChbHW4hyhLEEU8wkVofTOdJCLPnAwqtj0xsomoOtcZg4h94ao6fAKlJ0LYHdfJn0ugNr9OjRMOHcWAJfFQUW2DH8XXtbFmgJ35kjGdQAlPBJeM1sEoaJznY+PtFWMWwuAiBOjAPLuIEDvB8YDb2LCGDRLAzQ/FqsJvj+MYDF8p5ZSu+t2WgusMKLIY/eJcBfWLAomb143+5ytLUDC8PjBYsJJgOE9wbMYbdhCIMHoLjJbigh3adPH3cw7vb69evdJmGhHViBYPw6UHMmMHqwmBmwy80xiT8YA1jm53nLd7cmsMKLc+ljC0vMqIcVASMGo0WLFjlnmT7m6vg3GCTa1wVLxjs2r5xYpm5JjDkm5g0/CSPBJMtNnRg4OJi1A9vEAWLT64YzH2SgxLvHhjExZK+zmja1JAd7GfYuIoBFtakVzhwA4VphFDnS4ntHDxbtjOXGQ6AEhmxMF81CiwmsSHLOjbkOTMdYL3W/SHqaRiQf74qZP+2Lv+JOBAV2OQoxD7S+lUMXuoD1gWCcXDrYzd6hxzvXCwTjblqvYwVx8DFXXnvGJIB85za9k49F8FK7O4wiy2ZUw6Ym0YMVCAYC5rdBHTiG0lj1KP1LWaXiITQrQ5RAx4etAY0eth25OtNy7y5OJ8e3gBm9sJreiNFedAAi5hjM1JBahb21dxLtzIy1TIyDAb3dUKy4R1t01VMagRU3MYYyrjGzs7jfksCKjxgEmSUwkAkUgSUJLElgCSxJYEkCSxJY8QXrwoUL9tYecy7e87RVTcohba+78HDGpXlyTNreniPN4zZ7j4qVa/KpAGkWMMnnMXMg+LiXtD36ZZ2dhyG2rpiTk0O+ranyvIV8S3ODpO0NPlYWeL/FHgfxzgVpaxee2fFuj6V5JMBDJEvzjMW9hnohKEvzuMneseEwDuAUS1OIvXtNmsK5RCC4WkbaFjWoBpWxNqd6pKmqpak8txAIPg0j3x6ic5vkc8subWu5NAuNY4v7NBf5NJ2lybc0a/qk7TE/XUDaupKuIW3TYRao3U3JYkkaCiWBJbCk9wcWbo3AkkLBAoySgoWXV1aeukvvQbwkAhIlAoupioFlsxVJQrwVbGCBR+xgMcVldpqamhr2ZSapogkeeM8RJEjEDhaLLvDEEgj/0YBXfkFVY2KFFV0PAGAADCABGODxzmB5jRZLl7wKzH924wVi3hn/UaqQousBAAyAASQimKuowHJGi+JYYj4rVWABABgUa66KAcvLFmaQZwVwmvdGT6QKI9fpAAAGwBCZqqjAcmyhl0EVShVS1vtGglEVO1g+vCSpWKTeASwvXpIUDS3vAJYkRS+BJQmscqeMSzert0v+oFHiX74uA3/Us1rb5H0nLwus0k7VB40Glwmk3sLr60RqLrBKr7BVZY4q+6vZbpzAKr0qKyNg2D+BVXpVdqkSWAJLYAksgSUJLIElsASWwBJYksASWAJLYAms6P7+2Wz4374ZIrCk+ID1YaPBk5ftePD49Wd5eIsz7diF2h3HCyyppGBNXLyNEzfuOdVj7PJxi7Y++6Ug68a9v/4ZpktglSuwTpzLfpFf6B4yTl2x68mzF037zSL9UZOkfimrZ6xMGzpr439ajCTnmz4zkmZuqNJ6tB3cddSSQVPXWbpul5QJP25LXrilYc9pAktgJabuzeDEMfM3f9RkqDf/X/8bfjH7Tn7BS8h7/qLg7oO8T78d02bI6yCjI+akcgAO2dPn+XtPXCTdbfTSgsJXjKe5D/Nevvq194SVAquig1WjXfLF7NcR5x7lPZ+7dq9zsL4dPP9QxpUOwxaR7jRiMQdgt3DIQGd/+mU7gMz+k9f8vXHSwyfPMy7dAE3G0OOZ16AwhvcsBFZ5mxWCS9fRSw+euhL8f1O/MZxZ/j+aDuubsnrK8p1rdryOHDZ9ZRqZizYexDgxhVy44QD2DMPWfMAc9m4/nMkoyV/a0ddRj6u3TRZYWm74/a9B9ymZV2+BV53OE2t1GI/huZX7eOmmw16wmvSdSRpPP+vm/W0Hzzp7djP3UeaVW+6vXrdJAqvigvXv5iPAaN/JSy4nZcl2ysGXYg2CRMOeUw04BxZ/128/OH4u2/Bis953k0nPW7/PFRLbpFJglSuLteXAGdgCC9wpBr7b9x7jklduOWrsgtfRr2eu3t02aSGjJOnZa/bYKTNX7Wbz2S/55u/jTh05k8WwOHx2aqvEecs2Hzl6Nks+VkUH6+OmwxanHgImK+F81u2WA+daPjO+wOvvfv/GUMi/W4MDH3/1gyZqw+50V0jVNmN3HD7H+ir5DKC9xq2QxZKPlWhrB0wP8dZ9+ZVajPw4JLOoP6aH+OwfxvrfhARWuXXe9RBaEliSwBJYAktgSQJLElgCS2AJLElgSe9FZfejINRcYJVeVWtbVj9jVKv9eIFVesWn8T4om+bqjD68VsrFp/H4iFnZslXRUCWwpD9KAksSWJLAkgSWwJIEllSGwLp+/TqBwtQWUrwETkCVkJubS7BDNYcULxGKHKgSiHGYk5MDW7JbUsltFSCBE4kEtomcCWKYr2uSVAKBECCZhfo//w/mIKeOaZ4AAAAASUVORK5CYII=",
- "public": true
- }
]
}
\ No newline at end of file
diff --git a/application/src/main/data/json/system/widget_types/gateway_configuration__single_device_.json b/application/src/main/data/json/system/widget_types/gateway_configuration__single_device_.json
index 9e351fa8df..a02c0112a3 100644
--- a/application/src/main/data/json/system/widget_types/gateway_configuration__single_device_.json
+++ b/application/src/main/data/json/system/widget_types/gateway_configuration__single_device_.json
@@ -22,6 +22,7 @@
"settingsDirective": "tb-gateway-config-single-device-widget-settings",
"defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"function\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Random\",\"color\":\"#2196f3\",\"settings\":{},\"_hash\":0.15479322438769105,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nvar multiplier = Math.pow(10, 2 || 0);\\nvar value = Math.round(value * multiplier) / multiplier;\\nif (value < -1000) {\\n\\tvalue = -1000;\\n} else if (value > 1000) {\\n\\tvalue = 1000;\\n}\\nreturn value;\"}]}],\"timewindow\":{\"realtime\":{\"timewindowMs\":60000}},\"showTitle\":true,\"backgroundColor\":\"#fff\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"8px\",\"settings\":{\"gatewayTitle\":\"Gateway configuration (Single device)\"},\"title\":\"Gateway configuration (Single device)\"}"
},
+ "externalId": null,
"tags": [
"router",
"bridge",
@@ -40,28 +41,5 @@
"ocpp",
"ble",
"bluetooth"
- ],
- "resources": [
- {
- "link": "/api/resource/js_module/system/gateway-management-extension.js",
- "title": "gateway-management-extension.js",
- "type": "JS_MODULE",
- "resourceKey": "gateway-management-extension.js",
- "fileName": "gateway-management-extension.js",
- "mediaType": "application/javascript",
- "data": "U3lzdGVtLnJlZ2lzdGVyKFsiQGFuZ3VsYXIvY29yZSIsIkBhbmd1bGFyL21hdGVyaWFsL3NvcnQiLCJAYW5ndWxhci9tYXRlcmlhbC90YWJsZSIsIkBhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvciIsIkBzaGFyZWQvcHVibGljLWFwaSIsIkBhbmd1bGFyL2NvbW1vbiIsIkBhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXIiLCJAYW5ndWxhci9tYXRlcmlhbC90YWJzIiwiQGFuZ3VsYXIvZmxleC1sYXlvdXQvZmxleCIsIkBhbmd1bGFyL2ZsZXgtbGF5b3V0L2V4dGVuZGVkIiwiQG5neC10cmFuc2xhdGUvY29yZSIsIkBjb3JlL3B1YmxpYy1hcGkiLCJAYW5ndWxhci9mb3JtcyIsIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvbiIsIkBhbmd1bGFyL21hdGVyaWFsL2NhcmQiLCJAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCIsIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQiLCJAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QiLCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlIiwicnhqcyIsInJ4anMvb3BlcmF0b3JzIiwidHNsaWIiLCJAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwIiwiQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zIiwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbiIsIkBhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbiIsIkBzaGFyZWQvZGlyZWN0aXZlcy90cnVuY2F0ZS13aXRoLXRvb2x0aXAuZGlyZWN0aXZlIiwiQHNoYXJlZC9jb21wb25lbnRzL2RpYWxvZy9qc29uLW9iamVjdC1lZGl0LWRpYWxvZy5jb21wb25lbnQiLCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2ciLCJAc2hhcmVkL2NvbXBvbmVudHMvZGlyZWN0aXZlcy90Yi1qc29uLXRvLXN0cmluZy5kaXJlY3RpdmUiLCJAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUiLCJAc2hhcmVkL2NvbXBvbmVudHMvYnV0dG9uL3RvZ2dsZS1wYXNzd29yZC5jb21wb25lbnQiLCJAc2hhcmVkL2NvbXBvbmVudHMvdG9nZ2xlLWhlYWRlci5jb21wb25lbnQiLCJAc2hhcmVkL2NvbXBvbmVudHMvdG9nZ2xlLXNlbGVjdC5jb21wb25lbnQiLCJAbmdyeC9zdG9yZSIsIkBhbmd1bGFyL3JvdXRlciIsIkBhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXIiLCJAc2hhcmVkL2NvbXBvbmVudHMvanNvbi1jb250ZW50LmNvbXBvbmVudCIsIkBzaGFyZWQvaW1wb3J0LWV4cG9ydC9pbXBvcnQtZXhwb3J0LnNlcnZpY2UiLCJAc2hhcmVkL2NvbXBvbmVudHMvdG9hc3QuZGlyZWN0aXZlIiwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3giLCJAc2hhcmVkL2NvbXBvbmVudHMvZW50aXR5L2VudGl0eS1nYXRld2F5LXNlbGVjdC5jb21wb25lbnQiLCJAc2hhcmVkL2NvbXBvbmVudHMvaGVscC5jb21wb25lbnQiLCJAc2hhcmVkL2NvbXBvbmVudHMvaGludC10b29sdGlwLWljb24uY29tcG9uZW50IiwiQHNoYXJlZC9jb21wb25lbnRzL2hlbHAtcG9wdXAuY29tcG9uZW50IiwiQHNoYXJlZC9jb21wb25lbnRzL3BvcG92ZXIuc2VydmljZSIsIkBhbmd1bGFyL21hdGVyaWFsL2NoaXBzIiwiQHNoYXJlZC9jb21wb25lbnRzL2ljb24uY29tcG9uZW50IiwiQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSIsIkBzaGFyZWQvZGVjb3JhdG9ycy9jb2VyY2lvbiIsIkBzaGFyZWQvY29tcG9uZW50cy9qc29uLW9iamVjdC1lZGl0LmNvbXBvbmVudCIsIkBzaGFyZWQvY29tcG9uZW50cy9tYXJrZG93bi5jb21wb25lbnQiLCJAc2hhcmVkL2NvbXBvbmVudHMvdGItZXJyb3IuY29tcG9uZW50IiwiQHNoYXJlZC9jb21wb25lbnRzL2ZpbGUtaW5wdXQuY29tcG9uZW50IiwiQHNoYXJlZC9jb21wb25lbnRzL2J1dHRvbi9jb3B5LWJ1dHRvbi5jb21wb25lbnQiXSwoZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO3ZhciB0LG4sYSxvLGkscixzLGwsYyxwLG0sZCx1LGcsZix5LGIsaCx4LHYsdyxDLFQsUyxrLEwsRixJLEEsTixNLEUscSxELFAsRyxPLFIsVixCLFUsXyxILHosVyxqLEssWSxRLEosWCxaLGVlLHRlLG5lLGFlLG9lLGllLHJlLHNlLGxlLGNlLHBlLG1lLGRlLHVlLGdlLGZlLHllLGJlLGhlLHhlLHZlLHdlLENlLFRlLFNlLGtlLExlLEZlLEllLEFlLE5lLE1lLEVlLHFlLERlLFBlLEdlLE9lLFJlLFZlLEJlLFVlLF9lLEhlLHplLFdlLGplLEtlLCRlLFllLFFlLEplLFhlLFplLGV0LHR0LG50LGF0LG90LGl0LHJ0LHN0LGx0LGN0LHB0LG10LGR0LHV0LGd0LGZ0LHl0LGJ0LGh0LHh0LHZ0LHd0LEN0LFR0LFN0O3JldHVybntzZXR0ZXJzOltmdW5jdGlvbihlKXt0PWUsbj1lLkNvbXBvbmVudCxhPWUuSW5wdXQsbz1lLlZpZXdDaGlsZCxpPWUuRXZlbnRFbWl0dGVyLHI9ZS5pbmplY3Qscz1lLkRpcmVjdGl2ZSxsPWUuT3V0cHV0LGM9ZS5QaXBlLHA9ZS5JbmplY3QsbT1lLmZvcndhcmRSZWYsZD1lLkNoYW5nZURldGVjdGlvblN0cmF0ZWd5LHU9ZS5OZ01vZHVsZX0sZnVuY3Rpb24oZSl7Zz1lLk1hdFNvcnQsZj1lfSxmdW5jdGlvbihlKXt5PWUuTWF0VGFibGVEYXRhU291cmNlLGI9ZX0sZnVuY3Rpb24oZSl7aD1lLk1hdFBhZ2luYXRvcix4PWV9LGZ1bmN0aW9uKGUpe3Y9ZS5oZWxwQmFzZVVybCx3PWUuRGlyZWN0aW9uLEM9ZS5QYWdlTGluayxUPWUuRGF0YUtleVR5cGUsUz1lLkxlZ2VuZFBvc2l0aW9uLGs9ZS5OVUxMX1VVSUQsTD1lLkF0dHJpYnV0ZVNjb3BlLEY9ZS5EYXRhc291cmNlVHlwZSxJPWUuRW50aXR5VHlwZSxBPWUud2lkZ2V0VHlwZSxOPWUuY29lcmNlQm9vbGVhbixNPWUuZW1wdHlQYWdlRGF0YSxFPWUuaXNDbGllbnRTaWRlVGVsZW1ldHJ5VHlwZSxxPWUuVGVsZW1ldHJ5U3Vic2NyaWJlcixEPWUuU2hhcmVkTW9kdWxlLFA9ZS5EaWFsb2dDb21wb25lbnQsRz1lLkNvbnRlbnRUeXBlLE89ZS5QYWdlQ29tcG9uZW50LFI9ZS5UYlRhYmxlRGF0YXNvdXJjZSxWPWUuSE9VUixCPWUuY29lcmNlTnVtYmVyLFU9ZS5EZXZpY2VDcmVkZW50aWFsc1R5cGV9LGZ1bmN0aW9uKGUpe189ZSxIPWUuQ29tbW9uTW9kdWxlfSxmdW5jdGlvbihlKXt6PWV9LGZ1bmN0aW9uKGUpe1c9ZX0sZnVuY3Rpb24oZSl7aj1lfSxmdW5jdGlvbihlKXtLPWV9LGZ1bmN0aW9uKGUpe1k9ZSxRPWUuVHJhbnNsYXRlTW9kdWxlfSxmdW5jdGlvbihlKXtKPWUuZGVlcENsb25lLFg9ZSxaPWUuZGVsZXRlTnVsbFByb3BlcnRpZXMsZWU9ZS5pc0VxdWFsLHRlPWUuaXNOdW1iZXIsbmU9ZS5pc1N0cmluZyxhZT1lLldJTkRPVyxvZT1lLmlzTGl0ZXJhbE9iamVjdCxpZT1lLmlzRGVmaW5lZEFuZE5vdE51bGwscmU9ZS5pc1VuZGVmaW5lZE9yTnVsbCxzZT1lLmdlbmVyYXRlU2VjcmV0LGxlPWUuaXNPYmplY3QsY2U9ZS5jYW1lbENhc2UscGU9ZS5kZWVwVHJpbX0sZnVuY3Rpb24oZSl7bWU9ZSxkZT1lLkZvcm1CdWlsZGVyLHVlPWUuVmFsaWRhdG9ycyxnZT1lLk5HX1ZBTFVFX0FDQ0VTU09SLGZlPWUuTkdfVkFMSURBVE9SUyx5ZT1lLkZvcm1Db250cm9sfSxmdW5jdGlvbihlKXtiZT1lfSxmdW5jdGlvbihlKXtoZT1lfSxmdW5jdGlvbihlKXt4ZT1lfSxmdW5jdGlvbihlKXt2ZT1lfSxmdW5jdGlvbihlKXt3ZT1lfSxmdW5jdGlvbihlKXtDZT1lLFRlPWUuRXJyb3JTdGF0ZU1hdGNoZXJ9LGZ1bmN0aW9uKGUpe1NlPWUuU3ViamVjdCxrZT1lLmZyb21FdmVudCxMZT1lLkJlaGF2aW9yU3ViamVjdCxGZT1lLlJlcGxheVN1YmplY3QsSWU9ZS5vZixBZT1lLmZvcmtKb2lufSxmdW5jdGlvbihlKXtOZT1lLnRha2VVbnRpbCxNZT1lLmZpbHRlcixFZT1lLnRhcCxxZT1lLmNhdGNoRXJyb3IsRGU9ZS5tYXAsUGU9ZS5wdWJsaXNoUmVwbGF5LEdlPWUucmVmQ291bnQsT2U9ZS50YWtlLFJlPWUuc3RhcnRXaXRoLFZlPWUuZGVib3VuY2VUaW1lLEJlPWUuZGlzdGluY3RVbnRpbENoYW5nZWQsVWU9ZS5zd2l0Y2hNYXAsX2U9ZS5tZXJnZU1hcH0sZnVuY3Rpb24oZSl7SGU9ZS5fX2RlY29yYXRlfSxmdW5jdGlvbihlKXt6ZT1lLFdlPWUuTWF0VG9vbHRpcH0sZnVuY3Rpb24oZSl7amU9ZS5TZWxlY3Rpb25Nb2RlbH0sZnVuY3Rpb24oZSl7S2U9ZX0sZnVuY3Rpb24oZSl7JGU9ZX0sZnVuY3Rpb24oZSl7WWU9ZX0sZnVuY3Rpb24oZSl7UWU9ZS5Kc29uT2JqZWN0RWRpdERpYWxvZ0NvbXBvbmVudH0sZnVuY3Rpb24oZSl7SmU9ZSxYZT1lLk1BVF9ESUFMT0dfREFUQX0sZnVuY3Rpb24oZSl7WmU9ZX0sZnVuY3Rpb24oZSl7ZXQ9ZX0sZnVuY3Rpb24oZSl7dHQ9ZX0sZnVuY3Rpb24oZSl7bnQ9ZX0sZnVuY3Rpb24oZSl7YXQ9ZX0sZnVuY3Rpb24oZSl7b3Q9ZX0sZnVuY3Rpb24oZSl7aXQ9ZX0sZnVuY3Rpb24oZSl7cnQ9ZX0sZnVuY3Rpb24oZSl7c3Q9ZX0sZnVuY3Rpb24oZSl7bHQ9ZX0sZnVuY3Rpb24oZSl7Y3Q9ZX0sZnVuY3Rpb24oZSl7cHQ9ZX0sZnVuY3Rpb24oZSl7bXQ9ZX0sZnVuY3Rpb24oZSl7ZHQ9ZX0sZnVuY3Rpb24oZSl7dXQ9ZX0sZnVuY3Rpb24oZSl7Z3Q9ZX0sZnVuY3Rpb24oZSl7ZnQ9ZX0sZnVuY3Rpb24oZSl7eXQ9ZX0sZnVuY3Rpb24oZSl7YnQ9ZX0sZnVuY3Rpb24oZSl7aHQ9ZX0sZnVuY3Rpb24oZSl7eHQ9ZS5jb2VyY2VCb29sZWFufSxmdW5jdGlvbihlKXt2dD1lfSxmdW5jdGlvbihlKXt3dD1lfSxmdW5jdGlvbihlKXtDdD1lfSxmdW5jdGlvbihlKXtUdD1lfSxmdW5jdGlvbihlKXtTdD1lfV0sZXhlY3V0ZTpmdW5jdGlvbigpe2NvbnN0IGt0PWUoIm5vTGVhZFRyYWlsU3BhY2VzUmVnZXgiLC9eXFMrKD86IFxTKykqJC8pLEx0PWUoImludGVnZXJSZWdleCIsL15bLStdP1xkKyQvKSxGdD1lKCJub25aZXJvRmxvYXQiLC9eLT8oPyEwKFwuMCspPyQpXGQrKFwuXGQrKT8kLyksSXQ9ZSgianNvblJlcXVpcmVkIiwoZT0+ZS52YWx1ZT9udWxsOntyZXF1aXJlZDohMH0pKTt2YXIgQXQsTnQsTXQsRXQ7ZSgiU3RvcmFnZVR5cGVzIixBdCksZnVuY3Rpb24oZSl7ZS5NRU1PUlk9Im1lbW9yeSIsZS5GSUxFPSJmaWxlIixlLlNRTElURT0ic3FsaXRlIn0oQXR8fGUoIlN0b3JhZ2VUeXBlcyIsQXQ9e30pKSxlKCJEZXZpY2VHYXRld2F5U3RhdHVzIixOdCksZnVuY3Rpb24oZSl7ZS5FWENFUFRJT049IkVYQ0VQVElPTiJ9KE50fHxlKCJEZXZpY2VHYXRld2F5U3RhdHVzIixOdD17fSkpLGUoIkdhdGV3YXlMb2dMZXZlbCIsTXQpLGZ1bmN0aW9uKGUpe2UuTk9ORT0iTk9ORSIsZS5DUklUSUNBTD0iQ1JJVElDQUwiLGUuRVJST1I9IkVSUk9SIixlLldBUk5JTkc9IldBUk5JTkciLGUuSU5GTz0iSU5GTyIsZS5ERUJVRz0iREVCVUciLGUuVFJBQ0U9IlRSQUNFIn0oTXR8fGUoIkdhdGV3YXlMb2dMZXZlbCIsTXQ9e30pKSxlKCJQb3J0TGltaXRzIixFdCksZnVuY3Rpb24oZSl7ZVtlLk1JTj0xXT0iTUlOIixlW2UuTUFYPTY1NTM1XT0iTUFYIn0oRXR8fGUoIlBvcnRMaW1pdHMiLEV0PXt9KSk7Y29uc3QgcXQ9ZSgiR2F0ZXdheVN0YXR1cyIsey4uLk10LC4uLk50fSk7dmFyIER0LFB0O2UoIkxvZ1NhdmluZ1BlcmlvZCIsRHQpLGZ1bmN0aW9uKGUpe2UuZGF5cz0iRCIsZS5ob3Vycz0iSCIsZS5taW51dGVzPSJNIixlLnNlY29uZHM9IlMifShEdHx8ZSgiTG9nU2F2aW5nUGVyaW9kIixEdD17fSkpLGUoIkxvY2FsTG9nc0NvbmZpZ3MiLFB0KSxmdW5jdGlvbihlKXtlLnNlcnZpY2U9InNlcnZpY2UiLGUuY29ubmVjdG9yPSJjb25uZWN0b3IiLGUuY29udmVydGVyPSJjb252ZXJ0ZXIiLGUudGJfY29ubmVjdGlvbj0idGJfY29ubmVjdGlvbiIsZS5zdG9yYWdlPSJzdG9yYWdlIixlLmV4dGVuc2lvbj0iZXh0ZW5zaW9uIn0oUHR8fGUoIkxvY2FsTG9nc0NvbmZpZ3MiLFB0PXt9KSk7Y29uc3QgR3Q9ZSgiTG9jYWxMb2dzQ29uZmlnVHJhbnNsYXRlTWFwIixuZXcgTWFwKFtbUHQuc2VydmljZSwiU2VydmljZSJdLFtQdC5jb25uZWN0b3IsIkNvbm5lY3RvciJdLFtQdC5jb252ZXJ0ZXIsIkNvbnZlcnRlciJdLFtQdC50Yl9jb25uZWN0aW9uLCJUQiBDb25uZWN0aW9uIl0sW1B0LnN0b3JhZ2UsIlN0b3JhZ2UiXSxbUHQuZXh0ZW5zaW9uLCJFeHRlbnNpb24iXV0pKSxPdD1lKCJMb2dTYXZpbmdQZXJpb2RUcmFuc2xhdGlvbnMiLG5ldyBNYXAoW1tEdC5kYXlzLCJnYXRld2F5LmxvZ3MuZGF5cyJdLFtEdC5ob3VycywiZ2F0ZXdheS5sb2dzLmhvdXJzIl0sW0R0Lm1pbnV0ZXMsImdhdGV3YXkubG9ncy5taW51dGVzIl0sW0R0LnNlY29uZHMsImdhdGV3YXkubG9ncy5zZWNvbmRzIl1dKSksUnQ9ZSgiU3RvcmFnZVR5cGVzVHJhbnNsYXRpb25NYXAiLG5ldyBNYXAoW1tBdC5NRU1PUlksImdhdGV3YXkuc3RvcmFnZS10eXBlcy5tZW1vcnktc3RvcmFnZSJdLFtBdC5GSUxFLCJnYXRld2F5LnN0b3JhZ2UtdHlwZXMuZmlsZS1zdG9yYWdlIl0sW0F0LlNRTElURSwiZ2F0ZXdheS5zdG9yYWdlLXR5cGVzLnNxbGl0ZSJdXSkpO3ZhciBWdDtlKCJTZWN1cml0eVR5cGVzIixWdCksZnVuY3Rpb24oZSl7ZS5BQ0NFU1NfVE9LRU49ImFjY2Vzc1Rva2VuIixlLlVTRVJOQU1FX1BBU1NXT1JEPSJ1c2VybmFtZVBhc3N3b3JkIixlLlRMU19BQ0NFU1NfVE9LRU49InRsc0FjY2Vzc1Rva2VuIixlLlRMU19QUklWQVRFX0tFWT0idGxzUHJpdmF0ZUtleSJ9KFZ0fHxlKCJTZWN1cml0eVR5cGVzIixWdD17fSkpO2NvbnN0IEJ0PWUoIkdlY3VyaXR5VHlwZXNUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1tWdC5BQ0NFU1NfVE9LRU4sImdhdGV3YXkuc2VjdXJpdHktdHlwZXMuYWNjZXNzLXRva2VuIl0sW1Z0LlVTRVJOQU1FX1BBU1NXT1JELCJnYXRld2F5LnNlY3VyaXR5LXR5cGVzLnVzZXJuYW1lLXBhc3N3b3JkIl0sW1Z0LlRMU19BQ0NFU1NfVE9LRU4sImdhdGV3YXkuc2VjdXJpdHktdHlwZXMudGxzLWFjY2Vzcy10b2tlbiJdXSkpO3ZhciBVdCxfdDtlKCJHYXRld2F5VmVyc2lvbiIsVXQpLGZ1bmN0aW9uKGUpe2UuQ3VycmVudD0iMy41LjIiLGUuTGVnYWN5PSJsZWdhY3kifShVdHx8ZSgiR2F0ZXdheVZlcnNpb24iLFV0PXt9KSksZSgiQ29ubmVjdG9yVHlwZSIsX3QpLGZ1bmN0aW9uKGUpe2UuTVFUVD0ibXF0dCIsZS5NT0RCVVM9Im1vZGJ1cyIsZS5HUlBDPSJncnBjIixlLk9QQ1VBPSJvcGN1YSIsZS5CTEU9ImJsZSIsZS5SRVFVRVNUPSJyZXF1ZXN0IixlLkNBTj0iY2FuIixlLkJBQ05FVD0iYmFjbmV0IixlLk9EQkM9Im9kYmMiLGUuUkVTVD0icmVzdCIsZS5TTk1QPSJzbm1wIixlLkZUUD0iZnRwIixlLlNPQ0tFVD0ic29ja2V0IixlLlhNUFA9InhtcHAiLGUuT0NQUD0ib2NwcCIsZS5DVVNUT009ImN1c3RvbSJ9KF90fHxlKCJDb25uZWN0b3JUeXBlIixfdD17fSkpO2NvbnN0IEh0PWUoIkdhdGV3YXlDb25uZWN0b3JEZWZhdWx0VHlwZXNUcmFuc2xhdGVzTWFwIixuZXcgTWFwKFtbX3QuTVFUVCwiTVFUVCJdLFtfdC5NT0RCVVMsIk1PREJVUyJdLFtfdC5HUlBDLCJHUlBDIl0sW190Lk9QQ1VBLCJPUENVQSJdLFtfdC5CTEUsIkJMRSJdLFtfdC5SRVFVRVNULCJSRVFVRVNUIl0sW190LkNBTiwiQ0FOIl0sW190LkJBQ05FVCwiQkFDTkVUIl0sW190Lk9EQkMsIk9EQkMiXSxbX3QuUkVTVCwiUkVTVCJdLFtfdC5TTk1QLCJTTk1QIl0sW190LkZUUCwiRlRQIl0sW190LlNPQ0tFVCwiU09DS0VUIl0sW190LlhNUFAsIlhNUFAiXSxbX3QuT0NQUCwiT0NQUCJdLFtfdC5DVVNUT00sIkNVU1RPTSJdXSkpLHp0PWUoIk1vZGJ1c0Z1bmN0aW9uQ29kZVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbWzEsImdhdGV3YXkuZnVuY3Rpb24tY29kZXMucmVhZC1jb2lscyJdLFsyLCJnYXRld2F5LmZ1bmN0aW9uLWNvZGVzLnJlYWQtZGlzY3JldGUtaW5wdXRzIl0sWzMsImdhdGV3YXkuZnVuY3Rpb24tY29kZXMucmVhZC1tdWx0aXBsZS1ob2xkaW5nLXJlZ2lzdGVycyJdLFs0LCJnYXRld2F5LmZ1bmN0aW9uLWNvZGVzLnJlYWQtaW5wdXQtcmVnaXN0ZXJzIl0sWzUsImdhdGV3YXkuZnVuY3Rpb24tY29kZXMud3JpdGUtc2luZ2xlLWNvaWwiXSxbNiwiZ2F0ZXdheS5mdW5jdGlvbi1jb2Rlcy53cml0ZS1zaW5nbGUtaG9sZGluZy1yZWdpc3RlciJdLFsxNSwiZ2F0ZXdheS5mdW5jdGlvbi1jb2Rlcy53cml0ZS1tdWx0aXBsZS1jb2lscyJdLFsxNiwiZ2F0ZXdheS5mdW5jdGlvbi1jb2Rlcy53cml0ZS1tdWx0aXBsZS1ob2xkaW5nLXJlZ2lzdGVycyJdXSkpO3ZhciBXdDtlKCJCQUNuZXRSZXF1ZXN0VHlwZXMiLFd0KSxmdW5jdGlvbihlKXtlLldyaXRlUHJvcGVydHk9IndyaXRlUHJvcGVydHkiLGUuUmVhZFByb3BlcnR5PSJyZWFkUHJvcGVydHkifShXdHx8ZSgiQkFDbmV0UmVxdWVzdFR5cGVzIixXdD17fSkpO2NvbnN0IGp0PWUoIkJBQ25ldFJlcXVlc3RUeXBlc1RyYW5zbGF0ZXMiLG5ldyBNYXAoW1tXdC5Xcml0ZVByb3BlcnR5LCJnYXRld2F5LnJwYy53cml0ZS1wcm9wZXJ0eSJdLFtXdC5SZWFkUHJvcGVydHksImdhdGV3YXkucnBjLnJlYWQtcHJvcGVydHkiXV0pKTt2YXIgS3Q7ZSgiQkFDbmV0T2JqZWN0VHlwZXMiLEt0KSxmdW5jdGlvbihlKXtlLkJpbmFyeUlucHV0PSJiaW5hcnlJbnB1dCIsZS5CaW5hcnlPdXRwdXQ9ImJpbmFyeU91dHB1dCIsZS5BbmFsb2dJbnB1dD0iYW5hbG9nSW5wdXQiLGUuQW5hbG9nT3V0cHV0PSJhbmFsb2dPdXRwdXQiLGUuQmluYXJ5VmFsdWU9ImJpbmFyeVZhbHVlIixlLkFuYWxvZ1ZhbHVlPSJhbmFsb2dWYWx1ZSJ9KEt0fHxlKCJCQUNuZXRPYmplY3RUeXBlcyIsS3Q9e30pKTtjb25zdCAkdD1lKCJCQUNuZXRPYmplY3RUeXBlc1RyYW5zbGF0ZXMiLG5ldyBNYXAoW1tLdC5BbmFsb2dPdXRwdXQsImdhdGV3YXkucnBjLmFuYWxvZy1vdXRwdXQiXSxbS3QuQW5hbG9nSW5wdXQsImdhdGV3YXkucnBjLmFuYWxvZy1pbnB1dCJdLFtLdC5CaW5hcnlPdXRwdXQsImdhdGV3YXkucnBjLmJpbmFyeS1vdXRwdXQiXSxbS3QuQmluYXJ5SW5wdXQsImdhdGV3YXkucnBjLmJpbmFyeS1pbnB1dCJdLFtLdC5CaW5hcnlWYWx1ZSwiZ2F0ZXdheS5ycGMuYmluYXJ5LXZhbHVlIl0sW0t0LkFuYWxvZ1ZhbHVlLCJnYXRld2F5LnJwYy5hbmFsb2ctdmFsdWUiXV0pKTt2YXIgWXQ7ZSgiQkxFTWV0aG9kcyIsWXQpLGZ1bmN0aW9uKGUpe2UuV1JJVEU9IndyaXRlIixlLlJFQUQ9InJlYWQiLGUuU0NBTj0ic2NhbiJ9KFl0fHxlKCJCTEVNZXRob2RzIixZdD17fSkpO2NvbnN0IFF0PWUoIkJMRU1ldGhvZHNUcmFuc2xhdGVzIixuZXcgTWFwKFtbWXQuV1JJVEUsImdhdGV3YXkucnBjLndyaXRlIl0sW1l0LlJFQUQsImdhdGV3YXkucnBjLnJlYWQiXSxbWXQuU0NBTiwiZ2F0ZXdheS5ycGMuc2NhbiJdXSkpO3ZhciBKdCxYdDtlKCJDQU5CeXRlT3JkZXJzIixKdCksZnVuY3Rpb24oZSl7ZS5MSVRUTEU9IkxJVFRMRSIsZS5CSUc9IkJJRyJ9KEp0fHxlKCJDQU5CeXRlT3JkZXJzIixKdD17fSkpLGUoIlNvY2tldE1ldGhvZFByb2Nlc3NpbmdzIixYdCksZnVuY3Rpb24oZSl7ZS5XUklURT0id3JpdGUifShYdHx8ZSgiU29ja2V0TWV0aG9kUHJvY2Vzc2luZ3MiLFh0PXt9KSk7Y29uc3QgWnQ9ZSgiU29ja2V0TWV0aG9kUHJvY2Vzc2luZ3NUcmFuc2xhdGVzIixuZXcgTWFwKFtbWHQuV1JJVEUsImdhdGV3YXkucnBjLndyaXRlIl1dKSk7dmFyIGVuO2UoIlNOTVBNZXRob2RzIixlbiksZnVuY3Rpb24oZSl7ZS5TRVQ9InNldCIsZS5NVUxUSVNFVD0ibXVsdGlzZXQiLGUuR0VUPSJnZXQiLGUuQlVMS1dBTEs9ImJ1bGt3YWxrIixlLlRBQkxFPSJ0YWJsZSIsZS5NVUxUSUdFVD0ibXVsdGlnZXQiLGUuR0VUTkVYVD0iZ2V0bmV4dCIsZS5CVUxLR0VUPSJidWxrZ2V0IixlLldBTEtTPSJ3YWxrIn0oZW58fGUoIlNOTVBNZXRob2RzIixlbj17fSkpO2NvbnN0IHRuPWUoIlNOTVBNZXRob2RzVHJhbnNsYXRpb25zIixuZXcgTWFwKFtbZW4uU0VULCJnYXRld2F5LnJwYy5zZXQiXSxbZW4uTVVMVElTRVQsImdhdGV3YXkucnBjLm11bHRpc2V0Il0sW2VuLkdFVCwiZ2F0ZXdheS5ycGMuZ2V0Il0sW2VuLkJVTEtXQUxLLCJnYXRld2F5LnJwYy5idWxrLXdhbGsiXSxbZW4uVEFCTEUsImdhdGV3YXkucnBjLnRhYmxlIl0sW2VuLk1VTFRJR0VULCJnYXRld2F5LnJwYy5tdWx0aS1nZXQiXSxbZW4uR0VUTkVYVCwiZ2F0ZXdheS5ycGMuZ2V0LW5leHQiXSxbZW4uQlVMS0dFVCwiZ2F0ZXdheS5ycGMuYnVsay1nZXQiXSxbZW4uV0FMS1MsImdhdGV3YXkucnBjLndhbGsiXV0pKTt2YXIgbm4sYW4sb24scm4sc24sbG47ZSgiSFRUUE1ldGhvZHMiLG5uKSxmdW5jdGlvbihlKXtlLkNPTk5FQ1Q9IkNPTk5FQ1QiLGUuREVMRVRFPSJERUxFVEUiLGUuR0VUPSJHRVQiLGUuSEVBRD0iSEVBRCIsZS5PUFRJT05TPSJPUFRJT05TIixlLlBBVENIPSJQQVRDSCIsZS5QT1NUPSJQT1NUIixlLlBVVD0iUFVUIixlLlRSQUNFPSJUUkFDRSJ9KG5ufHxlKCJIVFRQTWV0aG9kcyIsbm49e30pKSxlKCJTb2NrZXRFbmNvZGluZ3MiLGFuKSxmdW5jdGlvbihlKXtlLlVURl84PSJ1dGYtOCJ9KGFufHxlKCJTb2NrZXRFbmNvZGluZ3MiLGFuPXt9KSksZSgiQ29uZmlndXJhdGlvbk1vZGVzIixvbiksZnVuY3Rpb24oZSl7ZS5CQVNJQz0iYmFzaWMiLGUuQURWQU5DRUQ9ImFkdmFuY2VkIn0ob258fGUoIkNvbmZpZ3VyYXRpb25Nb2RlcyIsb249e30pKSxlKCJTZWN1cml0eVR5cGUiLHJuKSxmdW5jdGlvbihlKXtlLkFOT05ZTU9VUz0iYW5vbnltb3VzIixlLkJBU0lDPSJiYXNpYyIsZS5DRVJUSUZJQ0FURVM9ImNlcnRpZmljYXRlcyJ9KHJufHxlKCJTZWN1cml0eVR5cGUiLHJuPXt9KSksZSgiUmVwb3J0U3RyYXRlZ3lUeXBlIixzbiksZnVuY3Rpb24oZSl7ZS5PbkNoYW5nZT0iT05fQ0hBTkdFIixlLk9uUmVwb3J0UGVyaW9kPSJPTl9SRVBPUlRfUEVSSU9EIixlLk9uQ2hhbmdlT3JSZXBvcnRQZXJpb2Q9Ik9OX0NIQU5HRV9PUl9SRVBPUlRfUEVSSU9EIn0oc258fGUoIlJlcG9ydFN0cmF0ZWd5VHlwZSIsc249e30pKSxlKCJSZXBvcnRTdHJhdGVneURlZmF1bHRWYWx1ZSIsbG4pLGZ1bmN0aW9uKGUpe2VbZS5Db25uZWN0b3I9NmU0XT0iQ29ubmVjdG9yIixlW2UuRGV2aWNlPTNlNF09IkRldmljZSIsZVtlLktleT0xNWUzXT0iS2V5In0obG58fGUoIlJlcG9ydFN0cmF0ZWd5RGVmYXVsdFZhbHVlIixsbj17fSkpO2NvbnN0IGNuPWUoIlJlcG9ydFN0cmF0ZWd5VHlwZVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW3NuLk9uQ2hhbmdlLCJnYXRld2F5LnJlcG9ydC1zdHJhdGVneS5vbi1jaGFuZ2UiXSxbc24uT25SZXBvcnRQZXJpb2QsImdhdGV3YXkucmVwb3J0LXN0cmF0ZWd5Lm9uLXJlcG9ydC1wZXJpb2QiXSxbc24uT25DaGFuZ2VPclJlcG9ydFBlcmlvZCwiZ2F0ZXdheS5yZXBvcnQtc3RyYXRlZ3kub24tY2hhbmdlLW9yLXJlcG9ydC1wZXJpb2QiXV0pKTt2YXIgcG47ZSgiTW9kZVR5cGUiLHBuKSxmdW5jdGlvbihlKXtlLk5PTkU9Ik5vbmUiLGUuU0lHTj0iU2lnbiIsZS5TSUdOQU5ERU5DUllQVD0iU2lnbkFuZEVuY3J5cHQifShwbnx8ZSgiTW9kZVR5cGUiLHBuPXt9KSk7Y29uc3QgbW49ZSgiU2VjdXJpdHlUeXBlVHJhbnNsYXRpb25zTWFwIixuZXcgTWFwKFtbcm4uQU5PTllNT1VTLCJnYXRld2F5LmJyb2tlci5zZWN1cml0eS10eXBlcy5hbm9ueW1vdXMiXSxbcm4uQkFTSUMsImdhdGV3YXkuYnJva2VyLnNlY3VyaXR5LXR5cGVzLmJhc2ljIl0sW3JuLkNFUlRJRklDQVRFUywiZ2F0ZXdheS5icm9rZXIuc2VjdXJpdHktdHlwZXMuY2VydGlmaWNhdGVzIl1dKSk7dmFyIGRuO2UoIlJlc3RTZWN1cml0eVR5cGUiLGRuKSxmdW5jdGlvbihlKXtlLkFOT05ZTU9VUz0iYW5vbnltb3VzIixlLkJBU0lDPSJiYXNpYyJ9KGRufHxlKCJSZXN0U2VjdXJpdHlUeXBlIixkbj17fSkpO2NvbnN0IHVuPWUoIlJlc3RTZWN1cml0eVR5cGVUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1tkbi5BTk9OWU1PVVMsImdhdGV3YXkuYnJva2VyLnNlY3VyaXR5LXR5cGVzLmFub255bW91cyJdLFtkbi5CQVNJQywiZ2F0ZXdheS5icm9rZXIuc2VjdXJpdHktdHlwZXMuYmFzaWMiXV0pKSxnbj1lKCJNcXR0VmVyc2lvbnMiLFt7bmFtZTozLjEsdmFsdWU6M30se25hbWU6My4xMSx2YWx1ZTo0fSx7bmFtZTo1LHZhbHVlOjV9XSk7dmFyIGZuO2UoIk1hcHBpbmdUeXBlIixmbiksZnVuY3Rpb24oZSl7ZS5EQVRBPSJkYXRhIixlLlJFUVVFU1RTPSJyZXF1ZXN0cyIsZS5PUENVQT0iT1BDdWEifShmbnx8ZSgiTWFwcGluZ1R5cGUiLGZuPXt9KSk7Y29uc3QgeW49ZSgiTWFwcGluZ1R5cGVUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1tmbi5EQVRBLCJnYXRld2F5LmRhdGEtbWFwcGluZyJdLFtmbi5SRVFVRVNUUywiZ2F0ZXdheS5yZXF1ZXN0cy1tYXBwaW5nIl0sW2ZuLk9QQ1VBLCJnYXRld2F5LmRhdGEtbWFwcGluZyJdXSkpLGJuPWUoIk1hcHBpbmdIaW50VHJhbnNsYXRpb25zTWFwIixuZXcgTWFwKFtbZm4uREFUQSwiZ2F0ZXdheS5kYXRhLW1hcHBpbmctaGludCJdLFtmbi5PUENVQSwiZ2F0ZXdheS5vcGN1YS1kYXRhLW1hcHBpbmctaGludCJdLFtmbi5SRVFVRVNUUywiZ2F0ZXdheS5yZXF1ZXN0cy1tYXBwaW5nLWhpbnQiXV0pKSxobj1lKCJIZWxwTGlua0J5TWFwcGluZ1R5cGVNYXAiLG5ldyBNYXAoW1tmbi5EQVRBLHYrIi9kb2NzL2lvdC1nYXRld2F5L2NvbmZpZy9tcXR0LyNzZWN0aW9uLW1hcHBpbmciXSxbZm4uT1BDVUEsdisiL2RvY3MvaW90LWdhdGV3YXkvY29uZmlnL29wYy11YS8jc2VjdGlvbi1tYXBwaW5nIl0sW2ZuLlJFUVVFU1RTLHYrIi9kb2NzL2lvdC1nYXRld2F5L2NvbmZpZy9tcXR0LyNyZXF1ZXN0cy1tYXBwaW5nIl1dKSkseG49ZSgiUXVhbGl0eVR5cGVzIixbMCwxLDJdKSx2bj1lKCJRdWFsaXR5VHlwZVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbWzAsImdhdGV3YXkucW9zLmF0LW1vc3Qtb25jZSJdLFsxLCJnYXRld2F5LnFvcy5hdC1sZWFzdC1vbmNlIl0sWzIsImdhdGV3YXkucW9zLmV4YWN0bHktb25jZSJdXSkpO3ZhciB3bjtlKCJDb252ZXJ0b3JUeXBlIix3biksZnVuY3Rpb24oZSl7ZS5KU09OPSJqc29uIixlLkJZVEVTPSJieXRlcyIsZS5DVVNUT009ImN1c3RvbSJ9KHdufHxlKCJDb252ZXJ0b3JUeXBlIix3bj17fSkpO2NvbnN0IENuPWUoIkNvbnZlcnRvclR5cGVUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1t3bi5KU09OLCJnYXRld2F5LkpTT04iXSxbd24uQllURVMsImdhdGV3YXkuYnl0ZXMiXSxbd24uQ1VTVE9NLCJnYXRld2F5LmN1c3RvbSJdXSkpO3ZhciBUbixTbixrbjtlKCJTb3VyY2VUeXBlIixUbiksZnVuY3Rpb24oZSl7ZS5NU0c9Im1lc3NhZ2UiLGUuVE9QSUM9InRvcGljIixlLkNPTlNUPSJjb25zdGFudCJ9KFRufHxlKCJTb3VyY2VUeXBlIixUbj17fSkpLGUoIk9QQ1VhU291cmNlVHlwZSIsU24pLGZ1bmN0aW9uKGUpe2UuUEFUSD0icGF0aCIsZS5JREVOVElGSUVSPSJpZGVudGlmaWVyIixlLkNPTlNUPSJjb25zdGFudCJ9KFNufHxlKCJPUENVYVNvdXJjZVR5cGUiLFNuPXt9KSksZSgiRGV2aWNlSW5mb1R5cGUiLGtuKSxmdW5jdGlvbihlKXtlLkZVTEw9ImZ1bGwiLGUuUEFSVElBTD0icGFydGlhbCJ9KGtufHxlKCJEZXZpY2VJbmZvVHlwZSIsa249e30pKTtjb25zdCBMbj1lKCJTb3VyY2VUeXBlVHJhbnNsYXRpb25zTWFwIixuZXcgTWFwKFtbVG4uTVNHLCJnYXRld2F5LnNvdXJjZS10eXBlLm1zZyJdLFtUbi5UT1BJQywiZ2F0ZXdheS5zb3VyY2UtdHlwZS50b3BpYyJdLFtUbi5DT05TVCwiZ2F0ZXdheS5zb3VyY2UtdHlwZS5jb25zdCJdLFtTbi5QQVRILCJnYXRld2F5LnNvdXJjZS10eXBlLnBhdGgiXSxbU24uSURFTlRJRklFUiwiZ2F0ZXdheS5zb3VyY2UtdHlwZS5pZGVudGlmaWVyIl0sW1NuLkNPTlNULCJnYXRld2F5LnNvdXJjZS10eXBlLmNvbnN0Il1dKSk7dmFyIEZuLEluO2UoIlNlcnZlclNpZGVScGNUeXBlIixGbiksZnVuY3Rpb24oZSl7ZS5XaXRoUmVzcG9uc2U9InR3b1dheSIsZS5XaXRob3V0UmVzcG9uc2U9Im9uZVdheSJ9KEZufHxlKCJTZXJ2ZXJTaWRlUnBjVHlwZSIsRm49e30pKSxlKCJSZXF1ZXN0VHlwZSIsSW4pLGZ1bmN0aW9uKGUpe2UuQ09OTkVDVF9SRVFVRVNUPSJjb25uZWN0UmVxdWVzdHMiLGUuRElTQ09OTkVDVF9SRVFVRVNUPSJkaXNjb25uZWN0UmVxdWVzdHMiLGUuQVRUUklCVVRFX1JFUVVFU1Q9ImF0dHJpYnV0ZVJlcXVlc3RzIixlLkFUVFJJQlVURV9VUERBVEU9ImF0dHJpYnV0ZVVwZGF0ZXMiLGUuU0VSVkVSX1NJREVfUlBDPSJzZXJ2ZXJTaWRlUnBjIn0oSW58fGUoIlJlcXVlc3RUeXBlIixJbj17fSkpO2NvbnN0IEFuPWUoIlJlcXVlc3RUeXBlc1RyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW0luLkNPTk5FQ1RfUkVRVUVTVCwiZ2F0ZXdheS5yZXF1ZXN0LmNvbm5lY3QtcmVxdWVzdCJdLFtJbi5ESVNDT05ORUNUX1JFUVVFU1QsImdhdGV3YXkucmVxdWVzdC5kaXNjb25uZWN0LXJlcXVlc3QiXSxbSW4uQVRUUklCVVRFX1JFUVVFU1QsImdhdGV3YXkucmVxdWVzdC5hdHRyaWJ1dGUtcmVxdWVzdCJdLFtJbi5BVFRSSUJVVEVfVVBEQVRFLCJnYXRld2F5LnJlcXVlc3QuYXR0cmlidXRlLXVwZGF0ZSJdLFtJbi5TRVJWRVJfU0lERV9SUEMsImdhdGV3YXkucmVxdWVzdC5ycGMtY29ubmVjdGlvbiJdXSkpO3ZhciBObjtlKCJNYXBwaW5nS2V5c1R5cGUiLE5uKSxmdW5jdGlvbihlKXtlLkFUVFJJQlVURVM9ImF0dHJpYnV0ZXMiLGUuVElNRVNFUklFUz0idGltZXNlcmllcyIsZS5DVVNUT009ImV4dGVuc2lvbkNvbmZpZyIsZS5SUENfTUVUSE9EUz0icnBjX21ldGhvZHMiLGUuQVRUUklCVVRFU19VUERBVEVTPSJhdHRyaWJ1dGVzX3VwZGF0ZXMifShObnx8ZSgiTWFwcGluZ0tleXNUeXBlIixObj17fSkpO2NvbnN0IE1uPWUoIk1hcHBpbmdLZXlzUGFuZWxUaXRsZVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW05uLkFUVFJJQlVURVMsImdhdGV3YXkuYXR0cmlidXRlcyJdLFtObi5USU1FU0VSSUVTLCJnYXRld2F5LnRpbWVzZXJpZXMiXSxbTm4uQ1VTVE9NLCJnYXRld2F5LmtleXMiXSxbTm4uQVRUUklCVVRFU19VUERBVEVTLCJnYXRld2F5LmF0dHJpYnV0ZS11cGRhdGVzIl0sW05uLlJQQ19NRVRIT0RTLCJnYXRld2F5LnJwYy1tZXRob2RzIl1dKSksRW49ZSgiTWFwcGluZ0tleXNBZGRLZXlUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1tObi5BVFRSSUJVVEVTLCJnYXRld2F5LmFkZC1hdHRyaWJ1dGUiXSxbTm4uVElNRVNFUklFUywiZ2F0ZXdheS5hZGQtdGltZXNlcmllcyJdLFtObi5DVVNUT00sImdhdGV3YXkuYWRkLWtleSJdLFtObi5BVFRSSUJVVEVTX1VQREFURVMsImdhdGV3YXkuYWRkLWF0dHJpYnV0ZS11cGRhdGUiXSxbTm4uUlBDX01FVEhPRFMsImdhdGV3YXkuYWRkLXJwYy1tZXRob2QiXV0pKSxxbj1lKCJNYXBwaW5nS2V5c0RlbGV0ZUtleVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW05uLkFUVFJJQlVURVMsImdhdGV3YXkuZGVsZXRlLWF0dHJpYnV0ZSJdLFtObi5USU1FU0VSSUVTLCJnYXRld2F5LmRlbGV0ZS10aW1lc2VyaWVzIl0sW05uLkNVU1RPTSwiZ2F0ZXdheS5kZWxldGUta2V5Il0sW05uLkFUVFJJQlVURVNfVVBEQVRFUywiZ2F0ZXdheS5kZWxldGUtYXR0cmlidXRlLXVwZGF0ZSJdLFtObi5SUENfTUVUSE9EUywiZ2F0ZXdheS5kZWxldGUtcnBjLW1ldGhvZCJdXSkpLERuPWUoIk1hcHBpbmdLZXlzTm9LZXlzVGV4dFRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW05uLkFUVFJJQlVURVMsImdhdGV3YXkubm8tYXR0cmlidXRlcyJdLFtObi5USU1FU0VSSUVTLCJnYXRld2F5Lm5vLXRpbWVzZXJpZXMiXSxbTm4uQ1VTVE9NLCJnYXRld2F5Lm5vLWtleXMiXSxbTm4uQVRUUklCVVRFU19VUERBVEVTLCJnYXRld2F5Lm5vLWF0dHJpYnV0ZS11cGRhdGVzIl0sW05uLlJQQ19NRVRIT0RTLCJnYXRld2F5Lm5vLXJwYy1tZXRob2RzIl1dKSk7dmFyIFBuLEduLE9uO2UoIlNlcnZlclNpZGVSUENUeXBlIixQbiksZnVuY3Rpb24oZSl7ZS5PTkVfV0FZPSJvbmVXYXkiLGUuVFdPX1dBWT0idHdvV2F5In0oUG58fGUoIlNlcnZlclNpZGVSUENUeXBlIixQbj17fSkpLGUoIk1hcHBpbmdWYWx1ZVR5cGUiLEduKSxmdW5jdGlvbihlKXtlLlNUUklORz0ic3RyaW5nIixlLklOVEVHRVI9ImludGVnZXIiLGUuRE9VQkxFPSJkb3VibGUiLGUuQk9PTEVBTj0iYm9vbGVhbiJ9KEdufHxlKCJNYXBwaW5nVmFsdWVUeXBlIixHbj17fSkpLGUoIk1vZGlmaWVyVHlwZSIsT24pLGZ1bmN0aW9uKGUpe2UuRElWSURFUj0iZGl2aWRlciIsZS5NVUxUSVBMSUVSPSJtdWx0aXBsaWVyIn0oT258fGUoIk1vZGlmaWVyVHlwZSIsT249e30pKTtjb25zdCBSbj1lKCJNb2RpZmllclR5cGVzTWFwIixuZXcgTWFwKFtbT24uRElWSURFUix7bmFtZToiZ2F0ZXdheS5kaXZpZGVyIixpY29uOiJtZGk6ZGl2aXNpb24ifV0sW09uLk1VTFRJUExJRVIse25hbWU6ImdhdGV3YXkubXVsdGlwbGllciIsaWNvbjoibWRpOm11bHRpcGxpY2F0aW9uIn1dXSkpLFZuPWUoIm1hcHBpbmdWYWx1ZVR5cGVzTWFwIixuZXcgTWFwKFtbR24uU1RSSU5HLHtuYW1lOiJ2YWx1ZS5zdHJpbmciLGljb246Im1kaTpmb3JtYXQtdGV4dCJ9XSxbR24uSU5URUdFUix7bmFtZToidmFsdWUuaW50ZWdlciIsaWNvbjoibWRpOm51bWVyaWMifV0sW0duLkRPVUJMRSx7bmFtZToidmFsdWUuZG91YmxlIixpY29uOiJtZGk6bnVtZXJpYyJ9XSxbR24uQk9PTEVBTix7bmFtZToidmFsdWUuYm9vbGVhbiIsaWNvbjoibWRpOmNoZWNrYm94LW1hcmtlZC1vdXRsaW5lIn1dXSkpLEJuPWUoIkRhdGFDb252ZXJzaW9uVHJhbnNsYXRpb25zTWFwIixuZXcgTWFwKFtbd24uSlNPTiwiZ2F0ZXdheS5KU09OLWhpbnQiXSxbd24uQllURVMsImdhdGV3YXkuYnl0ZXMtaGludCJdLFt3bi5DVVNUT00sImdhdGV3YXkuY3VzdG9tLWhpbnQiXV0pKTt2YXIgVW47ZSgiU2VjdXJpdHlQb2xpY3kiLFVuKSxmdW5jdGlvbihlKXtlLkJBU0lDMTI4PSJCYXNpYzEyOFJzYTE1IixlLkJBU0lDMjU2PSJCYXNpYzI1NiIsZS5CQVNJQzI1NlNIQT0iQmFzaWMyNTZTaGEyNTYifShVbnx8ZSgiU2VjdXJpdHlQb2xpY3kiLFVuPXt9KSk7Y29uc3QgX249ZSgiU2VjdXJpdHlQb2xpY3lUeXBlcyIsW3t2YWx1ZTpVbi5CQVNJQzEyOCxuYW1lOiJCYXNpYzEyOFJTQTE1In0se3ZhbHVlOlVuLkJBU0lDMjU2LG5hbWU6IkJhc2ljMjU2In0se3ZhbHVlOlVuLkJBU0lDMjU2U0hBLG5hbWU6IkJhc2ljMjU2U0hBMjU2In1dKTt2YXIgSG47ZSgiTW9kYnVzUHJvdG9jb2xUeXBlIixIbiksZnVuY3Rpb24oZSl7ZS5UQ1A9InRjcCIsZS5VRFA9InVkcCIsZS5TZXJpYWw9InNlcmlhbCJ9KEhufHxlKCJNb2RidXNQcm90b2NvbFR5cGUiLEhuPXt9KSk7Y29uc3Qgem49ZSgiTW9kYnVzUHJvdG9jb2xMYWJlbHNNYXAiLG5ldyBNYXAoW1tIbi5UQ1AsIlRDUCJdLFtIbi5VRFAsIlVEUCJdLFtIbi5TZXJpYWwsIlNlcmlhbCJdXSkpO3ZhciBXbixqbjtlKCJNb2RidXNNZXRob2RUeXBlIixXbiksZnVuY3Rpb24oZSl7ZS5TT0NLRVQ9InNvY2tldCIsZS5SVFU9InJ0dSJ9KFdufHxlKCJNb2RidXNNZXRob2RUeXBlIixXbj17fSkpLGUoIk1vZGJ1c1NlcmlhbE1ldGhvZFR5cGUiLGpuKSxmdW5jdGlvbihlKXtlLlJUVT0icnR1IixlLkFTQ0lJPSJhc2NpaSJ9KGpufHxlKCJNb2RidXNTZXJpYWxNZXRob2RUeXBlIixqbj17fSkpO2NvbnN0IEtuPWUoIk1vZGJ1c01ldGhvZExhYmVsc01hcCIsbmV3IE1hcChbW1duLlNPQ0tFVCwiU29ja2V0Il0sW1duLlJUVSwiUlRVIl0sW2puLkFTQ0lJLCJBU0NJSSJdXSkpLCRuPWUoIk1vZGJ1c0J5dGVTaXplcyIsWzUsNiw3LDhdKTt2YXIgWW47ZSgiTW9kYnVzUGFyaXR5IixZbiksZnVuY3Rpb24oZSl7ZS5FdmVuPSJFIixlLk9kZD0iTyIsZS5Ob25lPSJOIn0oWW58fGUoIk1vZGJ1c1Bhcml0eSIsWW49e30pKTtjb25zdCBRbj1lKCJNb2RidXNQYXJpdHlMYWJlbHNNYXAiLG5ldyBNYXAoW1tZbi5FdmVuLCJFdmVuIl0sW1luLk9kZCwiT2RkIl0sW1luLk5vbmUsIk5vbmUiXV0pKTt2YXIgSm4sWG47ZSgiTW9kYnVzT3JkZXJUeXBlIixKbiksZnVuY3Rpb24oZSl7ZS5CSUc9IkJJRyIsZS5MSVRUTEU9IkxJVFRMRSJ9KEpufHxlKCJNb2RidXNPcmRlclR5cGUiLEpuPXt9KSksZSgiTW9kYnVzUmVnaXN0ZXJUeXBlIixYbiksZnVuY3Rpb24oZSl7ZS5Ib2xkaW5nUmVnaXN0ZXJzPSJob2xkaW5nX3JlZ2lzdGVycyIsZS5Db2lsc0luaXRpYWxpemVyPSJjb2lsc19pbml0aWFsaXplciIsZS5JbnB1dFJlZ2lzdGVycz0iaW5wdXRfcmVnaXN0ZXJzIixlLkRpc2NyZXRlSW5wdXRzPSJkaXNjcmV0ZV9pbnB1dHMifShYbnx8ZSgiTW9kYnVzUmVnaXN0ZXJUeXBlIixYbj17fSkpO2NvbnN0IFpuPWUoIk1vZGJ1c1JlZ2lzdGVyVHJhbnNsYXRpb25zTWFwIixuZXcgTWFwKFtbWG4uSG9sZGluZ1JlZ2lzdGVycywiZ2F0ZXdheS5ob2xkaW5nX3JlZ2lzdGVycyJdLFtYbi5Db2lsc0luaXRpYWxpemVyLCJnYXRld2F5LmNvaWxzX2luaXRpYWxpemVyIl0sW1huLklucHV0UmVnaXN0ZXJzLCJnYXRld2F5LmlucHV0X3JlZ2lzdGVycyJdLFtYbi5EaXNjcmV0ZUlucHV0cywiZ2F0ZXdheS5kaXNjcmV0ZV9pbnB1dHMiXV0pKTt2YXIgZWE7ZSgiTW9kYnVzRGF0YVR5cGUiLGVhKSxmdW5jdGlvbihlKXtlLlNUUklORz0ic3RyaW5nIixlLkJZVEVTPSJieXRlcyIsZS5CSVRTPSJiaXRzIixlLklOVDg9IjhpbnQiLGUuVUlOVDg9Ijh1aW50IixlLkZMT0FUOD0iOGZsb2F0IixlLklOVDE2PSIxNmludCIsZS5VSU5UMTY9IjE2dWludCIsZS5GTE9BVDE2PSIxNmZsb2F0IixlLklOVDMyPSIzMmludCIsZS5VSU5UMzI9IjMydWludCIsZS5GTE9BVDMyPSIzMmZsb2F0IixlLklOVDY0PSI2NGludCIsZS5VSU5UNjQ9IjY0dWludCIsZS5GTE9BVDY0PSI2NGZsb2F0In0oZWF8fGUoIk1vZGJ1c0RhdGFUeXBlIixlYT17fSkpO2NvbnN0IHRhPWUoIk1vZGJ1c0VkaXRhYmxlRGF0YVR5cGVzIixbZWEuQllURVMsZWEuQklUUyxlYS5TVFJJTkddKTt2YXIgbmEsYWE7ZSgiTW9kYnVzT2JqZWN0Q291bnRCeURhdGFUeXBlIixuYSksZnVuY3Rpb24oZSl7ZVtlWyI4aW50Il09MV09IjhpbnQiLGVbZVsiOHVpbnQiXT0xXT0iOHVpbnQiLGVbZVsiOGZsb2F0Il09MV09IjhmbG9hdCIsZVtlWyIxNmludCJdPTFdPSIxNmludCIsZVtlWyIxNnVpbnQiXT0xXT0iMTZ1aW50IixlW2VbIjE2ZmxvYXQiXT0xXT0iMTZmbG9hdCIsZVtlWyIzMmludCJdPTJdPSIzMmludCIsZVtlWyIzMnVpbnQiXT0yXT0iMzJ1aW50IixlW2VbIjMyZmxvYXQiXT0yXT0iMzJmbG9hdCIsZVtlWyI2NGludCJdPTRdPSI2NGludCIsZVtlWyI2NHVpbnQiXT00XT0iNjR1aW50IixlW2VbIjY0ZmxvYXQiXT00XT0iNjRmbG9hdCJ9KG5hfHxlKCJNb2RidXNPYmplY3RDb3VudEJ5RGF0YVR5cGUiLG5hPXt9KSksZSgiTW9kYnVzVmFsdWVLZXkiLGFhKSxmdW5jdGlvbihlKXtlLkFUVFJJQlVURVM9ImF0dHJpYnV0ZXMiLGUuVElNRVNFUklFUz0idGltZXNlcmllcyIsZS5BVFRSSUJVVEVTX1VQREFURVM9ImF0dHJpYnV0ZVVwZGF0ZXMiLGUuUlBDX1JFUVVFU1RTPSJycGMifShhYXx8ZSgiTW9kYnVzVmFsdWVLZXkiLGFhPXt9KSk7Y29uc3Qgb2E9ZSgiTW9kYnVzS2V5c1BhbmVsVGl0bGVUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1thYS5BVFRSSUJVVEVTLCJnYXRld2F5LmF0dHJpYnV0ZXMiXSxbYWEuVElNRVNFUklFUywiZ2F0ZXdheS50aW1lc2VyaWVzIl0sW2FhLkFUVFJJQlVURVNfVVBEQVRFUywiZ2F0ZXdheS5hdHRyaWJ1dGUtdXBkYXRlcyJdLFthYS5SUENfUkVRVUVTVFMsImdhdGV3YXkucnBjLXJlcXVlc3RzIl1dKSksaWE9ZSgiTW9kYnVzS2V5c0FkZEtleVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW2FhLkFUVFJJQlVURVMsImdhdGV3YXkuYWRkLWF0dHJpYnV0ZSJdLFthYS5USU1FU0VSSUVTLCJnYXRld2F5LmFkZC10aW1lc2VyaWVzIl0sW2FhLkFUVFJJQlVURVNfVVBEQVRFUywiZ2F0ZXdheS5hZGQtYXR0cmlidXRlLXVwZGF0ZSJdLFthYS5SUENfUkVRVUVTVFMsImdhdGV3YXkuYWRkLXJwYy1yZXF1ZXN0Il1dKSkscmE9ZSgiTW9kYnVzS2V5c0RlbGV0ZUtleVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW2FhLkFUVFJJQlVURVMsImdhdGV3YXkuZGVsZXRlLWF0dHJpYnV0ZSJdLFthYS5USU1FU0VSSUVTLCJnYXRld2F5LmRlbGV0ZS10aW1lc2VyaWVzIl0sW2FhLkFUVFJJQlVURVNfVVBEQVRFUywiZ2F0ZXdheS5kZWxldGUtYXR0cmlidXRlLXVwZGF0ZSJdLFthYS5SUENfUkVRVUVTVFMsImdhdGV3YXkuZGVsZXRlLXJwYy1yZXF1ZXN0Il1dKSksc2E9ZSgiTW9kYnVzS2V5c05vS2V5c1RleHRUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1thYS5BVFRSSUJVVEVTLCJnYXRld2F5Lm5vLWF0dHJpYnV0ZXMiXSxbYWEuVElNRVNFUklFUywiZ2F0ZXdheS5uby10aW1lc2VyaWVzIl0sW2FhLkFUVFJJQlVURVNfVVBEQVRFUywiZ2F0ZXdheS5uby1hdHRyaWJ1dGUtdXBkYXRlcyJdLFthYS5SUENfUkVRVUVTVFMsImdhdGV3YXkubm8tcnBjLXJlcXVlc3RzIl1dKSksbGE9ZSgiTW9kYnVzQmF1ZHJhdGVzIixbNDgwMCw5NjAwLDE5MjAwLDM4NDAwLDU3NjAwLDExNTIwMCwyMzA0MDAsNDYwODAwLDkyMTYwMF0pO2NsYXNzIGNhe2NvbnN0cnVjdG9yKCl7dGhpcy5kaXNwbGF5ZWRDb2x1bW5zPVsidHMiLCJzdGF0dXMiLCJtZXNzYWdlIl0sdGhpcy5nYXRld2F5TG9nTGlua3M9W3tuYW1lOiJHZW5lcmFsIixrZXk6IkxPR1MifSx7bmFtZToiU2VydmljZSIsa2V5OiJTRVJWSUNFX0xPR1MifSx7bmFtZToiQ29ubmVjdGlvbiIsa2V5OiJDT05ORUNUSU9OX0xPR1MifSx7bmFtZToiU3RvcmFnZSIsa2V5OiJTVE9SQUdFX0xPR1MifSx7a2V5OiJFWFRFTlNJT05TX0xPR1MiLG5hbWU6IkV4dGVuc2lvbiJ9XTtjb25zdCBlPXtwcm9wZXJ0eToidHMiLGRpcmVjdGlvbjp3LkRFU0N9O3RoaXMucGFnZUxpbms9bmV3IEMoMTAsMCxudWxsLGUpLHRoaXMuZGF0YVNvdXJjZT1uZXcgeShbXSl9bmdPbkluaXQoKXt0aGlzLnVwZGF0ZVdpZGdldFRpdGxlKCl9bmdBZnRlclZpZXdJbml0KCl7aWYodGhpcy5kYXRhU291cmNlLnNvcnQ9dGhpcy5zb3J0LHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3I9dGhpcy5wYWdpbmF0b3IsdGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5vblRpbWV3aW5kb3dDaGFuZ2VGdW5jdGlvbj1lPT4odGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5vcHRpb25zLnRpbWVXaW5kb3dDb25maWc9ZSx0aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLnVwZGF0ZURhdGFTdWJzY3JpcHRpb25zKCksZSksdGhpcy5jdHguc2V0dGluZ3MuaXNDb25uZWN0b3JMb2cmJnRoaXMuY3R4LnNldHRpbmdzLmNvbm5lY3RvckxvZ1N0YXRlKXtjb25zdCBlPXRoaXMuY3R4LnN0YXRlQ29udHJvbGxlci5nZXRTdGF0ZVBhcmFtcygpW3RoaXMuY3R4LnNldHRpbmdzLmNvbm5lY3RvckxvZ1N0YXRlXTt0aGlzLmxvZ0xpbmtzPVt7a2V5OmAke2Uua2V5fV9MT0dTYCxuYW1lOiJDb25uZWN0b3IiLGZpbHRlckZuOmU9PiFlLm1lc3NhZ2UuaW5jbHVkZXMoIl9jb252ZXJ0ZXIucHkiKX0se2tleTpgJHtlLmtleX1fTE9HU2AsbmFtZToiQ29udmVydGVyIixmaWx0ZXJGbjplPT5lLm1lc3NhZ2UuaW5jbHVkZXMoIl9jb252ZXJ0ZXIucHkiKX1dfWVsc2UgdGhpcy5sb2dMaW5rcz10aGlzLmdhdGV3YXlMb2dMaW5rczt0aGlzLmFjdGl2ZUxpbms9dGhpcy5sb2dMaW5rc1swXSx0aGlzLmNoYW5nZVN1YnNjcmlwdGlvbigpfXVwZGF0ZVdpZGdldFRpdGxlKCl7aWYodGhpcy5jdHguc2V0dGluZ3MuaXNDb25uZWN0b3JMb2cmJnRoaXMuY3R4LnNldHRpbmdzLmNvbm5lY3RvckxvZ1N0YXRlKXtjb25zdCBlPXRoaXMuY3R4LndpZGdldENvbmZpZy50aXRsZSx0PSIke2Nvbm5lY3Rvck5hbWV9IjtpZihlLmluY2x1ZGVzKHQpKXtjb25zdCBuPXRoaXMuY3R4LnN0YXRlQ29udHJvbGxlci5nZXRTdGF0ZVBhcmFtcygpW3RoaXMuY3R4LnNldHRpbmdzLmNvbm5lY3RvckxvZ1N0YXRlXTt0aGlzLmN0eC53aWRnZXRUaXRsZT1lLnJlcGxhY2UodCxuLmtleSl9fX11cGRhdGVEYXRhKCl7aWYodGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5kYXRhLmxlbmd0aCYmdGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5kYXRhWzBdKXtsZXQgZT10aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLmRhdGFbMF0uZGF0YS5tYXAoKGU9Pntjb25zdCB0PXt0czplWzBdLGtleTp0aGlzLmFjdGl2ZUxpbmsua2V5LG1lc3NhZ2U6ZVsxXSxzdGF0dXM6IklOVkFMSUQgTE9HIEZPUk1BVCJ9O3RyeXt0Lm1lc3NhZ2U9L1xbKC4qKS8uZXhlYyhlWzFdKVswXX1jYXRjaChuKXt0Lm1lc3NhZ2U9ZVsxXX10cnl7dC5zdGF0dXM9ZVsxXS5tYXRjaCgvXHwoXHcrKVx8LylbMV19Y2F0Y2goZSl7dC5zdGF0dXM9IklOVkFMSUQgTE9HIEZPUk1BVCJ9cmV0dXJuIHR9KSk7dGhpcy5hY3RpdmVMaW5rLmZpbHRlckZuJiYoZT1lLmZpbHRlcigoZT0+dGhpcy5hY3RpdmVMaW5rLmZpbHRlckZuKGUpKSkpLHRoaXMuZGF0YVNvdXJjZS5kYXRhPWV9fW9uVGFiQ2hhbmdlZChlKXt0aGlzLmFjdGl2ZUxpbms9ZSx0aGlzLmNoYW5nZVN1YnNjcmlwdGlvbigpfXN0YXR1c0NsYXNzKGUpe3N3aXRjaChlKXtjYXNlIHF0LkRFQlVHOnJldHVybiJzdGF0dXMgc3RhdHVzLWRlYnVnIjtjYXNlIHF0LldBUk5JTkc6cmV0dXJuInN0YXR1cyBzdGF0dXMtd2FybmluZyI7Y2FzZSBxdC5FUlJPUjpjYXNlIHF0LkVYQ0VQVElPTjpyZXR1cm4ic3RhdHVzIHN0YXR1cy1lcnJvciI7ZGVmYXVsdDpyZXR1cm4ic3RhdHVzIHN0YXR1cy1pbmZvIn19c3RhdHVzQ2xhc3NNc2coZSl7aWYoZT09PXF0LkVYQ0VQVElPTilyZXR1cm4ibXNnLXN0YXR1cy1leGNlcHRpb24ifXRyYWNrQnlMb2dUcyhlLHQpe3JldHVybiB0LnRzfWNoYW5nZVN1YnNjcmlwdGlvbigpe3RoaXMuY3R4LmRhdGFzb3VyY2VzJiZ0aGlzLmN0eC5kYXRhc291cmNlc1swXS5lbnRpdHkmJnRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24ub3B0aW9ucy5kYXRhc291cmNlcyYmKHRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24ub3B0aW9ucy5kYXRhc291cmNlc1swXS5kYXRhS2V5cz1be25hbWU6dGhpcy5hY3RpdmVMaW5rLmtleSx0eXBlOlQudGltZXNlcmllcyxzZXR0aW5nczp7fX1dLHRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLnVwZGF0ZURhdGFTdWJzY3JpcHRpb25zKCksdGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5jYWxsYmFja3Mub25EYXRhVXBkYXRlZD0oKT0+e3RoaXMudXBkYXRlRGF0YSgpfSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpjYSxkZXBzOltdLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6Y2Esc2VsZWN0b3I6InRiLWdhdGV3YXktbG9ncyIsaW5wdXRzOntjdHg6ImN0eCIsZGlhbG9nUmVmOiJkaWFsb2dSZWYifSx2aWV3UXVlcmllczpbe3Byb3BlcnR5TmFtZToic2VhcmNoSW5wdXRGaWVsZCIsZmlyc3Q6ITAscHJlZGljYXRlOlsic2VhcmNoSW5wdXQiXSxkZXNjZW5kYW50czohMH0se3Byb3BlcnR5TmFtZToic29ydCIsZmlyc3Q6ITAscHJlZGljYXRlOmcsZGVzY2VuZGFudHM6ITB9LHtwcm9wZXJ0eU5hbWU6InBhZ2luYXRvciIsZmlyc3Q6ITAscHJlZGljYXRlOmgsZGVzY2VuZGFudHM6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG5hdiBtYXQtdGFiLW5hdi1iYXIgW3RhYlBhbmVsXT0idGFiUGFuZWwiPlxuICA8YSBtYXQtdGFiLWxpbmsgKm5nRm9yPSJsZXQgbGluayBvZiBsb2dMaW5rcyJcbiAgICAgKGNsaWNrKT0ib25UYWJDaGFuZ2VkKGxpbmspIlxuICAgICBbYWN0aXZlXT0iYWN0aXZlTGluay5uYW1lID09PSBsaW5rLm5hbWUiPiB7eyBsaW5rLm5hbWUgfX0gPC9hPlxuPC9uYXY+XG48bWF0LXRhYi1uYXYtcGFuZWwgI3RhYlBhbmVsPjwvbWF0LXRhYi1uYXYtcGFuZWw+XG48dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT0iZGF0YVNvdXJjZSIgW3RyYWNrQnldPSJ0cmFja0J5TG9nVHMiXG4gICAgICAgbWF0U29ydCBbbWF0U29ydEFjdGl2ZV09InBhZ2VMaW5rLnNvcnRPcmRlci5wcm9wZXJ0eSIgW21hdFNvcnREaXJlY3Rpb25dPSJwYWdlTGluay5zb3J0RGlyZWN0aW9uKCkiXG4gICAgICAgbWF0U29ydERpc2FibGVDbGVhcj5cbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9InRzIj5cbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDIwJSI+e3sgXCd3aWRnZXRzLmdhdGV3YXkuY3JlYXRlZC10aW1lXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiPlxuICAgICAge3sgYXR0cmlidXRlLnRzIHwgZGF0ZTpcJ3l5eXktTU0tZGQgSEg6bW06c3NcJyB9fVxuICAgIDwvbWF0LWNlbGw+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0ic3RhdHVzIj5cbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDEwJSI+e3sgXCd3aWRnZXRzLmdhdGV3YXkubGV2ZWxcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWhlYWRlci1jZWxsPlxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IGF0dHJpYnV0ZSI+XG4gICAgICA8c3BhbiBbY2xhc3NdPSJzdGF0dXNDbGFzcyhhdHRyaWJ1dGUuc3RhdHVzKSI+e3sgYXR0cmlidXRlLnN0YXR1cyB9fTwvc3Bhbj5cbiAgICA8L21hdC1jZWxsPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9Im1lc3NhZ2UiPlxuICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIHN0eWxlPSJ3aWR0aDogNzAlIj57eyBcJ3dpZGdldHMuZ2F0ZXdheS5tZXNzYWdlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIFtjbGFzc109InN0YXR1c0NsYXNzTXNnKGF0dHJpYnV0ZS5zdGF0dXMpIj5cbiAgICAgIHt7IGF0dHJpYnV0ZS5tZXNzYWdlIH19XG4gICAgPC9tYXQtY2VsbD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxtYXQtaGVhZGVyLXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiICptYXRIZWFkZXJSb3dEZWY9ImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTogdHJ1ZSI+PC9tYXQtaGVhZGVyLXJvdz5cbiAgPG1hdC1yb3cgY2xhc3M9Im1hdC1yb3ctc2VsZWN0IiAqbWF0Um93RGVmPSJsZXQgYXR0cmlidXRlOyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyI+PC9tYXQtcm93PlxuPC90YWJsZT5cbjxzcGFuIFtmeFNob3ddPSJkYXRhU291cmNlLmRhdGEubGVuZ3RoID09PSAwIlxuICAgICAgZnhGbGV4IGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiXG4gICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCI+e3sgXCdhdHRyaWJ1dGUubm8tdGVsZW1ldHJ5LXRleHRcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbjxzcGFuIGZ4RmxleCBbZnhTaG93XT0iZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCAhPT0gMCI+PC9zcGFuPlxuPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG48bWF0LXBhZ2luYXRvciBbbGVuZ3RoXT0iZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCJcbiAgICAgICAgICAgICAgIFtwYWdlSW5kZXhdPSJwYWdlTGluay5wYWdlIlxuICAgICAgICAgICAgICAgW3BhZ2VTaXplXT0icGFnZUxpbmsucGFnZVNpemUiXG4gICAgICAgICAgICAgICBbcGFnZVNpemVPcHRpb25zXT0iWzEwLCAyMCwgMzBdIj48L21hdC1wYWdpbmF0b3I+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3cteDphdXRvO3BhZGRpbmc6MH06aG9zdCAuc3RhdHVze2JvcmRlci1yYWRpdXM6MjBweDtmb250LXdlaWdodDo1MDA7cGFkZGluZzo1cHggMTVweH06aG9zdCAuc3RhdHVzLWRlYnVne2NvbG9yOmdyZWVuO2JhY2tncm91bmQ6IzAwODAwMDFhfTpob3N0IC5zdGF0dXMtd2FybmluZ3tjb2xvcjpvcmFuZ2U7YmFja2dyb3VuZDojZmZhNTAwMWF9Omhvc3QgLnN0YXR1cy1lcnJvcntjb2xvcjpyZWQ7YmFja2dyb3VuZDojZmYwMDAwMWF9Omhvc3QgLnN0YXR1cy1pbmZve2NvbG9yOiMwMGY7YmFja2dyb3VuZDojMDAwMDgwMWF9Omhvc3QgLm1zZy1zdGF0dXMtZXhjZXB0aW9ue2NvbG9yOnJlZH1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Yi5NYXRUYWJsZSxzZWxlY3RvcjoibWF0LXRhYmxlLCB0YWJsZVttYXQtdGFibGVdIixleHBvcnRBczpbIm1hdFRhYmxlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRIZWFkZXJDZWxsRGVmLHNlbGVjdG9yOiJbbWF0SGVhZGVyQ2VsbERlZl0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0SGVhZGVyUm93RGVmLHNlbGVjdG9yOiJbbWF0SGVhZGVyUm93RGVmXSIsaW5wdXRzOlsibWF0SGVhZGVyUm93RGVmIiwibWF0SGVhZGVyUm93RGVmU3RpY2t5Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDb2x1bW5EZWYsc2VsZWN0b3I6IlttYXRDb2x1bW5EZWZdIixpbnB1dHM6WyJtYXRDb2x1bW5EZWYiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdENlbGxEZWYsc2VsZWN0b3I6IlttYXRDZWxsRGVmXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRSb3dEZWYsc2VsZWN0b3I6IlttYXRSb3dEZWZdIixpbnB1dHM6WyJtYXRSb3dEZWZDb2x1bW5zIiwibWF0Um93RGVmV2hlbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0SGVhZGVyQ2VsbCxzZWxlY3RvcjoibWF0LWhlYWRlci1jZWxsLCB0aFttYXQtaGVhZGVyLWNlbGxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdENlbGwsc2VsZWN0b3I6Im1hdC1jZWxsLCB0ZFttYXQtY2VsbF0ifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmIuTWF0SGVhZGVyUm93LHNlbGVjdG9yOiJtYXQtaGVhZGVyLXJvdywgdHJbbWF0LWhlYWRlci1yb3ddIixleHBvcnRBczpbIm1hdEhlYWRlclJvdyJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmIuTWF0Um93LHNlbGVjdG9yOiJtYXQtcm93LCB0clttYXQtcm93XSIsZXhwb3J0QXM6WyJtYXRSb3ciXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp4Lk1hdFBhZ2luYXRvcixzZWxlY3RvcjoibWF0LXBhZ2luYXRvciIsaW5wdXRzOlsiY29sb3IiLCJwYWdlSW5kZXgiLCJsZW5ndGgiLCJwYWdlU2l6ZSIsInBhZ2VTaXplT3B0aW9ucyIsImhpZGVQYWdlU2l6ZSIsInNob3dGaXJzdExhc3RCdXR0b25zIiwic2VsZWN0Q29uZmlnIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsicGFnZSJdLGV4cG9ydEFzOlsibWF0UGFnaW5hdG9yIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Zi5NYXRTb3J0LHNlbGVjdG9yOiJbbWF0U29ydF0iLGlucHV0czpbIm1hdFNvcnRBY3RpdmUiLCJtYXRTb3J0U3RhcnQiLCJtYXRTb3J0RGlyZWN0aW9uIiwibWF0U29ydERpc2FibGVDbGVhciIsIm1hdFNvcnREaXNhYmxlZCJdLG91dHB1dHM6WyJtYXRTb3J0Q2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTb3J0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Zi5NYXRTb3J0SGVhZGVyLHNlbGVjdG9yOiJbbWF0LXNvcnQtaGVhZGVyXSIsaW5wdXRzOlsibWF0LXNvcnQtaGVhZGVyIiwiYXJyb3dQb3NpdGlvbiIsInN0YXJ0IiwiZGlzYWJsZWQiLCJzb3J0QWN0aW9uRGVzY3JpcHRpb24iLCJkaXNhYmxlQ2xlYXIiXSxleHBvcnRBczpbIm1hdFNvcnRIZWFkZXIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp6Lk1hdERpdmlkZXIsc2VsZWN0b3I6Im1hdC1kaXZpZGVyIixpbnB1dHM6WyJ2ZXJ0aWNhbCIsImluc2V0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWJOYXYsc2VsZWN0b3I6IlttYXQtdGFiLW5hdi1iYXJdIixpbnB1dHM6WyJmaXRJbmtCYXJUb0NvbnRlbnQiLCJtYXQtc3RyZXRjaC10YWJzIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJiYWNrZ3JvdW5kQ29sb3IiLCJkaXNhYmxlUmlwcGxlIiwiY29sb3IiLCJ0YWJQYW5lbCJdLGV4cG9ydEFzOlsibWF0VGFiTmF2QmFyIiwibWF0VGFiTmF2Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWJOYXZQYW5lbCxzZWxlY3RvcjoibWF0LXRhYi1uYXYtcGFuZWwiLGlucHV0czpbImlkIl0sZXhwb3J0QXM6WyJtYXRUYWJOYXZQYW5lbCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOlcuTWF0VGFiTGluayxzZWxlY3RvcjoiW21hdC10YWItbGlua10sIFttYXRUYWJMaW5rXSIsaW5wdXRzOlsiYWN0aXZlIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJpZCJdLGV4cG9ydEFzOlsibWF0VGFiTGluayJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRTaG93SGlkZURpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhTaG93XSwgW2Z4U2hvdy5wcmludF0sICBbZnhTaG93LnhzXSwgW2Z4U2hvdy5zbV0sIFtmeFNob3cubWRdLCBbZnhTaG93LmxnXSwgW2Z4U2hvdy54bF0sICBbZnhTaG93Lmx0LXNtXSwgW2Z4U2hvdy5sdC1tZF0sIFtmeFNob3cubHQtbGddLCBbZnhTaG93Lmx0LXhsXSwgIFtmeFNob3cuZ3QteHNdLCBbZnhTaG93Lmd0LXNtXSwgW2Z4U2hvdy5ndC1tZF0sIFtmeFNob3cuZ3QtbGddLCAgW2Z4SGlkZV0sIFtmeEhpZGUucHJpbnRdLCAgW2Z4SGlkZS54c10sIFtmeEhpZGUuc21dLCBbZnhIaWRlLm1kXSwgW2Z4SGlkZS5sZ10sIFtmeEhpZGUueGxdLCAgW2Z4SGlkZS5sdC1zbV0sIFtmeEhpZGUubHQtbWRdLCBbZnhIaWRlLmx0LWxnXSwgW2Z4SGlkZS5sdC14bF0sICBbZnhIaWRlLmd0LXhzXSwgW2Z4SGlkZS5ndC1zbV0sIFtmeEhpZGUuZ3QtbWRdLCBbZnhIaWRlLmd0LWxnXSIsaW5wdXRzOlsiZnhTaG93IiwiZnhTaG93LnByaW50IiwiZnhTaG93LnhzIiwiZnhTaG93LnNtIiwiZnhTaG93Lm1kIiwiZnhTaG93LmxnIiwiZnhTaG93LnhsIiwiZnhTaG93Lmx0LXNtIiwiZnhTaG93Lmx0LW1kIiwiZnhTaG93Lmx0LWxnIiwiZnhTaG93Lmx0LXhsIiwiZnhTaG93Lmd0LXhzIiwiZnhTaG93Lmd0LXNtIiwiZnhTaG93Lmd0LW1kIiwiZnhTaG93Lmd0LWxnIiwiZnhIaWRlIiwiZnhIaWRlLnByaW50IiwiZnhIaWRlLnhzIiwiZnhIaWRlLnNtIiwiZnhIaWRlLm1kIiwiZnhIaWRlLmxnIiwiZnhIaWRlLnhsIiwiZnhIaWRlLmx0LXNtIiwiZnhIaWRlLmx0LW1kIiwiZnhIaWRlLmx0LWxnIiwiZnhIaWRlLmx0LXhsIiwiZnhIaWRlLmd0LXhzIiwiZnhIaWRlLmd0LXNtIiwiZnhIaWRlLmd0LW1kIiwiZnhIaWRlLmd0LWxnIl19LHtraW5kOiJwaXBlIix0eXBlOl8uRGF0ZVBpcGUsbmFtZToiZGF0ZSJ9LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV19KX19ZSgiR2F0ZXdheUxvZ3NDb21wb25lbnQiLGNhKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmNhLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1nYXRld2F5LWxvZ3MiLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG5hdiBtYXQtdGFiLW5hdi1iYXIgW3RhYlBhbmVsXT0idGFiUGFuZWwiPlxuICA8YSBtYXQtdGFiLWxpbmsgKm5nRm9yPSJsZXQgbGluayBvZiBsb2dMaW5rcyJcbiAgICAgKGNsaWNrKT0ib25UYWJDaGFuZ2VkKGxpbmspIlxuICAgICBbYWN0aXZlXT0iYWN0aXZlTGluay5uYW1lID09PSBsaW5rLm5hbWUiPiB7eyBsaW5rLm5hbWUgfX0gPC9hPlxuPC9uYXY+XG48bWF0LXRhYi1uYXYtcGFuZWwgI3RhYlBhbmVsPjwvbWF0LXRhYi1uYXYtcGFuZWw+XG48dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT0iZGF0YVNvdXJjZSIgW3RyYWNrQnldPSJ0cmFja0J5TG9nVHMiXG4gICAgICAgbWF0U29ydCBbbWF0U29ydEFjdGl2ZV09InBhZ2VMaW5rLnNvcnRPcmRlci5wcm9wZXJ0eSIgW21hdFNvcnREaXJlY3Rpb25dPSJwYWdlTGluay5zb3J0RGlyZWN0aW9uKCkiXG4gICAgICAgbWF0U29ydERpc2FibGVDbGVhcj5cbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9InRzIj5cbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDIwJSI+e3sgXCd3aWRnZXRzLmdhdGV3YXkuY3JlYXRlZC10aW1lXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiPlxuICAgICAge3sgYXR0cmlidXRlLnRzIHwgZGF0ZTpcJ3l5eXktTU0tZGQgSEg6bW06c3NcJyB9fVxuICAgIDwvbWF0LWNlbGw+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0ic3RhdHVzIj5cbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDEwJSI+e3sgXCd3aWRnZXRzLmdhdGV3YXkubGV2ZWxcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWhlYWRlci1jZWxsPlxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IGF0dHJpYnV0ZSI+XG4gICAgICA8c3BhbiBbY2xhc3NdPSJzdGF0dXNDbGFzcyhhdHRyaWJ1dGUuc3RhdHVzKSI+e3sgYXR0cmlidXRlLnN0YXR1cyB9fTwvc3Bhbj5cbiAgICA8L21hdC1jZWxsPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9Im1lc3NhZ2UiPlxuICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIHN0eWxlPSJ3aWR0aDogNzAlIj57eyBcJ3dpZGdldHMuZ2F0ZXdheS5tZXNzYWdlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIFtjbGFzc109InN0YXR1c0NsYXNzTXNnKGF0dHJpYnV0ZS5zdGF0dXMpIj5cbiAgICAgIHt7IGF0dHJpYnV0ZS5tZXNzYWdlIH19XG4gICAgPC9tYXQtY2VsbD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxtYXQtaGVhZGVyLXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiICptYXRIZWFkZXJSb3dEZWY9ImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTogdHJ1ZSI+PC9tYXQtaGVhZGVyLXJvdz5cbiAgPG1hdC1yb3cgY2xhc3M9Im1hdC1yb3ctc2VsZWN0IiAqbWF0Um93RGVmPSJsZXQgYXR0cmlidXRlOyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyI+PC9tYXQtcm93PlxuPC90YWJsZT5cbjxzcGFuIFtmeFNob3ddPSJkYXRhU291cmNlLmRhdGEubGVuZ3RoID09PSAwIlxuICAgICAgZnhGbGV4IGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiXG4gICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCI+e3sgXCdhdHRyaWJ1dGUubm8tdGVsZW1ldHJ5LXRleHRcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbjxzcGFuIGZ4RmxleCBbZnhTaG93XT0iZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCAhPT0gMCI+PC9zcGFuPlxuPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG48bWF0LXBhZ2luYXRvciBbbGVuZ3RoXT0iZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCJcbiAgICAgICAgICAgICAgIFtwYWdlSW5kZXhdPSJwYWdlTGluay5wYWdlIlxuICAgICAgICAgICAgICAgW3BhZ2VTaXplXT0icGFnZUxpbmsucGFnZVNpemUiXG4gICAgICAgICAgICAgICBbcGFnZVNpemVPcHRpb25zXT0iWzEwLCAyMCwgMzBdIj48L21hdC1wYWdpbmF0b3I+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3cteDphdXRvO3BhZGRpbmc6MH06aG9zdCAuc3RhdHVze2JvcmRlci1yYWRpdXM6MjBweDtmb250LXdlaWdodDo1MDA7cGFkZGluZzo1cHggMTVweH06aG9zdCAuc3RhdHVzLWRlYnVne2NvbG9yOmdyZWVuO2JhY2tncm91bmQ6IzAwODAwMDFhfTpob3N0IC5zdGF0dXMtd2FybmluZ3tjb2xvcjpvcmFuZ2U7YmFja2dyb3VuZDojZmZhNTAwMWF9Omhvc3QgLnN0YXR1cy1lcnJvcntjb2xvcjpyZWQ7YmFja2dyb3VuZDojZmYwMDAwMWF9Omhvc3QgLnN0YXR1cy1pbmZve2NvbG9yOiMwMGY7YmFja2dyb3VuZDojMDAwMDgwMWF9Omhvc3QgLm1zZy1zdGF0dXMtZXhjZXB0aW9ue2NvbG9yOnJlZH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W10scHJvcERlY29yYXRvcnM6e2N0eDpbe3R5cGU6YX1dLGRpYWxvZ1JlZjpbe3R5cGU6YX1dLHNlYXJjaElucHV0RmllbGQ6W3t0eXBlOm8sYXJnczpbInNlYXJjaElucHV0Il19XSxzb3J0Olt7dHlwZTpvLGFyZ3M6W2ddfV0scGFnaW5hdG9yOlt7dHlwZTpvLGFyZ3M6W2hdfV19fSk7Y2xhc3MgcGF7Y29uc3RydWN0b3IoZSx0LG4pe3RoaXMuZmI9ZSx0aGlzLmF0dHJpYnV0ZVNlcnZpY2U9dCx0aGlzLnV0aWxzPW4sdGhpcy5pc051bWVyaWNEYXRhPSExLHRoaXMuZGF0YVR5cGVEZWZpbmVkPSExLHRoaXMuc3RhdGlzdGljc0tleXM9W10sdGhpcy5jb21tYW5kcz1bXSx0aGlzLnN1YnNjcmlwdGlvbk9wdGlvbnM9e2NhbGxiYWNrczp7b25EYXRhVXBkYXRlZDooKT0+dGhpcy5jdHgubmdab25lLnJ1bigoKCk9Pnt0aGlzLm9uRGF0YVVwZGF0ZWQoKX0pKSxvbkRhdGFVcGRhdGVFcnJvcjooZSx0KT0+dGhpcy5jdHgubmdab25lLnJ1bigoKCk9Pnt0aGlzLm9uRGF0YVVwZGF0ZUVycm9yKHQpfSkpfSx1c2VEYXNoYm9hcmRUaW1ld2luZG93OiExLGxlZ2VuZENvbmZpZzp7cG9zaXRpb246Uy5ib3R0b219fSx0aGlzLmluaXQ9KCk9Pnt0aGlzLmZsb3RDdHg9eyRzY29wZTp0aGlzLmN0eC4kc2NvcGUsJGluamVjdG9yOnRoaXMuY3R4LiRpbmplY3Rvcix1dGlsczp0aGlzLmN0eC51dGlscyxpc01vYmlsZTp0aGlzLmN0eC5pc01vYmlsZSxpc0VkaXQ6dGhpcy5jdHguaXNFZGl0LHN1YnNjcmlwdGlvbkFwaTp0aGlzLmN0eC5zdWJzY3JpcHRpb25BcGksZGV0ZWN0Q2hhbmdlczp0aGlzLmN0eC5kZXRlY3RDaGFuZ2VzLHNldHRpbmdzOnRoaXMuY3R4LnNldHRpbmdzfX0sdGhpcy51cGRhdGVDaGFydD0oKT0+e30sdGhpcy5yZXNpemU9KCk9Pnt9O2NvbnN0IGE9e3Byb3BlcnR5OiIwIixkaXJlY3Rpb246dy5ERVNDfTt0aGlzLnBhZ2VMaW5rPW5ldyBDKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSwwLG51bGwsYSksdGhpcy5kaXNwbGF5ZWRDb2x1bW5zPVsiMCIsIjEiXSx0aGlzLmRhdGFTb3VyY2U9bmV3IHkoW10pLHRoaXMuc3RhdGlzdGljRm9ybT10aGlzLmZiLmdyb3VwKHtzdGF0aXN0aWNLZXk6W251bGwsW11dfSksdGhpcy5zdGF0aXN0aWNGb3JtLmdldCgic3RhdGlzdGljS2V5IikudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoZT0+e3RoaXMuY29tbWFuZE9iaj1udWxsLHRoaXMuY29tbWFuZHMubGVuZ3RoJiYodGhpcy5jb21tYW5kT2JqPXRoaXMuY29tbWFuZHMuZmluZCgodD0+dC5hdHRyaWJ1dGVPbkdhdGV3YXk9PT1lKSkpLHRoaXMuc3Vic2NyaXB0aW9uSW5mbyYmdGhpcy5jcmVhdGVDaGFydHNTdWJzY3JpcHRpb24odGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5kYXRhc291cmNlc1swXS5lbnRpdHksZSl9KSl9bmdBZnRlclZpZXdJbml0KCl7aWYodGhpcy5kYXRhU291cmNlLnNvcnQ9dGhpcy5zb3J0LHRoaXMuc29ydC5zb3J0Q2hhbmdlLnN1YnNjcmliZSgoKCk9PnRoaXMuc29ydERhdGEoKSkpLHRoaXMuaW5pdCgpLHRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24uZGF0YXNvdXJjZXMubGVuZ3RoKXtjb25zdCBlPXRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24uZGF0YXNvdXJjZXNbMF0uZW50aXR5O2lmKGUuaWQuaWQ9PT1rKXJldHVybjt0aGlzLmdlbmVyYWw/dGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLmdldEVudGl0eVRpbWVzZXJpZXNMYXRlc3QoZS5pZCkuc3Vic2NyaWJlKCh0PT57Y29uc3Qgbj1PYmplY3Qua2V5cyh0KS5maWx0ZXIoKGU9PmUuaW5jbHVkZXMoIkNvbm5lY3RvckV2ZW50c1Byb2R1Y2VkIil8fGUuaW5jbHVkZXMoIkNvbm5lY3RvckV2ZW50c1NlbnQiKSkpO3RoaXMuY3JlYXRlR2VuZXJhbENoYXJ0c1N1YnNjcmlwdGlvbihlLG4pfSkpOnRoaXMuYXR0cmlidXRlU2VydmljZS5nZXRFbnRpdHlBdHRyaWJ1dGVzKGUuaWQsTC5TSEFSRURfU0NPUEUsWyJnZW5lcmFsX2NvbmZpZ3VyYXRpb24iXSkuc3Vic2NyaWJlKCh0PT57dCYmdC5sZW5ndGgmJih0aGlzLmNvbW1hbmRzPXRbMF0udmFsdWUuc3RhdGlzdGljcy5jb21tYW5kcywhdGhpcy5zdGF0aXN0aWNGb3JtLmdldCgic3RhdGlzdGljS2V5IikudmFsdWUmJnRoaXMuY29tbWFuZHMmJnRoaXMuY29tbWFuZHMubGVuZ3RoJiYodGhpcy5zdGF0aXN0aWNGb3JtLmdldCgic3RhdGlzdGljS2V5Iikuc2V0VmFsdWUodGhpcy5jb21tYW5kc1swXS5hdHRyaWJ1dGVPbkdhdGV3YXkpLHRoaXMuY3JlYXRlQ2hhcnRzU3Vic2NyaXB0aW9uKGUsdGhpcy5jb21tYW5kc1swXS5hdHRyaWJ1dGVPbkdhdGV3YXkpKSl9KSl9fW5hdmlnYXRlVG9TdGF0aXN0aWNzKCl7Y29uc3QgZT1KKHRoaXMuY3R4LnN0YXRlQ29udHJvbGxlci5nZXRTdGF0ZVBhcmFtcygpKTt0aGlzLmN0eC5zdGF0ZUNvbnRyb2xsZXIub3BlblN0YXRlKCJjb25maWd1cmF0aW9uIixlKX1zb3J0RGF0YSgpe3RoaXMuZGF0YVNvdXJjZS5zb3J0RGF0YSh0aGlzLmRhdGFTb3VyY2UuZGF0YSx0aGlzLnNvcnQpfW9uTGVnZW5kS2V5SGlkZGVuQ2hhbmdlKGUpe3RoaXMubGVnZW5kRGF0YS5rZXlzW2VdLmRhdGFLZXkuaGlkZGVuPSF0aGlzLmxlZ2VuZERhdGEua2V5c1tlXS5kYXRhS2V5LmhpZGRlbix0aGlzLnN1YnNjcmlwdGlvbi51cGRhdGVEYXRhVmlzaWJpbGl0eShlKX1jcmVhdGVDaGFydHNTdWJzY3JpcHRpb24oZSx0KXtjb25zdCBuPVt7dHlwZTpGLmVudGl0eSxlbnRpdHlUeXBlOkkuREVWSUNFLGVudGl0eUlkOmUuaWQuaWQsZW50aXR5TmFtZTplLm5hbWUsdGltZXNlcmllczpbXX1dO25bMF0udGltZXNlcmllcz1be25hbWU6dCxsYWJlbDp0fV0sdGhpcy5zdWJzY3JpcHRpb25JbmZvPW4sdGhpcy5jaGFuZ2VTdWJzY3JpcHRpb24obiksdGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfWNyZWF0ZUdlbmVyYWxDaGFydHNTdWJzY3JpcHRpb24oZSx0KXtjb25zdCBuPVt7dHlwZTpGLmVudGl0eSxlbnRpdHlUeXBlOkkuREVWSUNFLGVudGl0eUlkOmUuaWQuaWQsZW50aXR5TmFtZTplLm5hbWUsdGltZXNlcmllczpbXX1dO25bMF0udGltZXNlcmllcz1bXSx0Py5sZW5ndGgmJnQuZm9yRWFjaCgoZT0+e25bMF0udGltZXNlcmllcy5wdXNoKHtuYW1lOmUsbGFiZWw6ZX0pfSkpLHRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24uZGF0YXNvdXJjZXNbMF0uZGF0YUtleXMuZm9yRWFjaCgoZT0+e25bMF0udGltZXNlcmllcy5wdXNoKHtuYW1lOmUubmFtZSxsYWJlbDplLmxhYmVsfSl9KSksdGhpcy5jaGFuZ2VTdWJzY3JpcHRpb24obiksdGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfXJlc2V0KCl7dGhpcy5yZXNpemUkJiZ0aGlzLnJlc2l6ZSQuZGlzY29ubmVjdCgpLHRoaXMuc3Vic2NyaXB0aW9uJiZ0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfW9uRGF0YVVwZGF0ZUVycm9yKGUpe2NvbnN0IHQ9dGhpcy51dGlscy5wYXJzZUV4Y2VwdGlvbihlKTtsZXQgbj10Lm5hbWU7dC5tZXNzYWdlJiYobis9IjogIit0Lm1lc3NhZ2UpLGNvbnNvbGUuZXJyb3Iobil9b25EYXRhVXBkYXRlZCgpe3RoaXMuaXNEYXRhT25seU51bWJlcnMoKSx0aGlzLmlzTnVtZXJpY0RhdGEmJih0aGlzLmNoYXJ0SW5pdGVkfHx0aGlzLmluaXRDaGFydCgpKX1pbml0Q2hhcnQoKXt0aGlzLmNoYXJ0SW5pdGVkPSEwLHRoaXMuZmxvdEN0eC4kY29udGFpbmVyPSQodGhpcy5zdGF0aXN0aWNDaGFydC5uYXRpdmVFbGVtZW50KSx0aGlzLnJlc2l6ZSQub2JzZXJ2ZSh0aGlzLnN0YXRpc3RpY0NoYXJ0Lm5hdGl2ZUVsZW1lbnQpfWlzRGF0YU9ubHlOdW1iZXJzKCl7dGhpcy5nZW5lcmFsP3RoaXMuaXNOdW1lcmljRGF0YT0hMDoodGhpcy5kYXRhU291cmNlLmRhdGE9dGhpcy5zdWJzY3JpcHRpb24uZGF0YS5sZW5ndGg/dGhpcy5zdWJzY3JpcHRpb24uZGF0YVswXS5kYXRhOltdLHRoaXMuZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCYmIXRoaXMuZGF0YVR5cGVEZWZpbmVkJiYodGhpcy5kYXRhVHlwZURlZmluZWQ9ITAsdGhpcy5pc051bWVyaWNEYXRhPXRoaXMuZGF0YVNvdXJjZS5kYXRhLmV2ZXJ5KChlPT4haXNOYU4oK2VbMV0pKSkpKX1jaGFuZ2VTdWJzY3JpcHRpb24oZSl7dGhpcy5zdWJzY3JpcHRpb24mJnRoaXMucmVzZXQoKSx0aGlzLmN0eC5kYXRhc291cmNlc1swXS5lbnRpdHkmJnRoaXMuY3R4LnN1YnNjcmlwdGlvbkFwaS5jcmVhdGVTdWJzY3JpcHRpb25Gcm9tSW5mbyhBLnRpbWVzZXJpZXMsZSx0aGlzLnN1YnNjcmlwdGlvbk9wdGlvbnMsITEsITApLnN1YnNjcmliZSgoZT0+e3RoaXMuZGF0YVR5cGVEZWZpbmVkPSExLHRoaXMuc3Vic2NyaXB0aW9uPWUsdGhpcy5pc0RhdGFPbmx5TnVtYmVycygpLHRoaXMubGVnZW5kRGF0YT10aGlzLnN1YnNjcmlwdGlvbi5sZWdlbmREYXRhLHRoaXMuZmxvdEN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uPWUsdGhpcy5yZXNpemUkPW5ldyBSZXNpemVPYnNlcnZlcigoKCk9Pnt0aGlzLnJlc2l6ZSgpfSkpLHRoaXMuY3R4LmRldGVjdENoYW5nZXMoKSx0aGlzLmlzTnVtZXJpY0RhdGEmJnRoaXMuaW5pdENoYXJ0KCl9KSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpwYSxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjpYLkF0dHJpYnV0ZVNlcnZpY2V9LHt0b2tlbjpYLlV0aWxzU2VydmljZX1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6cGEsc2VsZWN0b3I6InRiLWdhdGV3YXktc3RhdGlzdGljcyIsaW5wdXRzOntjdHg6ImN0eCIsZ2VuZXJhbDoiZ2VuZXJhbCJ9LHZpZXdRdWVyaWVzOlt7cHJvcGVydHlOYW1lOiJzb3J0IixmaXJzdDohMCxwcmVkaWNhdGU6ZyxkZXNjZW5kYW50czohMH0se3Byb3BlcnR5TmFtZToic3RhdGlzdGljQ2hhcnQiLGZpcnN0OiEwLHByZWRpY2F0ZTpbInN0YXRpc3RpY0NoYXJ0Il0sZGVzY2VuZGFudHM6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0ic3RhdGlzdGljcy1jb250YWluZXIiIGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0Lmx0LW1kPSJjb2x1bW4iPlxuICA8bWF0LWNhcmQgW2Zvcm1Hcm91cF09InN0YXRpc3RpY0Zvcm0iICpuZ0lmPSIhZ2VuZXJhbCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnN0YXRpc3RpY1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InN0YXRpc3RpY0tleSI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGtleSBvZiBzdGF0aXN0aWNzS2V5cyIgW3ZhbHVlXT0ia2V5Ij5cbiAgICAgICAgICB7eyBrZXkgfX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBjb21tYW5kIG9mIGNvbW1hbmRzIiBbdmFsdWVdPSJjb21tYW5kLmF0dHJpYnV0ZU9uR2F0ZXdheSI+XG4gICAgICAgICAge3sgY29tbWFuZC5hdHRyaWJ1dGVPbkdhdGV3YXkgfX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1lcnJvclxuICAgICAgKm5nSWY9IiFzdGF0aXN0aWNzS2V5cy5sZW5ndGggJiYgIWNvbW1hbmRzLmxlbmd0aCI+XG4gICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5zdGF0aXN0aWMtY29tbWFuZHMtZW1wdHlcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbWF0LWVycm9yPlxuICAgIDxkaXY+XG4gICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj0icHJpbWFyeSIgKGNsaWNrKT0ibmF2aWdhdGVUb1N0YXRpc3RpY3MoKSI+XG4gICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnN0YXRpc3RpY3MtYnV0dG9uXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIiAqbmdJZj0iY29tbWFuZE9iaiI+XG4gICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IG1hdElucHV0IFt2YWx1ZV09ImNvbW1hbmRPYmouY29tbWFuZCIgZGlzYWJsZWQ+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9tYXQtY2FyZD5cbiAgPGRpdiBjbGFzcz0iY2hhcnQtYm94IiBmeExheW91dD0iY29sdW1uIj5cbiAgICA8ZGl2IGNsYXNzPSJjaGFydC1jb250YWluZXIiICNzdGF0aXN0aWNDaGFydCBbZnhTaG93XT0iaXNOdW1lcmljRGF0YSI+PC9kaXY+XG4gICAgPHRhYmxlIFtmeFNob3ddPSIhaXNOdW1lcmljRGF0YSIgbWF0LXRhYmxlIFtkYXRhU291cmNlXT0iZGF0YVNvdXJjZSJcbiAgICAgICAgICAgbWF0U29ydCBbbWF0U29ydEFjdGl2ZV09InBhZ2VMaW5rLnNvcnRPcmRlci5wcm9wZXJ0eSIgW21hdFNvcnREaXJlY3Rpb25dPSJwYWdlTGluay5zb3J0RGlyZWN0aW9uKCkiXG4gICAgICAgICAgIG1hdFNvcnREaXNhYmxlQ2xlYXI+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iMCI+XG4gICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7IFwnd2lkZ2V0cy5nYXRld2F5LmNyZWF0ZWQtdGltZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCByb3c7IGxldCByb3dJbmRleCA9IGluZGV4Ij5cbiAgICAgICAgICB7eyByb3dbMF18IGRhdGU6XCd5eXl5LU1NLWRkIEhIOm1tOnNzXCcgfX1cbiAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9IjEiPlxuICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogNzAlIj57eyBcJ3dpZGdldHMuZ2F0ZXdheS5tZXNzYWdlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHJvdyI+XG4gICAgICAgICAge3sgcm93WzFdIH19XG4gICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxtYXQtaGVhZGVyLXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiXG4gICAgICAgICAgICAgICAgICAgICAgKm1hdEhlYWRlclJvd0RlZj0iZGlzcGxheWVkQ29sdW1uczsgc3RpY2t5OiB0cnVlIj48L21hdC1oZWFkZXItcm93PlxuICAgICAgPG1hdC1yb3cgY2xhc3M9Im1hdC1yb3ctc2VsZWN0IlxuICAgICAgICAgICAgICAgKm1hdFJvd0RlZj0ibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1uczsiPjwvbWF0LXJvdz5cbiAgICA8L3RhYmxlPlxuICAgIDxzcGFuIFtmeFNob3ddPSJkYXRhU291cmNlLmRhdGEubGVuZ3RoID09PSAwICYmICFpc051bWVyaWNEYXRhIlxuICAgICAgICAgIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiXG4gICAgICAgICAgY2xhc3M9Im5vLWRhdGEtZm91bmQiPnt7IFwnYXR0cmlidXRlLm5vLXRlbGVtZXRyeS10ZXh0XCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPGRpdiBmeEZsZXggY2xhc3M9ImxlZ2VuZCIgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciIgW2Z4U2hvd109ImlzTnVtZXJpY0RhdGEiPlxuICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLWtleXMiICpuZ0Zvcj0ibGV0IGxlZ2VuZEtleSBvZiBsZWdlbmREYXRhPy5rZXlzIiBmeExheW91dD0icm93IlxuICAgICAgICAgICBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9ImxlZ2VuZC1saW5lIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09ImxlZ2VuZEtleS5kYXRhS2V5LmNvbG9yIj48L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9ImxlZ2VuZC1sYWJlbCJcbiAgICAgICAgICAgICAoY2xpY2spPSJvbkxlZ2VuZEtleUhpZGRlbkNoYW5nZShsZWdlbmRLZXkuZGF0YUluZGV4KSJcbiAgICAgICAgICAgICBbY2xhc3NdPSJ7IFwnaGlkZGVuLWxhYmVsXCc6IGxlZ2VuZERhdGEua2V5c1tsZWdlbmRLZXkuZGF0YUluZGV4XS5kYXRhS2V5LmhpZGRlbiB9IlxuICAgICAgICAgICAgIFtpbm5lckhUTUxdPSJsZWdlbmRLZXkuZGF0YUtleS5sYWJlbCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3BhZGRpbmc6MH06aG9zdCAuc3RhdGlzdGljcy1jb250YWluZXJ7aGVpZ2h0OjEwMCU7b3ZlcmZsb3cteTphdXRvfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciBtYXQtY2FyZHt3aWR0aDo0MCU7aGVpZ2h0OjEwMCU7bWFyZ2luLXJpZ2h0OjM1cHg7cGFkZGluZzoxNXB4O2dhcDoyMnB4fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpezpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciBtYXQtY2FyZHt3aWR0aDoxMDAlfX06aG9zdCAuc3RhdGlzdGljcy1jb250YWluZXIgLmNoYXJ0LWJveCw6aG9zdCAuc3RhdGlzdGljcy1jb250YWluZXIgLmNoYXJ0LWNvbnRhaW5lcntoZWlnaHQ6MTAwJTtmbGV4LWdyb3c6MX06aG9zdCAuc3RhdGlzdGljcy1jb250YWluZXIgLmNoYXJ0LWJveHtvdmVyZmxvdzphdXRvfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lcj4qe2hlaWdodDoxMDAlfTpob3N0IC5sZWdlbmR7ZmxleC13cmFwOndyYXA7d2lkdGg6MTAwJTtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206NHB4O21hcmdpbi10b3A6MTVweH06aG9zdCAubGVnZW5kIC5sZWdlbmQta2V5cyAubGVnZW5kLWxhYmVse3BhZGRpbmc6MnB4IDIwcHggMnB4IDEwcHg7d2hpdGUtc3BhY2U6bm93cmFwfTpob3N0IC5sZWdlbmQgLmxlZ2VuZC1rZXlzIC5sZWdlbmQtbGFiZWwuaGlkZGVuLWxhYmVse3RleHQtZGVjb3JhdGlvbjpsaW5lLXRocm91Z2g7b3BhY2l0eTouNn06aG9zdCAubGVnZW5kIC5sZWdlbmQta2V5cyAubGVnZW5kLWxhYmVsOmZvY3Vze291dGxpbmU6bm9uZX06aG9zdCAubGVnZW5kIC5sZWdlbmQta2V5cyAubGVnZW5kLWxpbmV7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTVweDtoZWlnaHQ6M3B4O3RleHQtYWxpZ246bGVmdDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7b3V0bGluZTpub25lfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmhlLk1hdENhcmQsc2VsZWN0b3I6Im1hdC1jYXJkIixpbnB1dHM6WyJhcHBlYXJhbmNlIl0sZXhwb3J0QXM6WyJtYXRDYXJkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRFcnJvcixzZWxlY3RvcjoibWF0LWVycm9yLCBbbWF0RXJyb3JdIixpbnB1dHM6WyJpZCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOndlLk1hdFNlbGVjdCxzZWxlY3RvcjoibWF0LXNlbGVjdCIsaW5wdXRzOlsiYXJpYS1kZXNjcmliZWRieSIsInBhbmVsQ2xhc3MiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3IiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwibXVsdGlwbGUiLCJkaXNhYmxlT3B0aW9uQ2VudGVyaW5nIiwiY29tcGFyZVdpdGgiLCJ2YWx1ZSIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJlcnJvclN0YXRlTWF0Y2hlciIsInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLCJzb3J0Q29tcGFyYXRvciIsImlkIiwicGFuZWxXaWR0aCJdLG91dHB1dHM6WyJvcGVuZWRDaGFuZ2UiLCJvcGVuZWQiLCJjbG9zZWQiLCJzZWxlY3Rpb25DaGFuZ2UiLCJ2YWx1ZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2VsZWN0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmIuTWF0VGFibGUsc2VsZWN0b3I6Im1hdC10YWJsZSwgdGFibGVbbWF0LXRhYmxlXSIsZXhwb3J0QXM6WyJtYXRUYWJsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0SGVhZGVyQ2VsbERlZixzZWxlY3RvcjoiW21hdEhlYWRlckNlbGxEZWZdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlclJvd0RlZixzZWxlY3RvcjoiW21hdEhlYWRlclJvd0RlZl0iLGlucHV0czpbIm1hdEhlYWRlclJvd0RlZiIsIm1hdEhlYWRlclJvd0RlZlN0aWNreSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Q29sdW1uRGVmLHNlbGVjdG9yOiJbbWF0Q29sdW1uRGVmXSIsaW5wdXRzOlsibWF0Q29sdW1uRGVmIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsRGVmLHNlbGVjdG9yOiJbbWF0Q2VsbERlZl0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Um93RGVmLHNlbGVjdG9yOiJbbWF0Um93RGVmXSIsaW5wdXRzOlsibWF0Um93RGVmQ29sdW1ucyIsIm1hdFJvd0RlZldoZW4iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlckNlbGwsc2VsZWN0b3I6Im1hdC1oZWFkZXItY2VsbCwgdGhbbWF0LWhlYWRlci1jZWxsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsLHNlbGVjdG9yOiJtYXQtY2VsbCwgdGRbbWF0LWNlbGxdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdEhlYWRlclJvdyxzZWxlY3RvcjoibWF0LWhlYWRlci1yb3csIHRyW21hdC1oZWFkZXItcm93XSIsZXhwb3J0QXM6WyJtYXRIZWFkZXJSb3ciXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdFJvdyxzZWxlY3RvcjoibWF0LXJvdywgdHJbbWF0LXJvd10iLGV4cG9ydEFzOlsibWF0Um93Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Zi5NYXRTb3J0LHNlbGVjdG9yOiJbbWF0U29ydF0iLGlucHV0czpbIm1hdFNvcnRBY3RpdmUiLCJtYXRTb3J0U3RhcnQiLCJtYXRTb3J0RGlyZWN0aW9uIiwibWF0U29ydERpc2FibGVDbGVhciIsIm1hdFNvcnREaXNhYmxlZCJdLG91dHB1dHM6WyJtYXRTb3J0Q2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTb3J0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Zi5NYXRTb3J0SGVhZGVyLHNlbGVjdG9yOiJbbWF0LXNvcnQtaGVhZGVyXSIsaW5wdXRzOlsibWF0LXNvcnQtaGVhZGVyIiwiYXJyb3dQb3NpdGlvbiIsInN0YXJ0IiwiZGlzYWJsZWQiLCJzb3J0QWN0aW9uRGVzY3JpcHRpb24iLCJkaXNhYmxlQ2xlYXIiXSxleHBvcnRBczpbIm1hdFNvcnRIZWFkZXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRTaG93SGlkZURpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhTaG93XSwgW2Z4U2hvdy5wcmludF0sICBbZnhTaG93LnhzXSwgW2Z4U2hvdy5zbV0sIFtmeFNob3cubWRdLCBbZnhTaG93LmxnXSwgW2Z4U2hvdy54bF0sICBbZnhTaG93Lmx0LXNtXSwgW2Z4U2hvdy5sdC1tZF0sIFtmeFNob3cubHQtbGddLCBbZnhTaG93Lmx0LXhsXSwgIFtmeFNob3cuZ3QteHNdLCBbZnhTaG93Lmd0LXNtXSwgW2Z4U2hvdy5ndC1tZF0sIFtmeFNob3cuZ3QtbGddLCAgW2Z4SGlkZV0sIFtmeEhpZGUucHJpbnRdLCAgW2Z4SGlkZS54c10sIFtmeEhpZGUuc21dLCBbZnhIaWRlLm1kXSwgW2Z4SGlkZS5sZ10sIFtmeEhpZGUueGxdLCAgW2Z4SGlkZS5sdC1zbV0sIFtmeEhpZGUubHQtbWRdLCBbZnhIaWRlLmx0LWxnXSwgW2Z4SGlkZS5sdC14bF0sICBbZnhIaWRlLmd0LXhzXSwgW2Z4SGlkZS5ndC1zbV0sIFtmeEhpZGUuZ3QtbWRdLCBbZnhIaWRlLmd0LWxnXSIsaW5wdXRzOlsiZnhTaG93IiwiZnhTaG93LnByaW50IiwiZnhTaG93LnhzIiwiZnhTaG93LnNtIiwiZnhTaG93Lm1kIiwiZnhTaG93LmxnIiwiZnhTaG93LnhsIiwiZnhTaG93Lmx0LXNtIiwiZnhTaG93Lmx0LW1kIiwiZnhTaG93Lmx0LWxnIiwiZnhTaG93Lmx0LXhsIiwiZnhTaG93Lmd0LXhzIiwiZnhTaG93Lmd0LXNtIiwiZnhTaG93Lmd0LW1kIiwiZnhTaG93Lmd0LWxnIiwiZnhIaWRlIiwiZnhIaWRlLnByaW50IiwiZnhIaWRlLnhzIiwiZnhIaWRlLnNtIiwiZnhIaWRlLm1kIiwiZnhIaWRlLmxnIiwiZnhIaWRlLnhsIiwiZnhIaWRlLmx0LXNtIiwiZnhIaWRlLmx0LW1kIiwiZnhIaWRlLmx0LWxnIiwiZnhIaWRlLmx0LXhsIiwiZnhIaWRlLmd0LXhzIiwiZnhIaWRlLmd0LXNtIiwiZnhIaWRlLmd0LW1kIiwiZnhIaWRlLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6InBpcGUiLHR5cGU6Xy5EYXRlUGlwZSxuYW1lOiJkYXRlIn0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XX0pfX1lKCJHYXRld2F5U3RhdGlzdGljc0NvbXBvbmVudCIscGEpLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6cGEsZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktc3RhdGlzdGljcyIsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJzdGF0aXN0aWNzLWNvbnRhaW5lciIgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXQubHQtbWQ9ImNvbHVtbiI+XG4gIDxtYXQtY2FyZCBbZm9ybUdyb3VwXT0ic3RhdGlzdGljRm9ybSIgKm5nSWY9IiFnZW5lcmFsIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3Muc3RhdGlzdGljXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ic3RhdGlzdGljS2V5Ij5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQga2V5IG9mIHN0YXRpc3RpY3NLZXlzIiBbdmFsdWVdPSJrZXkiPlxuICAgICAgICAgIHt7IGtleSB9fVxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGNvbW1hbmQgb2YgY29tbWFuZHMiIFt2YWx1ZV09ImNvbW1hbmQuYXR0cmlidXRlT25HYXRld2F5Ij5cbiAgICAgICAgICB7eyBjb21tYW5kLmF0dHJpYnV0ZU9uR2F0ZXdheSB9fVxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWVycm9yXG4gICAgICAqbmdJZj0iIXN0YXRpc3RpY3NLZXlzLmxlbmd0aCAmJiAhY29tbWFuZHMubGVuZ3RoIj5cbiAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnN0YXRpc3RpYy1jb21tYW5kcy1lbXB0eVwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gICAgPGRpdj5cbiAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJuYXZpZ2F0ZVRvU3RhdGlzdGljcygpIj5cbiAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3Muc3RhdGlzdGljcy1idXR0b25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siICpuZ0lmPSJjb21tYW5kT2JqIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY29tbWFuZFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgW3ZhbHVlXT0iY29tbWFuZE9iai5jb21tYW5kIiBkaXNhYmxlZD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L21hdC1jYXJkPlxuICA8ZGl2IGNsYXNzPSJjaGFydC1ib3giIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgIDxkaXYgY2xhc3M9ImNoYXJ0LWNvbnRhaW5lciIgI3N0YXRpc3RpY0NoYXJ0IFtmeFNob3ddPSJpc051bWVyaWNEYXRhIj48L2Rpdj5cbiAgICA8dGFibGUgW2Z4U2hvd109IiFpc051bWVyaWNEYXRhIiBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPSJkYXRhU291cmNlIlxuICAgICAgICAgICBtYXRTb3J0IFttYXRTb3J0QWN0aXZlXT0icGFnZUxpbmsuc29ydE9yZGVyLnByb3BlcnR5IiBbbWF0U29ydERpcmVjdGlvbl09InBhZ2VMaW5rLnNvcnREaXJlY3Rpb24oKSJcbiAgICAgICAgICAgbWF0U29ydERpc2FibGVDbGVhcj5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPSIwIj5cbiAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3sgXCd3aWRnZXRzLmdhdGV3YXkuY3JlYXRlZC10aW1lXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHJvdzsgbGV0IHJvd0luZGV4ID0gaW5kZXgiPlxuICAgICAgICAgIHt7IHJvd1swXXwgZGF0ZTpcJ3l5eXktTU0tZGQgSEg6bW06c3NcJyB9fVxuICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iMSI+XG4gICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiA3MCUiPnt7IFwnd2lkZ2V0cy5nYXRld2F5Lm1lc3NhZ2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgcm93Ij5cbiAgICAgICAgICB7eyByb3dbMV0gfX1cbiAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG1hdC1oZWFkZXItcm93IGNsYXNzPSJtYXQtcm93LXNlbGVjdCJcbiAgICAgICAgICAgICAgICAgICAgICAqbWF0SGVhZGVyUm93RGVmPSJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWUiPjwvbWF0LWhlYWRlci1yb3c+XG4gICAgICA8bWF0LXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiXG4gICAgICAgICAgICAgICAqbWF0Um93RGVmPSJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyI+PC9tYXQtcm93PlxuICAgIDwvdGFibGU+XG4gICAgPHNwYW4gW2Z4U2hvd109ImRhdGFTb3VyY2UuZGF0YS5sZW5ndGggPT09IDAgJiYgIWlzTnVtZXJpY0RhdGEiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCI+e3sgXCdhdHRyaWJ1dGUubm8tdGVsZW1ldHJ5LXRleHRcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8ZGl2IGZ4RmxleCBjbGFzcz0ibGVnZW5kIiBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIiBbZnhTaG93XT0iaXNOdW1lcmljRGF0YSI+XG4gICAgICA8ZGl2IGNsYXNzPSJsZWdlbmQta2V5cyIgKm5nRm9yPSJsZXQgbGVnZW5kS2V5IG9mIGxlZ2VuZERhdGE/LmtleXMiIGZ4TGF5b3V0PSJyb3ciXG4gICAgICAgICAgIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiPlxuICAgICAgICA8c3BhbiBjbGFzcz0ibGVnZW5kLWxpbmUiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT0ibGVnZW5kS2V5LmRhdGFLZXkuY29sb3IiPjwvc3Bhbj5cbiAgICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLWxhYmVsIlxuICAgICAgICAgICAgIChjbGljayk9Im9uTGVnZW5kS2V5SGlkZGVuQ2hhbmdlKGxlZ2VuZEtleS5kYXRhSW5kZXgpIlxuICAgICAgICAgICAgIFtjbGFzc109InsgXCdoaWRkZW4tbGFiZWxcJzogbGVnZW5kRGF0YS5rZXlzW2xlZ2VuZEtleS5kYXRhSW5kZXhdLmRhdGFLZXkuaGlkZGVuIH0iXG4gICAgICAgICAgICAgW2lubmVySFRNTF09ImxlZ2VuZEtleS5kYXRhS2V5LmxhYmVsIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cGFkZGluZzowfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lcntoZWlnaHQ6MTAwJTtvdmVyZmxvdy15OmF1dG99Omhvc3QgLnN0YXRpc3RpY3MtY29udGFpbmVyIG1hdC1jYXJke3dpZHRoOjQwJTtoZWlnaHQ6MTAwJTttYXJnaW4tcmlnaHQ6MzVweDtwYWRkaW5nOjE1cHg7Z2FwOjIycHh9QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCl7Omhvc3QgLnN0YXRpc3RpY3MtY29udGFpbmVyIG1hdC1jYXJke3dpZHRoOjEwMCV9fTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciAuY2hhcnQtYm94LDpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciAuY2hhcnQtY29udGFpbmVye2hlaWdodDoxMDAlO2ZsZXgtZ3JvdzoxfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciAuY2hhcnQtYm94e292ZXJmbG93OmF1dG99Omhvc3QgLnN0YXRpc3RpY3MtY29udGFpbmVyPip7aGVpZ2h0OjEwMCV9Omhvc3QgLmxlZ2VuZHtmbGV4LXdyYXA6d3JhcDt3aWR0aDoxMDAlO3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo0cHg7bWFyZ2luLXRvcDoxNXB4fTpob3N0IC5sZWdlbmQgLmxlZ2VuZC1rZXlzIC5sZWdlbmQtbGFiZWx7cGFkZGluZzoycHggMjBweCAycHggMTBweDt3aGl0ZS1zcGFjZTpub3dyYXB9Omhvc3QgLmxlZ2VuZCAubGVnZW5kLWtleXMgLmxlZ2VuZC1sYWJlbC5oaWRkZW4tbGFiZWx7dGV4dC1kZWNvcmF0aW9uOmxpbmUtdGhyb3VnaDtvcGFjaXR5Oi42fTpob3N0IC5sZWdlbmQgLmxlZ2VuZC1rZXlzIC5sZWdlbmQtbGFiZWw6Zm9jdXN7b3V0bGluZTpub25lfTpob3N0IC5sZWdlbmQgLmxlZ2VuZC1rZXlzIC5sZWdlbmQtbGluZXtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxNXB4O2hlaWdodDozcHg7dGV4dC1hbGlnbjpsZWZ0O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtvdXRsaW5lOm5vbmV9XG4nXX1dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTptZS5Gb3JtQnVpbGRlcn0se3R5cGU6WC5BdHRyaWJ1dGVTZXJ2aWNlfSx7dHlwZTpYLlV0aWxzU2VydmljZX1dLHByb3BEZWNvcmF0b3JzOntzb3J0Olt7dHlwZTpvLGFyZ3M6W2ddfV0sc3RhdGlzdGljQ2hhcnQ6W3t0eXBlOm8sYXJnczpbInN0YXRpc3RpY0NoYXJ0Il19XSxjdHg6W3t0eXBlOmF9XSxnZW5lcmFsOlt7dHlwZTphfV19fSk7Y2xhc3MgbWF7c3RhdGlje3RoaXMubXF0dFJlcXVlc3RUeXBlS2V5cz1PYmplY3QudmFsdWVzKEluKX1zdGF0aWN7dGhpcy5tcXR0UmVxdWVzdE1hcHBpbmdPbGRGaWVsZHM9WyJhdHRyaWJ1dGVOYW1lSnNvbkV4cHJlc3Npb24iLCJkZXZpY2VOYW1lSnNvbkV4cHJlc3Npb24iLCJkZXZpY2VOYW1lVG9waWNFeHByZXNzaW9uIiwiZXh0ZW5zaW9uLWNvbmZpZyJdfXN0YXRpY3t0aGlzLm1xdHRSZXF1ZXN0TWFwcGluZ05ld0ZpZWxkcz1bImF0dHJpYnV0ZU5hbWVFeHByZXNzaW9uU291cmNlIiwicmVzcG9uc2VUb3BpY1FvUyIsImV4dGVuc2lvbkNvbmZpZyJdfXN0YXRpYyBtYXBNYXBwaW5nVG9VcGdyYWRlZFZlcnNpb24oZSl7cmV0dXJuIGU/Lm1hcCgoKHtjb252ZXJ0ZXI6ZSx0b3BpY0ZpbHRlcjp0LHN1YnNjcmlwdGlvblFvczpuPTF9KT0+e2NvbnN0IGE9ZS5kZXZpY2VJbmZvPz90aGlzLmV4dHJhY3RDb252ZXJ0ZXJEZXZpY2VJbmZvKGUpLG89ey4uLmUsZGV2aWNlSW5mbzphLGV4dGVuc2lvbkNvbmZpZzplLmV4dGVuc2lvbkNvbmZpZ3x8ZVsiZXh0ZW5zaW9uLWNvbmZpZyJdfHxudWxsfTtyZXR1cm4gdGhpcy5jbGVhblVwT2xkRmllbGRzKG8pLHtjb252ZXJ0ZXI6byx0b3BpY0ZpbHRlcjp0LHN1YnNjcmlwdGlvblFvczpufX0pKX1zdGF0aWMgbWFwUmVxdWVzdHNUb1VwZ3JhZGVkVmVyc2lvbihlKXtyZXR1cm4gdGhpcy5tcXR0UmVxdWVzdFR5cGVLZXlzLnJlZHVjZSgoKHQsbik9PmVbbl0/KHRbbl09ZVtuXS5tYXAoKGU9Pntjb25zdCB0PXRoaXMubWFwUmVxdWVzdFRvVXBncmFkZWRWZXJzaW9uKGUsbik7cmV0dXJuIHRoaXMuY2xlYW5VcE9sZEZpZWxkcyh0KSx0fSkpLHQpOnQpLHt9KX1zdGF0aWMgbWFwUmVxdWVzdHNUb0Rvd25ncmFkZWRWZXJzaW9uKGUpe3JldHVybiB0aGlzLm1xdHRSZXF1ZXN0VHlwZUtleXMucmVkdWNlKCgodCxuKT0+ZVtuXT8odFtuXT1lW25dLm1hcCgoZT0+e249PT1Jbi5TRVJWRVJfU0lERV9SUEMmJmRlbGV0ZSBlLnR5cGU7Y29uc3R7YXR0cmlidXRlTmFtZUV4cHJlc3Npb246dCxkZXZpY2VJbmZvOmEsLi4ub309ZSxpPXsuLi5vLGF0dHJpYnV0ZU5hbWVKc29uRXhwcmVzc2lvbjp0fHxudWxsLGRldmljZU5hbWVKc29uRXhwcmVzc2lvbjphPy5kZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZSE9PVRuLlRPUElDP2E/LmRldmljZU5hbWVFeHByZXNzaW9uOm51bGwsZGV2aWNlTmFtZVRvcGljRXhwcmVzc2lvbjphPy5kZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZT09PVRuLlRPUElDP2E/LmRldmljZU5hbWVFeHByZXNzaW9uOm51bGx9O3JldHVybiB0aGlzLmNsZWFuVXBOZXdGaWVsZHMoaSksaX0pKSx0KTp0KSx7fSl9c3RhdGljIG1hcE1hcHBpbmdUb0Rvd25ncmFkZWRWZXJzaW9uKGUpe3JldHVybiBlPy5tYXAoKGU9Pntjb25zdCB0PXRoaXMubWFwQ29udmVydGVyVG9Eb3duZ3JhZGVkVmVyc2lvbihlLmNvbnZlcnRlcik7cmV0dXJuIHRoaXMuY2xlYW5VcE5ld0ZpZWxkcyh0KSx7Y29udmVydGVyOnQsdG9waWNGaWx0ZXI6ZS50b3BpY0ZpbHRlcn19KSl9c3RhdGljIG1hcENvbnZlcnRlclRvRG93bmdyYWRlZFZlcnNpb24oZSl7Y29uc3R7ZGV2aWNlSW5mbzp0LC4uLm59PWU7cmV0dXJuIGUudHlwZSE9PXduLkJZVEVTP3suLi5uLGRldmljZU5hbWVKc29uRXhwcmVzc2lvbjp0Py5kZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZT09PVRuLk1TRz90LmRldmljZU5hbWVFeHByZXNzaW9uOm51bGwsZGV2aWNlVHlwZUpzb25FeHByZXNzaW9uOnQ/LmRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlPT09VG4uTVNHP3QuZGV2aWNlUHJvZmlsZUV4cHJlc3Npb246bnVsbCxkZXZpY2VOYW1lVG9waWNFeHByZXNzaW9uOnQ/LmRldmljZU5hbWVFeHByZXNzaW9uU291cmNlIT09VG4uTVNHP3Q/LmRldmljZU5hbWVFeHByZXNzaW9uOm51bGwsZGV2aWNlVHlwZVRvcGljRXhwcmVzc2lvbjp0Py5kZXZpY2VQcm9maWxlRXhwcmVzc2lvblNvdXJjZSE9PVRuLk1TRz90Py5kZXZpY2VQcm9maWxlRXhwcmVzc2lvbjpudWxsfTp7Li4ubixkZXZpY2VOYW1lRXhwcmVzc2lvbjp0LmRldmljZU5hbWVFeHByZXNzaW9uLGRldmljZVR5cGVFeHByZXNzaW9uOnQuZGV2aWNlUHJvZmlsZUV4cHJlc3Npb24sImV4dGVuc2lvbi1jb25maWciOmUuZXh0ZW5zaW9uQ29uZmlnfX1zdGF0aWMgY2xlYW5VcE9sZEZpZWxkcyhlKXt0aGlzLm1xdHRSZXF1ZXN0TWFwcGluZ09sZEZpZWxkcy5mb3JFYWNoKCh0PT5kZWxldGUgZVt0XSkpLFooZSl9c3RhdGljIGNsZWFuVXBOZXdGaWVsZHMoZSl7dGhpcy5tcXR0UmVxdWVzdE1hcHBpbmdOZXdGaWVsZHMuZm9yRWFjaCgodD0+ZGVsZXRlIGVbdF0pKSxaKGUpfXN0YXRpYyBnZXRUeXBlU291cmNlQnlWYWx1ZShlKXtyZXR1cm4gZS5pbmNsdWRlcygiJHsiKT9Ubi5NU0c6ZS5pbmNsdWRlcygiLyIpP1RuLlRPUElDOlRuLkNPTlNUfXN0YXRpYyBleHRyYWN0Q29udmVydGVyRGV2aWNlSW5mbyhlKXtjb25zdCB0PWUuZGV2aWNlTmFtZUV4cHJlc3Npb258fGUuZGV2aWNlTmFtZUpzb25FeHByZXNzaW9ufHxlLmRldmljZU5hbWVUb3BpY0V4cHJlc3Npb258fG51bGwsbj1lLmRldmljZU5hbWVFeHByZXNzaW9uU291cmNlP2UuZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2U6dD90aGlzLmdldFR5cGVTb3VyY2VCeVZhbHVlKHQpOm51bGwsYT1lLmRldmljZVByb2ZpbGVFeHByZXNzaW9ufHxlLmRldmljZVR5cGVUb3BpY0V4cHJlc3Npb258fGUuZGV2aWNlVHlwZUpzb25FeHByZXNzaW9ufHwiZGVmYXVsdCIsbz1lLmRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlP2UuZGV2aWNlUHJvZmlsZUV4cHJlc3Npb25Tb3VyY2U6YT90aGlzLmdldFR5cGVTb3VyY2VCeVZhbHVlKGEpOm51bGw7cmV0dXJuIHR8fGE/e2RldmljZU5hbWVFeHByZXNzaW9uOnQsZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2U6bixkZXZpY2VQcm9maWxlRXhwcmVzc2lvbjphLGRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlOm99Om51bGx9c3RhdGljIG1hcFJlcXVlc3RUb1VwZ3JhZGVkVmVyc2lvbihlLHQpe2NvbnN0IG49ZS5kZXZpY2VOYW1lSnNvbkV4cHJlc3Npb258fGUuZGV2aWNlTmFtZVRvcGljRXhwcmVzc2lvbnx8bnVsbCxhPWUuZGV2aWNlVHlwZVRvcGljRXhwcmVzc2lvbnx8ZS5kZXZpY2VUeXBlSnNvbkV4cHJlc3Npb258fCJkZWZhdWx0IixvPWE/dGhpcy5nZXRUeXBlU291cmNlQnlWYWx1ZShhKTpudWxsLGk9ZS5hdHRyaWJ1dGVOYW1lRXhwcmVzc2lvblNvdXJjZXx8ZS5hdHRyaWJ1dGVOYW1lSnNvbkV4cHJlc3Npb258fG51bGwscj10PT09SW4uU0VSVkVSX1NJREVfUlBDPzE6bnVsbCxzPXQ9PT1Jbi5TRVJWRVJfU0lERV9SUEM/ZS5yZXNwb25zZVRvcGljRXhwcmVzc2lvbj9Gbi5XaXRoUmVzcG9uc2U6Rm4uV2l0aG91dFJlc3BvbnNlOm51bGw7cmV0dXJuey4uLmUsYXR0cmlidXRlTmFtZUV4cHJlc3Npb246aSxhdHRyaWJ1dGVOYW1lRXhwcmVzc2lvblNvdXJjZTppP3RoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoaSk6bnVsbCxkZXZpY2VJbmZvOmUuZGV2aWNlSW5mbz9lLmRldmljZUluZm86bj97ZGV2aWNlTmFtZUV4cHJlc3Npb246bixkZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZTp0aGlzLmdldFR5cGVTb3VyY2VCeVZhbHVlKG4pLGRldmljZVByb2ZpbGVFeHByZXNzaW9uOmEsZGV2aWNlUHJvZmlsZUV4cHJlc3Npb25Tb3VyY2U6b306bnVsbCxyZXNwb25zZVRvcGljUW9TOnIsdHlwZTpzfX19ZSgiTXF0dFZlcnNpb25NYXBwaW5nVXRpbCIsbWEpO2NsYXNzIGRhe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5nYXRld2F5VmVyc2lvbkluPWUsdGhpcy5jb25uZWN0b3I9dCx0aGlzLmdhdGV3YXlWZXJzaW9uPWJhLnBhcnNlVmVyc2lvbih0aGlzLmdhdGV3YXlWZXJzaW9uSW4pLHRoaXMuY29uZmlnVmVyc2lvbj1iYS5wYXJzZVZlcnNpb24odGhpcy5jb25uZWN0b3IuY29uZmlnVmVyc2lvbil9Z2V0UHJvY2Vzc2VkQnlWZXJzaW9uKCl7cmV0dXJuIHRoaXMuaXNWZXJzaW9uVXBkYXRlTmVlZGVkKCk/dGhpcy5wcm9jZXNzVmVyc2lvblVwZGF0ZSgpOnRoaXMuY29ubmVjdG9yfXByb2Nlc3NWZXJzaW9uVXBkYXRlKCl7cmV0dXJuIHRoaXMuaXNWZXJzaW9uVXBncmFkZU5lZWRlZCgpP3RoaXMuZ2V0VXBncmFkZWRWZXJzaW9uKCk6dGhpcy5pc1ZlcnNpb25Eb3duZ3JhZGVOZWVkZWQoKT90aGlzLmdldERvd25ncmFkZWRWZXJzaW9uKCk6dGhpcy5jb25uZWN0b3J9aXNWZXJzaW9uVXBkYXRlTmVlZGVkKCl7cmV0dXJuISF0aGlzLmdhdGV3YXlWZXJzaW9uJiZ0aGlzLmNvbmZpZ1ZlcnNpb24hPT10aGlzLmdhdGV3YXlWZXJzaW9ufWlzVmVyc2lvblVwZ3JhZGVOZWVkZWQoKXtyZXR1cm4gdGhpcy5nYXRld2F5VmVyc2lvbj49YmEucGFyc2VWZXJzaW9uKFV0LkN1cnJlbnQpJiYoIXRoaXMuY29uZmlnVmVyc2lvbnx8dGhpcy5jb25maWdWZXJzaW9uPHRoaXMuZ2F0ZXdheVZlcnNpb24pfWlzVmVyc2lvbkRvd25ncmFkZU5lZWRlZCgpe3JldHVybiB0aGlzLmNvbmZpZ1ZlcnNpb24mJnRoaXMuY29uZmlnVmVyc2lvbj49YmEucGFyc2VWZXJzaW9uKFV0LkN1cnJlbnQpJiZ0aGlzLmNvbmZpZ1ZlcnNpb24+dGhpcy5nYXRld2F5VmVyc2lvbn19ZSgiR2F0ZXdheUNvbm5lY3RvclZlcnNpb25Qcm9jZXNzb3IiLGRhKTtjbGFzcyB1YSBleHRlbmRzIGRhe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLmdhdGV3YXlWZXJzaW9uSW49ZSx0aGlzLmNvbm5lY3Rvcj10LHRoaXMubXF0dFJlcXVlc3RUeXBlS2V5cz1PYmplY3QudmFsdWVzKEluKX1nZXRVcGdyYWRlZFZlcnNpb24oKXtjb25zdHtjb25uZWN0UmVxdWVzdHM6ZSxkaXNjb25uZWN0UmVxdWVzdHM6dCxhdHRyaWJ1dGVSZXF1ZXN0czpuLGF0dHJpYnV0ZVVwZGF0ZXM6YSxzZXJ2ZXJTaWRlUnBjOm99PXRoaXMuY29ubmVjdG9yLmNvbmZpZ3VyYXRpb25Kc29uO2xldCBpPXsuLi50aGlzLmNvbm5lY3Rvci5jb25maWd1cmF0aW9uSnNvbixyZXF1ZXN0c01hcHBpbmc6bWEubWFwUmVxdWVzdHNUb1VwZ3JhZGVkVmVyc2lvbih7Y29ubmVjdFJlcXVlc3RzOmUsZGlzY29ubmVjdFJlcXVlc3RzOnQsYXR0cmlidXRlUmVxdWVzdHM6bixhdHRyaWJ1dGVVcGRhdGVzOmEsc2VydmVyU2lkZVJwYzpvfSksbWFwcGluZzptYS5tYXBNYXBwaW5nVG9VcGdyYWRlZFZlcnNpb24odGhpcy5jb25uZWN0b3IuY29uZmlndXJhdGlvbkpzb24ubWFwcGluZyl9O3JldHVybiB0aGlzLm1xdHRSZXF1ZXN0VHlwZUtleXMuZm9yRWFjaCgoZT0+e2NvbnN0e1tlXTp0LC4uLm59PWk7aT17Li4ubn19KSksdGhpcy5jbGVhblVwQ29uZmlnSnNvbihpKSx7Li4udGhpcy5jb25uZWN0b3IsY29uZmlndXJhdGlvbkpzb246aSxjb25maWdWZXJzaW9uOnRoaXMuZ2F0ZXdheVZlcnNpb25Jbn19Z2V0RG93bmdyYWRlZFZlcnNpb24oKXtjb25zdHtyZXF1ZXN0c01hcHBpbmc6ZSxtYXBwaW5nOnQsLi4ubn09dGhpcy5jb25uZWN0b3IuY29uZmlndXJhdGlvbkpzb24sYT1lP21hLm1hcFJlcXVlc3RzVG9Eb3duZ3JhZGVkVmVyc2lvbihlKTp7fSxvPW1hLm1hcE1hcHBpbmdUb0Rvd25ncmFkZWRWZXJzaW9uKHQpO3JldHVybnsuLi50aGlzLmNvbm5lY3Rvcixjb25maWd1cmF0aW9uSnNvbjp7Li4ubiwuLi5hLG1hcHBpbmc6b30sY29uZmlnVmVyc2lvbjp0aGlzLmdhdGV3YXlWZXJzaW9uSW59fWNsZWFuVXBDb25maWdKc29uKGUpe2VlKGUucmVxdWVzdHNNYXBwaW5nLHt9KSYmZGVsZXRlIGUucmVxdWVzdHNNYXBwaW5nLGVlKGUubWFwcGluZyxbXSkmJmRlbGV0ZSBlLm1hcHBpbmd9fWUoIk1xdHRWZXJzaW9uUHJvY2Vzc29yIix1YSk7Y2xhc3MgZ2EgZXh0ZW5kcyBkYXtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5nYXRld2F5VmVyc2lvbkluPWUsdGhpcy5jb25uZWN0b3I9dH1nZXRVcGdyYWRlZFZlcnNpb24oKXtjb25zdCBlPXRoaXMuY29ubmVjdG9yLmNvbmZpZ3VyYXRpb25Kc29uO3JldHVybnsuLi50aGlzLmNvbm5lY3Rvcixjb25maWd1cmF0aW9uSnNvbjp7bWFzdGVyOmUubWFzdGVyPy5zbGF2ZXM/aGEubWFwTWFzdGVyVG9VcGdyYWRlZFZlcnNpb24oZS5tYXN0ZXIpOntzbGF2ZXM6W119LHNsYXZlOmUuc2xhdmU/aGEubWFwU2xhdmVUb1VwZ3JhZGVkVmVyc2lvbihlLnNsYXZlKTp7fX0sY29uZmlnVmVyc2lvbjp0aGlzLmdhdGV3YXlWZXJzaW9uSW59fWdldERvd25ncmFkZWRWZXJzaW9uKCl7Y29uc3QgZT10aGlzLmNvbm5lY3Rvci5jb25maWd1cmF0aW9uSnNvbjtyZXR1cm57Li4udGhpcy5jb25uZWN0b3IsY29uZmlndXJhdGlvbkpzb246ey4uLmUsc2xhdmU6ZS5zbGF2ZT9oYS5tYXBTbGF2ZVRvRG93bmdyYWRlZFZlcnNpb24oZS5zbGF2ZSk6e30sbWFzdGVyOmUubWFzdGVyPy5zbGF2ZXM/aGEubWFwTWFzdGVyVG9Eb3duZ3JhZGVkVmVyc2lvbihlLm1hc3Rlcik6e3NsYXZlczpbXX19LGNvbmZpZ1ZlcnNpb246dGhpcy5nYXRld2F5VmVyc2lvbklufX19ZSgiTW9kYnVzVmVyc2lvblByb2Nlc3NvciIsZ2EpO2NsYXNzIGZhIGV4dGVuZHMgZGF7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpLHRoaXMuZ2F0ZXdheVZlcnNpb25Jbj1lLHRoaXMuY29ubmVjdG9yPXR9Z2V0VXBncmFkZWRWZXJzaW9uKCl7Y29uc3QgZT10aGlzLmNvbm5lY3Rvci5jb25maWd1cmF0aW9uSnNvbi5zZXJ2ZXI7cmV0dXJuey4uLnRoaXMuY29ubmVjdG9yLGNvbmZpZ3VyYXRpb25Kc29uOntzZXJ2ZXI6ZT94YS5tYXBTZXJ2ZXJUb1VwZ3JhZGVkVmVyc2lvbihlKTp7fSxtYXBwaW5nOmU/Lm1hcHBpbmc/eGEubWFwTWFwcGluZ1RvVXBncmFkZWRWZXJzaW9uKGUubWFwcGluZyk6W119LGNvbmZpZ1ZlcnNpb246dGhpcy5nYXRld2F5VmVyc2lvbklufX1nZXREb3duZ3JhZGVkVmVyc2lvbigpe3JldHVybnsuLi50aGlzLmNvbm5lY3Rvcixjb25maWd1cmF0aW9uSnNvbjp7c2VydmVyOnhhLm1hcFNlcnZlclRvRG93bmdyYWRlZFZlcnNpb24odGhpcy5jb25uZWN0b3IuY29uZmlndXJhdGlvbkpzb24pfSxjb25maWdWZXJzaW9uOnRoaXMuZ2F0ZXdheVZlcnNpb25Jbn19fWUoIk9wY1ZlcnNpb25Qcm9jZXNzb3IiLGZhKTtjbGFzcyB5YXtjb25zdHJ1Y3Rvcigpe3RoaXMuaW5pdGlhbGl6ZWQ9bmV3IGksdGhpcy5mYj1yKGRlKSx0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLmJhc2ljRm9ybUdyb3VwPXRoaXMuaW5pdEJhc2ljRm9ybUdyb3VwKCksdGhpcy5iYXNpY0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT50aGlzLm9uQmFzaWNGb3JtR3JvdXBDaGFuZ2UoZSkpKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLmluaXRpYWxpemVkLmVtaXQoKX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLmJhc2ljRm9ybUdyb3VwLnZhbGlkP251bGw6e2Jhc2ljRm9ybUdyb3VwOnt2YWxpZDohMX19fXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9d3JpdGVWYWx1ZShlKXt0aGlzLmJhc2ljRm9ybUdyb3VwLnNldFZhbHVlKHRoaXMubWFwQ29uZmlnVG9Gb3JtVmFsdWUoZSkse2VtaXRFdmVudDohMX0pfW9uQmFzaWNGb3JtR3JvdXBDaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZSh0aGlzLmdldE1hcHBlZFZhbHVlKGUpKSx0aGlzLm9uVG91Y2hlZCgpfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6eWEsZGVwczpbXSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5EaXJlY3RpdmV9KX1zdGF0aWN7dGhpcy7JtWRpcj10Lsm1ybVuZ0RlY2xhcmVEaXJlY3RpdmUoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOnlhLGlucHV0czp7Z2VuZXJhbFRhYkNvbnRlbnQ6ImdlbmVyYWxUYWJDb250ZW50In0sb3V0cHV0czp7aW5pdGlhbGl6ZWQ6ImluaXRpYWxpemVkIn0sbmdJbXBvcnQ6dH0pfX1lKCJHYXRld2F5Q29ubmVjdG9yQmFzaWNDb25maWdEaXJlY3RpdmUiLHlhKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnlhLGRlY29yYXRvcnM6W3t0eXBlOnN9XSxjdG9yUGFyYW1ldGVyczooKT0+W10scHJvcERlY29yYXRvcnM6e2dlbmVyYWxUYWJDb250ZW50Olt7dHlwZTphfV0saW5pdGlhbGl6ZWQ6W3t0eXBlOmx9XX19KTtjbGFzcyBiYXtzdGF0aWMgZ2V0Q29uZmlnKGUsdCl7c3dpdGNoKGUudHlwZSl7Y2FzZSBfdC5NUVRUOnJldHVybiBuZXcgdWEodCxlKS5nZXRQcm9jZXNzZWRCeVZlcnNpb24oKTtjYXNlIF90Lk9QQ1VBOnJldHVybiBuZXcgZmEodCxlKS5nZXRQcm9jZXNzZWRCeVZlcnNpb24oKTtjYXNlIF90Lk1PREJVUzpyZXR1cm4gbmV3IGdhKHQsZSkuZ2V0UHJvY2Vzc2VkQnlWZXJzaW9uKCk7ZGVmYXVsdDpyZXR1cm4gZX19c3RhdGljIHBhcnNlVmVyc2lvbihlKXtyZXR1cm4gdGUoZSk/ZTpuZShlKT9wYXJzZUZsb2F0KGUucmVwbGFjZSgvXC4vZywiIikuc2xpY2UoMCwzKSkvMTAwOjB9fWUoIkdhdGV3YXlDb25uZWN0b3JWZXJzaW9uTWFwcGluZ1V0aWwiLGJhKTtjbGFzcyBoYXtzdGF0aWMgbWFwTWFzdGVyVG9VcGdyYWRlZFZlcnNpb24oZSl7cmV0dXJue3NsYXZlczplLnNsYXZlcy5tYXAoKGU9Pntjb25zdHtzZW5kRGF0YU9ubHlPbkNoYW5nZTp0LC4uLm59PWU7cmV0dXJuey4uLm4sZGV2aWNlVHlwZTplLmRldmljZVR5cGU/PyJkZWZhdWx0IixyZXBvcnRTdHJhdGVneTp0P3t0eXBlOnNuLk9uQ2hhbmdlfTp7dHlwZTpzbi5PblJlcG9ydFBlcmlvZCxyZXBvcnRQZXJpb2Q6ZS5wb2xsUGVyaW9kfX19KSl9fXN0YXRpYyBtYXBNYXN0ZXJUb0Rvd25ncmFkZWRWZXJzaW9uKGUpe3JldHVybntzbGF2ZXM6ZS5zbGF2ZXMubWFwKChlPT57Y29uc3R7cmVwb3J0U3RyYXRlZ3k6dCwuLi5ufT1lO3JldHVybnsuLi5uLHNlbmREYXRhT25seU9uQ2hhbmdlOnQ/LnR5cGUhPT1zbi5PblJlcG9ydFBlcmlvZH19KSl9fXN0YXRpYyBtYXBTbGF2ZVRvRG93bmdyYWRlZFZlcnNpb24oZSl7aWYoIWU/LnZhbHVlcylyZXR1cm4gZTtjb25zdCB0PU9iamVjdC5rZXlzKGUudmFsdWVzKS5yZWR1Y2UoKCh0LG4pPT50PXsuLi50LFtuXTpbZS52YWx1ZXNbbl1dfSkse30pO3JldHVybnsuLi5lLHZhbHVlczp0fX1zdGF0aWMgbWFwU2xhdmVUb1VwZ3JhZGVkVmVyc2lvbihlKXtpZighZT8udmFsdWVzKXJldHVybiBlO2NvbnN0IHQ9T2JqZWN0LmtleXMoZS52YWx1ZXMpLnJlZHVjZSgoKHQsbik9PnQ9ey4uLnQsW25dOnRoaXMubWFwVmFsdWVzVG9VcGdyYWRlZFZlcnNpb24oZS52YWx1ZXNbbl1bMF0pfSkse30pO3JldHVybnsuLi5lLHZhbHVlczp0fX1zdGF0aWMgbWFwVmFsdWVzVG9VcGdyYWRlZFZlcnNpb24oZSl7cmV0dXJuIE9iamVjdC5rZXlzKGUpLnJlZHVjZSgoKHQsbik9PnQ9ey4uLnQsW25dOmVbbl0ubWFwKChlPT4oey4uLmUsdHlwZToiaW50Ij09PWUudHlwZT9lYS5JTlQxNjplLnR5cGV9KSkpfSkse30pfX1lKCJNb2RidXNWZXJzaW9uTWFwcGluZ1V0aWwiLGhhKTtjbGFzcyB4YXtzdGF0aWMgbWFwU2VydmVyVG9VcGdyYWRlZFZlcnNpb24oZSl7Y29uc3R7bWFwcGluZzp0LGRpc2FibGVTdWJzY3JpcHRpb25zOm4scG9sbFBlcmlvZEluTWlsbGlzOmEsLi4ub309ZTtyZXR1cm57Li4ubyxwb2xsUGVyaW9kSW5NaWxsaXM6YT8/NWUzLGVuYWJsZVN1YnNjcmlwdGlvbnM6IW59fXN0YXRpYyBtYXBTZXJ2ZXJUb0Rvd25ncmFkZWRWZXJzaW9uKGUpe2NvbnN0e21hcHBpbmc6dCxzZXJ2ZXI6bn09ZSx7ZW5hYmxlU3Vic2NyaXB0aW9uczphLC4uLm99PW4/P3t9O3JldHVybnsuLi5vLG1hcHBpbmc6dD90aGlzLm1hcE1hcHBpbmdUb0Rvd25ncmFkZWRWZXJzaW9uKHQpOltdLGRpc2FibGVTdWJzY3JpcHRpb25zOiFhfX1zdGF0aWMgbWFwTWFwcGluZ1RvVXBncmFkZWRWZXJzaW9uKGUpe3JldHVybiBlLm1hcCgoZT0+KHsuLi5lLGRldmljZU5vZGVTb3VyY2U6dGhpcy5nZXREZXZpY2VOb2RlU291cmNlQnlWYWx1ZShlLmRldmljZU5vZGVQYXR0ZXJuKSxkZXZpY2VJbmZvOntkZXZpY2VOYW1lRXhwcmVzc2lvbjplLmRldmljZU5hbWVQYXR0ZXJuLGRldmljZU5hbWVFeHByZXNzaW9uU291cmNlOnRoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoZS5kZXZpY2VOYW1lUGF0dGVybiksZGV2aWNlUHJvZmlsZUV4cHJlc3Npb246ZS5kZXZpY2VUeXBlUGF0dGVybj8/ImRlZmF1bHQiLGRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlOnRoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoZS5kZXZpY2VUeXBlUGF0dGVybj8/ImRlZmF1bHQiKX0sYXR0cmlidXRlczplLmF0dHJpYnV0ZXMubWFwKChlPT4oe2tleTplLmtleSx0eXBlOnRoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoZS5wYXRoKSx2YWx1ZTplLnBhdGh9KSkpLGF0dHJpYnV0ZXNfdXBkYXRlczplLmF0dHJpYnV0ZXNfdXBkYXRlcy5tYXAoKGU9Pih7a2V5OmUuYXR0cmlidXRlT25UaGluZ3NCb2FyZCx0eXBlOnRoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoZS5hdHRyaWJ1dGVPbkRldmljZSksdmFsdWU6ZS5hdHRyaWJ1dGVPbkRldmljZX0pKSksdGltZXNlcmllczplLnRpbWVzZXJpZXMubWFwKChlPT4oe2tleTplLmtleSx0eXBlOnRoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoZS5wYXRoKSx2YWx1ZTplLnBhdGh9KSkpLHJwY19tZXRob2RzOmUucnBjX21ldGhvZHMubWFwKChlPT4oe21ldGhvZDplLm1ldGhvZCxhcmd1bWVudHM6ZS5hcmd1bWVudHMubWFwKChlPT4oe3ZhbHVlOmUsdHlwZTp0aGlzLmdldEFyZ3VtZW50VHlwZShlKX0pKSl9KSkpfSkpKX1zdGF0aWMgbWFwTWFwcGluZ1RvRG93bmdyYWRlZFZlcnNpb24oZSl7cmV0dXJuIGUubWFwKChlPT4oey4uLmUsZGV2aWNlTmFtZVBhdHRlcm46ZS5kZXZpY2VJbmZvLmRldmljZU5hbWVFeHByZXNzaW9uLGRldmljZVR5cGVQYXR0ZXJuOmUuZGV2aWNlSW5mby5kZXZpY2VQcm9maWxlRXhwcmVzc2lvbixhdHRyaWJ1dGVzOmUuYXR0cmlidXRlcy5tYXAoKGU9Pih7a2V5OmUua2V5LHBhdGg6ZS52YWx1ZX0pKSksYXR0cmlidXRlc191cGRhdGVzOmUuYXR0cmlidXRlc191cGRhdGVzLm1hcCgoZT0+KHthdHRyaWJ1dGVPblRoaW5nc0JvYXJkOmUua2V5LGF0dHJpYnV0ZU9uRGV2aWNlOmUudmFsdWV9KSkpLHRpbWVzZXJpZXM6ZS50aW1lc2VyaWVzLm1hcCgoZT0+KHtrZXk6ZS5rZXkscGF0aDplLnZhbHVlfSkpKSxycGNfbWV0aG9kczplLnJwY19tZXRob2RzLm1hcCgoZT0+KHttZXRob2Q6ZS5tZXRob2QsYXJndW1lbnRzOmUuYXJndW1lbnRzLm1hcCgoZT0+ZS52YWx1ZSkpfSkpKX0pKSl9c3RhdGljIGdldFR5cGVTb3VyY2VCeVZhbHVlKGUpe3JldHVybiBlLmluY2x1ZGVzKCIkeyIpP1NuLklERU5USUZJRVI6ZS5pbmNsdWRlcygiLyIpfHxlLmluY2x1ZGVzKCJcXCIpP1NuLlBBVEg6U24uQ09OU1R9c3RhdGljIGdldERldmljZU5vZGVTb3VyY2VCeVZhbHVlKGUpe3JldHVybiBlLmluY2x1ZGVzKCIkeyIpP1NuLklERU5USUZJRVI6U24uUEFUSH1zdGF0aWMgZ2V0QXJndW1lbnRUeXBlKGUpe3N3aXRjaCh0eXBlb2YgZSl7Y2FzZSJib29sZWFuIjpyZXR1cm4iYm9vbGVhbiI7Y2FzZSJudW1iZXIiOnJldHVybiBOdW1iZXIuaXNJbnRlZ2VyKGUpPyJpbnRlZ2VyIjoiZmxvYXQiO2RlZmF1bHQ6cmV0dXJuInN0cmluZyJ9fX1lKCJPcGNWZXJzaW9uTWFwcGluZ1V0aWwiLHhhKTtjbGFzcyB2YXt0cmFuc2Zvcm0oZSl7cmV0dXJuIGJhLnBhcnNlVmVyc2lvbihlKT49YmEucGFyc2VWZXJzaW9uKFV0LkN1cnJlbnQpfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6dmEsZGVwczpbXSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5QaXBlfSl9c3RhdGlje3RoaXMuybVwaXBlPXQuybXJtW5nRGVjbGFyZVBpcGUoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6dmEsaXNTdGFuZGFsb25lOiEwLG5hbWU6ImlzTGF0ZXN0VmVyc2lvbkNvbmZpZyJ9KX19ZSgiTGF0ZXN0VmVyc2lvbkNvbmZpZ1BpcGUiLHZhKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnZhLGRlY29yYXRvcnM6W3t0eXBlOmMsYXJnczpbe25hbWU6ImlzTGF0ZXN0VmVyc2lvbkNvbmZpZyIsc3RhbmRhbG9uZTohMH1dfV19KTtjbGFzcyB3YXtjb25zdHJ1Y3RvcihlKXt0aGlzLnRyYW5zbGF0ZT1lfXRyYW5zZm9ybShlKXtyZXR1cm4gZS5oYXNFcnJvcigicmVxdWlyZWQiKT90aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LnBvcnQtcmVxdWlyZWQiKTplLmhhc0Vycm9yKCJtaW4iKXx8ZS5oYXNFcnJvcigibWF4Iik/dGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5wb3J0LWxpbWl0cy1lcnJvciIse21pbjpFdC5NSU4sbWF4OkV0Lk1BWH0pOiIifXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6d2EsZGVwczpbe3Rva2VuOlkuVHJhbnNsYXRlU2VydmljZX1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LlBpcGV9KX1zdGF0aWN7dGhpcy7JtXBpcGU9dC7Jtcm1bmdEZWNsYXJlUGlwZSh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTp3YSxpc1N0YW5kYWxvbmU6ITAsbmFtZToiZ2V0R2F0ZXdheVBvcnRUb29sdGlwIn0pfX1lKCJHYXRld2F5UG9ydFRvb2x0aXBQaXBlIix3YSksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTp3YSxkZWNvcmF0b3JzOlt7dHlwZTpjLGFyZ3M6W3tuYW1lOiJnZXRHYXRld2F5UG9ydFRvb2x0aXAiLHN0YW5kYWxvbmU6ITB9XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6WS5UcmFuc2xhdGVTZXJ2aWNlfV19KTtjbGFzcyBDYXt0cmFuc2Zvcm0oZSl7cmV0dXJuIGUubWFwKCgoe3ZhbHVlOmV9KT0+ZS50b1N0cmluZygpKSkuam9pbigiLCAiKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkNhLGRlcHM6W10sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuUGlwZX0pfXN0YXRpY3t0aGlzLsm1cGlwZT10Lsm1ybVuZ0RlY2xhcmVQaXBlKHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkNhLGlzU3RhbmRhbG9uZTohMCxuYW1lOiJnZXRScGNUZW1wbGF0ZUFycmF5VmlldyJ9KX19ZSgiUnBjVGVtcGxhdGVBcnJheVZpZXdQaXBlIixDYSksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpDYSxkZWNvcmF0b3JzOlt7dHlwZTpjLGFyZ3M6W3tuYW1lOiJnZXRScGNUZW1wbGF0ZUFycmF5VmlldyIsc3RhbmRhbG9uZTohMH1dfV19KTtjbGFzcyBUYXt0cmFuc2Zvcm0oZSx0LG4pe3JldHVybiFufHxuPy5pbmNsdWRlcyhTbi5QQVRIKT90IT09U24uQ09OU1Q/YHdpZGdldC9saWIvZ2F0ZXdheS8ke2V9LSR7dH1fZm5gOnZvaWQgMDoiYXR0cmlidXRlcyI9PT1lfHwidGltZXNlcmllcyI9PT1lPyJ3aWRnZXQvbGliL2dhdGV3YXkvYXR0cmlidXRlc190aW1lc2VyaWVzX2V4cHJlc3Npb25zX2ZuIjoid2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuIn1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlRhLGRlcHM6W10sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuUGlwZX0pfXN0YXRpY3t0aGlzLsm1cGlwZT10Lsm1ybVuZ0RlY2xhcmVQaXBlKHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlRhLGlzU3RhbmRhbG9uZTohMCxuYW1lOiJnZXRHYXRld2F5SGVscExpbmsifSl9fWUoIkdhdGV3YXlIZWxwTGlua1BpcGUiLFRhKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlRhLGRlY29yYXRvcnM6W3t0eXBlOmMsYXJnczpbe25hbWU6ImdldEdhdGV3YXlIZWxwTGluayIsc3RhbmRhbG9uZTohMH1dfV19KTtjbGFzcyBTYXtjb25zdHJ1Y3RvcihlLHQsbil7dGhpcy5lbGVtZW50UmVmPWUsdGhpcy5yZW5kZXJlcj10LHRoaXMudG9vbHRpcD1uLHRoaXMudG9vbHRpcEVuYWJsZWQ9ITAsdGhpcy5wb3NpdGlvbj0iYWJvdmUiLHRoaXMuZGVzdHJveSQ9bmV3IFNlfW5nT25Jbml0KCl7dGhpcy5vYnNlcnZlTW91c2VFdmVudHMoKSx0aGlzLmFwcGx5VHJ1bmNhdGlvblN0eWxlcygpfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMudG9vbHRpcC5wb3NpdGlvbj10aGlzLnBvc2l0aW9ufW5nT25EZXN0cm95KCl7dGhpcy50b29sdGlwLl9pc1Rvb2x0aXBWaXNpYmxlKCkmJnRoaXMuaGlkZVRvb2x0aXAoKSx0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9b2JzZXJ2ZU1vdXNlRXZlbnRzKCl7a2UodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIm1vdXNlZW50ZXIiKS5waXBlKE1lKCgoKT0+dGhpcy50b29sdGlwRW5hYmxlZCkpLE1lKCgoKT0+dGhpcy5pc092ZXJmbG93bih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkpKSxFZSgoKCk9PnRoaXMuc2hvd1Rvb2x0aXAoKSkpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKSxrZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwibW91c2VsZWF2ZSIpLnBpcGUoTWUoKCgpPT50aGlzLnRvb2x0aXBFbmFibGVkKSksTWUoKCgpPT50aGlzLnRvb2x0aXAuX2lzVG9vbHRpcFZpc2libGUoKSkpLEVlKCgoKT0+dGhpcy5oaWRlVG9vbHRpcCgpKSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgpfWFwcGx5VHJ1bmNhdGlvblN0eWxlcygpe3RoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIndoaXRlLXNwYWNlIiwibm93cmFwIiksdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwib3ZlcmZsb3ciLCJoaWRkZW4iKSx0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCJ0ZXh0LW92ZXJmbG93IiwiZWxsaXBzaXMiKX1pc092ZXJmbG93bihlKXtyZXR1cm4gZS5jbGllbnRXaWR0aDxlLnNjcm9sbFdpZHRofXNob3dUb29sdGlwKCl7dGhpcy50b29sdGlwLm1lc3NhZ2U9dGhpcy50ZXh0fHx0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5pbm5lclRleHQsdGhpcy50b29sdGlwLnNob3coKX1oaWRlVG9vbHRpcCgpe3RoaXMudG9vbHRpcC5oaWRlKCl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpTYSxkZXBzOlt7dG9rZW46dC5FbGVtZW50UmVmfSx7dG9rZW46dC5SZW5kZXJlcjJ9LHt0b2tlbjp6ZS5NYXRUb29sdGlwfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuRGlyZWN0aXZlfSl9c3RhdGlje3RoaXMuybVkaXI9dC7Jtcm1bmdEZWNsYXJlRGlyZWN0aXZlKHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpTYSxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6e3RleHQ6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0ZXh0Il0sdG9vbHRpcEVuYWJsZWQ6InRvb2x0aXBFbmFibGVkIixwb3NpdGlvbjoicG9zaXRpb24ifSxwcm92aWRlcnM6W1dlXSxuZ0ltcG9ydDp0fSl9fWUoIlRydW5jYXRlV2l0aFRvb2x0aXBEaXJlY3RpdmUiLFNhKSxIZShbTigpXSxTYS5wcm90b3R5cGUsInRvb2x0aXBFbmFibGVkIix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6U2EsZGVjb3JhdG9yczpbe3R5cGU6cyxhcmdzOlt7c2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixwcm92aWRlcnM6W1dlXSxzdGFuZGFsb25lOiEwfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOnQuRWxlbWVudFJlZn0se3R5cGU6dC5SZW5kZXJlcjJ9LHt0eXBlOnplLk1hdFRvb2x0aXB9XSxwcm9wRGVjb3JhdG9yczp7dGV4dDpbe3R5cGU6YSxhcmdzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIl19XSx0b29sdGlwRW5hYmxlZDpbe3R5cGU6YX1dLHBvc2l0aW9uOlt7dHlwZTphfV19fSk7Y2xhc3Mga2F7c2V0IGNoaXBzKGUpe2VlKHRoaXMuY2hpcHNWYWx1ZSxlKXx8KHRoaXMuY2hpcHNWYWx1ZT1lLHNldFRpbWVvdXQoKCgpPT57dGhpcy5hZGp1c3RDaGlwcygpfSksMCkpfWNvbnN0cnVjdG9yKGUsdCxuLGEpe3RoaXMuZWw9ZSx0aGlzLnJlbmRlcmVyPXQsdGhpcy50cmFuc2xhdGU9bix0aGlzLndpbmRvdz1hLHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCJtYXgtaGVpZ2h0IiwiNDhweCIpLHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCJvdmVyZmxvdyIsImF1dG8iKSxrZShhLCJyZXNpemUiKS5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5hZGp1c3RDaGlwcygpfSkpLHRoaXMub2JzZXJ2ZUludGVyc2VjdGlvbigpfW9ic2VydmVJbnRlcnNlY3Rpb24oKXt0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZT0+e2UuZm9yRWFjaCgoZT0+e2UuaXNJbnRlcnNlY3RpbmcmJnRoaXMuYWRqdXN0Q2hpcHMoKX0pKX0pKSx0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyLm9ic2VydmUodGhpcy5lbC5uYXRpdmVFbGVtZW50KX1hZGp1c3RDaGlwcygpe2NvbnN0IGU9dGhpcy5lbC5uYXRpdmVFbGVtZW50LHQ9dGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi5lbGxpcHNpcy1jaGlwIiksbj1wYXJzZUZsb2F0KHRoaXMud2luZG93LmdldENvbXB1dGVkU3R5bGUodCkubWFyZ2luTGVmdCl8fDAsYT1lLnF1ZXJ5U2VsZWN0b3JBbGwoIm1hdC1jaGlwOm5vdCguZWxsaXBzaXMtY2hpcCkiKTtpZih0aGlzLmNoaXBzVmFsdWUubGVuZ3RoPjEpe2NvbnN0IG89dGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi5lbGxpcHNpcy10ZXh0Iik7dGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0LCJkaXNwbGF5IiwiaW5saW5lLWZsZXgiKSxvLmlubmVySFRNTD10aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LmVsbGlwc2lzLWNoaXBzLXRleHQiLHtjb3VudDp0aGlzLmNoaXBzVmFsdWUubGVuZ3RofSk7Y29uc3QgaT1lLm9mZnNldFdpZHRoLSh0Lm9mZnNldFdpZHRoK24pO2xldCByPTAscz0wO2EuZm9yRWFjaCgoZT0+e3RoaXMucmVuZGVyZXIuc2V0U3R5bGUoZSwiZGlzcGxheSIsImlubGluZS1mbGV4Iik7Y29uc3QgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5tZGMtZXZvbHV0aW9uLWNoaXBfX3RleHQtbGFiZWwiKTt0aGlzLmFwcGx5TWF4Q2hpcFRleHRXaWR0aCh0LGkvMykscisoZS5vZmZzZXRXaWR0aCtuKTw9aSYmczx0aGlzLmNoaXBzVmFsdWUubGVuZ3RoPyhzKysscis9ZS5vZmZzZXRXaWR0aCtuKTp0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGUsImRpc3BsYXkiLCJub25lIil9KSksby5pbm5lckhUTUw9dGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5lbGxpcHNpcy1jaGlwcy10ZXh0Iix7Y291bnQ6dGhpcy5jaGlwc1ZhbHVlLmxlbmd0aC1zfSkscz09PXRoaXMuY2hpcHNWYWx1ZT8ubGVuZ3RoJiZ0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHQsImRpc3BsYXkiLCJub25lIil9ZWxzZSBpZigxPT09dGhpcy5jaGlwc1ZhbHVlLmxlbmd0aCl7Y29uc3Qgbz1hWzBdLnF1ZXJ5U2VsZWN0b3IoIi5tZGMtZXZvbHV0aW9uLWNoaXBfX2FjdGlvbiIpLGk9by5xdWVyeVNlbGVjdG9yKCIubWRjLWV2b2x1dGlvbi1jaGlwX190ZXh0LWxhYmVsIikscj1wYXJzZUZsb2F0KHRoaXMud2luZG93LmdldENvbXB1dGVkU3R5bGUobykucGFkZGluZ0xlZnQpfHwwLHM9cGFyc2VGbG9hdCh0aGlzLndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG8pLnBhZGRpbmdSaWdodCl8fDAsbD1lLm9mZnNldFdpZHRoLW4tKHIrcyk7dGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0LCJkaXNwbGF5Iiwibm9uZSIpLHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoYVswXSwiZGlzcGxheSIsImlubGluZS1mbGV4IiksdGhpcy5hcHBseU1heENoaXBUZXh0V2lkdGgoaSxsKX1lbHNlIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodCwiZGlzcGxheSIsIm5vbmUiKX1hcHBseU1heENoaXBUZXh0V2lkdGgoZSx0KXt0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGUsIm1heC13aWR0aCIsdCsicHgiKSx0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGUsIm92ZXJmbG93IiwiaGlkZGVuIiksdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlLCJ0ZXh0LW92ZXJmbG93IiwiZWxsaXBzaXMiKSx0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGUsIndoaXRlLXNwYWNlIiwibm93cmFwIil9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCksdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlci5kaXNjb25uZWN0KCl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTprYSxkZXBzOlt7dG9rZW46dC5FbGVtZW50UmVmfSx7dG9rZW46dC5SZW5kZXJlcjJ9LHt0b2tlbjpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0b2tlbjphZX1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkRpcmVjdGl2ZX0pfXN0YXRpY3t0aGlzLsm1ZGlyPXQuybXJtW5nRGVjbGFyZURpcmVjdGl2ZSh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6a2EsaXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJbdGItZWxsaXBzaXMtY2hpcC1saXN0XSIsaW5wdXRzOntjaGlwczpbInRiLWVsbGlwc2lzLWNoaXAtbGlzdCIsImNoaXBzIl19LG5nSW1wb3J0OnR9KX19ZSgiRWxsaXBzaXNDaGlwTGlzdERpcmVjdGl2ZSIsa2EpLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6a2EsZGVjb3JhdG9yczpbe3R5cGU6cyxhcmdzOlt7c2VsZWN0b3I6Ilt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdIixzdGFuZGFsb25lOiEwfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOnQuRWxlbWVudFJlZn0se3R5cGU6dC5SZW5kZXJlcjJ9LHt0eXBlOlkuVHJhbnNsYXRlU2VydmljZX0se3R5cGU6V2luZG93LGRlY29yYXRvcnM6W3t0eXBlOnAsYXJnczpbYWVdfV19XSxwcm9wRGVjb3JhdG9yczp7Y2hpcHM6W3t0eXBlOmEsYXJnczpbInRiLWVsbGlwc2lzLWNoaXAtbGlzdCJdfV19fSk7Y2xhc3MgTGF7Y29uc3RydWN0b3IoZSx0LG4sYSl7dGhpcy5hdHRyaWJ1dGVTZXJ2aWNlPWUsdGhpcy50ZWxlbWV0cnlXc1NlcnZpY2U9dCx0aGlzLnpvbmU9bix0aGlzLnRyYW5zbGF0ZT1hLHRoaXMuYXR0cmlidXRlc1N1YmplY3Q9bmV3IExlKFtdKSx0aGlzLnBhZ2VEYXRhU3ViamVjdD1uZXcgTGUoTSgpKSx0aGlzLnBhZ2VEYXRhJD10aGlzLnBhZ2VEYXRhU3ViamVjdC5hc09ic2VydmFibGUoKSx0aGlzLnNlbGVjdGlvbj1uZXcgamUoITAsW10pfWNvbm5lY3QoZSl7cmV0dXJuIHRoaXMuYXR0cmlidXRlc1N1YmplY3QuYXNPYnNlcnZhYmxlKCl9ZGlzY29ubmVjdChlKXt0aGlzLmF0dHJpYnV0ZXNTdWJqZWN0LmNvbXBsZXRlKCksdGhpcy5wYWdlRGF0YVN1YmplY3QuY29tcGxldGUoKSx0aGlzLnRlbGVtZXRyeVN1YnNjcmliZXImJih0aGlzLnRlbGVtZXRyeVN1YnNjcmliZXIudW5zdWJzY3JpYmUoKSx0aGlzLnRlbGVtZXRyeVN1YnNjcmliZXI9bnVsbCl9bG9hZEF0dHJpYnV0ZXMoZSx0LG4sYT0hMSl7YSYmKHRoaXMuYWxsQXR0cmlidXRlcz1udWxsLHRoaXMudGVsZW1ldHJ5U3Vic2NyaWJlciYmKHRoaXMudGVsZW1ldHJ5U3Vic2NyaWJlci51bnN1YnNjcmliZSgpLHRoaXMudGVsZW1ldHJ5U3Vic2NyaWJlcj1udWxsKSksdGhpcy5zZWxlY3Rpb24uY2xlYXIoKTtjb25zdCBvPW5ldyBGZTtyZXR1cm4gdGhpcy5mZXRjaEF0dHJpYnV0ZXMoZSx0LG4pLnBpcGUocWUoKCgpPT5JZShNKCkpKSkpLnN1YnNjcmliZSgoZT0+e3RoaXMuYXR0cmlidXRlc1N1YmplY3QubmV4dChlLmRhdGEpLHRoaXMucGFnZURhdGFTdWJqZWN0Lm5leHQoZSksby5uZXh0KGUpfSkpLG99ZmV0Y2hBdHRyaWJ1dGVzKGUsdCxuKXtyZXR1cm4gdGhpcy5nZXRBbGxBdHRyaWJ1dGVzKGUsdCkucGlwZShEZSgoZT0+e2NvbnN0IHQ9ZS5maWx0ZXIoKGU9PjAhPT1lLmxhc3RVcGRhdGVUcykpO3JldHVybiBuLmZpbHRlckRhdGEodCl9KSkpfWdldEFsbEF0dHJpYnV0ZXMoZSx0KXtpZighdGhpcy5hbGxBdHRyaWJ1dGVzKXtsZXQgbjtFLmdldCh0KT8odGhpcy50ZWxlbWV0cnlTdWJzY3JpYmVyPXEuY3JlYXRlRW50aXR5QXR0cmlidXRlc1N1YnNjcmlwdGlvbih0aGlzLnRlbGVtZXRyeVdzU2VydmljZSxlLHQsdGhpcy56b25lKSx0aGlzLnRlbGVtZXRyeVN1YnNjcmliZXIuc3Vic2NyaWJlKCksbj10aGlzLnRlbGVtZXRyeVN1YnNjcmliZXIuYXR0cmlidXRlRGF0YSQoKSk6bj10aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0RW50aXR5QXR0cmlidXRlcyhlLHQpLHRoaXMuYWxsQXR0cmlidXRlcz1uLnBpcGUoUGUoMSksR2UoKSl9cmV0dXJuIHRoaXMuYWxsQXR0cmlidXRlc31pc0FsbFNlbGVjdGVkKCl7Y29uc3QgZT10aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGg7cmV0dXJuIHRoaXMuYXR0cmlidXRlc1N1YmplY3QucGlwZShEZSgodD0+ZT09PXQubGVuZ3RoKSkpfWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5hdHRyaWJ1dGVzU3ViamVjdC5waXBlKERlKChlPT4hZS5sZW5ndGgpKSl9dG90YWwoKXtyZXR1cm4gdGhpcy5wYWdlRGF0YVN1YmplY3QucGlwZShEZSgoZT0+ZS50b3RhbEVsZW1lbnRzKSkpfW1hc3RlclRvZ2dsZSgpe3RoaXMuYXR0cmlidXRlc1N1YmplY3QucGlwZShFZSgoZT0+e3RoaXMuc2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aD09PWUubGVuZ3RoP3RoaXMuc2VsZWN0aW9uLmNsZWFyKCk6ZS5mb3JFYWNoKChlPT57dGhpcy5zZWxlY3Rpb24uc2VsZWN0KGUpfSkpfSkpLE9lKDEpKS5zdWJzY3JpYmUoKX19ZSgiQXR0cmlidXRlRGF0YXNvdXJjZSIsTGEpO2NsYXNzIEZhe2NvbnN0cnVjdG9yKGUpe3RoaXMuYXR0cmlidXRlU2VydmljZT1lLHRoaXMuc2F2ZVRlbXBsYXRlPW5ldyBpLHRoaXMudXNlVGVtcGxhdGU9bmV3IGksdGhpcy5vcmlnaW5hbE9yZGVyPSgpPT4wLHRoaXMuaXNPYmplY3Q9ZT0+b2UoZSksdGhpcy5pc0FycmF5PWU9PkFycmF5LmlzQXJyYXkoZSksdGhpcy5TTk1QTWV0aG9kc1RyYW5zbGF0aW9ucz10bn1uZ09uSW5pdCgpe31hcHBseVRlbXBsYXRlKGUsdCl7ZS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLnVzZVRlbXBsYXRlLmVtaXQodCl9ZGVsZXRlVGVtcGxhdGUoZSx0KXtlLnN0b3BQcm9wYWdhdGlvbigpO2NvbnN0IG49dGhpcy5ycGNUZW1wbGF0ZXMuZmluZEluZGV4KChlPT5lLm5hbWU9PXQubmFtZSkpO3RoaXMucnBjVGVtcGxhdGVzLnNwbGljZShuLDEpO2NvbnN0IGE9YCR7dGhpcy5jb25uZWN0b3JUeXBlfV90ZW1wbGF0ZWA7dGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNhdmVFbnRpdHlBdHRyaWJ1dGVzKHtpZDp0aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLnRhcmdldERldmljZUlkLGVudGl0eVR5cGU6SS5ERVZJQ0V9LEwuU0VSVkVSX1NDT1BFLFt7a2V5OmEsdmFsdWU6dGhpcy5ycGNUZW1wbGF0ZXN9XSkuc3Vic2NyaWJlKCgoKT0+e30pKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkZhLGRlcHM6W3t0b2tlbjpYLkF0dHJpYnV0ZVNlcnZpY2V9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOkZhLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LXNlcnZpY2UtcnBjLWNvbm5lY3Rvci10ZW1wbGF0ZXMiLGlucHV0czp7Y29ubmVjdG9yVHlwZToiY29ubmVjdG9yVHlwZSIsY3R4OiJjdHgiLHJwY1RlbXBsYXRlczoicnBjVGVtcGxhdGVzIn0sb3V0cHV0czp7c2F2ZVRlbXBsYXRlOiJzYXZlVGVtcGxhdGUiLHVzZVRlbXBsYXRlOiJ1c2VUZW1wbGF0ZSJ9LG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJtYXQtc3VidGl0bGUtMSB0aXRsZSI+e3sgXCdnYXRld2F5LnJwYy50ZW1wbGF0ZXMtdGl0bGVcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuPG1hdC1leHBhbnNpb24tcGFuZWwgaGlkZVRvZ2dsZSAqbmdGb3I9ImxldCB0ZW1wbGF0ZSBvZiBycGNUZW1wbGF0ZXMiPlxuICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgPG1hdC1wYW5lbC10aXRsZSBjbGFzcz0idGVtcGxhdGUtbmFtZSI+XG4gICAgICA8c3BhbiBtYXRUb29sdGlwPSJ7e3RlbXBsYXRlLm5hbWV9fSIgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+e3t0ZW1wbGF0ZS5uYW1lfX08L3NwYW4+XG4gICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgPG1hdC1wYW5lbC1kZXNjcmlwdGlvbj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIG1hdFRvb2x0aXA9IkRlbGV0ZSIgKGNsaWNrKT0iZGVsZXRlVGVtcGxhdGUoJGV2ZW50LCB0ZW1wbGF0ZSkiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRUb29sdGlwPSJVc2UiIChjbGljayk9ImFwcGx5VGVtcGxhdGUoJGV2ZW50LCB0ZW1wbGF0ZSkiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5wbGF5X2Fycm93PC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LXBhbmVsLWRlc2NyaXB0aW9uPlxuICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuXG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdGb3I9ImxldCBjb25maWcgb2YgdGVtcGxhdGUuY29uZmlnIHwga2V5VmFsdWVJc05vdEVtcHR5IlxuICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT0iUlBDVGVtcGxhdGVSZWYiXG4gICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT0ieyAkaW1wbGljaXQ6IGNvbmZpZywgaW5uZXJWYWx1ZTogZmFsc2UgfSI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI1JQQ1RlbXBsYXRlUmVmIGxldC1jb25maWcgbGV0LWlubmVyVmFsdWU9XCdpbm5lclZhbHVlXCc+XG4gICAgPGRpdiBbZnhMYXlvdXRdPSJpc09iamVjdChjb25maWcudmFsdWUpID8gXCdjb2x1bW5cJzogXCdyb3dcJyJcbiAgICAgICAgIFtmeExheW91dEFsaWduXT0iIWlzT2JqZWN0KGNvbmZpZy52YWx1ZSkgPyBcJ3NwYWNlLWJldHdlZW4gY2VudGVyXCcgOiBcJ1wnIlxuICAgICAgICAgW25nU3R5bGVdPSJ7XCdwYWRkaW5nLWxlZnRcJzogaW5uZXJWYWx1ZSA/IFwnMTZweFwnOiBcJzBcJ30iXG4gICAgICAgICBjbGFzcz0icnBjLXBhcmFtcy1yb3ciPlxuICAgICAgPGRpdiBjbGFzcz0idGVtcGxhdGUta2V5Ij5cbiAgICAgICAge3shaW5uZXJWYWx1ZSA/IChcJ2dhdGV3YXkucnBjLlwnICsgY29uZmlnLmtleSB8IHRyYW5zbGF0ZSkgOiBjb25maWcua2V5fX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj0iaXNBcnJheShjb25maWcudmFsdWUpIiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgY2xhc3M9ImFycmF5LXZhbHVlIj5cbiAgICAgICAge3sgY29uZmlnLnZhbHVlIHwgZ2V0UnBjVGVtcGxhdGVBcnJheVZpZXcgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iaXNPYmplY3QoY29uZmlnLnZhbHVlKSIgW25nVGVtcGxhdGVPdXRsZXRdPSJSUENPYmplY3RSb3ciPjwvbmctY29udGFpbmVyPlxuICAgICAgPGRpdiAqbmdJZj0iIWlzT2JqZWN0KGNvbmZpZy52YWx1ZSkgJiYgIWlzQXJyYXkoY29uZmlnLnZhbHVlKSJcbiAgICAgICAgICAgW25nQ2xhc3NdPSJ7XCdib29sZWFuLXRydWVcJzogY29uZmlnLnZhbHVlID09PSB0cnVlLFxuICAgICAgICAgICAgICAgICAgIFwnYm9vbGVhbi1mYWxzZVwnOiBjb25maWcudmFsdWUgPT09IGZhbHNlICB9Ij5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iY29uZmlnLmtleSA9PT0gXCdtZXRob2RcJyBlbHNlIHZhbHVlIiBbbmdUZW1wbGF0ZU91dGxldF09IlNOTVBNZXRob2QiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctdGVtcGxhdGUgI3ZhbHVlPnt7IGNvbmZpZy52YWx1ZSB9fTwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgI1NOTVBNZXRob2Q+e3sgU05NUE1ldGhvZHNUcmFuc2xhdGlvbnMuZ2V0KGNvbmZpZy52YWx1ZSkgfCB0cmFuc2xhdGUgfX08L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlICNSUENPYmplY3RSb3c+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdGb3I9ImxldCBzdWJDb25maWcgb2YgY29uZmlnLnZhbHVlIHwga2V5dmFsdWUgOiBvcmlnaW5hbE9yZGVyIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT0iUlBDVGVtcGxhdGVSZWYiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT0ieyAkaW1wbGljaXQ6IHN1YkNvbmZpZywgaW5uZXJWYWx1ZTogdHJ1ZSB9Ij5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwYWRkaW5nOjB9Omhvc3QgLnRpdGxle2ZvbnQtd2VpZ2h0OjUwMH06aG9zdCAudGVtcGxhdGUta2V5e2NvbG9yOiMwMDAwMDA2MTtoZWlnaHQ6MzJweDtsaW5lLWhlaWdodDozMnB4fTpob3N0IC5ib29sZWFuLXRydWUsOmhvc3QgLmJvb2xlYW4tZmFsc2V7Ym9yZGVyLXJhZGl1czozcHg7aGVpZ2h0OjMycHg7bGluZS1oZWlnaHQ6MzJweDtwYWRkaW5nOjAgMTJweDt3aWR0aDpmaXQtY29udGVudDtmb250LXNpemU6MTRweDt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplfTpob3N0IC5ib29sZWFuLWZhbHNle2NvbG9yOiNkMTI3MzA7YmFja2dyb3VuZC1jb2xvcjojZDEyNzMwMTR9Omhvc3QgLmJvb2xlYW4tdHJ1ZXtjb2xvcjojMTk4MDM4O2JhY2tncm91bmQtY29sb3I6IzE5ODAzODE0fTpob3N0IG1hdC1leHBhbnNpb24tcGFuZWx7bWFyZ2luLXRvcDoxMHB4O292ZXJmbG93OnZpc2libGV9Omhvc3QgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9ue2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tcmlnaHQ6MDtmbGV4OjB9Omhvc3QgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9uPm1hdC1pY29ue21hcmdpbi1sZWZ0OjE1cHg7Y29sb3I6IzAwMDAwMDYxfTpob3N0IC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcntwYWRkaW5nOjAgMCAwIDEycHh9Omhvc3QgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLm1hdC1leHBhbmRlZHtoZWlnaHQ6NDhweH06aG9zdCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgLm1hdC1jb250ZW50Lm1hdC1jb250ZW50LWhpZGUtdG9nZ2xle21hcmdpbi1yaWdodDowfTpob3N0IC5ycGMtcGFyYW1zLXJvd3tvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwfTpob3N0IC5ycGMtcGFyYW1zLXJvdyA6bm90KDpmaXJzdC1jaGlsZCl7d2hpdGUtc3BhY2U6cHJlO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfTpob3N0IC50ZW1wbGF0ZS1uYW1le292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2t9Omhvc3QgOjpuZy1kZWVwIC5tYXQtY29udGVudHthbGlnbi1pdGVtczpjZW50ZXJ9Omhvc3QgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRpdGxle2ZsZXg6MTttYXJnaW46MH06aG9zdCAuYXJyYXktdmFsdWV7bWFyZ2luLWxlZnQ6MTBweH1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nQ2xhc3Msc2VsZWN0b3I6IltuZ0NsYXNzXSIsaW5wdXRzOlsiY2xhc3MiLCJuZ0NsYXNzIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdUZW1wbGF0ZU91dGxldCxzZWxlY3RvcjoiW25nVGVtcGxhdGVPdXRsZXRdIixpbnB1dHM6WyJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCIsIm5nVGVtcGxhdGVPdXRsZXQiLCJuZ1RlbXBsYXRlT3V0bGV0SW5qZWN0b3IiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3R5bGUsc2VsZWN0b3I6IltuZ1N0eWxlXSIsaW5wdXRzOlsibmdTdHlsZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbCxzZWxlY3RvcjoibWF0LWV4cGFuc2lvbi1wYW5lbCIsaW5wdXRzOlsiaGlkZVRvZ2dsZSIsInRvZ2dsZVBvc2l0aW9uIl0sb3V0cHV0czpbImFmdGVyRXhwYW5kIiwiYWZ0ZXJDb2xsYXBzZSJdLGV4cG9ydEFzOlsibWF0RXhwYW5zaW9uUGFuZWwiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbEhlYWRlcixzZWxlY3RvcjoibWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIiLGlucHV0czpbImV4cGFuZGVkSGVpZ2h0IiwiY29sbGFwc2VkSGVpZ2h0IiwidGFiSW5kZXgiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbFRpdGxlLHNlbGVjdG9yOiJtYXQtcGFuZWwtdGl0bGUifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsRGVzY3JpcHRpb24sc2VsZWN0b3I6Im1hdC1wYW5lbC1kZXNjcmlwdGlvbiJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRBbGlnbkRpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRBbGlnbl0sIFtmeExheW91dEFsaWduLnhzXSwgW2Z4TGF5b3V0QWxpZ24uc21dLCBbZnhMYXlvdXRBbGlnbi5tZF0sICBbZnhMYXlvdXRBbGlnbi5sZ10sIFtmeExheW91dEFsaWduLnhsXSwgW2Z4TGF5b3V0QWxpZ24ubHQtc21dLCBbZnhMYXlvdXRBbGlnbi5sdC1tZF0sICBbZnhMYXlvdXRBbGlnbi5sdC1sZ10sIFtmeExheW91dEFsaWduLmx0LXhsXSwgW2Z4TGF5b3V0QWxpZ24uZ3QteHNdLCBbZnhMYXlvdXRBbGlnbi5ndC1zbV0sICBbZnhMYXlvdXRBbGlnbi5ndC1tZF0sIFtmeExheW91dEFsaWduLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRBbGlnbiIsImZ4TGF5b3V0QWxpZ24ueHMiLCJmeExheW91dEFsaWduLnNtIiwiZnhMYXlvdXRBbGlnbi5tZCIsImZ4TGF5b3V0QWxpZ24ubGciLCJmeExheW91dEFsaWduLnhsIiwiZnhMYXlvdXRBbGlnbi5sdC1zbSIsImZ4TGF5b3V0QWxpZ24ubHQtbWQiLCJmeExheW91dEFsaWduLmx0LWxnIiwiZnhMYXlvdXRBbGlnbi5sdC14bCIsImZ4TGF5b3V0QWxpZ24uZ3QteHMiLCJmeExheW91dEFsaWduLmd0LXNtIiwiZnhMYXlvdXRBbGlnbi5ndC1tZCIsImZ4TGF5b3V0QWxpZ24uZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRDbGFzc0RpcmVjdGl2ZSxzZWxlY3RvcjoiICBbbmdDbGFzc10sIFtuZ0NsYXNzLnhzXSwgW25nQ2xhc3Muc21dLCBbbmdDbGFzcy5tZF0sIFtuZ0NsYXNzLmxnXSwgW25nQ2xhc3MueGxdLCAgW25nQ2xhc3MubHQtc21dLCBbbmdDbGFzcy5sdC1tZF0sIFtuZ0NsYXNzLmx0LWxnXSwgW25nQ2xhc3MubHQteGxdLCAgW25nQ2xhc3MuZ3QteHNdLCBbbmdDbGFzcy5ndC1zbV0sIFtuZ0NsYXNzLmd0LW1kXSwgW25nQ2xhc3MuZ3QtbGddIixpbnB1dHM6WyJuZ0NsYXNzIiwibmdDbGFzcy54cyIsIm5nQ2xhc3Muc20iLCJuZ0NsYXNzLm1kIiwibmdDbGFzcy5sZyIsIm5nQ2xhc3MueGwiLCJuZ0NsYXNzLmx0LXNtIiwibmdDbGFzcy5sdC1tZCIsIm5nQ2xhc3MubHQtbGciLCJuZ0NsYXNzLmx0LXhsIiwibmdDbGFzcy5ndC14cyIsIm5nQ2xhc3MuZ3Qtc20iLCJuZ0NsYXNzLmd0LW1kIiwibmdDbGFzcy5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOksuRGVmYXVsdFN0eWxlRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtuZ1N0eWxlXSwgIFtuZ1N0eWxlLnhzXSwgW25nU3R5bGUuc21dLCBbbmdTdHlsZS5tZF0sIFtuZ1N0eWxlLmxnXSwgW25nU3R5bGUueGxdLCAgW25nU3R5bGUubHQtc21dLCBbbmdTdHlsZS5sdC1tZF0sIFtuZ1N0eWxlLmx0LWxnXSwgW25nU3R5bGUubHQteGxdLCAgW25nU3R5bGUuZ3QteHNdLCBbbmdTdHlsZS5ndC1zbV0sIFtuZ1N0eWxlLmd0LW1kXSwgW25nU3R5bGUuZ3QtbGddIixpbnB1dHM6WyJuZ1N0eWxlIiwibmdTdHlsZS54cyIsIm5nU3R5bGUuc20iLCJuZ1N0eWxlLm1kIiwibmdTdHlsZS5sZyIsIm5nU3R5bGUueGwiLCJuZ1N0eWxlLmx0LXNtIiwibmdTdHlsZS5sdC1tZCIsIm5nU3R5bGUubHQtbGciLCJuZ1N0eWxlLmx0LXhsIiwibmdTdHlsZS5ndC14cyIsIm5nU3R5bGUuZ3Qtc20iLCJuZ1N0eWxlLmd0LW1kIiwibmdTdHlsZS5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlllLlRydW5jYXRlV2l0aFRvb2x0aXBEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0b29sdGlwRW5hYmxlZCIsInBvc2l0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6U2Esc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0b29sdGlwRW5hYmxlZCIsInBvc2l0aW9uIl19LHtraW5kOiJwaXBlIix0eXBlOl8uS2V5VmFsdWVQaXBlLG5hbWU6ImtleXZhbHVlIn0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJwaXBlIix0eXBlOkNhLG5hbWU6ImdldFJwY1RlbXBsYXRlQXJyYXlWaWV3In1dfSl9fWUoIkdhdGV3YXlTZXJ2aWNlUlBDQ29ubmVjdG9yVGVtcGxhdGVzQ29tcG9uZW50IixGYSksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpGYSxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItZ2F0ZXdheS1zZXJ2aWNlLXJwYy1jb25uZWN0b3ItdGVtcGxhdGVzIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9Im1hdC1zdWJ0aXRsZS0xIHRpdGxlIj57eyBcJ2dhdGV3YXkucnBjLnRlbXBsYXRlcy10aXRsZVwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG48bWF0LWV4cGFuc2lvbi1wYW5lbCBoaWRlVG9nZ2xlICpuZ0Zvcj0ibGV0IHRlbXBsYXRlIG9mIHJwY1RlbXBsYXRlcyI+XG4gIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICA8bWF0LXBhbmVsLXRpdGxlIGNsYXNzPSJ0ZW1wbGF0ZS1uYW1lIj5cbiAgICAgIDxzcGFuIG1hdFRvb2x0aXA9Int7dGVtcGxhdGUubmFtZX19IiBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj57e3RlbXBsYXRlLm5hbWV9fTwvc3Bhbj5cbiAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICA8bWF0LXBhbmVsLWRlc2NyaXB0aW9uPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gbWF0VG9vbHRpcD0iRGVsZXRlIiAoY2xpY2spPSJkZWxldGVUZW1wbGF0ZSgkZXZlbnQsIHRlbXBsYXRlKSI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIG1hdFRvb2x0aXA9IlVzZSIgKGNsaWNrKT0iYXBwbHlUZW1wbGF0ZSgkZXZlbnQsIHRlbXBsYXRlKSI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPnBsYXlfYXJyb3c8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9tYXQtcGFuZWwtZGVzY3JpcHRpb24+XG4gIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0Zvcj0ibGV0IGNvbmZpZyBvZiB0ZW1wbGF0ZS5jb25maWcgfCBrZXlWYWx1ZUlzTm90RW1wdHkiXG4gICAgW25nVGVtcGxhdGVPdXRsZXRdPSJSUENUZW1wbGF0ZVJlZiJcbiAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPSJ7ICRpbXBsaWNpdDogY29uZmlnLCBpbm5lclZhbHVlOiBmYWxzZSB9Ij5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjUlBDVGVtcGxhdGVSZWYgbGV0LWNvbmZpZyBsZXQtaW5uZXJWYWx1ZT1cJ2lubmVyVmFsdWVcJz5cbiAgICA8ZGl2IFtmeExheW91dF09ImlzT2JqZWN0KGNvbmZpZy52YWx1ZSkgPyBcJ2NvbHVtblwnOiBcJ3Jvd1wnIlxuICAgICAgICAgW2Z4TGF5b3V0QWxpZ25dPSIhaXNPYmplY3QoY29uZmlnLnZhbHVlKSA/IFwnc3BhY2UtYmV0d2VlbiBjZW50ZXJcJyA6IFwnXCciXG4gICAgICAgICBbbmdTdHlsZV09IntcJ3BhZGRpbmctbGVmdFwnOiBpbm5lclZhbHVlID8gXCcxNnB4XCc6IFwnMFwnfSJcbiAgICAgICAgIGNsYXNzPSJycGMtcGFyYW1zLXJvdyI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0ZW1wbGF0ZS1rZXkiPlxuICAgICAgICB7eyFpbm5lclZhbHVlID8gKFwnZ2F0ZXdheS5ycGMuXCcgKyBjb25maWcua2V5IHwgdHJhbnNsYXRlKSA6IGNvbmZpZy5rZXl9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPSJpc0FycmF5KGNvbmZpZy52YWx1ZSkiIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCBjbGFzcz0iYXJyYXktdmFsdWUiPlxuICAgICAgICB7eyBjb25maWcudmFsdWUgfCBnZXRScGNUZW1wbGF0ZUFycmF5VmlldyB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJpc09iamVjdChjb25maWcudmFsdWUpIiBbbmdUZW1wbGF0ZU91dGxldF09IlJQQ09iamVjdFJvdyI+PC9uZy1jb250YWluZXI+XG4gICAgICA8ZGl2ICpuZ0lmPSIhaXNPYmplY3QoY29uZmlnLnZhbHVlKSAmJiAhaXNBcnJheShjb25maWcudmFsdWUpIlxuICAgICAgICAgICBbbmdDbGFzc109IntcJ2Jvb2xlYW4tdHJ1ZVwnOiBjb25maWcudmFsdWUgPT09IHRydWUsXG4gICAgICAgICAgICAgICAgICAgXCdib29sZWFuLWZhbHNlXCc6IGNvbmZpZy52YWx1ZSA9PT0gZmFsc2UgIH0iPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJjb25maWcua2V5ID09PSBcJ21ldGhvZFwnIGVsc2UgdmFsdWUiIFtuZ1RlbXBsYXRlT3V0bGV0XT0iU05NUE1ldGhvZCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjdmFsdWU+e3sgY29uZmlnLnZhbHVlIH19PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjU05NUE1ldGhvZD57eyBTTk1QTWV0aG9kc1RyYW5zbGF0aW9ucy5nZXQoY29uZmlnLnZhbHVlKSB8IHRyYW5zbGF0ZSB9fTwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgI1JQQ09iamVjdFJvdz5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0Zvcj0ibGV0IHN1YkNvbmZpZyBvZiBjb25maWcudmFsdWUgfCBrZXl2YWx1ZSA6IG9yaWdpbmFsT3JkZXIiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPSJSUENUZW1wbGF0ZVJlZiJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPSJ7ICRpbXBsaWNpdDogc3ViQ29uZmlnLCBpbm5lclZhbHVlOiB0cnVlIH0iPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L21hdC1leHBhbnNpb24tcGFuZWw+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MH06aG9zdCAudGl0bGV7Zm9udC13ZWlnaHQ6NTAwfTpob3N0IC50ZW1wbGF0ZS1rZXl7Y29sb3I6IzAwMDAwMDYxO2hlaWdodDozMnB4O2xpbmUtaGVpZ2h0OjMycHh9Omhvc3QgLmJvb2xlYW4tdHJ1ZSw6aG9zdCAuYm9vbGVhbi1mYWxzZXtib3JkZXItcmFkaXVzOjNweDtoZWlnaHQ6MzJweDtsaW5lLWhlaWdodDozMnB4O3BhZGRpbmc6MCAxMnB4O3dpZHRoOmZpdC1jb250ZW50O2ZvbnQtc2l6ZToxNHB4O3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemV9Omhvc3QgLmJvb2xlYW4tZmFsc2V7Y29sb3I6I2QxMjczMDtiYWNrZ3JvdW5kLWNvbG9yOiNkMTI3MzAxNH06aG9zdCAuYm9vbGVhbi10cnVle2NvbG9yOiMxOTgwMzg7YmFja2dyb3VuZC1jb2xvcjojMTk4MDM4MTR9Omhvc3QgbWF0LWV4cGFuc2lvbi1wYW5lbHttYXJnaW4tdG9wOjEwcHg7b3ZlcmZsb3c6dmlzaWJsZX06aG9zdCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb257ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2U7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbi1yaWdodDowO2ZsZXg6MH06aG9zdCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24+bWF0LWljb257bWFyZ2luLWxlZnQ6MTVweDtjb2xvcjojMDAwMDAwNjF9Omhvc3QgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVye3BhZGRpbmc6MCAwIDAgMTJweH06aG9zdCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIubWF0LWV4cGFuZGVke2hlaWdodDo0OHB4fTpob3N0IC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciAubWF0LWNvbnRlbnQubWF0LWNvbnRlbnQtaGlkZS10b2dnbGV7bWFyZ2luLXJpZ2h0OjB9Omhvc3QgLnJwYy1wYXJhbXMtcm93e292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXB9Omhvc3QgLnJwYy1wYXJhbXMtcm93IDpub3QoOmZpcnN0LWNoaWxkKXt3aGl0ZS1zcGFjZTpwcmU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Omhvc3QgLnRlbXBsYXRlLW5hbWV7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9ja306aG9zdCA6Om5nLWRlZXAgLm1hdC1jb250ZW50e2FsaWduLWl0ZW1zOmNlbnRlcn06aG9zdCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGV7ZmxleDoxO21hcmdpbjowfTpob3N0IC5hcnJheS12YWx1ZXttYXJnaW4tbGVmdDoxMHB4fVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6WC5BdHRyaWJ1dGVTZXJ2aWNlfV0scHJvcERlY29yYXRvcnM6e2Nvbm5lY3RvclR5cGU6W3t0eXBlOmF9XSxjdHg6W3t0eXBlOmF9XSxzYXZlVGVtcGxhdGU6W3t0eXBlOmx9XSx1c2VUZW1wbGF0ZTpbe3R5cGU6bH1dLHJwY1RlbXBsYXRlczpbe3R5cGU6YX1dfX0pO2NsYXNzIElhe2NvbnN0cnVjdG9yKGUpe3RoaXMuZmI9ZSx0aGlzLkJyb2tlclNlY3VyaXR5VHlwZT1kbix0aGlzLnNlY3VyaXR5VHlwZXM9T2JqZWN0LnZhbHVlcyhkbiksdGhpcy5TZWN1cml0eVR5cGVUcmFuc2xhdGlvbnNNYXA9dW4sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5wcm9wYWdhdGVDaGFuZ2U9ZT0+e30sdGhpcy5zZWN1cml0eUZvcm1Hcm91cD10aGlzLmZiLmdyb3VwKHt0eXBlOltkbi5BTk9OWU1PVVMsW11dLHVzZXJuYW1lOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxwYXNzd29yZDpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV19KSx0aGlzLm9ic2VydmVTZWN1cml0eUZvcm0oKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMucHJvcGFnYXRlQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7fXdyaXRlVmFsdWUoZSl7ZS50eXBlfHwoZS50eXBlPWRuLkFOT05ZTU9VUyksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC5yZXNldChlKSx0aGlzLnVwZGF0ZVZpZXcoZSl9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5zZWN1cml0eUZvcm1Hcm91cC52YWxpZD9udWxsOntzZWN1cml0eUZvcm06e3ZhbGlkOiExfX19dXBkYXRlVmlldyhlKXt0aGlzLnByb3BhZ2F0ZUNoYW5nZShlKX11cGRhdGVWYWxpZGF0b3JzKGUpe2U9PT1kbi5CQVNJQz8odGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoInVzZXJuYW1lIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgicGFzc3dvcmQiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pKToodGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoInVzZXJuYW1lIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoInBhc3N3b3JkIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpfW9ic2VydmVTZWN1cml0eUZvcm0oKXt0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9PnRoaXMudXBkYXRlVmlldyhlKSkpLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+dGhpcy51cGRhdGVWYWxpZGF0b3JzKGUpKSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpJYSxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOklhLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHkiLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PklhKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5JYSkpLG11bHRpOiEwfV0sbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gc2FtZS1wYWRkaW5nIHRiLWZsZXggY29sdW1uIiBbZm9ybUdyb3VwXT0ic2VjdXJpdHlGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHJvdyBzcGFjZS1iZXR3ZWVuIGFsaWduLWNlbnRlciBuby1nYXAgZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZmllbGRzLWxhYmVsIiB0cmFuc2xhdGU+Z2F0ZXdheS5zZWN1cml0eTwvZGl2PlxuICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNlY3VyaXR5VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICB7eyBTZWN1cml0eVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj0ic2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gQnJva2VyU2VjdXJpdHlUeXBlLkJBU0lDIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudXNlcm5hbWU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idXNlcm5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnVzZXJuYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndXNlcm5hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJiBzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd1c2VybmFtZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucGFzc3dvcmQ8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhc3N3b3JkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5wYXNzd29yZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8ZGl2IFtjbGFzcy5oaWRlLXRvZ2dsZV09InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiIG1hdFN1ZmZpeD5cbiAgICAgICAgICAgIDx0Yi10b2dnbGUtcGFzc3dvcmQgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0Ij48L3RiLXRvZ2dsZS1wYXNzd29yZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjEwcHh9Omhvc3QgLmZpZWxkcy1sYWJlbHtmb250LXdlaWdodDo1MDB9Omhvc3QgLmhpZGUtdG9nZ2xle2Rpc3BsYXk6bm9uZX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp0dC5Ub2dnbGVQYXNzd29yZENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXBhc3N3b3JkIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpudC5Ub2dnbGVPcHRpb24sc2VsZWN0b3I6InRiLXRvZ2dsZS1vcHRpb24iLGlucHV0czpbInZhbHVlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YXQuVG9nZ2xlU2VsZWN0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi10b2dnbGUtc2VsZWN0IixpbnB1dHM6WyJkaXNhYmxlZCIsInNlbGVjdE1lZGlhQnJlYWtwb2ludCIsImFwcGVhcmFuY2UiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImZpbGxIZWlnaHQiLCJleHRyYVBhZGRpbmciLCJwcmltYXJ5QmFja2dyb3VuZCJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19dC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpJYSxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHkiLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5JYSkpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+SWEpKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbRCxIXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gc2FtZS1wYWRkaW5nIHRiLWZsZXggY29sdW1uIiBbZm9ybUdyb3VwXT0ic2VjdXJpdHlGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHJvdyBzcGFjZS1iZXR3ZWVuIGFsaWduLWNlbnRlciBuby1nYXAgZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZmllbGRzLWxhYmVsIiB0cmFuc2xhdGU+Z2F0ZXdheS5zZWN1cml0eTwvZGl2PlxuICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNlY3VyaXR5VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICB7eyBTZWN1cml0eVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj0ic2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gQnJva2VyU2VjdXJpdHlUeXBlLkJBU0lDIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudXNlcm5hbWU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idXNlcm5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnVzZXJuYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndXNlcm5hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJiBzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd1c2VybmFtZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucGFzc3dvcmQ8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhc3N3b3JkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5wYXNzd29yZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8ZGl2IFtjbGFzcy5oaWRlLXRvZ2dsZV09InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiIG1hdFN1ZmZpeD5cbiAgICAgICAgICAgIDx0Yi10b2dnbGUtcGFzc3dvcmQgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0Ij48L3RiLXRvZ2dsZS1wYXNzd29yZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjEwcHh9Omhvc3QgLmZpZWxkcy1sYWJlbHtmb250LXdlaWdodDo1MDB9Omhvc3QgLmhpZGUtdG9nZ2xle2Rpc3BsYXk6bm9uZX1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfV19KTtjbGFzcyBBYXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuZmI9ZSx0aGlzLmRpYWxvZz10LHRoaXMuc2VuZENvbW1hbmQ9bmV3IGksdGhpcy5zYXZlVGVtcGxhdGU9bmV3IGksdGhpcy5Db25uZWN0b3JUeXBlPV90LHRoaXMuYkFDbmV0UmVxdWVzdFR5cGVzPU9iamVjdC52YWx1ZXMoV3QpLHRoaXMuYkFDbmV0T2JqZWN0VHlwZXM9T2JqZWN0LnZhbHVlcyhLdCksdGhpcy5iTEVNZXRob2RzPU9iamVjdC52YWx1ZXMoWXQpLHRoaXMuY0FOQnl0ZU9yZGVycz1PYmplY3QudmFsdWVzKEp0KSx0aGlzLnNvY2tldE1ldGhvZFByb2Nlc3NpbmdzPU9iamVjdC52YWx1ZXMoWHQpLHRoaXMuc29ja2V0RW5jb2RpbmdzPU9iamVjdC52YWx1ZXMoYW4pLHRoaXMuc05NUE1ldGhvZHM9T2JqZWN0LnZhbHVlcyhlbiksdGhpcy5oVFRQTWV0aG9kcz1PYmplY3QudmFsdWVzKG5uKSx0aGlzLmJBQ25ldFJlcXVlc3RUeXBlc1RyYW5zbGF0ZXM9anQsdGhpcy5iQUNuZXRPYmplY3RUeXBlc1RyYW5zbGF0ZXM9JHQsdGhpcy5iTEVNZXRob2RzVHJhbnNsYXRlcz1RdCx0aGlzLlNvY2tldE1ldGhvZFByb2Nlc3NpbmdzVHJhbnNsYXRlcz1adCx0aGlzLlNOTVBNZXRob2RzVHJhbnNsYXRpb25zPXRuLHRoaXMuZ2F0ZXdheUNvbm5lY3RvckRlZmF1bHRUeXBlc1RyYW5zbGF0ZXM9SHQsdGhpcy51cmxQYXR0ZXJuPS9eWy1hLXpBLVpkXyQ6e30/fis9XC8uMC05LV0qJC8sdGhpcy5udW1iZXJzT25seVBhdHRlcm49L15bMC05XSokLyx0aGlzLmhleE9ubHlQYXR0ZXJuPS9eWzAtOUEtRmEtZiBdKyQvLHRoaXMucHJvcGFnYXRlQ2hhbmdlPWU9Pnt9LHRoaXMuZGVzdHJveSQ9bmV3IFNlfW5nT25Jbml0KCl7dGhpcy5jb21tYW5kRm9ybT10aGlzLmNvbm5lY3RvclBhcmFtc0Zvcm1Hcm91cEJ5VHlwZSh0aGlzLmNvbm5lY3RvclR5cGUpLHRoaXMuY29tbWFuZEZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoZT0+e2NvbnN0IHQ9e307c3dpdGNoKHRoaXMuY29ubmVjdG9yVHlwZSl7Y2FzZSBfdC5SRVNUOmNhc2UgX3QuUkVRVUVTVDplLmh0dHBIZWFkZXJzLmZvckVhY2goKGU9Pnt0W2UuaGVhZGVyTmFtZV09ZS52YWx1ZX0pKSxlLmh0dHBIZWFkZXJzPXR9dGhpcy5jb21tYW5kRm9ybS52YWxpZCYmdGhpcy5wcm9wYWdhdGVDaGFuZ2Uoey4uLnRoaXMuY29tbWFuZEZvcm0udmFsdWUsLi4uZX0pfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfWNvbm5lY3RvclBhcmFtc0Zvcm1Hcm91cEJ5VHlwZShlKXtsZXQgdDtzd2l0Y2goZSl7Y2FzZSBfdC5CQUNORVQ6dD10aGlzLmZiLmdyb3VwKHttZXRob2Q6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVxdWVzdFR5cGU6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVxdWVzdFRpbWVvdXQ6W251bGwsW3VlLnJlcXVpcmVkLHVlLm1pbigxMCksdWUucGF0dGVybih0aGlzLm51bWJlcnNPbmx5UGF0dGVybildXSxvYmplY3RUeXBlOltudWxsLFtdXSxpZGVudGlmaWVyOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybih0aGlzLm51bWJlcnNPbmx5UGF0dGVybildXSxwcm9wZXJ0eUlkOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dfSk7YnJlYWs7Y2FzZSBfdC5CTEU6dD10aGlzLmZiLmdyb3VwKHttZXRob2RSUEM6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sY2hhcmFjdGVyaXN0aWNVVUlEOlsiMDAwMDJBMDAtMDAwMC0xMDAwLTgwMDAtMDA4MDVGOUIzNEZCIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxtZXRob2RQcm9jZXNzaW5nOltudWxsLFt1ZS5yZXF1aXJlZF1dLHdpdGhSZXNwb25zZTpbITEsW11dfSk7YnJlYWs7Y2FzZSBfdC5DQU46dD10aGlzLmZiLmdyb3VwKHttZXRob2Q6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sbm9kZUlEOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMCksdWUucGF0dGVybih0aGlzLm51bWJlcnNPbmx5UGF0dGVybildXSxpc0V4dGVuZGVkSUQ6WyExLFtdXSxpc0ZEOlshMSxbXV0sYml0cmF0ZVN3aXRjaDpbITEsW11dLGRhdGFMZW5ndGg6W251bGwsW3VlLm1pbigxKSx1ZS5wYXR0ZXJuKHRoaXMubnVtYmVyc09ubHlQYXR0ZXJuKV1dLGRhdGFCeXRlb3JkZXI6W251bGwsW11dLGRhdGFCZWZvcmU6W251bGwsW3VlLnBhdHRlcm4oa3QpLHVlLnBhdHRlcm4odGhpcy5oZXhPbmx5UGF0dGVybildXSxkYXRhQWZ0ZXI6W251bGwsW3VlLnBhdHRlcm4oa3QpLHVlLnBhdHRlcm4odGhpcy5oZXhPbmx5UGF0dGVybildXSxkYXRhSW5IRVg6W251bGwsW3VlLnBhdHRlcm4oa3QpLHVlLnBhdHRlcm4odGhpcy5oZXhPbmx5UGF0dGVybildXSxkYXRhRXhwcmVzc2lvbjpbbnVsbCxbdWUucGF0dGVybihrdCldXX0pO2JyZWFrO2Nhc2UgX3QuRlRQOnQ9dGhpcy5mYi5ncm91cCh7bWV0aG9kRmlsdGVyOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHZhbHVlRXhwcmVzc2lvbjpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXX0pO2JyZWFrO2Nhc2UgX3QuT0NQUDp0PXRoaXMuZmIuZ3JvdXAoe21ldGhvZFJQQzpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx2YWx1ZUV4cHJlc3Npb246W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sd2l0aFJlc3BvbnNlOlshMSxbXV19KTticmVhaztjYXNlIF90LlNPQ0tFVDp0PXRoaXMuZmIuZ3JvdXAoe21ldGhvZFJQQzpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxtZXRob2RQcm9jZXNzaW5nOltudWxsLFt1ZS5yZXF1aXJlZF1dLGVuY29kaW5nOlthbi5VVEZfOCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx3aXRoUmVzcG9uc2U6WyExLFtdXX0pO2JyZWFrO2Nhc2UgX3QuWE1QUDp0PXRoaXMuZmIuZ3JvdXAoe21ldGhvZFJQQzpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx2YWx1ZUV4cHJlc3Npb246W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sd2l0aFJlc3BvbnNlOlshMSxbXV19KTticmVhaztjYXNlIF90LlNOTVA6dD10aGlzLmZiLmdyb3VwKHtyZXF1ZXN0RmlsdGVyOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLG1ldGhvZDpbbnVsbCxbdWUucmVxdWlyZWRdXSx3aXRoUmVzcG9uc2U6WyExLFtdXSxvaWQ6dGhpcy5mYi5hcnJheShbXSxbdWUucmVxdWlyZWRdKX0pO2JyZWFrO2Nhc2UgX3QuUkVTVDp0PXRoaXMuZmIuZ3JvdXAoe21ldGhvZEZpbHRlcjpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxodHRwTWV0aG9kOltudWxsLFt1ZS5yZXF1aXJlZF1dLHJlcXVlc3RVcmxFeHByZXNzaW9uOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKHRoaXMudXJsUGF0dGVybildXSxyZXNwb25zZVRpbWVvdXQ6W251bGwsW3VlLnJlcXVpcmVkLHVlLm1pbigxMCksdWUucGF0dGVybih0aGlzLm51bWJlcnNPbmx5UGF0dGVybildXSx0aW1lb3V0OltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMTApLHVlLnBhdHRlcm4odGhpcy5udW1iZXJzT25seVBhdHRlcm4pXV0sdHJpZXM6W251bGwsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5wYXR0ZXJuKHRoaXMubnVtYmVyc09ubHlQYXR0ZXJuKV1dLHZhbHVlRXhwcmVzc2lvbjpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxodHRwSGVhZGVyczp0aGlzLmZiLmFycmF5KFtdKSxzZWN1cml0eTpbe30sW3VlLnJlcXVpcmVkXV19KTticmVhaztjYXNlIF90LlJFUVVFU1Q6dD10aGlzLmZiLmdyb3VwKHttZXRob2RGaWx0ZXI6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0saHR0cE1ldGhvZDpbbnVsbCxbdWUucmVxdWlyZWRdXSxyZXF1ZXN0VXJsRXhwcmVzc2lvbjpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybih0aGlzLnVybFBhdHRlcm4pXV0scmVzcG9uc2VUaW1lb3V0OltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMTApLHVlLnBhdHRlcm4odGhpcy5udW1iZXJzT25seVBhdHRlcm4pXV0sdGltZW91dDpbbnVsbCxbdWUucmVxdWlyZWQsdWUubWluKDEwKSx1ZS5wYXR0ZXJuKHRoaXMubnVtYmVyc09ubHlQYXR0ZXJuKV1dLHRyaWVzOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybih0aGlzLm51bWJlcnNPbmx5UGF0dGVybildXSxyZXF1ZXN0VmFsdWVFeHByZXNzaW9uOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHJlc3BvbnNlVmFsdWVFeHByZXNzaW9uOltudWxsLFt1ZS5wYXR0ZXJuKGt0KV1dLGh0dHBIZWFkZXJzOnRoaXMuZmIuYXJyYXkoW10pfSk7YnJlYWs7ZGVmYXVsdDp0PXRoaXMuZmIuZ3JvdXAoe2NvbW1hbmQ6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scGFyYW1zOlt7fSxbSXRdXX0pfXJldHVybiB0fWFkZFNOTVBvaWQoZT1udWxsKXtjb25zdCB0PXRoaXMuY29tbWFuZEZvcm0uZ2V0KCJvaWQiKTt0JiZ0LnB1c2godGhpcy5mYi5jb250cm9sKGUsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXSkse2VtaXRFdmVudDohMX0pfXJlbW92ZVNOTVBvaWQoZSl7dGhpcy5jb21tYW5kRm9ybS5nZXQoIm9pZCIpLnJlbW92ZUF0KGUpfWFkZEhUVFBIZWFkZXIoZT17aGVhZGVyTmFtZTpudWxsLHZhbHVlOm51bGx9KXtjb25zdCB0PXRoaXMuY29tbWFuZEZvcm0uZ2V0KCJodHRwSGVhZGVycyIpLG49dGhpcy5mYi5ncm91cCh7aGVhZGVyTmFtZTpbZS5oZWFkZXJOYW1lLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHZhbHVlOltlLnZhbHVlLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dfSk7dCYmdC5wdXNoKG4se2VtaXRFdmVudDohMX0pfXJlbW92ZUhUVFBIZWFkZXIoZSl7dGhpcy5jb21tYW5kRm9ybS5nZXQoImh0dHBIZWFkZXJzIikucmVtb3ZlQXQoZSl9Z2V0Rm9ybUFycmF5Q29udHJvbHMoZSl7cmV0dXJuIHRoaXMuY29tbWFuZEZvcm0uZ2V0KGUpLmNvbnRyb2xzfW9wZW5FZGl0SlNPTkRpYWxvZyhlKXtlJiZlLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuZGlhbG9nLm9wZW4oUWUse2Rpc2FibGVDbG9zZTohMCxwYW5lbENsYXNzOlsidGItZGlhbG9nIiwidGItZnVsbHNjcmVlbi1kaWFsb2ciXSxkYXRhOntqc29uVmFsdWU6dGhpcy5jb21tYW5kRm9ybS5nZXQoInBhcmFtcyIpLnZhbHVlLHJlcXVpcmVkOiEwfX0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChlPT57ZSYmdGhpcy5jb21tYW5kRm9ybS5nZXQoInBhcmFtcyIpLnNldFZhbHVlKGUpfSkpfXNhdmUoKXt0aGlzLnNhdmVUZW1wbGF0ZS5lbWl0KCl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLnByb3BhZ2F0ZUNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe31jbGVhckZyb21BcnJheUJ5TmFtZShlKXtjb25zdCB0PXRoaXMuY29tbWFuZEZvcm0uZ2V0KGUpO2Zvcig7MCE9PXQubGVuZ3RoOyl0LnJlbW92ZUF0KDApfXdyaXRlVmFsdWUoZSl7aWYoIm9iamVjdCI9PXR5cGVvZiBlKXtzd2l0Y2goZT1KKGUpLHRoaXMuY29ubmVjdG9yVHlwZSl7Y2FzZSBfdC5TTk1QOnRoaXMuY2xlYXJGcm9tQXJyYXlCeU5hbWUoIm9pZCIpLGUub2lkLmZvckVhY2goKGU9Pnt0aGlzLmFkZFNOTVBvaWQoZSl9KSksZGVsZXRlIGUub2lkO2JyZWFrO2Nhc2UgX3QuUkVRVUVTVDpjYXNlIF90LlJFU1Q6dGhpcy5jbGVhckZyb21BcnJheUJ5TmFtZSgiaHR0cEhlYWRlcnMiKSxlLmh0dHBIZWFkZXJzJiZPYmplY3QuZW50cmllcyhlLmh0dHBIZWFkZXJzKS5mb3JFYWNoKChlPT57dGhpcy5hZGRIVFRQSGVhZGVyKHtoZWFkZXJOYW1lOmVbMF0sdmFsdWU6ZVsxXX0pfSkpLGRlbGV0ZSBlLmh0dHBIZWFkZXJzfXRoaXMuY29tbWFuZEZvcm0ucGF0Y2hWYWx1ZShlLHtvbmx5U2VsZjohMX0pfX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkFhLGRlcHM6W3t0b2tlbjptZS5Gb3JtQnVpbGRlcn0se3Rva2VuOkplLk1hdERpYWxvZ31dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6QWEsc2VsZWN0b3I6InRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yIixpbnB1dHM6e2Nvbm5lY3RvclR5cGU6ImNvbm5lY3RvclR5cGUifSxvdXRwdXRzOntzZW5kQ29tbWFuZDoic2VuZENvbW1hbmQiLHNhdmVUZW1wbGF0ZToic2F2ZVRlbXBsYXRlIn0scHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+QWEpKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iIGNsYXNzPSJjb21tYW5kLWZvcm0iIFtmb3JtR3JvdXBdPSJjb21tYW5kRm9ybSI+XG4gIDxkaXZcbiAgICBjbGFzcz0ibWF0LXN1YnRpdGxlLTEgdGl0bGUiPnt7IFwnZ2F0ZXdheS5ycGMudGl0bGVcJyB8IHRyYW5zbGF0ZToge3R5cGU6IGdhdGV3YXlDb25uZWN0b3JEZWZhdWx0VHlwZXNUcmFuc2xhdGVzLmdldChjb25uZWN0b3JUeXBlKX0gfX08L2Rpdj5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT0iY29ubmVjdG9yVHlwZSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJjb25uZWN0b3JUeXBlIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5CQUNORVQiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFJQQ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIiBwbGFjZWhvbGRlcj0ic2V0X3N0YXRlIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdFR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icmVxdWVzdFR5cGUiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBiQUNuZXRSZXF1ZXN0VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICB7e2JBQ25ldFJlcXVlc3RUeXBlc1RyYW5zbGF0ZXMuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdFRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RUaW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgIG1pbj0iMTAiIHN0ZXA9IjEiIHBsYWNlaG9sZGVyPSIxMDAwIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4Ij5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCIgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMub2JqZWN0VHlwZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9Im9iamVjdFR5cGUiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGJBQ25ldE9iamVjdFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICB7e2JBQ25ldE9iamVjdFR5cGVzVHJhbnNsYXRlcy5nZXQodHlwZSkgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuaWRlbnRpZmllclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJpZGVudGlmaWVyIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgbWluPSIxIiBzdGVwPSIxIiBwbGFjZWhvbGRlcj0iMSIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnByb3BlcnR5SWRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InByb3BlcnR5SWQiIHBsYWNlaG9sZGVyPSJwcmVzZW50VmFsdWUiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuQkxFIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RSUENcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZFJQQyIgcGxhY2Vob2xkZXI9InJwY01ldGhvZDEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5jaGFyYWN0ZXJpc3RpY1VVSURcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImNoYXJhY3RlcmlzdGljVVVJRCIgcGxhY2Vob2xkZXI9IjAwMDAyQTAwLTAwMDAtMTAwMC04MDAwLTAwODA1RjlCMzRGQiIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFByb2Nlc3NpbmdcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kUHJvY2Vzc2luZyI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGJMRU1ldGhvZHMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICB7e2JMRU1ldGhvZHNUcmFuc2xhdGVzLmdldCh0eXBlKSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLkNBTiI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiIHBsYWNlaG9sZGVyPSJzZW5kU2FtZURhdGEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5ub2RlSURcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im5vZGVJRCIgdHlwZT0ibnVtYmVyIiBwbGFjZWhvbGRlcj0iNCIgbWluPSIwIiBzdGVwPSIxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9ImlzRXh0ZW5kZWRJRCI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy5pc0V4dGVuZGVkSURcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9ImlzRkQiPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMuaXNGRFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0iYml0cmF0ZVN3aXRjaCI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy5iaXRyYXRlU3dpdGNoXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFMZW5ndGhcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUxlbmd0aCIgdHlwZT0ibnVtYmVyIiBwbGFjZWhvbGRlcj0iMiIgbWluPSIxIiBzdGVwPSIxIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayIgZnhGbGV4PSI1MCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuZGF0YUJ5dGVvcmRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRhdGFCeXRlb3JkZXIiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBvcmRlciBvZiBjQU5CeXRlT3JkZXJzIiBbdmFsdWVdPSJvcmRlciI+XG4gICAgICAgICAgICAgICAge3sgb3JkZXIgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFCZWZvcmVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUJlZm9yZSIgcGxhY2Vob2xkZXI9IjAwQUEiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjUwIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5kYXRhQWZ0ZXJcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUFmdGVyIiBwbGFjZWhvbGRlcj0iMDEwMiIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFJbkhFWFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUluSEVYIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iYWEgYmIgY2MgZGQgZWUgZmYgICBhYSBiYiBhYSBiYiBjYyBkIGVlIGZmIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuZGF0YUV4cHJlc3Npb25cJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImRhdGFFeHByZXNzaW9uIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0idXNlclNwZWVkIGlmIG1heEFsbG93ZWRTcGVlZCA+IHVzZXJTcGVlZCBlbHNlIG1heEFsbG93ZWRTcGVlZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5GVFAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIiBwbGFjZWhvbGRlcj0icmVhZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnZhbHVlRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLk9DUFAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFJQQ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kUlBDIiBwbGFjZWhvbGRlcj0icnBjMSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnZhbHVlRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLlNPQ0tFVCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RSUEMiIHBsYWNlaG9sZGVyPSJycGNNZXRob2QxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUHJvY2Vzc2luZ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RQcm9jZXNzaW5nIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBzb2NrZXRNZXRob2RQcm9jZXNzaW5ncyIgW3ZhbHVlXT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAge3sgU29ja2V0TWV0aG9kUHJvY2Vzc2luZ3NUcmFuc2xhdGVzLmdldChtZXRob2QpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmVuY29kaW5nXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJlbmNvZGluZyIgcGxhY2Vob2xkZXI9Int7c29ja2V0RW5jb2RpbmdzWzBdfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0id2l0aFJlc3BvbnNlIj5cbiAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLndpdGhSZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuWE1QUCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RSUEMiIHBsYWNlaG9sZGVyPSJycGMxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSIke3BhcmFtc30iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0id2l0aFJlc3BvbnNlIj5cbiAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLndpdGhSZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuU05NUCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVxdWVzdEZpbHRlciIgcGxhY2Vob2xkZXI9InNldERhdGEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBzTk1QTWV0aG9kcyIgW3ZhbHVlXT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAge3sgU05NUE1ldGhvZHNUcmFuc2xhdGlvbnMuZ2V0KG1ldGhvZCkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZmllbGRzIGJvcmRlciIgZnhMYXlvdXQ9ImNvbHVtbiIgZnhMYXlvdXRHYXA9IjEwcHgiIGZvcm1BcnJheU5hbWU9Im9pZCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkcy1sYWJlbCI+e3sgXCdnYXRld2F5LnJwYy5vaWRzXCcgfCB0cmFuc2xhdGUgfX0qPC9zcGFuPlxuICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgICAgICAgKm5nRm9yPSJsZXQgY29udHJvbCBvZiBnZXRGb3JtQXJyYXlDb250cm9scyhcJ29pZFwnKTsgbGV0IGkgPSBpbmRleCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWlubGluZS1maWVsZCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4IHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPSJjb250cm9sIiByZXF1aXJlZC8+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1pY29uIHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PSIzMHB4IlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9InJlbW92ZVNOTVBvaWQoaSkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LnJwYy5yZW1vdmVcJyB8IHRyYW5zbGF0ZSB9fSI+ZGVsZXRlXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgIGZ4RmxleEFsaWduPSJzdGFydCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9ImFkZFNOTVBvaWQoKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmFkZC1vaWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5SRVNUIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RGaWx0ZXJcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZEZpbHRlciIgcGxhY2Vob2xkZXI9InBvc3RfYXR0cmlidXRlcyIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmh0dHBNZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJodHRwTWV0aG9kIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbWV0aG9kIG9mIGhUVFBNZXRob2RzIiBbdmFsdWVdPSJtZXRob2QiPlxuICAgICAgICAgICAgICAgIHt7IG1ldGhvZCB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlcXVlc3RVcmxFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RVcmxFeHByZXNzaW9uIlxuICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJodHRwOi8vMTI3LjAuMC4xOjUwMDAvbXlfZGV2aWNlcyIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlc3BvbnNlVGltZW91dFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRpbWVvdXQiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgICAgICAgICBzdGVwPSIxIiBtaW49IjEwIiBwbGFjZWhvbGRlcj0iMTAiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudGltZW91dFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ0aW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgc3RlcD0iMSIgbWluPSIxMCIgcGxhY2Vob2xkZXI9IjEwMDAiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudHJpZXNcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idHJpZXMiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgICAgICAgICBzdGVwPSIxIiBtaW49IjEiIHBsYWNlaG9sZGVyPSIzIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSIke3BhcmFtc30iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmaWVsZHMgYm9yZGVyIiBmeExheW91dD0iY29sdW1uIiBmeExheW91dEdhcD0iMTBweCIgZm9ybUFycmF5TmFtZT0iaHR0cEhlYWRlcnMiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZHMtbGFiZWwiPnt7IFwnZ2F0ZXdheS5ycGMuaHR0cEhlYWRlcnNcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJib3JkZXIiIGZ4TGF5b3V0PSJjb2x1bW4iIGZ4TGF5b3V0R2FwPSIxMHB4IiAqbmdJZj0iZ2V0Rm9ybUFycmF5Q29udHJvbHMoXCdodHRwSGVhZGVyc1wnKS5sZW5ndGgiPlxuICAgICAgICAgICAgPGRpdiBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciI+XG4gICAgICAgICAgICAgIDxzcGFuIGZ4RmxleCBjbGFzcz0idGl0bGUiPnt7IFwnZ2F0ZXdheS5ycGMuaGVhZGVyLW5hbWVcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gZnhGbGV4IGNsYXNzPSJ0aXRsZSI+e3sgXCdnYXRld2F5LnJwYy52YWx1ZVwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBmeEZsZXg9IjMwcHgiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgICAgKm5nRm9yPSJsZXQgY29udHJvbCBvZiBnZXRGb3JtQXJyYXlDb250cm9scyhcJ2h0dHBIZWFkZXJzXCcpOyBsZXQgaSA9IGluZGV4Ij5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwTmFtZV09ImkiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBmeEZsZXg+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJoZWFkZXJOYW1lIi8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4PlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWUiIHBsYWNlaG9sZGVyPSJhcHBsaWNhdGlvbi9qc29uIi8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PSIzMHB4IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJyZW1vdmVIVFRQSGVhZGVyKGkpIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkucnBjLnJlbW92ZVwnIHwgdHJhbnNsYXRlIH19Ij5kZWxldGVcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgIGZ4RmxleEFsaWduPSJzdGFydCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9ImFkZEhUVFBIZWFkZXIoKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmFkZC1oZWFkZXJcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgICA8dGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHkgW2Zvcm1Db250cm9sXT0iY29tbWFuZEZvcm0uZ2V0KFwnc2VjdXJpdHlcJykiPjwvdGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHk+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLlJFUVVFU1QiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIiBwbGFjZWhvbGRlcj0iZWNobyIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmh0dHBNZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJodHRwTWV0aG9kIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbWV0aG9kIG9mIGhUVFBNZXRob2RzIiBbdmFsdWVdPSJtZXRob2QiPlxuICAgICAgICAgICAgICAgIHt7IG1ldGhvZCB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlcXVlc3RVcmxFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RVcmxFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iaHR0cDovLzEyNy4wLjAuMTo1MDAwL215X2RldmljZXMiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRHYXA9IjEwcHgiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjMzIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXNwb25zZVRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUaW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgc3RlcD0iMSIgbWluPSIxMCIgcGxhY2Vob2xkZXI9IjEwIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idGltZW91dCIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgIHN0ZXA9IjEiIG1pbj0iMTAiIHBsYWNlaG9sZGVyPSIxMCIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy50cmllc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ0cmllcyIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgIHN0ZXA9IjEiIG1pbj0iMSIgcGxhY2Vob2xkZXI9IjEiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXF1ZXN0VmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0VmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVzcG9uc2VWYWx1ZUV4cHJlc3Npb25cJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlc3BvbnNlVmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHt0ZW1wfSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZpZWxkcyBib3JkZXIiIGZ4TGF5b3V0PSJjb2x1bW4iIGZ4TGF5b3V0R2FwPSIxMHB4IiBmb3JtQXJyYXlOYW1lPSJodHRwSGVhZGVycyI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkcy1sYWJlbCI+e3sgXCdnYXRld2F5LnJwYy5odHRwSGVhZGVyc1wnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImJvcmRlciIgZnhMYXlvdXQ9ImNvbHVtbiIgZnhMYXlvdXRHYXA9IjEwcHgiICpuZ0lmPSJnZXRGb3JtQXJyYXlDb250cm9scyhcJ2h0dHBIZWFkZXJzXCcpLmxlbmd0aCI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIj5cbiAgICAgICAgICAgICAgPHNwYW4gZnhGbGV4IGNsYXNzPSJ0aXRsZSI+e3sgXCdnYXRld2F5LnJwYy5oZWFkZXItbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBmeEZsZXggY2xhc3M9InRpdGxlIj57eyBcJ2dhdGV3YXkucnBjLnZhbHVlXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGZ4RmxleD0iMzBweCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgICAgICAgICAqbmdGb3I9ImxldCBjb250cm9sIG9mIGdldEZvcm1BcnJheUNvbnRyb2xzKFwnaHR0cEhlYWRlcnNcJyk7IGxldCBpID0gaW5kZXgiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBOYW1lXT0iaSI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGZ4RmxleD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImhlYWRlck5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkucnBjLnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4PlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWUiLz5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBmeEZsZXg9IjMwcHgiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9InJlbW92ZUhUVFBIZWFkZXIoaSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5ycGMucmVtb3ZlXCcgfCB0cmFuc2xhdGUgfX0iPmRlbGV0ZVxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgZnhGbGV4QWxpZ249InN0YXJ0IlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iYWRkSFRUUEhlYWRlcigpIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMuYWRkLWhlYWRlclwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIG5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY29tbWFuZFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iY29tbWFuZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCd3aWRnZXQtY29uZmlnLmRhdGFzb3VyY2UtcGFyYW1ldGVyc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icGFyYW1zIiB0eXBlPSJKU09OIiB0Yi1qc29uLXRvLXN0cmluZy8+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCIgYXJpYS1oaWRkZW49ImZhbHNlIiBhcmlhLWxhYmVsPSJoZWxwLWljb24iXG4gICAgICAgICAgICAgICAgICAgIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ib3BlbkVkaXRKU09ORGlhbG9nKCRldmVudCkiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1lZGl0LXBhcmFtc1wnIHwgdHJhbnNsYXRlIH19Ij5lZGl0XG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb21tYW5kRm9ybS5nZXQoXCdwYXJhbXNcJykuaGFzRXJyb3IoXCdpbnZhbGlkSlNPTlwnKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmpzb24tdmFsdWUtaW52YWxpZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPSJ0ZW1wbGF0ZS1hY3Rpb25zIiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciIgZnhMYXlvdXRHYXA9IjEwcHgiPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9InNhdmUoKSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09ImNvbW1hbmRGb3JtLmludmFsaWQiPlxuICAgICAge3sgXCdnYXRld2F5LnJwYy1jb21tYW5kLXNhdmUtdGVtcGxhdGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0ic2VuZENvbW1hbmQuZW1pdCgpIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0iY29tbWFuZEZvcm0uaW52YWxpZCI+XG4gICAgICB7eyBcJ2dhdGV3YXkucnBjLWNvbW1hbmQtc2VuZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MH06aG9zdCAudGl0bGV7Zm9udC13ZWlnaHQ6NTAwfTpob3N0IC5jb21tYW5kLWZvcm17ZmxleC13cmFwOm5vd3JhcH06aG9zdCAuY29tbWFuZC1mb3JtPmJ1dHRvbnttYXJnaW4tdG9wOjEwcHh9Omhvc3QgLm1hdC1tZGMtc2xpZGUtdG9nZ2xlLm1hcmdpbnttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLWxlZnQ6MTBweH06aG9zdCAuZmllbGRzIC5maWVsZHMtbGFiZWx7Zm9udC13ZWlnaHQ6NTAwfTpob3N0IC5ib3JkZXJ7cGFkZGluZzoxNnB4O21hcmdpbi1ib3R0b206MTBweDtib3gtc2hhZG93OjAgMCAjMDAwMywwIDAgIzAwMDAwMDI0LDAgMCAjMDAwMDAwMWY7Ym9yZGVyOnNvbGlkIDFweCAjZTBlMGUwO2JvcmRlci1yYWRpdXM6NHB4fTpob3N0IC5ib3JkZXIgLnRpdGxle2NvbG9yOiMwMDAwMDA4YX06aG9zdCAuYm9yZGVyIC5tYXQtaWNvbntjb2xvcjojMDAwMDAwNjF9Omhvc3QgLmJvcmRlciAubWF0LWRpdmlkZXJ7bWFyZ2luLWxlZnQ6LTE2cHg7bWFyZ2luLXJpZ2h0Oi0xNnB4O21hcmdpbi1ib3R0b206MTZweH1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaCxzZWxlY3RvcjoiW25nU3dpdGNoXSIsaW5wdXRzOlsibmdTd2l0Y2giXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoQ2FzZSxzZWxlY3RvcjoiW25nU3dpdGNoQ2FzZV0iLGlucHV0czpbIm5nU3dpdGNoQ2FzZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdTd2l0Y2hEZWZhdWx0LHNlbGVjdG9yOiJbbmdTd2l0Y2hEZWZhdWx0XSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WmUuVGJKc29uVG9TdHJpbmdEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0Yi1qc29uLXRvLXN0cmluZ10ifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0RXJyb3Isc2VsZWN0b3I6Im1hdC1lcnJvciwgW21hdEVycm9yXSIsaW5wdXRzOlsiaWQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRTdWZmaXgsc2VsZWN0b3I6IlttYXRTdWZmaXhdLCBbbWF0SWNvblN1ZmZpeF0sIFttYXRUZXh0U3VmZml4XSIsaW5wdXRzOlsibWF0VGV4dFN1ZmZpeCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOndlLk1hdFNlbGVjdCxzZWxlY3RvcjoibWF0LXNlbGVjdCIsaW5wdXRzOlsiYXJpYS1kZXNjcmliZWRieSIsInBhbmVsQ2xhc3MiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3IiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwibXVsdGlwbGUiLCJkaXNhYmxlT3B0aW9uQ2VudGVyaW5nIiwiY29tcGFyZVdpdGgiLCJ2YWx1ZSIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJlcnJvclN0YXRlTWF0Y2hlciIsInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLCJzb3J0Q29tcGFyYXRvciIsImlkIiwicGFuZWxXaWR0aCJdLG91dHB1dHM6WyJvcGVuZWRDaGFuZ2UiLCJvcGVuZWQiLCJjbG9zZWQiLCJzZWxlY3Rpb25DaGFuZ2UiLCJ2YWx1ZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2VsZWN0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnouTWF0RGl2aWRlcixzZWxlY3RvcjoibWF0LWRpdmlkZXIiLGlucHV0czpbInZlcnRpY2FsIiwiaW5zZXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRHYXBEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0R2FwXSwgW2Z4TGF5b3V0R2FwLnhzXSwgW2Z4TGF5b3V0R2FwLnNtXSwgW2Z4TGF5b3V0R2FwLm1kXSwgIFtmeExheW91dEdhcC5sZ10sIFtmeExheW91dEdhcC54bF0sIFtmeExheW91dEdhcC5sdC1zbV0sIFtmeExheW91dEdhcC5sdC1tZF0sICBbZnhMYXlvdXRHYXAubHQtbGddLCBbZnhMYXlvdXRHYXAubHQteGxdLCBbZnhMYXlvdXRHYXAuZ3QteHNdLCBbZnhMYXlvdXRHYXAuZ3Qtc21dLCAgW2Z4TGF5b3V0R2FwLmd0LW1kXSwgW2Z4TGF5b3V0R2FwLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRHYXAiLCJmeExheW91dEdhcC54cyIsImZ4TGF5b3V0R2FwLnNtIiwiZnhMYXlvdXRHYXAubWQiLCJmeExheW91dEdhcC5sZyIsImZ4TGF5b3V0R2FwLnhsIiwiZnhMYXlvdXRHYXAubHQtc20iLCJmeExheW91dEdhcC5sdC1tZCIsImZ4TGF5b3V0R2FwLmx0LWxnIiwiZnhMYXlvdXRHYXAubHQteGwiLCJmeExheW91dEdhcC5ndC14cyIsImZ4TGF5b3V0R2FwLmd0LXNtIiwiZnhMYXlvdXRHYXAuZ3QtbWQiLCJmeExheW91dEdhcC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhBbGlnbkRpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4QWxpZ25dLCBbZnhGbGV4QWxpZ24ueHNdLCBbZnhGbGV4QWxpZ24uc21dLCBbZnhGbGV4QWxpZ24ubWRdLCAgW2Z4RmxleEFsaWduLmxnXSwgW2Z4RmxleEFsaWduLnhsXSwgW2Z4RmxleEFsaWduLmx0LXNtXSwgW2Z4RmxleEFsaWduLmx0LW1kXSwgIFtmeEZsZXhBbGlnbi5sdC1sZ10sIFtmeEZsZXhBbGlnbi5sdC14bF0sIFtmeEZsZXhBbGlnbi5ndC14c10sIFtmeEZsZXhBbGlnbi5ndC1zbV0sICBbZnhGbGV4QWxpZ24uZ3QtbWRdLCBbZnhGbGV4QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeEZsZXhBbGlnbiIsImZ4RmxleEFsaWduLnhzIiwiZnhGbGV4QWxpZ24uc20iLCJmeEZsZXhBbGlnbi5tZCIsImZ4RmxleEFsaWduLmxnIiwiZnhGbGV4QWxpZ24ueGwiLCJmeEZsZXhBbGlnbi5sdC1zbSIsImZ4RmxleEFsaWduLmx0LW1kIiwiZnhGbGV4QWxpZ24ubHQtbGciLCJmeEZsZXhBbGlnbi5sdC14bCIsImZ4RmxleEFsaWduLmd0LXhzIiwiZnhGbGV4QWxpZ24uZ3Qtc20iLCJmeEZsZXhBbGlnbi5ndC1tZCIsImZ4RmxleEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1pblZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLGlucHV0czpbIm1pbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwTmFtZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdIixpbnB1dHM6WyJmb3JtR3JvdXBOYW1lIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUFycmF5TmFtZSxzZWxlY3RvcjoiW2Zvcm1BcnJheU5hbWVdIixpbnB1dHM6WyJmb3JtQXJyYXlOYW1lIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6SWEsc2VsZWN0b3I6InRiLXJlc3QtY29ubmVjdG9yLXNlY3VyaXR5In0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XX0pfX1lKCJHYXRld2F5U2VydmljZVJQQ0Nvbm5lY3RvckNvbXBvbmVudCIsQWEpLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6QWEsZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yIixwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5BYSkpLG11bHRpOiEwfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iIGNsYXNzPSJjb21tYW5kLWZvcm0iIFtmb3JtR3JvdXBdPSJjb21tYW5kRm9ybSI+XG4gIDxkaXZcbiAgICBjbGFzcz0ibWF0LXN1YnRpdGxlLTEgdGl0bGUiPnt7IFwnZ2F0ZXdheS5ycGMudGl0bGVcJyB8IHRyYW5zbGF0ZToge3R5cGU6IGdhdGV3YXlDb25uZWN0b3JEZWZhdWx0VHlwZXNUcmFuc2xhdGVzLmdldChjb25uZWN0b3JUeXBlKX0gfX08L2Rpdj5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT0iY29ubmVjdG9yVHlwZSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJjb25uZWN0b3JUeXBlIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5CQUNORVQiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFJQQ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIiBwbGFjZWhvbGRlcj0ic2V0X3N0YXRlIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdFR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icmVxdWVzdFR5cGUiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBiQUNuZXRSZXF1ZXN0VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICB7e2JBQ25ldFJlcXVlc3RUeXBlc1RyYW5zbGF0ZXMuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdFRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RUaW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgIG1pbj0iMTAiIHN0ZXA9IjEiIHBsYWNlaG9sZGVyPSIxMDAwIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4Ij5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCIgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMub2JqZWN0VHlwZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9Im9iamVjdFR5cGUiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGJBQ25ldE9iamVjdFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICB7e2JBQ25ldE9iamVjdFR5cGVzVHJhbnNsYXRlcy5nZXQodHlwZSkgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuaWRlbnRpZmllclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJpZGVudGlmaWVyIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgbWluPSIxIiBzdGVwPSIxIiBwbGFjZWhvbGRlcj0iMSIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnByb3BlcnR5SWRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InByb3BlcnR5SWQiIHBsYWNlaG9sZGVyPSJwcmVzZW50VmFsdWUiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuQkxFIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RSUENcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZFJQQyIgcGxhY2Vob2xkZXI9InJwY01ldGhvZDEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5jaGFyYWN0ZXJpc3RpY1VVSURcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImNoYXJhY3RlcmlzdGljVVVJRCIgcGxhY2Vob2xkZXI9IjAwMDAyQTAwLTAwMDAtMTAwMC04MDAwLTAwODA1RjlCMzRGQiIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFByb2Nlc3NpbmdcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kUHJvY2Vzc2luZyI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGJMRU1ldGhvZHMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICB7e2JMRU1ldGhvZHNUcmFuc2xhdGVzLmdldCh0eXBlKSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLkNBTiI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiIHBsYWNlaG9sZGVyPSJzZW5kU2FtZURhdGEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5ub2RlSURcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im5vZGVJRCIgdHlwZT0ibnVtYmVyIiBwbGFjZWhvbGRlcj0iNCIgbWluPSIwIiBzdGVwPSIxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9ImlzRXh0ZW5kZWRJRCI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy5pc0V4dGVuZGVkSURcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9ImlzRkQiPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMuaXNGRFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0iYml0cmF0ZVN3aXRjaCI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy5iaXRyYXRlU3dpdGNoXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFMZW5ndGhcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUxlbmd0aCIgdHlwZT0ibnVtYmVyIiBwbGFjZWhvbGRlcj0iMiIgbWluPSIxIiBzdGVwPSIxIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayIgZnhGbGV4PSI1MCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuZGF0YUJ5dGVvcmRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRhdGFCeXRlb3JkZXIiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBvcmRlciBvZiBjQU5CeXRlT3JkZXJzIiBbdmFsdWVdPSJvcmRlciI+XG4gICAgICAgICAgICAgICAge3sgb3JkZXIgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFCZWZvcmVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUJlZm9yZSIgcGxhY2Vob2xkZXI9IjAwQUEiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjUwIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5kYXRhQWZ0ZXJcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUFmdGVyIiBwbGFjZWhvbGRlcj0iMDEwMiIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFJbkhFWFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUluSEVYIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iYWEgYmIgY2MgZGQgZWUgZmYgICBhYSBiYiBhYSBiYiBjYyBkIGVlIGZmIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuZGF0YUV4cHJlc3Npb25cJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImRhdGFFeHByZXNzaW9uIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0idXNlclNwZWVkIGlmIG1heEFsbG93ZWRTcGVlZCA+IHVzZXJTcGVlZCBlbHNlIG1heEFsbG93ZWRTcGVlZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5GVFAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIiBwbGFjZWhvbGRlcj0icmVhZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnZhbHVlRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLk9DUFAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFJQQ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kUlBDIiBwbGFjZWhvbGRlcj0icnBjMSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnZhbHVlRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLlNPQ0tFVCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RSUEMiIHBsYWNlaG9sZGVyPSJycGNNZXRob2QxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUHJvY2Vzc2luZ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RQcm9jZXNzaW5nIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBzb2NrZXRNZXRob2RQcm9jZXNzaW5ncyIgW3ZhbHVlXT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAge3sgU29ja2V0TWV0aG9kUHJvY2Vzc2luZ3NUcmFuc2xhdGVzLmdldChtZXRob2QpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmVuY29kaW5nXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJlbmNvZGluZyIgcGxhY2Vob2xkZXI9Int7c29ja2V0RW5jb2RpbmdzWzBdfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0id2l0aFJlc3BvbnNlIj5cbiAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLndpdGhSZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuWE1QUCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RSUEMiIHBsYWNlaG9sZGVyPSJycGMxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSIke3BhcmFtc30iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0id2l0aFJlc3BvbnNlIj5cbiAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLndpdGhSZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuU05NUCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVxdWVzdEZpbHRlciIgcGxhY2Vob2xkZXI9InNldERhdGEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBzTk1QTWV0aG9kcyIgW3ZhbHVlXT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAge3sgU05NUE1ldGhvZHNUcmFuc2xhdGlvbnMuZ2V0KG1ldGhvZCkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZmllbGRzIGJvcmRlciIgZnhMYXlvdXQ9ImNvbHVtbiIgZnhMYXlvdXRHYXA9IjEwcHgiIGZvcm1BcnJheU5hbWU9Im9pZCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkcy1sYWJlbCI+e3sgXCdnYXRld2F5LnJwYy5vaWRzXCcgfCB0cmFuc2xhdGUgfX0qPC9zcGFuPlxuICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgICAgICAgKm5nRm9yPSJsZXQgY29udHJvbCBvZiBnZXRGb3JtQXJyYXlDb250cm9scyhcJ29pZFwnKTsgbGV0IGkgPSBpbmRleCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWlubGluZS1maWVsZCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4IHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPSJjb250cm9sIiByZXF1aXJlZC8+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1pY29uIHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PSIzMHB4IlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9InJlbW92ZVNOTVBvaWQoaSkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LnJwYy5yZW1vdmVcJyB8IHRyYW5zbGF0ZSB9fSI+ZGVsZXRlXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgIGZ4RmxleEFsaWduPSJzdGFydCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9ImFkZFNOTVBvaWQoKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmFkZC1vaWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5SRVNUIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RGaWx0ZXJcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZEZpbHRlciIgcGxhY2Vob2xkZXI9InBvc3RfYXR0cmlidXRlcyIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmh0dHBNZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJodHRwTWV0aG9kIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbWV0aG9kIG9mIGhUVFBNZXRob2RzIiBbdmFsdWVdPSJtZXRob2QiPlxuICAgICAgICAgICAgICAgIHt7IG1ldGhvZCB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlcXVlc3RVcmxFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RVcmxFeHByZXNzaW9uIlxuICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJodHRwOi8vMTI3LjAuMC4xOjUwMDAvbXlfZGV2aWNlcyIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlc3BvbnNlVGltZW91dFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRpbWVvdXQiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgICAgICAgICBzdGVwPSIxIiBtaW49IjEwIiBwbGFjZWhvbGRlcj0iMTAiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudGltZW91dFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ0aW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgc3RlcD0iMSIgbWluPSIxMCIgcGxhY2Vob2xkZXI9IjEwMDAiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudHJpZXNcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idHJpZXMiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgICAgICAgICBzdGVwPSIxIiBtaW49IjEiIHBsYWNlaG9sZGVyPSIzIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSIke3BhcmFtc30iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmaWVsZHMgYm9yZGVyIiBmeExheW91dD0iY29sdW1uIiBmeExheW91dEdhcD0iMTBweCIgZm9ybUFycmF5TmFtZT0iaHR0cEhlYWRlcnMiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZHMtbGFiZWwiPnt7IFwnZ2F0ZXdheS5ycGMuaHR0cEhlYWRlcnNcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJib3JkZXIiIGZ4TGF5b3V0PSJjb2x1bW4iIGZ4TGF5b3V0R2FwPSIxMHB4IiAqbmdJZj0iZ2V0Rm9ybUFycmF5Q29udHJvbHMoXCdodHRwSGVhZGVyc1wnKS5sZW5ndGgiPlxuICAgICAgICAgICAgPGRpdiBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciI+XG4gICAgICAgICAgICAgIDxzcGFuIGZ4RmxleCBjbGFzcz0idGl0bGUiPnt7IFwnZ2F0ZXdheS5ycGMuaGVhZGVyLW5hbWVcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gZnhGbGV4IGNsYXNzPSJ0aXRsZSI+e3sgXCdnYXRld2F5LnJwYy52YWx1ZVwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBmeEZsZXg9IjMwcHgiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgICAgKm5nRm9yPSJsZXQgY29udHJvbCBvZiBnZXRGb3JtQXJyYXlDb250cm9scyhcJ2h0dHBIZWFkZXJzXCcpOyBsZXQgaSA9IGluZGV4Ij5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwTmFtZV09ImkiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBmeEZsZXg+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJoZWFkZXJOYW1lIi8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4PlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWUiIHBsYWNlaG9sZGVyPSJhcHBsaWNhdGlvbi9qc29uIi8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PSIzMHB4IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJyZW1vdmVIVFRQSGVhZGVyKGkpIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkucnBjLnJlbW92ZVwnIHwgdHJhbnNsYXRlIH19Ij5kZWxldGVcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgIGZ4RmxleEFsaWduPSJzdGFydCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9ImFkZEhUVFBIZWFkZXIoKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmFkZC1oZWFkZXJcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgICA8dGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHkgW2Zvcm1Db250cm9sXT0iY29tbWFuZEZvcm0uZ2V0KFwnc2VjdXJpdHlcJykiPjwvdGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHk+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLlJFUVVFU1QiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIiBwbGFjZWhvbGRlcj0iZWNobyIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmh0dHBNZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJodHRwTWV0aG9kIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbWV0aG9kIG9mIGhUVFBNZXRob2RzIiBbdmFsdWVdPSJtZXRob2QiPlxuICAgICAgICAgICAgICAgIHt7IG1ldGhvZCB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlcXVlc3RVcmxFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RVcmxFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iaHR0cDovLzEyNy4wLjAuMTo1MDAwL215X2RldmljZXMiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRHYXA9IjEwcHgiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjMzIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXNwb25zZVRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUaW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgc3RlcD0iMSIgbWluPSIxMCIgcGxhY2Vob2xkZXI9IjEwIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idGltZW91dCIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgIHN0ZXA9IjEiIG1pbj0iMTAiIHBsYWNlaG9sZGVyPSIxMCIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy50cmllc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ0cmllcyIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgIHN0ZXA9IjEiIG1pbj0iMSIgcGxhY2Vob2xkZXI9IjEiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXF1ZXN0VmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0VmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVzcG9uc2VWYWx1ZUV4cHJlc3Npb25cJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlc3BvbnNlVmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHt0ZW1wfSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZpZWxkcyBib3JkZXIiIGZ4TGF5b3V0PSJjb2x1bW4iIGZ4TGF5b3V0R2FwPSIxMHB4IiBmb3JtQXJyYXlOYW1lPSJodHRwSGVhZGVycyI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkcy1sYWJlbCI+e3sgXCdnYXRld2F5LnJwYy5odHRwSGVhZGVyc1wnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImJvcmRlciIgZnhMYXlvdXQ9ImNvbHVtbiIgZnhMYXlvdXRHYXA9IjEwcHgiICpuZ0lmPSJnZXRGb3JtQXJyYXlDb250cm9scyhcJ2h0dHBIZWFkZXJzXCcpLmxlbmd0aCI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIj5cbiAgICAgICAgICAgICAgPHNwYW4gZnhGbGV4IGNsYXNzPSJ0aXRsZSI+e3sgXCdnYXRld2F5LnJwYy5oZWFkZXItbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBmeEZsZXggY2xhc3M9InRpdGxlIj57eyBcJ2dhdGV3YXkucnBjLnZhbHVlXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGZ4RmxleD0iMzBweCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgICAgICAgICAqbmdGb3I9ImxldCBjb250cm9sIG9mIGdldEZvcm1BcnJheUNvbnRyb2xzKFwnaHR0cEhlYWRlcnNcJyk7IGxldCBpID0gaW5kZXgiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBOYW1lXT0iaSI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGZ4RmxleD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImhlYWRlck5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkucnBjLnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4PlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWUiLz5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBmeEZsZXg9IjMwcHgiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9InJlbW92ZUhUVFBIZWFkZXIoaSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5ycGMucmVtb3ZlXCcgfCB0cmFuc2xhdGUgfX0iPmRlbGV0ZVxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgZnhGbGV4QWxpZ249InN0YXJ0IlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iYWRkSFRUUEhlYWRlcigpIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMuYWRkLWhlYWRlclwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIG5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY29tbWFuZFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iY29tbWFuZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCd3aWRnZXQtY29uZmlnLmRhdGFzb3VyY2UtcGFyYW1ldGVyc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icGFyYW1zIiB0eXBlPSJKU09OIiB0Yi1qc29uLXRvLXN0cmluZy8+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCIgYXJpYS1oaWRkZW49ImZhbHNlIiBhcmlhLWxhYmVsPSJoZWxwLWljb24iXG4gICAgICAgICAgICAgICAgICAgIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ib3BlbkVkaXRKU09ORGlhbG9nKCRldmVudCkiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1lZGl0LXBhcmFtc1wnIHwgdHJhbnNsYXRlIH19Ij5lZGl0XG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb21tYW5kRm9ybS5nZXQoXCdwYXJhbXNcJykuaGFzRXJyb3IoXCdpbnZhbGlkSlNPTlwnKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmpzb24tdmFsdWUtaW52YWxpZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPSJ0ZW1wbGF0ZS1hY3Rpb25zIiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciIgZnhMYXlvdXRHYXA9IjEwcHgiPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9InNhdmUoKSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09ImNvbW1hbmRGb3JtLmludmFsaWQiPlxuICAgICAge3sgXCdnYXRld2F5LnJwYy1jb21tYW5kLXNhdmUtdGVtcGxhdGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0ic2VuZENvbW1hbmQuZW1pdCgpIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0iY29tbWFuZEZvcm0uaW52YWxpZCI+XG4gICAgICB7eyBcJ2dhdGV3YXkucnBjLWNvbW1hbmQtc2VuZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MH06aG9zdCAudGl0bGV7Zm9udC13ZWlnaHQ6NTAwfTpob3N0IC5jb21tYW5kLWZvcm17ZmxleC13cmFwOm5vd3JhcH06aG9zdCAuY29tbWFuZC1mb3JtPmJ1dHRvbnttYXJnaW4tdG9wOjEwcHh9Omhvc3QgLm1hdC1tZGMtc2xpZGUtdG9nZ2xlLm1hcmdpbnttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLWxlZnQ6MTBweH06aG9zdCAuZmllbGRzIC5maWVsZHMtbGFiZWx7Zm9udC13ZWlnaHQ6NTAwfTpob3N0IC5ib3JkZXJ7cGFkZGluZzoxNnB4O21hcmdpbi1ib3R0b206MTBweDtib3gtc2hhZG93OjAgMCAjMDAwMywwIDAgIzAwMDAwMDI0LDAgMCAjMDAwMDAwMWY7Ym9yZGVyOnNvbGlkIDFweCAjZTBlMGUwO2JvcmRlci1yYWRpdXM6NHB4fTpob3N0IC5ib3JkZXIgLnRpdGxle2NvbG9yOiMwMDAwMDA4YX06aG9zdCAuYm9yZGVyIC5tYXQtaWNvbntjb2xvcjojMDAwMDAwNjF9Omhvc3QgLmJvcmRlciAubWF0LWRpdmlkZXJ7bWFyZ2luLWxlZnQ6LTE2cHg7bWFyZ2luLXJpZ2h0Oi0xNnB4O21hcmdpbi1ib3R0b206MTZweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTpKZS5NYXREaWFsb2d9XSxwcm9wRGVjb3JhdG9yczp7Y29ubmVjdG9yVHlwZTpbe3R5cGU6YX1dLHNlbmRDb21tYW5kOlt7dHlwZTpsfV0sc2F2ZVRlbXBsYXRlOlt7dHlwZTpsfV19fSk7Y2xhc3MgTmEgZXh0ZW5kcyBQe2NvbnN0cnVjdG9yKGUsdCxuLGEsbyl7c3VwZXIoZSx0LGEpLHRoaXMuc3RvcmU9ZSx0aGlzLnJvdXRlcj10LHRoaXMuZGF0YT1uLHRoaXMuZGlhbG9nUmVmPWEsdGhpcy5mYj1vLHRoaXMuY29uZmlnPXRoaXMuZGF0YS5jb25maWcsdGhpcy50ZW1wbGF0ZXM9dGhpcy5kYXRhLnRlbXBsYXRlcyx0aGlzLnRlbXBsYXRlTmFtZUN0cmw9dGhpcy5mYi5jb250cm9sKCIiLFt1ZS5yZXF1aXJlZF0pfXZhbGlkYXRlRHVwbGljYXRlTmFtZShlKXtjb25zdCB0PWUudmFsdWUudHJpbSgpO3JldHVybiEhdGhpcy50ZW1wbGF0ZXMuZmluZCgoZT0+ZS5uYW1lPT09dCkpfWNsb3NlKCl7dGhpcy5kaWFsb2dSZWYuY2xvc2UoKX1zYXZlKCl7dGhpcy50ZW1wbGF0ZU5hbWVDdHJsLnNldFZhbHVlKHRoaXMudGVtcGxhdGVOYW1lQ3RybC52YWx1ZS50cmltKCkpLHRoaXMudGVtcGxhdGVOYW1lQ3RybC52YWxpZCYmdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy50ZW1wbGF0ZU5hbWVDdHJsLnZhbHVlKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOk5hLGRlcHM6W3t0b2tlbjpvdC5TdG9yZX0se3Rva2VuOml0LlJvdXRlcn0se3Rva2VuOlhlfSx7dG9rZW46SmUuTWF0RGlhbG9nUmVmfSx7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOk5hLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LXNlcnZpY2UtcnBjLWNvbm5lY3Rvci10ZW1wbGF0ZS1kaWFsb2ciLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10b29sYmFyIGNvbG9yPSJwcmltYXJ5Ij5cbiAgPGgyIHRyYW5zbGF0ZT5nYXRld2F5LnJwYy5zYXZlLXRlbXBsYXRlPC9oMj5cbiAgPHNwYW4gZnhGbGV4Pjwvc3Bhbj5cbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAoY2xpY2spPSJjbG9zZSgpIlxuICAgICAgICAgIHR5cGU9ImJ1dHRvbiI+XG4gICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+Y2xvc2U8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbjwvbWF0LXRvb2xiYXI+XG48ZGl2IG1hdC1kaWFsb2ctY29udGVudCBzdHlsZT0id2lkdGg6IDYwMHB4IiBjbGFzcz0ibWF0LWNvbnRlbnQiIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayB0Yi12YWx1ZS10eXBlIiBzdHlsZT0iZmxleC1ncm93OiAwIj5cbiAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnJwYy50ZW1wbGF0ZS1uYW1lPC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IFtmb3JtQ29udHJvbF09InRlbXBsYXRlTmFtZUN0cmwiIHJlcXVpcmVkLz5cbiAgICA8bWF0LWVycm9yXG4gICAgICAqbmdJZj0idGVtcGxhdGVOYW1lQ3RybC5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgIHt7IFwnZ2F0ZXdheS5ycGMudGVtcGxhdGUtbmFtZS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxkaXYgY2xhc3M9Im1hdC1tZGMtZm9ybS1maWVsZC1lcnJvciJcbiAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDogLTE1cHg7IHBhZGRpbmctbGVmdDogMTBweDsgZm9udC1zaXplOiAxNHB4OyJcbiAgICAgICAqbmdJZj0idmFsaWRhdGVEdXBsaWNhdGVOYW1lKHRlbXBsYXRlTmFtZUN0cmwpIj5cbiAgICB7eyBcJ2dhdGV3YXkucnBjLnRlbXBsYXRlLW5hbWUtZHVwbGljYXRlXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiPlxuICA8YnV0dG9uIG1hdC1idXR0b25cbiAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgKGNsaWNrKT0iY2xvc2UoKSI+XG4gICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG4gIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICBbZGlzYWJsZWRdPSIhdGVtcGxhdGVOYW1lQ3RybC52YWxpZCJcbiAgICAgICAgICAoY2xpY2spPSJzYXZlKCkiPlxuICAgIHt7IFwnYWN0aW9uLnNhdmVcJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbjwvZGl2PlxuJyxkZXBlbmRlbmNpZXM6W3traW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QnV0dG9uLHNlbGVjdG9yOiIgICAgYnV0dG9uW21hdC1idXR0b25dLCBidXR0b25bbWF0LXJhaXNlZC1idXR0b25dLCBidXR0b25bbWF0LWZsYXQtYnV0dG9uXSwgICAgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0gICIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRFcnJvcixzZWxlY3RvcjoibWF0LWVycm9yLCBbbWF0RXJyb3JdIixpbnB1dHM6WyJpZCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnJ0Lk1hdFRvb2xiYXIsc2VsZWN0b3I6Im1hdC10b29sYmFyIixpbnB1dHM6WyJjb2xvciJdLGV4cG9ydEFzOlsibWF0VG9vbGJhciJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOkplLk1hdERpYWxvZ0FjdGlvbnMsc2VsZWN0b3I6IlttYXQtZGlhbG9nLWFjdGlvbnNdLCBtYXQtZGlhbG9nLWFjdGlvbnMsIFttYXREaWFsb2dBY3Rpb25zXSIsaW5wdXRzOlsiYWxpZ24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpKZS5NYXREaWFsb2dDb250ZW50LHNlbGVjdG9yOiJbbWF0LWRpYWxvZy1jb250ZW50XSwgbWF0LWRpYWxvZy1jb250ZW50LCBbbWF0RGlhbG9nQ29udGVudF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRdLCBbZnhMYXlvdXQueHNdLCBbZnhMYXlvdXQuc21dLCBbZnhMYXlvdXQubWRdLCAgW2Z4TGF5b3V0LmxnXSwgW2Z4TGF5b3V0LnhsXSwgW2Z4TGF5b3V0Lmx0LXNtXSwgW2Z4TGF5b3V0Lmx0LW1kXSwgIFtmeExheW91dC5sdC1sZ10sIFtmeExheW91dC5sdC14bF0sIFtmeExheW91dC5ndC14c10sIFtmeExheW91dC5ndC1zbV0sICBbZnhMYXlvdXQuZ3QtbWRdLCBbZnhMYXlvdXQuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dCIsImZ4TGF5b3V0LnhzIiwiZnhMYXlvdXQuc20iLCJmeExheW91dC5tZCIsImZ4TGF5b3V0LmxnIiwiZnhMYXlvdXQueGwiLCJmeExheW91dC5sdC1zbSIsImZ4TGF5b3V0Lmx0LW1kIiwiZnhMYXlvdXQubHQtbGciLCJmeExheW91dC5sdC14bCIsImZ4TGF5b3V0Lmd0LXhzIiwiZnhMYXlvdXQuZ3Qtc20iLCJmeExheW91dC5ndC1tZCIsImZ4TGF5b3V0Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLlJlcXVpcmVkVmFsaWRhdG9yLHNlbGVjdG9yOiI6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sTmFtZV0sOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbF0sOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtuZ01vZGVsXSIsaW5wdXRzOlsicmVxdWlyZWQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2wiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV19KX19ZSgiR2F0ZXdheVNlcnZpY2VSUENDb25uZWN0b3JUZW1wbGF0ZURpYWxvZ0NvbXBvbmVudCIsTmEpLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6TmEsZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yLXRlbXBsYXRlLWRpYWxvZyIsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICA8aDIgdHJhbnNsYXRlPmdhdGV3YXkucnBjLnNhdmUtdGVtcGxhdGU8L2gyPlxuICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgIChjbGljayk9ImNsb3NlKCkiXG4gICAgICAgICAgdHlwZT0iYnV0dG9uIj5cbiAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9tYXQtdG9vbGJhcj5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IHN0eWxlPSJ3aWR0aDogNjAwcHgiIGNsYXNzPSJtYXQtY29udGVudCIgZnhMYXlvdXQ9ImNvbHVtbiI+XG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIHRiLXZhbHVlLXR5cGUiIHN0eWxlPSJmbGV4LWdyb3c6IDAiPlxuICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkucnBjLnRlbXBsYXRlLW5hbWU8L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT0idGVtcGxhdGVOYW1lQ3RybCIgcmVxdWlyZWQvPlxuICAgIDxtYXQtZXJyb3JcbiAgICAgICpuZ0lmPSJ0ZW1wbGF0ZU5hbWVDdHJsLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAge3sgXCdnYXRld2F5LnJwYy50ZW1wbGF0ZS1uYW1lLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPGRpdiBjbGFzcz0ibWF0LW1kYy1mb3JtLWZpZWxkLWVycm9yIlxuICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOiAtMTVweDsgcGFkZGluZy1sZWZ0OiAxMHB4OyBmb250LXNpemU6IDE0cHg7IlxuICAgICAgICpuZ0lmPSJ2YWxpZGF0ZUR1cGxpY2F0ZU5hbWUodGVtcGxhdGVOYW1lQ3RybCkiPlxuICAgIHt7IFwnZ2F0ZXdheS5ycGMudGVtcGxhdGUtbmFtZS1kdXBsaWNhdGVcJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gIDxidXR0b24gbWF0LWJ1dHRvblxuICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAoY2xpY2spPSJjbG9zZSgpIj5cbiAgICB7eyBcJ2FjdGlvbi5jYW5jZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgIFtkaXNhYmxlZF09IiF0ZW1wbGF0ZU5hbWVDdHJsLnZhbGlkIlxuICAgICAgICAgIChjbGljayk9InNhdmUoKSI+XG4gICAge3sgXCdhY3Rpb24uc2F2ZVwnIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4nfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm90LlN0b3JlfSx7dHlwZTppdC5Sb3V0ZXJ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpwLGFyZ3M6W1hlXX1dfSx7dHlwZTpKZS5NYXREaWFsb2dSZWZ9LHt0eXBlOm1lLkZvcm1CdWlsZGVyfV19KTtjbGFzcyBNYXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuZmI9ZSx0aGlzLmNkcj10LHRoaXMudmFsdWVUeXBlS2V5cz1PYmplY3QudmFsdWVzKEduKSx0aGlzLk1hcHBpbmdWYWx1ZVR5cGU9R24sdGhpcy52YWx1ZVR5cGVzPVZuLHRoaXMub25DaGFuZ2U9ZT0+e30sdGhpcy5vblRvdWNoZWQ9KCk9Pnt9LHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cD10aGlzLmZiLmdyb3VwKHttZXRob2Q6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sYXJndW1lbnRzOnRoaXMuZmIuYXJyYXkoW10pfSksdGhpcy5vYnNlcnZlVmFsdWVDaGFuZ2VzKCl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLm9uQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7dGhpcy5vblRvdWNoZWQ9ZX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAudmFsaWQ/bnVsbDp7cnBjUGFyYW1ldGVyc0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fX13cml0ZVZhbHVlKGUpe3RoaXMuY2xlYXJBcmd1bWVudHMoKSxlLmFyZ3VtZW50cz8ubWFwKCgoe3R5cGU6ZSx2YWx1ZTp0fSk9Pih7dHlwZTplLFtlXTp0fSkpKS5mb3JFYWNoKChlPT50aGlzLmFkZEFyZ3VtZW50KGUpKSksdGhpcy5jZHIubWFya0ZvckNoZWNrKCksdGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldCgibWV0aG9kIikucGF0Y2hWYWx1ZShlLm1ldGhvZCl9b2JzZXJ2ZVZhbHVlQ2hhbmdlcygpe3RoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57Y29uc3QgdD1lLmFyZ3VtZW50cy5tYXAoKCh7dHlwZTplLC4uLnR9KT0+KHt0eXBlOmUsdmFsdWU6dFtlXX0pKSk7dGhpcy5vbkNoYW5nZSh7bWV0aG9kOmUubWV0aG9kLGFyZ3VtZW50czp0fSksdGhpcy5vblRvdWNoZWQoKX0pKX1yZW1vdmVBcmd1bWVudChlKXt0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJhcmd1bWVudHMiKS5yZW1vdmVBdChlKX1hZGRBcmd1bWVudChlPXt9KXtjb25zdCB0PXRoaXMuZmIuZ3JvdXAoe3R5cGU6W2UudHlwZT8/R24uU1RSSU5HXSxzdHJpbmc6W2Uuc3RyaW5nPz97dmFsdWU6IiIsZGlzYWJsZWQ6IShlZShlLHt9KXx8ZS5zdHJpbmcpfSxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxpbnRlZ2VyOlt7dmFsdWU6ZS5pbnRlZ2VyPz8wLGRpc2FibGVkOiFpZShlLmludGVnZXIpfSxbdWUucmVxdWlyZWQsdWUucGF0dGVybihMdCldXSxkb3VibGU6W3t2YWx1ZTplLmRvdWJsZT8/MCxkaXNhYmxlZDohaWUoZS5kb3VibGUpfSxbdWUucmVxdWlyZWRdXSxib29sZWFuOlt7dmFsdWU6ZS5ib29sZWFuPz8hMSxkaXNhYmxlZDohaWUoZS5ib29sZWFuKX0sW3VlLnJlcXVpcmVkXV19KTt0aGlzLm9ic2VydmVUeXBlQ2hhbmdlKHQpLHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoImFyZ3VtZW50cyIpLnB1c2godCx7ZW1pdEV2ZW50OiExfSl9Y2xlYXJBcmd1bWVudHMoKXtjb25zdCBlPXRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoImFyZ3VtZW50cyIpO2Zvcig7MCE9PWUubGVuZ3RoOyllLnJlbW92ZUF0KDApfW9ic2VydmVUeXBlQ2hhbmdlKGUpe2UuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgodD0+e2UuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksZS5nZXQoInR5cGUiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLGUuZ2V0KHQpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSl9KSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpNYSxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjp0LkNoYW5nZURldGVjdG9yUmVmfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpNYSxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLWdhdGV3YXktb3BjLXJwYy1wYXJhbWV0ZXJzIixwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5NYSkpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+TWEpKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPSJycGNQYXJhbWV0ZXJzRm9ybUdyb3VwIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCB0Yi1mbGV4IG5vLXBhZGRpbmctdG9wIGhpbnQtY29udGFpbmVyIj5cbiAgICB7eyBcJ2dhdGV3YXkucnBjLmhpbnQub3BjLW1ldGhvZFwnIHwgdHJhbnNsYXRlIH19XG4gIDwvZGl2PlxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXgiPlxuICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZCIgcGxhY2Vob2xkZXI9Im11bHRpcGx5Ii8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxmaWVsZHNldCBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIGFyZ3VtZW50cy1jb250YWluZXIiIGZ4TGF5b3V0PSJjb2x1bW4iIGZvcm1BcnJheU5hbWU9ImFyZ3VtZW50cyI+XG4gICAgPHN0cm9uZz5cbiAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZHMtbGFiZWwiPnt7IFwnZ2F0ZXdheS5ycGMuYXJndW1lbnRzXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPC9zdHJvbmc+XG4gICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRHYXA9IjEwcHgiIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiXG4gICAgICAgICAqbmdGb3I9ImxldCBhcmd1bWVudEZvcm1Hcm91cCBvZiBycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ2FyZ3VtZW50c1wnKVtcJ2NvbnRyb2xzXCddOyBsZXQgaSA9IGluZGV4IiBbZm9ybUdyb3VwXT0iYXJndW1lbnRGb3JtR3JvdXAiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIHR5cGUtY29udGFpbmVyIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS50eXBlPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGZpbGwtd2lkdGgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICA8bWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0idGItbWF0LTE4IiBbc3ZnSWNvbl09InZhbHVlVHlwZXMuZ2V0KGFyZ3VtZW50Rm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUpPy5pY29uIj5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57eyB2YWx1ZVR5cGVzLmdldChhcmd1bWVudEZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8ubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHZhbHVlVHlwZSBvZiB2YWx1ZVR5cGVLZXlzIiBbdmFsdWVdPSJ2YWx1ZVR5cGUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0idGItbWF0LTIwIiBzdmdJY29uPSJ7eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLmljb24gfX0iPlxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgdmFsdWVUeXBlcy5nZXQodmFsdWVUeXBlKS5uYW1lIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyB2YWx1ZS1jb250YWluZXIiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnZhbHVlPC9kaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09ImFyZ3VtZW50Rm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUiPlxuICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuU1RSSU5HIiBtYXRJbnB1dCByZXF1aXJlZCBmb3JtQ29udHJvbE5hbWU9InN0cmluZyJcbiAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuSU5URUdFUiIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJpbnRlZ2VyIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIgLz5cbiAgICAgICAgICAgIDxpbnB1dCAqbmdTd2l0Y2hDYXNlPSJNYXBwaW5nVmFsdWVUeXBlLkRPVUJMRSIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJkb3VibGUiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgKm5nU3dpdGNoQ2FzZT0iTWFwcGluZ1ZhbHVlVHlwZS5CT09MRUFOIiBmb3JtQ29udHJvbE5hbWU9ImJvb2xlYW4iPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPSJ0cnVlIj50cnVlPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPSJmYWxzZSI+ZmFsc2U8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImFyZ3VtZW50Rm9ybUdyb3VwLmdldChhcmd1bWVudEZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBhcmd1bWVudEZvcm1Hcm91cC5nZXQoYXJndW1lbnRGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSkudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPSJyZW1vdmVBcmd1bWVudChpKSJcbiAgICAgICAgICAgICAgY2xhc3M9InRiLWJveC1idXR0b24iXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5ycGMucmVtb3ZlXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIGZ4RmxleEFsaWduPSJzdGFydCJcbiAgICAgICAgICAgIChjbGljayk9ImFkZEFyZ3VtZW50KCkiPlxuICAgICAge3sgXCdnYXRld2F5LnJwYy5hZGQtYXJndW1lbnRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2ZpZWxkc2V0PlxuPC9uZy1jb250YWluZXI+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCAuYXJndW1lbnRzLWNvbnRhaW5lcnttYXJnaW4tYm90dG9tOjEwcHh9Omhvc3QgLnR5cGUtY29udGFpbmVye3dpZHRoOjQwJX06aG9zdCAudmFsdWUtY29udGFpbmVye3dpZHRoOjUwJX06aG9zdCAuaGludC1jb250YWluZXJ7bWFyZ2luLWJvdHRvbToxMnB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaCxzZWxlY3RvcjoiW25nU3dpdGNoXSIsaW5wdXRzOlsibmdTd2l0Y2giXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoQ2FzZSxzZWxlY3RvcjoiW25nU3dpdGNoQ2FzZV0iLGlucHV0czpbIm5nU3dpdGNoQ2FzZSJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdFN1ZmZpeCxzZWxlY3RvcjoiW21hdFN1ZmZpeF0sIFttYXRJY29uU3VmZml4XSwgW21hdFRleHRTdWZmaXhdIixpbnB1dHM6WyJtYXRUZXh0U3VmZml4Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp3ZS5NYXRTZWxlY3RUcmlnZ2VyLHNlbGVjdG9yOiJtYXQtc2VsZWN0LXRyaWdnZXIifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEdhcERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRHYXBdLCBbZnhMYXlvdXRHYXAueHNdLCBbZnhMYXlvdXRHYXAuc21dLCBbZnhMYXlvdXRHYXAubWRdLCAgW2Z4TGF5b3V0R2FwLmxnXSwgW2Z4TGF5b3V0R2FwLnhsXSwgW2Z4TGF5b3V0R2FwLmx0LXNtXSwgW2Z4TGF5b3V0R2FwLmx0LW1kXSwgIFtmeExheW91dEdhcC5sdC1sZ10sIFtmeExheW91dEdhcC5sdC14bF0sIFtmeExheW91dEdhcC5ndC14c10sIFtmeExheW91dEdhcC5ndC1zbV0sICBbZnhMYXlvdXRHYXAuZ3QtbWRdLCBbZnhMYXlvdXRHYXAuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEdhcCIsImZ4TGF5b3V0R2FwLnhzIiwiZnhMYXlvdXRHYXAuc20iLCJmeExheW91dEdhcC5tZCIsImZ4TGF5b3V0R2FwLmxnIiwiZnhMYXlvdXRHYXAueGwiLCJmeExheW91dEdhcC5sdC1zbSIsImZ4TGF5b3V0R2FwLmx0LW1kIiwiZnhMYXlvdXRHYXAubHQtbGciLCJmeExheW91dEdhcC5sdC14bCIsImZ4TGF5b3V0R2FwLmd0LXhzIiwiZnhMYXlvdXRHYXAuZ3Qtc20iLCJmeExheW91dEdhcC5ndC1tZCIsImZ4TGF5b3V0R2FwLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeEZsZXhBbGlnbl0sIFtmeEZsZXhBbGlnbi54c10sIFtmeEZsZXhBbGlnbi5zbV0sIFtmeEZsZXhBbGlnbi5tZF0sICBbZnhGbGV4QWxpZ24ubGddLCBbZnhGbGV4QWxpZ24ueGxdLCBbZnhGbGV4QWxpZ24ubHQtc21dLCBbZnhGbGV4QWxpZ24ubHQtbWRdLCAgW2Z4RmxleEFsaWduLmx0LWxnXSwgW2Z4RmxleEFsaWduLmx0LXhsXSwgW2Z4RmxleEFsaWduLmd0LXhzXSwgW2Z4RmxleEFsaWduLmd0LXNtXSwgIFtmeEZsZXhBbGlnbi5ndC1tZF0sIFtmeEZsZXhBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4RmxleEFsaWduIiwiZnhGbGV4QWxpZ24ueHMiLCJmeEZsZXhBbGlnbi5zbSIsImZ4RmxleEFsaWduLm1kIiwiZnhGbGV4QWxpZ24ubGciLCJmeEZsZXhBbGlnbi54bCIsImZ4RmxleEFsaWduLmx0LXNtIiwiZnhGbGV4QWxpZ24ubHQtbWQiLCJmeEZsZXhBbGlnbi5sdC1sZyIsImZ4RmxleEFsaWduLmx0LXhsIiwiZnhGbGV4QWxpZ24uZ3QteHMiLCJmeEZsZXhBbGlnbi5ndC1zbSIsImZ4RmxleEFsaWduLmd0LW1kIiwiZnhGbGV4QWxpZ24uZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRGbGV4RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeEZsZXhdLCBbZnhGbGV4LnhzXSwgW2Z4RmxleC5zbV0sIFtmeEZsZXgubWRdLCAgW2Z4RmxleC5sZ10sIFtmeEZsZXgueGxdLCBbZnhGbGV4Lmx0LXNtXSwgW2Z4RmxleC5sdC1tZF0sICBbZnhGbGV4Lmx0LWxnXSwgW2Z4RmxleC5sdC14bF0sIFtmeEZsZXguZ3QteHNdLCBbZnhGbGV4Lmd0LXNtXSwgIFtmeEZsZXguZ3QtbWRdLCBbZnhGbGV4Lmd0LWxnXSIsaW5wdXRzOlsiZnhGbGV4IiwiZnhGbGV4LnhzIiwiZnhGbGV4LnNtIiwiZnhGbGV4Lm1kIiwiZnhGbGV4LmxnIiwiZnhGbGV4LnhsIiwiZnhGbGV4Lmx0LXNtIiwiZnhGbGV4Lmx0LW1kIiwiZnhGbGV4Lmx0LWxnIiwiZnhGbGV4Lmx0LXhsIiwiZnhGbGV4Lmd0LXhzIiwiZnhGbGV4Lmd0LXNtIiwiZnhGbGV4Lmd0LW1kIiwiZnhGbGV4Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTnVtYmVyVmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbmdNb2RlbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5SZXF1aXJlZFZhbGlkYXRvcixzZWxlY3RvcjoiOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbE5hbWVdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bbmdNb2RlbF0iLGlucHV0czpbInJlcXVpcmVkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1BcnJheU5hbWUsc2VsZWN0b3I6Iltmb3JtQXJyYXlOYW1lXSIsaW5wdXRzOlsiZm9ybUFycmF5TmFtZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX10Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOk1hLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1nYXRld2F5LW9wYy1ycGMtcGFyYW1ldGVycyIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9Pk1hKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5NYSkpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILERdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0icnBjUGFyYW1ldGVyc0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwgdGItZmxleCBuby1wYWRkaW5nLXRvcCBoaW50LWNvbnRhaW5lciI+XG4gICAge3sgXCdnYXRld2F5LnJwYy5oaW50Lm9wYy1tZXRob2RcJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2Rpdj5cbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiIHBsYWNlaG9sZGVyPSJtdWx0aXBseSIvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8ZmllbGRzZXQgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCBhcmd1bWVudHMtY29udGFpbmVyIiBmeExheW91dD0iY29sdW1uIiBmb3JtQXJyYXlOYW1lPSJhcmd1bWVudHMiPlxuICAgIDxzdHJvbmc+XG4gICAgICA8c3BhbiBjbGFzcz0iZmllbGRzLWxhYmVsIj57eyBcJ2dhdGV3YXkucnBjLmFyZ3VtZW50c1wnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgIDwvc3Ryb25nPlxuICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgKm5nRm9yPSJsZXQgYXJndW1lbnRGb3JtR3JvdXAgb2YgcnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCdhcmd1bWVudHNcJylbXCdjb250cm9sc1wnXTsgbGV0IGkgPSBpbmRleCIgW2Zvcm1Hcm91cF09ImFyZ3VtZW50Rm9ybUdyb3VwIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyB0eXBlLWNvbnRhaW5lciIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudHlwZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBmaWxsLXdpZHRoIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgICAgPG1hdC1zZWxlY3QtdHJpZ2dlcj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGFsaWduLWNlbnRlciI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0xOCIgW3N2Z0ljb25dPSJ2YWx1ZVR5cGVzLmdldChhcmd1bWVudEZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8uaWNvbiI+XG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgdmFsdWVUeXBlcy5nZXQoYXJndW1lbnRGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSk/Lm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB2YWx1ZVR5cGUgb2YgdmFsdWVUeXBlS2V5cyIgW3ZhbHVlXT0idmFsdWVUeXBlIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0yMCIgc3ZnSWNvbj0ie3sgdmFsdWVUeXBlcy5nZXQodmFsdWVUeXBlKS5pY29uIH19Ij5cbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7IHZhbHVlVHlwZXMuZ2V0KHZhbHVlVHlwZSkubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMgdmFsdWUtY29udGFpbmVyIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS52YWx1ZTwvZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4IGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyIgY2xhc3M9InRiLWlubGluZS1maWVsZCBmbGV4IHRiLXN1ZmZpeC1hYnNvbHV0ZSI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJhcmd1bWVudEZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlIj5cbiAgICAgICAgICAgIDxpbnB1dCAqbmdTd2l0Y2hDYXNlPSJNYXBwaW5nVmFsdWVUeXBlLlNUUklORyIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJzdHJpbmciXG4gICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIgLz5cbiAgICAgICAgICAgIDxpbnB1dCAqbmdTd2l0Y2hDYXNlPSJNYXBwaW5nVmFsdWVUeXBlLklOVEVHRVIiIG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0iaW50ZWdlciIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iIC8+XG4gICAgICAgICAgICA8aW5wdXQgKm5nU3dpdGNoQ2FzZT0iTWFwcGluZ1ZhbHVlVHlwZS5ET1VCTEUiIG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0iZG91YmxlIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIgLz5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuQk9PTEVBTiIgZm9ybUNvbnRyb2xOYW1lPSJib29sZWFuIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT0idHJ1ZSI+dHJ1ZTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT0iZmFsc2UiPmZhbHNlPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudmFsdWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJhcmd1bWVudEZvcm1Hcm91cC5nZXQoYXJndW1lbnRGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSkuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgYXJndW1lbnRGb3JtR3JvdXAuZ2V0KGFyZ3VtZW50Rm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0icmVtb3ZlQXJndW1lbnQoaSkiXG4gICAgICAgICAgICAgIGNsYXNzPSJ0Yi1ib3gtYnV0dG9uIlxuICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkucnBjLnJlbW92ZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICBmeEZsZXhBbGlnbj0ic3RhcnQiXG4gICAgICAgICAgICAoY2xpY2spPSJhZGRBcmd1bWVudCgpIj5cbiAgICAgIHt7IFwnZ2F0ZXdheS5ycGMuYWRkLWFyZ3VtZW50XCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9maWVsZHNldD5cbjwvbmctY29udGFpbmVyPlxuXG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLmFyZ3VtZW50cy1jb250YWluZXJ7bWFyZ2luLWJvdHRvbToxMHB4fTpob3N0IC50eXBlLWNvbnRhaW5lcnt3aWR0aDo0MCV9Omhvc3QgLnZhbHVlLWNvbnRhaW5lcnt3aWR0aDo1MCV9Omhvc3QgLmhpbnQtY29udGFpbmVye21hcmdpbi1ib3R0b206MTJweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTp0LkNoYW5nZURldGVjdG9yUmVmfV19KTtjbGFzcyBFYXtjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy5vbkNoYW5nZT1lPT57fSx0aGlzLm9uVG91Y2hlZD0oKT0+e30sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe21ldGhvZEZpbHRlcjpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxyZXF1ZXN0VG9waWNFeHByZXNzaW9uOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHJlc3BvbnNlVG9waWNFeHByZXNzaW9uOlt7dmFsdWU6bnVsbCxkaXNhYmxlZDohMH0sW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVzcG9uc2VUaW1lb3V0Olt7dmFsdWU6bnVsbCxkaXNhYmxlZDohMH0sW3VlLm1pbigxMCksdWUucGF0dGVybihMdCldXSx2YWx1ZUV4cHJlc3Npb246W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sd2l0aFJlc3BvbnNlOlshMSxbXV19KSx0aGlzLm9ic2VydmVWYWx1ZUNoYW5nZXMoKSx0aGlzLm9ic2VydmVXaXRoUmVzcG9uc2UoKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMub25DaGFuZ2U9ZX1yZWdpc3Rlck9uVG91Y2hlZChlKXt0aGlzLm9uVG91Y2hlZD1lfXZhbGlkYXRlKCl7cmV0dXJuIHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC52YWxpZD9udWxsOntycGNQYXJhbWV0ZXJzRm9ybUdyb3VwOnt2YWxpZDohMX19fXdyaXRlVmFsdWUoZSl7dGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLnBhdGNoVmFsdWUoZSx7ZW1pdEV2ZW50OiExfSksdGhpcy50b2dnbGVSZXNwb25zZUZpZWxkcyhlLndpdGhSZXNwb25zZSl9b2JzZXJ2ZVZhbHVlQ2hhbmdlcygpe3RoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpfW9ic2VydmVXaXRoUmVzcG9uc2UoKXt0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJ3aXRoUmVzcG9uc2UiKS52YWx1ZUNoYW5nZXMucGlwZShFZSgoZT0+dGhpcy50b2dnbGVSZXNwb25zZUZpZWxkcyhlKSkpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKX10b2dnbGVSZXNwb25zZUZpZWxkcyhlKXtjb25zdCB0PXRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoInJlc3BvbnNlVG9waWNFeHByZXNzaW9uIiksbj10aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJyZXNwb25zZVRpbWVvdXQiKTtlPyh0LmVuYWJsZSgpLG4uZW5hYmxlKCkpOih0LmRpc2FibGUoKSxuLmRpc2FibGUoKSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpFYSxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOkVhLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItZ2F0ZXdheS1tcXR0LXJwYy1wYXJhbWV0ZXJzIixwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5FYSkpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+RWEpKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPSJycGNQYXJhbWV0ZXJzRm9ybUdyb3VwIj5cbiAgPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2QtbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIlxuICAgICAgICAgICBwbGFjZWhvbGRlcj0iZWNobyIvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlcXVlc3RUb3BpY0V4cHJlc3Npb25cJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RUb3BpY0V4cHJlc3Npb24iXG4gICAgICAgICAgIHBsYWNlaG9sZGVyPSJzZW5zb3IvJHtkZXZpY2VOYW1lfS9yZXF1ZXN0LyR7bWV0aG9kTmFtZX0vJHtyZXF1ZXN0SWR9Ii8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXJnaW4iIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSIgZm9ybUNvbnRyb2xOYW1lPSJ3aXRoUmVzcG9uc2UiPlxuICAgIHt7IFwnZ2F0ZXdheS5ycGMud2l0aFJlc3BvbnNlXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9InJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwnd2l0aFJlc3BvbnNlXCcpPy52YWx1ZSI+XG4gICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlc3BvbnNlVG9waWNFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRvcGljRXhwcmVzc2lvbiJcbiAgICAgICAgICAgcGxhY2Vob2xkZXI9InNlbnNvci8ke2RldmljZU5hbWV9L3Jlc3BvbnNlLyR7bWV0aG9kTmFtZX0vJHtyZXF1ZXN0SWR9Ii8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtZm9ybS1maWVsZCAqbmdJZj0icnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCd3aXRoUmVzcG9uc2VcJyk/LnZhbHVlIj5cbiAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVzcG9uc2VUaW1lb3V0XCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRpbWVvdXQiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgcGxhY2Vob2xkZXI9IjEwMDAwIiBtaW49IjEwIiBzdGVwPSIxIi8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iXG4gICAgICAgICAgIHBsYWNlaG9sZGVyPSIke3BhcmFtc30iLz5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvbmctY29udGFpbmVyPlxuXG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn06aG9zdCAubWF0LW1kYy1zbGlkZS10b2dnbGUubWFyZ2lue21hcmdpbi1ib3R0b206MTBweDttYXJnaW4tbGVmdDoxMHB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTnVtYmVyVmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbmdNb2RlbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5NaW5WYWxpZGF0b3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW25nTW9kZWxdIixpbnB1dHM6WyJtaW4iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV0sY2hhbmdlRGV0ZWN0aW9uOnQuQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNofSl9fXQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6RWEsZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktbXF0dC1ycGMtcGFyYW1ldGVycyIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PkVhKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5FYSkpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILERdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0icnBjUGFyYW1ldGVyc0Zvcm1Hcm91cCI+XG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kLW5hbWVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZEZpbHRlciJcbiAgICAgICAgICAgcGxhY2Vob2xkZXI9ImVjaG8iLz5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXF1ZXN0VG9waWNFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0VG9waWNFeHByZXNzaW9uIlxuICAgICAgICAgICBwbGFjZWhvbGRlcj0ic2Vuc29yLyR7ZGV2aWNlTmFtZX0vcmVxdWVzdC8ke21ldGhvZE5hbWV9LyR7cmVxdWVzdElkfSIvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWFyZ2luIiAoY2xpY2spPSIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkiIGZvcm1Db250cm9sTmFtZT0id2l0aFJlc3BvbnNlIj5cbiAgICB7eyBcJ2dhdGV3YXkucnBjLndpdGhSZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPSJycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ3dpdGhSZXNwb25zZVwnKT8udmFsdWUiPlxuICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXNwb25zZVRvcGljRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUb3BpY0V4cHJlc3Npb24iXG4gICAgICAgICAgIHBsYWNlaG9sZGVyPSJzZW5zb3IvJHtkZXZpY2VOYW1lfS9yZXNwb25zZS8ke21ldGhvZE5hbWV9LyR7cmVxdWVzdElkfSIvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9InJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwnd2l0aFJlc3BvbnNlXCcpPy52YWx1ZSI+XG4gICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlc3BvbnNlVGltZW91dFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUaW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgIHBsYWNlaG9sZGVyPSIxMDAwMCIgbWluPSIxMCIgc3RlcD0iMSIvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnZhbHVlRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIlxuICAgICAgICAgICBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG48L25nLWNvbnRhaW5lcj5cblxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Omhvc3QgLm1hdC1tZGMtc2xpZGUtdG9nZ2xlLm1hcmdpbnttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLWxlZnQ6MTBweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfV19KTtjbGFzcyBxYXtjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy5Nb2RidXNFZGl0YWJsZURhdGFUeXBlcz10YSx0aGlzLk1vZGJ1c0Z1bmN0aW9uQ29kZVRyYW5zbGF0aW9uc01hcD16dCx0aGlzLm1vZGJ1c0RhdGFUeXBlcz1PYmplY3QudmFsdWVzKGVhKSx0aGlzLndyaXRlRnVuY3Rpb25Db2Rlcz1bNSw2LDE1LDE2XSx0aGlzLmRlZmF1bHRGdW5jdGlvbkNvZGVzPVszLDQsNiwxNl0sdGhpcy5yZWFkRnVuY3Rpb25Db2Rlcz1bMSwyLDMsNF0sdGhpcy5iaXRzRnVuY3Rpb25Db2Rlcz1bLi4udGhpcy5yZWFkRnVuY3Rpb25Db2RlcywuLi50aGlzLndyaXRlRnVuY3Rpb25Db2Rlc10sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe3R5cGU6W2VhLkJZVEVTLFt1ZS5yZXF1aXJlZF1dLGZ1bmN0aW9uQ29kZTpbdGhpcy5kZWZhdWx0RnVuY3Rpb25Db2Rlc1swXSxbdWUucmVxdWlyZWRdXSx2YWx1ZTpbe3ZhbHVlOiIiLGRpc2FibGVkOiEwfSxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxhZGRyZXNzOltudWxsLFt1ZS5yZXF1aXJlZF1dLG9iamVjdHNDb3VudDpbMSxbdWUucmVxdWlyZWRdXX0pLHRoaXMudXBkYXRlRnVuY3Rpb25Db2Rlcyh0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWUpLHRoaXMub2JzZXJ2ZVZhbHVlQ2hhbmdlcygpLHRoaXMub2JzZXJ2ZUtleURhdGFUeXBlKCksdGhpcy5vYnNlcnZlRnVuY3Rpb25Db2RlKCl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLm9uQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7dGhpcy5vblRvdWNoZWQ9ZX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAudmFsaWQ/bnVsbDp7cnBjUGFyYW1ldGVyc0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fX13cml0ZVZhbHVlKGUpe3RoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5wYXRjaFZhbHVlKGUse2VtaXRFdmVudDohMX0pfW9ic2VydmVWYWx1ZUNoYW5nZXMoKXt0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMub25DaGFuZ2UoZSksdGhpcy5vblRvdWNoZWQoKX0pKX1vYnNlcnZlS2V5RGF0YVR5cGUoKXt0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMuTW9kYnVzRWRpdGFibGVEYXRhVHlwZXMuaW5jbHVkZXMoZSl8fHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoIm9iamVjdHNDb3VudCIpLnBhdGNoVmFsdWUobmFbZV0se2VtaXRFdmVudDohMX0pLHRoaXMudXBkYXRlRnVuY3Rpb25Db2RlcyhlKX0pKX1vYnNlcnZlRnVuY3Rpb25Db2RlKCl7dGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldCgiZnVuY3Rpb25Db2RlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+dGhpcy51cGRhdGVWYWx1ZUVuYWJsaW5nKGUpKSl9dXBkYXRlVmFsdWVFbmFibGluZyhlKXt0aGlzLndyaXRlRnVuY3Rpb25Db2Rlcy5pbmNsdWRlcyhlKT90aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJ2YWx1ZSIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSk6KHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoInZhbHVlIikuc2V0VmFsdWUobnVsbCksdGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldCgidmFsdWUiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSl9dXBkYXRlRnVuY3Rpb25Db2RlcyhlKXt0aGlzLmZ1bmN0aW9uQ29kZXM9ZT09PWVhLkJJVFM/dGhpcy5iaXRzRnVuY3Rpb25Db2Rlczp0aGlzLmRlZmF1bHRGdW5jdGlvbkNvZGVzLHRoaXMuZnVuY3Rpb25Db2Rlcy5pbmNsdWRlcyh0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJmdW5jdGlvbkNvZGUiKS52YWx1ZSl8fHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoImZ1bmN0aW9uQ29kZSIpLnBhdGNoVmFsdWUodGhpcy5mdW5jdGlvbkNvZGVzWzBdLHtlbWl0RXZlbnQ6ITF9KX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnFhLGRlcHM6W3t0b2tlbjptZS5Gb3JtQnVpbGRlcn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6cWEsaXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LW1vZGJ1cy1ycGMtcGFyYW1ldGVycyIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+cWEpKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PnFhKSksbXVsdGk6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0icnBjUGFyYW1ldGVyc0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwgdGItZmxleCBuby1wYWRkaW5nLXRvcCBoaW50LWNvbnRhaW5lciI+XG4gICAge3sgXCdnYXRld2F5LnJwYy5oaW50Lm1vZGJ1cy1yZXNwb25zZS1yZWFkaW5nXCcgfCB0cmFuc2xhdGUgfX08YnI+XG4gICAge3sgXCdnYXRld2F5LnJwYy5oaW50Lm1vZGJ1cy13cml0aW5nLWZ1bmN0aW9uc1wnIHwgdHJhbnNsYXRlIH19XG4gIDwvZGl2PlxuICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBtb2RidXNEYXRhVHlwZXMiIFt2YWx1ZV09InR5cGUiPnt7IHR5cGUgfX08L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCIgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuZnVuY3Rpb25Db2RlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZnVuY3Rpb25Db2RlIj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgY29kZSBvZiBmdW5jdGlvbkNvZGVzIiBbdmFsdWVdPSJjb2RlIj57eyBNb2RidXNGdW5jdGlvbkNvZGVUcmFuc2xhdGlvbnNNYXAuZ2V0KGNvZGUpIHwgdHJhbnNsYXRlfX08L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9kaXY+XG4gIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4Ij5cbiAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCI+XG4gICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuYWRkcmVzc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG1heD0iNTAwMDAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImFkZHJlc3MiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuYWRkcmVzcy1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAqbmdJZj0icnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCdhZGRyZXNzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ2FkZHJlc3NcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICB3YXJuaW5nXG4gICAgICA8L21hdC1pY29uPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm9iamVjdHNDb3VudFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXRcbiAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgdHlwZT0ibnVtYmVyIlxuICAgICAgICBtaW49IjEiXG4gICAgICAgIG1heD0iNTAwMDAiXG4gICAgICAgIG5hbWU9InZhbHVlIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9Im9iamVjdHNDb3VudCJcbiAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgW3JlYWRvbmx5XT0iIU1vZGJ1c0VkaXRhYmxlRGF0YVR5cGVzLmluY2x1ZGVzKHJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSkiXG4gICAgICAvPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPSJ3cml0ZUZ1bmN0aW9uQ29kZXMuaW5jbHVkZXMocnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCdmdW5jdGlvbkNvZGVcJykudmFsdWUpIiBmeEZsZXggZnhMYXlvdXQ9InJvdyI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iMTAwIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy52YWx1ZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmFsdWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudmFsdWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgKm5nSWY9InJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwndmFsdWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJiBycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ3ZhbHVlXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIlxuICAgICAgPlxuICAgICAgICB3YXJuaW5nXG4gICAgICA8L21hdC1pY29uPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCAuaGludC1jb250YWluZXJ7bWFyZ2luLWJvdHRvbToxMnB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdFN1ZmZpeCxzZWxlY3RvcjoiW21hdFN1ZmZpeF0sIFttYXRJY29uU3VmZml4XSwgW21hdFRleHRTdWZmaXhdIixpbnB1dHM6WyJtYXRUZXh0U3VmZml4Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpDZS5NYXRPcHRpb24sc2VsZWN0b3I6Im1hdC1vcHRpb24iLGlucHV0czpbInZhbHVlIiwiaWQiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJvblNlbGVjdGlvbkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0T3B0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6emUuTWF0VG9vbHRpcCxzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixpbnB1dHM6WyJtYXRUb29sdGlwUG9zaXRpb24iLCJtYXRUb29sdGlwUG9zaXRpb25BdE9yaWdpbiIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBTaG93RGVsYXkiLCJtYXRUb29sdGlwSGlkZURlbGF5IiwibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcENsYXNzIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRHYXBEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0R2FwXSwgW2Z4TGF5b3V0R2FwLnhzXSwgW2Z4TGF5b3V0R2FwLnNtXSwgW2Z4TGF5b3V0R2FwLm1kXSwgIFtmeExheW91dEdhcC5sZ10sIFtmeExheW91dEdhcC54bF0sIFtmeExheW91dEdhcC5sdC1zbV0sIFtmeExheW91dEdhcC5sdC1tZF0sICBbZnhMYXlvdXRHYXAubHQtbGddLCBbZnhMYXlvdXRHYXAubHQteGxdLCBbZnhMYXlvdXRHYXAuZ3QteHNdLCBbZnhMYXlvdXRHYXAuZ3Qtc21dLCAgW2Z4TGF5b3V0R2FwLmd0LW1kXSwgW2Z4TGF5b3V0R2FwLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRHYXAiLCJmeExheW91dEdhcC54cyIsImZ4TGF5b3V0R2FwLnNtIiwiZnhMYXlvdXRHYXAubWQiLCJmeExheW91dEdhcC5sZyIsImZ4TGF5b3V0R2FwLnhsIiwiZnhMYXlvdXRHYXAubHQtc20iLCJmeExheW91dEdhcC5sdC1tZCIsImZ4TGF5b3V0R2FwLmx0LWxnIiwiZnhMYXlvdXRHYXAubHQteGwiLCJmeExheW91dEdhcC5ndC14cyIsImZ4TGF5b3V0R2FwLmd0LXNtIiwiZnhMYXlvdXRHYXAuZ3QtbWQiLCJmeExheW91dEdhcC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OdW1iZXJWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVtuZ01vZGVsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1pblZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLGlucHV0czpbIm1pbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1heFZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21heF1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21heF1bbmdNb2RlbF0iLGlucHV0czpbIm1heCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19dC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpxYSxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItZ2F0ZXdheS1tb2RidXMtcnBjLXBhcmFtZXRlcnMiLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5xYSkpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+cWEpKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxEXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09InJwY1BhcmFtZXRlcnNGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggbm8tcGFkZGluZy10b3AgaGludC1jb250YWluZXIiPlxuICAgIHt7IFwnZ2F0ZXdheS5ycGMuaGludC5tb2RidXMtcmVzcG9uc2UtcmVhZGluZ1wnIHwgdHJhbnNsYXRlIH19PGJyPlxuICAgIHt7IFwnZ2F0ZXdheS5ycGMuaGludC5tb2RidXMtd3JpdGluZy1mdW5jdGlvbnNcJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2Rpdj5cbiAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRHYXA9IjEwcHgiPlxuICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjUwIiBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy50eXBlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2YgbW9kYnVzRGF0YVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj57eyB0eXBlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmZ1bmN0aW9uQ29kZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImZ1bmN0aW9uQ29kZSI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGNvZGUgb2YgZnVuY3Rpb25Db2RlcyIgW3ZhbHVlXT0iY29kZSI+e3sgTW9kYnVzRnVuY3Rpb25Db2RlVHJhbnNsYXRpb25zTWFwLmdldChjb2RlKSB8IHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmFkZHJlc3NcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBtYXg9IjUwMDAwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJhZGRyZXNzIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmFkZHJlc3MtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgKm5nSWY9InJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwnYWRkcmVzc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCdhZGRyZXNzXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgd2FybmluZ1xuICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjUwIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5vYmplY3RzQ291bnRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0XG4gICAgICAgIG1hdElucHV0XG4gICAgICAgIHR5cGU9Im51bWJlciJcbiAgICAgICAgbWluPSIxIlxuICAgICAgICBtYXg9IjUwMDAwIlxuICAgICAgICBuYW1lPSJ2YWx1ZSJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJvYmplY3RzQ291bnQiXG4gICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgIFtyZWFkb25seV09IiFNb2RidXNFZGl0YWJsZURhdGFUeXBlcy5pbmNsdWRlcyhycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUpIlxuICAgICAgLz5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj0id3JpdGVGdW5jdGlvbkNvZGVzLmluY2x1ZGVzKHJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwnZnVuY3Rpb25Db2RlXCcpLnZhbHVlKSIgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciPlxuICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjEwMCI+XG4gICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InZhbHVlIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnZhbHVlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICpuZ0lmPSJycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ3ZhbHVlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYgcnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCd2YWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciJcbiAgICAgID5cbiAgICAgICAgd2FybmluZ1xuICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLmhpbnQtY29udGFpbmVye21hcmdpbi1ib3R0b206MTJweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfV19KTtjbGFzcyBEYXtjb25zdHJ1Y3RvcihlLHQsbixhLG8pe3RoaXMuZmI9ZSx0aGlzLmRpYWxvZz10LHRoaXMudXRpbHM9bix0aGlzLmNkPWEsdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlPW8sdGhpcy5jb250ZW50VHlwZXM9Ryx0aGlzLlJQQ0NvbW1hbmRzPVsiUGluZyIsIlN0YXRzIiwiRGV2aWNlcyIsIlVwZGF0ZSIsIlZlcnNpb24iLCJSZXN0YXJ0IiwiUmVib290Il0sdGhpcy50ZW1wbGF0ZXM9W10sdGhpcy5Db25uZWN0b3JUeXBlPV90LHRoaXMuZ2F0ZXdheUNvbm5lY3RvckRlZmF1bHRUeXBlc1RyYW5zbGF0ZXM9SHQsdGhpcy50eXBlc1dpdGhVcGRhdGVkUGFyYW1zPW5ldyBTZXQoW190Lk1RVFQsX3QuT1BDVUEsX3QuTU9EQlVTXSksdGhpcy5zdWJzY3JpcHRpb25PcHRpb25zPXtjYWxsYmFja3M6e29uRGF0YVVwZGF0ZWQ6KCk9PnRoaXMuY3R4Lm5nWm9uZS5ydW4oKCgpPT57dGhpcy51cGRhdGVUZW1wbGF0ZXMoKX0pKSxvbkRhdGFVcGRhdGVFcnJvcjooZSx0KT0+dGhpcy5jdHgubmdab25lLnJ1bigoKCk9Pnt0aGlzLm9uRGF0YVVwZGF0ZUVycm9yKHQpfSkpLGRhdGFMb2FkaW5nOigpPT57fX19LHRoaXMuY29tbWFuZEZvcm09dGhpcy5mYi5ncm91cCh7Y29tbWFuZDpbbnVsbCxbdWUucmVxdWlyZWRdXSx0aW1lOls2MCxbdWUucmVxdWlyZWQsdWUubWluKDEpXV0scGFyYW1zOlsie30iLFtJdF1dLHJlc3VsdDpbbnVsbF19KX1uZ09uSW5pdCgpe2lmKHRoaXMuaXNDb25uZWN0b3I9dGhpcy5jdHguc2V0dGluZ3MuaXNDb25uZWN0b3IsdGhpcy5pc0Nvbm5lY3Rvcil7dGhpcy5jb25uZWN0b3JUeXBlPXRoaXMuY3R4LnN0YXRlQ29udHJvbGxlci5nZXRTdGF0ZVBhcmFtcygpLmNvbm5lY3Rvcl9ycGMudmFsdWUudHlwZTtjb25zdCBlPVt7dHlwZTpGLmVudGl0eSxlbnRpdHlUeXBlOkkuREVWSUNFLGVudGl0eUlkOnRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24udGFyZ2V0RGV2aWNlSWQsZW50aXR5TmFtZToiQ29ubmVjdG9yIixhdHRyaWJ1dGVzOlt7bmFtZTpgJHt0aGlzLmNvbm5lY3RvclR5cGV9X3RlbXBsYXRlYH1dfV07dGhpcy5jdHguc3Vic2NyaXB0aW9uQXBpLmNyZWF0ZVN1YnNjcmlwdGlvbkZyb21JbmZvKEEubGF0ZXN0LGUsdGhpcy5zdWJzY3JpcHRpb25PcHRpb25zLCExLCEwKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLnN1YnNjcmlwdGlvbj1lfSkpfWVsc2UgdGhpcy5jb21tYW5kRm9ybS5nZXQoImNvbW1hbmQiKS5zZXRWYWx1ZSh0aGlzLlJQQ0NvbW1hbmRzWzBdKX1zZW5kQ29tbWFuZChlKXt0aGlzLnJlc3VsdFRpbWU9bnVsbDtjb25zdCB0PWV8fHRoaXMuY29tbWFuZEZvcm0udmFsdWUsbj10aGlzLmlzQ29ubmVjdG9yP2Ake3RoaXMuY29ubmVjdG9yVHlwZX1fYDoiZ2F0ZXdheV8iLGE9dGhpcy5pc0Nvbm5lY3Rvcj90aGlzLmdldENvbW1hbmRGcm9tUGFyYW1zQnlUeXBlKHQucGFyYW1zKTp0LmNvbW1hbmQudG9Mb3dlckNhc2UoKSxvPXQucGFyYW1zO3RoaXMuY3R4LmNvbnRyb2xBcGkuc2VuZFR3b1dheUNvbW1hbmQobithLG8sdC50aW1lKS5zdWJzY3JpYmUoe25leHQ6ZT0+e3RoaXMucmVzdWx0VGltZT0obmV3IERhdGUpLmdldFRpbWUoKSx0aGlzLmNvbW1hbmRGb3JtLmdldCgicmVzdWx0Iikuc2V0VmFsdWUoSlNPTi5zdHJpbmdpZnkoZSkpfSxlcnJvcjplPT57dGhpcy5yZXN1bHRUaW1lPShuZXcgRGF0ZSkuZ2V0VGltZSgpLGNvbnNvbGUuZXJyb3IoZSksdGhpcy5jb21tYW5kRm9ybS5nZXQoInJlc3VsdCIpLnNldFZhbHVlKEpTT04uc3RyaW5naWZ5KGUuZXJyb3IpKX19KX1nZXRDb21tYW5kRnJvbVBhcmFtc0J5VHlwZShlKXtzd2l0Y2godGhpcy5jb25uZWN0b3JUeXBlKXtjYXNlIF90Lk1RVFQ6Y2FzZSBfdC5GVFA6Y2FzZSBfdC5TTk1QOmNhc2UgX3QuUkVTVDpjYXNlIF90LlJFUVVFU1Q6cmV0dXJuIGUubWV0aG9kRmlsdGVyO2Nhc2UgX3QuTU9EQlVTOnJldHVybiBlLnRhZztjYXNlIF90LkJBQ05FVDpjYXNlIF90LkNBTjpjYXNlIF90Lk9QQ1VBOnJldHVybiBlLm1ldGhvZDtjYXNlIF90LkJMRTpjYXNlIF90Lk9DUFA6Y2FzZSBfdC5TT0NLRVQ6Y2FzZSBfdC5YTVBQOnJldHVybiBlLm1ldGhvZFJQQztkZWZhdWx0OnJldHVybiBlLmNvbW1hbmR9fXNhdmVUZW1wbGF0ZSgpe3RoaXMuZGlhbG9nLm9wZW4oTmEse2Rpc2FibGVDbG9zZTohMCxwYW5lbENsYXNzOlsidGItZGlhbG9nIiwidGItZnVsbHNjcmVlbi1kaWFsb2ciXSxkYXRhOntjb25maWc6dGhpcy5jb21tYW5kRm9ybS52YWx1ZS5wYXJhbXMsdGVtcGxhdGVzOnRoaXMudGVtcGxhdGVzfX0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChlPT57aWYoZSl7Y29uc3QgdD17bmFtZTplLGNvbmZpZzp0aGlzLmNvbW1hbmRGb3JtLnZhbHVlLnBhcmFtc30sbj10aGlzLnRlbXBsYXRlcyxhPW4uZmluZEluZGV4KChlPT5lLm5hbWU9PXQubmFtZSkpO2E+LTEmJm4uc3BsaWNlKGEsMSksbi5wdXNoKHQpO2NvbnN0IG89YCR7dGhpcy5jb25uZWN0b3JUeXBlfV90ZW1wbGF0ZWA7dGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNhdmVFbnRpdHlBdHRyaWJ1dGVzKHtpZDp0aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLnRhcmdldERldmljZUlkLGVudGl0eVR5cGU6SS5ERVZJQ0V9LEwuU0VSVkVSX1NDT1BFLFt7a2V5Om8sdmFsdWU6bn1dKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCl9KSl9fSkpfXVzZVRlbXBsYXRlKGUpe3RoaXMuY29tbWFuZEZvcm0uZ2V0KCJwYXJhbXMiKS5wYXRjaFZhbHVlKGUuY29uZmlnKX11cGRhdGVUZW1wbGF0ZXMoKXt0aGlzLnRlbXBsYXRlcz10aGlzLnN1YnNjcmlwdGlvbi5kYXRhWzBdLmRhdGFbMF1bMV0ubGVuZ3RoP0pTT04ucGFyc2UodGhpcy5zdWJzY3JpcHRpb24uZGF0YVswXS5kYXRhWzBdWzFdKTpbXSx0aGlzLmNkLmRldGVjdENoYW5nZXMoKX1vbkRhdGFVcGRhdGVFcnJvcihlKXtjb25zdCB0PXRoaXMudXRpbHMucGFyc2VFeGNlcHRpb24oZSk7bGV0IG49dC5uYW1lO3QubWVzc2FnZSYmKG4rPSI6ICIrdC5tZXNzYWdlKSxjb25zb2xlLmVycm9yKG4pfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6RGEsZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfSx7dG9rZW46SmUuTWF0RGlhbG9nfSx7dG9rZW46WC5VdGlsc1NlcnZpY2V9LHt0b2tlbjp0LkNoYW5nZURldGVjdG9yUmVmfSx7dG9rZW46WC5BdHRyaWJ1dGVTZXJ2aWNlfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpEYSxzZWxlY3RvcjoidGItZ2F0ZXdheS1zZXJ2aWNlLXJwYyIsaW5wdXRzOntjdHg6ImN0eCIsZGlhbG9nUmVmOiJkaWFsb2dSZWYifSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBmeExheW91dD0iY29sdW1uIiBmeEZsZXggW25nQ2xhc3NdPSJ7XCdib3JkZXJcJzogaXNDb25uZWN0b3J9Ij5cbiAgPGRpdiBmeExheW91dD0icm93IiBmeExheW91dC5sdC1zbT0iY29sdW1uIiBjbGFzcz0iY29tbWFuZC1mb3JtIiBmeExheW91dEdhcD0iMTBweCIgW2Zvcm1Hcm91cF09ImNvbW1hbmRGb3JtIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPSIhaXNDb25uZWN0b3I7IGVsc2UgY29ubmVjdG9yRm9ybSI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY29tbWFuZFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iY29tbWFuZCI+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgY29tbWFuZCBvZiBSUENDb21tYW5kcyIgW3ZhbHVlXT0iY29tbWFuZCI+XG4gICAgICAgICAgICB7eyBjb21tYW5kIH19XG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy50aW1lb3V0LW1zXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idGltZSIgdHlwZT0ibnVtYmVyIiBtaW49IjEiLz5cbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZEZvcm0uZ2V0KFwndGltZVwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MudGltZW91dC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAoY2xpY2spPSJzZW5kQ29tbWFuZCgpIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJjb21tYW5kRm9ybS5pbnZhbGlkIj5cbiAgICAgICAge3sgXCdnYXRld2F5LnJwYy1jb21tYW5kLXNlbmRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNjb25uZWN0b3JGb3JtPlxuICAgICAgPHRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yXG4gICAgICAgICpuZ0lmPSIhdHlwZXNXaXRoVXBkYXRlZFBhcmFtcy5oYXMoY29ubmVjdG9yVHlwZSkgZWxzZSB1cGRhdGVkUGFyYW1ldGVycyJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJwYXJhbXMiXG4gICAgICAgIFtjb25uZWN0b3JUeXBlXT0iY29ubmVjdG9yVHlwZSJcbiAgICAgICAgKHNlbmRDb21tYW5kKT0ic2VuZENvbW1hbmQoKSJcbiAgICAgICAgKHNhdmVUZW1wbGF0ZSk9InNhdmVUZW1wbGF0ZSgpIlxuICAgICAgLz5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjdXBkYXRlZFBhcmFtZXRlcnM+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9ImNvbHVtbiIgY2xhc3M9InJwYy1wYXJhbWV0ZXJzIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXQtc3VidGl0bGUtMSB0Yi1mb3JtLXBhbmVsLXRpdGxlIj57eyBcJ2dhdGV3YXkucnBjLnRpdGxlXCcgfCB0cmFuc2xhdGU6IHt0eXBlOiBnYXRld2F5Q29ubmVjdG9yRGVmYXVsdFR5cGVzVHJhbnNsYXRlcy5nZXQoY29ubmVjdG9yVHlwZSl9IH19PC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJjb25uZWN0b3JUeXBlIj5cbiAgICAgICAgICAgIDx0Yi1nYXRld2F5LW1vZGJ1cy1ycGMtcGFyYW1ldGVycyAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk1PREJVUyIgZm9ybUNvbnRyb2xOYW1lPSJwYXJhbXMiLz5cbiAgICAgICAgICAgIDx0Yi1nYXRld2F5LW1xdHQtcnBjLXBhcmFtZXRlcnMgKm5nU3dpdGNoQ2FzZT0iQ29ubmVjdG9yVHlwZS5NUVRUIiBmb3JtQ29udHJvbE5hbWU9InBhcmFtcyIvPlxuICAgICAgICAgICAgPHRiLWdhdGV3YXktb3BjLXJwYy1wYXJhbWV0ZXJzICpuZ1N3aXRjaENhc2U9IkNvbm5lY3RvclR5cGUuT1BDVUEiIGZvcm1Db250cm9sTmFtZT0icGFyYW1zIi8+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGVtcGxhdGUtYWN0aW9ucyIgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiIGZ4TGF5b3V0R2FwPSIxMHB4Ij5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ic2F2ZVRlbXBsYXRlKCkiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09ImNvbW1hbmRGb3JtLmdldChcJ3BhcmFtc1wnKS5pbnZhbGlkIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJwYy1jb21tYW5kLXNhdmUtdGVtcGxhdGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJzZW5kQ29tbWFuZCgpIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJjb21tYW5kRm9ybS5nZXQoXCdwYXJhbXNcJykuaW52YWxpZCI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1zZW5kXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG4gIDxzZWN0aW9uIGNsYXNzPSJyZXN1bHQtYmxvY2siIFtmb3JtR3JvdXBdPSJjb21tYW5kRm9ybSI+XG4gICAgPHNwYW4+e3sgXCdnYXRld2F5LnJwYy1jb21tYW5kLXJlc3VsdFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8ZGl2ICpuZ0lmPSJyZXN1bHRUaW1lIiBjbGFzcz0icmVzdWx0LXRpbWUiIGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+c2NoZWR1bGU8L21hdC1pY29uPlxuICAgICAgICA8c3Bhbj57eyByZXN1bHRUaW1lIHwgZGF0ZTogXCd5eXl5L01NL2RkIEhIOm1tOnNzXCcgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NwYW4+XG4gICAgPHRiLWpzb24tY29udGVudCBbY29udGVudFR5cGVdPSJjb250ZW50VHlwZXMuSlNPTiIgcmVhZG9ubHk9InRydWUiIGZvcm1Db250cm9sTmFtZT0icmVzdWx0Ij48L3RiLWpzb24tY29udGVudD5cbiAgPC9zZWN0aW9uPlxuPC9kaXY+XG48dGItZ2F0ZXdheS1zZXJ2aWNlLXJwYy1jb25uZWN0b3ItdGVtcGxhdGVzIGZ4RmxleD0iMzAiICpuZ0lmPSJpc0Nvbm5lY3RvciIgY2xhc3M9ImJvcmRlciIgW3JwY1RlbXBsYXRlc109InRlbXBsYXRlcyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2N0eF09ImN0eCIgW2Nvbm5lY3RvclR5cGVdPSJjb25uZWN0b3JUeXBlIiAodXNlVGVtcGxhdGUpPSJ1c2VUZW1wbGF0ZSgkZXZlbnQpIj5cbjwvdGItZ2F0ZXdheS1zZXJ2aWNlLXJwYy1jb25uZWN0b3ItdGVtcGxhdGVzPlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6YXV0bztkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O3BhZGRpbmc6MCA1cHh9Omhvc3Q+KntoZWlnaHQ6MTAwJTtvdmVyZmxvdzphdXRvfTpob3N0PnRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yLXRlbXBsYXRlczpsYXN0LWNoaWxke21hcmdpbi1sZWZ0OjEwcHh9Omhvc3QgLmNvbW1hbmQtZm9ybXtmbGV4LXdyYXA6bm93cmFwO3BhZGRpbmc6MCA1cHggNXB4fTpob3N0IC5jb21tYW5kLWZvcm0+YnV0dG9ue21hcmdpbi10b3A6MTBweH06aG9zdCAucnBjLXBhcmFtZXRlcnN7d2lkdGg6MTAwJX06aG9zdCAucmVzdWx0LWJsb2Nre3BhZGRpbmc6MCA1cHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4OjF9Omhvc3QgLnJlc3VsdC1ibG9jaz5zcGFue2ZvbnQtd2VpZ2h0OjYwMDtwb3NpdGlvbjpyZWxhdGl2ZTtmb250LXNpemU6MTRweDttYXJnaW4tYm90dG9tOjEwcHh9Omhvc3QgLnJlc3VsdC1ibG9jaz5zcGFuIC5yZXN1bHQtdGltZXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MzJweDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjI1cHg7ei1pbmRleDo1O2NvbG9yOiMwMDAwMDA4YX06aG9zdCAucmVzdWx0LWJsb2NrPnNwYW4gLnJlc3VsdC10aW1lIHNwYW57cGFkZGluZy1sZWZ0OjEwcHh9Omhvc3QgLnJlc3VsdC1ibG9jayB0Yi1qc29uLWNvbnRlbnR7ZmxleDoxfTpob3N0IC5ib3JkZXJ7cGFkZGluZzoxNnB4O2JveC1zaGFkb3c6MCAwICMwMDAzLDAgMCAjMDAwMDAwMjQsMCAwICMwMDAwMDAxZjtib3JkZXI6c29saWQgMXB4ICNlMGUwZTA7Ym9yZGVyLXJhZGl1czo0cHh9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0NsYXNzLHNlbGVjdG9yOiJbbmdDbGFzc10iLGlucHV0czpbImNsYXNzIiwibmdDbGFzcyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoLHNlbGVjdG9yOiJbbmdTd2l0Y2hdIixpbnB1dHM6WyJuZ1N3aXRjaCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdTd2l0Y2hDYXNlLHNlbGVjdG9yOiJbbmdTd2l0Y2hDYXNlXSIsaW5wdXRzOlsibmdTd2l0Y2hDYXNlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6c3QuSnNvbkNvbnRlbnRDb21wb25lbnQsc2VsZWN0b3I6InRiLWpzb24tY29udGVudCIsaW5wdXRzOlsibGFiZWwiLCJjb250ZW50VHlwZSIsImRpc2FibGVkIiwiZmlsbEhlaWdodCIsImVkaXRvclN0eWxlIiwidGJQbGFjZWhvbGRlciIsImhpZGVUb29sYmFyIiwicmVhZG9ubHkiLCJ2YWxpZGF0ZUNvbnRlbnQiLCJ2YWxpZGF0ZU9uQ2hhbmdlIiwicmVxdWlyZWQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdEVycm9yLHNlbGVjdG9yOiJtYXQtZXJyb3IsIFttYXRFcnJvcl0iLGlucHV0czpbImlkIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpDZS5NYXRPcHRpb24sc2VsZWN0b3I6Im1hdC1vcHRpb24iLGlucHV0czpbInZhbHVlIiwiaWQiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJvblNlbGVjdGlvbkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0T3B0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRHYXBEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0R2FwXSwgW2Z4TGF5b3V0R2FwLnhzXSwgW2Z4TGF5b3V0R2FwLnNtXSwgW2Z4TGF5b3V0R2FwLm1kXSwgIFtmeExheW91dEdhcC5sZ10sIFtmeExheW91dEdhcC54bF0sIFtmeExheW91dEdhcC5sdC1zbV0sIFtmeExheW91dEdhcC5sdC1tZF0sICBbZnhMYXlvdXRHYXAubHQtbGddLCBbZnhMYXlvdXRHYXAubHQteGxdLCBbZnhMYXlvdXRHYXAuZ3QteHNdLCBbZnhMYXlvdXRHYXAuZ3Qtc21dLCAgW2Z4TGF5b3V0R2FwLmd0LW1kXSwgW2Z4TGF5b3V0R2FwLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRHYXAiLCJmeExheW91dEdhcC54cyIsImZ4TGF5b3V0R2FwLnNtIiwiZnhMYXlvdXRHYXAubWQiLCJmeExheW91dEdhcC5sZyIsImZ4TGF5b3V0R2FwLnhsIiwiZnhMYXlvdXRHYXAubHQtc20iLCJmeExheW91dEdhcC5sdC1tZCIsImZ4TGF5b3V0R2FwLmx0LWxnIiwiZnhMYXlvdXRHYXAubHQteGwiLCJmeExheW91dEdhcC5ndC14cyIsImZ4TGF5b3V0R2FwLmd0LXNtIiwiZnhMYXlvdXRHYXAuZ3QtbWQiLCJmeExheW91dEdhcC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRDbGFzc0RpcmVjdGl2ZSxzZWxlY3RvcjoiICBbbmdDbGFzc10sIFtuZ0NsYXNzLnhzXSwgW25nQ2xhc3Muc21dLCBbbmdDbGFzcy5tZF0sIFtuZ0NsYXNzLmxnXSwgW25nQ2xhc3MueGxdLCAgW25nQ2xhc3MubHQtc21dLCBbbmdDbGFzcy5sdC1tZF0sIFtuZ0NsYXNzLmx0LWxnXSwgW25nQ2xhc3MubHQteGxdLCAgW25nQ2xhc3MuZ3QteHNdLCBbbmdDbGFzcy5ndC1zbV0sIFtuZ0NsYXNzLmd0LW1kXSwgW25nQ2xhc3MuZ3QtbGddIixpbnB1dHM6WyJuZ0NsYXNzIiwibmdDbGFzcy54cyIsIm5nQ2xhc3Muc20iLCJuZ0NsYXNzLm1kIiwibmdDbGFzcy5sZyIsIm5nQ2xhc3MueGwiLCJuZ0NsYXNzLmx0LXNtIiwibmdDbGFzcy5sdC1tZCIsIm5nQ2xhc3MubHQtbGciLCJuZ0NsYXNzLmx0LXhsIiwibmdDbGFzcy5ndC14cyIsIm5nQ2xhc3MuZ3Qtc20iLCJuZ0NsYXNzLmd0LW1kIiwibmdDbGFzcy5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOk1hLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LW9wYy1ycGMtcGFyYW1ldGVycyJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6RWEsc2VsZWN0b3I6InRiLWdhdGV3YXktbXF0dC1ycGMtcGFyYW1ldGVycyJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6cWEsc2VsZWN0b3I6InRiLWdhdGV3YXktbW9kYnVzLXJwYy1wYXJhbWV0ZXJzIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpGYSxzZWxlY3RvcjoidGItZ2F0ZXdheS1zZXJ2aWNlLXJwYy1jb25uZWN0b3ItdGVtcGxhdGVzIixpbnB1dHM6WyJjb25uZWN0b3JUeXBlIiwiY3R4IiwicnBjVGVtcGxhdGVzIl0sb3V0cHV0czpbInNhdmVUZW1wbGF0ZSIsInVzZVRlbXBsYXRlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6QWEsc2VsZWN0b3I6InRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yIixpbnB1dHM6WyJjb25uZWN0b3JUeXBlIl0sb3V0cHV0czpbInNlbmRDb21tYW5kIiwic2F2ZVRlbXBsYXRlIl19LHtraW5kOiJwaXBlIix0eXBlOl8uRGF0ZVBpcGUsbmFtZToiZGF0ZSJ9LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV19KX19ZSgiR2F0ZXdheVNlcnZpY2VSUENDb21wb25lbnQiLERhKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkRhLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1nYXRld2F5LXNlcnZpY2UtcnBjIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgZnhMYXlvdXQ9ImNvbHVtbiIgZnhGbGV4IFtuZ0NsYXNzXT0ie1wnYm9yZGVyXCc6IGlzQ29ubmVjdG9yfSI+XG4gIDxkaXYgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXQubHQtc209ImNvbHVtbiIgY2xhc3M9ImNvbW1hbmQtZm9ybSIgZnhMYXlvdXRHYXA9IjEwcHgiIFtmb3JtR3JvdXBdPSJjb21tYW5kRm9ybSI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iIWlzQ29ubmVjdG9yOyBlbHNlIGNvbm5lY3RvckZvcm0iPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImNvbW1hbmQiPlxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGNvbW1hbmQgb2YgUlBDQ29tbWFuZHMiIFt2YWx1ZV09ImNvbW1hbmQiPlxuICAgICAgICAgICAge3sgY29tbWFuZCB9fVxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3MudGltZW91dC1tc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InRpbWUiIHR5cGU9Im51bWJlciIgbWluPSIxIi8+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbW1hbmRGb3JtLmdldChcJ3RpbWVcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnRpbWVvdXQtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgKGNsaWNrKT0ic2VuZENvbW1hbmQoKSJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iY29tbWFuZEZvcm0uaW52YWxpZCI+XG4gICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1zZW5kXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjY29ubmVjdG9yRm9ybT5cbiAgICAgIDx0Yi1nYXRld2F5LXNlcnZpY2UtcnBjLWNvbm5lY3RvclxuICAgICAgICAqbmdJZj0iIXR5cGVzV2l0aFVwZGF0ZWRQYXJhbXMuaGFzKGNvbm5lY3RvclR5cGUpIGVsc2UgdXBkYXRlZFBhcmFtZXRlcnMiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT0icGFyYW1zIlxuICAgICAgICBbY29ubmVjdG9yVHlwZV09ImNvbm5lY3RvclR5cGUiXG4gICAgICAgIChzZW5kQ29tbWFuZCk9InNlbmRDb21tYW5kKCkiXG4gICAgICAgIChzYXZlVGVtcGxhdGUpPSJzYXZlVGVtcGxhdGUoKSJcbiAgICAgIC8+XG4gICAgICA8bmctdGVtcGxhdGUgI3VwZGF0ZWRQYXJhbWV0ZXJzPlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iIGNsYXNzPSJycGMtcGFyYW1ldGVycyI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0ibWF0LXN1YnRpdGxlLTEgdGItZm9ybS1wYW5lbC10aXRsZSI+e3sgXCdnYXRld2F5LnJwYy50aXRsZVwnIHwgdHJhbnNsYXRlOiB7dHlwZTogZ2F0ZXdheUNvbm5lY3RvckRlZmF1bHRUeXBlc1RyYW5zbGF0ZXMuZ2V0KGNvbm5lY3RvclR5cGUpfSB9fTwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT0iY29ubmVjdG9yVHlwZSI+XG4gICAgICAgICAgICA8dGItZ2F0ZXdheS1tb2RidXMtcnBjLXBhcmFtZXRlcnMgKm5nU3dpdGNoQ2FzZT0iQ29ubmVjdG9yVHlwZS5NT0RCVVMiIGZvcm1Db250cm9sTmFtZT0icGFyYW1zIi8+XG4gICAgICAgICAgICA8dGItZ2F0ZXdheS1tcXR0LXJwYy1wYXJhbWV0ZXJzICpuZ1N3aXRjaENhc2U9IkNvbm5lY3RvclR5cGUuTVFUVCIgZm9ybUNvbnRyb2xOYW1lPSJwYXJhbXMiLz5cbiAgICAgICAgICAgIDx0Yi1nYXRld2F5LW9wYy1ycGMtcGFyYW1ldGVycyAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk9QQ1VBIiBmb3JtQ29udHJvbE5hbWU9InBhcmFtcyIvPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRlbXBsYXRlLWFjdGlvbnMiIGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJlbmQgY2VudGVyIiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9InNhdmVUZW1wbGF0ZSgpIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJjb21tYW5kRm9ybS5nZXQoXCdwYXJhbXNcJykuaW52YWxpZCI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1zYXZlLXRlbXBsYXRlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ic2VuZENvbW1hbmQoKSJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iY29tbWFuZEZvcm0uZ2V0KFwncGFyYW1zXCcpLmludmFsaWQiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLWNvbW1hbmQtc2VuZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuICA8c2VjdGlvbiBjbGFzcz0icmVzdWx0LWJsb2NrIiBbZm9ybUdyb3VwXT0iY29tbWFuZEZvcm0iPlxuICAgIDxzcGFuPnt7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1yZXN1bHRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPGRpdiAqbmdJZj0icmVzdWx0VGltZSIgY2xhc3M9InJlc3VsdC10aW1lIiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPnNjaGVkdWxlPC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4+e3sgcmVzdWx0VGltZSB8IGRhdGU6IFwneXl5eS9NTS9kZCBISDptbTpzc1wnIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9zcGFuPlxuICAgIDx0Yi1qc29uLWNvbnRlbnQgW2NvbnRlbnRUeXBlXT0iY29udGVudFR5cGVzLkpTT04iIHJlYWRvbmx5PSJ0cnVlIiBmb3JtQ29udHJvbE5hbWU9InJlc3VsdCI+PC90Yi1qc29uLWNvbnRlbnQ+XG4gIDwvc2VjdGlvbj5cbjwvZGl2PlxuPHRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yLXRlbXBsYXRlcyBmeEZsZXg9IjMwIiAqbmdJZj0iaXNDb25uZWN0b3IiIGNsYXNzPSJib3JkZXIiIFtycGNUZW1wbGF0ZXNdPSJ0ZW1wbGF0ZXMiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjdHhdPSJjdHgiIFtjb25uZWN0b3JUeXBlXT0iY29ubmVjdG9yVHlwZSIgKHVzZVRlbXBsYXRlKT0idXNlVGVtcGxhdGUoJGV2ZW50KSI+XG48L3RiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yLXRlbXBsYXRlcz5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO292ZXJmbG93OmF1dG87ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztwYWRkaW5nOjAgNXB4fTpob3N0Pip7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6YXV0b306aG9zdD50Yi1nYXRld2F5LXNlcnZpY2UtcnBjLWNvbm5lY3Rvci10ZW1wbGF0ZXM6bGFzdC1jaGlsZHttYXJnaW4tbGVmdDoxMHB4fTpob3N0IC5jb21tYW5kLWZvcm17ZmxleC13cmFwOm5vd3JhcDtwYWRkaW5nOjAgNXB4IDVweH06aG9zdCAuY29tbWFuZC1mb3JtPmJ1dHRvbnttYXJnaW4tdG9wOjEwcHh9Omhvc3QgLnJwYy1wYXJhbWV0ZXJze3dpZHRoOjEwMCV9Omhvc3QgLnJlc3VsdC1ibG9ja3twYWRkaW5nOjAgNXB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleDoxfTpob3N0IC5yZXN1bHQtYmxvY2s+c3Bhbntmb250LXdlaWdodDo2MDA7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1zaXplOjE0cHg7bWFyZ2luLWJvdHRvbToxMHB4fTpob3N0IC5yZXN1bHQtYmxvY2s+c3BhbiAucmVzdWx0LXRpbWV7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjMycHg7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDoyNXB4O3otaW5kZXg6NTtjb2xvcjojMDAwMDAwOGF9Omhvc3QgLnJlc3VsdC1ibG9jaz5zcGFuIC5yZXN1bHQtdGltZSBzcGFue3BhZGRpbmctbGVmdDoxMHB4fTpob3N0IC5yZXN1bHQtYmxvY2sgdGItanNvbi1jb250ZW50e2ZsZXg6MX06aG9zdCAuYm9yZGVye3BhZGRpbmc6MTZweDtib3gtc2hhZG93OjAgMCAjMDAwMywwIDAgIzAwMDAwMDI0LDAgMCAjMDAwMDAwMWY7Ym9yZGVyOnNvbGlkIDFweCAjZTBlMGUwO2JvcmRlci1yYWRpdXM6NHB4fVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9LHt0eXBlOkplLk1hdERpYWxvZ30se3R5cGU6WC5VdGlsc1NlcnZpY2V9LHt0eXBlOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9LHt0eXBlOlguQXR0cmlidXRlU2VydmljZX1dLHByb3BEZWNvcmF0b3JzOntjdHg6W3t0eXBlOmF9XSxkaWFsb2dSZWY6W3t0eXBlOmF9XX19KTtjbGFzcyBQYSBleHRlbmRzIFB7Y29uc3RydWN0b3IoZSx0LG4sYSxvKXtzdXBlcihlLHQsYSksdGhpcy5zdG9yZT1lLHRoaXMucm91dGVyPXQsdGhpcy5kYXRhPW4sdGhpcy5kaWFsb2dSZWY9YSx0aGlzLmZiPW8sdGhpcy5nYXRld2F5TmFtZT10aGlzLmRhdGEuZ2F0ZXdheU5hbWUsdGhpcy5nYXRld2F5Q29udHJvbD10aGlzLmZiLmNvbnRyb2woIiIpfWNsb3NlKCl7dGhpcy5kaWFsb2dSZWYuY2xvc2UoKX10dXJuT2ZmKCl7dGhpcy5kaWFsb2dSZWYuY2xvc2UoITApfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6UGEsZGVwczpbe3Rva2VuOm90LlN0b3JlfSx7dG9rZW46aXQuUm91dGVyfSx7dG9rZW46WGV9LHt0b2tlbjpKZS5NYXREaWFsb2dSZWZ9LHt0b2tlbjptZS5Gb3JtQnVpbGRlcn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6UGEsc2VsZWN0b3I6InRiLWdhdGV3YXktcmVtb3RlLWNvbmZpZ3VyYXRpb24tZGlhbG9nIix1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdG9vbGJhciBjb2xvcj0id2FybiI+XG4gIDxtYXQtaWNvbj53YXJuaW5nPC9tYXQtaWNvbj5cbiAgPGgyIHRyYW5zbGF0ZT5nYXRld2F5LmNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1oZWFkZXI8L2gyPlxuICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgIChjbGljayk9ImNsb3NlKCkiXG4gICAgICAgICAgdHlwZT0iYnV0dG9uIj5cbiAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9tYXQtdG9vbGJhcj5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IHN0eWxlPSJtYXgtd2lkdGg6IDYwMHB4IiBjbGFzcz0ibWF0LWNvbnRlbnQiIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICA8c3BhbiBpbm5lckhUTUw9Int7IFwnZ2F0ZXdheS5jb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctYm9keVwnIHwgdHJhbnNsYXRlIH19IDxiPnt7IGdhdGV3YXlOYW1lIH19PC9iPiIgPjwvc3Bhbj5cbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2sgdGItdmFsdWUtdHlwZSIgc3R5bGU9ImZsZXgtZ3JvdzogMCI+XG4gICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5jb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaW5wdXQ8L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT0iZ2F0ZXdheUNvbnRyb2wiIHJlcXVpcmVkLz5cbiAgICA8bWF0LWVycm9yXG4gICAgICAqbmdJZj0iZ2F0ZXdheUNvbnRyb2wuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICB7eyBcJ2dhdGV3YXkuY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0id2FybiJcbiAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgKGNsaWNrKT0iY2xvc2UoKSI+XG4gICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG4gIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0id2FybiJcbiAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgW2Rpc2FibGVkXT0iZ2F0ZXdheUNvbnRyb2wudmFsdWUgIT09IGdhdGV3YXlOYW1lIlxuICAgICAgICAgIChjbGljayk9InR1cm5PZmYoKSI+XG4gICAge3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1jb25maXJtXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG48L2Rpdj5cbicsZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0RXJyb3Isc2VsZWN0b3I6Im1hdC1lcnJvciwgW21hdEVycm9yXSIsaW5wdXRzOlsiaWQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpKZS5NYXREaWFsb2dBY3Rpb25zLHNlbGVjdG9yOiJbbWF0LWRpYWxvZy1hY3Rpb25zXSwgbWF0LWRpYWxvZy1hY3Rpb25zLCBbbWF0RGlhbG9nQWN0aW9uc10iLGlucHV0czpbImFsaWduIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQ29udGVudCxzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5SZXF1aXJlZFZhbGlkYXRvcixzZWxlY3RvcjoiOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbE5hbWVdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bbmdNb2RlbF0iLGlucHV0czpbInJlcXVpcmVkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlkuVHJhbnNsYXRlRGlyZWN0aXZlLHNlbGVjdG9yOiJbdHJhbnNsYXRlXSxbbmd4LXRyYW5zbGF0ZV0iLGlucHV0czpbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZVBhcmFtcyJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn1dfSl9fXZhciBHYTtlKCJHYXRld2F5UmVtb3RlQ29uZmlndXJhdGlvbkRpYWxvZ0NvbXBvbmVudCIsUGEpLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6UGEsZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktcmVtb3RlLWNvbmZpZ3VyYXRpb24tZGlhbG9nIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdG9vbGJhciBjb2xvcj0id2FybiI+XG4gIDxtYXQtaWNvbj53YXJuaW5nPC9tYXQtaWNvbj5cbiAgPGgyIHRyYW5zbGF0ZT5nYXRld2F5LmNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1oZWFkZXI8L2gyPlxuICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgIChjbGljayk9ImNsb3NlKCkiXG4gICAgICAgICAgdHlwZT0iYnV0dG9uIj5cbiAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9tYXQtdG9vbGJhcj5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IHN0eWxlPSJtYXgtd2lkdGg6IDYwMHB4IiBjbGFzcz0ibWF0LWNvbnRlbnQiIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICA8c3BhbiBpbm5lckhUTUw9Int7IFwnZ2F0ZXdheS5jb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctYm9keVwnIHwgdHJhbnNsYXRlIH19IDxiPnt7IGdhdGV3YXlOYW1lIH19PC9iPiIgPjwvc3Bhbj5cbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2sgdGItdmFsdWUtdHlwZSIgc3R5bGU9ImZsZXgtZ3JvdzogMCI+XG4gICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5jb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaW5wdXQ8L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT0iZ2F0ZXdheUNvbnRyb2wiIHJlcXVpcmVkLz5cbiAgICA8bWF0LWVycm9yXG4gICAgICAqbmdJZj0iZ2F0ZXdheUNvbnRyb2wuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICB7eyBcJ2dhdGV3YXkuY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0id2FybiJcbiAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgKGNsaWNrKT0iY2xvc2UoKSI+XG4gICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG4gIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0id2FybiJcbiAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgW2Rpc2FibGVkXT0iZ2F0ZXdheUNvbnRyb2wudmFsdWUgIT09IGdhdGV3YXlOYW1lIlxuICAgICAgICAgIChjbGljayk9InR1cm5PZmYoKSI+XG4gICAge3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1jb25maXJtXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG48L2Rpdj5cbid9XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6b3QuU3RvcmV9LHt0eXBlOml0LlJvdXRlcn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOnAsYXJnczpbWGVdfV19LHt0eXBlOkplLk1hdERpYWxvZ1JlZn0se3R5cGU6bWUuRm9ybUJ1aWxkZXJ9XX0pLGZ1bmN0aW9uKGUpe2UudGxzPSJ0bHMiLGUuYWNjZXNzVG9rZW49ImFjY2Vzc1Rva2VuIn0oR2F8fChHYT17fSkpO2NvbnN0IE9hPSJjb25maWd1cmF0aW9uX2RyYWZ0cyIsUmE9IlJlbW90ZUxvZ2dpbmdMZXZlbCIsVmE9bmV3IE1hcChbW0dhLnRscywiZ2F0ZXdheS5zZWN1cml0eS10eXBlcy50bHMiXSxbR2EuYWNjZXNzVG9rZW4sImdhdGV3YXkuc2VjdXJpdHktdHlwZXMuYWNjZXNzLXRva2VuIl1dKTt2YXIgQmEsVWE7IWZ1bmN0aW9uKGUpe2Uubm9uZT0iTk9ORSIsZS5jcml0aWNhbD0iQ1JJVElDQUwiLGUuZXJyb3I9IkVSUk9SIixlLndhcm5pbmc9IldBUk5JTkciLGUuaW5mbz0iSU5GTyIsZS5kZWJ1Zz0iREVCVUcifShCYXx8KEJhPXt9KSksZnVuY3Rpb24oZSl7ZS5tZW1vcnk9Im1lbW9yeSIsZS5maWxlPSJmaWxlIn0oVWF8fChVYT17fSkpO2NvbnN0IF9hPW5ldyBNYXAoW1tVYS5tZW1vcnksImdhdGV3YXkuc3RvcmFnZS10eXBlcy5tZW1vcnktc3RvcmFnZSJdLFtVYS5maWxlLCJnYXRld2F5LnN0b3JhZ2UtdHlwZXMuZmlsZS1zdG9yYWdlIl1dKTt2YXIgSGE7IWZ1bmN0aW9uKGUpe2UubXF0dD0iTVFUVCIsZS5tb2RidXM9Ik1vZGJ1cyIsZS5vcGN1YT0iT1BDLVVBIixlLmJsZT0iQkxFIixlLnJlcXVlc3Q9IlJlcXVlc3QiLGUuY2FuPSJDQU4iLGUuYmFjbmV0PSJCQUNuZXQiLGUuY3VzdG9tPSJDdXN0b20ifShIYXx8KEhhPXt9KSk7Y29uc3QgemE9e2NvbmZpZzp7fSxuYW1lOiIiLGNvbmZpZ1R5cGU6bnVsbCxlbmFibGVkOiExfTtmdW5jdGlvbiBXYShlKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZS52YWx1ZSk9PT1KU09OLnN0cmluZ2lmeSh7fSk/e3ZhbGlkSlNPTjohMH06bnVsbH1jb25zdCBqYT0nW2xvZ2dlcnNdfX1rZXlzPXJvb3QsIHNlcnZpY2UsIGNvbm5lY3RvciwgY29udmVydGVyLCB0Yl9jb25uZWN0aW9uLCBzdG9yYWdlLCBleHRlbnNpb259fVtoYW5kbGVyc119fWtleXM9Y29uc29sZUhhbmRsZXIsIHNlcnZpY2VIYW5kbGVyLCBjb25uZWN0b3JIYW5kbGVyLCBjb252ZXJ0ZXJIYW5kbGVyLCB0Yl9jb25uZWN0aW9uSGFuZGxlciwgc3RvcmFnZUhhbmRsZXIsIGV4dGVuc2lvbkhhbmRsZXJ9fVtmb3JtYXR0ZXJzXX19a2V5cz1Mb2dGb3JtYXR0ZXJ9fVtsb2dnZXJfcm9vdF19fWxldmVsPUVSUk9SfX1oYW5kbGVycz1jb25zb2xlSGFuZGxlcn19W2xvZ2dlcl9jb25uZWN0b3JdfX1sZXZlbD17RVJST1J9fX1oYW5kbGVycz1jb25uZWN0b3JIYW5kbGVyfX1mb3JtYXR0ZXI9TG9nRm9ybWF0dGVyfX1xdWFsbmFtZT1jb25uZWN0b3J9fVtsb2dnZXJfc3RvcmFnZV19fWxldmVsPXtFUlJPUn19fWhhbmRsZXJzPXN0b3JhZ2VIYW5kbGVyfX1mb3JtYXR0ZXI9TG9nRm9ybWF0dGVyfX1xdWFsbmFtZT1zdG9yYWdlfX1bbG9nZ2VyX3RiX2Nvbm5lY3Rpb25dfX1sZXZlbD17RVJST1J9fX1oYW5kbGVycz10Yl9jb25uZWN0aW9uSGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19cXVhbG5hbWU9dGJfY29ubmVjdGlvbn19W2xvZ2dlcl9zZXJ2aWNlXX19bGV2ZWw9e0VSUk9SfX19aGFuZGxlcnM9c2VydmljZUhhbmRsZXJ9fWZvcm1hdHRlcj1Mb2dGb3JtYXR0ZXJ9fXF1YWxuYW1lPXNlcnZpY2V9fVtsb2dnZXJfY29udmVydGVyXX19bGV2ZWw9e0VSUk9SfX19aGFuZGxlcnM9Y29udmVydGVySGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19cXVhbG5hbWU9Y29udmVydGVyfX1bbG9nZ2VyX2V4dGVuc2lvbl19fWxldmVsPXtFUlJPUn19fWhhbmRsZXJzPWNvbm5lY3RvckhhbmRsZXJ9fWZvcm1hdHRlcj1Mb2dGb3JtYXR0ZXJ9fXF1YWxuYW1lPWV4dGVuc2lvbn19W2hhbmRsZXJfY29uc29sZUhhbmRsZXJdfX1jbGFzcz1TdHJlYW1IYW5kbGVyfX1sZXZlbD17RVJST1J9fX1mb3JtYXR0ZXI9TG9nRm9ybWF0dGVyfX1hcmdzPShzeXMuc3Rkb3V0LCl9fVtoYW5kbGVyX2Nvbm5lY3RvckhhbmRsZXJdfX1sZXZlbD17RVJST1J9fX1jbGFzcz1sb2dnaW5nLmhhbmRsZXJzLlRpbWVkUm90YXRpbmdGaWxlSGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19YXJncz0oInsuL2xvZ3MvfWNvbm5lY3Rvci5sb2ciLCAiZCIsIDEsIDcsKX19W2hhbmRsZXJfc3RvcmFnZUhhbmRsZXJdfX1sZXZlbD17RVJST1J9fX1jbGFzcz1sb2dnaW5nLmhhbmRsZXJzLlRpbWVkUm90YXRpbmdGaWxlSGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19YXJncz0oInsuL2xvZ3MvfXN0b3JhZ2UubG9nIiwgImQiLCAxLCA3LCl9fVtoYW5kbGVyX3NlcnZpY2VIYW5kbGVyXX19bGV2ZWw9e0VSUk9SfX19Y2xhc3M9bG9nZ2luZy5oYW5kbGVycy5UaW1lZFJvdGF0aW5nRmlsZUhhbmRsZXJ9fWZvcm1hdHRlcj1Mb2dGb3JtYXR0ZXJ9fWFyZ3M9KCJ7Li9sb2dzL31zZXJ2aWNlLmxvZyIsICJkIiwgMSwgNywpfX1baGFuZGxlcl9jb252ZXJ0ZXJIYW5kbGVyXX19bGV2ZWw9e0VSUk9SfX19Y2xhc3M9bG9nZ2luZy5oYW5kbGVycy5UaW1lZFJvdGF0aW5nRmlsZUhhbmRsZXJ9fWZvcm1hdHRlcj1Mb2dGb3JtYXR0ZXJ9fWFyZ3M9KCJ7Li9sb2dzL31jb252ZXJ0ZXIubG9nIiwgImQiLCAxLCAzLCl9fVtoYW5kbGVyX2V4dGVuc2lvbkhhbmRsZXJdfX1sZXZlbD17RVJST1J9fX1jbGFzcz1sb2dnaW5nLmhhbmRsZXJzLlRpbWVkUm90YXRpbmdGaWxlSGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19YXJncz0oInsuL2xvZ3MvfWV4dGVuc2lvbi5sb2ciLCAiZCIsIDEsIDMsKX19W2hhbmRsZXJfdGJfY29ubmVjdGlvbkhhbmRsZXJdfX1sZXZlbD17RVJST1J9fX1jbGFzcz1sb2dnaW5nLmhhbmRsZXJzLlRpbWVkUm90YXRpbmdGaWxlSGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19YXJncz0oInsuL2xvZ3MvfXRiX2Nvbm5lY3Rpb24ubG9nIiwgImQiLCAxLCAzLCl9fVtmb3JtYXR0ZXJfTG9nRm9ybWF0dGVyXX19Zm9ybWF0PSIlKGFzY3RpbWUpcyAtICUobGV2ZWxuYW1lKXMgLSBbJShmaWxlbmFtZSlzXSAtICUobW9kdWxlKXMgLSAlKGxpbmVubylkIC0gJShtZXNzYWdlKXMiIH19ZGF0ZWZtdD0iJVktJW0tJWQgJUg6JU06JVMiJztmdW5jdGlvbiBLYShlKXtyZXR1cm4gZS5yZXBsYWNlKCJfIiwiIikucmVwbGFjZSgiLSIsIiIpLnJlcGxhY2UoL15ccyt8XHMrL2csIiIpLnRvTG93ZXJDYXNlKCkrIi5qc29uIn1mdW5jdGlvbiAkYShlLHQpe3JldHVybiBqYS5yZXBsYWNlKC97RVJST1J9L2csZSkucmVwbGFjZSgvey5cL2xvZ3NcL30vZyx0KX1mdW5jdGlvbiBZYShlKXtyZXR1cm57aWQ6ZSxlbnRpdHlUeXBlOkkuREVWSUNFfX1mdW5jdGlvbiBRYShlKXtjb25zdCB0PXt9O3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwidGhpbmdzYm9hcmQiKSYmKHQuaG9zdD1lLnRoaW5nc2JvYXJkLmhvc3QsdC5wb3J0PWUudGhpbmdzYm9hcmQucG9ydCx0LnJlbW90ZUNvbmZpZ3VyYXRpb249ZS50aGluZ3Nib2FyZC5yZW1vdGVDb25maWd1cmF0aW9uLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLnRoaW5nc2JvYXJkLnNlY3VyaXR5LEdhLmFjY2Vzc1Rva2VuKT8odC5zZWN1cml0eVR5cGU9R2EuYWNjZXNzVG9rZW4sdC5hY2Nlc3NUb2tlbj1lLnRoaW5nc2JvYXJkLnNlY3VyaXR5LmFjY2Vzc1Rva2VuKToodC5zZWN1cml0eVR5cGU9R2EudGxzLHQuY2FDZXJ0UGF0aD1lLnRoaW5nc2JvYXJkLnNlY3VyaXR5LmNhQ2VydCx0LnByaXZhdGVLZXlQYXRoPWUudGhpbmdzYm9hcmQuc2VjdXJpdHkucHJpdmF0ZUtleSx0LmNlcnRQYXRoPWUudGhpbmdzYm9hcmQuc2VjdXJpdHkuY2VydCkpLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCJzdG9yYWdlIikmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLnN0b3JhZ2UsInR5cGUiKSYmKGUuc3RvcmFnZS50eXBlPT09VWEubWVtb3J5Pyh0LnN0b3JhZ2VUeXBlPVVhLm1lbW9yeSx0LnJlYWRSZWNvcmRzQ291bnQ9ZS5zdG9yYWdlLnJlYWRfcmVjb3Jkc19jb3VudCx0Lm1heFJlY29yZHNDb3VudD1lLnN0b3JhZ2UubWF4X3JlY29yZHNfY291bnQpOmUuc3RvcmFnZS50eXBlPT09VWEuZmlsZSYmKHQuc3RvcmFnZVR5cGU9VWEuZmlsZSx0LmRhdGFGb2xkZXJQYXRoPWUuc3RvcmFnZS5kYXRhX2ZvbGRlcl9wYXRoLHQubWF4RmlsZXNDb3VudD1lLnN0b3JhZ2UubWF4X2ZpbGVfY291bnQsdC5yZWFkUmVjb3Jkc0NvdW50PWUuc3RvcmFnZS5yZWFkX3JlY29yZHNfY291bnQsdC5tYXhSZWNvcmRzQ291bnQ9ZS5zdG9yYWdlLm1heF9yZWNvcmRzX2NvdW50KSksdH1mdW5jdGlvbiBKYShlKXtjb25zdCB0PXt9O2Zvcihjb25zdCBuIG9mIGUpbi5lbmFibGVkfHwodFtuLm5hbWVdPXtjb25uZWN0b3I6bi5jb25maWdUeXBlLGNvbmZpZzpuLmNvbmZpZ30pO3JldHVybiB0fWZ1bmN0aW9uIFhhKGUpe2NvbnN0IHQ9e3RoaW5nc2JvYXJkOlphKGUpfTtyZXR1cm4gZnVuY3Rpb24oZSx0KXtmb3IoY29uc3QgbiBvZiB0KWlmKG4uZW5hYmxlZCl7Y29uc3QgdD1uLmNvbmZpZ1R5cGU7QXJyYXkuaXNBcnJheShlW3RdKXx8KGVbdF09W10pO2NvbnN0IGE9e25hbWU6bi5uYW1lLGNvbmZpZzpuLmNvbmZpZ307ZVt0XS5wdXNoKGEpfX0odCxlLmNvbm5lY3RvcnMpLHR9ZnVuY3Rpb24gWmEoZSl7bGV0IHQ7dD1lLnNlY3VyaXR5VHlwZT09PUdhLmFjY2Vzc1Rva2VuP3thY2Nlc3NUb2tlbjplLmFjY2Vzc1Rva2VufTp7Y2FDZXJ0OmUuY2FDZXJ0UGF0aCxwcml2YXRlS2V5OmUucHJpdmF0ZUtleVBhdGgsY2VydDplLmNlcnRQYXRofTtjb25zdCBuPXtob3N0OmUuaG9zdCxyZW1vdGVDb25maWd1cmF0aW9uOmUucmVtb3RlQ29uZmlndXJhdGlvbixwb3J0OmUucG9ydCxzZWN1cml0eTp0fTtsZXQgYTthPWUuc3RvcmFnZVR5cGU9PT1VYS5tZW1vcnk/e3R5cGU6VWEubWVtb3J5LHJlYWRfcmVjb3Jkc19jb3VudDplLnJlYWRSZWNvcmRzQ291bnQsbWF4X3JlY29yZHNfY291bnQ6ZS5tYXhSZWNvcmRzQ291bnR9Ont0eXBlOlVhLmZpbGUsZGF0YV9mb2xkZXJfcGF0aDplLmRhdGFGb2xkZXJQYXRoLG1heF9maWxlX2NvdW50OmUubWF4RmlsZXNDb3VudCxtYXhfcmVhZF9yZWNvcmRzX2NvdW50OmUucmVhZFJlY29yZHNDb3VudCxtYXhfcmVjb3Jkc19wZXJfZmlsZTplLm1heFJlY29yZHNDb3VudH07Y29uc3Qgbz1bXTtmb3IoY29uc3QgdCBvZiBlLmNvbm5lY3RvcnMpaWYodC5lbmFibGVkKXtjb25zdCBlPXtjb25maWd1cmF0aW9uOkthKHQubmFtZSksbmFtZTp0Lm5hbWUsdHlwZTp0LmNvbmZpZ1R5cGV9O28ucHVzaChlKX1yZXR1cm57dGhpbmdzYm9hcmQ6bixjb25uZWN0b3JzOm8sc3RvcmFnZTphLGxvZ3M6d2luZG93LmJ0b2EoJGEoZS5yZW1vdGVMb2dnaW5nTGV2ZWwsZS5yZW1vdGVMb2dnaW5nUGF0aFRvTG9ncykpfX1jbGFzcyBlbyBleHRlbmRzIE97Y29uc3RydWN0b3IoZSx0LG4sYSxvLGkscixzLGwsYyxwKXtzdXBlcihlKSx0aGlzLnN0b3JlPWUsdGhpcy5lbGVtZW50UmVmPXQsdGhpcy51dGlscz1uLHRoaXMubmdab25lPWEsdGhpcy5mYj1vLHRoaXMud2luZG93PWksdGhpcy5kaWFsb2c9cix0aGlzLnRyYW5zbGF0ZT1zLHRoaXMuZGV2aWNlU2VydmljZT1sLHRoaXMuYXR0cmlidXRlU2VydmljZT1jLHRoaXMuaW1wb3J0RXhwb3J0PXAsdGhpcy5hbGlnbm1lbnQ9InJvdyIsdGhpcy5sYXlvdXRHYXA9IjVweCIsdGhpcy5zZWN1cml0eVR5cGVzPVZhLHRoaXMuZ2F0ZXdheUxvZ0xldmVscz1PYmplY3Qua2V5cyhCYSkubWFwKChlPT5CYVtlXSkpLHRoaXMuY29ubmVjdG9yVHlwZXM9T2JqZWN0LmtleXMoSGEpLHRoaXMuc3RvcmFnZVR5cGVzPV9hLHRoaXMudG9hc3RUYXJnZXRJZD0iZ2F0ZXdheS1jb25maWd1cmF0aW9uLXdpZGdldCIrdGhpcy51dGlscy5ndWlkKCksdGhpcy5pc1JlYWRPbmx5Rm9ybT0hMX1nZXQgY29ubmVjdG9ycygpe3JldHVybiB0aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KCJjb25uZWN0b3JzIil9bmdPbkluaXQoKXt0aGlzLmluaXRXaWRnZXRTZXR0aW5ncyh0aGlzLmN0eC5zZXR0aW5ncyksdGhpcy5jdHguZGF0YXNvdXJjZXMmJnRoaXMuY3R4LmRhdGFzb3VyY2VzLmxlbmd0aCYmKHRoaXMuZGV2aWNlTmFtZUZvcm09dGhpcy5jdHguZGF0YXNvdXJjZXNbMF0ubmFtZSksdGhpcy5idWlsZEZvcm0oKSx0aGlzLmN0eC51cGRhdGVXaWRnZXRQYXJhbXMoKSx0aGlzLmZvcm1SZXNpemUkPW5ldyBSZXNpemVPYnNlcnZlcigoKCk9Pnt0aGlzLnJlc2l6ZSgpfSkpLHRoaXMuZm9ybVJlc2l6ZSQub2JzZXJ2ZSh0aGlzLmZvcm1Db250YWluZXJSZWYubmF0aXZlRWxlbWVudCl9bmdPbkRlc3Ryb3koKXt0aGlzLmZvcm1SZXNpemUkJiZ0aGlzLmZvcm1SZXNpemUkLmRpc2Nvbm5lY3QoKSx0aGlzLnN1YnNjcmliZUdhdGV3YXkkLnVuc3Vic2NyaWJlKCksdGhpcy5zdWJzY3JpYmVTdG9yYWdlVHlwZSQudW5zdWJzY3JpYmUoKX1pbml0V2lkZ2V0U2V0dGluZ3MoZSl7bGV0IHQ7dD1lLmdhdGV3YXlUaXRsZSYmZS5nYXRld2F5VGl0bGUubGVuZ3RoP3RoaXMudXRpbHMuY3VzdG9tVHJhbnNsYXRpb24oZS5nYXRld2F5VGl0bGUsZS5nYXRld2F5VGl0bGUpOnRoaXMudHJhbnNsYXRlLmluc3RhbnQoImdhdGV3YXkuZ2F0ZXdheSIpLHRoaXMuY3R4LndpZGdldFRpdGxlPXQsdGhpcy5pc1JlYWRPbmx5Rm9ybT0hIWUucmVhZE9ubHkmJmUucmVhZE9ubHksdGhpcy5hcmNoaXZlRmlsZU5hbWU9ZS5hcmNoaXZlRmlsZU5hbWU/Lmxlbmd0aD9lLmFyY2hpdmVGaWxlTmFtZToiZ2F0ZXdheUNvbmZpZ3VyYXRpb24iLHRoaXMuZ2F0ZXdheVR5cGU9ZS5nYXRld2F5VHlwZT8ubGVuZ3RoP2UuZ2F0ZXdheVR5cGU6IkdhdGV3YXkiLHRoaXMuZ2F0ZXdheU5hbWVFeGlzdHM9dGhpcy51dGlscy5jdXN0b21UcmFuc2xhdGlvbihlLmdhdGV3YXlOYW1lRXhpc3RzLGUuZ2F0ZXdheU5hbWVFeGlzdHMpfHx0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LmdhdGV3YXktZXhpc3RzIiksdGhpcy5zdWNjZXNzZnVsU2F2ZWQ9dGhpcy51dGlscy5jdXN0b21UcmFuc2xhdGlvbihlLnN1Y2Nlc3NmdWxTYXZlLGUuc3VjY2Vzc2Z1bFNhdmUpfHx0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LmdhdGV3YXktc2F2ZWQiKSx0aGlzLnVwZGF0ZVdpZGdldERpc3BsYXlpbmcoKX1yZXNpemUoKXt0aGlzLm5nWm9uZS5ydW4oKCgpPT57dGhpcy51cGRhdGVXaWRnZXREaXNwbGF5aW5nKCksdGhpcy5jdHguZGV0ZWN0Q2hhbmdlcygpfSkpfXVwZGF0ZVdpZGdldERpc3BsYXlpbmcoKXt0aGlzLmN0eC4kY29udGFpbmVyJiZ0aGlzLmN0eC4kY29udGFpbmVyWzBdLm9mZnNldFdpZHRoPD00MjU/KHRoaXMubGF5b3V0R2FwPSIwIix0aGlzLmFsaWdubWVudD0iY29sdW1uIik6KHRoaXMubGF5b3V0R2FwPSI1cHgiLHRoaXMuYWxpZ25tZW50PSJyb3ciKX1zYXZlQXR0cmlidXRlKGUsdCxuKXtjb25zdCBhPXRoaXMuZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoImdhdGV3YXkiKS52YWx1ZSxvPXtrZXk6ZSx2YWx1ZTp0fTtyZXR1cm4gdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNhdmVFbnRpdHlBdHRyaWJ1dGVzKFlhKGEpLG4sW29dKX1jcmVhdGVDb25uZWN0b3IoZT16YSl7dGhpcy5jb25uZWN0b3JzLnB1c2godGhpcy5mYi5ncm91cCh7ZW5hYmxlZDpbZS5lbmFibGVkXSxjb25maWdUeXBlOltlLmNvbmZpZ1R5cGUsW3VlLnJlcXVpcmVkXV0sbmFtZTpbZS5uYW1lLFt1ZS5yZXF1aXJlZF1dLGNvbmZpZzpbZS5jb25maWcsW3VlLm51bGxWYWxpZGF0b3IsV2FdXX0pKX1nZXRGb3JtRmllbGQoZSl7cmV0dXJuIHRoaXMuZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoZSl9YnVpbGRGb3JtKCl7dGhpcy5nYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwPXRoaXMuZmIuZ3JvdXAoe2dhdGV3YXk6W251bGwsW11dLGFjY2Vzc1Rva2VuOltudWxsLFt1ZS5yZXF1aXJlZF1dLHNlY3VyaXR5VHlwZTpbR2EuYWNjZXNzVG9rZW5dLGhvc3Q6W3RoaXMud2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLFt1ZS5yZXF1aXJlZF1dLHBvcnQ6WzE4ODMsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5tYXgoNjU1MzUpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLHJlbW90ZUNvbmZpZ3VyYXRpb246WyEwXSxjYUNlcnRQYXRoOlsiL2V0Yy90aGluZ3Nib2FyZC1nYXRld2F5L2NhLnBlbSJdLHByaXZhdGVLZXlQYXRoOlsiL2V0Yy90aGluZ3Nib2FyZC1nYXRld2F5L3ByaXZhdGVLZXkucGVtIl0sY2VydFBhdGg6WyIvZXRjL3RoaW5nc2JvYXJkLWdhdGV3YXkvY2VydGlmaWNhdGUucGVtIl0scmVtb3RlTG9nZ2luZ0xldmVsOltCYS5kZWJ1Z10scmVtb3RlTG9nZ2luZ1BhdGhUb0xvZ3M6WyIuL2xvZ3MvIixbdWUucmVxdWlyZWRdXSxzdG9yYWdlVHlwZTpbVWEubWVtb3J5XSxyZWFkUmVjb3Jkc0NvdW50OlsxMDAsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxtYXhSZWNvcmRzQ291bnQ6WzFlNCxbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLG1heEZpbGVzQ291bnQ6WzUsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxkYXRhRm9sZGVyUGF0aDpbIi4vZGF0YS8iLFt1ZS5yZXF1aXJlZF1dLGNvbm5lY3RvcnM6dGhpcy5mYi5hcnJheShbXSl9KSx0aGlzLmlzUmVhZE9ubHlGb3JtJiZ0aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5zdWJzY3JpYmVTdG9yYWdlVHlwZSQ9dGhpcy5nZXRGb3JtRmllbGQoInN0b3JhZ2VUeXBlIikudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoZT0+e2U9PT1VYS5tZW1vcnk/KHRoaXMuZ2V0Rm9ybUZpZWxkKCJtYXhGaWxlc0NvdW50IikuZGlzYWJsZSgpLHRoaXMuZ2V0Rm9ybUZpZWxkKCJkYXRhRm9sZGVyUGF0aCIpLmRpc2FibGUoKSk6KHRoaXMuZ2V0Rm9ybUZpZWxkKCJtYXhGaWxlc0NvdW50IikuZW5hYmxlKCksdGhpcy5nZXRGb3JtRmllbGQoImRhdGFGb2xkZXJQYXRoIikuZW5hYmxlKCkpfSkpLHRoaXMuc3Vic2NyaWJlR2F0ZXdheSQ9dGhpcy5nZXRGb3JtRmllbGQoImdhdGV3YXkiKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChlPT57bnVsbCE9PWU/QWUoW3RoaXMuZGV2aWNlU2VydmljZS5nZXREZXZpY2VDcmVkZW50aWFscyhlKS5waXBlKEVlKChlPT57dGhpcy5nZXRGb3JtRmllbGQoImFjY2Vzc1Rva2VuIikucGF0Y2hWYWx1ZShlLmNyZWRlbnRpYWxzSWQpfSkpKSwuLi50aGlzLmdldEF0dHJpYnV0ZXMoZSldKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5nYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLm1hcmtBc1ByaXN0aW5lKCksdGhpcy5jdHguZGV0ZWN0Q2hhbmdlcygpfSkpOnRoaXMuZ2V0Rm9ybUZpZWxkKCJhY2Nlc3NUb2tlbiIpLnBhdGNoVmFsdWUoIiIpfSkpfWdhdGV3YXlFeGlzdCgpe3RoaXMuY3R4LnNob3dFcnJvclRvYXN0KHRoaXMuZ2F0ZXdheU5hbWVFeGlzdHMsInRvcCIsImxlZnQiLHRoaXMudG9hc3RUYXJnZXRJZCl9ZXhwb3J0Q29uZmlnKCl7Y29uc3QgZT10aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAudmFsdWUsdD17fTt2YXIgbixhLG87dFsidGJfZ2F0ZXdheS55YW1sIl09ZnVuY3Rpb24oZSl7bGV0IHQ7dD0idGhpbmdzYm9hcmQ6XG4iLHQrPSIgIGhvc3Q6ICIrZS5ob3N0KyJcbiIsdCs9IiAgcmVtb3RlQ29uZmlndXJhdGlvbjogIitlLnJlbW90ZUNvbmZpZ3VyYXRpb24rIlxuIix0Kz0iICBwb3J0OiAiK2UucG9ydCsiXG4iLHQrPSIgIHNlY3VyaXR5OlxuIixlLnNlY3VyaXR5VHlwZT09PUdhLmFjY2Vzc1Rva2VuP3QrPSIgICAgYWNjZXNzLXRva2VuOiAiK2UuYWNjZXNzVG9rZW4rIlxuIjoodCs9IiAgICBjYV9jZXJ0OiAiK2UuY2FDZXJ0UGF0aCsiXG4iLHQrPSIgICAgcHJpdmF0ZUtleTogIitlLnByaXZhdGVLZXlQYXRoKyJcbiIsdCs9IiAgICBjZXJ0OiAiK2UuY2VydFBhdGgrIlxuIiksdCs9InN0b3JhZ2U6XG4iLGUuc3RvcmFnZVR5cGU9PT1VYS5tZW1vcnk/KHQrPSIgIHR5cGU6IG1lbW9yeVxuIix0Kz0iICByZWFkX3JlY29yZHNfY291bnQ6ICIrZS5yZWFkUmVjb3Jkc0NvdW50KyJcbiIsdCs9IiAgbWF4X3JlY29yZHNfY291bnQ6ICIrZS5tYXhSZWNvcmRzQ291bnQrIlxuIik6KHQrPSIgIHR5cGU6IGZpbGVcbiIsdCs9IiAgZGF0YV9mb2xkZXJfcGF0aDogIitlLmRhdGFGb2xkZXJQYXRoKyJcbiIsdCs9IiAgbWF4X2ZpbGVfY291bnQ6ICIrZS5tYXhGaWxlc0NvdW50KyJcbiIsdCs9IiAgbWF4X3JlYWRfcmVjb3Jkc19jb3VudDogIitlLnJlYWRSZWNvcmRzQ291bnQrIlxuIix0Kz0iICBtYXhfcmVjb3Jkc19wZXJfZmlsZTogIitlLm1heFJlY29yZHNDb3VudCsiXG4iKSx0Kz0iY29ubmVjdG9yczpcbiI7Zm9yKGNvbnN0IG4gb2YgZS5jb25uZWN0b3JzKW4uZW5hYmxlZCYmKHQrPSIgIC1cbiIsdCs9IiAgICBuYW1lOiAiK24ubmFtZSsiXG4iLHQrPSIgICAgdHlwZTogIituLmNvbmZpZ1R5cGUrIlxuIix0Kz0iICAgIGNvbmZpZ3VyYXRpb246ICIrS2Eobi5uYW1lKSsiXG4iKTtyZXR1cm4gdH0oZSksZnVuY3Rpb24oZSx0KXtmb3IoY29uc3QgbiBvZiB0KW4uZW5hYmxlZCYmKGVbS2Eobi5uYW1lKV09SlNPTi5zdHJpbmdpZnkobi5jb25maWcpKX0odCxlLmNvbm5lY3RvcnMpLG49dCxhPWUucmVtb3RlTG9nZ2luZ0xldmVsLG89ZS5yZW1vdGVMb2dnaW5nUGF0aFRvTG9ncyxuWyJsb2dzLmNvbmYiXT0kYShhLG8pLHRoaXMuaW1wb3J0RXhwb3J0LmV4cG9ydEpTWmlwKHQsdGhpcy5hcmNoaXZlRmlsZU5hbWUpLHRoaXMuc2F2ZUF0dHJpYnV0ZShSYSx0aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAudmFsdWUucmVtb3RlTG9nZ2luZ0xldmVsLnRvVXBwZXJDYXNlKCksTC5TSEFSRURfU0NPUEUpfWFkZE5ld0Nvbm5lY3Rvcigpe3RoaXMuY3JlYXRlQ29ubmVjdG9yKCl9cmVtb3ZlQ29ubmVjdG9yKGUpe2U+LTEmJih0aGlzLmNvbm5lY3RvcnMucmVtb3ZlQXQoZSksdGhpcy5jb25uZWN0b3JzLm1hcmtBc0RpcnR5KCkpfW9wZW5Db25maWdEaWFsb2coZSx0LG4sYSl7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uKCksZS5wcmV2ZW50RGVmYXVsdCgpKSx0aGlzLmRpYWxvZy5vcGVuKFFlLHtkaXNhYmxlQ2xvc2U6ITAscGFuZWxDbGFzczpbInRiLWRpYWxvZyIsInRiLWZ1bGxzY3JlZW4tZGlhbG9nIl0sZGF0YTp7anNvblZhbHVlOm4scmVxdWlyZWQ6ITAsdGl0bGU6dGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS50aXRsZS1jb25uZWN0b3JzLWpzb24iLHt0eXBlTmFtZTphfSl9fSkuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKGU9PntlJiYodGhpcy5jb25uZWN0b3JzLmF0KHQpLmdldCgiY29uZmlnIikucGF0Y2hWYWx1ZShlKSx0aGlzLmN0eC5kZXRlY3RDaGFuZ2VzKCkpfSkpfWNyZWF0ZUNvbm5lY3Rvck5hbWUoZSx0LG49MCl7Y29uc3QgYT1uP3Qrbjp0O3JldHVybi0xPT09ZS5maW5kSW5kZXgoKGU9PmUubmFtZT09PWEpKT9hOnRoaXMuY3JlYXRlQ29ubmVjdG9yTmFtZShlLHQsKytuKX12YWxpZGF0ZUNvbm5lY3Rvck5hbWUoZSx0LG4sYT0wKXtmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rKyl7Y29uc3QgaT0wPT09YT90OnQrYTtvIT09biYmZVtvXS5uYW1lPT09aSYmdGhpcy52YWxpZGF0ZUNvbm5lY3Rvck5hbWUoZSx0LG4sKythKX1yZXR1cm4gMD09PWE/dDp0K2F9Y2hhbmdlQ29ubmVjdG9yVHlwZShlKXtpZighZS5nZXQoIm5hbWUiKS52YWx1ZSl7Y29uc3QgdD1lLmdldCgiY29uZmlnVHlwZSIpLnZhbHVlLG49dGhpcy5nYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLnZhbHVlLmNvbm5lY3RvcnM7ZS5nZXQoIm5hbWUiKS5wYXRjaFZhbHVlKHRoaXMuY3JlYXRlQ29ubmVjdG9yTmFtZShuLEhhW3RdKSl9fWNoYW5nZUNvbm5lY3Rvck5hbWUoZSx0KXtjb25zdCBuPXRoaXMuZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC52YWx1ZS5jb25uZWN0b3JzO2UuZ2V0KCJuYW1lIikucGF0Y2hWYWx1ZSh0aGlzLnZhbGlkYXRlQ29ubmVjdG9yTmFtZShuLGUuZ2V0KCJuYW1lIikudmFsdWUsdCkpfXNhdmUoKXtjb25zdCBlPXRoaXMuZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC52YWx1ZTtBZShbdGhpcy5zYXZlQXR0cmlidXRlKCJjb25maWd1cmF0aW9uIix3aW5kb3cuYnRvYShKU09OLnN0cmluZ2lmeShYYShlKSkpLEwuU0hBUkVEX1NDT1BFKSx0aGlzLnNhdmVBdHRyaWJ1dGUoT2Esd2luZG93LmJ0b2EoSlNPTi5zdHJpbmdpZnkoSmEoZS5jb25uZWN0b3JzKSkpLEwuU0VSVkVSX1NDT1BFKSx0aGlzLnNhdmVBdHRyaWJ1dGUoUmEsdGhpcy5nYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLnZhbHVlLnJlbW90ZUxvZ2dpbmdMZXZlbC50b1VwcGVyQ2FzZSgpLEwuU0hBUkVEX1NDT1BFKV0pLnN1YnNjcmliZSgoKCk9Pnt0aGlzLmN0eC5zaG93U3VjY2Vzc1RvYXN0KHRoaXMuc3VjY2Vzc2Z1bFNhdmVkLDJlMywidG9wIiwibGVmdCIsdGhpcy50b2FzdFRhcmdldElkKSx0aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAubWFya0FzUHJpc3RpbmUoKX0pKX1nZXRBdHRyaWJ1dGVzKGUpe2NvbnN0IHQ9W107cmV0dXJuIHQucHVzaChBZShbdGhpcy5nZXRBdHRyaWJ1dGUoImN1cnJlbnRfY29uZmlndXJhdGlvbiIsTC5DTElFTlRfU0NPUEUsZSksdGhpcy5nZXRBdHRyaWJ1dGUoT2EsTC5TRVJWRVJfU0NPUEUsZSldKS5waXBlKEVlKCgoW2UsdF0pPT57dGhpcy5zZXRGb3JtR2F0ZXdheVNldHRpbmdzKGUpLHRoaXMuc2V0Rm9ybUNvbm5lY3RvcnNEcmFmdCh0KSx0aGlzLmlzUmVhZE9ubHlGb3JtJiZ0aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSl9KSkpKSx0LnB1c2godGhpcy5nZXRBdHRyaWJ1dGUoUmEsTC5TSEFSRURfU0NPUEUsZSkucGlwZShFZSgoZT0+dGhpcy5wcm9jZXNzTG9nZ2luZ0xldmVsKGUpKSkpKSx0fWdldEF0dHJpYnV0ZShlLHQsbil7cmV0dXJuIHRoaXMuYXR0cmlidXRlU2VydmljZS5nZXRFbnRpdHlBdHRyaWJ1dGVzKFlhKG4pLHQsW2VdKX1zZXRGb3JtR2F0ZXdheVNldHRpbmdzKGUpe2lmKHRoaXMuY29ubmVjdG9ycy5jbGVhcigpLGUubGVuZ3RoPjApe2NvbnN0IHQ9SlNPTi5wYXJzZSh3aW5kb3cuYXRvYihlWzBdLnZhbHVlKSk7Zm9yKGNvbnN0IGUgb2YgT2JqZWN0LmtleXModCkpe2NvbnN0IG49dFtlXTtpZigidGhpbmdzYm9hcmQiPT09ZSludWxsIT09biYmT2JqZWN0LmtleXMobikubGVuZ3RoPjAmJnRoaXMuZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5wYXRjaFZhbHVlKFFhKG4pKTtlbHNlIGZvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKG4pKXtsZXQgYT0iTm8gbmFtZSI7T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG5bdF0sIm5hbWUiKSYmKGE9blt0XS5uYW1lKTtjb25zdCBvPXtlbmFibGVkOiEwLGNvbmZpZ1R5cGU6ZSxjb25maWc6blt0XS5jb25maWcsbmFtZTphfTt0aGlzLmNyZWF0ZUNvbm5lY3RvcihvKX19fX1zZXRGb3JtQ29ubmVjdG9yc0RyYWZ0KGUpe2lmKGUubGVuZ3RoPjApe2NvbnN0IHQ9SlNPTi5wYXJzZSh3aW5kb3cuYXRvYihlWzBdLnZhbHVlKSk7Zm9yKGNvbnN0IGUgb2YgT2JqZWN0LmtleXModCkpe2NvbnN0IG49e2VuYWJsZWQ6ITEsY29uZmlnVHlwZTp0W2VdLmNvbm5lY3Rvcixjb25maWc6dFtlXS5jb25maWcsbmFtZTplfTt0aGlzLmNyZWF0ZUNvbm5lY3RvcihuKX19fXByb2Nlc3NMb2dnaW5nTGV2ZWwoZSl7bGV0IHQ9QmEuZGVidWc7ZS5sZW5ndGg+MCYmQmFbZVswXS52YWx1ZS50b0xvd2VyQ2FzZSgpXSYmKHQ9QmFbZVswXS52YWx1ZS50b0xvd2VyQ2FzZSgpXSksdGhpcy5nZXRGb3JtRmllbGQoInJlbW90ZUxvZ2dpbmdMZXZlbCIpLnBhdGNoVmFsdWUodCl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTplbyxkZXBzOlt7dG9rZW46b3QuU3RvcmV9LHt0b2tlbjp0LkVsZW1lbnRSZWZ9LHt0b2tlbjpYLlV0aWxzU2VydmljZX0se3Rva2VuOnQuTmdab25lfSx7dG9rZW46bWUuVW50eXBlZEZvcm1CdWlsZGVyfSx7dG9rZW46YWV9LHt0b2tlbjpKZS5NYXREaWFsb2d9LHt0b2tlbjpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0b2tlbjpYLkRldmljZVNlcnZpY2V9LHt0b2tlbjpYLkF0dHJpYnV0ZVNlcnZpY2V9LHt0b2tlbjpsdC5JbXBvcnRFeHBvcnRTZXJ2aWNlfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTplbyxzZWxlY3RvcjoidGItZ2F0ZXdheS1mb3JtIixpbnB1dHM6e2N0eDoiY3R4Iixpc1N0YXRlRm9ybToiaXNTdGF0ZUZvcm0ifSx2aWV3UXVlcmllczpbe3Byb3BlcnR5TmFtZToiZm9ybUNvbnRhaW5lclJlZiIsZmlyc3Q6ITAscHJlZGljYXRlOlsiZm9ybUNvbnRhaW5lciJdLGRlc2NlbmRhbnRzOiEwLHN0YXRpYzohMH0se3Byb3BlcnR5TmFtZToibXVsdGlwbGVJbnB1dEZvcm0iLGZpcnN0OiEwLHByZWRpY2F0ZTpbImdhdGV3YXlDb25maWd1cmF0aW9uRm9ybSJdLGRlc2NlbmRhbnRzOiEwLHN0YXRpYzohMH1dLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGZvcm0gI2Zvcm1Db250YWluZXIgY2xhc3M9ImdhdGV3YXktZm9ybSJcbiAgICAgIFtmb3JtR3JvdXBdPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwIlxuICAgICAgdGItdG9hc3QgdG9hc3RUYXJnZXQ9Int7IHRvYXN0VGFyZ2V0SWQgfX0iXG4gICAgICAobmdTdWJtaXQpPSJzYXZlKCkiPlxuICA8bWF0LWFjY29yZGlvbiBtdWx0aT0idHJ1ZSIgY2xhc3M9Im1hdC1ib2R5LTIiPlxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLXBhbmVsLXRpdGxlIj57eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmRcJyB8IHRyYW5zbGF0ZSB8IHVwcGVyY2FzZSB9fTwvZGl2PlxuICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDx0Yi1lbnRpdHktZ2F0ZXdheS1zZWxlY3RcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9ImdhdGV3YXkiXG4gICAgICAgICAgW2RldmljZU5hbWVdPSJkZXZpY2VOYW1lRm9ybSJcbiAgICAgICAgICBbaXNTdGF0ZUZvcm1dPSJpc1N0YXRlRm9ybSJcbiAgICAgICAgICBbbmV3R2F0ZXdheVR5cGVdPSJnYXRld2F5VHlwZSJcbiAgICAgICAgICAoZ2F0ZXdheU5hbWVFeGlzdCk9ImdhdGV3YXlFeGlzdCgpIlxuICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgID5cbiAgICAgIDwvdGItZW50aXR5LWdhdGV3YXktc2VsZWN0PlxuICAgICAgPGRpdiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7XCdnYXRld2F5LnNlY3VyaXR5LXR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ic2VjdXJpdHlUeXBlIiA+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBzZWN1cml0eVR5cGUgb2Ygc2VjdXJpdHlUeXBlcyB8IGtleXZhbHVlIiBbdmFsdWVdPSJzZWN1cml0eVR5cGUua2V5Ij5cbiAgICAgICAgICAgICAge3sgc2VjdXJpdHlUeXBlLnZhbHVlLnRvU3RyaW5nKCkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgW2Z4TGF5b3V0XT0iYWxpZ25tZW50IiBbZnhMYXlvdXRHYXBdPSJsYXlvdXRHYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkLWhvc3RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJ0ZXh0IiBmb3JtQ29udHJvbE5hbWU9Imhvc3QiPlxuICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnaG9zdFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBnYXRld2F5LnRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWRcbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0XCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9InBvcnQiPlxuICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWRcbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdtaW5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgIGdhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1taW5cbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdtYXhcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgIGdhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1tYXhcbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtcGF0dGVyblxuICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnc2VjdXJpdHlUeXBlXCcpLnZhbHVlID09IFwndGxzXCciIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnRscy1wYXRoLWNhLWNlcnRpZmljYXRlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0idGV4dCIgZm9ybUNvbnRyb2xOYW1lPSJjYUNlcnRQYXRoIj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS50bHMtcGF0aC1wcml2YXRlLWtleVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InRleHQiIGZvcm1Db250cm9sTmFtZT0icHJpdmF0ZUtleVBhdGgiPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnRscy1wYXRoLWNsaWVudC1jZXJ0aWZpY2F0ZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InRleHQiIGZvcm1Db250cm9sTmFtZT0iY2VydFBhdGgiPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxtYXQtY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPSJyZW1vdGVDb25maWd1cmF0aW9uIj57eyBcJ2dhdGV3YXkucmVtb3RlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1jaGVja2JveD5cblxuICAgICAgPGRpdiBbZnhMYXlvdXRdPSJhbGlnbm1lbnQiIFtmeExheW91dEdhcF09ImxheW91dEdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgPG1hdC1sYWJlbD57e1wnZ2F0ZXdheS5yZW1vdGUtbG9nZ2luZy1sZXZlbFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJyZW1vdGVMb2dnaW5nTGV2ZWwiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbG9nTGV2ZWwgb2YgZ2F0ZXdheUxvZ0xldmVscyIgW3ZhbHVlXT0ibG9nTGV2ZWwiPlxuICAgICAgICAgICAgICB7eyBsb2dMZXZlbCB9fVxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnBhdGgtbG9nc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InRleHQiIGZvcm1Db250cm9sTmFtZT0icmVtb3RlTG9nZ2luZ1BhdGhUb0xvZ3MiPlxuICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwncmVtb3RlTG9nZ2luZ1BhdGhUb0xvZ3NcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgZ2F0ZXdheS5wYXRoLWxvZ3MtcmVxdWlyZWRcbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuXG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuXG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItcGFuZWwtdGl0bGUiPnt7IFwnZ2F0ZXdheS5zdG9yYWdlXCcgfCB0cmFuc2xhdGUgfCB1cHBlcmNhc2UgfX08L2Rpdj5cbiAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuXG4gICAgICA8ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3tcJ2dhdGV3YXkuc3RvcmFnZS10eXBlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InN0b3JhZ2VUeXBlIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHN0b3JhZ2VUeXBlIG9mIHN0b3JhZ2VUeXBlcyB8IGtleXZhbHVlIiBbdmFsdWVdPSJzdG9yYWdlVHlwZS5rZXkiPlxuICAgICAgICAgICAgICB7eyBzdG9yYWdlVHlwZS52YWx1ZS50b1N0cmluZygpIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPGRpdiBbZnhMYXlvdXRdPSJhbGlnbm1lbnQiIFtmeExheW91dEdhcF09ImxheW91dEdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0b3JhZ2UtcGFjay1zaXplXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIGZvcm1Db250cm9sTmFtZT0icmVhZFJlY29yZHNDb3VudCI+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlYWRSZWNvcmRzQ291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwncmVhZFJlY29yZHNDb3VudFwnKS5oYXNFcnJvcihcJ21pblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtcGFjay1zaXplLW1pblxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlYWRSZWNvcmRzQ291bnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgIGdhdGV3YXkuc3RvcmFnZS1wYWNrLXNpemUtcGF0dGVyblxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsID5cbiAgICAgICAgICAgICAge3sgKGdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnc3RvcmFnZVR5cGVcJykudmFsdWUgIT09IFwnZmlsZVwnID8gXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHNcJyA6IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlLXJlY29yZHNcJykgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1heFJlY29yZHNDb3VudCI+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ21heFJlY29yZHNDb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgIGdhdGV3YXkuc3RvcmFnZS1tYXgtcmVjb3Jkcy1yZXF1aXJlZFxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ21heFJlY29yZHNDb3VudFwnKS5oYXNFcnJvcihcJ21pblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtbWluXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnbWF4UmVjb3Jkc0NvdW50XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVyblxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBbZnhMYXlvdXRdPSJhbGlnbm1lbnQiIFtmeExheW91dEdhcF09ImxheW91dEdhcCIgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnc3RvcmFnZVR5cGVcJykudmFsdWUgPT0gXCdmaWxlXCciPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1heEZpbGVzQ291bnQiPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdtYXhGaWxlc0NvdW50XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZFxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ21heEZpbGVzQ291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlcy1taW5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdtYXhGaWxlc0NvdW50XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtbWF4LWZpbGVzLXBhdHRlcm5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkuc3RvcmFnZS1wYXRoXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJ0ZXh0IiBmb3JtQ29udHJvbE5hbWU9ImRhdGFGb2xkZXJQYXRoIj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnZGF0YUZvbGRlclBhdGhcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtcGF0aC1yZXF1aXJlZFxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG5cbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1wYW5lbC10aXRsZSI+e3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtY29uZmlnXCcgfCB0cmFuc2xhdGUgfCB1cHBlcmNhc2UgfX08L2Rpdj5cbiAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuXG4gICAgICA8ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iIGNsYXNzPSJnYXRld2F5LWNvbmZpZyI+XG4gICAgICAgIDxzZWN0aW9uIGZvcm1BcnJheU5hbWU9ImNvbm5lY3RvcnMiICpuZ0Zvcj0ibGV0IGNvbm5lY3RvciBvZiBjb25uZWN0b3JzLmNvbnRyb2xzOyBsZXQgaSA9IGluZGV4OyI+XG4gICAgICAgICAgPGRpdiBbZm9ybUdyb3VwTmFtZV09ImkiIGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gc3RyZXRjaCIgZnhMYXlvdXRHYXA9IjhweCI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBzdGFydCI+XG4gICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZvcm1Db250cm9sTmFtZT0iZW5hYmxlZCI+PC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IFtmeExheW91dF09ImFsaWdubWVudCIgW2Z4TGF5b3V0R2FwXT0ibGF5b3V0R2FwIiBmeEZsZXg+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57e1wnZ2F0ZXdheS5jb25uZWN0b3ItdHlwZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJjb25maWdUeXBlIiAoc2VsZWN0aW9uQ2hhbmdlKT0iY2hhbmdlQ29ubmVjdG9yVHlwZShjb25uZWN0b3IpIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGNvbm5lY3RvclR5cGUgb2YgY29ubmVjdG9yVHlwZXMiIFt2YWx1ZV09ImNvbm5lY3RvclR5cGUiPlxuICAgICAgICAgICAgICAgICAgICB7eyBjb25uZWN0b3JUeXBlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbm5lY3Rvci5nZXQoXCdjb25maWdUeXBlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgICAgIGdhdGV3YXkuY29ubmVjdG9yLXR5cGUtcmVxdWlyZWRcbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LmNvbm5lY3Rvci1uYW1lXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0idGV4dCIgZm9ybUNvbnRyb2xOYW1lPSJuYW1lIiAoYmx1cik9ImNoYW5nZUNvbm5lY3Rvck5hbWUoY29ubmVjdG9yLCBpKSI+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29ubmVjdG9yLmdldChcJ25hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgZ2F0ZXdheS5jb25uZWN0b3ItbmFtZS1yZXF1aXJlZFxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IFtmeExheW91dF09ImFsaWdubWVudCIgW2Z4TGF5b3V0R2FwXT0ibGF5b3V0R2FwIlxuICAgICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJ7e2FsaWdubWVudCA9PSBcJ3Jvd1wnID8gXCdlbmQgY2VudGVyXCcgOiBcJ3NwYWNlLWV2ZW5seSBjZW50ZXJcJ319IiBjbGFzcz0iYWN0aW9uLWJ1dHRvbnMiPlxuICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09ImlzUmVhZE9ubHlGb3JtIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0ib3BlbkNvbmZpZ0RpYWxvZygkZXZlbnQsIGksIGNvbm5lY3Rvci5nZXQoXCdjb25maWdcJykudmFsdWUsIGNvbm5lY3Rvci5nZXQoXCduYW1lXCcpLnZhbHVlKSJcbiAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkudXBkYXRlLWNvbmZpZ1wnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPSJ7XCdtYXQtd2FyblwnOiBjb25uZWN0b3IuZ2V0KFwnY29uZmlnXCcpLmludmFsaWR9Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+bW9yZV9ob3JpejwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09ImlzUmVhZE9ubHlGb3JtIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPSJyZW1vdmVDb25uZWN0b3IoaSkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmRlbGV0ZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPHNwYW4gW2Z4U2hvd109IiFjb25uZWN0b3JzLmxlbmd0aCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciIgY2xhc3M9Im5vLWRhdGEtZm91bmQiPnt7XCdnYXRld2F5Lm5vLWNvbm5lY3RvcnNcJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxidXR0b24gW2Z4U2hvd109IiFpc1JlYWRPbmx5Rm9ybSIgbWF0LXJhaXNlZC1idXR0b24gdHlwZT0iYnV0dG9uIiAoY2xpY2spPSJhZGROZXdDb25uZWN0b3IoKSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5jb25uZWN0b3ItYWRkXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICAgIHt7IFwnYWN0aW9uLmFkZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXYgPlxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgPC9tYXQtYWNjb3JkaW9uPlxuICA8c2VjdGlvbiBbZnhTaG93XT0iIWlzUmVhZE9ubHlGb3JtIlxuICAgICAgICAgICBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJlbmQgY2VudGVyIiBjbGFzcz0iZm9ybS1hY3Rpb24tYnV0dG9ucyI+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSIgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgKGNsaWNrKT0iZXhwb3J0Q29uZmlnKCkiXG4gICAgICAgICAgICAqbmdJZj0iIWdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwncmVtb3RlQ29uZmlndXJhdGlvblwnKS52YWx1ZSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09IiFnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmRpcnR5IHx8IGdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuaW52YWxpZCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7XCdnYXRld2F5LmRvd25sb2FkLXRpcFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIHt7XCdhY3Rpb24uZG93bmxvYWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSIgdHlwZT0ic3VibWl0IlxuICAgICAgICAgICAgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwncmVtb3RlQ29uZmlndXJhdGlvblwnKS52YWx1ZSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09IiFnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmRpcnR5IHx8IGdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuaW52YWxpZCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7XCdnYXRld2F5LnNhdmUtdGlwXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAge3tcJ2FjdGlvbi5zYXZlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9zZWN0aW9uPlxuPC9mb3JtPlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC5nYXRld2F5LWZvcm17aGVpZ2h0OjEwMCU7cGFkZGluZzo1cHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtvdmVyZmxvdy15OmF1dG87b3ZlcmZsb3cteDpoaWRkZW59Omhvc3QgLmdhdGV3YXktZm9ybSAuZm9ybS1hY3Rpb24tYnV0dG9uc3twYWRkaW5nLXRvcDo4cHh9Omhvc3QgLmdhdGV3YXktZm9ybSAuZ2F0ZXdheS1jb25maWcgLm5vLWRhdGEtZm91bmR7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpmbGV4O2hlaWdodDo0MHB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdDbGFzcyxzZWxlY3RvcjoiW25nQ2xhc3NdIixpbnB1dHM6WyJjbGFzcyIsIm5nQ2xhc3MiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Y3QuVG9hc3REaXJlY3RpdmUsc2VsZWN0b3I6Ilt0Yi10b2FzdF0iLGlucHV0czpbInRvYXN0VGFyZ2V0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QnV0dG9uLHNlbGVjdG9yOiIgICAgYnV0dG9uW21hdC1idXR0b25dLCBidXR0b25bbWF0LXJhaXNlZC1idXR0b25dLCBidXR0b25bbWF0LWZsYXQtYnV0dG9uXSwgICAgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0gICIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpwdC5NYXRDaGVja2JveCxzZWxlY3RvcjoibWF0LWNoZWNrYm94IixpbnB1dHM6WyJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsImlkIiwicmVxdWlyZWQiLCJsYWJlbFBvc2l0aW9uIiwibmFtZSIsInZhbHVlIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY29sb3IiLCJkaXNhYmxlZEludGVyYWN0aXZlIiwiY2hlY2tlZCIsImRpc2FibGVkIiwiaW5kZXRlcm1pbmF0ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJpbmRldGVybWluYXRlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRDaGVja2JveCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdEVycm9yLHNlbGVjdG9yOiJtYXQtZXJyb3IsIFttYXRFcnJvcl0iLGlucHV0czpbImlkIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpDZS5NYXRPcHRpb24sc2VsZWN0b3I6Im1hdC1vcHRpb24iLGlucHV0czpbInZhbHVlIiwiaWQiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJvblNlbGVjdGlvbkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0T3B0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6emUuTWF0VG9vbHRpcCxzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixpbnB1dHM6WyJtYXRUb29sdGlwUG9zaXRpb24iLCJtYXRUb29sdGlwUG9zaXRpb25BdE9yaWdpbiIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBTaG93RGVsYXkiLCJtYXRUb29sdGlwSGlkZURlbGF5IiwibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcENsYXNzIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6ZXQuTWF0U2xpZGVUb2dnbGUsc2VsZWN0b3I6Im1hdC1zbGlkZS10b2dnbGUiLGlucHV0czpbIm5hbWUiLCJpZCIsImxhYmVsUG9zaXRpb24iLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsInJlcXVpcmVkIiwiY29sb3IiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImNoZWNrZWQiLCJoaWRlSWNvbiIsImRpc2FibGVkSW50ZXJhY3RpdmUiXSxvdXRwdXRzOlsiY2hhbmdlIiwidG9nZ2xlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEFjY29yZGlvbixzZWxlY3RvcjoibWF0LWFjY29yZGlvbiIsaW5wdXRzOlsiaGlkZVRvZ2dsZSIsImRpc3BsYXlNb2RlIiwidG9nZ2xlUG9zaXRpb24iXSxleHBvcnRBczpbIm1hdEFjY29yZGlvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsIixpbnB1dHM6WyJoaWRlVG9nZ2xlIiwidG9nZ2xlUG9zaXRpb24iXSxvdXRwdXRzOlsiYWZ0ZXJFeHBhbmQiLCJhZnRlckNvbGxhcHNlIl0sZXhwb3J0QXM6WyJtYXRFeHBhbnNpb25QYW5lbCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsSGVhZGVyLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciIsaW5wdXRzOlsiZXhwYW5kZWRIZWlnaHQiLCJjb2xsYXBzZWRIZWlnaHQiLCJ0YWJJbmRleCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsVGl0bGUsc2VsZWN0b3I6Im1hdC1wYW5lbC10aXRsZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRHYXBEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0R2FwXSwgW2Z4TGF5b3V0R2FwLnhzXSwgW2Z4TGF5b3V0R2FwLnNtXSwgW2Z4TGF5b3V0R2FwLm1kXSwgIFtmeExheW91dEdhcC5sZ10sIFtmeExheW91dEdhcC54bF0sIFtmeExheW91dEdhcC5sdC1zbV0sIFtmeExheW91dEdhcC5sdC1tZF0sICBbZnhMYXlvdXRHYXAubHQtbGddLCBbZnhMYXlvdXRHYXAubHQteGxdLCBbZnhMYXlvdXRHYXAuZ3QteHNdLCBbZnhMYXlvdXRHYXAuZ3Qtc21dLCAgW2Z4TGF5b3V0R2FwLmd0LW1kXSwgW2Z4TGF5b3V0R2FwLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRHYXAiLCJmeExheW91dEdhcC54cyIsImZ4TGF5b3V0R2FwLnNtIiwiZnhMYXlvdXRHYXAubWQiLCJmeExheW91dEdhcC5sZyIsImZ4TGF5b3V0R2FwLnhsIiwiZnhMYXlvdXRHYXAubHQtc20iLCJmeExheW91dEdhcC5sdC1tZCIsImZ4TGF5b3V0R2FwLmx0LWxnIiwiZnhMYXlvdXRHYXAubHQteGwiLCJmeExheW91dEdhcC5ndC14cyIsImZ4TGF5b3V0R2FwLmd0LXNtIiwiZnhMYXlvdXRHYXAuZ3QtbWQiLCJmeExheW91dEdhcC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRTaG93SGlkZURpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhTaG93XSwgW2Z4U2hvdy5wcmludF0sICBbZnhTaG93LnhzXSwgW2Z4U2hvdy5zbV0sIFtmeFNob3cubWRdLCBbZnhTaG93LmxnXSwgW2Z4U2hvdy54bF0sICBbZnhTaG93Lmx0LXNtXSwgW2Z4U2hvdy5sdC1tZF0sIFtmeFNob3cubHQtbGddLCBbZnhTaG93Lmx0LXhsXSwgIFtmeFNob3cuZ3QteHNdLCBbZnhTaG93Lmd0LXNtXSwgW2Z4U2hvdy5ndC1tZF0sIFtmeFNob3cuZ3QtbGddLCAgW2Z4SGlkZV0sIFtmeEhpZGUucHJpbnRdLCAgW2Z4SGlkZS54c10sIFtmeEhpZGUuc21dLCBbZnhIaWRlLm1kXSwgW2Z4SGlkZS5sZ10sIFtmeEhpZGUueGxdLCAgW2Z4SGlkZS5sdC1zbV0sIFtmeEhpZGUubHQtbWRdLCBbZnhIaWRlLmx0LWxnXSwgW2Z4SGlkZS5sdC14bF0sICBbZnhIaWRlLmd0LXhzXSwgW2Z4SGlkZS5ndC1zbV0sIFtmeEhpZGUuZ3QtbWRdLCBbZnhIaWRlLmd0LWxnXSIsaW5wdXRzOlsiZnhTaG93IiwiZnhTaG93LnByaW50IiwiZnhTaG93LnhzIiwiZnhTaG93LnNtIiwiZnhTaG93Lm1kIiwiZnhTaG93LmxnIiwiZnhTaG93LnhsIiwiZnhTaG93Lmx0LXNtIiwiZnhTaG93Lmx0LW1kIiwiZnhTaG93Lmx0LWxnIiwiZnhTaG93Lmx0LXhsIiwiZnhTaG93Lmd0LXhzIiwiZnhTaG93Lmd0LXNtIiwiZnhTaG93Lmd0LW1kIiwiZnhTaG93Lmd0LWxnIiwiZnhIaWRlIiwiZnhIaWRlLnByaW50IiwiZnhIaWRlLnhzIiwiZnhIaWRlLnNtIiwiZnhIaWRlLm1kIiwiZnhIaWRlLmxnIiwiZnhIaWRlLnhsIiwiZnhIaWRlLmx0LXNtIiwiZnhIaWRlLmx0LW1kIiwiZnhIaWRlLmx0LWxnIiwiZnhIaWRlLmx0LXhsIiwiZnhIaWRlLmd0LXhzIiwiZnhIaWRlLmd0LXNtIiwiZnhIaWRlLmd0LW1kIiwiZnhIaWRlLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Sy5EZWZhdWx0Q2xhc3NEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW25nQ2xhc3NdLCBbbmdDbGFzcy54c10sIFtuZ0NsYXNzLnNtXSwgW25nQ2xhc3MubWRdLCBbbmdDbGFzcy5sZ10sIFtuZ0NsYXNzLnhsXSwgIFtuZ0NsYXNzLmx0LXNtXSwgW25nQ2xhc3MubHQtbWRdLCBbbmdDbGFzcy5sdC1sZ10sIFtuZ0NsYXNzLmx0LXhsXSwgIFtuZ0NsYXNzLmd0LXhzXSwgW25nQ2xhc3MuZ3Qtc21dLCBbbmdDbGFzcy5ndC1tZF0sIFtuZ0NsYXNzLmd0LWxnXSIsaW5wdXRzOlsibmdDbGFzcyIsIm5nQ2xhc3MueHMiLCJuZ0NsYXNzLnNtIiwibmdDbGFzcy5tZCIsIm5nQ2xhc3MubGciLCJuZ0NsYXNzLnhsIiwibmdDbGFzcy5sdC1zbSIsIm5nQ2xhc3MubHQtbWQiLCJuZ0NsYXNzLmx0LWxnIiwibmdDbGFzcy5sdC14bCIsIm5nQ2xhc3MuZ3QteHMiLCJuZ0NsYXNzLmd0LXNtIiwibmdDbGFzcy5ndC1tZCIsIm5nQ2xhc3MuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS7JtU5nTm9WYWxpZGF0ZSxzZWxlY3RvcjoiZm9ybTpub3QoW25nTm9Gb3JtXSk6bm90KFtuZ05hdGl2ZVZhbGlkYXRlXSkifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBOYW1lLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0iLGlucHV0czpbImZvcm1Hcm91cE5hbWUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQXJyYXlOYW1lLHNlbGVjdG9yOiJbZm9ybUFycmF5TmFtZV0iLGlucHV0czpbImZvcm1BcnJheU5hbWUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTptdC5FbnRpdHlHYXRld2F5U2VsZWN0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi1lbnRpdHktZ2F0ZXdheS1zZWxlY3QiLGlucHV0czpbInJlcXVpcmVkIiwibmV3R2F0ZXdheVR5cGUiLCJkZXZpY2VOYW1lIiwiaXNTdGF0ZUZvcm0iXSxvdXRwdXRzOlsiZ2F0ZXdheU5hbWVFeGlzdCJdfSx7a2luZDoicGlwZSIsdHlwZTpfLlVwcGVyQ2FzZVBpcGUsbmFtZToidXBwZXJjYXNlIn0se2tpbmQ6InBpcGUiLHR5cGU6Xy5LZXlWYWx1ZVBpcGUsbmFtZToia2V5dmFsdWUifSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn1dfSl9fWUoIkdhdGV3YXlGb3JtQ29tcG9uZW50IixlbyksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTplbyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItZ2F0ZXdheS1mb3JtIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2Vcbjxmb3JtICNmb3JtQ29udGFpbmVyIGNsYXNzPSJnYXRld2F5LWZvcm0iXG4gICAgICBbZm9ybUdyb3VwXT0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cCJcbiAgICAgIHRiLXRvYXN0IHRvYXN0VGFyZ2V0PSJ7eyB0b2FzdFRhcmdldElkIH19IlxuICAgICAgKG5nU3VibWl0KT0ic2F2ZSgpIj5cbiAgPG1hdC1hY2NvcmRpb24gbXVsdGk9InRydWUiIGNsYXNzPSJtYXQtYm9keS0yIj5cbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1wYW5lbC10aXRsZSI+e3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkXCcgfCB0cmFuc2xhdGUgfCB1cHBlcmNhc2UgfX08L2Rpdj5cbiAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICA8dGItZW50aXR5LWdhdGV3YXktc2VsZWN0XG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJnYXRld2F5IlxuICAgICAgICAgIFtkZXZpY2VOYW1lXT0iZGV2aWNlTmFtZUZvcm0iXG4gICAgICAgICAgW2lzU3RhdGVGb3JtXT0iaXNTdGF0ZUZvcm0iXG4gICAgICAgICAgW25ld0dhdGV3YXlUeXBlXT0iZ2F0ZXdheVR5cGUiXG4gICAgICAgICAgKGdhdGV3YXlOYW1lRXhpc3QpPSJnYXRld2F5RXhpc3QoKSJcbiAgICAgICAgICByZXF1aXJlZFxuICAgICAgICA+XG4gICAgICA8L3RiLWVudGl0eS1nYXRld2F5LXNlbGVjdD5cbiAgICAgIDxkaXYgZnhMYXlvdXQ9ImNvbHVtbiI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgPG1hdC1sYWJlbD57e1wnZ2F0ZXdheS5zZWN1cml0eS10eXBlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5VHlwZSIgPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgc2VjdXJpdHlUeXBlIG9mIHNlY3VyaXR5VHlwZXMgfCBrZXl2YWx1ZSIgW3ZhbHVlXT0ic2VjdXJpdHlUeXBlLmtleSI+XG4gICAgICAgICAgICAgIHt7IHNlY3VyaXR5VHlwZS52YWx1ZS50b1N0cmluZygpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IFtmeExheW91dF09ImFsaWdubWVudCIgW2Z4TGF5b3V0R2FwXT0ibGF5b3V0R2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1ob3N0XCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0idGV4dCIgZm9ybUNvbnRyb2xOYW1lPSJob3N0Ij5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgZ2F0ZXdheS50aGluZ3Nib2FyZC1ob3N0LXJlcXVpcmVkXG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0Ij5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkXG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtbWluXG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtbWF4XG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LXBhdHRlcm5cbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2ICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3NlY3VyaXR5VHlwZVwnKS52YWx1ZSA9PSBcJ3Rsc1wnIiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS50bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InRleHQiIGZvcm1Db250cm9sTmFtZT0iY2FDZXJ0UGF0aCI+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkudGxzLXBhdGgtcHJpdmF0ZS1rZXlcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJ0ZXh0IiBmb3JtQ29udHJvbE5hbWU9InByaXZhdGVLZXlQYXRoIj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS50bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJ0ZXh0IiBmb3JtQ29udHJvbE5hbWU9ImNlcnRQYXRoIj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8bWF0LWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT0icmVtb3RlQ29uZmlndXJhdGlvbiI+e3sgXCdnYXRld2F5LnJlbW90ZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtY2hlY2tib3g+XG5cbiAgICAgIDxkaXYgW2Z4TGF5b3V0XT0iYWxpZ25tZW50IiBbZnhMYXlvdXRHYXBdPSJsYXlvdXRHYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3tcJ2dhdGV3YXkucmVtb3RlLWxvZ2dpbmctbGV2ZWxcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icmVtb3RlTG9nZ2luZ0xldmVsIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGxvZ0xldmVsIG9mIGdhdGV3YXlMb2dMZXZlbHMiIFt2YWx1ZV09ImxvZ0xldmVsIj5cbiAgICAgICAgICAgICAge3sgbG9nTGV2ZWwgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5wYXRoLWxvZ3NcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJ0ZXh0IiBmb3JtQ29udHJvbE5hbWU9InJlbW90ZUxvZ2dpbmdQYXRoVG9Mb2dzIj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlbW90ZUxvZ2dpbmdQYXRoVG9Mb2dzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgIGdhdGV3YXkucGF0aC1sb2dzLXJlcXVpcmVkXG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cblxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cblxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLXBhbmVsLXRpdGxlIj57eyBcJ2dhdGV3YXkuc3RvcmFnZVwnIHwgdHJhbnNsYXRlIHwgdXBwZXJjYXNlIH19PC9kaXY+XG4gICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cblxuICAgICAgPGRpdiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7XCdnYXRld2F5LnN0b3JhZ2UtdHlwZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJzdG9yYWdlVHlwZSI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBzdG9yYWdlVHlwZSBvZiBzdG9yYWdlVHlwZXMgfCBrZXl2YWx1ZSIgW3ZhbHVlXT0ic3RvcmFnZVR5cGUua2V5Ij5cbiAgICAgICAgICAgICAge3sgc3RvcmFnZVR5cGUudmFsdWUudG9TdHJpbmcoKSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgIDxkaXYgW2Z4TGF5b3V0XT0iYWxpZ25tZW50IiBbZnhMYXlvdXRHYXBdPSJsYXlvdXRHYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5zdG9yYWdlLXBhY2stc2l6ZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9InJlYWRSZWNvcmRzQ291bnQiPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdyZWFkUmVjb3Jkc0NvdW50XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLXBhY2stc2l6ZS1yZXF1aXJlZFxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlYWRSZWNvcmRzQ291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLXBhY2stc2l6ZS1taW5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdyZWFkUmVjb3Jkc0NvdW50XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtcGFjay1zaXplLXBhdHRlcm5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbCA+XG4gICAgICAgICAgICAgIHt7IChnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3N0b3JhZ2VUeXBlXCcpLnZhbHVlICE9PSBcJ2ZpbGVcJyA/IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzXCcgOiBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzXCcpIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgZm9ybUNvbnRyb2xOYW1lPSJtYXhSZWNvcmRzQ291bnQiPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdtYXhSZWNvcmRzQ291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWRcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdtYXhSZWNvcmRzQ291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLW1pblxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ21heFJlY29yZHNDb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLXBhdHRlcm5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgW2Z4TGF5b3V0XT0iYWxpZ25tZW50IiBbZnhMYXlvdXRHYXBdPSJsYXlvdXRHYXAiICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3N0b3JhZ2VUeXBlXCcpLnZhbHVlID09IFwnZmlsZVwnIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXNcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgZm9ybUNvbnRyb2xOYW1lPSJtYXhGaWxlc0NvdW50Ij5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnbWF4RmlsZXNDb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgIGdhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWRcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdtYXhGaWxlc0NvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgIGdhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXMtbWluXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnbWF4RmlsZXNDb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0b3JhZ2UtcGF0aFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0idGV4dCIgZm9ybUNvbnRyb2xOYW1lPSJkYXRhRm9sZGVyUGF0aCI+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ2RhdGFGb2xkZXJQYXRoXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLXBhdGgtcmVxdWlyZWRcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuXG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItcGFuZWwtdGl0bGUiPnt7IFwnZ2F0ZXdheS5jb25uZWN0b3JzLWNvbmZpZ1wnIHwgdHJhbnNsYXRlIHwgdXBwZXJjYXNlIH19PC9kaXY+XG4gICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cblxuICAgICAgPGRpdiBmeExheW91dD0iY29sdW1uIiBjbGFzcz0iZ2F0ZXdheS1jb25maWciPlxuICAgICAgICA8c2VjdGlvbiBmb3JtQXJyYXlOYW1lPSJjb25uZWN0b3JzIiAqbmdGb3I9ImxldCBjb25uZWN0b3Igb2YgY29ubmVjdG9ycy5jb250cm9sczsgbGV0IGkgPSBpbmRleDsiPlxuICAgICAgICAgIDxkaXYgW2Zvcm1Hcm91cE5hbWVdPSJpIiBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIHN0cmV0Y2giIGZ4TGF5b3V0R2FwPSI4cHgiPlxuICAgICAgICAgICAgPGRpdiBmeExheW91dD0iY29sdW1uIiBmeExheW91dEFsaWduPSJjZW50ZXIgc3RhcnQiPlxuICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmb3JtQ29udHJvbE5hbWU9ImVuYWJsZWQiPjwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBbZnhMYXlvdXRdPSJhbGlnbm1lbnQiIFtmeExheW91dEdhcF09ImxheW91dEdhcCIgZnhGbGV4PlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3tcJ2dhdGV3YXkuY29ubmVjdG9yLXR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iY29uZmlnVHlwZSIgKHNlbGVjdGlvbkNoYW5nZSk9ImNoYW5nZUNvbm5lY3RvclR5cGUoY29ubmVjdG9yKSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBjb25uZWN0b3JUeXBlIG9mIGNvbm5lY3RvclR5cGVzIiBbdmFsdWVdPSJjb25uZWN0b3JUeXBlIj5cbiAgICAgICAgICAgICAgICAgICAge3sgY29ubmVjdG9yVHlwZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb25uZWN0b3IuZ2V0KFwnY29uZmlnVHlwZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICBnYXRld2F5LmNvbm5lY3Rvci10eXBlLXJlcXVpcmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5jb25uZWN0b3ItbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InRleHQiIGZvcm1Db250cm9sTmFtZT0ibmFtZSIgKGJsdXIpPSJjaGFuZ2VDb25uZWN0b3JOYW1lKGNvbm5lY3RvciwgaSkiPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbm5lY3Rvci5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgICAgIGdhdGV3YXkuY29ubmVjdG9yLW5hbWUtcmVxdWlyZWRcbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBbZnhMYXlvdXRdPSJhbGlnbm1lbnQiIFtmeExheW91dEdhcF09ImxheW91dEdhcCJcbiAgICAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj0ie3thbGlnbm1lbnQgPT0gXCdyb3dcJyA/IFwnZW5kIGNlbnRlclwnIDogXCdzcGFjZS1ldmVubHkgY2VudGVyXCd9fSIgY2xhc3M9ImFjdGlvbi1idXR0b25zIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPSJpc1JlYWRPbmx5Rm9ybSIgbWF0LWljb24tYnV0dG9uIChjbGljayk9Im9wZW5Db25maWdEaWFsb2coJGV2ZW50LCBpLCBjb25uZWN0b3IuZ2V0KFwnY29uZmlnXCcpLnZhbHVlLCBjb25uZWN0b3IuZ2V0KFwnbmFtZVwnKS52YWx1ZSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LnVwZGF0ZS1jb25maWdcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT0ie1wnbWF0LXdhcm5cJzogY29ubmVjdG9yLmdldChcJ2NvbmZpZ1wnKS5pbnZhbGlkfSI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPm1vcmVfaG9yaXo8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPSJpc1JlYWRPbmx5Rm9ybSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0icmVtb3ZlQ29ubmVjdG9yKGkpIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5kZWxldGVcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDxzcGFuIFtmeFNob3ddPSIhY29ubmVjdG9ycy5sZW5ndGgiIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiIGNsYXNzPSJuby1kYXRhLWZvdW5kIj57e1wnZ2F0ZXdheS5uby1jb25uZWN0b3JzXCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8YnV0dG9uIFtmeFNob3ddPSIhaXNSZWFkT25seUZvcm0iIG1hdC1yYWlzZWQtYnV0dG9uIHR5cGU9ImJ1dHRvbiIgKGNsaWNrKT0iYWRkTmV3Q29ubmVjdG9yKCkiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuY29ubmVjdG9yLWFkZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgICB7eyBcJ2FjdGlvbi5hZGRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2ID5cbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gIDwvbWF0LWFjY29yZGlvbj5cbiAgPHNlY3Rpb24gW2Z4U2hvd109IiFpc1JlYWRPbmx5Rm9ybSJcbiAgICAgICAgICAgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciIgY2xhc3M9ImZvcm0tYWN0aW9uLWJ1dHRvbnMiPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9InByaW1hcnkiIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIChjbGljayk9ImV4cG9ydENvbmZpZygpIlxuICAgICAgICAgICAgKm5nSWY9IiFnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlbW90ZUNvbmZpZ3VyYXRpb25cJykudmFsdWUiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSIhZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5kaXJ0eSB8fCBnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmludmFsaWQiXG4gICAgICAgICAgICBtYXRUb29sdGlwPSJ7e1wnZ2F0ZXdheS5kb3dubG9hZC10aXBcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICB7e1wnYWN0aW9uLmRvd25sb2FkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cblxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9InByaW1hcnkiIHR5cGU9InN1Ym1pdCJcbiAgICAgICAgICAgICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlbW90ZUNvbmZpZ3VyYXRpb25cJykudmFsdWUiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSIhZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5kaXJ0eSB8fCBnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmludmFsaWQiXG4gICAgICAgICAgICBtYXRUb29sdGlwPSJ7e1wnZ2F0ZXdheS5zYXZlLXRpcFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIHt7XCdhY3Rpb24uc2F2ZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvc2VjdGlvbj5cbjwvZm9ybT5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCAuZ2F0ZXdheS1mb3Jte2hlaWdodDoxMDAlO3BhZGRpbmc6NXB4O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7b3ZlcmZsb3cteTphdXRvO292ZXJmbG93LXg6aGlkZGVufTpob3N0IC5nYXRld2F5LWZvcm0gLmZvcm0tYWN0aW9uLWJ1dHRvbnN7cGFkZGluZy10b3A6OHB4fTpob3N0IC5nYXRld2F5LWZvcm0gLmdhdGV3YXktY29uZmlnIC5uby1kYXRhLWZvdW5ke3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6NDBweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm90LlN0b3JlfSx7dHlwZTp0LkVsZW1lbnRSZWZ9LHt0eXBlOlguVXRpbHNTZXJ2aWNlfSx7dHlwZTp0Lk5nWm9uZX0se3R5cGU6bWUuVW50eXBlZEZvcm1CdWlsZGVyfSx7dHlwZTpXaW5kb3csZGVjb3JhdG9yczpbe3R5cGU6cCxhcmdzOlthZV19XX0se3R5cGU6SmUuTWF0RGlhbG9nfSx7dHlwZTpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0eXBlOlguRGV2aWNlU2VydmljZX0se3R5cGU6WC5BdHRyaWJ1dGVTZXJ2aWNlfSx7dHlwZTpsdC5JbXBvcnRFeHBvcnRTZXJ2aWNlfV0scHJvcERlY29yYXRvcnM6e2Zvcm1Db250YWluZXJSZWY6W3t0eXBlOm8sYXJnczpbImZvcm1Db250YWluZXIiLHtzdGF0aWM6ITB9XX1dLG11bHRpcGxlSW5wdXRGb3JtOlt7dHlwZTpvLGFyZ3M6WyJnYXRld2F5Q29uZmlndXJhdGlvbkZvcm0iLHtzdGF0aWM6ITB9XX1dLGN0eDpbe3R5cGU6YX1dLGlzU3RhdGVGb3JtOlt7dHlwZTphfV19fSk7Y2xhc3MgdG8gZXh0ZW5kcyBQe2NvbnN0cnVjdG9yKGUsdCxuLGEsbyxpLHIpe3N1cGVyKGUsdCxhKSx0aGlzLnN0b3JlPWUsdGhpcy5yb3V0ZXI9dCx0aGlzLmRhdGE9bix0aGlzLmRpYWxvZ1JlZj1hLHRoaXMuZmI9byx0aGlzLmlzTGF0ZXN0VmVyc2lvbkNvbmZpZz1pLHRoaXMucmVzb3VyY2VzU2VydmljZT1yLHRoaXMuY29ubmVjdG9yVHlwZT1fdCx0aGlzLmdhdGV3YXlDb25uZWN0b3JEZWZhdWx0VHlwZXNUcmFuc2xhdGVzTWFwPUh0LHRoaXMuZ2F0ZXdheUxvZ0xldmVsPU9iamVjdC52YWx1ZXMoTXQpLHRoaXMuc3VibWl0dGVkPSExLHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMuY29ubmVjdG9yRm9ybT10aGlzLmZiLmdyb3VwKHt0eXBlOltfdC5NUVRULFtdXSxuYW1lOlsiIixbdWUucmVxdWlyZWQsdGhpcy51bmlxTmFtZVJlcXVpcmVkKCksdWUucGF0dGVybihrdCldXSxsb2dMZXZlbDpbTXQuSU5GTyxbXV0sdXNlRGVmYXVsdHM6WyEwLFtdXSxzZW5kRGF0YU9ubHlPbkNoYW5nZTpbITEsW11dLGNsYXNzOlsiIixbXV0sa2V5OlsiYXV0byIsW11dfSl9bmdPbkluaXQoKXt0aGlzLm9ic2VydmVUeXBlQ2hhbmdlKCl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCksc3VwZXIubmdPbkRlc3Ryb3koKX1oZWxwTGlua0lkKCl7cmV0dXJuIHYrIi9kb2NzL2lvdC1nYXRld2F5L2NvbmZpZ3VyYXRpb24vIn1jYW5jZWwoKXt0aGlzLmRpYWxvZ1JlZi5jbG9zZShudWxsKX1hZGQoKXt0aGlzLnN1Ym1pdHRlZD0hMDtjb25zdCBlPXRoaXMuY29ubmVjdG9yRm9ybS5nZXRSYXdWYWx1ZSgpO2UudXNlRGVmYXVsdHM/dGhpcy5nZXREZWZhdWx0Q29uZmlnKGUudHlwZSkuc3Vic2NyaWJlKCh0PT57Y29uc3Qgbj10aGlzLmRhdGEuZ2F0ZXdheVZlcnNpb247biYmKGUuY29uZmlnVmVyc2lvbj1uKSxlLmNvbmZpZ3VyYXRpb25Kc29uPSh0aGlzLmlzTGF0ZXN0VmVyc2lvbkNvbmZpZy50cmFuc2Zvcm0obik/dFtVdC5DdXJyZW50XTp0W1V0LkxlZ2FjeV0pPz90LHRoaXMuY29ubmVjdG9yRm9ybS52YWxpZCYmdGhpcy5kaWFsb2dSZWYuY2xvc2UoZSl9KSk6dGhpcy5jb25uZWN0b3JGb3JtLnZhbGlkJiZ0aGlzLmRpYWxvZ1JlZi5jbG9zZShlKX11bmlxTmFtZVJlcXVpcmVkKCl7cmV0dXJuIGU9Pntjb25zdCB0PWUudmFsdWUudHJpbSgpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIHRoaXMuZGF0YS5kYXRhU291cmNlRGF0YS5zb21lKCgoe3ZhbHVlOntuYW1lOmV9fSk9PmUudG9Mb3dlckNhc2UoKT09PXQpKT97ZHVwbGljYXRlTmFtZTp7dmFsaWQ6ITF9fTpudWxsfX1vYnNlcnZlVHlwZUNoYW5nZSgpe3RoaXMuY29ubmVjdG9yRm9ybS5nZXQoInR5cGUiKS52YWx1ZUNoYW5nZXMucGlwZShFZSgoZT0+e2NvbnN0IHQ9dGhpcy5jb25uZWN0b3JGb3JtLmdldCgidXNlRGVmYXVsdHMiKTtlPT09X3QuR1JQQ3x8ZT09PV90LkNVU1RPTT90LnNldFZhbHVlKCExKTp0LnZhbHVlfHx0LnNldFZhbHVlKCEwKX0pKSxOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCl9Z2V0RGVmYXVsdENvbmZpZyhlKXtyZXR1cm4gdGhpcy5yZXNvdXJjZXNTZXJ2aWNlLmxvYWRKc29uUmVzb3VyY2UoYC9hc3NldHMvbWV0YWRhdGEvY29ubmVjdG9yLWRlZmF1bHQtY29uZmlncy8ke2V9Lmpzb25gKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnRvLGRlcHM6W3t0b2tlbjpvdC5TdG9yZX0se3Rva2VuOml0LlJvdXRlcn0se3Rva2VuOlhlfSx7dG9rZW46SmUuTWF0RGlhbG9nUmVmfSx7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjp2YX0se3Rva2VuOlguUmVzb3VyY2VzU2VydmljZX1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6dG8sc2VsZWN0b3I6InRiLWFkZC1jb25uZWN0b3ItZGlhbG9nIixwcm92aWRlcnM6W10sdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IFtmb3JtR3JvdXBdPSJjb25uZWN0b3JGb3JtIiBjbGFzcz0iYWRkLWNvbm5lY3RvciI+XG4gIDxtYXQtdG9vbGJhciBjb2xvcj0icHJpbWFyeSI+XG4gICAgPGgyPnt7ICJnYXRld2F5LmFkZC1jb25uZWN0b3IiIHwgdHJhbnNsYXRlfX08L2gyPlxuICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgPGRpdiBbdGItaGVscF09ImhlbHBMaW5rSWQoKSI+PC9kaXY+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9ImNhbmNlbCgpIlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIj5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPmNsb3NlPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9tYXQtdG9vbGJhcj5cbiAgPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyIgZnhMYXlvdXQ9ImNvbHVtbiI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnR5cGU8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGdhdGV3YXlDb25uZWN0b3JEZWZhdWx0VHlwZXNUcmFuc2xhdGVzTWFwIHwga2V5dmFsdWUiIFt2YWx1ZV09InR5cGUua2V5Ij5cbiAgICAgICAgICAgICAgICB7eyB0eXBlLnZhbHVlIH19XG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5uYW1lPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGF1dG9jb21wbGV0ZT0ib2ZmIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJuYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwnZHVwbGljYXRlTmFtZVwnKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcJ2dhdGV3YXkuY29ubmVjdG9yLWR1cGxpY2F0ZS1uYW1lXCcgOlwnZ2F0ZXdheS5uYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSIoY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYgY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLnRvdWNoZWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwnZHVwbGljYXRlTmFtZVwnKSJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IGNvbm5lY3RvclR5cGUuQ1VTVE9NIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWNsYXNzPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImNsYXNzIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gY29ubmVjdG9yVHlwZS5HUlBDIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWtleTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJrZXkiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5yZW1vdGUtbG9nZ2luZy1sZXZlbDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibG9nTGV2ZWwiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBsb2dMZXZlbCBvZiBnYXRld2F5TG9nTGV2ZWwiIFt2YWx1ZV09ImxvZ0xldmVsIj57eyBsb2dMZXZlbCB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlICE9PSBjb25uZWN0b3JUeXBlLkdSUEMgJiYgY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlICE9PSBjb25uZWN0b3JUeXBlLkNVU1RPTSJcbiAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIGZpeGVkLXRpdGxlLXdpZHRoIiBmb3JtQ29udHJvbE5hbWU9InVzZURlZmF1bHRzIj5cbiAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuZmlsbC1jb25uZWN0b3ItZGVmYXVsdHMtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5maWxsLWNvbm5lY3Rvci1kZWZhdWx0c1wnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlID09PSBjb25uZWN0b3JUeXBlLk1RVFQiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBmaXhlZC10aXRsZS13aWR0aCIgZm9ybUNvbnRyb2xOYW1lPSJzZW5kRGF0YU9ubHlPbkNoYW5nZSI+XG4gICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LnNlbmQtY2hhbmdlLWRhdGEtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWNoYW5nZS1kYXRhXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucyBmeExheW91dEFsaWduPSJlbmQgY2VudGVyIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICBjZGtGb2N1c0luaXRpYWxcbiAgICAgICAgICAgIChjbGljayk9ImNhbmNlbCgpIj5cbiAgICAgIHt7IFwnYWN0aW9uLmNhbmNlbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIChjbGljayk9ImFkZCgpIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0iY29ubmVjdG9yRm9ybS5pbnZhbGlkIHx8ICFjb25uZWN0b3JGb3JtLmRpcnR5Ij5cbiAgICAgIHt7IFwnYWN0aW9uLmFkZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLmFkZC1jb25uZWN0b3J7bWluLXdpZHRoOjQwMHB4O3dpZHRoOjUwMHB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpkdC5IZWxwQ29tcG9uZW50LHNlbGVjdG9yOiJbdGItaGVscF0iLGlucHV0czpbInRiLWhlbHAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdFN1ZmZpeCxzZWxlY3RvcjoiW21hdFN1ZmZpeF0sIFttYXRJY29uU3VmZml4XSwgW21hdFRleHRTdWZmaXhdIixpbnB1dHM6WyJtYXRUZXh0U3VmZml4Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6cnQuTWF0VG9vbGJhcixzZWxlY3RvcjoibWF0LXRvb2xiYXIiLGlucHV0czpbImNvbG9yIl0sZXhwb3J0QXM6WyJtYXRUb29sYmFyIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQWN0aW9ucyxzZWxlY3RvcjoiW21hdC1kaWFsb2ctYWN0aW9uc10sIG1hdC1kaWFsb2ctYWN0aW9ucywgW21hdERpYWxvZ0FjdGlvbnNdIixpbnB1dHM6WyJhbGlnbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOkplLk1hdERpYWxvZ0NvbnRlbnQsc2VsZWN0b3I6IlttYXQtZGlhbG9nLWNvbnRlbnRdLCBtYXQtZGlhbG9nLWNvbnRlbnQsIFttYXREaWFsb2dDb250ZW50XSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpDZS5NYXRPcHRpb24sc2VsZWN0b3I6Im1hdC1vcHRpb24iLGlucHV0czpbInZhbHVlIiwiaWQiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJvblNlbGVjdGlvbkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0T3B0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6emUuTWF0VG9vbHRpcCxzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixpbnB1dHM6WyJtYXRUb29sdGlwUG9zaXRpb24iLCJtYXRUb29sdGlwUG9zaXRpb25BdE9yaWdpbiIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBTaG93RGVsYXkiLCJtYXRUb29sdGlwSGlkZURlbGF5IiwibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcENsYXNzIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6ZXQuTWF0U2xpZGVUb2dnbGUsc2VsZWN0b3I6Im1hdC1zbGlkZS10b2dnbGUiLGlucHV0czpbIm5hbWUiLCJpZCIsImxhYmVsUG9zaXRpb24iLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsInJlcXVpcmVkIiwiY29sb3IiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImNoZWNrZWQiLCJoaWRlSWNvbiIsImRpc2FibGVkSW50ZXJhY3RpdmUiXSxvdXRwdXRzOlsiY2hhbmdlIiwidG9nZ2xlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRdLCBbZnhMYXlvdXQueHNdLCBbZnhMYXlvdXQuc21dLCBbZnhMYXlvdXQubWRdLCAgW2Z4TGF5b3V0LmxnXSwgW2Z4TGF5b3V0LnhsXSwgW2Z4TGF5b3V0Lmx0LXNtXSwgW2Z4TGF5b3V0Lmx0LW1kXSwgIFtmeExheW91dC5sdC1sZ10sIFtmeExheW91dC5sdC14bF0sIFtmeExheW91dC5ndC14c10sIFtmeExheW91dC5ndC1zbV0sICBbZnhMYXlvdXQuZ3QtbWRdLCBbZnhMYXlvdXQuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dCIsImZ4TGF5b3V0LnhzIiwiZnhMYXlvdXQuc20iLCJmeExheW91dC5tZCIsImZ4TGF5b3V0LmxnIiwiZnhMYXlvdXQueGwiLCJmeExheW91dC5sdC1zbSIsImZ4TGF5b3V0Lmx0LW1kIiwiZnhMYXlvdXQubHQtbGciLCJmeExheW91dC5sdC14bCIsImZ4TGF5b3V0Lmd0LXhzIiwiZnhMYXlvdXQuZ3Qtc20iLCJmeExheW91dC5ndC1tZCIsImZ4TGF5b3V0Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dXQuSGludFRvb2x0aXBJY29uQ29tcG9uZW50LHNlbGVjdG9yOiJbdGItaGludC10b29sdGlwLWljb25dIixpbnB1dHM6WyJ0Yi1oaW50LXRvb2x0aXAtaWNvbiIsInRvb2x0aXBQb3NpdGlvbiIsImhpbnRJY29uIl19LHtraW5kOiJwaXBlIix0eXBlOl8uS2V5VmFsdWVQaXBlLG5hbWU6ImtleXZhbHVlIn0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XX0pfX1lKCJBZGRDb25uZWN0b3JEaWFsb2dDb21wb25lbnQiLHRvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnRvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1hZGQtY29ubmVjdG9yLWRpYWxvZyIscHJvdmlkZXJzOltdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBbZm9ybUdyb3VwXT0iY29ubmVjdG9yRm9ybSIgY2xhc3M9ImFkZC1jb25uZWN0b3IiPlxuICA8bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICAgIDxoMj57eyAiZ2F0ZXdheS5hZGQtY29ubmVjdG9yIiB8IHRyYW5zbGF0ZX19PC9oMj5cbiAgICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICAgIDxkaXYgW3RiLWhlbHBdPSJoZWxwTGlua0lkKCkiPjwvZGl2PlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvbWF0LXRvb2xiYXI+XG4gIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50eXBlPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBnYXRld2F5Q29ubmVjdG9yRGVmYXVsdFR5cGVzVHJhbnNsYXRlc01hcCB8IGtleXZhbHVlIiBbdmFsdWVdPSJ0eXBlLmtleSI+XG4gICAgICAgICAgICAgICAge3sgdHlwZS52YWx1ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkubmFtZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBhdXRvY29tcGxldGU9Im9mZiIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ibmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS5oYXNFcnJvcihcJ2R1cGxpY2F0ZU5hbWVcJykgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCdnYXRld2F5LmNvbm5lY3Rvci1kdXBsaWNhdGUtbmFtZVwnIDpcJ2dhdGV3YXkubmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iKGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS50b3VjaGVkKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS5oYXNFcnJvcihcJ2R1cGxpY2F0ZU5hbWVcJykiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlID09PSBjb25uZWN0b3JUeXBlLkNVU1RPTSIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1jbGFzczwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJjbGFzcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IGNvbm5lY3RvclR5cGUuR1JQQyIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1rZXk8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ia2V5IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucmVtb3RlLWxvZ2dpbmctbGV2ZWw8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImxvZ0xldmVsIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbG9nTGV2ZWwgb2YgZ2F0ZXdheUxvZ0xldmVsIiBbdmFsdWVdPSJsb2dMZXZlbCI+e3sgbG9nTGV2ZWwgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSAhPT0gY29ubmVjdG9yVHlwZS5HUlBDICYmIGNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSAhPT0gY29ubmVjdG9yVHlwZS5DVVNUT00iXG4gICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBmaXhlZC10aXRsZS13aWR0aCIgZm9ybUNvbnRyb2xOYW1lPSJ1c2VEZWZhdWx0cyI+XG4gICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmZpbGwtY29ubmVjdG9yLWRlZmF1bHRzLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZmlsbC1jb25uZWN0b3ItZGVmYXVsdHNcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gY29ubmVjdG9yVHlwZS5NUVRUIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgZml4ZWQtdGl0bGUtd2lkdGgiIGZvcm1Db250cm9sTmFtZT0ic2VuZERhdGFPbmx5T25DaGFuZ2UiPlxuICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5zZW5kLWNoYW5nZS1kYXRhLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc2VuZC1jaGFuZ2UtZGF0YVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5jYW5jZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAoY2xpY2spPSJhZGQoKSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09ImNvbm5lY3RvckZvcm0uaW52YWxpZCB8fCAhY29ubmVjdG9yRm9ybS5kaXJ0eSI+XG4gICAgICB7eyBcJ2FjdGlvbi5hZGRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC5hZGQtY29ubmVjdG9ye21pbi13aWR0aDo0MDBweDt3aWR0aDo1MDBweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm90LlN0b3JlfSx7dHlwZTppdC5Sb3V0ZXJ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpwLGFyZ3M6W1hlXX1dfSx7dHlwZTpKZS5NYXREaWFsb2dSZWZ9LHt0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTp2YX0se3R5cGU6WC5SZXNvdXJjZXNTZXJ2aWNlfV19KTtjbGFzcyBub3tjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy52YWx1ZVR5cGVLZXlzPU9iamVjdC52YWx1ZXMoR24pLHRoaXMudmFsdWVUeXBlcz1Wbix0aGlzLk1hcHBpbmdWYWx1ZVR5cGU9R24sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5wcm9wYWdhdGVDaGFuZ2U9ZT0+e319bmdPbkluaXQoKXt0aGlzLnZhbHVlTGlzdEZvcm1BcnJheT10aGlzLmZiLmFycmF5KFtdKSx0aGlzLnZhbHVlTGlzdEZvcm1BcnJheS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy51cGRhdGVWaWV3KGUpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfXRyYWNrQnlLZXkoZSx0KXtyZXR1cm4gdH1hZGRLZXkoKXtjb25zdCBlPXRoaXMuZmIuZ3JvdXAoe3R5cGU6W0duLlNUUklOR10sc3RyaW5nOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxpbnRlZ2VyOlt7dmFsdWU6MCxkaXNhYmxlZDohMH0sW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oTHQpXV0sZG91YmxlOlt7dmFsdWU6MCxkaXNhYmxlZDohMH0sW3VlLnJlcXVpcmVkXV0sYm9vbGVhbjpbe3ZhbHVlOiExLGRpc2FibGVkOiEwfSxbdWUucmVxdWlyZWRdXX0pO3RoaXMub2JzZXJ2ZVR5cGVDaGFuZ2UoZSksdGhpcy52YWx1ZUxpc3RGb3JtQXJyYXkucHVzaChlKX1vYnNlcnZlVHlwZUNoYW5nZShlKXtlLmdldCgidHlwZSIpLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHQ9PntlLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLGUuZ2V0KCJ0eXBlIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSxlLmdldCh0KS5lbmFibGUoe2VtaXRFdmVudDohMX0pfSkpfWRlbGV0ZUtleShlLHQpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy52YWx1ZUxpc3RGb3JtQXJyYXkucmVtb3ZlQXQodCksdGhpcy52YWx1ZUxpc3RGb3JtQXJyYXkubWFya0FzRGlydHkoKX12YWx1ZVRpdGxlKGUpe3JldHVybiBpZShlKT8ib2JqZWN0Ij09dHlwZW9mIGU/SlNPTi5zdHJpbmdpZnkoZSk6ZToiIn1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMucHJvcGFnYXRlQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7fXdyaXRlVmFsdWUoZSl7Zm9yKGNvbnN0IHQgb2YgZSl7Y29uc3QgZT17dHlwZTpbdC50eXBlXSxzdHJpbmc6W3t2YWx1ZToiIixkaXNhYmxlZDohMH0sW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0saW50ZWdlcjpbe3ZhbHVlOjAsZGlzYWJsZWQ6ITB9LFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKEx0KV1dLGRvdWJsZTpbe3ZhbHVlOjAsZGlzYWJsZWQ6ITB9LFt1ZS5yZXF1aXJlZF1dLGJvb2xlYW46W3t2YWx1ZTohMSxkaXNhYmxlZDohMH0sW3VlLnJlcXVpcmVkXV19O2VbdC50eXBlXVswXT17dmFsdWU6dC52YWx1ZSxkaXNhYmxlZDohMX07Y29uc3Qgbj10aGlzLmZiLmdyb3VwKGUpO3RoaXMub2JzZXJ2ZVR5cGVDaGFuZ2UobiksdGhpcy52YWx1ZUxpc3RGb3JtQXJyYXkucHVzaChuKX19dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy52YWx1ZUxpc3RGb3JtQXJyYXkudmFsaWQ/bnVsbDp7dmFsdWVMaXN0Rm9ybTp7dmFsaWQ6ITF9fX11cGRhdGVWaWV3KGUpe3RoaXMucHJvcGFnYXRlQ2hhbmdlKGUubWFwKCgoe3R5cGU6ZSwuLi50fSk9Pih7dHlwZTplLHZhbHVlOnRbZV19KSkpKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOm5vLGRlcHM6W3t0b2tlbjptZS5VbnR5cGVkRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOm5vLHNlbGVjdG9yOiJ0Yi10eXBlLXZhbHVlLXBhbmVsIixwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5ubykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+bm8pKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBrZXktcGFuZWwiICpuZ0lmPSJ2YWx1ZUxpc3RGb3JtQXJyYXkuY29udHJvbHMubGVuZ3RoOyBlbHNlIG5vS2V5cyI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1mbGV4IG5vLWZsZXggcm93IGNlbnRlciBmaWxsLXdpZHRoIlxuICAgICAgICAgKm5nRm9yPSJsZXQga2V5Q29udHJvbCBvZiB2YWx1ZUxpc3RGb3JtQXJyYXkuY29udHJvbHM7IHRyYWNrQnk6IHRyYWNrQnlLZXk7IGxldCAkaW5kZXggPSBpbmRleDsgbGV0IGxhc3QgPSBsYXN0OyI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQgdGItZmxleCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09ImtleUNvbnRyb2wiPlxuICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ibGFzdCI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZS1jb250YWluZXIiIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyB2YWx1ZVRpdGxlKGtleUNvbnRyb2wuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkudmFsdWUpIH19PC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudHlwZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGZpbGwtd2lkdGgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0xOCIgW3N2Z0ljb25dPSJ2YWx1ZVR5cGVzLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpPy5pY29uIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8ubmFtZSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdmFsdWVUeXBlIG9mIHZhbHVlVHlwZUtleXMiIFt2YWx1ZV09InZhbHVlVHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0idGItbWF0LTIwIiBzdmdJY29uPSJ7eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLmljb24gfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUiPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCAqbmdTd2l0Y2hDYXNlPSJNYXBwaW5nVmFsdWVUeXBlLlNUUklORyIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJzdHJpbmciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuSU5URUdFUiIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJpbnRlZ2VyIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuRE9VQkxFIiBtYXRJbnB1dCByZXF1aXJlZCBmb3JtQ29udHJvbE5hbWU9ImRvdWJsZSIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuQk9PTEVBTiIgZm9ybUNvbnRyb2xOYW1lPSJib29sZWFuIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09InRydWUiPnRydWU8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPSJmYWxzZSI+ZmFsc2U8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIGtleUNvbnRyb2wuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJkZWxldGVLZXkoJGV2ZW50LCAkaW5kZXgpIlxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IlwnZ2F0ZXdheS5kZWxldGUtdmFsdWVcJyB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2PlxuICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9InByaW1hcnkiIChjbGljayk9ImFkZEtleSgpIj5cbiAgICAgIHt7IFwnZ2F0ZXdheS5hZGQtdmFsdWVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNub0tleXM+XG4gIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIGtleS1wYW5lbCI+XG4gICAgPHNwYW4gY2xhc3M9InRiLXByb21wdCIgdHJhbnNsYXRlPnt7IFwnZ2F0ZXdheS5uby12YWx1ZVwnIH19PC9zcGFuPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnRpdGxlLWNvbnRhaW5lcnttYXgtd2lkdGg6MTF2d306aG9zdCAua2V5LXBhbmVse2hlaWdodDoyNTBweDtvdmVyZmxvdzphdXRvfTpob3N0IC50Yi1mb3JtLXBhbmVsIC5tYXQtbWRjLWljb24tYnV0dG9ue3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHg7cGFkZGluZzoxNnB4O2NvbG9yOiMwMDAwMDA4YX06aG9zdCAuc2VlLWV4YW1wbGV7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDttYXJnaW46NHB4fTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaCxzZWxlY3RvcjoiW25nU3dpdGNoXSIsaW5wdXRzOlsibmdTd2l0Y2giXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoQ2FzZSxzZWxlY3RvcjoiW25nU3dpdGNoQ2FzZV0iLGlucHV0czpbIm5nU3dpdGNoQ2FzZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOndlLk1hdFNlbGVjdFRyaWdnZXIsc2VsZWN0b3I6Im1hdC1zZWxlY3QtdHJpZ2dlciJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsIixpbnB1dHM6WyJoaWRlVG9nZ2xlIiwidG9nZ2xlUG9zaXRpb24iXSxvdXRwdXRzOlsiYWZ0ZXJFeHBhbmQiLCJhZnRlckNvbGxhcHNlIl0sZXhwb3J0QXM6WyJtYXRFeHBhbnNpb25QYW5lbCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsSGVhZGVyLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciIsaW5wdXRzOlsiZXhwYW5kZWRIZWlnaHQiLCJjb2xsYXBzZWRIZWlnaHQiLCJ0YWJJbmRleCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsVGl0bGUsc2VsZWN0b3I6Im1hdC1wYW5lbC10aXRsZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxDb250ZW50LHNlbGVjdG9yOiJuZy10ZW1wbGF0ZVttYXRFeHBhbnNpb25QYW5lbENvbnRlbnRdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OdW1iZXJWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVtuZ01vZGVsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLlJlcXVpcmVkVmFsaWRhdG9yLHNlbGVjdG9yOiI6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sTmFtZV0sOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbF0sOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtuZ01vZGVsXSIsaW5wdXRzOlsicmVxdWlyZWQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WWUuVHJ1bmNhdGVXaXRoVG9vbHRpcERpcmVjdGl2ZSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XX0pfX1lKCJUeXBlVmFsdWVQYW5lbENvbXBvbmVudCIsbm8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6bm8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLXR5cGUtdmFsdWUtcGFuZWwiLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9Pm5vKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5ubykpLG11bHRpOiEwfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBrZXktcGFuZWwiICpuZ0lmPSJ2YWx1ZUxpc3RGb3JtQXJyYXkuY29udHJvbHMubGVuZ3RoOyBlbHNlIG5vS2V5cyI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1mbGV4IG5vLWZsZXggcm93IGNlbnRlciBmaWxsLXdpZHRoIlxuICAgICAgICAgKm5nRm9yPSJsZXQga2V5Q29udHJvbCBvZiB2YWx1ZUxpc3RGb3JtQXJyYXkuY29udHJvbHM7IHRyYWNrQnk6IHRyYWNrQnlLZXk7IGxldCAkaW5kZXggPSBpbmRleDsgbGV0IGxhc3QgPSBsYXN0OyI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQgdGItZmxleCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09ImtleUNvbnRyb2wiPlxuICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ibGFzdCI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZS1jb250YWluZXIiIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyB2YWx1ZVRpdGxlKGtleUNvbnRyb2wuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkudmFsdWUpIH19PC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudHlwZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGZpbGwtd2lkdGgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0xOCIgW3N2Z0ljb25dPSJ2YWx1ZVR5cGVzLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpPy5pY29uIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8ubmFtZSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdmFsdWVUeXBlIG9mIHZhbHVlVHlwZUtleXMiIFt2YWx1ZV09InZhbHVlVHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0idGItbWF0LTIwIiBzdmdJY29uPSJ7eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLmljb24gfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUiPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCAqbmdTd2l0Y2hDYXNlPSJNYXBwaW5nVmFsdWVUeXBlLlNUUklORyIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJzdHJpbmciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuSU5URUdFUiIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJpbnRlZ2VyIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuRE9VQkxFIiBtYXRJbnB1dCByZXF1aXJlZCBmb3JtQ29udHJvbE5hbWU9ImRvdWJsZSIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuQk9PTEVBTiIgZm9ybUNvbnRyb2xOYW1lPSJib29sZWFuIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09InRydWUiPnRydWU8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPSJmYWxzZSI+ZmFsc2U8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIGtleUNvbnRyb2wuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJkZWxldGVLZXkoJGV2ZW50LCAkaW5kZXgpIlxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IlwnZ2F0ZXdheS5kZWxldGUtdmFsdWVcJyB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2PlxuICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9InByaW1hcnkiIChjbGljayk9ImFkZEtleSgpIj5cbiAgICAgIHt7IFwnZ2F0ZXdheS5hZGQtdmFsdWVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNub0tleXM+XG4gIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIGtleS1wYW5lbCI+XG4gICAgPHNwYW4gY2xhc3M9InRiLXByb21wdCIgdHJhbnNsYXRlPnt7IFwnZ2F0ZXdheS5uby12YWx1ZVwnIH19PC9zcGFuPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnRpdGxlLWNvbnRhaW5lcnttYXgtd2lkdGg6MTF2d306aG9zdCAua2V5LXBhbmVse2hlaWdodDoyNTBweDtvdmVyZmxvdzphdXRvfTpob3N0IC50Yi1mb3JtLXBhbmVsIC5tYXQtbWRjLWljb24tYnV0dG9ue3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHg7cGFkZGluZzoxNnB4O2NvbG9yOiMwMDAwMDA4YX06aG9zdCAuc2VlLWV4YW1wbGV7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDttYXJnaW46NHB4fTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLlVudHlwZWRGb3JtQnVpbGRlcn1dfSk7Y2xhc3MgYW8gZXh0ZW5kcyBPe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIodCksdGhpcy5mYj1lLHRoaXMuc3RvcmU9dCx0aGlzLnZhbHVlVHlwZUtleXM9T2JqZWN0LnZhbHVlcyhHbiksdGhpcy52YWx1ZVR5cGVFbnVtPUduLHRoaXMudmFsdWVUeXBlcz1Wbix0aGlzLnJhd0RhdGE9ITEsdGhpcy5rZXlzRGF0YUFwcGxpZWQ9bmV3IGksdGhpcy5NYXBwaW5nS2V5c1R5cGU9Tm4sdGhpcy5lcnJvclRleHQ9IiJ9bmdPbkluaXQoKXt0aGlzLmtleXNMaXN0Rm9ybUFycmF5PXRoaXMucHJlcGFyZUtleXNGb3JtQXJyYXkodGhpcy5rZXlzKX10cmFja0J5S2V5KGUsdCl7cmV0dXJuIHR9YWRkS2V5KCl7bGV0IGU7aWYoZT10aGlzLmtleXNUeXBlPT09Tm4uUlBDX01FVEhPRFM/dGhpcy5mYi5ncm91cCh7bWV0aG9kOlsiIixbdWUucmVxdWlyZWRdXSxhcmd1bWVudHM6W1tdLFtdXX0pOnRoaXMuZmIuZ3JvdXAoe2tleTpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sdmFsdWU6WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dfSksdGhpcy5rZXlzVHlwZSE9PU5uLkNVU1RPTSYmdGhpcy5rZXlzVHlwZSE9PU5uLlJQQ19NRVRIT0RTKXtjb25zdCB0PXRoaXMucmF3RGF0YT8icmF3Ijp0aGlzLnZhbHVlVHlwZUtleXNbMF07ZS5hZGRDb250cm9sKCJ0eXBlIix0aGlzLmZiLmNvbnRyb2wodCkpfXRoaXMua2V5c0xpc3RGb3JtQXJyYXkucHVzaChlKX1kZWxldGVLZXkoZSx0KXtlJiZlLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMua2V5c0xpc3RGb3JtQXJyYXkucmVtb3ZlQXQodCksdGhpcy5rZXlzTGlzdEZvcm1BcnJheS5tYXJrQXNEaXJ0eSgpfWNhbmNlbCgpe3RoaXMucG9wb3Zlcj8uaGlkZSgpfWFwcGx5S2V5c0RhdGEoKXtsZXQgZT10aGlzLmtleXNMaXN0Rm9ybUFycmF5LnZhbHVlO2lmKHRoaXMua2V5c1R5cGU9PT1Obi5DVVNUT00pe2U9e307Zm9yKGxldCB0IG9mIHRoaXMua2V5c0xpc3RGb3JtQXJyYXkudmFsdWUpZVt0LmtleV09dC52YWx1ZX10aGlzLmtleXNEYXRhQXBwbGllZC5lbWl0KGUpfXByZXBhcmVLZXlzRm9ybUFycmF5KGUpe2NvbnN0IHQ9W107cmV0dXJuIGUmJih0aGlzLmtleXNUeXBlPT09Tm4uQ1VTVE9NJiYoZT1PYmplY3Qua2V5cyhlKS5tYXAoKHQ9Pih7a2V5OnQsdmFsdWU6ZVt0XSx0eXBlOiIifSkpKSksZS5mb3JFYWNoKChlPT57bGV0IG47aWYodGhpcy5rZXlzVHlwZT09PU5uLlJQQ19NRVRIT0RTKW49dGhpcy5mYi5ncm91cCh7bWV0aG9kOltlLm1ldGhvZCxbdWUucmVxdWlyZWRdXSxhcmd1bWVudHM6W1suLi5lLmFyZ3VtZW50c10sW11dfSk7ZWxzZXtjb25zdHtrZXk6dCx2YWx1ZTphLHR5cGU6b309ZTtuPXRoaXMuZmIuZ3JvdXAoe2tleTpbdCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx2YWx1ZTpbYSxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx0eXBlOltvLFtdXX0pfXQucHVzaChuKX0pKSksdGhpcy5mYi5hcnJheSh0KX12YWx1ZVRpdGxlKGUpe2NvbnN0IHQ9ZS5nZXQodGhpcy5rZXlzVHlwZT09PU5uLlJQQ19NRVRIT0RTPyJtZXRob2QiOiJ2YWx1ZSIpLnZhbHVlO3JldHVybiBpZSh0KT8ib2JqZWN0Ij09dHlwZW9mIHQ/SlNPTi5zdHJpbmdpZnkodCk6dDoiIn1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmFvLGRlcHM6W3t0b2tlbjptZS5VbnR5cGVkRm9ybUJ1aWxkZXJ9LHt0b2tlbjpvdC5TdG9yZX1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6YW8sc2VsZWN0b3I6InRiLW1hcHBpbmctZGF0YS1rZXlzLXBhbmVsIixpbnB1dHM6e3BhbmVsVGl0bGU6InBhbmVsVGl0bGUiLGFkZEtleVRpdGxlOiJhZGRLZXlUaXRsZSIsZGVsZXRlS2V5VGl0bGU6ImRlbGV0ZUtleVRpdGxlIixub0tleXNUZXh0OiJub0tleXNUZXh0IixrZXlzOiJrZXlzIixrZXlzVHlwZToia2V5c1R5cGUiLHZhbHVlVHlwZUtleXM6InZhbHVlVHlwZUtleXMiLHZhbHVlVHlwZUVudW06InZhbHVlVHlwZUVudW0iLHZhbHVlVHlwZXM6InZhbHVlVHlwZXMiLHJhd0RhdGE6InJhd0RhdGEiLHBvcG92ZXI6InBvcG92ZXIifSxvdXRwdXRzOntrZXlzRGF0YUFwcGxpZWQ6ImtleXNEYXRhQXBwbGllZCJ9LHByb3ZpZGVyczpbXSx1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLW1hcHBpbmcta2V5cy1wYW5lbCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPnt7IHBhbmVsVGl0bGUgIHwgdHJhbnNsYXRlIH19e3tcJyAoXCcgKyBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGggKyBcJylcJ319PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBrZXktcGFuZWwiICpuZ0lmPSJrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGg7IGVsc2Ugbm9LZXlzIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItZmxleCBuby1mbGV4IHJvdyBjZW50ZXIgZmlsbC13aWR0aCJcbiAgICAgICAgICAgKm5nRm9yPSJsZXQga2V5Q29udHJvbCBvZiBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9sczsgdHJhY2tCeTogdHJhY2tCeUtleTsgbGV0ICRpbmRleCA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3Q7Ij5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLWZsZXgiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09ImtleUNvbnRyb2wiPlxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJsYXN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9ImtleXNUeXBlICE9PSBNYXBwaW5nS2V5c1R5cGUuUlBDX01FVEhPRFMiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCBjbGFzcz0idGl0bGUtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBrZXlDb250cm9sLmdldChcJ2tleVwnKS52YWx1ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCctXCcgfX1cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgY2xhc3M9InRpdGxlLWNvbnRhaW5lciI+e3sgdmFsdWVUaXRsZShrZXlDb250cm9sKSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0RXhwYW5zaW9uUGFuZWxDb250ZW50PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciXG4gICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5c1R5cGUgIT09IE1hcHBpbmdLZXlzVHlwZS5DVVNUT00gJiYga2V5c1R5cGUgIT09IE1hcHBpbmdLZXlzVHlwZS5SUENfTUVUSE9EUyI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5wbGF0Zm9ybS1zaWRlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5KU09OUGF0aC1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmtleVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImtleSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmtleS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ2tleVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCdrZXlcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LmNvbm5lY3Rvci1zaWRlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93Ij5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudHlwZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAgZmlsbC13aWR0aCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IG5hbWU9InZhbHVlVHlwZSIgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QtdHJpZ2dlciAqbmdJZj0iIXJhd0RhdGEiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj0idmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8uaWNvbiIgY2xhc3M9InRiLW1hdC0xOCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3ZnSWNvbl09InZhbHVlVHlwZXMuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSk/Lmljb24iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPSIhcmF3RGF0YTsgZWxzZSByYXdUZXh0Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgKHZhbHVlVHlwZXMuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSk/Lm5hbWUgfHwgdmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcmF3VGV4dD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgXCdnYXRld2F5LnJhd1wnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9IiFyYXdEYXRhOyBlbHNlIHJhd09wdGlvbiI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdmFsdWVUeXBlIG9mIHZhbHVlVHlwZUtleXMiIFt2YWx1ZV09InZhbHVlVHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9InZhbHVlVHlwZXMuZ2V0KHZhbHVlVHlwZSkuaWNvbiIgY2xhc3M9InRiLW1hdC0yMCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdmdJY29uPSJ7eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLmljb24gfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLm5hbWUgfHwgdmFsdWVUeXBlcy5nZXQodmFsdWVUeXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcmF3T3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09IlwncmF3XCciPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgXCdnYXRld2F5LnJhd1wnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LkpTT05QYXRoLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudmFsdWVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0idmFsdWUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleUNvbnRyb2wuZ2V0KFwndmFsdWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0idGhpcy5rZXlzVHlwZSB8IGdldEdhdGV3YXlIZWxwTGluayA6IGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSA6IHZhbHVlVHlwZUtleXMiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0idGhpcy5rZXlzVHlwZSB8IGdldEdhdGV3YXlIZWxwTGluayA6IGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSA6IHZhbHVlVHlwZUtleXMiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciICpuZ0lmPSJrZXlzVHlwZSA9PT0gTWFwcGluZ0tleXNUeXBlLkNVU1RPTSI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmtleTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJrZXkiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkua2V5LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ2tleVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIGtleUNvbnRyb2wuZ2V0KFwna2V5XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS52YWx1ZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4IGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyIgY2xhc3M9InRiLWlubGluZS1maWVsZCBmbGV4IHRiLXN1ZmZpeC1hYnNvbHV0ZSI+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0idmFsdWUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnZhbHVlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIGtleUNvbnRyb2wuZ2V0KFwndmFsdWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyIgKm5nSWY9ImtleXNUeXBlID09PSBNYXBwaW5nS2V5c1R5cGUuUlBDX01FVEhPRFMiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1ldGhvZC1uYW1lXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXRob2QtbmFtZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkubWV0aG9kLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ21ldGhvZFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIGtleUNvbnRyb2wuZ2V0KFwnbWV0aG9kXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCBjbGFzcz0idGItc2V0dGluZ3MiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciBmeExheW91dD0icm93IHdyYXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUtY29udGFpbmVyIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLmFyZ3VtZW50c1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuYXJndW1lbnRzXCcgfCB0cmFuc2xhdGUgfX17e1wnIChcJyArIGtleUNvbnRyb2wuZ2V0KFwnYXJndW1lbnRzXCcpLnZhbHVlPy5sZW5ndGggKyBcJylcJ319XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0RXhwYW5zaW9uUGFuZWxDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRiLXR5cGUtdmFsdWUtcGFuZWwgZm9ybUNvbnRyb2xOYW1lPSJhcmd1bWVudHMiPjwvdGItdHlwZS12YWx1ZS1wYW5lbD5cbiAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9ImRlbGV0ZUtleSgkZXZlbnQsICRpbmRleCkiXG4gICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJkZWxldGVLZXlUaXRsZSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSIgKGNsaWNrKT0iYWRkS2V5KCkiPlxuICAgICAgICB7eyBhZGRLZXlUaXRsZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI25vS2V5cz5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWZsZXggY2VudGVyIGFsaWduLWNlbnRlciBrZXktcGFuZWwiPlxuICAgICAgPHNwYW4gY2xhc3M9InRiLXByb21wdCIgdHJhbnNsYXRlPnt7IG5vS2V5c1RleHQgfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9InRiLWZsZXggZmxleC1lbmQiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5jYW5jZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgKGNsaWNrKT0iYXBwbHlLZXlzRGF0YSgpIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0ia2V5c0xpc3RGb3JtQXJyYXkuaW52YWxpZCB8fCAha2V5c0xpc3RGb3JtQXJyYXkuZGlydHkiPlxuICAgICAge3sgXCdhY3Rpb24uYXBwbHlcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC50Yi1tYXBwaW5nLWtleXMtcGFuZWx7d2lkdGg6Nzd2dzttYXgtd2lkdGg6NzAwcHh9Omhvc3QgLnRiLW1hcHBpbmcta2V5cy1wYW5lbCAudGl0bGUtY29udGFpbmVye21heC13aWR0aDoxMXZ3O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH06aG9zdCAudGItbWFwcGluZy1rZXlzLXBhbmVsIC5rZXktcGFuZWx7aGVpZ2h0OjUwMHB4O292ZXJmbG93OmF1dG99Omhvc3QgLnRiLW1hcHBpbmcta2V5cy1wYW5lbCB0Yi12YWx1ZS1pbnB1dHt3aWR0aDoxMDAlfTpob3N0IC50Yi1tYXBwaW5nLWtleXMtcGFuZWwgLnRiLWZvcm0tcGFuZWwgLm1hdC1tZGMtaWNvbi1idXR0b257d2lkdGg6NTZweDtoZWlnaHQ6NTZweDtwYWRkaW5nOjE2cHg7Y29sb3I6IzAwMDAwMDhhfTpob3N0IC50Yi1tYXBwaW5nLWtleXMtcGFuZWwgLnNlZS1leGFtcGxle3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7bWFyZ2luOjRweH06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtZm9ybS1maWVsZC1pY29uLXN1ZmZpeHtkaXNwbGF5OmZsZXh9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmd0LkhlbHBQb3B1cENvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhlbHAtcG9wdXBdLCBbdGItaGVscC1wb3B1cC1jb250ZW50XSIsaW5wdXRzOlsidGItaGVscC1wb3B1cCIsInRiLWhlbHAtcG9wdXAtY29udGVudCIsInRyaWdnZXItdGV4dCIsInRyaWdnZXItc3R5bGUiLCJ0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudCIsInRiLWhlbHAtcG9wdXAtc3R5bGUiLCJoaW50TW9kZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOndlLk1hdFNlbGVjdFRyaWdnZXIsc2VsZWN0b3I6Im1hdC1zZWxlY3QtdHJpZ2dlciJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsIixpbnB1dHM6WyJoaWRlVG9nZ2xlIiwidG9nZ2xlUG9zaXRpb24iXSxvdXRwdXRzOlsiYWZ0ZXJFeHBhbmQiLCJhZnRlckNvbGxhcHNlIl0sZXhwb3J0QXM6WyJtYXRFeHBhbnNpb25QYW5lbCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsSGVhZGVyLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciIsaW5wdXRzOlsiZXhwYW5kZWRIZWlnaHQiLCJjb2xsYXBzZWRIZWlnaHQiLCJ0YWJJbmRleCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsVGl0bGUsc2VsZWN0b3I6Im1hdC1wYW5lbC10aXRsZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxDb250ZW50LHNlbGVjdG9yOiJuZy10ZW1wbGF0ZVttYXRFeHBhbnNpb25QYW5lbENvbnRlbnRdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlkuVHJhbnNsYXRlRGlyZWN0aXZlLHNlbGVjdG9yOiJbdHJhbnNsYXRlXSxbbmd4LXRyYW5zbGF0ZV0iLGlucHV0czpbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZVBhcmFtcyJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnV0LkhpbnRUb29sdGlwSWNvbkNvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhpbnQtdG9vbHRpcC1pY29uXSIsaW5wdXRzOlsidGItaGludC10b29sdGlwLWljb24iLCJ0b29sdGlwUG9zaXRpb24iLCJoaW50SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlNhLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOm5vLHNlbGVjdG9yOiJ0Yi10eXBlLXZhbHVlLXBhbmVsIn0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJwaXBlIix0eXBlOlRhLG5hbWU6ImdldEdhdGV3YXlIZWxwTGluayJ9XX0pfX1lKCJNYXBwaW5nRGF0YUtleXNQYW5lbENvbXBvbmVudCIsYW8pLEhlKFtOKCldLGFvLnByb3RvdHlwZSwicmF3RGF0YSIsdm9pZCAwKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmFvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1tYXBwaW5nLWRhdGEta2V5cy1wYW5lbCIscHJvdmlkZXJzOltdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItbWFwcGluZy1rZXlzLXBhbmVsIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSI+e3sgcGFuZWxUaXRsZSAgfCB0cmFuc2xhdGUgfX17e1wnIChcJyArIGtleXNMaXN0Rm9ybUFycmF5LmNvbnRyb2xzLmxlbmd0aCArIFwnKVwnfX08L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIGtleS1wYW5lbCIgKm5nSWY9ImtleXNMaXN0Rm9ybUFycmF5LmNvbnRyb2xzLmxlbmd0aDsgZWxzZSBub0tleXMiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1mbGV4IG5vLWZsZXggcm93IGNlbnRlciBmaWxsLXdpZHRoIlxuICAgICAgICAgICAqbmdGb3I9ImxldCBrZXlDb250cm9sIG9mIGtleXNMaXN0Rm9ybUFycmF5LmNvbnRyb2xzOyB0cmFja0J5OiB0cmFja0J5S2V5OyBsZXQgJGluZGV4ID0gaW5kZXg7IGxldCBsYXN0ID0gbGFzdDsiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQgdGItZmxleCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0ia2V5Q29udHJvbCI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCBjbGFzcz0idGItc2V0dGluZ3MiIFtleHBhbmRlZF09Imxhc3QiPlxuICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0ia2V5c1R5cGUgIT09IE1hcHBpbmdLZXlzVHlwZS5SUENfTUVUSE9EUyI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwIGNsYXNzPSJ0aXRsZS1jb250YWluZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IGtleUNvbnRyb2wuZ2V0KFwna2V5XCcpLnZhbHVlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB7eyBcJy1cJyB9fVxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCBjbGFzcz0idGl0bGUtY29udGFpbmVyIj57eyB2YWx1ZVRpdGxlKGtleUNvbnRyb2wpIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyJcbiAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlzVHlwZSAhPT0gTWFwcGluZ0tleXNUeXBlLkNVU1RPTSAmJiBrZXlzVHlwZSAhPT0gTWFwcGluZ0tleXNUeXBlLlJQQ19NRVRIT0RTIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LnBsYXRmb3JtLXNpZGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LkpTT05QYXRoLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkua2V5XCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ia2V5IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkua2V5LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImtleUNvbnRyb2wuZ2V0KFwna2V5XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlDb250cm9sLmdldChcJ2tleVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9yLXNpZGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS50eXBlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBmaWxsLXdpZHRoIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgbmFtZT0idmFsdWVUeXBlIiBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdC10cmlnZ2VyICpuZ0lmPSIhcmF3RGF0YSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBhbGlnbi1jZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPSJ2YWx1ZVR5cGVzLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpPy5pY29uIiBjbGFzcz0idGItbWF0LTE4IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdmdJY29uXT0idmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8uaWNvbiI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9IiFyYXdEYXRhOyBlbHNlIHJhd1RleHQiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAodmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8ubmFtZSB8fCB2YWx1ZVR5cGVzLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyYXdUZXh0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBcJ2dhdGV3YXkucmF3XCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3QtdHJpZ2dlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iIXJhd0RhdGE7IGVsc2UgcmF3T3B0aW9uIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB2YWx1ZVR5cGUgb2YgdmFsdWVUeXBlS2V5cyIgW3ZhbHVlXT0idmFsdWVUeXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj0idmFsdWVUeXBlcy5nZXQodmFsdWVUeXBlKS5pY29uIiBjbGFzcz0idGItbWF0LTIwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2Z0ljb249Int7IHZhbHVlVHlwZXMuZ2V0KHZhbHVlVHlwZSkuaWNvbiB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHZhbHVlVHlwZXMuZ2V0KHZhbHVlVHlwZSkubmFtZSB8fCB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyYXdPcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT0iXCdyYXdcJyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBcJ2dhdGV3YXkucmF3XCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuSlNPTlBhdGgtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS52YWx1ZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnZhbHVlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ3ZhbHVlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJ0aGlzLmtleXNUeXBlIHwgZ2V0R2F0ZXdheUhlbHBMaW5rIDoga2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlIDogdmFsdWVUeXBlS2V5cyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJ0aGlzLmtleXNUeXBlIHwgZ2V0R2F0ZXdheUhlbHBMaW5rIDoga2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlIDogdmFsdWVUeXBlS2V5cyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyIgKm5nSWY9ImtleXNUeXBlID09PSBNYXBwaW5nS2V5c1R5cGUuQ1VTVE9NIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkua2V5PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImtleSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5rZXktcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImtleUNvbnRyb2wuZ2V0KFwna2V5XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYga2V5Q29udHJvbC5nZXQoXCdrZXlcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnZhbHVlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudmFsdWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ3ZhbHVlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIiAqbmdJZj0ia2V5c1R5cGUgPT09IE1hcHBpbmdLZXlzVHlwZS5SUENfTUVUSE9EUyI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubWV0aG9kLW5hbWVcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1ldGhvZC1uYW1lXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5tZXRob2QtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImtleUNvbnRyb2wuZ2V0KFwnbWV0aG9kXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYga2V5Q29udHJvbC5nZXQoXCdtZXRob2RcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQgdGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZS1jb250YWluZXIiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMuYXJndW1lbnRzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5hcmd1bWVudHNcJyB8IHRyYW5zbGF0ZSB9fXt7XCcgKFwnICsga2V5Q29udHJvbC5nZXQoXCdhcmd1bWVudHNcJykudmFsdWU/Lmxlbmd0aCArIFwnKVwnfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGItdHlwZS12YWx1ZS1wYW5lbCBmb3JtQ29udHJvbE5hbWU9ImFyZ3VtZW50cyI+PC90Yi10eXBlLXZhbHVlLXBhbmVsPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlS2V5KCRldmVudCwgJGluZGV4KSJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09ImRlbGV0ZUtleVRpdGxlIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXY+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJhZGRLZXkoKSI+XG4gICAgICAgIHt7IGFkZEtleVRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjbm9LZXlzPlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIGtleS1wYW5lbCI+XG4gICAgICA8c3BhbiBjbGFzcz0idGItcHJvbXB0IiB0cmFuc2xhdGU+e3sgbm9LZXlzVGV4dCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz0idGItZmxleCBmbGV4LWVuZCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uXG4gICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIChjbGljayk9ImNhbmNlbCgpIj5cbiAgICAgIHt7IFwnYWN0aW9uLmNhbmNlbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAoY2xpY2spPSJhcHBseUtleXNEYXRhKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJrZXlzTGlzdEZvcm1BcnJheS5pbnZhbGlkIHx8ICFrZXlzTGlzdEZvcm1BcnJheS5kaXJ0eSI+XG4gICAgICB7eyBcJ2FjdGlvbi5hcHBseVwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnRiLW1hcHBpbmcta2V5cy1wYW5lbHt3aWR0aDo3N3Z3O21heC13aWR0aDo3MDBweH06aG9zdCAudGItbWFwcGluZy1rZXlzLXBhbmVsIC50aXRsZS1jb250YWluZXJ7bWF4LXdpZHRoOjExdnc7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfTpob3N0IC50Yi1tYXBwaW5nLWtleXMtcGFuZWwgLmtleS1wYW5lbHtoZWlnaHQ6NTAwcHg7b3ZlcmZsb3c6YXV0b306aG9zdCAudGItbWFwcGluZy1rZXlzLXBhbmVsIHRiLXZhbHVlLWlucHV0e3dpZHRoOjEwMCV9Omhvc3QgLnRiLW1hcHBpbmcta2V5cy1wYW5lbCAudGItZm9ybS1wYW5lbCAubWF0LW1kYy1pY29uLWJ1dHRvbnt3aWR0aDo1NnB4O2hlaWdodDo1NnB4O3BhZGRpbmc6MTZweDtjb2xvcjojMDAwMDAwOGF9Omhvc3QgLnRiLW1hcHBpbmcta2V5cy1wYW5lbCAuc2VlLWV4YW1wbGV7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDttYXJnaW46NHB4fTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLlVudHlwZWRGb3JtQnVpbGRlcn0se3R5cGU6b3QuU3RvcmV9XSxwcm9wRGVjb3JhdG9yczp7cGFuZWxUaXRsZTpbe3R5cGU6YX1dLGFkZEtleVRpdGxlOlt7dHlwZTphfV0sZGVsZXRlS2V5VGl0bGU6W3t0eXBlOmF9XSxub0tleXNUZXh0Olt7dHlwZTphfV0sa2V5czpbe3R5cGU6YX1dLGtleXNUeXBlOlt7dHlwZTphfV0sdmFsdWVUeXBlS2V5czpbe3R5cGU6YX1dLHZhbHVlVHlwZUVudW06W3t0eXBlOmF9XSx2YWx1ZVR5cGVzOlt7dHlwZTphfV0scmF3RGF0YTpbe3R5cGU6YX1dLHBvcG92ZXI6W3t0eXBlOmF9XSxrZXlzRGF0YUFwcGxpZWQ6W3t0eXBlOmx9XX19KTtjbGFzcyBvbyBleHRlbmRzIE97Z2V0IGRldmljZUluZm9UeXBlKCl7cmV0dXJuIHRoaXMuZGV2aWNlSW5mb1R5cGVWYWx1ZX1zZXQgZGV2aWNlSW5mb1R5cGUoZSl7dGhpcy5kZXZpY2VJbmZvVHlwZVZhbHVlIT09ZSYmKHRoaXMuZGV2aWNlSW5mb1R5cGVWYWx1ZT1lKX1jb25zdHJ1Y3RvcihlLHQsbixhKXtzdXBlcihlKSx0aGlzLnN0b3JlPWUsdGhpcy50cmFuc2xhdGU9dCx0aGlzLmRpYWxvZz1uLHRoaXMuZmI9YSx0aGlzLlNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXA9TG4sdGhpcy5EZXZpY2VJbmZvVHlwZT1rbix0aGlzLnVzZVNvdXJjZT0hMCx0aGlzLnJlcXVpcmVkPSExLHRoaXMuc291cmNlVHlwZXM9T2JqZWN0LnZhbHVlcyhUbiksdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5wcm9wYWdhdGVDaGFuZ2U9ZT0+e319bmdPbkluaXQoKXt0aGlzLm1hcHBpbmdGb3JtR3JvdXA9dGhpcy5mYi5ncm91cCh7ZGV2aWNlTmFtZUV4cHJlc3Npb246WyIiLHRoaXMucmVxdWlyZWQ/W3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXTpbdWUucGF0dGVybihrdCldXX0pLHRoaXMudXNlU291cmNlJiZ0aGlzLm1hcHBpbmdGb3JtR3JvdXAuYWRkQ29udHJvbCgiZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2UiLHRoaXMuZmIuY29udHJvbCh0aGlzLnNvdXJjZVR5cGVzWzBdLFtdKSksdGhpcy5kZXZpY2VJbmZvVHlwZT09PWtuLkZVTEwmJih0aGlzLnVzZVNvdXJjZSYmdGhpcy5tYXBwaW5nRm9ybUdyb3VwLmFkZENvbnRyb2woImRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlIix0aGlzLmZiLmNvbnRyb2wodGhpcy5zb3VyY2VUeXBlc1swXSxbXSkpLHRoaXMubWFwcGluZ0Zvcm1Hcm91cC5hZGRDb250cm9sKCJkZXZpY2VQcm9maWxlRXhwcmVzc2lvbiIsdGhpcy5mYi5jb250cm9sKCIiLHRoaXMucmVxdWlyZWQ/W3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXTpbdWUucGF0dGVybihrdCldKSkpLHRoaXMubWFwcGluZ0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy51cGRhdGVWaWV3KGUpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpLHN1cGVyLm5nT25EZXN0cm95KCl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLnByb3BhZ2F0ZUNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe313cml0ZVZhbHVlKGUpe3RoaXMubWFwcGluZ0Zvcm1Hcm91cC5wYXRjaFZhbHVlKGUse2VtaXRFdmVudDohMX0pfXZhbGlkYXRlKCl7cmV0dXJuIHRoaXMubWFwcGluZ0Zvcm1Hcm91cC52YWxpZD9udWxsOnttYXBwaW5nRm9ybTp7dmFsaWQ6ITF9fX11cGRhdGVWaWV3KGUpe3RoaXMucHJvcGFnYXRlQ2hhbmdlKGUpfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6b28sZGVwczpbe3Rva2VuOm90LlN0b3JlfSx7dG9rZW46WS5UcmFuc2xhdGVTZXJ2aWNlfSx7dG9rZW46SmUuTWF0RGlhbG9nfSx7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOm9vLHNlbGVjdG9yOiJ0Yi1kZXZpY2UtaW5mby10YWJsZSIsaW5wdXRzOnt1c2VTb3VyY2U6InVzZVNvdXJjZSIscmVxdWlyZWQ6InJlcXVpcmVkIixzb3VyY2VUeXBlczoic291cmNlVHlwZXMiLGRldmljZUluZm9UeXBlOiJkZXZpY2VJbmZvVHlwZSJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9Pm9vKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5vbykpLG11bHRpOiEwfV0sdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG5cbjxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCIgW2Zvcm1Hcm91cF09Im1hcHBpbmdGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiBbY2xhc3MudGItcmVxdWlyZWRdPSJyZXF1aXJlZCIgdHJhbnNsYXRlPmRldmljZS5kZXZpY2U8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZSBuby1wYWRkaW5nIG5vLWdhcCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1oZWFkZXIiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1oZWFkZXItY2VsbCB0YWJsZS1uYW1lLWNvbHVtbiIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLWluZm8uZW50aXR5LWZpZWxkPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPSJ1c2VTb3VyY2UiIGNsYXNzPSJ0Yi1mb3JtLXRhYmxlLWhlYWRlci1jZWxsIHRhYmxlLWNvbHVtbiIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLWluZm8uc291cmNlPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXRhYmxlLWhlYWRlci1jZWxsIHRhYmxlLWNvbHVtbiIgdHJhbnNsYXRlPlxuICAgICAgICBnYXRld2F5LmRldmljZS1pbmZvLmV4cHJlc3Npb25cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtYm9keSBuby1nYXAiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1yb3cgdGItZm9ybS1yb3cgbm8tYm9yZGVyIHNhbWUtcGFkZGluZyB0b3Atc2FtZS1wYWRkaW5nIlxuICAgICAgICAgICBbY2xhc3MuYm90dG9tLXNhbWUtcGFkZGluZ109ImRldmljZUluZm9UeXBlICE9PSBEZXZpY2VJbmZvVHlwZS5GVUxMIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1pbmZvLm5hbWU8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAgcmF3LXZhbHVlLW9wdGlvbiIgKm5nSWY9InVzZVNvdXJjZSI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2UiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNvdXJjZVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICB7eyBTb3VyY2VUeXBlVHJhbnNsYXRpb25zTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtcm93LWNlbGwgdGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLWluZm8uZGV2aWNlLW5hbWUtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lRXhwcmVzc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlTmFtZUV4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj0iXCduYW1lLWZpZWxkXCcgfCBnZXRHYXRld2F5SGVscExpbmsgOiBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVFeHByZXNzaW9uU291cmNlXCcpLnZhbHVlIDogc291cmNlVHlwZXMiXG4gICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCduYW1lLWZpZWxkXCcgfCBnZXRHYXRld2F5SGVscExpbmsgOiBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVFeHByZXNzaW9uU291cmNlXCcpLnZhbHVlIDogc291cmNlVHlwZXMiXG4gICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1yb3cgdGItZm9ybS1yb3cgbm8tYm9yZGVyIHNhbWUtcGFkZGluZyBib3R0b20tc2FtZS1wYWRkaW5nIlxuICAgICAgICAgICAqbmdJZj0iZGV2aWNlSW5mb1R5cGUgPT09IERldmljZUluZm9UeXBlLkZVTEwiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLWluZm8ucHJvZmlsZS1uYW1lPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIHJhdy12YWx1ZS1vcHRpb24iICpuZ0lmPSJ1c2VTb3VyY2UiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBzb3VyY2VUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAge3sgU291cmNlVHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXRhYmxlLXJvdy1jZWxsIHRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZVByb2ZpbGVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1pbmZvLmRldmljZS1wcm9maWxlLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlUHJvZmlsZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZVByb2ZpbGVFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9IlwncHJvZmlsZS1uYW1lXCcgfCBnZXRHYXRld2F5SGVscExpbms6IG1hcHBpbmdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlUHJvZmlsZUV4cHJlc3Npb25Tb3VyY2VcJykudmFsdWUgOiBzb3VyY2VUeXBlcyJcbiAgICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3Byb2ZpbGUtbmFtZVwnIHwgZ2V0R2F0ZXdheUhlbHBMaW5rOiBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlXCcpLnZhbHVlIDogc291cmNlVHlwZXMiXG4gICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9ja306aG9zdCAudGItZm9ybS1yb3cuYm90dG9tLXNhbWUtcGFkZGluZ3twYWRkaW5nLWJvdHRvbToxNnB4fTpob3N0IC50Yi1mb3JtLXJvdy50b3Atc2FtZS1wYWRkaW5ne3BhZGRpbmctdG9wOjE2cHh9Omhvc3QgLnRiLWZvcm0tcm93IC5maXhlZC10aXRsZS13aWR0aHt3aWR0aDoxOSV9Omhvc3QgLnRhYmxlLWNvbHVtbnt3aWR0aDo0MCV9Omhvc3QgLnRhYmxlLW5hbWUtY29sdW1ue3dpZHRoOjIwJX06aG9zdCAucmF3LW5hbWV7d2lkdGg6MTklfTpob3N0IC5yYXctdmFsdWUtb3B0aW9ue21heC13aWR0aDo0MCV9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLWZvcm0tZmllbGQtaWNvbi1zdWZmaXh7ZGlzcGxheTpmbGV4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpndC5IZWxwUG9wdXBDb21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oZWxwLXBvcHVwXSwgW3RiLWhlbHAtcG9wdXAtY29udGVudF0iLGlucHV0czpbInRiLWhlbHAtcG9wdXAiLCJ0Yi1oZWxwLXBvcHVwLWNvbnRlbnQiLCJ0cmlnZ2VyLXRleHQiLCJ0cmlnZ2VyLXN0eWxlIiwidGItaGVscC1wb3B1cC1wbGFjZW1lbnQiLCJ0Yi1oZWxwLXBvcHVwLXN0eWxlIiwiaGludE1vZGUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRTdWZmaXgsc2VsZWN0b3I6IlttYXRTdWZmaXhdLCBbbWF0SWNvblN1ZmZpeF0sIFttYXRUZXh0U3VmZml4XSIsaW5wdXRzOlsibWF0VGV4dFN1ZmZpeCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOndlLk1hdFNlbGVjdCxzZWxlY3RvcjoibWF0LXNlbGVjdCIsaW5wdXRzOlsiYXJpYS1kZXNjcmliZWRieSIsInBhbmVsQ2xhc3MiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3IiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwibXVsdGlwbGUiLCJkaXNhYmxlT3B0aW9uQ2VudGVyaW5nIiwiY29tcGFyZVdpdGgiLCJ2YWx1ZSIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJlcnJvclN0YXRlTWF0Y2hlciIsInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLCJzb3J0Q29tcGFyYXRvciIsImlkIiwicGFuZWxXaWR0aCJdLG91dHB1dHM6WyJvcGVuZWRDaGFuZ2UiLCJvcGVuZWQiLCJjbG9zZWQiLCJzZWxlY3Rpb25DaGFuZ2UiLCJ2YWx1ZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2VsZWN0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoicGlwZSIsdHlwZTpUYSxuYW1lOiJnZXRHYXRld2F5SGVscExpbmsifV0sY2hhbmdlRGV0ZWN0aW9uOnQuQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNofSl9fWUoIkRldmljZUluZm9UYWJsZUNvbXBvbmVudCIsb28pLEhlKFtOKCldLG9vLnByb3RvdHlwZSwidXNlU291cmNlIix2b2lkIDApLEhlKFtOKCldLG9vLnByb3RvdHlwZSwicmVxdWlyZWQiLHZvaWQgMCksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpvbyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItZGV2aWNlLWluZm8tdGFibGUiLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5vbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+b28pKSxtdWx0aTohMH1dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuXG48ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiIFtmb3JtR3JvdXBdPSJtYXBwaW5nRm9ybUdyb3VwIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgW2NsYXNzLnRiLXJlcXVpcmVkXT0icmVxdWlyZWQiIHRyYW5zbGF0ZT5kZXZpY2UuZGV2aWNlPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUgbm8tcGFkZGluZyBuby1nYXAiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtaGVhZGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtaGVhZGVyLWNlbGwgdGFibGUtbmFtZS1jb2x1bW4iIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1pbmZvLmVudGl0eS1maWVsZDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj0idXNlU291cmNlIiBjbGFzcz0idGItZm9ybS10YWJsZS1oZWFkZXItY2VsbCB0YWJsZS1jb2x1bW4iIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1pbmZvLnNvdXJjZTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1oZWFkZXItY2VsbCB0YWJsZS1jb2x1bW4iIHRyYW5zbGF0ZT5cbiAgICAgICAgZ2F0ZXdheS5kZXZpY2UtaW5mby5leHByZXNzaW9uXG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXRhYmxlLWJvZHkgbm8tZ2FwIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtcm93IHRiLWZvcm0tcm93IG5vLWJvcmRlciBzYW1lLXBhZGRpbmcgdG9wLXNhbWUtcGFkZGluZyJcbiAgICAgICAgICAgW2NsYXNzLmJvdHRvbS1zYW1lLXBhZGRpbmddPSJkZXZpY2VJbmZvVHlwZSAhPT0gRGV2aWNlSW5mb1R5cGUuRlVMTCI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5kZXZpY2UtaW5mby5uYW1lPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIHJhdy12YWx1ZS1vcHRpb24iICpuZ0lmPSJ1c2VTb3VyY2UiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVFeHByZXNzaW9uU291cmNlIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBzb3VyY2VUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAge3sgU291cmNlVHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXRhYmxlLXJvdy1jZWxsIHRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1pbmZvLmRldmljZS1uYW1lLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlTmFtZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9IlwnbmFtZS1maWVsZFwnIHwgZ2V0R2F0ZXdheUhlbHBMaW5rIDogbWFwcGluZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZVwnKS52YWx1ZSA6IHNvdXJjZVR5cGVzIlxuICAgICAgICAgICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09IlwnbmFtZS1maWVsZFwnIHwgZ2V0R2F0ZXdheUhlbHBMaW5rIDogbWFwcGluZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZVwnKS52YWx1ZSA6IHNvdXJjZVR5cGVzIlxuICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtcm93IHRiLWZvcm0tcm93IG5vLWJvcmRlciBzYW1lLXBhZGRpbmcgYm90dG9tLXNhbWUtcGFkZGluZyJcbiAgICAgICAgICAgKm5nSWY9ImRldmljZUluZm9UeXBlID09PSBEZXZpY2VJbmZvVHlwZS5GVUxMIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1pbmZvLnByb2ZpbGUtbmFtZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCByYXctdmFsdWUtb3B0aW9uIiAqbmdJZj0idXNlU291cmNlIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VQcm9maWxlRXhwcmVzc2lvblNvdXJjZSI+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2Ygc291cmNlVHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgIHt7IFNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1yb3ctY2VsbCB0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VQcm9maWxlRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2UtaW5mby5kZXZpY2UtcHJvZmlsZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZVByb2ZpbGVFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VQcm9maWxlRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPSJcJ3Byb2ZpbGUtbmFtZVwnIHwgZ2V0R2F0ZXdheUhlbHBMaW5rOiBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlXCcpLnZhbHVlIDogc291cmNlVHlwZXMiXG4gICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCdwcm9maWxlLW5hbWVcJyB8IGdldEdhdGV3YXlIZWxwTGluazogbWFwcGluZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VQcm9maWxlRXhwcmVzc2lvblNvdXJjZVwnKS52YWx1ZSA6IHNvdXJjZVR5cGVzIlxuICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6YmxvY2t9Omhvc3QgLnRiLWZvcm0tcm93LmJvdHRvbS1zYW1lLXBhZGRpbmd7cGFkZGluZy1ib3R0b206MTZweH06aG9zdCAudGItZm9ybS1yb3cudG9wLXNhbWUtcGFkZGluZ3twYWRkaW5nLXRvcDoxNnB4fTpob3N0IC50Yi1mb3JtLXJvdyAuZml4ZWQtdGl0bGUtd2lkdGh7d2lkdGg6MTklfTpob3N0IC50YWJsZS1jb2x1bW57d2lkdGg6NDAlfTpob3N0IC50YWJsZS1uYW1lLWNvbHVtbnt3aWR0aDoyMCV9Omhvc3QgLnJhdy1uYW1le3dpZHRoOjE5JX06aG9zdCAucmF3LXZhbHVlLW9wdGlvbnttYXgtd2lkdGg6NDAlfTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm90LlN0b3JlfSx7dHlwZTpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0eXBlOkplLk1hdERpYWxvZ30se3R5cGU6bWUuRm9ybUJ1aWxkZXJ9XSxwcm9wRGVjb3JhdG9yczp7dXNlU291cmNlOlt7dHlwZTphfV0scmVxdWlyZWQ6W3t0eXBlOmF9XSxzb3VyY2VUeXBlczpbe3R5cGU6YX1dLGRldmljZUluZm9UeXBlOlt7dHlwZTphfV19fSk7Y2xhc3MgaW8gZXh0ZW5kcyBQe2NvbnN0cnVjdG9yKGUsdCxuLGEsbyxpLHIscyxsKXtzdXBlcihlLHQsYSksdGhpcy5zdG9yZT1lLHRoaXMucm91dGVyPXQsdGhpcy5kYXRhPW4sdGhpcy5kaWFsb2dSZWY9YSx0aGlzLmZiPW8sdGhpcy5wb3BvdmVyU2VydmljZT1pLHRoaXMucmVuZGVyZXI9cix0aGlzLnZpZXdDb250YWluZXJSZWY9cyx0aGlzLnRyYW5zbGF0ZT1sLHRoaXMuTWFwcGluZ1R5cGU9Zm4sdGhpcy5xdWFsaXR5VHlwZXM9eG4sdGhpcy5RdWFsaXR5VHJhbnNsYXRpb25zTWFwPXZuLHRoaXMuY29udmVydG9yVHlwZXM9T2JqZWN0LnZhbHVlcyh3biksdGhpcy5Db252ZXJ0b3JUeXBlRW51bT13bix0aGlzLkNvbnZlcnRvclR5cGVUcmFuc2xhdGlvbnNNYXA9Q24sdGhpcy5zb3VyY2VUeXBlcz1PYmplY3QudmFsdWVzKFRuKSx0aGlzLk9QQ1VhU291cmNlVHlwZXM9T2JqZWN0LnZhbHVlcyhTbiksdGhpcy5PUENVYVNvdXJjZVR5cGVzRW51bT1Tbix0aGlzLnNvdXJjZVR5cGVzRW51bT1Ubix0aGlzLlNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXA9TG4sdGhpcy5yZXF1ZXN0VHlwZXM9T2JqZWN0LnZhbHVlcyhJbiksdGhpcy5SZXF1ZXN0VHlwZUVudW09SW4sdGhpcy5SZXF1ZXN0VHlwZXNUcmFuc2xhdGlvbnNNYXA9QW4sdGhpcy5EZXZpY2VJbmZvVHlwZT1rbix0aGlzLlNlcnZlclNpZGVSUENUeXBlPVBuLHRoaXMuTWFwcGluZ0tleXNUeXBlPU5uLHRoaXMuTWFwcGluZ0hpbnRUcmFuc2xhdGlvbnNNYXA9Ym4sdGhpcy5NYXBwaW5nVHlwZVRyYW5zbGF0aW9uc01hcD15bix0aGlzLkRhdGFDb252ZXJzaW9uVHJhbnNsYXRpb25zTWFwPUJuLHRoaXMuSGVscExpbmtCeU1hcHBpbmdUeXBlTWFwPWhuLHRoaXMua2V5c1BvcHVwQ2xvc2VkPSEwLHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMuY3JlYXRlTWFwcGluZ0Zvcm0oKX1nZXQgY29udmVydGVyQXR0cmlidXRlcygpe2lmKHRoaXMuY29udmVydGVyVHlwZSlyZXR1cm4gdGhpcy5tYXBwaW5nRm9ybS5nZXQoImNvbnZlcnRlciIpLmdldCh0aGlzLmNvbnZlcnRlclR5cGUpLnZhbHVlLmF0dHJpYnV0ZXMubWFwKChlPT5lLmtleSkpfWdldCBjb252ZXJ0ZXJUZWxlbWV0cnkoKXtpZih0aGlzLmNvbnZlcnRlclR5cGUpcmV0dXJuIHRoaXMubWFwcGluZ0Zvcm0uZ2V0KCJjb252ZXJ0ZXIiKS5nZXQodGhpcy5jb252ZXJ0ZXJUeXBlKS52YWx1ZS50aW1lc2VyaWVzLm1hcCgoZT0+ZS5rZXkpKX1nZXQgb3BjQXR0cmlidXRlcygpe3JldHVybiB0aGlzLm1hcHBpbmdGb3JtLmdldCgiYXR0cmlidXRlcyIpLnZhbHVlPy5tYXAoKGU9PmUua2V5KSl8fFtdfWdldCBvcGNUZWxlbWV0cnkoKXtyZXR1cm4gdGhpcy5tYXBwaW5nRm9ybS5nZXQoInRpbWVzZXJpZXMiKS52YWx1ZT8ubWFwKChlPT5lLmtleSkpfHxbXX1nZXQgb3BjUnBjTWV0aG9kcygpe3JldHVybiB0aGlzLm1hcHBpbmdGb3JtLmdldCgicnBjX21ldGhvZHMiKS52YWx1ZT8ubWFwKChlPT5lLm1ldGhvZCkpfHxbXX1nZXQgb3BjQXR0cmlidXRlc1VwZGF0ZXMoKXtyZXR1cm4gdGhpcy5tYXBwaW5nRm9ybS5nZXQoImF0dHJpYnV0ZXNfdXBkYXRlcyIpPy52YWx1ZT8ubWFwKChlPT5lLmtleSkpfHxbXX1nZXQgY29udmVydGVyVHlwZSgpe3JldHVybiB0aGlzLm1hcHBpbmdGb3JtLmdldCgiY29udmVydGVyIikuZ2V0KCJ0eXBlIikudmFsdWV9Z2V0IGN1c3RvbUtleXMoKXtyZXR1cm4gT2JqZWN0LmtleXModGhpcy5tYXBwaW5nRm9ybS5nZXQoImNvbnZlcnRlciIpLmdldCgiY3VzdG9tIikudmFsdWUuZXh0ZW5zaW9uQ29uZmlnKX1nZXQgcmVxdWVzdE1hcHBpbmdUeXBlKCl7cmV0dXJuIHRoaXMubWFwcGluZ0Zvcm0uZ2V0KCJyZXF1ZXN0VHlwZSIpLnZhbHVlfWdldCByZXNwb25zZVRpbWVvdXRFcnJvclRvb2x0aXAoKXtjb25zdCBlPXRoaXMubWFwcGluZ0Zvcm0uZ2V0KCJyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5yZXNwb25zZVRpbWVvdXQiKTtyZXR1cm4gZS5oYXNFcnJvcigicmVxdWlyZWQiKT90aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LnJlc3BvbnNlLXRpbWVvdXQtcmVxdWlyZWQiKTplLmhhc0Vycm9yKCJtaW4iKT90aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LnJlc3BvbnNlLXRpbWVvdXQtbGltaXRzLWVycm9yIix7bWluOjF9KToiIn1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKSxzdXBlci5uZ09uRGVzdHJveSgpfWNyZWF0ZU1hcHBpbmdGb3JtKCl7c3dpdGNoKHRoaXMuZGF0YS5tYXBwaW5nVHlwZSl7Y2FzZSBmbi5EQVRBOnRoaXMubWFwcGluZ0Zvcm09dGhpcy5mYi5ncm91cCh7fSksdGhpcy5jcmVhdGVEYXRhTWFwcGluZ0Zvcm0oKTticmVhaztjYXNlIGZuLlJFUVVFU1RTOnRoaXMubWFwcGluZ0Zvcm09dGhpcy5mYi5ncm91cCh7fSksdGhpcy5jcmVhdGVSZXF1ZXN0TWFwcGluZ0Zvcm0oKTticmVhaztjYXNlIGZuLk9QQ1VBOnRoaXMuY3JlYXRlT1BDVUFNYXBwaW5nRm9ybSgpfX1jYW5jZWwoKXt0aGlzLmtleXNQb3B1cENsb3NlZCYmdGhpcy5kaWFsb2dSZWYuY2xvc2UobnVsbCl9YWRkKCl7dGhpcy5tYXBwaW5nRm9ybS52YWxpZCYmdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5wcmVwYXJlTWFwcGluZ0RhdGEoKSl9bWFuYWdlS2V5cyhlLHQsbil7ZSYmZS5zdG9wUHJvcGFnYXRpb24oKTtjb25zdCBhPXQuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtpZih0aGlzLnBvcG92ZXJTZXJ2aWNlLmhhc1BvcG92ZXIoYSkpdGhpcy5wb3BvdmVyU2VydmljZS5oaWRlUG9wb3ZlcihhKTtlbHNle2NvbnN0IGU9KHRoaXMuZGF0YS5tYXBwaW5nVHlwZSE9PWZuLk9QQ1VBP3RoaXMubWFwcGluZ0Zvcm0uZ2V0KCJjb252ZXJ0ZXIiKS5nZXQodGhpcy5jb252ZXJ0ZXJUeXBlKTp0aGlzLm1hcHBpbmdGb3JtKS5nZXQobiksdD17a2V5czplLnZhbHVlLGtleXNUeXBlOm4scmF3RGF0YTp0aGlzLm1hcHBpbmdGb3JtLmdldCgiY29udmVydGVyLnR5cGUiKT8udmFsdWU9PT13bi5CWVRFUyxwYW5lbFRpdGxlOk1uLmdldChuKSxhZGRLZXlUaXRsZTpFbi5nZXQobiksZGVsZXRlS2V5VGl0bGU6cW4uZ2V0KG4pLG5vS2V5c1RleHQ6RG4uZ2V0KG4pfTt0aGlzLmRhdGEubWFwcGluZ1R5cGU9PT1mbi5PUENVQSYmKHQudmFsdWVUeXBlS2V5cz1PYmplY3QudmFsdWVzKFNuKSx0LnZhbHVlVHlwZUVudW09U24sdC52YWx1ZVR5cGVzPUxuKSx0aGlzLmtleXNQb3B1cENsb3NlZD0hMTtjb25zdCBvPXRoaXMucG9wb3ZlclNlcnZpY2UuZGlzcGxheVBvcG92ZXIoYSx0aGlzLnJlbmRlcmVyLHRoaXMudmlld0NvbnRhaW5lclJlZixhbywibGVmdEJvdHRvbSIsITEsbnVsbCx0LHt9LHt9LHt9LCEwKTtvLnRiQ29tcG9uZW50UmVmLmluc3RhbmNlLnBvcG92ZXI9byxvLnRiQ29tcG9uZW50UmVmLmluc3RhbmNlLmtleXNEYXRhQXBwbGllZC5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHQ9PntvLmhpZGUoKSxlLnBhdGNoVmFsdWUodCksZS5tYXJrQXNEaXJ0eSgpfSkpLG8udGJIaWRlU3RhcnQucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMua2V5c1BvcHVwQ2xvc2VkPSEwfSkpfX1wcmVwYXJlTWFwcGluZ0RhdGEoKXtjb25zdCBlPXRoaXMubWFwcGluZ0Zvcm0udmFsdWU7c3dpdGNoKHRoaXMuZGF0YS5tYXBwaW5nVHlwZSl7Y2FzZSBmbi5EQVRBOmNvbnN0e2NvbnZlcnRlcjp0LHRvcGljRmlsdGVyOm4sc3Vic2NyaXB0aW9uUW9zOmF9PWU7cmV0dXJue3RvcGljRmlsdGVyOm4sc3Vic2NyaXB0aW9uUW9zOmEsY29udmVydGVyOnt0eXBlOnQudHlwZSwuLi50W3QudHlwZV19fTtjYXNlIGZuLlJFUVVFU1RTOnJldHVybntyZXF1ZXN0VHlwZTplLnJlcXVlc3RUeXBlLHJlcXVlc3RWYWx1ZTplLnJlcXVlc3RWYWx1ZVtlLnJlcXVlc3RUeXBlXX07ZGVmYXVsdDpyZXR1cm4gZX19Z2V0Rm9ybVZhbHVlRGF0YSgpe2lmKHRoaXMuZGF0YS52YWx1ZSYmT2JqZWN0LmtleXModGhpcy5kYXRhLnZhbHVlKS5sZW5ndGgpc3dpdGNoKHRoaXMuZGF0YS5tYXBwaW5nVHlwZSl7Y2FzZSBmbi5EQVRBOmNvbnN0e2NvbnZlcnRlcjplLHRvcGljRmlsdGVyOnQsc3Vic2NyaXB0aW9uUW9zOm59PXRoaXMuZGF0YS52YWx1ZTtyZXR1cm57dG9waWNGaWx0ZXI6dCxzdWJzY3JpcHRpb25Rb3M6bixjb252ZXJ0ZXI6e3R5cGU6ZS50eXBlLFtlLnR5cGVdOnsuLi5lfX19O2Nhc2UgZm4uUkVRVUVTVFM6cmV0dXJue3JlcXVlc3RUeXBlOnRoaXMuZGF0YS52YWx1ZS5yZXF1ZXN0VHlwZSxyZXF1ZXN0VmFsdWU6e1t0aGlzLmRhdGEudmFsdWUucmVxdWVzdFR5cGVdOnRoaXMuZGF0YS52YWx1ZS5yZXF1ZXN0VmFsdWV9fTtkZWZhdWx0OnJldHVybiB0aGlzLmRhdGEudmFsdWV9fWNyZWF0ZURhdGFNYXBwaW5nRm9ybSgpe3RoaXMubWFwcGluZ0Zvcm0uYWRkQ29udHJvbCgidG9waWNGaWx0ZXIiLHRoaXMuZmIuY29udHJvbCgiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldKSksdGhpcy5tYXBwaW5nRm9ybS5hZGRDb250cm9sKCJzdWJzY3JpcHRpb25Rb3MiLHRoaXMuZmIuY29udHJvbCgwKSksdGhpcy5tYXBwaW5nRm9ybS5hZGRDb250cm9sKCJjb252ZXJ0ZXIiLHRoaXMuZmIuZ3JvdXAoe3R5cGU6W3duLkpTT04sW11dLGpzb246dGhpcy5mYi5ncm91cCh7ZGV2aWNlSW5mbzpbe30sW11dLGF0dHJpYnV0ZXM6W1tdLFtdXSx0aW1lc2VyaWVzOltbXSxbXV19KSxieXRlczp0aGlzLmZiLmdyb3VwKHtkZXZpY2VJbmZvOlt7fSxbXV0sYXR0cmlidXRlczpbW10sW11dLHRpbWVzZXJpZXM6W1tdLFtdXX0pLGN1c3RvbTp0aGlzLmZiLmdyb3VwKHtleHRlbnNpb246WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLGV4dGVuc2lvbkNvbmZpZzpbe30sW11dfSl9KSksdGhpcy5tYXBwaW5nRm9ybS5wYXRjaFZhbHVlKHRoaXMuZ2V0Rm9ybVZhbHVlRGF0YSgpKSx0aGlzLm1hcHBpbmdGb3JtLmdldCgiY29udmVydGVyLnR5cGUiKS52YWx1ZUNoYW5nZXMucGlwZShSZSh0aGlzLm1hcHBpbmdGb3JtLmdldCgiY29udmVydGVyLnR5cGUiKS52YWx1ZSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2NvbnN0IHQ9dGhpcy5tYXBwaW5nRm9ybS5nZXQoImNvbnZlcnRlciIpO3QuZ2V0KCJqc29uIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoImJ5dGVzIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoImN1c3RvbSIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KGUpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSl9KSl9Y3JlYXRlUmVxdWVzdE1hcHBpbmdGb3JtKCl7dGhpcy5tYXBwaW5nRm9ybS5hZGRDb250cm9sKCJyZXF1ZXN0VHlwZSIsdGhpcy5mYi5jb250cm9sKEluLkNPTk5FQ1RfUkVRVUVTVCxbXSkpLHRoaXMubWFwcGluZ0Zvcm0uYWRkQ29udHJvbCgicmVxdWVzdFZhbHVlIix0aGlzLmZiLmdyb3VwKHtjb25uZWN0UmVxdWVzdHM6dGhpcy5mYi5ncm91cCh7dG9waWNGaWx0ZXI6WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLGRldmljZUluZm86W3t9LFtdXX0pLGRpc2Nvbm5lY3RSZXF1ZXN0czp0aGlzLmZiLmdyb3VwKHt0b3BpY0ZpbHRlcjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sZGV2aWNlSW5mbzpbe30sW11dfSksYXR0cmlidXRlUmVxdWVzdHM6dGhpcy5mYi5ncm91cCh7dG9waWNGaWx0ZXI6WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLGRldmljZUluZm86dGhpcy5mYi5ncm91cCh7ZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2U6W1RuLk1TRyxbXV0sZGV2aWNlTmFtZUV4cHJlc3Npb246WyIiLFt1ZS5yZXF1aXJlZF1dfSksYXR0cmlidXRlTmFtZUV4cHJlc3Npb25Tb3VyY2U6W1RuLk1TRyxbXV0sYXR0cmlidXRlTmFtZUV4cHJlc3Npb246WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHRvcGljRXhwcmVzc2lvbjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sdmFsdWVFeHByZXNzaW9uOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxyZXRhaW46WyExLFtdXX0pLGF0dHJpYnV0ZVVwZGF0ZXM6dGhpcy5mYi5ncm91cCh7ZGV2aWNlTmFtZUZpbHRlcjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sYXR0cmlidXRlRmlsdGVyOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx0b3BpY0V4cHJlc3Npb246WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHZhbHVlRXhwcmVzc2lvbjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmV0YWluOlshMCxbXV19KSxzZXJ2ZXJTaWRlUnBjOnRoaXMuZmIuZ3JvdXAoe3R5cGU6W1BuLlRXT19XQVksW11dLGRldmljZU5hbWVGaWx0ZXI6WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLG1ldGhvZEZpbHRlcjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVxdWVzdFRvcGljRXhwcmVzc2lvbjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVzcG9uc2VUb3BpY0V4cHJlc3Npb246WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHZhbHVlRXhwcmVzc2lvbjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVzcG9uc2VUb3BpY1FvUzpbMCxbXV0scmVzcG9uc2VUaW1lb3V0OlsxZTQsW3VlLnJlcXVpcmVkLHVlLm1pbigxKV1dfSl9KSksdGhpcy5tYXBwaW5nRm9ybS5nZXQoInJlcXVlc3RUeXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoUmUodGhpcy5tYXBwaW5nRm9ybS5nZXQoInJlcXVlc3RUeXBlIikudmFsdWUpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pntjb25zdCB0PXRoaXMubWFwcGluZ0Zvcm0uZ2V0KCJyZXF1ZXN0VmFsdWUiKTt0LmdldCgiY29ubmVjdFJlcXVlc3RzIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoImRpc2Nvbm5lY3RSZXF1ZXN0cyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJhdHRyaWJ1dGVSZXF1ZXN0cyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJhdHRyaWJ1dGVVcGRhdGVzIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoInNlcnZlclNpZGVScGMiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSx0LmdldChlKS5lbmFibGUoKX0pKSx0aGlzLm1hcHBpbmdGb3JtLmdldCgicmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMudHlwZSIpLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pntjb25zdCB0PXRoaXMubWFwcGluZ0Zvcm0uZ2V0KCJyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYyIpO2U9PT1Qbi5PTkVfV0FZPyh0LmdldCgicmVzcG9uc2VUb3BpY0V4cHJlc3Npb24iKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSx0LmdldCgicmVzcG9uc2VUb3BpY1FvUyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJyZXNwb25zZVRpbWVvdXQiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSk6KHQuZ2V0KCJyZXNwb25zZVRvcGljRXhwcmVzc2lvbiIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoInJlc3BvbnNlVG9waWNRb1MiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJyZXNwb25zZVRpbWVvdXQiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pKX0pKSx0aGlzLm1hcHBpbmdGb3JtLnBhdGNoVmFsdWUodGhpcy5nZXRGb3JtVmFsdWVEYXRhKCkpfWNyZWF0ZU9QQ1VBTWFwcGluZ0Zvcm0oKXt0aGlzLm1hcHBpbmdGb3JtPXRoaXMuZmIuZ3JvdXAoe2RldmljZU5vZGVTb3VyY2U6W1NuLlBBVEgsW11dLGRldmljZU5vZGVQYXR0ZXJuOlsiIixbdWUucmVxdWlyZWRdXSxkZXZpY2VJbmZvOlt7fSxbXV0sYXR0cmlidXRlczpbW10sW11dLHRpbWVzZXJpZXM6W1tdLFtdXSxycGNfbWV0aG9kczpbW10sW11dLGF0dHJpYnV0ZXNfdXBkYXRlczpbW10sW11dfSksdGhpcy5tYXBwaW5nRm9ybS5wYXRjaFZhbHVlKHRoaXMuZ2V0Rm9ybVZhbHVlRGF0YSgpKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmlvLGRlcHM6W3t0b2tlbjpvdC5TdG9yZX0se3Rva2VuOml0LlJvdXRlcn0se3Rva2VuOlhlfSx7dG9rZW46SmUuTWF0RGlhbG9nUmVmfSx7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjpmdC5UYlBvcG92ZXJTZXJ2aWNlfSx7dG9rZW46dC5SZW5kZXJlcjJ9LHt0b2tlbjp0LlZpZXdDb250YWluZXJSZWZ9LHt0b2tlbjpZLlRyYW5zbGF0ZVNlcnZpY2V9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOmlvLHNlbGVjdG9yOiJ0Yi1tYXBwaW5nLWRpYWxvZyIsdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG5cbjxkaXYgW2Zvcm1Hcm91cF09Im1hcHBpbmdGb3JtIiBjbGFzcz0ia2V5LW1hcHBpbmciPlxuICA8bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICAgIDxoMj57eyBNYXBwaW5nVHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodGhpcy5kYXRhPy5tYXBwaW5nVHlwZSkgfCB0cmFuc2xhdGV9fTwvaDI+XG4gICAgPHNwYW4gZnhGbGV4Pjwvc3Bhbj5cbiAgICA8ZGl2IFt0Yi1oZWxwXT0iSGVscExpbmtCeU1hcHBpbmdUeXBlTWFwLmdldCh0aGlzLmRhdGEubWFwcGluZ1R5cGUpIj48L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L21hdC10b29sYmFyPlxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwiPlxuICAgICAgICB7eyBNYXBwaW5nSGludFRyYW5zbGF0aW9uc01hcC5nZXQodGhpcy5kYXRhPy5tYXBwaW5nVHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJkYXRhLm1hcHBpbmdUeXBlIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJNYXBwaW5nVHlwZS5EQVRBIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS50b3BpYy1maWx0ZXI8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idG9waWNGaWx0ZXIiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnRvcGljLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwndG9waWNGaWx0ZXJcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwndG9waWNGaWx0ZXJcJykudG91Y2hlZDsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS90b3BpYy1maWx0ZXJfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5yZXNwb25zZS10b3BpYy1Rb3MtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1xdHQtcW9zXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ic3Vic2NyaXB0aW9uUW9zIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2YgcXVhbGl0eVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAge3sgUXVhbGl0eVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIGZvcm1Hcm91cE5hbWU9ImNvbnZlcnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucGF5bG9hZC10eXBlPC9kaXY+XG4gICAgICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBjb252ZXJ0b3JUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAgICB7eyBDb252ZXJ0b3JUeXBlVHJhbnNsYXRpb25zTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5kYXRhLWNvbnZlcnNpb248L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCI+XG4gICAgICAgICAgICAgICAge3sgRGF0YUNvbnZlcnNpb25UcmFuc2xhdGlvbnNNYXAuZ2V0KGNvbnZlcnRlclR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBOYW1lXT0iY29udmVydGVyVHlwZSIgW25nU3dpdGNoXT0iY29udmVydGVyVHlwZSI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb252ZXJ0b3JUeXBlRW51bS5KU09OIj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1kZXZpY2UtaW5mby10YWJsZSBmb3JtQ29udHJvbE5hbWU9ImRldmljZUluZm8iIFtkZXZpY2VJbmZvVHlwZV09IkRldmljZUluZm9UeXBlLkZVTEwiIHJlcXVpcmVkPSJ0cnVlIj5cbiAgICAgICAgICAgICAgICAgIDwvdGItZGV2aWNlLWluZm8tdGFibGU+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbnZlcnRvclR5cGVFbnVtLkJZVEVTIj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1kZXZpY2UtaW5mby10YWJsZSBmb3JtQ29udHJvbE5hbWU9ImRldmljZUluZm8iIFtkZXZpY2VJbmZvVHlwZV09IkRldmljZUluZm9UeXBlLkZVTEwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NvdXJjZVR5cGVzXT0iW3NvdXJjZVR5cGVzRW51bS5NU0csIHNvdXJjZVR5cGVzRW51bS5DT05TVF0iIHJlcXVpcmVkPSJ0cnVlIj5cbiAgICAgICAgICAgICAgICAgIDwvdGItZGV2aWNlLWluZm8tdGFibGU+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIlxuICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImNvbnZlcnRlclR5cGUgPT09IENvbnZlcnRvclR5cGVFbnVtLkJZVEVTIHx8IGNvbnZlcnRlclR5cGUgPT09IENvbnZlcnRvclR5cGVFbnVtLkpTT04iPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZXM8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0Ym94IFt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdPSJjb252ZXJ0ZXJBdHRyaWJ1dGVzIiBjbGFzcz0idGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCBhdHRyaWJ1dGUgb2YgY29udmVydGVyQXR0cmlidXRlcyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgYXR0cmlidXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNhdHRyaWJ1dGVzQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgYXR0cmlidXRlc0J1dHRvbiwgTWFwcGluZ0tleXNUeXBlLkFUVFJJQlVURVMpIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50aW1lc2VyaWVzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggZWxsaXBzaXMtY2hpcHMtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoaXAtbGlzdGJveCBjbGFzcz0idGItZmxleCIgW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09ImNvbnZlcnRlclRlbGVtZXRyeSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgdGVsZW1ldHJ5IG9mIGNvbnZlcnRlclRlbGVtZXRyeSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRlbGVtZXRyeSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3RlbGVtZXRyeUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIHRlbGVtZXRyeUJ1dHRvbiwgTWFwcGluZ0tleXNUeXBlLlRJTUVTRVJJRVMpIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIiAqbmdJZj0iY29udmVydGVyVHlwZSA9PT0gQ29udmVydG9yVHlwZUVudW0uQ1VTVE9NIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmV4dGVuc2lvbi1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5leHRlbnNpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZXh0ZW5zaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmV4dGVuc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwnY29udmVydGVyLmN1c3RvbS5leHRlbnNpb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdjb252ZXJ0ZXIuY3VzdG9tLmV4dGVuc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gc2FtZS1wYWRkaW5nIHRiLWZsZXggY29sdW1uIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuZXh0ZW5zaW9uLWNvbmZpZ3VyYXRpb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCI+e3sgXCdnYXRld2F5LmV4dGVuc2lvbi1jb25maWd1cmF0aW9uLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5rZXlzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09ImN1c3RvbUtleXMiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IHRlbGVtZXRyeSBvZiBjdXN0b21LZXlzIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB0ZWxlbWV0cnkgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAja2V5c0J1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwga2V5c0J1dHRvbiwgTWFwcGluZ0tleXNUeXBlLkNVU1RPTSkiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGItaWNvbiBtYXRCdXR0b25JY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJNYXBwaW5nVHlwZS5SRVFVRVNUUyI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnJlcXVlc3QtdHlwZTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icmVxdWVzdFR5cGUiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHJlcXVlc3RUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgUmVxdWVzdFR5cGVzVHJhbnNsYXRpb25zTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgZm9ybUdyb3VwTmFtZT0icmVxdWVzdFZhbHVlIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlXCcpLmdldChyZXF1ZXN0TWFwcGluZ1R5cGUpIiBbbmdTd2l0Y2hdPSJyZXF1ZXN0TWFwcGluZ1R5cGUiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiXG4gICAgICAgICAgICAgICAgICAgICAqbmdJZj0icmVxdWVzdE1hcHBpbmdUeXBlID09PSBSZXF1ZXN0VHlwZUVudW0uQVRUUklCVVRFX1JFUVVFU1QgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0TWFwcGluZ1R5cGUgPT09IFJlcXVlc3RUeXBlRW51bS5DT05ORUNUX1JFUVVFU1QgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0TWFwcGluZ1R5cGUgPT09IFJlcXVlc3RUeXBlRW51bS5ESVNDT05ORUNUX1JFUVVFU1QiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnRvcGljLWZpbHRlcjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgW2Zvcm1Db250cm9sXT0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlXCcpLmdldChyZXF1ZXN0TWFwcGluZ1R5cGUpLmdldChcJ3RvcGljRmlsdGVyXCcpIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS50b3BpYy1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZVwnKS5nZXQocmVxdWVzdE1hcHBpbmdUeXBlKS5nZXQoXCd0b3BpY0ZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWVcJykuZ2V0KHJlcXVlc3RNYXBwaW5nVHlwZSkuZ2V0KFwndG9waWNGaWx0ZXJcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L3RvcGljLWZpbHRlcl9mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IlJlcXVlc3RUeXBlRW51bS5DT05ORUNUX1JFUVVFU1QiPlxuICAgICAgICAgICAgICAgICAgPHRiLWRldmljZS1pbmZvLXRhYmxlIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlSW5mbyIgW2RldmljZUluZm9UeXBlXT0iRGV2aWNlSW5mb1R5cGUuRlVMTCIgcmVxdWlyZWQ9InRydWUiPlxuICAgICAgICAgICAgICAgICAgPC90Yi1kZXZpY2UtaW5mby10YWJsZT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iUmVxdWVzdFR5cGVFbnVtLkRJU0NPTk5FQ1RfUkVRVUVTVCI+XG4gICAgICAgICAgICAgICAgICA8dGItZGV2aWNlLWluZm8tdGFibGUgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VJbmZvIiBbZGV2aWNlSW5mb1R5cGVdPSJEZXZpY2VJbmZvVHlwZS5QQVJUSUFMIiByZXF1aXJlZD0idHJ1ZSI+XG4gICAgICAgICAgICAgICAgICA8L3RiLWRldmljZS1pbmZvLXRhYmxlPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJSZXF1ZXN0VHlwZUVudW0uQVRUUklCVVRFX1JFUVVFU1QiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZnJvbS1kZXZpY2UtcmVxdWVzdC1zZXR0aW5nczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgZ2F0ZXdheS5mcm9tLWRldmljZS1yZXF1ZXN0LXNldHRpbmdzLWhpbnRcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiIGZvcm1Hcm91cE5hbWU9ImRldmljZUluZm8iPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLWZsZXggbm8tZmxleCBhbGlnbi1jZW50ZXIiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5kZXZpY2UtaW5mby5kZXZpY2UtbmFtZS1leHByZXNzaW9uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVFeHByZXNzaW9uU291cmNlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNvdXJjZVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2UtaW5mby5kZXZpY2UtbmFtZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iKG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy5kZXZpY2VJbmZvLmRldmljZU5hbWVFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy5kZXZpY2VJbmZvLmRldmljZU5hbWVFeHByZXNzaW9uXCcpLnRvdWNoZWQpIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5hdHRyaWJ1dGUtbmFtZS1leHByZXNzaW9uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImF0dHJpYnV0ZU5hbWVFeHByZXNzaW9uU291cmNlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNvdXJjZVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImF0dHJpYnV0ZU5hbWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuYXR0cmlidXRlLW5hbWUtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlUmVxdWVzdHMuYXR0cmlidXRlTmFtZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy5hdHRyaWJ1dGVOYW1lRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUgdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnRvLWRldmljZS1yZXNwb25zZS1zZXR0aW5nczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgZ2F0ZXdheS50by1kZXZpY2UtcmVzcG9uc2Utc2V0dGluZ3MtaGludFxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlc3BvbnNlLXZhbHVlLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkucmVzcG9uc2UtdmFsdWUtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlUmVxdWVzdHMudmFsdWVFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlUmVxdWVzdHMudmFsdWVFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlc3BvbnNlLXRvcGljLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idG9waWNFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkucmVzcG9uc2UtdG9waWMtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlUmVxdWVzdHMudG9waWNFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlUmVxdWVzdHMudG9waWNFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXRhaW4iPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LnJldGFpbi1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0YWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iUmVxdWVzdFR5cGVFbnVtLkFUVFJJQlVURV9VUERBVEUiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmRldmljZS1uYW1lLWZpbHRlclwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VOYW1lRmlsdGVyIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1uYW1lLWZpbHRlci1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVVwZGF0ZXMuZGV2aWNlTmFtZUZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLmRldmljZU5hbWVGaWx0ZXJcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuYXR0cmlidXRlLWZpbHRlci1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5hdHRyaWJ1dGUtZmlsdGVyXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImF0dHJpYnV0ZUZpbHRlciIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5hdHRyaWJ1dGUtZmlsdGVyLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy5hdHRyaWJ1dGVGaWx0ZXJcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLmF0dHJpYnV0ZUZpbHRlclwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkucmVzcG9uc2UtdmFsdWUtZXhwcmVzc2lvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkucmVzcG9uc2UtdmFsdWUtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVVwZGF0ZXMudmFsdWVFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy52YWx1ZUV4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5yZXNwb25zZS10b3BpYy1leHByZXNzaW9uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRvcGljRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXNwb25zZS10b3BpYy1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy50b3BpY0V4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy50b3BpY0V4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgZml4ZWQtdGl0bGUtd2lkdGgiIGZvcm1Db250cm9sTmFtZT0icmV0YWluIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkucmV0YWluLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0YWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IlJlcXVlc3RUeXBlRW51bS5TRVJWRVJfU0lERV9SUEMiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCByb3cgY2VudGVyIGFsaWduLWNlbnRlciBuby1nYXAgZmlsbC13aWR0aCI+XG4gICAgICAgICAgICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gW3ZhbHVlXT0iU2VydmVyU2lkZVJQQ1R5cGUuVFdPX1dBWSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkud2l0aC1yZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uIFt2YWx1ZV09IlNlcnZlclNpZGVSUENUeXBlLk9ORV9XQVkiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LndpdGhvdXQtcmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmRldmljZS1uYW1lLWZpbHRlclwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VOYW1lRmlsdGVyIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1uYW1lLWZpbHRlci1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMuZGV2aWNlTmFtZUZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMuZGV2aWNlTmFtZUZpbHRlclwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5tZXRob2QtZmlsdGVyLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1ldGhvZC1maWx0ZXJcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lm1ldGhvZC1maWx0ZXItcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLm1ldGhvZEZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMubWV0aG9kRmlsdGVyXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5yZXF1ZXN0LXRvcGljLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icmVxdWVzdFRvcGljRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXF1ZXN0LXRvcGljLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlcXVlc3RUb3BpY0V4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlcXVlc3RUb3BpY0V4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS52YWx1ZS1leHByZXNzaW9uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InZhbHVlRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy52YWx1ZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnZhbHVlRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy50eXBlXCcpLnZhbHVlID09PSBTZXJ2ZXJTaWRlUlBDVHlwZS5UV09fV0FZIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlc3BvbnNlLXRvcGljLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUb3BpY0V4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXNwb25zZS10b3BpYy1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlc3BvbnNlVG9waWNFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5yZXNwb25zZVRvcGljRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LnJlc3BvbnNlLXRvcGljLVFvcy1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJlc3BvbnNlLXRvcGljLVFvc1wnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRvcGljUW9TIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBxdWFsaXR5VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFF1YWxpdHlUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlc3BvbnNlLXRpbWVvdXQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIHR5cGU9Im51bWJlciIgbWluPSIxIiBmb3JtQ29udHJvbE5hbWU9InJlc3BvbnNlVGltZW91dCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0icmVzcG9uc2VUaW1lb3V0RXJyb3JUb29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5yZXNwb25zZVRpbWVvdXRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5yZXNwb25zZVRpbWVvdXRcJykuaGFzRXJyb3IoXCdtaW5cJykpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlc3BvbnNlVGltZW91dFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iTWFwcGluZ1R5cGUuT1BDVUEiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBhbGlnbi1jZW50ZXIiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuZGV2aWNlLW5vZGUtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZGV2aWNlLW5vZGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBkZXZpY2UtY29uZmlnIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5vZGVTb3VyY2UiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBbT1BDVWFTb3VyY2VUeXBlc0VudW0uUEFUSCwgT1BDVWFTb3VyY2VUeXBlc0VudW0uSURFTlRJRklFUl0iIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICB7eyBTb3VyY2VUeXBlVHJhbnNsYXRpb25zTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBkZXZpY2Utbm9kZS1wYXR0ZXJuLWZpZWxkIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VOb2RlUGF0dGVybiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLW5vZGUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSIobWFwcGluZ0Zvcm0uZ2V0KFwnZGV2aWNlTm9kZVBhdHRlcm5cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ2RldmljZU5vZGVQYXR0ZXJuXCcpLnRvdWNoZWQpIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCdkZXZpY2Utbm9kZVwnIHwgZ2V0R2F0ZXdheUhlbHBMaW5rOiBtYXBwaW5nRm9ybS5nZXQoXCdkZXZpY2VOb2RlU291cmNlXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dGItZGV2aWNlLWluZm8tdGFibGUgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VJbmZvIiBbc291cmNlVHlwZXNdPSJPUENVYVNvdXJjZVR5cGVzIiBbZGV2aWNlSW5mb1R5cGVdPSJEZXZpY2VJbmZvVHlwZS5GVUxMIiByZXF1aXJlZD0idHJ1ZSI+XG4gICAgICAgICAgPC90Yi1kZXZpY2UtaW5mby10YWJsZT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZXM8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggZWxsaXBzaXMtY2hpcHMtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09Im9wY0F0dHJpYnV0ZXMiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgYXR0cmlidXRlIG9mIG9wY0F0dHJpYnV0ZXMiPlxuICAgICAgICAgICAgICAgICAge3sgYXR0cmlidXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICNvcGNBdHRyaWJ1dGVzQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIG9wY0F0dHJpYnV0ZXNCdXR0b24sIE1hcHBpbmdLZXlzVHlwZS5BVFRSSUJVVEVTKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudGltZXNlcmllczwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgICAgICAgICA8bWF0LWNoaXAtbGlzdGJveCBjbGFzcz0idGItZmxleCIgW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09Im9wY1RlbGVtZXRyeSI+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IHRlbGVtZXRyeSBvZiBvcGNUZWxlbWV0cnkiPlxuICAgICAgICAgICAgICAgICAge3sgdGVsZW1ldHJ5IH19XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICNvcGNUZWxlbWV0cnlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgb3BjVGVsZW1ldHJ5QnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuVElNRVNFUklFUykiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZS11cGRhdGVzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0Ym94IFt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdPSJvcGNBdHRyaWJ1dGVzVXBkYXRlcyIgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCBhdHRyaWJ1dGUgb2Ygb3BjQXR0cmlidXRlc1VwZGF0ZXMiPlxuICAgICAgICAgICAgICAgICAge3sgYXR0cmlidXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICNhdHRyaWJ1dGVzVXBkYXRlc0J1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZUtleXMoJGV2ZW50LCBhdHRyaWJ1dGVzVXBkYXRlc0J1dHRvbiwgTWFwcGluZ0tleXNUeXBlLkFUVFJJQlVURVNfVVBEQVRFUykiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnJwYy1tZXRob2RzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0Ym94IFt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdPSJvcGNScGNNZXRob2RzIiBjbGFzcz0idGItZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZSBvZiBvcGNScGNNZXRob2RzIj5cbiAgICAgICAgICAgICAgICAgIHt7IGF0dHJpYnV0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAjcnBjTWV0aG9kc0J1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZUtleXMoJGV2ZW50LCBycGNNZXRob2RzQnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuUlBDX01FVEhPRFMpIj5cbiAgICAgICAgICAgICAgICA8dGItaWNvbiBtYXRCdXR0b25JY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIGNka0ZvY3VzSW5pdGlhbFxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0iYWRkKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJtYXBwaW5nRm9ybS5pbnZhbGlkIHx8ICFtYXBwaW5nRm9ybS5kaXJ0eSB8fCAha2V5c1BvcHVwQ2xvc2VkIj5cbiAgICAgIHt7IHRoaXMuZGF0YS5idXR0b25UaXRsZSB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e2Rpc3BsYXk6Z3JpZDtoZWlnaHQ6MTAwJX06aG9zdCAua2V5LW1hcHBpbmd7bWF4LXdpZHRoOjkwMHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Omhvc3QgLmtleS1tYXBwaW5nIC5tYXQtdG9vbGJhcnttaW4taGVpZ2h0OjY0cHh9Omhvc3QgLmtleS1tYXBwaW5nIHRiLXRvZ2dsZS1zZWxlY3R7cGFkZGluZzo0cHggMH06aG9zdCAubWF0LW1kYy1kaWFsb2ctY29udGVudHtoZWlnaHQ6NjcwcHh9Omhvc3QgLmVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lcnttYXgtd2lkdGg6NzAlfTpob3N0IDo6bmctZGVlcCAua2V5LW1hcHBpbmcgLm1hdC1tZGMtY2hpcC1saXN0Ym94IC5tZGMtZXZvbHV0aW9uLWNoaXAtc2V0X19jaGlwc3tqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXgtd3JhcDpub3dyYXB9Omhvc3QgOjpuZy1kZWVwIC50Yi1mb3JtLXJvdyAuZml4ZWQtdGl0bGUtd2lkdGh7bWluLXdpZHRoOjQwcHg7d2lkdGg6MzUlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306aG9zdCA6Om5nLWRlZXAgLnRiLWZvcm0tcm93IC5tYXQtbWRjLWZvcm0tZmllbGR7d2lkdGg6MH06aG9zdCA6Om5nLWRlZXAgLnNlZS1leGFtcGxle3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7bWFyZ2luOjRweH06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtZm9ybS1maWVsZC1pY29uLXN1ZmZpeHtkaXNwbGF5OmZsZXh9Omhvc3QgOjpuZy1kZWVwIC5kZXZpY2UtY29uZmlne2dhcDoxMnB4O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6MTBweH06aG9zdCA6Om5nLWRlZXAgLmRldmljZS1ub2RlLXBhdHRlcm4tZmllbGR7ZmxleC1iYXNpczozJX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaCxzZWxlY3RvcjoiW25nU3dpdGNoXSIsaW5wdXRzOlsibmdTd2l0Y2giXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoQ2FzZSxzZWxlY3RvcjoiW25nU3dpdGNoQ2FzZV0iLGlucHV0czpbIm5nU3dpdGNoQ2FzZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmR0LkhlbHBDb21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oZWxwXSIsaW5wdXRzOlsidGItaGVscCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmd0LkhlbHBQb3B1cENvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhlbHAtcG9wdXBdLCBbdGItaGVscC1wb3B1cC1jb250ZW50XSIsaW5wdXRzOlsidGItaGVscC1wb3B1cCIsInRiLWhlbHAtcG9wdXAtY29udGVudCIsInRyaWdnZXItdGV4dCIsInRyaWdnZXItc3R5bGUiLCJ0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudCIsInRiLWhlbHAtcG9wdXAtc3R5bGUiLCJoaW50TW9kZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpKZS5NYXREaWFsb2dBY3Rpb25zLHNlbGVjdG9yOiJbbWF0LWRpYWxvZy1hY3Rpb25zXSwgbWF0LWRpYWxvZy1hY3Rpb25zLCBbbWF0RGlhbG9nQWN0aW9uc10iLGlucHV0czpbImFsaWduIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQ29udGVudCxzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6eXQuTWF0Q2hpcCxzZWxlY3RvcjoibWF0LWJhc2ljLWNoaXAsIFttYXQtYmFzaWMtY2hpcF0sIG1hdC1jaGlwLCBbbWF0LWNoaXBdIixpbnB1dHM6WyJyb2xlIiwiaWQiLCJhcmlhLWxhYmVsIiwiYXJpYS1kZXNjcmlwdGlvbiIsInZhbHVlIiwiY29sb3IiLCJyZW1vdmFibGUiLCJoaWdobGlnaHRlZCIsImRpc2FibGVSaXBwbGUiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJyZW1vdmVkIiwiZGVzdHJveWVkIl0sZXhwb3J0QXM6WyJtYXRDaGlwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6eXQuTWF0Q2hpcExpc3Rib3gsc2VsZWN0b3I6Im1hdC1jaGlwLWxpc3Rib3giLGlucHV0czpbIm11bHRpcGxlIiwiYXJpYS1vcmllbnRhdGlvbiIsInNlbGVjdGFibGUiLCJjb21wYXJlV2l0aCIsInJlcXVpcmVkIiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInZhbHVlIl0sb3V0cHV0czpbImNoYW5nZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRdLCBbZnhMYXlvdXQueHNdLCBbZnhMYXlvdXQuc21dLCBbZnhMYXlvdXQubWRdLCAgW2Z4TGF5b3V0LmxnXSwgW2Z4TGF5b3V0LnhsXSwgW2Z4TGF5b3V0Lmx0LXNtXSwgW2Z4TGF5b3V0Lmx0LW1kXSwgIFtmeExheW91dC5sdC1sZ10sIFtmeExheW91dC5sdC14bF0sIFtmeExheW91dC5ndC14c10sIFtmeExheW91dC5ndC1zbV0sICBbZnhMYXlvdXQuZ3QtbWRdLCBbZnhMYXlvdXQuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dCIsImZ4TGF5b3V0LnhzIiwiZnhMYXlvdXQuc20iLCJmeExheW91dC5tZCIsImZ4TGF5b3V0LmxnIiwiZnhMYXlvdXQueGwiLCJmeExheW91dC5sdC1zbSIsImZ4TGF5b3V0Lmx0LW1kIiwiZnhMYXlvdXQubHQtbGciLCJmeExheW91dC5sdC14bCIsImZ4TGF5b3V0Lmd0LXhzIiwiZnhMYXlvdXQuZ3Qtc20iLCJmeExheW91dC5ndC1tZCIsImZ4TGF5b3V0Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1pblZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLGlucHV0czpbIm1pbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwTmFtZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdIixpbnB1dHM6WyJmb3JtR3JvdXBOYW1lIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bnQuVG9nZ2xlT3B0aW9uLHNlbGVjdG9yOiJ0Yi10b2dnbGUtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmF0LlRvZ2dsZVNlbGVjdENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXNlbGVjdCIsaW5wdXRzOlsiZGlzYWJsZWQiLCJzZWxlY3RNZWRpYUJyZWFrcG9pbnQiLCJhcHBlYXJhbmNlIiwiZGlzYWJsZVBhZ2luYXRpb24iLCJmaWxsSGVpZ2h0IiwiZXh0cmFQYWRkaW5nIiwicHJpbWFyeUJhY2tncm91bmQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpidC5UYkljb25Db21wb25lbnQsc2VsZWN0b3I6InRiLWljb24iLGlucHV0czpbImNvbG9yIl0sZXhwb3J0QXM6WyJ0Ykljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTprYSxzZWxlY3RvcjoiW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF0iLGlucHV0czpbInRiLWVsbGlwc2lzLWNoaXAtbGlzdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOm9vLHNlbGVjdG9yOiJ0Yi1kZXZpY2UtaW5mby10YWJsZSIsaW5wdXRzOlsidXNlU291cmNlIiwicmVxdWlyZWQiLCJzb3VyY2VUeXBlcyIsImRldmljZUluZm9UeXBlIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoicGlwZSIsdHlwZTpUYSxuYW1lOiJnZXRHYXRld2F5SGVscExpbmsifV19KX19ZSgiTWFwcGluZ0RpYWxvZ0NvbXBvbmVudCIsaW8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6aW8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1hcHBpbmctZGlhbG9nIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcblxuPGRpdiBbZm9ybUdyb3VwXT0ibWFwcGluZ0Zvcm0iIGNsYXNzPSJrZXktbWFwcGluZyI+XG4gIDxtYXQtdG9vbGJhciBjb2xvcj0icHJpbWFyeSI+XG4gICAgPGgyPnt7IE1hcHBpbmdUeXBlVHJhbnNsYXRpb25zTWFwLmdldCh0aGlzLmRhdGE/Lm1hcHBpbmdUeXBlKSB8IHRyYW5zbGF0ZX19PC9oMj5cbiAgICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICAgIDxkaXYgW3RiLWhlbHBdPSJIZWxwTGlua0J5TWFwcGluZ1R5cGVNYXAuZ2V0KHRoaXMuZGF0YS5tYXBwaW5nVHlwZSkiPjwvZGl2PlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvbWF0LXRvb2xiYXI+XG4gIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCI+XG4gICAgICAgIHt7IE1hcHBpbmdIaW50VHJhbnNsYXRpb25zTWFwLmdldCh0aGlzLmRhdGE/Lm1hcHBpbmdUeXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09ImRhdGEubWFwcGluZ1R5cGUiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09Ik1hcHBpbmdUeXBlLkRBVEEiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnRvcGljLWZpbHRlcjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ0b3BpY0ZpbHRlciIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudG9waWMtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCd0b3BpY0ZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCd0b3BpY0ZpbHRlclwnKS50b3VjaGVkOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L3RvcGljLWZpbHRlcl9mblwnIlxuICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LnJlc3BvbnNlLXRvcGljLVFvcy1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubXF0dC1xb3NcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJzdWJzY3JpcHRpb25Rb3MiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBxdWFsaXR5VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICB7eyBRdWFsaXR5VHJhbnNsYXRpb25zTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgZm9ybUdyb3VwTmFtZT0iY29udmVydGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5wYXlsb2FkLXR5cGU8L2Rpdj5cbiAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIiBhcHBlYXJhbmNlPSJmaWxsIj5cbiAgICAgICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGNvbnZlcnRvclR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgIHt7IENvbnZlcnRvclR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LmRhdGEtY29udmVyc2lvbjwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIj5cbiAgICAgICAgICAgICAgICB7eyBEYXRhQ29udmVyc2lvblRyYW5zbGF0aW9uc01hcC5nZXQoY29udmVydGVyVHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cE5hbWVdPSJjb252ZXJ0ZXJUeXBlIiBbbmdTd2l0Y2hdPSJjb252ZXJ0ZXJUeXBlIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbnZlcnRvclR5cGVFbnVtLkpTT04iPlxuICAgICAgICAgICAgICAgICAgPHRiLWRldmljZS1pbmZvLXRhYmxlIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlSW5mbyIgW2RldmljZUluZm9UeXBlXT0iRGV2aWNlSW5mb1R5cGUuRlVMTCIgcmVxdWlyZWQ9InRydWUiPlxuICAgICAgICAgICAgICAgICAgPC90Yi1kZXZpY2UtaW5mby10YWJsZT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29udmVydG9yVHlwZUVudW0uQllURVMiPlxuICAgICAgICAgICAgICAgICAgPHRiLWRldmljZS1pbmZvLXRhYmxlIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlSW5mbyIgW2RldmljZUluZm9UeXBlXT0iRGV2aWNlSW5mb1R5cGUuRlVMTCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc291cmNlVHlwZXNdPSJbc291cmNlVHlwZXNFbnVtLk1TRywgc291cmNlVHlwZXNFbnVtLkNPTlNUXSIgcmVxdWlyZWQ9InRydWUiPlxuICAgICAgICAgICAgICAgICAgPC90Yi1kZXZpY2UtaW5mby10YWJsZT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciXG4gICAgICAgICAgICAgICAgICAgICAqbmdJZj0iY29udmVydGVyVHlwZSA9PT0gQ29udmVydG9yVHlwZUVudW0uQllURVMgfHwgY29udmVydGVyVHlwZSA9PT0gQ29udmVydG9yVHlwZUVudW0uSlNPTiI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuYXR0cmlidXRlczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09ImNvbnZlcnRlckF0dHJpYnV0ZXMiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZSBvZiBjb252ZXJ0ZXJBdHRyaWJ1dGVzIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBhdHRyaWJ1dGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2F0dHJpYnV0ZXNCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZUtleXMoJGV2ZW50LCBhdHRyaWJ1dGVzQnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuQVRUUklCVVRFUykiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnRpbWVzZXJpZXM8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0Ym94IGNsYXNzPSJ0Yi1mbGV4IiBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iY29udmVydGVyVGVsZW1ldHJ5Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCB0ZWxlbWV0cnkgb2YgY29udmVydGVyVGVsZW1ldHJ5Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdGVsZW1ldHJ5IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjdGVsZW1ldHJ5QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgdGVsZW1ldHJ5QnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuVElNRVNFUklFUykiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciICpuZ0lmPSJjb252ZXJ0ZXJUeXBlID09PSBDb252ZXJ0b3JUeXBlRW51bS5DVVNUT00iPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuZXh0ZW5zaW9uLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmV4dGVuc2lvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJleHRlbnNpb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZXh0ZW5zaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdjb252ZXJ0ZXIuY3VzdG9tLmV4dGVuc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ2NvbnZlcnRlci5jdXN0b20uZXh0ZW5zaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiBzYW1lLXBhZGRpbmcgdGItZmxleCBjb2x1bW4iPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5leHRlbnNpb24tY29uZmlndXJhdGlvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIj57eyBcJ2dhdGV3YXkuZXh0ZW5zaW9uLWNvbmZpZ3VyYXRpb24taGludFwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmtleXM8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iY3VzdG9tS2V5cyIgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgdGVsZW1ldHJ5IG9mIGN1c3RvbUtleXMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRlbGVtZXRyeSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNrZXlzQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZUtleXMoJGV2ZW50LCBrZXlzQnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuQ1VTVE9NKSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09Ik1hcHBpbmdUeXBlLlJFUVVFU1RTIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucmVxdWVzdC10eXBlPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0VHlwZSI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2YgcmVxdWVzdFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBSZXF1ZXN0VHlwZXNUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBmb3JtR3JvdXBOYW1lPSJyZXF1ZXN0VmFsdWUiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWVcJykuZ2V0KHJlcXVlc3RNYXBwaW5nVHlwZSkiIFtuZ1N3aXRjaF09InJlcXVlc3RNYXBwaW5nVHlwZSI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJyZXF1ZXN0TWFwcGluZ1R5cGUgPT09IFJlcXVlc3RUeXBlRW51bS5BVFRSSUJVVEVfUkVRVUVTVCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RNYXBwaW5nVHlwZSA9PT0gUmVxdWVzdFR5cGVFbnVtLkNPTk5FQ1RfUkVRVUVTVCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RNYXBwaW5nVHlwZSA9PT0gUmVxdWVzdFR5cGVFbnVtLkRJU0NPTk5FQ1RfUkVRVUVTVCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudG9waWMtZmlsdGVyPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBbZm9ybUNvbnRyb2xdPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWVcJykuZ2V0KHJlcXVlc3RNYXBwaW5nVHlwZSkuZ2V0KFwndG9waWNGaWx0ZXJcJykiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnRvcGljLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlXCcpLmdldChyZXF1ZXN0TWFwcGluZ1R5cGUpLmdldChcJ3RvcGljRmlsdGVyXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZVwnKS5nZXQocmVxdWVzdE1hcHBpbmdUeXBlKS5nZXQoXCd0b3BpY0ZpbHRlclwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvdG9waWMtZmlsdGVyX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iUmVxdWVzdFR5cGVFbnVtLkNPTk5FQ1RfUkVRVUVTVCI+XG4gICAgICAgICAgICAgICAgICA8dGItZGV2aWNlLWluZm8tdGFibGUgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VJbmZvIiBbZGV2aWNlSW5mb1R5cGVdPSJEZXZpY2VJbmZvVHlwZS5GVUxMIiByZXF1aXJlZD0idHJ1ZSI+XG4gICAgICAgICAgICAgICAgICA8L3RiLWRldmljZS1pbmZvLXRhYmxlPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJSZXF1ZXN0VHlwZUVudW0uRElTQ09OTkVDVF9SRVFVRVNUIj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1kZXZpY2UtaW5mby10YWJsZSBmb3JtQ29udHJvbE5hbWU9ImRldmljZUluZm8iIFtkZXZpY2VJbmZvVHlwZV09IkRldmljZUluZm9UeXBlLlBBUlRJQUwiIHJlcXVpcmVkPSJ0cnVlIj5cbiAgICAgICAgICAgICAgICAgIDwvdGItZGV2aWNlLWluZm8tdGFibGU+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IlJlcXVlc3RUeXBlRW51bS5BVFRSSUJVVEVfUkVRVUVTVCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5mcm9tLWRldmljZS1yZXF1ZXN0LXNldHRpbmdzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICBnYXRld2F5LmZyb20tZGV2aWNlLXJlcXVlc3Qtc2V0dGluZ3MtaGludFxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciIgZm9ybUdyb3VwTmFtZT0iZGV2aWNlSW5mbyI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItZmxleCBuby1mbGV4IGFsaWduLWNlbnRlciIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1pbmZvLmRldmljZS1uYW1lLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2UiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2Ygc291cmNlVHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgU291cmNlVHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1pbmZvLmRldmljZS1uYW1lLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSIobWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVJlcXVlc3RzLmRldmljZUluZm8uZGV2aWNlTmFtZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVJlcXVlc3RzLmRldmljZUluZm8uZGV2aWNlTmFtZUV4cHJlc3Npb25cJykudG91Y2hlZCkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZS1uYW1lLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYXR0cmlidXRlTmFtZUV4cHJlc3Npb25Tb3VyY2UiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2Ygc291cmNlVHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgU291cmNlVHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iYXR0cmlidXRlTmFtZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5hdHRyaWJ1dGUtbmFtZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy5hdHRyaWJ1dGVOYW1lRXhwcmVzc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVJlcXVlc3RzLmF0dHJpYnV0ZU5hbWVFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudG8tZGV2aWNlLXJlc3BvbnNlLXNldHRpbmdzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICBnYXRld2F5LnRvLWRldmljZS1yZXNwb25zZS1zZXR0aW5ncy1oaW50XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkucmVzcG9uc2UtdmFsdWUtZXhwcmVzc2lvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXNwb25zZS12YWx1ZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy52YWx1ZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy52YWx1ZUV4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkucmVzcG9uc2UtdG9waWMtZXhwcmVzc2lvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ0b3BpY0V4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXNwb25zZS10b3BpYy1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy50b3BpY0V4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy50b3BpY0V4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldGFpbiI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkucmV0YWluLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5yZXRhaW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJSZXF1ZXN0VHlwZUVudW0uQVRUUklCVVRFX1VQREFURSI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5kZXZpY2UtbmFtZS1maWx0ZXItaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVGaWx0ZXIiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy5kZXZpY2VOYW1lRmlsdGVyXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVVwZGF0ZXMuZGV2aWNlTmFtZUZpbHRlclwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5hdHRyaWJ1dGUtZmlsdGVyLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmF0dHJpYnV0ZS1maWx0ZXJcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iYXR0cmlidXRlRmlsdGVyIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmF0dHJpYnV0ZS1maWx0ZXItcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLmF0dHJpYnV0ZUZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVVwZGF0ZXMuYXR0cmlidXRlRmlsdGVyXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5yZXNwb25zZS12YWx1ZS1leHByZXNzaW9uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InZhbHVlRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXNwb25zZS12YWx1ZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy52YWx1ZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLnZhbHVlRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlc3BvbnNlLXRvcGljLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idG9waWNFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnJlc3BvbnNlLXRvcGljLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLnRvcGljRXhwcmVzc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLnRvcGljRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBmaXhlZC10aXRsZS13aWR0aCIgZm9ybUNvbnRyb2xOYW1lPSJyZXRhaW4iPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5yZXRhaW4taGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5yZXRhaW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iUmVxdWVzdFR5cGVFbnVtLlNFUlZFUl9TSURFX1JQQyI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHJvdyBjZW50ZXIgYWxpZ24tY2VudGVyIG5vLWdhcCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIiBhcHBlYXJhbmNlPSJmaWxsIj5cbiAgICAgICAgICAgICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiBbdmFsdWVdPSJTZXJ2ZXJTaWRlUlBDVHlwZS5UV09fV0FZIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS53aXRoLXJlc3BvbnNlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gW3ZhbHVlXT0iU2VydmVyU2lkZVJQQ1R5cGUuT05FX1dBWSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkud2l0aG91dC1yZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5kZXZpY2UtbmFtZS1maWx0ZXItaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVGaWx0ZXIiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5kZXZpY2VOYW1lRmlsdGVyXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5kZXZpY2VOYW1lRmlsdGVyXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5Lm1ldGhvZC1maWx0ZXItaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubWV0aG9kLWZpbHRlclwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RGaWx0ZXIiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkubWV0aG9kLWZpbHRlci1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMubWV0aG9kRmlsdGVyXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5tZXRob2RGaWx0ZXJcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlcXVlc3QtdG9waWMtZXhwcmVzc2lvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0VG9waWNFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnJlcXVlc3QtdG9waWMtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMucmVxdWVzdFRvcGljRXhwcmVzc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMucmVxdWVzdFRvcGljRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnZhbHVlLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnZhbHVlLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnZhbHVlRXhwcmVzc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMudmFsdWVFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnR5cGVcJykudmFsdWUgPT09IFNlcnZlclNpZGVSUENUeXBlLlRXT19XQVkiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkucmVzcG9uc2UtdG9waWMtZXhwcmVzc2lvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRvcGljRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnJlc3BvbnNlLXRvcGljLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMucmVzcG9uc2VUb3BpY0V4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlc3BvbnNlVG9waWNFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkucmVzcG9uc2UtdG9waWMtUW9zLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmVzcG9uc2UtdG9waWMtUW9zXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InJlc3BvbnNlVG9waWNRb1MiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHF1YWxpdHlUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgUXVhbGl0eVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkucmVzcG9uc2UtdGltZW91dDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgdHlwZT0ibnVtYmVyIiBtaW49IjEiIGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUaW1lb3V0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJyZXNwb25zZVRpbWVvdXRFcnJvclRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iKG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlc3BvbnNlVGltZW91dFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlc3BvbnNlVGltZW91dFwnKS5oYXNFcnJvcihcJ21pblwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMucmVzcG9uc2VUaW1lb3V0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJNYXBwaW5nVHlwZS5PUENVQSI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1mbGV4IGFsaWduLWNlbnRlciIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5kZXZpY2Utbm9kZS1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5kZXZpY2Utbm9kZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGRldmljZS1jb25maWciPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTm9kZVNvdXJjZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIFtPUENVYVNvdXJjZVR5cGVzRW51bS5QQVRILCBPUENVYVNvdXJjZVR5cGVzRW51bS5JREVOVElGSUVSXSIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGRldmljZS1ub2RlLXBhdHRlcm4tZmllbGQiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5vZGVQYXR0ZXJuIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2Utbm9kZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihtYXBwaW5nRm9ybS5nZXQoXCdkZXZpY2VOb2RlUGF0dGVyblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwnZGV2aWNlTm9kZVBhdHRlcm5cJykudG91Y2hlZCkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ2RldmljZS1ub2RlXCcgfCBnZXRHYXRld2F5SGVscExpbms6IG1hcHBpbmdGb3JtLmdldChcJ2RldmljZU5vZGVTb3VyY2VcJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDx0Yi1kZXZpY2UtaW5mby10YWJsZSBmb3JtQ29udHJvbE5hbWU9ImRldmljZUluZm8iIFtzb3VyY2VUeXBlc109Ik9QQ1VhU291cmNlVHlwZXMiIFtkZXZpY2VJbmZvVHlwZV09IkRldmljZUluZm9UeXBlLkZVTEwiIHJlcXVpcmVkPSJ0cnVlIj5cbiAgICAgICAgICA8L3RiLWRldmljZS1pbmZvLXRhYmxlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuYXR0cmlidXRlczwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgICAgICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0ib3BjQXR0cmlidXRlcyIgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCBhdHRyaWJ1dGUgb2Ygb3BjQXR0cmlidXRlcyI+XG4gICAgICAgICAgICAgICAgICB7eyBhdHRyaWJ1dGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgI29wY0F0dHJpYnV0ZXNCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgb3BjQXR0cmlidXRlc0J1dHRvbiwgTWFwcGluZ0tleXNUeXBlLkFUVFJJQlVURVMpIj5cbiAgICAgICAgICAgICAgICA8dGItaWNvbiBtYXRCdXR0b25JY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4Ij5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50aW1lc2VyaWVzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0Ym94IGNsYXNzPSJ0Yi1mbGV4IiBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0ib3BjVGVsZW1ldHJ5Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgdGVsZW1ldHJ5IG9mIG9wY1RlbGVtZXRyeSI+XG4gICAgICAgICAgICAgICAgICB7eyB0ZWxlbWV0cnkgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgI29wY1RlbGVtZXRyeUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZUtleXMoJGV2ZW50LCBvcGNUZWxlbWV0cnlCdXR0b24sIE1hcHBpbmdLZXlzVHlwZS5USU1FU0VSSUVTKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuYXR0cmlidXRlLXVwZGF0ZXM8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggZWxsaXBzaXMtY2hpcHMtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09Im9wY0F0dHJpYnV0ZXNVcGRhdGVzIiBjbGFzcz0idGItZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZSBvZiBvcGNBdHRyaWJ1dGVzVXBkYXRlcyI+XG4gICAgICAgICAgICAgICAgICB7eyBhdHRyaWJ1dGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgI2F0dHJpYnV0ZXNVcGRhdGVzQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIGF0dHJpYnV0ZXNVcGRhdGVzQnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuQVRUUklCVVRFU19VUERBVEVTKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucnBjLW1ldGhvZHM8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggZWxsaXBzaXMtY2hpcHMtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09Im9wY1JwY01ldGhvZHMiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgYXR0cmlidXRlIG9mIG9wY1JwY01ldGhvZHMiPlxuICAgICAgICAgICAgICAgICAge3sgYXR0cmlidXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICNycGNNZXRob2RzQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIHJwY01ldGhvZHNCdXR0b24sIE1hcHBpbmdLZXlzVHlwZS5SUENfTUVUSE9EUykiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5jYW5jZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAoY2xpY2spPSJhZGQoKSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09Im1hcHBpbmdGb3JtLmludmFsaWQgfHwgIW1hcHBpbmdGb3JtLmRpcnR5IHx8ICFrZXlzUG9wdXBDbG9zZWQiPlxuICAgICAge3sgdGhpcy5kYXRhLmJ1dHRvblRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7ZGlzcGxheTpncmlkO2hlaWdodDoxMDAlfTpob3N0IC5rZXktbWFwcGluZ3ttYXgtd2lkdGg6OTAwcHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn06aG9zdCAua2V5LW1hcHBpbmcgLm1hdC10b29sYmFye21pbi1oZWlnaHQ6NjRweH06aG9zdCAua2V5LW1hcHBpbmcgdGItdG9nZ2xlLXNlbGVjdHtwYWRkaW5nOjRweCAwfTpob3N0IC5tYXQtbWRjLWRpYWxvZy1jb250ZW50e2hlaWdodDo2NzBweH06aG9zdCAuZWxsaXBzaXMtY2hpcHMtY29udGFpbmVye21heC13aWR0aDo3MCV9Omhvc3QgOjpuZy1kZWVwIC5rZXktbWFwcGluZyAubWF0LW1kYy1jaGlwLWxpc3Rib3ggLm1kYy1ldm9sdXRpb24tY2hpcC1zZXRfX2NoaXBze2p1c3RpZnktY29udGVudDpmbGV4LWVuZDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleC13cmFwOm5vd3JhcH06aG9zdCA6Om5nLWRlZXAgLnRiLWZvcm0tcm93IC5maXhlZC10aXRsZS13aWR0aHttaW4td2lkdGg6NDBweDt3aWR0aDozNSU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfTpob3N0IDo6bmctZGVlcCAudGItZm9ybS1yb3cgLm1hdC1tZGMtZm9ybS1maWVsZHt3aWR0aDowfTpob3N0IDo6bmctZGVlcCAuc2VlLWV4YW1wbGV7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDttYXJnaW46NHB4fTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH06aG9zdCA6Om5nLWRlZXAgLmRldmljZS1jb25maWd7Z2FwOjEycHg7cGFkZGluZy1sZWZ0OjEwcHg7cGFkZGluZy1yaWdodDoxMHB4fTpob3N0IDo6bmctZGVlcCAuZGV2aWNlLW5vZGUtcGF0dGVybi1maWVsZHtmbGV4LWJhc2lzOjMlfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6b3QuU3RvcmV9LHt0eXBlOml0LlJvdXRlcn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOnAsYXJnczpbWGVdfV19LHt0eXBlOkplLk1hdERpYWxvZ1JlZn0se3R5cGU6bWUuRm9ybUJ1aWxkZXJ9LHt0eXBlOmZ0LlRiUG9wb3ZlclNlcnZpY2V9LHt0eXBlOnQuUmVuZGVyZXIyfSx7dHlwZTp0LlZpZXdDb250YWluZXJSZWZ9LHt0eXBlOlkuVHJhbnNsYXRlU2VydmljZX1dfSk7Y2xhc3Mgcm97c2V0IG1hcHBpbmdUeXBlKGUpe3RoaXMubWFwcGluZ1R5cGVWYWx1ZSE9PWUmJih0aGlzLm1hcHBpbmdUeXBlVmFsdWU9ZSl9Z2V0IG1hcHBpbmdUeXBlKCl7cmV0dXJuIHRoaXMubWFwcGluZ1R5cGVWYWx1ZX1jb25zdHJ1Y3RvcihlLHQsbixhKXt0aGlzLnRyYW5zbGF0ZT1lLHRoaXMuZGlhbG9nPXQsdGhpcy5kaWFsb2dTZXJ2aWNlPW4sdGhpcy5mYj1hLHRoaXMucmVxdWlyZWQ9ITEsdGhpcy5tYXBwaW5nVHlwZVRyYW5zbGF0aW9uc01hcD15bix0aGlzLm1hcHBpbmdUeXBlRW51bT1mbix0aGlzLmRpc3BsYXllZENvbHVtbnM9W10sdGhpcy5tYXBwaW5nQ29sdW1ucz1bXSx0aGlzLnRleHRTZWFyY2hNb2RlPSExLHRoaXMuaGlkZVBhZ2VTaXplPSExLHRoaXMuYWN0aXZlVmFsdWU9ITEsdGhpcy5kaXJ0eVZhbHVlPSExLHRoaXMudGV4dFNlYXJjaD10aGlzLmZiLmNvbnRyb2woIiIse25vbk51bGxhYmxlOiEwfSksdGhpcy5vbkNoYW5nZT0oKT0+e30sdGhpcy5vblRvdWNoZWQ9KCk9Pnt9LHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMubWFwcGluZ0Zvcm1Hcm91cD10aGlzLmZiLmFycmF5KFtdKSx0aGlzLmRpcnR5VmFsdWU9IXRoaXMuYWN0aXZlVmFsdWUsdGhpcy5kYXRhU291cmNlPW5ldyBzb31uZ09uSW5pdCgpe3RoaXMuc2V0TWFwcGluZ0NvbHVtbnMoKSx0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaCguLi50aGlzLm1hcHBpbmdDb2x1bW5zLm1hcCgoZT0+ZS5kZWYpKSwiYWN0aW9ucyIpLHRoaXMubWFwcGluZ0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy51cGRhdGVUYWJsZURhdGEoZSksdGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMudGV4dFNlYXJjaC52YWx1ZUNoYW5nZXMucGlwZShWZSgxNTApLEJlKCgoZSx0KT0+KGU/PyIiKT09PXQudHJpbSgpKSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2NvbnN0IHQ9ZS50cmltKCk7dGhpcy51cGRhdGVUYWJsZURhdGEodGhpcy5tYXBwaW5nRm9ybUdyb3VwLnZhbHVlLHQudHJpbSgpKX0pKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMub25DaGFuZ2U9ZX1yZWdpc3Rlck9uVG91Y2hlZChlKXt0aGlzLm9uVG91Y2hlZD1lfXdyaXRlVmFsdWUoZSl7dGhpcy5tYXBwaW5nRm9ybUdyb3VwLmNsZWFyKCksdGhpcy5wdXNoRGF0YUFzRm9ybUFycmF5cyhlKX12YWxpZGF0ZSgpe3JldHVybiF0aGlzLnJlcXVpcmVkfHx0aGlzLm1hcHBpbmdGb3JtR3JvdXAuY29udHJvbHMubGVuZ3RoP251bGw6e21hcHBpbmdGb3JtR3JvdXA6e3ZhbGlkOiExfX19ZW50ZXJGaWx0ZXJNb2RlKCl7dGhpcy50ZXh0U2VhcmNoTW9kZT0hMCxzZXRUaW1lb3V0KCgoKT0+e3RoaXMuc2VhcmNoSW5wdXRGaWVsZC5uYXRpdmVFbGVtZW50LmZvY3VzKCksdGhpcy5zZWFyY2hJbnB1dEZpZWxkLm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoMCwwKX0pLDEwKX1leGl0RmlsdGVyTW9kZSgpe3RoaXMudXBkYXRlVGFibGVEYXRhKHRoaXMubWFwcGluZ0Zvcm1Hcm91cC52YWx1ZSksdGhpcy50ZXh0U2VhcmNoTW9kZT0hMSx0aGlzLnRleHRTZWFyY2gucmVzZXQoKX1tYW5hZ2VNYXBwaW5nKGUsdCl7ZSYmZS5zdG9wUHJvcGFnYXRpb24oKTtjb25zdCBuPWllKHQpP3RoaXMubWFwcGluZ0Zvcm1Hcm91cC5hdCh0KS52YWx1ZTp7fTt0aGlzLmRpYWxvZy5vcGVuKGlvLHtkaXNhYmxlQ2xvc2U6ITAscGFuZWxDbGFzczpbInRiLWRpYWxvZyIsInRiLWZ1bGxzY3JlZW4tZGlhbG9nIl0sZGF0YTp7bWFwcGluZ1R5cGU6dGhpcy5tYXBwaW5nVHlwZSx2YWx1ZTpuLGJ1dHRvblRpdGxlOnJlKHQpPyJhY3Rpb24uYWRkIjoiYWN0aW9uLmFwcGx5In19KS5hZnRlckNsb3NlZCgpLnBpcGUoT2UoMSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2UmJihpZSh0KT90aGlzLm1hcHBpbmdGb3JtR3JvdXAuYXQodCkucGF0Y2hWYWx1ZShlKTp0aGlzLnB1c2hEYXRhQXNGb3JtQXJyYXlzKFtlXSksdGhpcy5tYXBwaW5nRm9ybUdyb3VwLm1hcmtBc0RpcnR5KCkpfSkpfXVwZGF0ZVRhYmxlRGF0YShlLHQpe2xldCBuPWUubWFwKChlPT50aGlzLmdldE1hcHBpbmdWYWx1ZShlKSkpO3QmJihuPW4uZmlsdGVyKChlPT5PYmplY3QudmFsdWVzKGUpLnNvbWUoKGU9PmUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHQudG9Mb3dlckNhc2UoKSkpKSkpKSx0aGlzLmRhdGFTb3VyY2UubG9hZERhdGEobil9ZGVsZXRlTWFwcGluZyhlLHQpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0odGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5kZWxldGUtbWFwcGluZy10aXRsZSIpLCIiLHRoaXMudHJhbnNsYXRlLmluc3RhbnQoImFjdGlvbi5ubyIpLHRoaXMudHJhbnNsYXRlLmluc3RhbnQoImFjdGlvbi55ZXMiKSwhMCkuc3Vic2NyaWJlKChlPT57ZSYmKHRoaXMubWFwcGluZ0Zvcm1Hcm91cC5yZW1vdmVBdCh0KSx0aGlzLm1hcHBpbmdGb3JtR3JvdXAubWFya0FzRGlydHkoKSl9KSl9cHVzaERhdGFBc0Zvcm1BcnJheXMoZSl7ZT8ubGVuZ3RoJiZlLmZvckVhY2goKGU9PnRoaXMubWFwcGluZ0Zvcm1Hcm91cC5wdXNoKHRoaXMuZmIuY29udHJvbChlKSkpKX1nZXRNYXBwaW5nVmFsdWUoZSl7c3dpdGNoKHRoaXMubWFwcGluZ1R5cGUpe2Nhc2UgZm4uREFUQTpjb25zdCB0PUNuLmdldChlLmNvbnZlcnRlcj8udHlwZSk7cmV0dXJue3RvcGljRmlsdGVyOmUudG9waWNGaWx0ZXIsUW9TOmUuc3Vic2NyaXB0aW9uUW9zLGNvbnZlcnRlcjp0P3RoaXMudHJhbnNsYXRlLmluc3RhbnQodCk6IiJ9O2Nhc2UgZm4uUkVRVUVTVFM6bGV0IG47Y29uc3QgYT1lO3JldHVybiBuPWEucmVxdWVzdFR5cGU9PT1Jbi5BVFRSSUJVVEVfVVBEQVRFP2EucmVxdWVzdFZhbHVlLmF0dHJpYnV0ZUZpbHRlcjphLnJlcXVlc3RUeXBlPT09SW4uU0VSVkVSX1NJREVfUlBDP2EucmVxdWVzdFZhbHVlLm1ldGhvZEZpbHRlcjphLnJlcXVlc3RWYWx1ZS50b3BpY0ZpbHRlcix7cmVxdWVzdFR5cGU6ZS5yZXF1ZXN0VHlwZSx0eXBlOnRoaXMudHJhbnNsYXRlLmluc3RhbnQoQW4uZ2V0KGUucmVxdWVzdFR5cGUpKSxkZXRhaWxzOm59O2Nhc2UgZm4uT1BDVUE6Y29uc3Qgbz1lLmRldmljZUluZm8/LmRldmljZU5hbWVFeHByZXNzaW9uLGk9ZS5kZXZpY2VJbmZvPy5kZXZpY2VQcm9maWxlRXhwcmVzc2lvbix7ZGV2aWNlTm9kZVBhdHRlcm46cn09ZTtyZXR1cm57ZGV2aWNlTm9kZVBhdHRlcm46cixkZXZpY2VOYW1lUGF0dGVybjpvLGRldmljZVByb2ZpbGVFeHByZXNzaW9uOml9O2RlZmF1bHQ6cmV0dXJue319fXNldE1hcHBpbmdDb2x1bW5zKCl7c3dpdGNoKHRoaXMubWFwcGluZ1R5cGUpe2Nhc2UgZm4uREFUQTp0aGlzLm1hcHBpbmdDb2x1bW5zLnB1c2goe2RlZjoidG9waWNGaWx0ZXIiLHRpdGxlOiJnYXRld2F5LnRvcGljLWZpbHRlciJ9LHtkZWY6IlFvUyIsdGl0bGU6ImdhdGV3YXkubXF0dC1xb3MifSx7ZGVmOiJjb252ZXJ0ZXIiLHRpdGxlOiJnYXRld2F5LnBheWxvYWQtdHlwZSJ9KTticmVhaztjYXNlIGZuLlJFUVVFU1RTOnRoaXMubWFwcGluZ0NvbHVtbnMucHVzaCh7ZGVmOiJ0eXBlIix0aXRsZToiZ2F0ZXdheS50eXBlIn0se2RlZjoiZGV0YWlscyIsdGl0bGU6ImdhdGV3YXkuZGV0YWlscyJ9KTticmVhaztjYXNlIGZuLk9QQ1VBOnRoaXMubWFwcGluZ0NvbHVtbnMucHVzaCh7ZGVmOiJkZXZpY2VOb2RlUGF0dGVybiIsdGl0bGU6ImdhdGV3YXkuZGV2aWNlLW5vZGUifSx7ZGVmOiJkZXZpY2VOYW1lUGF0dGVybiIsdGl0bGU6ImdhdGV3YXkuZGV2aWNlLW5hbWUifSx7ZGVmOiJkZXZpY2VQcm9maWxlRXhwcmVzc2lvbiIsdGl0bGU6ImdhdGV3YXkuZGV2aWNlLXByb2ZpbGUifSl9fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6cm8sZGVwczpbe3Rva2VuOlkuVHJhbnNsYXRlU2VydmljZX0se3Rva2VuOkplLk1hdERpYWxvZ30se3Rva2VuOlguRGlhbG9nU2VydmljZX0se3Rva2VuOm1lLkZvcm1CdWlsZGVyfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpybyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1hcHBpbmctdGFibGUiLGlucHV0czp7cmVxdWlyZWQ6InJlcXVpcmVkIixtYXBwaW5nVHlwZToibWFwcGluZ1R5cGUifSxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5ybykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+cm8pKSxtdWx0aTohMH1dLHZpZXdRdWVyaWVzOlt7cHJvcGVydHlOYW1lOiJzZWFyY2hJbnB1dEZpZWxkIixmaXJzdDohMCxwcmVkaWNhdGU6WyJzZWFyY2hJbnB1dCJdLGRlc2NlbmRhbnRzOiEwfV0sbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLW1hcHBpbmctdGFibGUgdGItYWJzb2x1dGUtZmlsbCI+XG4gIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJjb2x1bW4iIGNsYXNzPSJ0Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQiPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIiBbZnhTaG93XT0iIXRleHRTZWFyY2hNb2RlIj5cbiAgICAgIDxkaXYgY2xhc3M9Im1hdC10b29sYmFyLXRvb2xzIiAqbmdJZj0iKGRhdGFTb3VyY2UuaXNFbXB0eSgpIHwgYXN5bmMpID09PSBmYWxzZSI+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0ic3RhcnQgY2VudGVyIiBmeExheW91dC54cz0iY29sdW1uIiBmeExheW91dEFsaWduLnhzPSJjZW50ZXIgc3RhcnQiIGNsYXNzPSJ0aXRsZS1jb250YWluZXIiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Yi1tYXBwaW5nLXRhYmxlLXRpdGxlIj57e21hcHBpbmdUeXBlVHJhbnNsYXRpb25zTWFwLmdldChtYXBwaW5nVHlwZSkgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlTWFwcGluZygkZXZlbnQpIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmFkZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPSJlbnRlckZpbHRlck1vZGUoKSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5zZWFyY2hcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICA8bWF0LWljb24+c2VhcmNoPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC10b29sYmFyPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIiBbZnhTaG93XT0idGV4dFNlYXJjaE1vZGUiPlxuICAgICAgPGRpdiBjbGFzcz0ibWF0LXRvb2xiYXItdG9vbHMiPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLnNlYXJjaFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPiZuYnNwOzwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCAjc2VhcmNoSW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT0idGV4dFNlYXJjaCJcbiAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnY29tbW9uLmVudGVyLXNlYXJjaFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9ImV4aXRGaWx0ZXJNb2RlKCkiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uY2xvc2VcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXRvb2xiYXI+XG4gICAgPGRpdiBjbGFzcz0idGFibGUtY29udGFpbmVyIj5cbiAgICAgIDx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPSJkYXRhU291cmNlIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT0iY29sdW1uLmRlZiIgKm5nRm9yPSJsZXQgY29sdW1uIG9mIG1hcHBpbmdDb2x1bW5zOyBsZXQgaSA9IGluZGV4Ij5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MucmVxdWVzdC1jb2x1bW5dPSJtYXBwaW5nVHlwZSA9PT0gbWFwcGluZ1R5cGVFbnVtLlJFUVVFU1RTIj5cbiAgICAgICAgICAgIHt7IGNvbHVtbi50aXRsZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCB0YlRydW5jYXRlV2l0aFRvb2x0aXAgKm1hdENlbGxEZWY9ImxldCBtYXBwaW5nIiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MucmVxdWVzdC1jb2x1bW5dPSJtYXBwaW5nVHlwZSA9PT0gbWFwcGluZ1R5cGVFbnVtLlJFUVVFU1RTIj5cbiAgICAgICAgICAgIHt7IG1hcHBpbmdbY29sdW1uLmRlZl0gfX1cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9ImFjdGlvbnMiIHN0aWNreUVuZD5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZS5ndC1tZF09InsgbWluV2lkdGg6IFwnOTZweFwnLCBtYXhXaWR0aDogXCc5NnB4XCcsIHdpZHRoOiBcJzk2cHhcJywgdGV4dEFsaWduOiBcJ2NlbnRlclwnfSI+XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgbWFwcGluZzsgbGV0IGkgPSBpbmRleCJcbiAgICAgICAgICAgICAgICAgICAgW25nU3R5bGUuZ3QtbWRdPSJ7IG1pbldpZHRoOiBcJzk2cHhcJywgbWF4V2lkdGg6IFwnOTZweFwnLCB3aWR0aDogXCc5NnB4XCd9Ij5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcm93QWN0aW9ucz5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VNYXBwaW5nKCRldmVudCwgaSkiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmRlbGV0ZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlTWFwcGluZygkZXZlbnQsIGkpIj5cbiAgICAgICAgICAgICAgICA8dGItaWNvbj5kZWxldGU8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxkaXYgZnhIaWRlIGZ4U2hvdy5ndC1tZCBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09InJvd0FjdGlvbnMiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGZ4SGlkZSBmeFNob3cubHQtbGcgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0QWxpZ249ImVuZCI+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09ImNlbGxBY3Rpb25zTWVudSI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxtYXQtbWVudSAjY2VsbEFjdGlvbnNNZW51PSJtYXRNZW51IiB4UG9zaXRpb249ImJlZm9yZSI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09InJvd0FjdGlvbnMiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxtYXQtaGVhZGVyLXJvdyBbbmdDbGFzc109IntcJ21hdC1yb3ctc2VsZWN0XCc6IHRydWV9IiAqbWF0SGVhZGVyUm93RGVmPSJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWUiPjwvbWF0LWhlYWRlci1yb3c+XG4gICAgICAgIDxtYXQtcm93ICptYXRSb3dEZWY9ImxldCBtYXBwaW5nOyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyI+PC9tYXQtcm93PlxuICAgICAgPC90YWJsZT5cbiAgICAgIDxzZWN0aW9uIFtmeFNob3ddPSIhdGV4dFNlYXJjaE1vZGUgJiYgKGRhdGFTb3VyY2UuaXNFbXB0eSgpIHwgYXN5bmMpIiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgICAgICAgY2xhc3M9Im1hdC1oZWFkbGluZS01IHRiLWFic29sdXRlLWZpbGwgdGItYWRkLW5ldyI+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjbGFzcz0iY29ubmVjdG9yIlxuICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZU1hcHBpbmcoJGV2ZW50KSI+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJ0Yi1tYXQtOTYiPmFkZDwvbWF0LWljb24+XG4gICAgICAgICAgPHNwYW4+e3sgXCdnYXRld2F5LmFkZC1tYXBwaW5nXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9zZWN0aW9uPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSAmJiAoZGF0YVNvdXJjZS5pc0VtcHR5KCkgfCBhc3luYykiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCIgdHJhbnNsYXRlPlxuICAgICAgd2lkZ2V0Lm5vLWRhdGEtZm91bmRcbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnR7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOiNmZmY7b3ZlcmZsb3c6aGlkZGVufTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQudGItb3V0bGluZWQtYm9yZGVye2JveC1zaGFkb3c6MCAwICMwMDAzLDAgMCAjMDAwMDAwMjQsMCAwICMwMDAwMDAxZjtib3JkZXI6c29saWQgMXB4ICNlMGUwZTA7Ym9yZGVyLXJhZGl1czo0cHh9Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAubWF0LXRvb2xiYXItdG9vbHN7bWluLWhlaWdodDphdXRvfTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQgLnRpdGxlLWNvbnRhaW5lcntvdmVyZmxvdzpoaWRkZW59Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAudGItbWFwcGluZy10YWJsZS10aXRsZXtwYWRkaW5nLXJpZ2h0OjIwcHg7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lcntvdmVyZmxvdzphdXRvfTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lciAubWF0LW1kYy10YWJsZXt0YWJsZS1sYXlvdXQ6Zml4ZWQ7bWluLXdpZHRoOjQ1MHB4fTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lciAubWF0LW1kYy10YWJsZSAudGFibGUtdmFsdWUtY29sdW1ue3BhZGRpbmc6MCAxMnB4O3dpZHRoOjIzJX06aG9zdCAudGItbWFwcGluZy10YWJsZSAudGItbWFwcGluZy10YWJsZS1jb250ZW50IC50YWJsZS1jb250YWluZXIgLm1hdC1tZGMtdGFibGUgLnRhYmxlLXZhbHVlLWNvbHVtbi5yZXF1ZXN0LWNvbHVtbnt3aWR0aDozOCV9Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAuZWxsaXBzaXN7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Omhvc3QgLm5vLWRhdGEtZm91bmR7aGVpZ2h0OmNhbGMoMTAwJSAtIDEyMHB4KX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCl7Omhvc3QgLm1hdC10b29sYmFye2hlaWdodDphdXRvO21pbi1oZWlnaHQ6MTAwcHh9Omhvc3QgLm1hdC10b29sYmFyIC50Yi1tYXBwaW5nLXRhYmxlLXRpdGxle3BhZGRpbmctYm90dG9tOjVweDt3aWR0aDoxMDAlfX06aG9zdCA6Om5nLWRlZXAgbWF0LWNlbGwudGItdmFsdWUtY2VsbHtjdXJzb3I6cG9pbnRlcn06aG9zdCA6Om5nLWRlZXAgbWF0LWNlbGwudGItdmFsdWUtY2VsbCAubWF0LWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDtmb250LXNpemU6MjRweDtjb2xvcjojNzU3NTc1fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nQ2xhc3Msc2VsZWN0b3I6IltuZ0NsYXNzXSIsaW5wdXRzOlsiY2xhc3MiLCJuZ0NsYXNzIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdUZW1wbGF0ZU91dGxldCxzZWxlY3RvcjoiW25nVGVtcGxhdGVPdXRsZXRdIixpbnB1dHM6WyJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCIsIm5nVGVtcGxhdGVPdXRsZXQiLCJuZ1RlbXBsYXRlT3V0bGV0SW5qZWN0b3IiXX0se2tpbmQ6InBpcGUiLHR5cGU6Xy5Bc3luY1BpcGUsbmFtZToiYXN5bmMifSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnJ0Lk1hdFRvb2xiYXIsc2VsZWN0b3I6Im1hdC10b29sYmFyIixpbnB1dHM6WyJjb2xvciJdLGV4cG9ydEFzOlsibWF0VG9vbGJhciJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmh0Lk1hdE1lbnUsc2VsZWN0b3I6Im1hdC1tZW51IixpbnB1dHM6WyJiYWNrZHJvcENsYXNzIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImFyaWEtZGVzY3JpYmVkYnkiLCJ4UG9zaXRpb24iLCJ5UG9zaXRpb24iLCJvdmVybGFwVHJpZ2dlciIsImhhc0JhY2tkcm9wIiwiY2xhc3MiLCJjbGFzc0xpc3QiXSxvdXRwdXRzOlsiY2xvc2VkIiwiY2xvc2UiXSxleHBvcnRBczpbIm1hdE1lbnUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpodC5NYXRNZW51VHJpZ2dlcixzZWxlY3RvcjoiW21hdC1tZW51LXRyaWdnZXItZm9yXSwgW21hdE1lbnVUcmlnZ2VyRm9yXSIsaW5wdXRzOlsibWF0LW1lbnUtdHJpZ2dlci1mb3IiLCJtYXRNZW51VHJpZ2dlckZvciIsIm1hdE1lbnVUcmlnZ2VyRGF0YSIsIm1hdE1lbnVUcmlnZ2VyUmVzdG9yZUZvY3VzIl0sb3V0cHV0czpbIm1lbnVPcGVuZWQiLCJvbk1lbnVPcGVuIiwibWVudUNsb3NlZCIsIm9uTWVudUNsb3NlIl0sZXhwb3J0QXM6WyJtYXRNZW51VHJpZ2dlciJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmIuTWF0VGFibGUsc2VsZWN0b3I6Im1hdC10YWJsZSwgdGFibGVbbWF0LXRhYmxlXSIsZXhwb3J0QXM6WyJtYXRUYWJsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0SGVhZGVyQ2VsbERlZixzZWxlY3RvcjoiW21hdEhlYWRlckNlbGxEZWZdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlclJvd0RlZixzZWxlY3RvcjoiW21hdEhlYWRlclJvd0RlZl0iLGlucHV0czpbIm1hdEhlYWRlclJvd0RlZiIsIm1hdEhlYWRlclJvd0RlZlN0aWNreSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Q29sdW1uRGVmLHNlbGVjdG9yOiJbbWF0Q29sdW1uRGVmXSIsaW5wdXRzOlsibWF0Q29sdW1uRGVmIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsRGVmLHNlbGVjdG9yOiJbbWF0Q2VsbERlZl0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Um93RGVmLHNlbGVjdG9yOiJbbWF0Um93RGVmXSIsaW5wdXRzOlsibWF0Um93RGVmQ29sdW1ucyIsIm1hdFJvd0RlZldoZW4iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlckNlbGwsc2VsZWN0b3I6Im1hdC1oZWFkZXItY2VsbCwgdGhbbWF0LWhlYWRlci1jZWxsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsLHNlbGVjdG9yOiJtYXQtY2VsbCwgdGRbbWF0LWNlbGxdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdEhlYWRlclJvdyxzZWxlY3RvcjoibWF0LWhlYWRlci1yb3csIHRyW21hdC1oZWFkZXItcm93XSIsZXhwb3J0QXM6WyJtYXRIZWFkZXJSb3ciXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdFJvdyxzZWxlY3RvcjoibWF0LXJvdywgdHJbbWF0LXJvd10iLGV4cG9ydEFzOlsibWF0Um93Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRBbGlnbkRpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRBbGlnbl0sIFtmeExheW91dEFsaWduLnhzXSwgW2Z4TGF5b3V0QWxpZ24uc21dLCBbZnhMYXlvdXRBbGlnbi5tZF0sICBbZnhMYXlvdXRBbGlnbi5sZ10sIFtmeExheW91dEFsaWduLnhsXSwgW2Z4TGF5b3V0QWxpZ24ubHQtc21dLCBbZnhMYXlvdXRBbGlnbi5sdC1tZF0sICBbZnhMYXlvdXRBbGlnbi5sdC1sZ10sIFtmeExheW91dEFsaWduLmx0LXhsXSwgW2Z4TGF5b3V0QWxpZ24uZ3QteHNdLCBbZnhMYXlvdXRBbGlnbi5ndC1zbV0sICBbZnhMYXlvdXRBbGlnbi5ndC1tZF0sIFtmeExheW91dEFsaWduLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRBbGlnbiIsImZ4TGF5b3V0QWxpZ24ueHMiLCJmeExheW91dEFsaWduLnNtIiwiZnhMYXlvdXRBbGlnbi5tZCIsImZ4TGF5b3V0QWxpZ24ubGciLCJmeExheW91dEFsaWduLnhsIiwiZnhMYXlvdXRBbGlnbi5sdC1zbSIsImZ4TGF5b3V0QWxpZ24ubHQtbWQiLCJmeExheW91dEFsaWduLmx0LWxnIiwiZnhMYXlvdXRBbGlnbi5sdC14bCIsImZ4TGF5b3V0QWxpZ24uZ3QteHMiLCJmeExheW91dEFsaWduLmd0LXNtIiwiZnhMYXlvdXRBbGlnbi5ndC1tZCIsImZ4TGF5b3V0QWxpZ24uZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRGbGV4RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeEZsZXhdLCBbZnhGbGV4LnhzXSwgW2Z4RmxleC5zbV0sIFtmeEZsZXgubWRdLCAgW2Z4RmxleC5sZ10sIFtmeEZsZXgueGxdLCBbZnhGbGV4Lmx0LXNtXSwgW2Z4RmxleC5sdC1tZF0sICBbZnhGbGV4Lmx0LWxnXSwgW2Z4RmxleC5sdC14bF0sIFtmeEZsZXguZ3QteHNdLCBbZnhGbGV4Lmd0LXNtXSwgIFtmeEZsZXguZ3QtbWRdLCBbZnhGbGV4Lmd0LWxnXSIsaW5wdXRzOlsiZnhGbGV4IiwiZnhGbGV4LnhzIiwiZnhGbGV4LnNtIiwiZnhGbGV4Lm1kIiwiZnhGbGV4LmxnIiwiZnhGbGV4LnhsIiwiZnhGbGV4Lmx0LXNtIiwiZnhGbGV4Lmx0LW1kIiwiZnhGbGV4Lmx0LWxnIiwiZnhGbGV4Lmx0LXhsIiwiZnhGbGV4Lmd0LXhzIiwiZnhGbGV4Lmd0LXNtIiwiZnhGbGV4Lmd0LW1kIiwiZnhGbGV4Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Sy5EZWZhdWx0U2hvd0hpZGVEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4U2hvd10sIFtmeFNob3cucHJpbnRdLCAgW2Z4U2hvdy54c10sIFtmeFNob3cuc21dLCBbZnhTaG93Lm1kXSwgW2Z4U2hvdy5sZ10sIFtmeFNob3cueGxdLCAgW2Z4U2hvdy5sdC1zbV0sIFtmeFNob3cubHQtbWRdLCBbZnhTaG93Lmx0LWxnXSwgW2Z4U2hvdy5sdC14bF0sICBbZnhTaG93Lmd0LXhzXSwgW2Z4U2hvdy5ndC1zbV0sIFtmeFNob3cuZ3QtbWRdLCBbZnhTaG93Lmd0LWxnXSwgIFtmeEhpZGVdLCBbZnhIaWRlLnByaW50XSwgIFtmeEhpZGUueHNdLCBbZnhIaWRlLnNtXSwgW2Z4SGlkZS5tZF0sIFtmeEhpZGUubGddLCBbZnhIaWRlLnhsXSwgIFtmeEhpZGUubHQtc21dLCBbZnhIaWRlLmx0LW1kXSwgW2Z4SGlkZS5sdC1sZ10sIFtmeEhpZGUubHQteGxdLCAgW2Z4SGlkZS5ndC14c10sIFtmeEhpZGUuZ3Qtc21dLCBbZnhIaWRlLmd0LW1kXSwgW2Z4SGlkZS5ndC1sZ10iLGlucHV0czpbImZ4U2hvdyIsImZ4U2hvdy5wcmludCIsImZ4U2hvdy54cyIsImZ4U2hvdy5zbSIsImZ4U2hvdy5tZCIsImZ4U2hvdy5sZyIsImZ4U2hvdy54bCIsImZ4U2hvdy5sdC1zbSIsImZ4U2hvdy5sdC1tZCIsImZ4U2hvdy5sdC1sZyIsImZ4U2hvdy5sdC14bCIsImZ4U2hvdy5ndC14cyIsImZ4U2hvdy5ndC1zbSIsImZ4U2hvdy5ndC1tZCIsImZ4U2hvdy5ndC1sZyIsImZ4SGlkZSIsImZ4SGlkZS5wcmludCIsImZ4SGlkZS54cyIsImZ4SGlkZS5zbSIsImZ4SGlkZS5tZCIsImZ4SGlkZS5sZyIsImZ4SGlkZS54bCIsImZ4SGlkZS5sdC1zbSIsImZ4SGlkZS5sdC1tZCIsImZ4SGlkZS5sdC1sZyIsImZ4SGlkZS5sdC14bCIsImZ4SGlkZS5ndC14cyIsImZ4SGlkZS5ndC1zbSIsImZ4SGlkZS5ndC1tZCIsImZ4SGlkZS5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOksuRGVmYXVsdENsYXNzRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtuZ0NsYXNzXSwgW25nQ2xhc3MueHNdLCBbbmdDbGFzcy5zbV0sIFtuZ0NsYXNzLm1kXSwgW25nQ2xhc3MubGddLCBbbmdDbGFzcy54bF0sICBbbmdDbGFzcy5sdC1zbV0sIFtuZ0NsYXNzLmx0LW1kXSwgW25nQ2xhc3MubHQtbGddLCBbbmdDbGFzcy5sdC14bF0sICBbbmdDbGFzcy5ndC14c10sIFtuZ0NsYXNzLmd0LXNtXSwgW25nQ2xhc3MuZ3QtbWRdLCBbbmdDbGFzcy5ndC1sZ10iLGlucHV0czpbIm5nQ2xhc3MiLCJuZ0NsYXNzLnhzIiwibmdDbGFzcy5zbSIsIm5nQ2xhc3MubWQiLCJuZ0NsYXNzLmxnIiwibmdDbGFzcy54bCIsIm5nQ2xhc3MubHQtc20iLCJuZ0NsYXNzLmx0LW1kIiwibmdDbGFzcy5sdC1sZyIsIm5nQ2xhc3MubHQteGwiLCJuZ0NsYXNzLmd0LXhzIiwibmdDbGFzcy5ndC1zbSIsIm5nQ2xhc3MuZ3QtbWQiLCJuZ0NsYXNzLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Sy5EZWZhdWx0U3R5bGVEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW25nU3R5bGVdLCAgW25nU3R5bGUueHNdLCBbbmdTdHlsZS5zbV0sIFtuZ1N0eWxlLm1kXSwgW25nU3R5bGUubGddLCBbbmdTdHlsZS54bF0sICBbbmdTdHlsZS5sdC1zbV0sIFtuZ1N0eWxlLmx0LW1kXSwgW25nU3R5bGUubHQtbGddLCBbbmdTdHlsZS5sdC14bF0sICBbbmdTdHlsZS5ndC14c10sIFtuZ1N0eWxlLmd0LXNtXSwgW25nU3R5bGUuZ3QtbWRdLCBbbmdTdHlsZS5ndC1sZ10iLGlucHV0czpbIm5nU3R5bGUiLCJuZ1N0eWxlLnhzIiwibmdTdHlsZS5zbSIsIm5nU3R5bGUubWQiLCJuZ1N0eWxlLmxnIiwibmdTdHlsZS54bCIsIm5nU3R5bGUubHQtc20iLCJuZ1N0eWxlLmx0LW1kIiwibmdTdHlsZS5sdC1sZyIsIm5nU3R5bGUubHQteGwiLCJuZ1N0eWxlLmd0LXhzIiwibmdTdHlsZS5ndC1zbSIsIm5nU3R5bGUuZ3QtbWQiLCJuZ1N0eWxlLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlllLlRydW5jYXRlV2l0aFRvb2x0aXBEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0b29sdGlwRW5hYmxlZCIsInBvc2l0aW9uIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlkuVHJhbnNsYXRlRGlyZWN0aXZlLHNlbGVjdG9yOiJbdHJhbnNsYXRlXSxbbmd4LXRyYW5zbGF0ZV0iLGlucHV0czpbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZVBhcmFtcyJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJ0LlRiSWNvbkNvbXBvbmVudCxzZWxlY3RvcjoidGItaWNvbiIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbInRiSWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlNhLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfV0sY2hhbmdlRGV0ZWN0aW9uOnQuQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNofSl9fWUoIk1hcHBpbmdUYWJsZUNvbXBvbmVudCIscm8pLEhlKFtOKCldLHJvLnByb3RvdHlwZSwicmVxdWlyZWQiLHZvaWQgMCksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpybyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItbWFwcGluZy10YWJsZSIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PnJvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5ybykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsU2FdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItbWFwcGluZy10YWJsZSB0Yi1hYnNvbHV0ZS1maWxsIj5cbiAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9ImNvbHVtbiIgY2xhc3M9InRiLW1hcHBpbmctdGFibGUtY29udGVudCI+XG4gICAgPG1hdC10b29sYmFyIGNsYXNzPSJtYXQtbWRjLXRhYmxlLXRvb2xiYXIiIFtmeFNob3ddPSIhdGV4dFNlYXJjaE1vZGUiPlxuICAgICAgPGRpdiBjbGFzcz0ibWF0LXRvb2xiYXItdG9vbHMiICpuZ0lmPSIoZGF0YVNvdXJjZS5pc0VtcHR5KCkgfCBhc3luYykgPT09IGZhbHNlIj5cbiAgICAgICAgPGRpdiBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJzdGFydCBjZW50ZXIiIGZ4TGF5b3V0LnhzPSJjb2x1bW4iIGZ4TGF5b3V0QWxpZ24ueHM9ImNlbnRlciBzdGFydCIgY2xhc3M9InRpdGxlLWNvbnRhaW5lciI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9InRiLW1hcHBpbmctdGFibGUtdGl0bGUiPnt7bWFwcGluZ1R5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KG1hcHBpbmdUeXBlKSB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gZnhGbGV4Pjwvc3Bhbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VNYXBwaW5nKCRldmVudCkiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uYWRkXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9ImVudGVyRmlsdGVyTW9kZSgpIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLnNlYXJjaFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXRvb2xiYXI+XG4gICAgPG1hdC10b29sYmFyIGNsYXNzPSJtYXQtbWRjLXRhYmxlLXRvb2xiYXIiIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSI+XG4gICAgICA8ZGl2IGNsYXNzPSJtYXQtdG9vbGJhci10b29scyI+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+Jm5ic3A7PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0ICNzZWFyY2hJbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPSJ0ZXh0U2VhcmNoIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdjb21tb24uZW50ZXItc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0iZXhpdEZpbHRlck1vZGUoKSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5jbG9zZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1jb250YWluZXIiPlxuICAgICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09ImRhdGFTb3VyY2UiPlxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPSJjb2x1bW4uZGVmIiAqbmdGb3I9ImxldCBjb2x1bW4gb2YgbWFwcGluZ0NvbHVtbnM7IGxldCBpID0gaW5kZXgiPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgY2xhc3M9InRhYmxlLXZhbHVlLWNvbHVtbiJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5yZXF1ZXN0LWNvbHVtbl09Im1hcHBpbmdUeXBlID09PSBtYXBwaW5nVHlwZUVudW0uUkVRVUVTVFMiPlxuICAgICAgICAgICAge3sgY29sdW1uLnRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCAqbWF0Q2VsbERlZj0ibGV0IG1hcHBpbmciIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5yZXF1ZXN0LWNvbHVtbl09Im1hcHBpbmdUeXBlID09PSBtYXBwaW5nVHlwZUVudW0uUkVRVUVTVFMiPlxuICAgICAgICAgICAge3sgbWFwcGluZ1tjb2x1bW4uZGVmXSB9fVxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iYWN0aW9ucyIgc3RpY2t5RW5kPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlLmd0LW1kXT0ieyBtaW5XaWR0aDogXCc5NnB4XCcsIG1heFdpZHRoOiBcJzk2cHhcJywgd2lkdGg6IFwnOTZweFwnLCB0ZXh0QWxpZ246IFwnY2VudGVyXCd9Ij5cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBtYXBwaW5nOyBsZXQgaSA9IGluZGV4IlxuICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZS5ndC1tZF09InsgbWluV2lkdGg6IFwnOTZweFwnLCBtYXhXaWR0aDogXCc5NnB4XCcsIHdpZHRoOiBcJzk2cHhcJ30iPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyb3dBY3Rpb25zPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZU1hcHBpbmcoJGV2ZW50LCBpKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZGVsZXRlXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJkZWxldGVNYXBwaW5nKCRldmVudCwgaSkiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uPmRlbGV0ZTwvdGItaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPGRpdiBmeEhpZGUgZnhTaG93Lmd0LW1kIGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJlbmQiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0icm93QWN0aW9ucyI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgZnhIaWRlIGZ4U2hvdy5sdC1sZyBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT0iY2VsbEFjdGlvbnNNZW51Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPG1hdC1tZW51ICNjZWxsQWN0aW9uc01lbnU9Im1hdE1lbnUiIHhQb3NpdGlvbj0iYmVmb3JlIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0icm93QWN0aW9ucyI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG1hdC1oZWFkZXItcm93IFtuZ0NsYXNzXT0ie1wnbWF0LXJvdy1zZWxlY3RcJzogdHJ1ZX0iICptYXRIZWFkZXJSb3dEZWY9ImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTogdHJ1ZSI+PC9tYXQtaGVhZGVyLXJvdz5cbiAgICAgICAgPG1hdC1yb3cgKm1hdFJvd0RlZj0ibGV0IG1hcHBpbmc7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7Ij48L21hdC1yb3c+XG4gICAgICA8L3RhYmxlPlxuICAgICAgPHNlY3Rpb24gW2Z4U2hvd109IiF0ZXh0U2VhcmNoTW9kZSAmJiAoZGF0YVNvdXJjZS5pc0VtcHR5KCkgfCBhc3luYykiIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiXG4gICAgICAgICAgICAgICBjbGFzcz0ibWF0LWhlYWRsaW5lLTUgdGItYWJzb2x1dGUtZmlsbCB0Yi1hZGQtbmV3Ij5cbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNsYXNzPSJjb25uZWN0b3IiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlTWFwcGluZygkZXZlbnQpIj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC05NiI+YWRkPC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3Bhbj57eyBcJ2dhdGV3YXkuYWRkLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gW2Z4U2hvd109InRleHRTZWFyY2hNb2RlICYmIChkYXRhU291cmNlLmlzRW1wdHkoKSB8IGFzeW5jKSJcbiAgICAgICAgICBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgIGNsYXNzPSJuby1kYXRhLWZvdW5kIiB0cmFuc2xhdGU+XG4gICAgICB3aWRnZXQubm8tZGF0YS1mb3VuZFxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6YmxvY2t9Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6I2ZmZjtvdmVyZmxvdzpoaWRkZW59Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudC50Yi1vdXRsaW5lZC1ib3JkZXJ7Ym94LXNoYWRvdzowIDAgIzAwMDMsMCAwICMwMDAwMDAyNCwwIDAgIzAwMDAwMDFmO2JvcmRlcjpzb2xpZCAxcHggI2UwZTBlMDtib3JkZXItcmFkaXVzOjRweH06aG9zdCAudGItbWFwcGluZy10YWJsZSAudGItbWFwcGluZy10YWJsZS1jb250ZW50IC5tYXQtdG9vbGJhci10b29sc3ttaW4taGVpZ2h0OmF1dG99Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAudGl0bGUtY29udGFpbmVye292ZXJmbG93OmhpZGRlbn06aG9zdCAudGItbWFwcGluZy10YWJsZSAudGItbWFwcGluZy10YWJsZS1jb250ZW50IC50Yi1tYXBwaW5nLXRhYmxlLXRpdGxle3BhZGRpbmctcmlnaHQ6MjBweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAudGFibGUtY29udGFpbmVye292ZXJmbG93OmF1dG99Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAudGFibGUtY29udGFpbmVyIC5tYXQtbWRjLXRhYmxle3RhYmxlLWxheW91dDpmaXhlZDttaW4td2lkdGg6NDUwcHh9Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAudGFibGUtY29udGFpbmVyIC5tYXQtbWRjLXRhYmxlIC50YWJsZS12YWx1ZS1jb2x1bW57cGFkZGluZzowIDEycHg7d2lkdGg6MjMlfTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lciAubWF0LW1kYy10YWJsZSAudGFibGUtdmFsdWUtY29sdW1uLnJlcXVlc3QtY29sdW1ue3dpZHRoOjM4JX06aG9zdCAudGItbWFwcGluZy10YWJsZSAudGItbWFwcGluZy10YWJsZS1jb250ZW50IC5lbGxpcHNpc3tvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306aG9zdCAubm8tZGF0YS1mb3VuZHtoZWlnaHQ6Y2FsYygxMDAlIC0gMTIwcHgpfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KXs6aG9zdCAubWF0LXRvb2xiYXJ7aGVpZ2h0OmF1dG87bWluLWhlaWdodDoxMDBweH06aG9zdCAubWF0LXRvb2xiYXIgLnRiLW1hcHBpbmctdGFibGUtdGl0bGV7cGFkZGluZy1ib3R0b206NXB4O3dpZHRoOjEwMCV9fTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxse2N1cnNvcjpwb2ludGVyfTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxsIC5tYXQtaWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4O2ZvbnQtc2l6ZToyNHB4O2NvbG9yOiM3NTc1NzV9XG4nXX1dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0eXBlOkplLk1hdERpYWxvZ30se3R5cGU6WC5EaWFsb2dTZXJ2aWNlfSx7dHlwZTptZS5Gb3JtQnVpbGRlcn1dLHByb3BEZWNvcmF0b3JzOntyZXF1aXJlZDpbe3R5cGU6YX1dLG1hcHBpbmdUeXBlOlt7dHlwZTphfV0sc2VhcmNoSW5wdXRGaWVsZDpbe3R5cGU6byxhcmdzOlsic2VhcmNoSW5wdXQiXX1dfX0pO2NsYXNzIHNvIGV4dGVuZHMgUntjb25zdHJ1Y3Rvcigpe3N1cGVyKCl9fWUoIk1hcHBpbmdEYXRhc291cmNlIixzbyk7Y2xhc3MgbG97Y29uc3RydWN0b3IoZSx0KXt0aGlzLmZiPWUsdGhpcy5jZHI9dCx0aGlzLnRpdGxlPSJnYXRld2F5LnNlY3VyaXR5Iix0aGlzLmV4dGVuZENlcnRpZmljYXRlc01vZGVsPSExLHRoaXMuQnJva2VyU2VjdXJpdHlUeXBlPXJuLHRoaXMuc2VjdXJpdHlUeXBlcz1PYmplY3QudmFsdWVzKHJuKSx0aGlzLm1vZGVUeXBlcz1PYmplY3QudmFsdWVzKHBuKSx0aGlzLlNlY3VyaXR5VHlwZVRyYW5zbGF0aW9uc01hcD1tbix0aGlzLmRlc3Ryb3kkPW5ldyBTZX1uZ09uSW5pdCgpe3RoaXMuc2VjdXJpdHlGb3JtR3JvdXA9dGhpcy5mYi5ncm91cCh7dHlwZTpbcm4uQU5PTllNT1VTLFtdXSx1c2VybmFtZTpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scGFzc3dvcmQ6WyIiLFt1ZS5wYXR0ZXJuKGt0KV1dLHBhdGhUb0NBQ2VydDpbIiIsW3VlLnBhdHRlcm4oa3QpXV0scGF0aFRvUHJpdmF0ZUtleTpbIiIsW3VlLnBhdHRlcm4oa3QpXV0scGF0aFRvQ2xpZW50Q2VydDpbIiIsW3VlLnBhdHRlcm4oa3QpXV19KSx0aGlzLmV4dGVuZENlcnRpZmljYXRlc01vZGVsJiZ0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmFkZENvbnRyb2woIm1vZGUiLHRoaXMuZmIuY29udHJvbChwbi5OT05FLFtdKSksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+dGhpcy51cGRhdGVWYWxpZGF0b3JzKGUpKSl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9d3JpdGVWYWx1ZShlKXtpZihlKWUudHlwZXx8KGUudHlwZT1ybi5BTk9OWU1PVVMpLHRoaXMudXBkYXRlVmFsaWRhdG9ycyhlLnR5cGUpLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAucmVzZXQoZSx7ZW1pdEV2ZW50OiExfSk7ZWxzZXtjb25zdCBlPXt0eXBlOnJuLkFOT05ZTU9VU307dGhpcy5zZWN1cml0eUZvcm1Hcm91cC5yZXNldChlLHtlbWl0RXZlbnQ6ITF9KX10aGlzLmNkci5tYXJrRm9yQ2hlY2soKX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgidHlwZSIpLnZhbHVlIT09cm4uQkFTSUN8fHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAudmFsaWQ/bnVsbDp7c2VjdXJpdHlGb3JtOnt2YWxpZDohMX19fXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9dXBkYXRlVmFsaWRhdG9ycyhlKXtpZihlKWlmKHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJ1c2VybmFtZSIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJwYXNzd29yZCIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJwYXRoVG9DQUNlcnQiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgicGF0aFRvUHJpdmF0ZUtleSIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJwYXRoVG9DbGllbnRDZXJ0IikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoIm1vZGUiKT8uZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksZT09PXJuLkJBU0lDKXRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJ1c2VybmFtZSIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoInBhc3N3b3JkIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KTtlbHNlIGlmKGU9PT1ybi5DRVJUSUZJQ0FURVMmJih0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgicGF0aFRvQ0FDZXJ0IikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgicGF0aFRvUHJpdmF0ZUtleSIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoInBhdGhUb0NsaWVudENlcnQiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuZXh0ZW5kQ2VydGlmaWNhdGVzTW9kZWwpKXtjb25zdCBlPXRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJtb2RlIik7ZSYmIWUudmFsdWUmJmUuc2V0VmFsdWUocG4uTk9ORSx7ZW1pdEV2ZW50OiExfSksZT8uZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgidXNlcm5hbWUiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJwYXNzd29yZCIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSl9fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6bG8sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfSx7dG9rZW46dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6bG8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1zZWN1cml0eS1jb25maWciLGlucHV0czp7dGl0bGU6InRpdGxlIixleHRlbmRDZXJ0aWZpY2F0ZXNNb2RlbDoiZXh0ZW5kQ2VydGlmaWNhdGVzTW9kZWwifSxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5sbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+bG8pKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHNhbWUtcGFkZGluZyB0Yi1mbGV4IGNvbHVtbiIgW2Zvcm1Hcm91cF09InNlY3VyaXR5Rm9ybUdyb3VwIj5cbiAgPGRpdiBjbGFzcz0idGItZmxleCByb3cgc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIgbm8tZ2FwIGZpbGwtd2lkdGgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIj57eyB0aXRsZSB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNlY3VyaXR5VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICB7eyBTZWN1cml0eVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlIj5cbiAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkJyb2tlclNlY3VyaXR5VHlwZS5CQVNJQyI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS51c2VybmFtZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ1c2VybmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS51c2VybmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndXNlcm5hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndXNlcm5hbWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5wYXNzd29yZDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJwYXNzd29yZCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icGFzc3dvcmQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAgYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0IiBtYXRTdWZmaXg+XG4gICAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1wYXNzd29yZCBjbGFzcz0idGItZmxleCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiPjwvdGItdG9nZ2xlLXBhc3N3b3JkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJCcm9rZXJTZWN1cml0eVR5cGUuQ0VSVElGSUNBVEVTIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwiPnt7IFwnZ2F0ZXdheS5wYXRoLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuQ0EtY2VydGlmaWNhdGUtcGF0aDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwYXRoVG9DQUNlcnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucHJpdmF0ZS1rZXktcGF0aDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwYXRoVG9Qcml2YXRlS2V5IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmNsaWVudC1jZXJ0LXBhdGg8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icGF0aFRvQ2xpZW50Q2VydCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJleHRlbmRDZXJ0aWZpY2F0ZXNNb2RlbCI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkubW9kZTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibW9kZSI+XG4gICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBtb2RlVHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAge3sgdHlwZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudXNlcm5hbWU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idXNlcm5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS51c2VybmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd1c2VybmFtZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3VzZXJuYW1lXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnBhc3N3b3JkPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwYXNzd29yZCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiIG1hdFN1ZmZpeD5cbiAgICAgICAgICAgICAgICA8dGItdG9nZ2xlLXBhc3N3b3JkIGNsYXNzPSJ0Yi1mbGV4IGFsaWduLWNlbnRlciBmaWxsLWhlaWdodCI+PC90Yi10b2dnbGUtcGFzc3dvcmQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9ja31cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdTd2l0Y2gsc2VsZWN0b3I6IltuZ1N3aXRjaF0iLGlucHV0czpbIm5nU3dpdGNoIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaENhc2Usc2VsZWN0b3I6IltuZ1N3aXRjaENhc2VdIixpbnB1dHM6WyJuZ1N3aXRjaENhc2UiXX0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp0dC5Ub2dnbGVQYXNzd29yZENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXBhc3N3b3JkIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpudC5Ub2dnbGVPcHRpb24sc2VsZWN0b3I6InRiLXRvZ2dsZS1vcHRpb24iLGlucHV0czpbInZhbHVlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YXQuVG9nZ2xlU2VsZWN0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi10b2dnbGUtc2VsZWN0IixpbnB1dHM6WyJkaXNhYmxlZCIsInNlbGVjdE1lZGlhQnJlYWtwb2ludCIsImFwcGVhcmFuY2UiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImZpbGxIZWlnaHQiLCJleHRyYVBhZGRpbmciLCJwcmltYXJ5QmFja2dyb3VuZCJdfV0sY2hhbmdlRGV0ZWN0aW9uOnQuQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNofSl9fWUoIlNlY3VyaXR5Q29uZmlnQ29tcG9uZW50IixsbyksSGUoW04oKV0sbG8ucHJvdG90eXBlLCJleHRlbmRDZXJ0aWZpY2F0ZXNNb2RlbCIsdm9pZCAwKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmxvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1zZWN1cml0eS1jb25maWciLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5sbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+bG8pKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxEXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gc2FtZS1wYWRkaW5nIHRiLWZsZXggY29sdW1uIiBbZm9ybUdyb3VwXT0ic2VjdXJpdHlGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHJvdyBzcGFjZS1iZXR3ZWVuIGFsaWduLWNlbnRlciBuby1nYXAgZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiPnt7IHRpdGxlIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgPHRiLXRvZ2dsZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIiBhcHBlYXJhbmNlPSJmaWxsIj5cbiAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2Ygc2VjdXJpdHlUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgIHt7IFNlY3VyaXR5VHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQnJva2VyU2VjdXJpdHlUeXBlLkJBU0lDIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnVzZXJuYW1lPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InVzZXJuYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnVzZXJuYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd1c2VybmFtZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd1c2VybmFtZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnBhc3N3b3JkPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwYXNzd29yZCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiIG1hdFN1ZmZpeD5cbiAgICAgICAgICAgICAgICA8dGItdG9nZ2xlLXBhc3N3b3JkIGNsYXNzPSJ0Yi1mbGV4IGFsaWduLWNlbnRlciBmaWxsLWhlaWdodCI+PC90Yi10b2dnbGUtcGFzc3dvcmQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkJyb2tlclNlY3VyaXR5VHlwZS5DRVJUSUZJQ0FURVMiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCI+e3sgXCdnYXRld2F5LnBhdGgtaGludFwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5DQS1jZXJ0aWZpY2F0ZS1wYXRoPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhdGhUb0NBQ2VydCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5wcml2YXRlLWtleS1wYXRoPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhdGhUb1ByaXZhdGVLZXkiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuY2xpZW50LWNlcnQtcGF0aDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwYXRoVG9DbGllbnRDZXJ0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9ImV4dGVuZENlcnRpZmljYXRlc01vZGVsIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5tb2RlPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtb2RlIj5cbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIG1vZGVUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAgICB7eyB0eXBlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS51c2VybmFtZTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ1c2VybmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnVzZXJuYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3VzZXJuYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndXNlcm5hbWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucGFzc3dvcmQ8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhc3N3b3JkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGFsaWduLWNlbnRlciBmaWxsLWhlaWdodCIgbWF0U3VmZml4PlxuICAgICAgICAgICAgICAgIDx0Yi10b2dnbGUtcGFzc3dvcmQgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0Ij48L3RiLXRvZ2dsZS1wYXNzd29yZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9LHt0eXBlOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9XSxwcm9wRGVjb3JhdG9yczp7dGl0bGU6W3t0eXBlOmF9XSxleHRlbmRDZXJ0aWZpY2F0ZXNNb2RlbDpbe3R5cGU6YX1dfX0pO2NsYXNzIGNve2NvbnN0cnVjdG9yKGUpe3RoaXMuZmI9ZSx0aGlzLmhpZGVOZXdGaWVsZHM9ITEsdGhpcy5zZWN1cml0eVBvbGljeVR5cGVzPV9uLHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMuc2VydmVyQ29uZmlnRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe3VybDpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sdGltZW91dEluTWlsbGlzOlsxZTMsW3VlLnJlcXVpcmVkLHVlLm1pbigxZTMpXV0sc2NhblBlcmlvZEluTWlsbGlzOltWLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMWUzKV1dLHBvbGxQZXJpb2RJbk1pbGxpczpbNWUzLFt1ZS5yZXF1aXJlZCx1ZS5taW4oNTApXV0sZW5hYmxlU3Vic2NyaXB0aW9uczpbITAsW11dLHN1YkNoZWNrUGVyaW9kSW5NaWxsaXM6WzEwMCxbdWUucmVxdWlyZWQsdWUubWluKDEwMCldXSxzaG93TWFwOlshMSxbXV0sc2VjdXJpdHk6W1VuLkJBU0lDMTI4LFtdXSxpZGVudGl0eTpbXX0pLHRoaXMuc2VydmVyQ29uZmlnRm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLm9uQ2hhbmdlKGUpLHRoaXMub25Ub3VjaGVkKCl9KSl9bmdBZnRlclZpZXdJbml0KCl7dGhpcy5oaWRlTmV3RmllbGRzJiZ0aGlzLnNlcnZlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoInBvbGxQZXJpb2RJbk1pbGxpcyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5zZXJ2ZXJDb25maWdGb3JtR3JvdXAudmFsaWQ/bnVsbDp7c2VydmVyQ29uZmlnRm9ybUdyb3VwOnt2YWxpZDohMX19fXdyaXRlVmFsdWUoZSl7Y29uc3R7dGltZW91dEluTWlsbGlzOnQ9MWUzLHNjYW5QZXJpb2RJbk1pbGxpczpuPVYscG9sbFBlcmlvZEluTWlsbGlzOmE9NWUzLGVuYWJsZVN1YnNjcmlwdGlvbnM6bz0hMCxzdWJDaGVja1BlcmlvZEluTWlsbGlzOmk9MTAwLHNob3dNYXA6cj0hMSxzZWN1cml0eTpzPVVuLkJBU0lDMTI4LGlkZW50aXR5Omw9e319PWU7dGhpcy5zZXJ2ZXJDb25maWdGb3JtR3JvdXAucmVzZXQoey4uLmUsdGltZW91dEluTWlsbGlzOnQsc2NhblBlcmlvZEluTWlsbGlzOm4scG9sbFBlcmlvZEluTWlsbGlzOmEsZW5hYmxlU3Vic2NyaXB0aW9uczpvLHN1YkNoZWNrUGVyaW9kSW5NaWxsaXM6aSxzaG93TWFwOnIsc2VjdXJpdHk6cyxpZGVudGl0eTpsfSx7ZW1pdEV2ZW50OiExfSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpjbyxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOmNvLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItb3BjLXNlcnZlci1jb25maWciLGlucHV0czp7aGlkZU5ld0ZpZWxkczoiaGlkZU5ld0ZpZWxkcyJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PmNvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5jbykpLG11bHRpOiEwfV0sbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiIFtmb3JtR3JvdXBdPSJzZXJ2ZXJDb25maWdGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGJUcnVuY2F0ZVdpdGhUb29sdGlwIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci11cmw8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idXJsIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuc2VydmVyLXVybC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndXJsXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndXJsXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5vcGMtdGltZW91dFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS50aW1lb3V0XCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjEwMDAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRpbWVvdXRJbk1pbGxpcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkudGltZW91dC1lcnJvclwnIHwgdHJhbnNsYXRlOiB7bWluOiAxMDAwfSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSIoc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3RpbWVvdXRJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3RpbWVvdXRJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ21pblwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndGltZW91dEluTWlsbGlzXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5zZWN1cml0eS1wb2xpY3lcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkuc2VjdXJpdHktcG9saWN5XCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5Ij5cbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB2ZXJzaW9uIG9mIHNlY3VyaXR5UG9saWN5VHlwZXMiIFt2YWx1ZV09InZlcnNpb24udmFsdWUiPnt7IHZlcnNpb24ubmFtZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLnNjYW4tcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgXCdnYXRld2F5LnNjYW4tcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjEwMDAiIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJzY2FuUGVyaW9kSW5NaWxsaXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iXCdnYXRld2F5LnNjYW4tcGVyaW9kLWVycm9yXCcgfCB0cmFuc2xhdGU6IHttaW46IDEwMDB9IlxuICAgICAgICAgICAgICAgICAgKm5nSWY9IihzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2NhblBlcmlvZEluTWlsbGlzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2NhblBlcmlvZEluTWlsbGlzXCcpLmhhc0Vycm9yKFwnbWluXCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzY2FuUGVyaW9kSW5NaWxsaXNcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgd2FybmluZ1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9IiFoaWRlTmV3RmllbGRzIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iNTAiIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJwb2xsUGVyaW9kSW5NaWxsaXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iXCdnYXRld2F5LnBvbGwtcGVyaW9kLWVycm9yXCcgfCB0cmFuc2xhdGU6IHttaW46IDUwfSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSIoc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvbGxQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvbGxQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ21pblwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9sbFBlcmlvZEluTWlsbGlzXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5zdWItY2hlY2stcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgXCdnYXRld2F5LnN1Yi1jaGVjay1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMTAwIiBuYW1lPSJ2YWx1ZSJcbiAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0ic3ViQ2hlY2tQZXJpb2RJbk1pbGxpcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkuc3ViLWNoZWNrLXBlcmlvZC1lcnJvclwnIHwgdHJhbnNsYXRlOiB7bWluOiAxMDB9IlxuICAgICAgICAgICAgICAgICAgKm5nSWY9IihzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc3ViQ2hlY2tQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3N1YkNoZWNrUGVyaW9kSW5NaWxsaXNcJykuaGFzRXJyb3IoXCdtaW5cJykpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3N1YkNoZWNrUGVyaW9kSW5NaWxsaXNcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgd2FybmluZ1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJlbmFibGVTdWJzY3JpcHRpb25zIj5cbiAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5lbmFibGUtc3Vic2NyaXB0aW9uXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkuZW5hYmxlLXN1YnNjcmlwdGlvblwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8L21hdC1sYWJlbD5cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic2hvd01hcCI+XG4gICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMuc2hvdy1tYXBcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgIHt7IFwnZ2F0ZXdheS5zaG93LW1hcFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1sYWJlbD5cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvZGl2PlxuICA8dGItc2VjdXJpdHktY29uZmlnIGZvcm1Db250cm9sTmFtZT0iaWRlbnRpdHkiXG4gICAgICAgICAgICAgICAgICAgICAgW2V4dGVuZENlcnRpZmljYXRlc01vZGVsXT0idHJ1ZSI+XG4gIDwvdGItc2VjdXJpdHktY29uZmlnPlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdFN1ZmZpeCxzZWxlY3RvcjoiW21hdFN1ZmZpeF0sIFttYXRJY29uU3VmZml4XSwgW21hdFRleHRTdWZmaXhdIixpbnB1dHM6WyJtYXRUZXh0U3VmZml4Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpDZS5NYXRPcHRpb24sc2VsZWN0b3I6Im1hdC1vcHRpb24iLGlucHV0czpbInZhbHVlIiwiaWQiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJvblNlbGVjdGlvbkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0T3B0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6emUuTWF0VG9vbHRpcCxzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixpbnB1dHM6WyJtYXRUb29sdGlwUG9zaXRpb24iLCJtYXRUb29sdGlwUG9zaXRpb25BdE9yaWdpbiIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBTaG93RGVsYXkiLCJtYXRUb29sdGlwSGlkZURlbGF5IiwibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcENsYXNzIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6ZXQuTWF0U2xpZGVUb2dnbGUsc2VsZWN0b3I6Im1hdC1zbGlkZS10b2dnbGUiLGlucHV0czpbIm5hbWUiLCJpZCIsImxhYmVsUG9zaXRpb24iLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsInJlcXVpcmVkIiwiY29sb3IiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImNoZWNrZWQiLCJoaWRlSWNvbiIsImRpc2FibGVkSW50ZXJhY3RpdmUiXSxvdXRwdXRzOlsiY2hhbmdlIiwidG9nZ2xlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlllLlRydW5jYXRlV2l0aFRvb2x0aXBEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0b29sdGlwRW5hYmxlZCIsInBvc2l0aW9uIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlkuVHJhbnNsYXRlRGlyZWN0aXZlLHNlbGVjdG9yOiJbdHJhbnNsYXRlXSxbbmd4LXRyYW5zbGF0ZV0iLGlucHV0czpbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZVBhcmFtcyJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnV0LkhpbnRUb29sdGlwSWNvbkNvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhpbnQtdG9vbHRpcC1pY29uXSIsaW5wdXRzOlsidGItaGludC10b29sdGlwLWljb24iLCJ0b29sdGlwUG9zaXRpb24iLCJoaW50SWNvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmxvLHNlbGVjdG9yOiJ0Yi1zZWN1cml0eS1jb25maWciLGlucHV0czpbInRpdGxlIiwiZXh0ZW5kQ2VydGlmaWNhdGVzTW9kZWwiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJPcGNTZXJ2ZXJDb25maWdDb21wb25lbnQiLGNvKSxIZShbTigpXSxjby5wcm90b3R5cGUsImhpZGVOZXdGaWVsZHMiLHZvaWQgMCksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpjbyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItb3BjLXNlcnZlci1jb25maWciLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5jbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+Y28pKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxELGxvLFNhXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiIFtmb3JtR3JvdXBdPSJzZXJ2ZXJDb25maWdGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGJUcnVuY2F0ZVdpdGhUb29sdGlwIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci11cmw8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idXJsIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuc2VydmVyLXVybC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndXJsXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndXJsXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5vcGMtdGltZW91dFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS50aW1lb3V0XCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjEwMDAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRpbWVvdXRJbk1pbGxpcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkudGltZW91dC1lcnJvclwnIHwgdHJhbnNsYXRlOiB7bWluOiAxMDAwfSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSIoc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3RpbWVvdXRJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3RpbWVvdXRJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ21pblwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndGltZW91dEluTWlsbGlzXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5zZWN1cml0eS1wb2xpY3lcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkuc2VjdXJpdHktcG9saWN5XCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5Ij5cbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB2ZXJzaW9uIG9mIHNlY3VyaXR5UG9saWN5VHlwZXMiIFt2YWx1ZV09InZlcnNpb24udmFsdWUiPnt7IHZlcnNpb24ubmFtZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLnNjYW4tcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgXCdnYXRld2F5LnNjYW4tcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjEwMDAiIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJzY2FuUGVyaW9kSW5NaWxsaXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iXCdnYXRld2F5LnNjYW4tcGVyaW9kLWVycm9yXCcgfCB0cmFuc2xhdGU6IHttaW46IDEwMDB9IlxuICAgICAgICAgICAgICAgICAgKm5nSWY9IihzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2NhblBlcmlvZEluTWlsbGlzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2NhblBlcmlvZEluTWlsbGlzXCcpLmhhc0Vycm9yKFwnbWluXCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzY2FuUGVyaW9kSW5NaWxsaXNcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgd2FybmluZ1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9IiFoaWRlTmV3RmllbGRzIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iNTAiIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJwb2xsUGVyaW9kSW5NaWxsaXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iXCdnYXRld2F5LnBvbGwtcGVyaW9kLWVycm9yXCcgfCB0cmFuc2xhdGU6IHttaW46IDUwfSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSIoc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvbGxQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvbGxQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ21pblwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9sbFBlcmlvZEluTWlsbGlzXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5zdWItY2hlY2stcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgXCdnYXRld2F5LnN1Yi1jaGVjay1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMTAwIiBuYW1lPSJ2YWx1ZSJcbiAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0ic3ViQ2hlY2tQZXJpb2RJbk1pbGxpcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkuc3ViLWNoZWNrLXBlcmlvZC1lcnJvclwnIHwgdHJhbnNsYXRlOiB7bWluOiAxMDB9IlxuICAgICAgICAgICAgICAgICAgKm5nSWY9IihzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc3ViQ2hlY2tQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3N1YkNoZWNrUGVyaW9kSW5NaWxsaXNcJykuaGFzRXJyb3IoXCdtaW5cJykpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3N1YkNoZWNrUGVyaW9kSW5NaWxsaXNcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgd2FybmluZ1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJlbmFibGVTdWJzY3JpcHRpb25zIj5cbiAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5lbmFibGUtc3Vic2NyaXB0aW9uXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkuZW5hYmxlLXN1YnNjcmlwdGlvblwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8L21hdC1sYWJlbD5cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic2hvd01hcCI+XG4gICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMuc2hvdy1tYXBcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgIHt7IFwnZ2F0ZXdheS5zaG93LW1hcFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1sYWJlbD5cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvZGl2PlxuICA8dGItc2VjdXJpdHktY29uZmlnIGZvcm1Db250cm9sTmFtZT0iaWRlbnRpdHkiXG4gICAgICAgICAgICAgICAgICAgICAgW2V4dGVuZENlcnRpZmljYXRlc01vZGVsXT0idHJ1ZSI+XG4gIDwvdGItc2VjdXJpdHktY29uZmlnPlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9XSxwcm9wRGVjb3JhdG9yczp7aGlkZU5ld0ZpZWxkczpbe3R5cGU6YX1dfX0pO2NsYXNzIHBvIGV4dGVuZHMgeWF7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubWFwcGluZ1R5cGVzPWZuLHRoaXMuaXNMZWdhY3k9ITF9aW5pdEJhc2ljRm9ybUdyb3VwKCl7cmV0dXJuIHRoaXMuZmIuZ3JvdXAoe21hcHBpbmc6W10sc2VydmVyOltdfSl9bWFwQ29uZmlnVG9Gb3JtVmFsdWUoZSl7cmV0dXJue3NlcnZlcjplLnNlcnZlcj8/e30sbWFwcGluZzplLm1hcHBpbmc/P1tdfX1nZXRNYXBwZWRWYWx1ZShlKXtyZXR1cm57c2VydmVyOmUuc2VydmVyLG1hcHBpbmc6ZS5tYXBwaW5nfX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnBvLGRlcHM6bnVsbCx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOnBvLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItb3BjLXVhLWJhc2ljLWNvbmZpZyIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+cG8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PnBvKSksbXVsdGk6ITB9XSx1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdGFiLWdyb3VwIFtmb3JtR3JvdXBdPSJiYXNpY0Zvcm1Hcm91cCI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZ2VuZXJhbFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuc2VydmVyXCcgfCB0cmFuc2xhdGUgfX0qIj5cbiAgICA8dGItb3BjLXNlcnZlci1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZXJ2ZXIiIFtoaWRlTmV3RmllbGRzXT0iaXNMZWdhY3kiPjwvdGItb3BjLXNlcnZlci1jb25maWc+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5kYXRhLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AgdGItZmxleCBmaWxsLWhlaWdodCI+XG4gICAgICA8dGItbWFwcGluZy10YWJsZSBmb3JtQ29udHJvbE5hbWU9Im1hcHBpbmciIFtyZXF1aXJlZF09InRydWUiIFttYXBwaW5nVHlwZV09Im1hcHBpbmdUeXBlcy5PUENVQSI+PC90Yi1tYXBwaW5nLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLXRhYi1ncm91cCw6aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWJvZHktd3JhcHBlcntoZWlnaHQ6MTAwJX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1RlbXBsYXRlT3V0bGV0LHNlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0iLGlucHV0czpbIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IiwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRJbmplY3RvciJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6cm8sc2VsZWN0b3I6InRiLW1hcHBpbmctdGFibGUiLGlucHV0czpbInJlcXVpcmVkIiwibWFwcGluZ1R5cGUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpjbyxzZWxlY3RvcjoidGItb3BjLXNlcnZlci1jb25maWciLGlucHV0czpbImhpZGVOZXdGaWVsZHMiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJPcGNVYUJhc2ljQ29uZmlnQ29tcG9uZW50IixwbyksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpwbyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItb3BjLXVhLWJhc2ljLWNvbmZpZyIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PnBvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5wbykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsbG8scm8sY29dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10YWItZ3JvdXAgW2Zvcm1Hcm91cF09ImJhc2ljRm9ybUdyb3VwIj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5nZW5lcmFsXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJnZW5lcmFsVGFiQ29udGVudCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5zZXJ2ZXJcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDx0Yi1vcGMtc2VydmVyLWNvbmZpZyBmb3JtQ29udHJvbE5hbWU9InNlcnZlciIgW2hpZGVOZXdGaWVsZHNdPSJpc0xlZ2FjeSI+PC90Yi1vcGMtc2VydmVyLWNvbmZpZz5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmRhdGEtbWFwcGluZ1wnIHwgdHJhbnNsYXRlIH19KiI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCB0Yi1mbGV4IGZpbGwtaGVpZ2h0Ij5cbiAgICAgIDx0Yi1tYXBwaW5nLXRhYmxlIGZvcm1Db250cm9sTmFtZT0ibWFwcGluZyIgW3JlcXVpcmVkXT0idHJ1ZSIgW21hcHBpbmdUeXBlXT0ibWFwcGluZ1R5cGVzLk9QQ1VBIj48L3RiLW1hcHBpbmctdGFibGU+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHtoZWlnaHQ6MTAwJX06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWdyb3VwLDpob3N0IDo6bmctZGVlcCAubWF0LW1kYy10YWItYm9keS13cmFwcGVye2hlaWdodDoxMDAlfVxuJ119XX1dfSk7Y2xhc3MgbW97Y29uc3RydWN0b3IoZSx0KXt0aGlzLmZiPWUsdGhpcy5jZHI9dCx0aGlzLm1xdHRWZXJzaW9ucz1nbix0aGlzLnBvcnRMaW1pdHM9RXQsdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5icm9rZXJDb25maWdGb3JtR3JvdXA9dGhpcy5mYi5ncm91cCh7aG9zdDpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scG9ydDpbbnVsbCxbdWUucmVxdWlyZWQsdWUubWluKEV0Lk1JTiksdWUubWF4KEV0Lk1BWCldXSx2ZXJzaW9uOls1LFtdXSxjbGllbnRJZDpbInRiX2d3XyIrc2UoNSksW3VlLnBhdHRlcm4oa3QpXV0sc2VjdXJpdHk6W119KSx0aGlzLmJyb2tlckNvbmZpZ0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfWdlbmVyYXRlKGUpe3RoaXMuYnJva2VyQ29uZmlnRm9ybUdyb3VwLmdldChlKT8ucGF0Y2hWYWx1ZSgidGJfZ3dfIitzZSg1KSl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLm9uQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7dGhpcy5vblRvdWNoZWQ9ZX13cml0ZVZhbHVlKGUpe2NvbnN0e3ZlcnNpb246dD01LGNsaWVudElkOm49YHRiX2d3XyR7c2UoNSl9YCxzZWN1cml0eTphPXt9fT1lO3RoaXMuYnJva2VyQ29uZmlnRm9ybUdyb3VwLnJlc2V0KHsuLi5lLHZlcnNpb246dCxjbGllbnRJZDpuLHNlY3VyaXR5OmF9LHtlbWl0RXZlbnQ6ITF9KSx0aGlzLmNkci5tYXJrRm9yQ2hlY2soKX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLmJyb2tlckNvbmZpZ0Zvcm1Hcm91cC52YWxpZD9udWxsOnticm9rZXJDb25maWdGb3JtR3JvdXA6e3ZhbGlkOiExfX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTptbyxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjp0LkNoYW5nZURldGVjdG9yUmVmfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTptbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLWJyb2tlci1jb25maWctY29udHJvbCIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+bW8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9Pm1vKSksbXVsdGk6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCIgW2Zvcm1Hcm91cF09ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5ob3N0PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9Imhvc3QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5ob3N0LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdob3N0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICB3YXJuaW5nXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnBvcnQ8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49Int7cG9ydExpbWl0cy5NSU59fSIgbWF4PSJ7e3BvcnRMaW1pdHMuTUFYfX0iXG4gICAgICAgICAgICAgICBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpIHwgZ2V0R2F0ZXdheVBvcnRUb29sdGlwIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9Iihicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICB3YXJuaW5nXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5Lm1xdHQtdmVyc2lvbjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idmVyc2lvbiI+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdmVyc2lvbiBvZiBtcXR0VmVyc2lvbnMiIFt2YWx1ZV09InZlcnNpb24udmFsdWUiPnt7IHZlcnNpb24ubmFtZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jbGllbnQtaWQ8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY2xpZW50SWQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0iR2VuZXJhdGUiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmdlbmVyYXRlLWNsaWVudC1pZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0iZ2VuZXJhdGUoXCdjbGllbnRJZFwnKSJcbiAgICAgICAgICAgICAgICAqbmdJZj0iIWJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdjbGllbnRJZFwnKS52YWx1ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPmF1dG9yZW5ldzwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDx0Yi1zZWN1cml0eS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZWN1cml0eSI+XG4gIDwvdGItc2VjdXJpdHktY29uZmlnPlxuPC9kaXY+XG4nLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRTdWZmaXgsc2VsZWN0b3I6IlttYXRTdWZmaXhdLCBbbWF0SWNvblN1ZmZpeF0sIFttYXRUZXh0U3VmZml4XSIsaW5wdXRzOlsibWF0VGV4dFN1ZmZpeCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOndlLk1hdFNlbGVjdCxzZWxlY3RvcjoibWF0LXNlbGVjdCIsaW5wdXRzOlsiYXJpYS1kZXNjcmliZWRieSIsInBhbmVsQ2xhc3MiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3IiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwibXVsdGlwbGUiLCJkaXNhYmxlT3B0aW9uQ2VudGVyaW5nIiwiY29tcGFyZVdpdGgiLCJ2YWx1ZSIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJlcnJvclN0YXRlTWF0Y2hlciIsInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLCJzb3J0Q29tcGFyYXRvciIsImlkIiwicGFuZWxXaWR0aCJdLG91dHB1dHM6WyJvcGVuZWRDaGFuZ2UiLCJvcGVuZWQiLCJjbG9zZWQiLCJzZWxlY3Rpb25DaGFuZ2UiLCJ2YWx1ZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2VsZWN0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWF4VmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttYXhdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtuZ01vZGVsXSIsaW5wdXRzOlsibWF4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpsbyxzZWxlY3RvcjoidGItc2VjdXJpdHktY29uZmlnIixpbnB1dHM6WyJ0aXRsZSIsImV4dGVuZENlcnRpZmljYXRlc01vZGVsIl19LHtraW5kOiJwaXBlIix0eXBlOndhLG5hbWU6ImdldEdhdGV3YXlQb3J0VG9vbHRpcCJ9XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19ZSgiQnJva2VyQ29uZmlnQ29udHJvbENvbXBvbmVudCIsbW8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6bW8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWJyb2tlci1jb25maWctY29udHJvbCIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxELGxvLHdhXSxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5tbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+bW8pKSxtdWx0aTohMH1dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCIgW2Zvcm1Hcm91cF09ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5ob3N0PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9Imhvc3QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5ob3N0LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdob3N0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICB3YXJuaW5nXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnBvcnQ8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49Int7cG9ydExpbWl0cy5NSU59fSIgbWF4PSJ7e3BvcnRMaW1pdHMuTUFYfX0iXG4gICAgICAgICAgICAgICBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpIHwgZ2V0R2F0ZXdheVBvcnRUb29sdGlwIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9Iihicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICB3YXJuaW5nXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5Lm1xdHQtdmVyc2lvbjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idmVyc2lvbiI+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdmVyc2lvbiBvZiBtcXR0VmVyc2lvbnMiIFt2YWx1ZV09InZlcnNpb24udmFsdWUiPnt7IHZlcnNpb24ubmFtZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jbGllbnQtaWQ8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY2xpZW50SWQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0iR2VuZXJhdGUiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmdlbmVyYXRlLWNsaWVudC1pZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0iZ2VuZXJhdGUoXCdjbGllbnRJZFwnKSJcbiAgICAgICAgICAgICAgICAqbmdJZj0iIWJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdjbGllbnRJZFwnKS52YWx1ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPmF1dG9yZW5ldzwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDx0Yi1zZWN1cml0eS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZWN1cml0eSI+XG4gIDwvdGItc2VjdXJpdHktY29uZmlnPlxuPC9kaXY+XG4nfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTp0LkNoYW5nZURldGVjdG9yUmVmfV19KTtjbGFzcyB1b3tjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy53b3JrZXJzQ29uZmlnRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe21heE51bWJlck9mV29ya2VyczpbMTAwLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSldXSxtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyOlsxMCxbdWUucmVxdWlyZWQsdWUubWluKDEpXV19KSx0aGlzLndvcmtlcnNDb25maWdGb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMub25DaGFuZ2UoZSksdGhpcy5vblRvdWNoZWQoKX0pKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMub25DaGFuZ2U9ZX1yZWdpc3Rlck9uVG91Y2hlZChlKXt0aGlzLm9uVG91Y2hlZD1lfXdyaXRlVmFsdWUoZSl7Y29uc3R7bWF4TnVtYmVyT2ZXb3JrZXJzOnQsbWF4TWVzc2FnZU51bWJlclBlcldvcmtlcjpufT1lO3RoaXMud29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cC5yZXNldCh7bWF4TnVtYmVyT2ZXb3JrZXJzOnR8fDEwMCxtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyOm58fDEwfSx7ZW1pdEV2ZW50OiExfSl9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy53b3JrZXJzQ29uZmlnRm9ybUdyb3VwLnZhbGlkP251bGw6e3dvcmtlcnNDb25maWdGb3JtR3JvdXA6e3ZhbGlkOiExfX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTp1byxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOnVvLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItd29ya2Vycy1jb25maWctY29udHJvbCIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+dW8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PnVvKSksbXVsdGk6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCIgW2Zvcm1Hcm91cF09IndvcmtlcnNDb25maWdGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgW3N0eWxlLndpZHRoLiVdPSI1MCJcbiAgICAgICAgIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkubWF4LW51bWJlci1vZi13b3JrZXJzLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkubWF4LW51bWJlci1vZi13b3JrZXJzXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIHR5cGU9Im51bWJlciIgbWluPSIxIiBmb3JtQ29udHJvbE5hbWU9Im1heE51bWJlck9mV29ya2VycyJcbiAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5tYXgtbnVtYmVyLW9mLXdvcmtlcnMtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAqbmdJZj0id29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdtYXhOdW1iZXJPZldvcmtlcnNcJykuaGFzRXJyb3IoXCdtaW5cJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAod29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdtYXhOdW1iZXJPZldvcmtlcnNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcnNDb25maWdGb3JtR3JvdXAuZ2V0KFwnbWF4TnVtYmVyT2ZXb3JrZXJzXCcpLnRvdWNoZWQpIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICB3YXJuaW5nXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIFtzdHlsZS53aWR0aC4lXT0iNTAiXG4gICAgICAgICB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5Lm1heC1tZXNzYWdlcy1xdWV1ZS1mb3Itd29ya2VyLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkubWF4LW1lc3NhZ2VzLXF1ZXVlLWZvci13b3JrZXJcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgdHlwZT0ibnVtYmVyIiBtaW49IjEiIGZvcm1Db250cm9sTmFtZT0ibWF4TWVzc2FnZU51bWJlclBlcldvcmtlciJcbiAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5tYXgtbWVzc2FnZXMtcXVldWUtZm9yLXdvcmtlci1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJ3b3JrZXJzQ29uZmlnRm9ybUdyb3VwLmdldChcJ21heE1lc3NhZ2VOdW1iZXJQZXJXb3JrZXJcJykuaGFzRXJyb3IoXCdtaW5cJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAod29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JrZXJzQ29uZmlnRm9ybUdyb3VwLmdldChcJ21heE1lc3NhZ2VOdW1iZXJQZXJXb3JrZXJcJykudG91Y2hlZCkiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdFN1ZmZpeCxzZWxlY3RvcjoiW21hdFN1ZmZpeF0sIFttYXRJY29uU3VmZml4XSwgW21hdFRleHRTdWZmaXhdIixpbnB1dHM6WyJtYXRUZXh0U3VmZml4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6emUuTWF0VG9vbHRpcCxzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixpbnB1dHM6WyJtYXRUb29sdGlwUG9zaXRpb24iLCJtYXRUb29sdGlwUG9zaXRpb25BdE9yaWdpbiIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBTaG93RGVsYXkiLCJtYXRUb29sdGlwSGlkZURlbGF5IiwibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcENsYXNzIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTnVtYmVyVmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbmdNb2RlbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5NaW5WYWxpZGF0b3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW25nTW9kZWxdIixpbnB1dHM6WyJtaW4iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WWUuVHJ1bmNhdGVXaXRoVG9vbHRpcERpcmVjdGl2ZSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dXQuSGludFRvb2x0aXBJY29uQ29tcG9uZW50LHNlbGVjdG9yOiJbdGItaGludC10b29sdGlwLWljb25dIixpbnB1dHM6WyJ0Yi1oaW50LXRvb2x0aXAtaWNvbiIsInRvb2x0aXBQb3NpdGlvbiIsImhpbnRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6U2Esc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0b29sdGlwRW5hYmxlZCIsInBvc2l0aW9uIl19XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19ZSgiV29ya2Vyc0NvbmZpZ0NvbnRyb2xDb21wb25lbnQiLHVvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnVvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi13b3JrZXJzLWNvbmZpZy1jb250cm9sIixjaGFuZ2VEZXRlY3Rpb246ZC5PblB1c2gsc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsU2FdLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PnVvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT51bykpLG11bHRpOiEwfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIiBbZm9ybUdyb3VwXT0id29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiBbc3R5bGUud2lkdGguJV09IjUwIlxuICAgICAgICAgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5tYXgtbnVtYmVyLW9mLXdvcmtlcnMtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS5tYXgtbnVtYmVyLW9mLXdvcmtlcnNcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgdHlwZT0ibnVtYmVyIiBtaW49IjEiIGZvcm1Db250cm9sTmFtZT0ibWF4TnVtYmVyT2ZXb3JrZXJzIlxuICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lm1heC1udW1iZXItb2Ytd29ya2Vycy1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJ3b3JrZXJzQ29uZmlnRm9ybUdyb3VwLmdldChcJ21heE51bWJlck9mV29ya2Vyc1wnKS5oYXNFcnJvcihcJ21pblwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3b3JrZXJzQ29uZmlnRm9ybUdyb3VwLmdldChcJ21heE51bWJlck9mV29ya2Vyc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdtYXhOdW1iZXJPZldvcmtlcnNcJykudG91Y2hlZCkiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgW3N0eWxlLndpZHRoLiVdPSI1MCJcbiAgICAgICAgIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkubWF4LW1lc3NhZ2VzLXF1ZXVlLWZvci13b3JrZXItaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS5tYXgtbWVzc2FnZXMtcXVldWUtZm9yLXdvcmtlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiB0eXBlPSJudW1iZXIiIG1pbj0iMSIgZm9ybUNvbnRyb2xOYW1lPSJtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyIlxuICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lm1heC1tZXNzYWdlcy1xdWV1ZS1mb3Itd29ya2VyLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9IndvcmtlcnNDb25maWdGb3JtR3JvdXAuZ2V0KFwnbWF4TWVzc2FnZU51bWJlclBlcldvcmtlclwnKS5oYXNFcnJvcihcJ21pblwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3b3JrZXJzQ29uZmlnRm9ybUdyb3VwLmdldChcJ21heE1lc3NhZ2VOdW1iZXJQZXJXb3JrZXJcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcnNDb25maWdGb3JtR3JvdXAuZ2V0KFwnbWF4TWVzc2FnZU51bWJlclBlcldvcmtlclwnKS50b3VjaGVkKSJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgd2FybmluZ1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbid9XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9XX0pO2NsYXNzIGdve2NvbnN0cnVjdG9yKGUpe3RoaXMuZmI9ZSx0aGlzLmlzRXhwYW5zaW9uTW9kZT0hMSx0aGlzLmRlZmF1bHRWYWx1ZT1sbi5LZXksdGhpcy5yZXBvcnRTdHJhdGVneVR5cGVzPU9iamVjdC52YWx1ZXMoc24pLHRoaXMuUmVwb3J0VHlwZVRyYW5zbGF0ZU1hcD1jbix0aGlzLlJlcG9ydFN0cmF0ZWd5VHlwZT1zbix0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLnNob3dTdHJhdGVneUNvbnRyb2w9dGhpcy5mYi5jb250cm9sKCExKSx0aGlzLnJlcG9ydFN0cmF0ZWd5Rm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe3R5cGU6W3t2YWx1ZTpzbi5PblJlcG9ydFBlcmlvZCxkaXNhYmxlZDohMH0sW11dLHJlcG9ydFBlcmlvZDpbe3ZhbHVlOnRoaXMuZGVmYXVsdFZhbHVlLGRpc2FibGVkOiEwfSxbdWUucmVxdWlyZWRdXX0pLHRoaXMub2JzZXJ2ZVN0cmF0ZWd5Rm9ybUNoYW5nZSgpLHRoaXMub2JzZXJ2ZVN0cmF0ZWd5VG9nZ2xlKCl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9d3JpdGVWYWx1ZShlKXt0aGlzLmlzRXhwYW5zaW9uTW9kZSYmdGhpcy5zaG93U3RyYXRlZ3lDb250cm9sLnNldFZhbHVlKCEhZSx7ZW1pdEV2ZW50OiExfSksZSYmdGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC5lbmFibGUoe2VtaXRFdmVudDohMX0pO2NvbnN0e3R5cGU6dD1zbi5PblJlcG9ydFBlcmlvZCxyZXBvcnRQZXJpb2Q6bj10aGlzLmRlZmF1bHRWYWx1ZX09ZT8/e307dGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC5zZXRWYWx1ZSh7dHlwZTp0LHJlcG9ydFBlcmlvZDpufSx7ZW1pdEV2ZW50OiExfSksdGhpcy5vblR5cGVDaGFuZ2UodCl9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC52YWxpZHx8dGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC5kaXNhYmxlZD9udWxsOntyZXBvcnRTdHJhdGVneUZvcm06e3ZhbGlkOiExfX19cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLm9uQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7dGhpcy5vblRvdWNoZWQ9ZX1vYnNlcnZlU3RyYXRlZ3lGb3JtQ2hhbmdlKCl7dGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpLHRoaXMucmVwb3J0U3RyYXRlZ3lGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+dGhpcy5vblR5cGVDaGFuZ2UoZSkpKX1vYnNlcnZlU3RyYXRlZ3lUb2dnbGUoKXt0aGlzLnNob3dTdHJhdGVneUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCksTWUoKCgpPT50aGlzLmlzRXhwYW5zaW9uTW9kZSkpKS5zdWJzY3JpYmUoKGU9PntlPyh0aGlzLnJlcG9ydFN0cmF0ZWd5Rm9ybUdyb3VwLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC5nZXQoInJlcG9ydFBlcmlvZCIpLmFkZFZhbGlkYXRvcnModWUucmVxdWlyZWQpLHRoaXMub25DaGFuZ2UodGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC52YWx1ZSkpOih0aGlzLnJlcG9ydFN0cmF0ZWd5Rm9ybUdyb3VwLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHRoaXMucmVwb3J0U3RyYXRlZ3lGb3JtR3JvdXAuZ2V0KCJyZXBvcnRQZXJpb2QiKS5yZW1vdmVWYWxpZGF0b3JzKHVlLnJlcXVpcmVkKSx0aGlzLm9uQ2hhbmdlKG51bGwpKSx0aGlzLnJlcG9ydFN0cmF0ZWd5Rm9ybUdyb3VwLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohMX0pfSkpfW9uVHlwZUNoYW5nZShlKXtjb25zdCB0PXRoaXMucmVwb3J0U3RyYXRlZ3lGb3JtR3JvdXAuZ2V0KCJyZXBvcnRQZXJpb2QiKTtlPT09c24uT25DaGFuZ2U/dC5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KTp0aGlzLmlzRXhwYW5zaW9uTW9kZSYmIXRoaXMuc2hvd1N0cmF0ZWd5Q29udHJvbC52YWx1ZXx8dC5lbmFibGUoe2VtaXRFdmVudDohMX0pfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Z28sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpnbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLXJlcG9ydC1zdHJhdGVneSIsaW5wdXRzOntpc0V4cGFuc2lvbk1vZGU6ImlzRXhwYW5zaW9uTW9kZSIsZGVmYXVsdFZhbHVlOiJkZWZhdWx0VmFsdWUifSxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5nbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+Z28pKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IFtmb3JtR3JvdXBdPSJyZXBvcnRTdHJhdGVneUZvcm1Hcm91cCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gIDxtYXQtZXhwYW5zaW9uLXBhbmVsICpuZ0lmPSJpc0V4cGFuc2lvbk1vZGUgZWxzZSBkZWZhdWx0TW9kZSIgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJzaG93U3RyYXRlZ3lDb250cm9sLnZhbHVlIj5cbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZ4TGF5b3V0QWxpZ249ImNlbnRlciIgW2Zvcm1Db250cm9sXT0ic2hvd1N0cmF0ZWd5Q29udHJvbCIgY2xhc3M9Im1hdC1zbGlkZSIgKGNsaWNrKT0iJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LnJlcG9ydC1zdHJhdGVneS5sYWJlbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09InN0cmF0ZWd5RmllbGRzIj48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHRNb2RlPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LnJlcG9ydC1zdHJhdGVneS5sYWJlbDwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJzdHJhdGVneUZpZWxkcyI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSAjc3RyYXRlZ3lGaWVsZHM+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCI+e3sgXCdnYXRld2F5LnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHJlcG9ydFN0cmF0ZWd5VHlwZXMiIFt2YWx1ZV09InR5cGUiPnt7IFJlcG9ydFR5cGVUcmFuc2xhdGVNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9InJlcG9ydFN0cmF0ZWd5Rm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUgIT09IFJlcG9ydFN0cmF0ZWd5VHlwZS5PbkNoYW5nZSIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiPlxuICAgICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPlxuICAgICAgICAgIGdhdGV3YXkucmVwb3J0LXN0cmF0ZWd5LnJlcG9ydC1wZXJpb2RcbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXBvcnRQZXJpb2QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4nLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdUZW1wbGF0ZU91dGxldCxzZWxlY3RvcjoiW25nVGVtcGxhdGVPdXRsZXRdIixpbnB1dHM6WyJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCIsIm5nVGVtcGxhdGVPdXRsZXQiLCJuZ1RlbXBsYXRlT3V0bGV0SW5qZWN0b3IiXX0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWwsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwiLGlucHV0czpbImhpZGVUb2dnbGUiLCJ0b2dnbGVQb3NpdGlvbiJdLG91dHB1dHM6WyJhZnRlckV4cGFuZCIsImFmdGVyQ29sbGFwc2UiXSxleHBvcnRBczpbIm1hdEV4cGFuc2lvblBhbmVsIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIixpbnB1dHM6WyJleHBhbmRlZEhlaWdodCIsImNvbGxhcHNlZEhlaWdodCIsInRhYkluZGV4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxUaXRsZSxzZWxlY3RvcjoibWF0LXBhbmVsLXRpdGxlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJSZXBvcnRTdHJhdGVneUNvbXBvbmVudCIsZ28pLEhlKFtOKCldLGdvLnByb3RvdHlwZSwiaXNFeHBhbnNpb25Nb2RlIix2b2lkIDApLEhlKFtCKCldLGdvLnByb3RvdHlwZSwiZGVmYXVsdFZhbHVlIix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Z28sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLXJlcG9ydC1zdHJhdGVneSIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PmdvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5nbykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsU2FdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBbZm9ybUdyb3VwXT0icmVwb3J0U3RyYXRlZ3lGb3JtR3JvdXAiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICA8bWF0LWV4cGFuc2lvbi1wYW5lbCAqbmdJZj0iaXNFeHBhbnNpb25Nb2RlIGVsc2UgZGVmYXVsdE1vZGUiIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ic2hvd1N0cmF0ZWd5Q29udHJvbC52YWx1ZSI+XG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmeExheW91dEFsaWduPSJjZW50ZXIiIFtmb3JtQ29udHJvbF09InNob3dTdHJhdGVneUNvbnRyb2wiIGNsYXNzPSJtYXQtc2xpZGUiIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5yZXBvcnQtc3RyYXRlZ3kubGFiZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJzdHJhdGVneUZpZWxkcyI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgPG5nLXRlbXBsYXRlICNkZWZhdWx0TW9kZT5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5yZXBvcnQtc3RyYXRlZ3kubGFiZWw8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0ic3RyYXRlZ3lGaWVsZHMiPjwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI3N0cmF0ZWd5RmllbGRzPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiPnt7IFwnZ2F0ZXdheS50eXBlXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSI+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiByZXBvcnRTdHJhdGVneVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj57eyBSZXBvcnRUeXBlVHJhbnNsYXRlTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJyZXBvcnRTdHJhdGVneUZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlICE9PSBSZXBvcnRTdHJhdGVneVR5cGUuT25DaGFuZ2UiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIj5cbiAgICAgICAgPHNwYW4gdGJUcnVuY2F0ZVdpdGhUb29sdGlwIHRyYW5zbGF0ZT5cbiAgICAgICAgICBnYXRld2F5LnJlcG9ydC1zdHJhdGVneS5yZXBvcnQtcGVyaW9kXG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icmVwb3J0UGVyaW9kIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuJ31dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTptZS5Gb3JtQnVpbGRlcn1dLHByb3BEZWNvcmF0b3JzOntpc0V4cGFuc2lvbk1vZGU6W3t0eXBlOmF9XSxkZWZhdWx0VmFsdWU6W3t0eXBlOmF9XX19KTtjbGFzcyBmb3tjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy5pc01hc3Rlcj0hMSx0aGlzLmhpZGVOZXdGaWVsZHM9ITEsdGhpcy5rZXlzRGF0YUFwcGxpZWQ9bmV3IGksdGhpcy5tb2RidXNEYXRhVHlwZXM9T2JqZWN0LnZhbHVlcyhlYSksdGhpcy5tb2RpZmllclR5cGVzPU9iamVjdC52YWx1ZXMoT24pLHRoaXMud2l0aEZ1bmN0aW9uQ29kZT0hMCx0aGlzLndpdGhSZXBvcnRTdHJhdGVneT0hMCx0aGlzLmVuYWJsZU1vZGlmaWVyc0NvbnRyb2xNYXA9bmV3IE1hcCx0aGlzLnNob3dNb2RpZmllcnNNYXA9bmV3IE1hcCx0aGlzLmZ1bmN0aW9uQ29kZXNNYXA9bmV3IE1hcCx0aGlzLmRlZmF1bHRGdW5jdGlvbkNvZGVzPVtdLHRoaXMuTW9kYnVzRWRpdGFibGVEYXRhVHlwZXM9dGEsdGhpcy5Nb2RidXNGdW5jdGlvbkNvZGVUcmFuc2xhdGlvbnNNYXA9enQsdGhpcy5Nb2RpZmllclR5cGVzTWFwPVJuLHRoaXMuUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWU9bG4sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5kZWZhdWx0UmVhZEZ1bmN0aW9uQ29kZXM9WzMsNF0sdGhpcy5iaXRzUmVhZEZ1bmN0aW9uQ29kZXM9WzEsMl0sdGhpcy5kZWZhdWx0V3JpdGVGdW5jdGlvbkNvZGVzPVs2LDE2XSx0aGlzLmJpdHNXcml0ZUZ1bmN0aW9uQ29kZXM9WzUsMTVdfW5nT25Jbml0KCl7dGhpcy53aXRoRnVuY3Rpb25Db2RlPSF0aGlzLmlzTWFzdGVyfHx0aGlzLmtleXNUeXBlIT09YWEuQVRUUklCVVRFUyYmdGhpcy5rZXlzVHlwZSE9PWFhLlRJTUVTRVJJRVMsdGhpcy53aXRoUmVwb3J0U3RyYXRlZ3k9ISh0aGlzLmlzTWFzdGVyfHx0aGlzLmtleXNUeXBlIT09YWEuQVRUUklCVVRFUyYmdGhpcy5rZXlzVHlwZSE9PWFhLlRJTUVTRVJJRVN8fHRoaXMuaGlkZU5ld0ZpZWxkcyksdGhpcy5rZXlzTGlzdEZvcm1BcnJheT10aGlzLnByZXBhcmVLZXlzRm9ybUFycmF5KHRoaXMudmFsdWVzKSx0aGlzLmRlZmF1bHRGdW5jdGlvbkNvZGVzPXRoaXMuZ2V0RGVmYXVsdEZ1bmN0aW9uQ29kZXMoKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX10cmFja0J5Q29udHJvbElkKGUsdCl7cmV0dXJuIHQudmFsdWUuaWR9YWRkS2V5KCl7Y29uc3QgZT1zZSg1KSx0PXRoaXMuZmIuZ3JvdXAoe3RhZzpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sdmFsdWU6W3t2YWx1ZToiIixkaXNhYmxlZDohdGhpcy5pc01hc3Rlcn0sW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sdHlwZTpbZWEuQllURVMsW3VlLnJlcXVpcmVkXV0sYWRkcmVzczpbbnVsbCxbdWUucmVxdWlyZWRdXSxvYmplY3RzQ291bnQ6WzEsW3VlLnJlcXVpcmVkXV0sZnVuY3Rpb25Db2RlOlt7dmFsdWU6dGhpcy5nZXREZWZhdWx0RnVuY3Rpb25Db2RlcygpWzBdLGRpc2FibGVkOiF0aGlzLndpdGhGdW5jdGlvbkNvZGV9LFt1ZS5yZXF1aXJlZF1dLHJlcG9ydFN0cmF0ZWd5Olt7dmFsdWU6bnVsbCxkaXNhYmxlZDohdGhpcy53aXRoUmVwb3J0U3RyYXRlZ3l9XSxtb2RpZmllclR5cGU6W3t2YWx1ZTpPbi5NVUxUSVBMSUVSLGRpc2FibGVkOiEwfV0sbW9kaWZpZXJWYWx1ZTpbe3ZhbHVlOjEsZGlzYWJsZWQ6ITB9LFt1ZS5wYXR0ZXJuKEZ0KV1dLGlkOlt7dmFsdWU6ZSxkaXNhYmxlZDohMH1dfSk7dGhpcy5zaG93TW9kaWZpZXJzTWFwLnNldChlLCExKSx0aGlzLmVuYWJsZU1vZGlmaWVyc0NvbnRyb2xNYXAuc2V0KGUsdGhpcy5mYi5jb250cm9sKCExKSksdGhpcy5vYnNlcnZlS2V5RGF0YVR5cGUodCksdGhpcy5vYnNlcnZlRW5hYmxlTW9kaWZpZXIodCksdGhpcy5rZXlzTGlzdEZvcm1BcnJheS5wdXNoKHQpfWRlbGV0ZUtleShlLHQpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5rZXlzTGlzdEZvcm1BcnJheS5yZW1vdmVBdCh0KSx0aGlzLmtleXNMaXN0Rm9ybUFycmF5Lm1hcmtBc0RpcnR5KCl9Y2FuY2VsKCl7dGhpcy5wb3BvdmVyLmhpZGUoKX1hcHBseUtleXNEYXRhKCl7dGhpcy5rZXlzRGF0YUFwcGxpZWQuZW1pdCh0aGlzLmdldEZvcm1WYWx1ZSgpKX1nZXRGb3JtVmFsdWUoKXtyZXR1cm4gdGhpcy5tYXBLZXlzV2l0aE1vZGlmaWVyKHRoaXMud2l0aFJlcG9ydFN0cmF0ZWd5P3RoaXMuY2xlYW5VcEVtcHR5U3RyYXRlZ2llcyh0aGlzLmtleXNMaXN0Rm9ybUFycmF5LnZhbHVlKTp0aGlzLmtleXNMaXN0Rm9ybUFycmF5LnZhbHVlKX1jbGVhblVwRW1wdHlTdHJhdGVnaWVzKGUpe3JldHVybiBlLm1hcCgoZT0+e2NvbnN0e3JlcG9ydFN0cmF0ZWd5OnQsLi4ubn09ZTtyZXR1cm4gdD9lOm59KSl9bWFwS2V5c1dpdGhNb2RpZmllcihlKXtyZXR1cm4gZS5tYXAoKChlLHQpPT57aWYodGhpcy5zaG93TW9kaWZpZXJzTWFwLmdldCh0aGlzLmtleXNMaXN0Rm9ybUFycmF5LmNvbnRyb2xzW3RdLmdldCgiaWQiKS52YWx1ZSkpe2NvbnN0e21vZGlmaWVyVHlwZTp0LG1vZGlmaWVyVmFsdWU6biwuLi5hfT1lO3JldHVybiB0P3suLi5hLFt0XTpufTphfXJldHVybiBlfSkpfXByZXBhcmVLZXlzRm9ybUFycmF5KGUpe2NvbnN0IHQ9W107cmV0dXJuIGUmJmUuZm9yRWFjaCgoZT0+e2NvbnN0IG49dGhpcy5jcmVhdGVEYXRhS2V5Rm9ybUdyb3VwKGUpO3RoaXMub2JzZXJ2ZUtleURhdGFUeXBlKG4pLHRoaXMub2JzZXJ2ZUVuYWJsZU1vZGlmaWVyKG4pLHRoaXMuZnVuY3Rpb25Db2Rlc01hcC5zZXQobi5nZXQoImlkIikudmFsdWUsdGhpcy5nZXRGdW5jdGlvbkNvZGVzKGUudHlwZSkpLHQucHVzaChuKX0pKSx0aGlzLmZiLmFycmF5KHQpfWNyZWF0ZURhdGFLZXlGb3JtR3JvdXAoZSl7Y29uc3R7dGFnOnQsdmFsdWU6bix0eXBlOmEsYWRkcmVzczpvLG9iamVjdHNDb3VudDppLGZ1bmN0aW9uQ29kZTpyLG11bHRpcGxpZXI6cyxkaXZpZGVyOmwscmVwb3J0U3RyYXRlZ3k6Y309ZSxwPXNlKDUpLG09dGhpcy5zaG91bGRTaG93TW9kaWZpZXIoYSk7cmV0dXJuIHRoaXMuc2hvd01vZGlmaWVyc01hcC5zZXQocCxtKSx0aGlzLmVuYWJsZU1vZGlmaWVyc0NvbnRyb2xNYXAuc2V0KHAsdGhpcy5mYi5jb250cm9sKChzfHxsKSYmbSkpLHRoaXMuZmIuZ3JvdXAoe3RhZzpbdCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx2YWx1ZTpbe3ZhbHVlOm4sZGlzYWJsZWQ6IXRoaXMuaXNNYXN0ZXJ9LFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHR5cGU6W2EsW3VlLnJlcXVpcmVkXV0sYWRkcmVzczpbbyxbdWUucmVxdWlyZWRdXSxvYmplY3RzQ291bnQ6W2ksW3VlLnJlcXVpcmVkXV0sZnVuY3Rpb25Db2RlOlt7dmFsdWU6cixkaXNhYmxlZDohdGhpcy53aXRoRnVuY3Rpb25Db2RlfSxbdWUucmVxdWlyZWRdXSxtb2RpZmllclR5cGU6W3t2YWx1ZTpsP09uLkRJVklERVI6T24uTVVMVElQTElFUixkaXNhYmxlZDohdGhpcy5lbmFibGVNb2RpZmllcnNDb250cm9sTWFwLmdldChwKS52YWx1ZX1dLG1vZGlmaWVyVmFsdWU6W3t2YWx1ZTpzPz9sPz8xLGRpc2FibGVkOiF0aGlzLmVuYWJsZU1vZGlmaWVyc0NvbnRyb2xNYXAuZ2V0KHApLnZhbHVlfSxbdWUucGF0dGVybihGdCldXSxpZDpbe3ZhbHVlOnAsZGlzYWJsZWQ6ITB9XSxyZXBvcnRTdHJhdGVneTpbe3ZhbHVlOmMsZGlzYWJsZWQ6IXRoaXMud2l0aFJlcG9ydFN0cmF0ZWd5fV19KX1zaG91bGRTaG93TW9kaWZpZXIoZSl7cmV0dXJuISh0aGlzLmlzTWFzdGVyfHx0aGlzLmtleXNUeXBlIT09YWEuQVRUUklCVVRFUyYmdGhpcy5rZXlzVHlwZSE9PWFhLlRJTUVTRVJJRVN8fHRoaXMuTW9kYnVzRWRpdGFibGVEYXRhVHlwZXMuaW5jbHVkZXMoZSkpfW9ic2VydmVLZXlEYXRhVHlwZShlKXtlLmdldCgidHlwZSIpLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHQ9Pnt0aGlzLk1vZGJ1c0VkaXRhYmxlRGF0YVR5cGVzLmluY2x1ZGVzKHQpfHxlLmdldCgib2JqZWN0c0NvdW50IikucGF0Y2hWYWx1ZShuYVt0XSx7ZW1pdEV2ZW50OiExfSk7Y29uc3Qgbj10aGlzLnNob3VsZFNob3dNb2RpZmllcih0KTt0aGlzLnNob3dNb2RpZmllcnNNYXAuc2V0KGUuZ2V0KCJpZCIpLnZhbHVlLG4pLHRoaXMudXBkYXRlRnVuY3Rpb25Db2RlcyhlLHQpfSkpfW9ic2VydmVFbmFibGVNb2RpZmllcihlKXt0aGlzLmVuYWJsZU1vZGlmaWVyc0NvbnRyb2xNYXAuZ2V0KGUuZ2V0KCJpZCIpLnZhbHVlKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh0PT50aGlzLnRvZ2dsZU1vZGlmaWVyQ29udHJvbHMoZSx0KSkpfXRvZ2dsZU1vZGlmaWVyQ29udHJvbHMoZSx0KXtjb25zdCBuPWUuZ2V0KCJtb2RpZmllclR5cGUiKSxhPWUuZ2V0KCJtb2RpZmllclZhbHVlIik7dD8obi5lbmFibGUoKSxhLmVuYWJsZSgpKToobi5kaXNhYmxlKCksYS5kaXNhYmxlKCkpfXVwZGF0ZUZ1bmN0aW9uQ29kZXMoZSx0KXtjb25zdCBuPXRoaXMuZ2V0RnVuY3Rpb25Db2Rlcyh0KTt0aGlzLmZ1bmN0aW9uQ29kZXNNYXAuc2V0KGUuZ2V0KCJpZCIpLnZhbHVlLG4pLG4uaW5jbHVkZXMoZS5nZXQoImZ1bmN0aW9uQ29kZSIpLnZhbHVlKXx8ZS5nZXQoImZ1bmN0aW9uQ29kZSIpLnBhdGNoVmFsdWUoblswXSx7ZW1pdEV2ZW50OiExfSl9Z2V0RnVuY3Rpb25Db2RlcyhlKXtjb25zdCB0PVsuLi5lPT09ZWEuQklUUz90aGlzLmJpdHNXcml0ZUZ1bmN0aW9uQ29kZXM6W10sLi4udGhpcy5kZWZhdWx0V3JpdGVGdW5jdGlvbkNvZGVzXTtpZih0aGlzLmtleXNUeXBlPT09YWEuQVRUUklCVVRFU19VUERBVEVTKXJldHVybiB0LnNvcnQoKChlLHQpPT5lLXQpKTtjb25zdCBuPVsuLi50aGlzLmRlZmF1bHRSZWFkRnVuY3Rpb25Db2Rlc107cmV0dXJuIGU9PT1lYS5CSVRTJiZuLnB1c2goLi4udGhpcy5iaXRzUmVhZEZ1bmN0aW9uQ29kZXMpLHRoaXMua2V5c1R5cGU9PT1hYS5SUENfUkVRVUVTVFMmJm4ucHVzaCguLi50KSxuLnNvcnQoKChlLHQpPT5lLXQpKX1nZXREZWZhdWx0RnVuY3Rpb25Db2Rlcygpe3JldHVybiB0aGlzLmtleXNUeXBlPT09YWEuQVRUUklCVVRFU19VUERBVEVTP3RoaXMuZGVmYXVsdFdyaXRlRnVuY3Rpb25Db2Rlczp0aGlzLmtleXNUeXBlPT09YWEuUlBDX1JFUVVFU1RTP1suLi50aGlzLmRlZmF1bHRSZWFkRnVuY3Rpb25Db2RlcywuLi50aGlzLmRlZmF1bHRXcml0ZUZ1bmN0aW9uQ29kZXNdOnRoaXMuZGVmYXVsdFJlYWRGdW5jdGlvbkNvZGVzfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Zm8sZGVwczpbe3Rva2VuOm1lLlVudHlwZWRGb3JtQnVpbGRlcn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6Zm8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1tb2RidXMtZGF0YS1rZXlzLXBhbmVsIixpbnB1dHM6e2lzTWFzdGVyOiJpc01hc3RlciIsaGlkZU5ld0ZpZWxkczoiaGlkZU5ld0ZpZWxkcyIscGFuZWxUaXRsZToicGFuZWxUaXRsZSIsYWRkS2V5VGl0bGU6ImFkZEtleVRpdGxlIixkZWxldGVLZXlUaXRsZToiZGVsZXRlS2V5VGl0bGUiLG5vS2V5c1RleHQ6Im5vS2V5c1RleHQiLGtleXNUeXBlOiJrZXlzVHlwZSIsdmFsdWVzOiJ2YWx1ZXMiLHBvcG92ZXI6InBvcG92ZXIifSxvdXRwdXRzOntrZXlzRGF0YUFwcGxpZWQ6ImtleXNEYXRhQXBwbGllZCJ9LG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1tb2RidXMta2V5cy1wYW5lbCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPnt7IHBhbmVsVGl0bGUgIHwgdHJhbnNsYXRlIH19e3tcJyAoXCcgKyBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGggKyBcJylcJ319PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBrZXktcGFuZWwiICpuZ0lmPSJrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGg7IGVsc2Ugbm9LZXlzIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItZmxleCBuby1mbGV4IHJvdyBjZW50ZXIgZmlsbC13aWR0aCJcbiAgICAgICAgICAgKm5nRm9yPSJsZXQga2V5Q29udHJvbCBvZiBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9sczsgdHJhY2tCeTogdHJhY2tCeUNvbnRyb2xJZDsgbGV0ICRpbmRleCA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3Q7Ij5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLWZsZXgiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09ImtleUNvbnRyb2wiPlxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJsYXN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9ImlzTWFzdGVyIGVsc2UgdGFnTmFtZSIgY2xhc3M9InRpdGxlLWNvbnRhaW5lciIgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPlxuICAgICAgICAgICAgICAgICAgICB7eyBrZXlDb250cm9sLmdldChcJ3RhZ1wnKS52YWx1ZSB9fXt7IFwnLVwnIH19e3sga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS52YWx1ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3RhZ05hbWU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlLWNvbnRhaW5lciB0Yi1mbGV4Ij57eyBcJ2dhdGV3YXkua2V5XCcgfCB0cmFuc2xhdGUgfX06XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ia2V5LWxhYmVsIiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sga2V5Q29udHJvbC5nZXQoXCd0YWdcJykudmFsdWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUtY29udGFpbmVyIj57eyBcJ2dhdGV3YXkuYWRkcmVzc1wnIHwgdHJhbnNsYXRlIH19OlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImtleS1sYWJlbCI+e3sga2V5Q29udHJvbC5nZXQoXCdhZGRyZXNzXCcpLnZhbHVlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlLWNvbnRhaW5lciI+e3sgXCdnYXRld2F5LnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTpcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrZXktbGFiZWwiPnt7IGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0RXhwYW5zaW9uUGFuZWxDb250ZW50PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwgdGItZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuZGF0YS1rZXlzXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9tb2RidXMtZnVuY3Rpb25zLWRhdGEtdHlwZXNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5wbGF0Zm9ybS1zaWRlPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmtleVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgZ2F0ZXdheS5rZXlcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRhZyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5rZXktcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImtleUNvbnRyb2wuZ2V0KFwndGFnXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlDb250cm9sLmdldChcJ3RhZ1wnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9yLXNpZGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgIGdhdGV3YXkudHlwZVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIG1vZGJ1c0RhdGFUeXBlcyIgW3ZhbHVlXT0idHlwZSI+e3sgdHlwZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj0id2l0aEZ1bmN0aW9uQ29kZSIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuZnVuY3Rpb24tY29kZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZnVuY3Rpb25Db2RlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9ImxldCBjb2RlIG9mIGZ1bmN0aW9uQ29kZXNNYXAuZ2V0KGtleUNvbnRyb2wuZ2V0KFwnaWRcJykudmFsdWUpIHx8IGRlZmF1bHRGdW5jdGlvbkNvZGVzIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09ImNvZGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBNb2RidXNGdW5jdGlvbkNvZGVUcmFuc2xhdGlvbnNNYXAuZ2V0KGNvZGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5vYmplY3RzLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5Lm9iamVjdHMtY291bnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtaW49IjEiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1heD0iNTAwMDAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9Im9iamVjdHNDb3VudCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT0iIU1vZGJ1c0VkaXRhYmxlRGF0YVR5cGVzLmluY2x1ZGVzKGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5vYmplY3RzLWNvdW50LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ29iamVjdHNDb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCdvYmplY3RzQ291bnRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmFkZHJlc3NcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuYWRkcmVzczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbWF4PSI1MDAwMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iYWRkcmVzcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5hZGRyZXNzLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ2FkZHJlc3NcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleUNvbnRyb2wuZ2V0KFwnYWRkcmVzc1wnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9InNob3dNb2RpZmllcnNNYXAuZ2V0KGtleUNvbnRyb2wuZ2V0KFwnaWRcJykudmFsdWUpIiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLXNsaWRlLXRvZ2dsZSI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0iZW5hYmxlTW9kaWZpZXJzQ29udHJvbE1hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdpZFwnKS52YWx1ZSkudmFsdWUiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciBmeExheW91dD0icm93IHdyYXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJjZW50ZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT0iZW5hYmxlTW9kaWZpZXJzQ29udHJvbE1hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdpZFwnKS52YWx1ZSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1hdC1zbGlkZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLm1vZGlmaWVyXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1vZGlmaWVyXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMgdGItZmxleCBmdWxsLXdpZHRoIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50eXBlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGZpbGwtd2lkdGgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9Im1vZGlmaWVyVHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBhbGlnbi1jZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJ0Yi1tYXQtMTgiIFtzdmdJY29uXT0iTW9kaWZpZXJUeXBlc01hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclR5cGVcJykudmFsdWUpPy5pY29uIj48L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgTW9kaWZpZXJUeXBlc01hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclR5cGVcJykudmFsdWUpPy5uYW1lIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBtb2RpZmllclR5cGUgb2YgbW9kaWZpZXJUeXBlcyIgW3ZhbHVlXT0ibW9kaWZpZXJUeXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0yMCIgc3ZnSWNvbj0ie3sgTW9kaWZpZXJUeXBlc01hcC5nZXQobW9kaWZpZXJUeXBlKS5pY29uIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IE1vZGlmaWVyVHlwZXNNYXAuZ2V0KG1vZGlmaWVyVHlwZSkubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0ibW9kaWZpZXJWYWx1ZSIgc3RlcD0iMC4xIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lm1vZGlmaWVyLWludmFsaWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclZhbHVlXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleUNvbnRyb2wuZ2V0KFwnbW9kaWZpZXJWYWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9ImlzTWFzdGVyIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS52YWx1ZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1yZXBvcnQtc3RyYXRlZ3lcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9IndpdGhSZXBvcnRTdHJhdGVneSJcbiAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRWYWx1ZV09IlJlcG9ydFN0cmF0ZWd5RGVmYXVsdFZhbHVlLktleSJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJyZXBvcnRTdHJhdGVneSJcbiAgICAgICAgICAgICAgICAgICAgW2lzRXhwYW5zaW9uTW9kZV09InRydWUiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlS2V5KCRldmVudCwgJGluZGV4KSJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09ImRlbGV0ZUtleVRpdGxlIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXY+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJhZGRLZXkoKSI+XG4gICAgICAgIHt7IGFkZEtleVRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjbm9LZXlzPlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIGtleS1wYW5lbCI+XG4gICAgICA8c3BhbiBjbGFzcz0idGItcHJvbXB0IiB0cmFuc2xhdGU+e3sgbm9LZXlzVGV4dCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz0idGItZmxleCBmbGV4LWVuZCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uXG4gICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIChjbGljayk9ImNhbmNlbCgpIj5cbiAgICAgIHt7IFwnYWN0aW9uLmNhbmNlbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAoY2xpY2spPSJhcHBseUtleXNEYXRhKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJrZXlzTGlzdEZvcm1BcnJheS5pbnZhbGlkIHx8ICFrZXlzTGlzdEZvcm1BcnJheS5kaXJ0eSI+XG4gICAgICB7eyBcJ2FjdGlvbi5hcHBseVwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnRiLW1vZGJ1cy1rZXlzLXBhbmVse3dpZHRoOjc3dnc7bWF4LXdpZHRoOjcwMHB4fTpob3N0IC50Yi1tb2RidXMta2V5cy1wYW5lbCAudGl0bGUtY29udGFpbmVye3dpZHRoOjE4MHB4fTpob3N0IC50Yi1tb2RidXMta2V5cy1wYW5lbCAua2V5LWxhYmVse2ZvbnQtd2VpZ2h0OjQwMH06aG9zdCAudGItbW9kYnVzLWtleXMtcGFuZWwgLmtleS1wYW5lbHtoZWlnaHQ6NTAwcHg7b3ZlcmZsb3c6YXV0b306aG9zdCAudGItbW9kYnVzLWtleXMtcGFuZWwgLnRiLWZvcm0tcGFuZWwgLm1hdC1tZGMtaWNvbi1idXR0b257d2lkdGg6NTZweDtoZWlnaHQ6NTZweDtwYWRkaW5nOjE2cHg7Y29sb3I6IzAwMDAwMDhhfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmd0LkhlbHBQb3B1cENvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhlbHAtcG9wdXBdLCBbdGItaGVscC1wb3B1cC1jb250ZW50XSIsaW5wdXRzOlsidGItaGVscC1wb3B1cCIsInRiLWhlbHAtcG9wdXAtY29udGVudCIsInRyaWdnZXItdGV4dCIsInRyaWdnZXItc3R5bGUiLCJ0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudCIsInRiLWhlbHAtcG9wdXAtc3R5bGUiLCJoaW50TW9kZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOndlLk1hdFNlbGVjdFRyaWdnZXIsc2VsZWN0b3I6Im1hdC1zZWxlY3QtdHJpZ2dlciJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmV0Lk1hdFNsaWRlVG9nZ2xlLHNlbGVjdG9yOiJtYXQtc2xpZGUtdG9nZ2xlIixpbnB1dHM6WyJuYW1lIiwiaWQiLCJsYWJlbFBvc2l0aW9uIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImFyaWEtZGVzY3JpYmVkYnkiLCJyZXF1aXJlZCIsImNvbG9yIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJjaGVja2VkIiwiaGlkZUljb24iLCJkaXNhYmxlZEludGVyYWN0aXZlIl0sb3V0cHV0czpbImNoYW5nZSIsInRvZ2dsZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2xpZGVUb2dnbGUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbCxzZWxlY3RvcjoibWF0LWV4cGFuc2lvbi1wYW5lbCIsaW5wdXRzOlsiaGlkZVRvZ2dsZSIsInRvZ2dsZVBvc2l0aW9uIl0sb3V0cHV0czpbImFmdGVyRXhwYW5kIiwiYWZ0ZXJDb2xsYXBzZSJdLGV4cG9ydEFzOlsibWF0RXhwYW5zaW9uUGFuZWwiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbEhlYWRlcixzZWxlY3RvcjoibWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIiLGlucHV0czpbImV4cGFuZGVkSGVpZ2h0IiwiY29sbGFwc2VkSGVpZ2h0IiwidGFiSW5kZXgiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbFRpdGxlLHNlbGVjdG9yOiJtYXQtcGFuZWwtdGl0bGUifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsQ29udGVudCxzZWxlY3RvcjoibmctdGVtcGxhdGVbbWF0RXhwYW5zaW9uUGFuZWxDb250ZW50XSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRBbGlnbkRpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRBbGlnbl0sIFtmeExheW91dEFsaWduLnhzXSwgW2Z4TGF5b3V0QWxpZ24uc21dLCBbZnhMYXlvdXRBbGlnbi5tZF0sICBbZnhMYXlvdXRBbGlnbi5sZ10sIFtmeExheW91dEFsaWduLnhsXSwgW2Z4TGF5b3V0QWxpZ24ubHQtc21dLCBbZnhMYXlvdXRBbGlnbi5sdC1tZF0sICBbZnhMYXlvdXRBbGlnbi5sdC1sZ10sIFtmeExheW91dEFsaWduLmx0LXhsXSwgW2Z4TGF5b3V0QWxpZ24uZ3QteHNdLCBbZnhMYXlvdXRBbGlnbi5ndC1zbV0sICBbZnhMYXlvdXRBbGlnbi5ndC1tZF0sIFtmeExheW91dEFsaWduLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRBbGlnbiIsImZ4TGF5b3V0QWxpZ24ueHMiLCJmeExheW91dEFsaWduLnNtIiwiZnhMYXlvdXRBbGlnbi5tZCIsImZ4TGF5b3V0QWxpZ24ubGciLCJmeExheW91dEFsaWduLnhsIiwiZnhMYXlvdXRBbGlnbi5sdC1zbSIsImZ4TGF5b3V0QWxpZ24ubHQtbWQiLCJmeExheW91dEFsaWduLmx0LWxnIiwiZnhMYXlvdXRBbGlnbi5sdC14bCIsImZ4TGF5b3V0QWxpZ24uZ3QteHMiLCJmeExheW91dEFsaWduLmd0LXNtIiwiZnhMYXlvdXRBbGlnbi5ndC1tZCIsImZ4TGF5b3V0QWxpZ24uZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRGbGV4RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeEZsZXhdLCBbZnhGbGV4LnhzXSwgW2Z4RmxleC5zbV0sIFtmeEZsZXgubWRdLCAgW2Z4RmxleC5sZ10sIFtmeEZsZXgueGxdLCBbZnhGbGV4Lmx0LXNtXSwgW2Z4RmxleC5sdC1tZF0sICBbZnhGbGV4Lmx0LWxnXSwgW2Z4RmxleC5sdC14bF0sIFtmeEZsZXguZ3QteHNdLCBbZnhGbGV4Lmd0LXNtXSwgIFtmeEZsZXguZ3QtbWRdLCBbZnhGbGV4Lmd0LWxnXSIsaW5wdXRzOlsiZnhGbGV4IiwiZnhGbGV4LnhzIiwiZnhGbGV4LnNtIiwiZnhGbGV4Lm1kIiwiZnhGbGV4LmxnIiwiZnhGbGV4LnhsIiwiZnhGbGV4Lmx0LXNtIiwiZnhGbGV4Lmx0LW1kIiwiZnhGbGV4Lmx0LWxnIiwiZnhGbGV4Lmx0LXhsIiwiZnhGbGV4Lmd0LXhzIiwiZnhGbGV4Lmd0LXNtIiwiZnhGbGV4Lmd0LW1kIiwiZnhGbGV4Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTnVtYmVyVmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbmdNb2RlbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5SZXF1aXJlZFZhbGlkYXRvcixzZWxlY3RvcjoiOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbE5hbWVdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bbmdNb2RlbF0iLGlucHV0czpbInJlcXVpcmVkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWF4VmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttYXhdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtuZ01vZGVsXSIsaW5wdXRzOlsibWF4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpnbyxzZWxlY3RvcjoidGItcmVwb3J0LXN0cmF0ZWd5IixpbnB1dHM6WyJpc0V4cGFuc2lvbk1vZGUiLCJkZWZhdWx0VmFsdWUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dfSl9fWUoIk1vZGJ1c0RhdGFLZXlzUGFuZWxDb21wb25lbnQiLGZvKSxIZShbTigpXSxmby5wcm90b3R5cGUsImlzTWFzdGVyIix2b2lkIDApLEhlKFtOKCldLGZvLnByb3RvdHlwZSwiaGlkZU5ld0ZpZWxkcyIsdm9pZCAwKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmZvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1tb2RidXMtZGF0YS1rZXlzLXBhbmVsIixzdGFuZGFsb25lOiEwLGltcG9ydHM6W0gsRCxUYSxnbyxTYV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1tb2RidXMta2V5cy1wYW5lbCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPnt7IHBhbmVsVGl0bGUgIHwgdHJhbnNsYXRlIH19e3tcJyAoXCcgKyBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGggKyBcJylcJ319PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBrZXktcGFuZWwiICpuZ0lmPSJrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGg7IGVsc2Ugbm9LZXlzIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItZmxleCBuby1mbGV4IHJvdyBjZW50ZXIgZmlsbC13aWR0aCJcbiAgICAgICAgICAgKm5nRm9yPSJsZXQga2V5Q29udHJvbCBvZiBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9sczsgdHJhY2tCeTogdHJhY2tCeUNvbnRyb2xJZDsgbGV0ICRpbmRleCA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3Q7Ij5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLWZsZXgiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09ImtleUNvbnRyb2wiPlxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJsYXN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9ImlzTWFzdGVyIGVsc2UgdGFnTmFtZSIgY2xhc3M9InRpdGxlLWNvbnRhaW5lciIgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPlxuICAgICAgICAgICAgICAgICAgICB7eyBrZXlDb250cm9sLmdldChcJ3RhZ1wnKS52YWx1ZSB9fXt7IFwnLVwnIH19e3sga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS52YWx1ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3RhZ05hbWU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlLWNvbnRhaW5lciB0Yi1mbGV4Ij57eyBcJ2dhdGV3YXkua2V5XCcgfCB0cmFuc2xhdGUgfX06XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ia2V5LWxhYmVsIiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sga2V5Q29udHJvbC5nZXQoXCd0YWdcJykudmFsdWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUtY29udGFpbmVyIj57eyBcJ2dhdGV3YXkuYWRkcmVzc1wnIHwgdHJhbnNsYXRlIH19OlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImtleS1sYWJlbCI+e3sga2V5Q29udHJvbC5nZXQoXCdhZGRyZXNzXCcpLnZhbHVlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlLWNvbnRhaW5lciI+e3sgXCdnYXRld2F5LnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTpcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrZXktbGFiZWwiPnt7IGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0RXhwYW5zaW9uUGFuZWxDb250ZW50PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwgdGItZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuZGF0YS1rZXlzXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9tb2RidXMtZnVuY3Rpb25zLWRhdGEtdHlwZXNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5wbGF0Zm9ybS1zaWRlPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmtleVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgZ2F0ZXdheS5rZXlcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRhZyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5rZXktcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImtleUNvbnRyb2wuZ2V0KFwndGFnXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlDb250cm9sLmdldChcJ3RhZ1wnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9yLXNpZGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgIGdhdGV3YXkudHlwZVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIG1vZGJ1c0RhdGFUeXBlcyIgW3ZhbHVlXT0idHlwZSI+e3sgdHlwZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj0id2l0aEZ1bmN0aW9uQ29kZSIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuZnVuY3Rpb24tY29kZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZnVuY3Rpb25Db2RlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9ImxldCBjb2RlIG9mIGZ1bmN0aW9uQ29kZXNNYXAuZ2V0KGtleUNvbnRyb2wuZ2V0KFwnaWRcJykudmFsdWUpIHx8IGRlZmF1bHRGdW5jdGlvbkNvZGVzIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09ImNvZGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBNb2RidXNGdW5jdGlvbkNvZGVUcmFuc2xhdGlvbnNNYXAuZ2V0KGNvZGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5vYmplY3RzLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5Lm9iamVjdHMtY291bnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtaW49IjEiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1heD0iNTAwMDAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9Im9iamVjdHNDb3VudCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT0iIU1vZGJ1c0VkaXRhYmxlRGF0YVR5cGVzLmluY2x1ZGVzKGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5vYmplY3RzLWNvdW50LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ29iamVjdHNDb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCdvYmplY3RzQ291bnRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmFkZHJlc3NcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuYWRkcmVzczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbWF4PSI1MDAwMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iYWRkcmVzcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5hZGRyZXNzLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ2FkZHJlc3NcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleUNvbnRyb2wuZ2V0KFwnYWRkcmVzc1wnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9InNob3dNb2RpZmllcnNNYXAuZ2V0KGtleUNvbnRyb2wuZ2V0KFwnaWRcJykudmFsdWUpIiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLXNsaWRlLXRvZ2dsZSI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0iZW5hYmxlTW9kaWZpZXJzQ29udHJvbE1hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdpZFwnKS52YWx1ZSkudmFsdWUiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciBmeExheW91dD0icm93IHdyYXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJjZW50ZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT0iZW5hYmxlTW9kaWZpZXJzQ29udHJvbE1hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdpZFwnKS52YWx1ZSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1hdC1zbGlkZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLm1vZGlmaWVyXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1vZGlmaWVyXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMgdGItZmxleCBmdWxsLXdpZHRoIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50eXBlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGZpbGwtd2lkdGgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9Im1vZGlmaWVyVHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBhbGlnbi1jZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJ0Yi1tYXQtMTgiIFtzdmdJY29uXT0iTW9kaWZpZXJUeXBlc01hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclR5cGVcJykudmFsdWUpPy5pY29uIj48L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgTW9kaWZpZXJUeXBlc01hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclR5cGVcJykudmFsdWUpPy5uYW1lIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBtb2RpZmllclR5cGUgb2YgbW9kaWZpZXJUeXBlcyIgW3ZhbHVlXT0ibW9kaWZpZXJUeXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0yMCIgc3ZnSWNvbj0ie3sgTW9kaWZpZXJUeXBlc01hcC5nZXQobW9kaWZpZXJUeXBlKS5pY29uIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IE1vZGlmaWVyVHlwZXNNYXAuZ2V0KG1vZGlmaWVyVHlwZSkubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0ibW9kaWZpZXJWYWx1ZSIgc3RlcD0iMC4xIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lm1vZGlmaWVyLWludmFsaWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclZhbHVlXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleUNvbnRyb2wuZ2V0KFwnbW9kaWZpZXJWYWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9ImlzTWFzdGVyIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS52YWx1ZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1yZXBvcnQtc3RyYXRlZ3lcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9IndpdGhSZXBvcnRTdHJhdGVneSJcbiAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRWYWx1ZV09IlJlcG9ydFN0cmF0ZWd5RGVmYXVsdFZhbHVlLktleSJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJyZXBvcnRTdHJhdGVneSJcbiAgICAgICAgICAgICAgICAgICAgW2lzRXhwYW5zaW9uTW9kZV09InRydWUiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlS2V5KCRldmVudCwgJGluZGV4KSJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09ImRlbGV0ZUtleVRpdGxlIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXY+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJhZGRLZXkoKSI+XG4gICAgICAgIHt7IGFkZEtleVRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjbm9LZXlzPlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIGtleS1wYW5lbCI+XG4gICAgICA8c3BhbiBjbGFzcz0idGItcHJvbXB0IiB0cmFuc2xhdGU+e3sgbm9LZXlzVGV4dCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz0idGItZmxleCBmbGV4LWVuZCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uXG4gICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIChjbGljayk9ImNhbmNlbCgpIj5cbiAgICAgIHt7IFwnYWN0aW9uLmNhbmNlbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAoY2xpY2spPSJhcHBseUtleXNEYXRhKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJrZXlzTGlzdEZvcm1BcnJheS5pbnZhbGlkIHx8ICFrZXlzTGlzdEZvcm1BcnJheS5kaXJ0eSI+XG4gICAgICB7eyBcJ2FjdGlvbi5hcHBseVwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnRiLW1vZGJ1cy1rZXlzLXBhbmVse3dpZHRoOjc3dnc7bWF4LXdpZHRoOjcwMHB4fTpob3N0IC50Yi1tb2RidXMta2V5cy1wYW5lbCAudGl0bGUtY29udGFpbmVye3dpZHRoOjE4MHB4fTpob3N0IC50Yi1tb2RidXMta2V5cy1wYW5lbCAua2V5LWxhYmVse2ZvbnQtd2VpZ2h0OjQwMH06aG9zdCAudGItbW9kYnVzLWtleXMtcGFuZWwgLmtleS1wYW5lbHtoZWlnaHQ6NTAwcHg7b3ZlcmZsb3c6YXV0b306aG9zdCAudGItbW9kYnVzLWtleXMtcGFuZWwgLnRiLWZvcm0tcGFuZWwgLm1hdC1tZGMtaWNvbi1idXR0b257d2lkdGg6NTZweDtoZWlnaHQ6NTZweDtwYWRkaW5nOjE2cHg7Y29sb3I6IzAwMDAwMDhhfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuVW50eXBlZEZvcm1CdWlsZGVyfV0scHJvcERlY29yYXRvcnM6e2lzTWFzdGVyOlt7dHlwZTphfV0saGlkZU5ld0ZpZWxkczpbe3R5cGU6YX1dLHBhbmVsVGl0bGU6W3t0eXBlOmF9XSxhZGRLZXlUaXRsZTpbe3R5cGU6YX1dLGRlbGV0ZUtleVRpdGxlOlt7dHlwZTphfV0sbm9LZXlzVGV4dDpbe3R5cGU6YX1dLGtleXNUeXBlOlt7dHlwZTphfV0sdmFsdWVzOlt7dHlwZTphfV0scG9wb3Zlcjpbe3R5cGU6YX1dLGtleXNEYXRhQXBwbGllZDpbe3R5cGU6bH1dfX0pO2NsYXNzIHlve2NvbnN0cnVjdG9yKGUsdCxuLGEsbyl7dGhpcy5mYj1lLHRoaXMucG9wb3ZlclNlcnZpY2U9dCx0aGlzLnJlbmRlcmVyPW4sdGhpcy52aWV3Q29udGFpbmVyUmVmPWEsdGhpcy5jZHI9byx0aGlzLnNpbmdsZU1vZGU9ITEsdGhpcy5oaWRlTmV3RmllbGRzPSExLHRoaXMuZGlzYWJsZWQ9ITEsdGhpcy5tb2RidXNSZWdpc3RlclR5cGVzPU9iamVjdC52YWx1ZXMoWG4pLHRoaXMubW9kYnVzVmFsdWVLZXlzPU9iamVjdC52YWx1ZXMoYWEpLHRoaXMuTW9kYnVzVmFsdWVzVHJhbnNsYXRpb25zTWFwPVpuLHRoaXMuTW9kYnVzVmFsdWVLZXk9YWEsdGhpcy5kZXN0cm95JD1uZXcgU2V9bmdPbkluaXQoKXt0aGlzLmluaXRpYWxpemVWYWx1ZXNGb3JtR3JvdXAoKSx0aGlzLm9ic2VydmVWYWx1ZXNDaGFuZ2VzKCl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLm9uQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7dGhpcy5vblRvdWNoZWQ9ZX13cml0ZVZhbHVlKGUpe2lmKHRoaXMuc2luZ2xlTW9kZSl0aGlzLnZhbHVlc0Zvcm1Hcm91cC5zZXRWYWx1ZSh0aGlzLmdldFNpbmdsZVJlZ2lzdGVyU3RhdGUoZSkse2VtaXRFdmVudDohMX0pO2Vsc2V7Y29uc3R7aG9sZGluZ19yZWdpc3RlcnM6dCxjb2lsc19pbml0aWFsaXplcjpuLGlucHV0X3JlZ2lzdGVyczphLGRpc2NyZXRlX2lucHV0czpvfT1lO3RoaXMudmFsdWVzRm9ybUdyb3VwLnNldFZhbHVlKHtob2xkaW5nX3JlZ2lzdGVyczp0aGlzLmdldFNpbmdsZVJlZ2lzdGVyU3RhdGUodCksY29pbHNfaW5pdGlhbGl6ZXI6dGhpcy5nZXRTaW5nbGVSZWdpc3RlclN0YXRlKG4pLGlucHV0X3JlZ2lzdGVyczp0aGlzLmdldFNpbmdsZVJlZ2lzdGVyU3RhdGUoYSksZGlzY3JldGVfaW5wdXRzOnRoaXMuZ2V0U2luZ2xlUmVnaXN0ZXJTdGF0ZShvKX0se2VtaXRFdmVudDohMX0pfXRoaXMuY2RyLm1hcmtGb3JDaGVjaygpfXZhbGlkYXRlKCl7cmV0dXJuIHRoaXMudmFsdWVzRm9ybUdyb3VwLnZhbGlkP251bGw6e3ZhbHVlc0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fX1zZXREaXNhYmxlZFN0YXRlKGUpe3RoaXMuZGlzYWJsZWQ9ZSx0aGlzLmNkci5tYXJrRm9yQ2hlY2soKX1nZXRWYWx1ZUdyb3VwKGUsdCl7cmV0dXJuIHQ/dGhpcy52YWx1ZXNGb3JtR3JvdXAuZ2V0KHQpLmdldChlKTp0aGlzLnZhbHVlc0Zvcm1Hcm91cC5nZXQoZSl9bWFuYWdlS2V5cyhlLHQsbixhKXtlLnN0b3BQcm9wYWdhdGlvbigpO2NvbnN0IG89dC5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O2lmKHRoaXMucG9wb3ZlclNlcnZpY2UuaGFzUG9wb3ZlcihvKSlyZXR1cm4gdm9pZCB0aGlzLnBvcG92ZXJTZXJ2aWNlLmhpZGVQb3BvdmVyKG8pO2NvbnN0IGk9dGhpcy5nZXRWYWx1ZUdyb3VwKG4sYSkscj17dmFsdWVzOmkudmFsdWUsaXNNYXN0ZXI6IXRoaXMuc2luZ2xlTW9kZSxrZXlzVHlwZTpuLHBhbmVsVGl0bGU6b2EuZ2V0KG4pLGFkZEtleVRpdGxlOmlhLmdldChuKSxkZWxldGVLZXlUaXRsZTpyYS5nZXQobiksbm9LZXlzVGV4dDpzYS5nZXQobiksaGlkZU5ld0ZpZWxkczp0aGlzLmhpZGVOZXdGaWVsZHN9LHM9dGhpcy5wb3BvdmVyU2VydmljZS5kaXNwbGF5UG9wb3ZlcihvLHRoaXMucmVuZGVyZXIsdGhpcy52aWV3Q29udGFpbmVyUmVmLGZvLCJsZWZ0Qm90dG9tIiwhMSxudWxsLHIse30se30se30sITApO3MudGJDb21wb25lbnRSZWYuaW5zdGFuY2UucG9wb3Zlcj1zLHMudGJDb21wb25lbnRSZWYuaW5zdGFuY2Uua2V5c0RhdGFBcHBsaWVkLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3MuaGlkZSgpLGkucGF0Y2hWYWx1ZShlKSxpLm1hcmtBc0RpcnR5KCksdGhpcy5jZHIubWFya0ZvckNoZWNrKCl9KSl9aW5pdGlhbGl6ZVZhbHVlc0Zvcm1Hcm91cCgpe2NvbnN0IGU9KCk9PnRoaXMuZmIuZ3JvdXAodGhpcy5tb2RidXNWYWx1ZUtleXMucmVkdWNlKCgoZSx0KT0+KGVbdF09dGhpcy5mYi5jb250cm9sKFtbXSxbXV0pLGUpKSx7fSkpO3RoaXMuc2luZ2xlTW9kZT90aGlzLnZhbHVlc0Zvcm1Hcm91cD1lKCk6dGhpcy52YWx1ZXNGb3JtR3JvdXA9dGhpcy5mYi5ncm91cCh0aGlzLm1vZGJ1c1JlZ2lzdGVyVHlwZXMucmVkdWNlKCgodCxuKT0+KHRbbl09ZSgpLHQpKSx7fSkpfW9ic2VydmVWYWx1ZXNDaGFuZ2VzKCl7dGhpcy52YWx1ZXNGb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMub25DaGFuZ2UoZSksdGhpcy5vblRvdWNoZWQoKX0pKX1nZXRTaW5nbGVSZWdpc3RlclN0YXRlKGUpe3JldHVybnthdHRyaWJ1dGVzOmU/LmF0dHJpYnV0ZXM/P1tdLHRpbWVzZXJpZXM6ZT8udGltZXNlcmllcz8/W10sYXR0cmlidXRlVXBkYXRlczplPy5hdHRyaWJ1dGVVcGRhdGVzPz9bXSxycGM6ZT8ucnBjPz9bXX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTp5byxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjpmdC5UYlBvcG92ZXJTZXJ2aWNlfSx7dG9rZW46dC5SZW5kZXJlcjJ9LHt0b2tlbjp0LlZpZXdDb250YWluZXJSZWZ9LHt0b2tlbjp0LkNoYW5nZURldGVjdG9yUmVmfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTp5byxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1vZGJ1cy12YWx1ZXMiLGlucHV0czp7c2luZ2xlTW9kZToic2luZ2xlTW9kZSIsaGlkZU5ld0ZpZWxkczoiaGlkZU5ld0ZpZWxkcyJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PnlvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT55bykpLG11bHRpOiEwfV0sbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcblxuPG5nLWNvbnRhaW5lciAqbmdJZj0ic2luZ2xlTW9kZSBlbHNlIG11bHRpcGxlVmlldyI+XG4gIDxkaXYgW2Zvcm1Hcm91cF09InZhbHVlc0Zvcm1Hcm91cCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJzaW5nbGVWaWV3IiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPSJ7JGltcGxpY2l0OiBudWxsfSI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjbXVsdGlwbGVWaWV3PlxuICA8bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0idmFsdWVzRm9ybUdyb3VwIj5cbiAgICA8bWF0LXRhYiAqbmdGb3I9ImxldCByZWdpc3RlciBvZiBtb2RidXNSZWdpc3RlclR5cGVzIiBsYWJlbD0ie3sgTW9kYnVzVmFsdWVzVHJhbnNsYXRpb25zTWFwLmdldChyZWdpc3RlcikgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiBbZm9ybUdyb3VwXT0idmFsdWVzRm9ybUdyb3VwLmdldChyZWdpc3RlcikiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09InNpbmdsZVZpZXciIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09InskaW1wbGljaXQ6IHJlZ2lzdGVyfSI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC10YWI+XG4gIDwvbWF0LXRhYi1ncm91cD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2luZ2xlVmlldyBsZXQtcmVnaXN0ZXI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZXM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5BVFRSSUJVVEVTLCByZWdpc3RlcikudmFsdWUiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZSBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVMsIHJlZ2lzdGVyKS52YWx1ZSI+XG4gICAgICAgICAge3sgYXR0cmlidXRlLnRhZyB9fVxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJkaXNhYmxlZCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAjYXR0cmlidXRlc0J1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgYXR0cmlidXRlc0J1dHRvbiwgTW9kYnVzVmFsdWVLZXkuQVRUUklCVVRFUywgcmVnaXN0ZXIpIj5cbiAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50aW1lc2VyaWVzPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggY2xhc3M9InRiLWZsZXgiIFt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdPSJnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LlRJTUVTRVJJRVMsIHJlZ2lzdGVyKS52YWx1ZSI+XG4gICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCB0ZWxlbWV0cnkgb2YgZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5USU1FU0VSSUVTLCByZWdpc3RlcikudmFsdWUiPlxuICAgICAgICAgIHt7IHRlbGVtZXRyeS50YWcgfX1cbiAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iZGlzYWJsZWQiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgI3RlbGVtZXRyeUJ1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgdGVsZW1ldHJ5QnV0dG9uLCBNb2RidXNWYWx1ZUtleS5USU1FU0VSSUVTLCByZWdpc3RlcikiPlxuICAgICAgICA8dGItaWNvbiBtYXRCdXR0b25JY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZS11cGRhdGVzPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09ImdldFZhbHVlR3JvdXAoTW9kYnVzVmFsdWVLZXkuQVRUUklCVVRFU19VUERBVEVTLCByZWdpc3RlcikudmFsdWUiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZVVwZGF0ZSBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVNfVVBEQVRFUywgcmVnaXN0ZXIpLnZhbHVlIj5cbiAgICAgICAgICB7eyBhdHRyaWJ1dGVVcGRhdGUudGFnIH19XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iZGlzYWJsZWQiXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICNhdHRyaWJ1dGVzVXBkYXRlc0J1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgYXR0cmlidXRlc1VwZGF0ZXNCdXR0b24sIE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVNfVVBEQVRFUywgcmVnaXN0ZXIpIj5cbiAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5ycGMtcmVxdWVzdHM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5SUENfUkVRVUVTVFMsIHJlZ2lzdGVyKS52YWx1ZSIgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgcnBjUmVxdWVzdCBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LlJQQ19SRVFVRVNUUywgcmVnaXN0ZXIpLnZhbHVlIj5cbiAgICAgICAgICB7eyBycGNSZXF1ZXN0LnRhZyB9fVxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJkaXNhYmxlZCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAjcnBjUmVxdWVzdHNCdXR0b25cbiAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIHJwY1JlcXVlc3RzQnV0dG9uLCBNb2RidXNWYWx1ZUtleS5SUENfUkVRVUVTVFMsIHJlZ2lzdGVyKSI+XG4gICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWJvZHktd3JhcHBlcnttaW4taGVpZ2h0OjMyMHB4fTo6bmctZGVlcCAubWRjLWV2b2x1dGlvbi1jaGlwLXNldF9fY2hpcHN7YWxpZ24taXRlbXM6Y2VudGVyfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1RlbXBsYXRlT3V0bGV0LHNlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0iLGlucHV0czpbIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IiwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRJbmplY3RvciJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp5dC5NYXRDaGlwLHNlbGVjdG9yOiJtYXQtYmFzaWMtY2hpcCwgW21hdC1iYXNpYy1jaGlwXSwgbWF0LWNoaXAsIFttYXQtY2hpcF0iLGlucHV0czpbInJvbGUiLCJpZCIsImFyaWEtbGFiZWwiLCJhcmlhLWRlc2NyaXB0aW9uIiwidmFsdWUiLCJjb2xvciIsInJlbW92YWJsZSIsImhpZ2hsaWdodGVkIiwiZGlzYWJsZVJpcHBsZSIsImRpc2FibGVkIl0sb3V0cHV0czpbInJlbW92ZWQiLCJkZXN0cm95ZWQiXSxleHBvcnRBczpbIm1hdENoaXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp5dC5NYXRDaGlwTGlzdGJveCxzZWxlY3RvcjoibWF0LWNoaXAtbGlzdGJveCIsaW5wdXRzOlsibXVsdGlwbGUiLCJhcmlhLW9yaWVudGF0aW9uIiwic2VsZWN0YWJsZSIsImNvbXBhcmVXaXRoIiwicmVxdWlyZWQiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwidmFsdWUiXSxvdXRwdXRzOlsiY2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YnQuVGJJY29uQ29tcG9uZW50LHNlbGVjdG9yOiJ0Yi1pY29uIixpbnB1dHM6WyJjb2xvciJdLGV4cG9ydEFzOlsidGJJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6a2Esc2VsZWN0b3I6Ilt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdIixpbnB1dHM6WyJ0Yi1lbGxpcHNpcy1jaGlwLWxpc3QiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJNb2RidXNWYWx1ZXNDb21wb25lbnQiLHlvKSxIZShbTigpXSx5by5wcm90b3R5cGUsInNpbmdsZU1vZGUiLHZvaWQgMCksSGUoW04oKV0seW8ucHJvdG90eXBlLCJoaWRlTmV3RmllbGRzIix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6eW8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy12YWx1ZXMiLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT55bykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+eW8pKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxELGthXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcblxuPG5nLWNvbnRhaW5lciAqbmdJZj0ic2luZ2xlTW9kZSBlbHNlIG11bHRpcGxlVmlldyI+XG4gIDxkaXYgW2Zvcm1Hcm91cF09InZhbHVlc0Zvcm1Hcm91cCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJzaW5nbGVWaWV3IiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPSJ7JGltcGxpY2l0OiBudWxsfSI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjbXVsdGlwbGVWaWV3PlxuICA8bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0idmFsdWVzRm9ybUdyb3VwIj5cbiAgICA8bWF0LXRhYiAqbmdGb3I9ImxldCByZWdpc3RlciBvZiBtb2RidXNSZWdpc3RlclR5cGVzIiBsYWJlbD0ie3sgTW9kYnVzVmFsdWVzVHJhbnNsYXRpb25zTWFwLmdldChyZWdpc3RlcikgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiBbZm9ybUdyb3VwXT0idmFsdWVzRm9ybUdyb3VwLmdldChyZWdpc3RlcikiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09InNpbmdsZVZpZXciIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09InskaW1wbGljaXQ6IHJlZ2lzdGVyfSI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC10YWI+XG4gIDwvbWF0LXRhYi1ncm91cD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2luZ2xlVmlldyBsZXQtcmVnaXN0ZXI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZXM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5BVFRSSUJVVEVTLCByZWdpc3RlcikudmFsdWUiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZSBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVMsIHJlZ2lzdGVyKS52YWx1ZSI+XG4gICAgICAgICAge3sgYXR0cmlidXRlLnRhZyB9fVxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJkaXNhYmxlZCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAjYXR0cmlidXRlc0J1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgYXR0cmlidXRlc0J1dHRvbiwgTW9kYnVzVmFsdWVLZXkuQVRUUklCVVRFUywgcmVnaXN0ZXIpIj5cbiAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50aW1lc2VyaWVzPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggY2xhc3M9InRiLWZsZXgiIFt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdPSJnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LlRJTUVTRVJJRVMsIHJlZ2lzdGVyKS52YWx1ZSI+XG4gICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCB0ZWxlbWV0cnkgb2YgZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5USU1FU0VSSUVTLCByZWdpc3RlcikudmFsdWUiPlxuICAgICAgICAgIHt7IHRlbGVtZXRyeS50YWcgfX1cbiAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iZGlzYWJsZWQiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgI3RlbGVtZXRyeUJ1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgdGVsZW1ldHJ5QnV0dG9uLCBNb2RidXNWYWx1ZUtleS5USU1FU0VSSUVTLCByZWdpc3RlcikiPlxuICAgICAgICA8dGItaWNvbiBtYXRCdXR0b25JY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZS11cGRhdGVzPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09ImdldFZhbHVlR3JvdXAoTW9kYnVzVmFsdWVLZXkuQVRUUklCVVRFU19VUERBVEVTLCByZWdpc3RlcikudmFsdWUiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZVVwZGF0ZSBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVNfVVBEQVRFUywgcmVnaXN0ZXIpLnZhbHVlIj5cbiAgICAgICAgICB7eyBhdHRyaWJ1dGVVcGRhdGUudGFnIH19XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iZGlzYWJsZWQiXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICNhdHRyaWJ1dGVzVXBkYXRlc0J1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgYXR0cmlidXRlc1VwZGF0ZXNCdXR0b24sIE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVNfVVBEQVRFUywgcmVnaXN0ZXIpIj5cbiAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5ycGMtcmVxdWVzdHM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5SUENfUkVRVUVTVFMsIHJlZ2lzdGVyKS52YWx1ZSIgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgcnBjUmVxdWVzdCBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LlJQQ19SRVFVRVNUUywgcmVnaXN0ZXIpLnZhbHVlIj5cbiAgICAgICAgICB7eyBycGNSZXF1ZXN0LnRhZyB9fVxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJkaXNhYmxlZCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAjcnBjUmVxdWVzdHNCdXR0b25cbiAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIHJwY1JlcXVlc3RzQnV0dG9uLCBNb2RidXNWYWx1ZUtleS5SUENfUkVRVUVTVFMsIHJlZ2lzdGVyKSI+XG4gICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWJvZHktd3JhcHBlcnttaW4taGVpZ2h0OjMyMHB4fTo6bmctZGVlcCAubWRjLWV2b2x1dGlvbi1jaGlwLXNldF9fY2hpcHN7YWxpZ24taXRlbXM6Y2VudGVyfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9LHt0eXBlOmZ0LlRiUG9wb3ZlclNlcnZpY2V9LHt0eXBlOnQuUmVuZGVyZXIyfSx7dHlwZTp0LlZpZXdDb250YWluZXJSZWZ9LHt0eXBlOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9XSxwcm9wRGVjb3JhdG9yczp7c2luZ2xlTW9kZTpbe3R5cGU6YX1dLGhpZGVOZXdGaWVsZHM6W3t0eXBlOmF9XX19KTtjbGFzcyBib3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuZmI9ZSx0aGlzLmNkcj10LHRoaXMuaXNNYXN0ZXI9ITEsdGhpcy5kaXNhYmxlZD0hMSx0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLnNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe2NlcnRmaWxlOlsiIixbdWUucGF0dGVybihrdCldXSxrZXlmaWxlOlsiIixbdWUucGF0dGVybihrdCldXSxwYXNzd29yZDpbIiIsW3VlLnBhdHRlcm4oa3QpXV0sc2VydmVyX2hvc3RuYW1lOlsiIixbdWUucGF0dGVybihrdCldXSxyZXFjbGljZXJ0Olt7dmFsdWU6ITEsZGlzYWJsZWQ6ITB9XX0pLHRoaXMub2JzZXJ2ZVZhbHVlQ2hhbmdlcygpfW5nT25DaGFuZ2VzKCl7dGhpcy51cGRhdGVNYXN0ZXJFbmFibGluZygpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9c2V0RGlzYWJsZWRTdGF0ZShlKXt0aGlzLmRpc2FibGVkPWUsdGhpcy5kaXNhYmxlZD90aGlzLnNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwLmRpc2FibGUoe2VtaXRFdmVudDohMX0pOnRoaXMuc2VjdXJpdHlDb25maWdGb3JtR3JvdXAuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnVwZGF0ZU1hc3RlckVuYWJsaW5nKCksdGhpcy5jZHIubWFya0ZvckNoZWNrKCl9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5zZWN1cml0eUNvbmZpZ0Zvcm1Hcm91cC52YWxpZD9udWxsOntzZWN1cml0eUNvbmZpZ0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fX13cml0ZVZhbHVlKGUpe2NvbnN0e2NlcnRmaWxlOnQscGFzc3dvcmQ6bixrZXlmaWxlOmEsc2VydmVyX2hvc3RuYW1lOm99PWUsaT17Y2VydGZpbGU6dD8/IiIscGFzc3dvcmQ6bj8/IiIsa2V5ZmlsZTphPz8iIixzZXJ2ZXJfaG9zdG5hbWU6bz8/IiIscmVxY2xpY2VydDohIWUucmVxY2xpY2VydH07dGhpcy5zZWN1cml0eUNvbmZpZ0Zvcm1Hcm91cC5yZXNldChpLHtlbWl0RXZlbnQ6ITF9KX11cGRhdGVNYXN0ZXJFbmFibGluZygpe3RoaXMuaXNNYXN0ZXI/KHRoaXMuZGlzYWJsZWR8fHRoaXMuc2VjdXJpdHlDb25maWdGb3JtR3JvdXAuZ2V0KCJyZXFjbGljZXJ0IikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwLmdldCgic2VydmVyX2hvc3RuYW1lIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpOih0aGlzLmRpc2FibGVkfHx0aGlzLnNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwLmdldCgic2VydmVyX2hvc3RuYW1lIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwLmdldCgicmVxY2xpY2VydCIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pKX1vYnNlcnZlVmFsdWVDaGFuZ2VzKCl7dGhpcy5zZWN1cml0eUNvbmZpZ0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Ym8sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfSx7dG9rZW46dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6Ym8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1tb2RidXMtc2VjdXJpdHktY29uZmlnIixpbnB1dHM6e2lzTWFzdGVyOiJpc01hc3RlciJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PmJvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5ibykpLG11bHRpOiEwfV0sdXNlc09uQ2hhbmdlczohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyIgW2Zvcm1Hcm91cF09InNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCI+e3sgXCdnYXRld2F5LmhpbnRzLnBhdGgtaW4tb3NcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLmNhLWNlcnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPmdhdGV3YXkuY2xpZW50LWNlcnQtcGF0aDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY2VydGZpbGUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkucHJpdmF0ZS1rZXktcGF0aFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIDxzcGFuIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCB0cmFuc2xhdGU+Z2F0ZXdheS5wcml2YXRlLWtleS1wYXRoPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJrZXlmaWxlIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5wYXNzd29yZDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJwYXNzd29yZCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icGFzc3dvcmQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAgYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0IiBtYXRTdWZmaXg+XG4gICAgICAgICAgPHRiLXRvZ2dsZS1wYXNzd29yZCBjbGFzcz0idGItZmxleCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiPjwvdGItdG9nZ2xlLXBhc3N3b3JkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPSIhaXNNYXN0ZXIiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci1ob3N0bmFtZTwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJ2ZXJfaG9zdG5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPSJpc01hc3RlciIgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXFjbGljZXJ0Ij5cbiAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgIHt7IFwnZ2F0ZXdheS5yZXF1ZXN0LWNsaWVudC1jZXJ0aWZpY2F0ZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1sYWJlbD5cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp0dC5Ub2dnbGVQYXNzd29yZENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXBhc3N3b3JkIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1IZShbTigpXSxiby5wcm90b3R5cGUsImlzTWFzdGVyIix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Ym8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1zZWN1cml0eS1jb25maWciLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5ibykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+Ym8pKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxELFNhXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciIFtmb3JtR3JvdXBdPSJzZWN1cml0eUNvbmZpZ0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwiPnt7IFwnZ2F0ZXdheS5oaW50cy5wYXRoLWluLW9zXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5jYS1jZXJ0XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPHNwYW4gdGJUcnVuY2F0ZVdpdGhUb29sdGlwIHRyYW5zbGF0ZT5nYXRld2F5LmNsaWVudC1jZXJ0LXBhdGg8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImNlcnRmaWxlIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LnByaXZhdGUta2V5LXBhdGhcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPmdhdGV3YXkucHJpdmF0ZS1rZXktcGF0aDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ia2V5ZmlsZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucGFzc3dvcmQ8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhc3N3b3JkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGFsaWduLWNlbnRlciBmaWxsLWhlaWdodCIgbWF0U3VmZml4PlxuICAgICAgICAgIDx0Yi10b2dnbGUtcGFzc3dvcmQgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0Ij48L3RiLXRvZ2dsZS1wYXNzd29yZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj0iIWlzTWFzdGVyIiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5zZXJ2ZXItaG9zdG5hbWU8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ic2VydmVyX2hvc3RuYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj0iaXNNYXN0ZXIiIGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmVxY2xpY2VydCI+XG4gICAgICA8bWF0LWxhYmVsPlxuICAgICAgICB7eyBcJ2dhdGV3YXkucmVxdWVzdC1jbGllbnQtY2VydGlmaWNhdGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9tYXQtbGFiZWw+XG4gICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICA8L2Rpdj5cbjwvZGl2PlxuJ31dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTptZS5Gb3JtQnVpbGRlcn0se3R5cGU6dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHByb3BEZWNvcmF0b3JzOntpc01hc3Rlcjpbe3R5cGU6YX1dfX0pO2NsYXNzIGhvIGV4dGVuZHMgUHtjb25zdHJ1Y3RvcihlLHQsbixhLG8pe3N1cGVyKHQsbixvKSx0aGlzLmZiPWUsdGhpcy5zdG9yZT10LHRoaXMucm91dGVyPW4sdGhpcy5kYXRhPWEsdGhpcy5kaWFsb2dSZWY9byx0aGlzLnBvcnRMaW1pdHM9RXQsdGhpcy5tb2RidXNQcm90b2NvbFR5cGVzPU9iamVjdC52YWx1ZXMoSG4pLHRoaXMubW9kYnVzTWV0aG9kVHlwZXM9T2JqZWN0LnZhbHVlcyhXbiksdGhpcy5tb2RidXNTZXJpYWxNZXRob2RUeXBlcz1PYmplY3QudmFsdWVzKGpuKSx0aGlzLm1vZGJ1c1Bhcml0aWVzPU9iamVjdC52YWx1ZXMoWW4pLHRoaXMubW9kYnVzQnl0ZVNpemVzPSRuLHRoaXMubW9kYnVzQmF1ZHJhdGVzPWxhLHRoaXMubW9kYnVzT3JkZXJUeXBlPU9iamVjdC52YWx1ZXMoSm4pLHRoaXMuTW9kYnVzUHJvdG9jb2xUeXBlPUhuLHRoaXMuTW9kYnVzUGFyaXR5TGFiZWxzTWFwPVFuLHRoaXMuTW9kYnVzUHJvdG9jb2xMYWJlbHNNYXA9em4sdGhpcy5Nb2RidXNNZXRob2RMYWJlbHNNYXA9S24sdGhpcy5SZXBvcnRTdHJhdGVneURlZmF1bHRWYWx1ZT1sbix0aGlzLm1vZGJ1c0hlbHBMaW5rPXYrIi9kb2NzL2lvdC1nYXRld2F5L2NvbmZpZy9tb2RidXMvI3NlY3Rpb24tbWFzdGVyLWRlc2NyaXB0aW9uLWFuZC1jb25maWd1cmF0aW9uLXBhcmFtZXRlcnMiLHRoaXMuc2VyaWFsU3BlY2lmaWNDb250cm9sS2V5cz1bInNlcmlhbFBvcnQiLCJiYXVkcmF0ZSIsInN0b3BiaXRzIiwiYnl0ZXNpemUiLCJwYXJpdHkiLCJzdHJpY3QiXSx0aGlzLnRjcFVkcFNwZWNpZmljQ29udHJvbEtleXM9WyJwb3J0Iiwic2VjdXJpdHkiLCJob3N0Il0sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5zaG93U2VjdXJpdHlDb250cm9sPXRoaXMuZmIuY29udHJvbCghMSksdGhpcy5pbml0aWFsaXplU2xhdmVGb3JtR3JvdXAoKSx0aGlzLnVwZGF0ZVNsYXZlRm9ybUdyb3VwKCksdGhpcy51cGRhdGVDb250cm9sc0VuYWJsaW5nKHRoaXMuZGF0YS52YWx1ZS50eXBlKSx0aGlzLm9ic2VydmVUeXBlQ2hhbmdlKCksdGhpcy5vYnNlcnZlU2hvd1NlY3VyaXR5KCksdGhpcy5zaG93U2VjdXJpdHlDb250cm9sLnBhdGNoVmFsdWUoISF0aGlzLmRhdGEudmFsdWUuc2VjdXJpdHkmJiFlZSh0aGlzLmRhdGEudmFsdWUuc2VjdXJpdHkse30pKX1nZXQgcHJvdG9jb2xUeXBlKCl7cmV0dXJuIHRoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWV9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9Y2FuY2VsKCl7dGhpcy5kaWFsb2dSZWYuY2xvc2UobnVsbCl9YWRkKCl7dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC52YWxpZCYmdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5nZXRTbGF2ZVJlc3VsdERhdGEoKSl9aW5pdGlhbGl6ZVNsYXZlRm9ybUdyb3VwKCl7dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cD10aGlzLmZiLmdyb3VwKHt0eXBlOltIbi5UQ1BdLGhvc3Q6WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHBvcnQ6W251bGwsW3VlLnJlcXVpcmVkLHVlLm1pbihFdC5NSU4pLHVlLm1heChFdC5NQVgpXV0sc2VyaWFsUG9ydDpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sbWV0aG9kOltXbi5TT0NLRVQsW3VlLnJlcXVpcmVkXV0sYmF1ZHJhdGU6W3RoaXMubW9kYnVzQmF1ZHJhdGVzWzBdXSxzdG9wYml0czpbMV0sYnl0ZXNpemU6WyRuWzBdXSxwYXJpdHk6W1luLk5vbmVdLHN0cmljdDpbITBdLHVuaXRJZDpbbnVsbCxbdWUucmVxdWlyZWRdXSxkZXZpY2VOYW1lOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxkZXZpY2VUeXBlOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx0aW1lb3V0OlszNV0sYnl0ZU9yZGVyOltKbi5CSUddLHdvcmRPcmRlcjpbSm4uQklHXSxyZXRyaWVzOlshMF0scmV0cnlPbkVtcHR5OlshMF0scmV0cnlPbkludmFsaWQ6WyEwXSxwb2xsUGVyaW9kOls1ZTMsW3VlLnJlcXVpcmVkXV0sY29ubmVjdEF0dGVtcHRUaW1lTXM6WzVlMyxbdWUucmVxdWlyZWRdXSxjb25uZWN0QXR0ZW1wdENvdW50Ols1LFt1ZS5yZXF1aXJlZF1dLHdhaXRBZnRlckZhaWxlZEF0dGVtcHRzTXM6WzNlNSxbdWUucmVxdWlyZWRdXSx2YWx1ZXM6W3t9XSxzZWN1cml0eTpbe31dfSksdGhpcy5hZGRGaWVsZHNUb0Zvcm1Hcm91cCgpfXVwZGF0ZVNsYXZlRm9ybUdyb3VwKCl7dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5wYXRjaFZhbHVlKHsuLi50aGlzLmRhdGEudmFsdWUscG9ydDp0aGlzLmRhdGEudmFsdWUudHlwZT09PUhuLlNlcmlhbD9udWxsOnRoaXMuZGF0YS52YWx1ZS5wb3J0LHNlcmlhbFBvcnQ6dGhpcy5kYXRhLnZhbHVlLnR5cGU9PT1Ibi5TZXJpYWw/dGhpcy5kYXRhLnZhbHVlLnBvcnQ6IiIsdmFsdWVzOnthdHRyaWJ1dGVzOnRoaXMuZGF0YS52YWx1ZS5hdHRyaWJ1dGVzPz9bXSx0aW1lc2VyaWVzOnRoaXMuZGF0YS52YWx1ZS50aW1lc2VyaWVzPz9bXSxhdHRyaWJ1dGVVcGRhdGVzOnRoaXMuZGF0YS52YWx1ZS5hdHRyaWJ1dGVVcGRhdGVzPz9bXSxycGM6dGhpcy5kYXRhLnZhbHVlLnJwYz8/W119fSl9b2JzZXJ2ZVR5cGVDaGFuZ2UoKXt0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldCgidHlwZSIpLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLnVwZGF0ZUNvbnRyb2xzRW5hYmxpbmcoZSksdGhpcy51cGRhdGVNZXRob2RUeXBlKGUpfSkpfXVwZGF0ZU1ldGhvZFR5cGUoZSl7dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoIm1ldGhvZCIpLnZhbHVlIT09V24uUlRVJiZ0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldCgibWV0aG9kIikucGF0Y2hWYWx1ZShlPT09SG4uU2VyaWFsP2puLkFTQ0lJOlduLlNPQ0tFVCx7ZW1pdEV2ZW50OiExfSl9dXBkYXRlQ29udHJvbHNFbmFibGluZyhlKXtjb25zdFt0LG5dPWU9PT1Ibi5TZXJpYWw/W3RoaXMuc2VyaWFsU3BlY2lmaWNDb250cm9sS2V5cyx0aGlzLnRjcFVkcFNwZWNpZmljQ29udHJvbEtleXNdOlt0aGlzLnRjcFVkcFNwZWNpZmljQ29udHJvbEtleXMsdGhpcy5zZXJpYWxTcGVjaWZpY0NvbnRyb2xLZXlzXTt0LmZvckVhY2goKGU9PnRoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KGUpPy5lbmFibGUoe2VtaXRFdmVudDohMX0pKSksbi5mb3JFYWNoKChlPT50aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChlKT8uZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpKSx0aGlzLnVwZGF0ZVNlY3VyaXR5RW5hYmxpbmcodGhpcy5zaG93U2VjdXJpdHlDb250cm9sLnZhbHVlKX1vYnNlcnZlU2hvd1NlY3VyaXR5KCl7dGhpcy5zaG93U2VjdXJpdHlDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9PnRoaXMudXBkYXRlU2VjdXJpdHlFbmFibGluZyhlKSkpfXVwZGF0ZVNlY3VyaXR5RW5hYmxpbmcoZSl7ZSYmdGhpcy5wcm90b2NvbFR5cGUhPT1Ibi5TZXJpYWw/dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoInNlY3VyaXR5IikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KTp0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldCgic2VjdXJpdHkiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmhvLGRlcHM6W3t0b2tlbjptZS5Gb3JtQnVpbGRlcn0se3Rva2VuOm90LlN0b3JlfSx7dG9rZW46aXQuUm91dGVyfSx7dG9rZW46WGV9LHt0b2tlbjpKZS5NYXREaWFsb2dSZWZ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5EaXJlY3RpdmV9KX1zdGF0aWN7dGhpcy7JtWRpcj10Lsm1ybVuZ0RlY2xhcmVEaXJlY3RpdmUoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOmhvLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0fSl9fWUoIk1vZGJ1c1NsYXZlRGlhbG9nQWJzdHJhY3QiLGhvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmhvLGRlY29yYXRvcnM6W3t0eXBlOnN9XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTpvdC5TdG9yZX0se3R5cGU6aXQuUm91dGVyfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6cCxhcmdzOltYZV19XX0se3R5cGU6SmUuTWF0RGlhbG9nUmVmfV19KTtjbGFzcyB4byBleHRlbmRzIGhve2NvbnN0cnVjdG9yKGUsdCxuLGEsbyl7c3VwZXIoZSx0LG4sYSxvKSx0aGlzLmZiPWUsdGhpcy5zdG9yZT10LHRoaXMucm91dGVyPW4sdGhpcy5kYXRhPWEsdGhpcy5kaWFsb2dSZWY9b31nZXRTbGF2ZVJlc3VsdERhdGEoKXtjb25zdHt2YWx1ZXM6ZSx0eXBlOnQsc2VyaWFsUG9ydDpuLC4uLmF9PXRoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAudmFsdWUsbz17Li4uYSx0eXBlOnQsLi4uZX07cmV0dXJuIHQ9PT1Ibi5TZXJpYWwmJihvLnBvcnQ9biksby5yZXBvcnRTdHJhdGVneXx8ZGVsZXRlIG8ucmVwb3J0U3RyYXRlZ3ksb31hZGRGaWVsZHNUb0Zvcm1Hcm91cCgpe3RoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuYWRkQ29udHJvbCgicmVwb3J0U3RyYXRlZ3kiLHRoaXMuZmIuY29udHJvbChudWxsKSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTp4byxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjpvdC5TdG9yZX0se3Rva2VuOml0LlJvdXRlcn0se3Rva2VuOlhlfSx7dG9rZW46SmUuTWF0RGlhbG9nUmVmfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTp4byxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1vZGJ1cy1zbGF2ZS1kaWFsb2ciLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0ic2xhdmVzLWNvbmZpZy1jb250YWluZXIiPlxuICA8bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICAgIDxoMj57eyBcJ2dhdGV3YXkuc2VydmVyLXNsYXZlXCcgfCB0cmFuc2xhdGUgfX08L2gyPlxuICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgPGRpdiBbdGItaGVscF09Im1vZGJ1c0hlbHBMaW5rIj48L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L21hdC10b29sYmFyPlxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBbZm9ybUdyb3VwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIj5cbiAgICA8ZGl2IGNsYXNzPSJzdHJva2VkIHRiLWZvcm0tcGFuZWwiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggcm93IHNwYWNlLWJldHdlZW4gYWxpZ24tY2VudGVyIG5vLWdhcCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuc2VydmVyLWNvbm5lY3Rpb248L2Rpdj5cbiAgICAgICAgICA8dGItdG9nZ2xlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiIGFwcGVhcmFuY2U9ImZpbGwiPlxuICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBtb2RidXNQcm90b2NvbFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj57eyBNb2RidXNQcm90b2NvbExhYmVsc01hcC5nZXQodHlwZSkgfX08L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyJcbiAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ob3N0XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5Lmhvc3Q8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iaG9zdCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuaG9zdC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIGVsc2Ugc2VyaWFsUG9ydCJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiXG4gICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSJ7e3BvcnRMaW1pdHMuTUlOfX0iIG1heD0ie3twb3J0TGltaXRzLk1BWH19IlxuICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKSB8IGdldEdhdGV3YXlQb3J0VG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ21pblwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2VyaWFsUG9ydD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc2VyaWFsLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucG9ydDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJpYWxQb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkucG9ydC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzZXJpYWxQb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2VyaWFsUG9ydFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmZyYW1lci10eXBlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5tZXRob2RcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwgPyBtb2RidXNTZXJpYWxNZXRob2RUeXBlcyA6IG1vZGJ1c01ldGhvZFR5cGVzIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT0ibWV0aG9kIj57eyBNb2RidXNNZXRob2RMYWJlbHNNYXAuZ2V0KG1ldGhvZCkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJhdWRyYXRlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJhdWRyYXRlPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJiYXVkcmF0ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCByYXRlIG9mIG1vZGJ1c0JhdWRyYXRlcyIgW3ZhbHVlXT0icmF0ZSI+e3sgcmF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ieXRlc2l6ZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlc2l6ZTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYnl0ZXNpemUiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgc2l6ZSBvZiBtb2RidXNCeXRlU2l6ZXMiIFt2YWx1ZV09InNpemUiPnt7IHNpemUgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc3RvcGJpdHNcJyB8IHRyYW5zbGF0ZSB9fSIgIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3BiaXRzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzdG9wYml0cyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucGFyaXR5XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnBhcml0eTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icGFyaXR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHBhcml0eSBvZiBtb2RidXNQYXJpdGllcyIgW3ZhbHVlXT0icGFyaXR5Ij57eyBNb2RidXNQYXJpdHlMYWJlbHNNYXAuZ2V0KHBhcml0eSkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic3RyaWN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5zdHJpY3RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0cmljdFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLnVuaXQtaWRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkudW5pdC1pZDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idW5pdElkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudW5pdC1pZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCd1bml0SWRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1uYW1lPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2UtbmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLXByb2ZpbGU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlVHlwZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1wcm9maWxlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9ImRhdGEuaGlkZU5ld0ZpZWxkcyBlbHNlIHJlcG9ydFN0cmF0ZWd5IiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InNlbmREYXRhT25seU9uQ2hhbmdlIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWRhdGEtb24tY2hhbmdlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcmVwb3J0U3RyYXRlZ3k+XG4gICAgICAgICAgPHRiLXJlcG9ydC1zdHJhdGVneSBbZGVmYXVsdFZhbHVlXT0iUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWUuRGV2aWNlIiBmb3JtQ29udHJvbE5hbWU9InJlcG9ydFN0cmF0ZWd5IiBbaXNFeHBhbnNpb25Nb2RlXT0idHJ1ZSIvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuYWR2YW5jZWQtY29ubmVjdGlvbi1zZXR0aW5nczwvZGl2PlxuICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3Rpb24tdGltZW91dFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0aW9uLXRpbWVvdXQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRpbWVvdXQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuYnl0ZS1vcmRlclwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlLW9yZGVyPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJieXRlT3JkZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndvcmQtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud29yZC1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0id29yZE9yZGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBvcmRlciBvZiBtb2RidXNPcmRlclR5cGUiIFt2YWx1ZV09Im9yZGVyIj57eyBvcmRlciB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCB0Yi1zbGlkZS10b2dnbGUiPlxuICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ic2hvd1NlY3VyaXR5Q29udHJvbC52YWx1ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmeExheW91dEFsaWduPSJjZW50ZXIiIFtmb3JtQ29udHJvbF09InNob3dTZWN1cml0eUNvbnRyb2wiIGNsYXNzPSJtYXQtc2xpZGUiIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGxzLWNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICA8dGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZyBjbGFzcz0ic2VjdXJpdHktY29uZmlnIiBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5Ij48L3RiLW1vZGJ1cy1zZWN1cml0eS1jb25maWc+XG4gICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJpZXMiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5yZXRyaWVzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllc1wnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmV0cnlPbkVtcHR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1lbXB0eVwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJldHJpZXMtb24tZW1wdHlcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJ5T25JbnZhbGlkIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoLTI2MCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICBnYXRld2F5LnBvbGwtcGVyaW9kXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb2xsUGVyaW9kIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgtMjYwIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5jb25uZWN0LWF0dGVtcHQtdGltZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtdGltZTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY29ubmVjdEF0dGVtcHRUaW1lTXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3QtYXR0ZW1wdC1jb3VudFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtY291bnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImNvbm5lY3RBdHRlbXB0Q291bnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ3YWl0QWZ0ZXJGYWlsZWRBdHRlbXB0c01zIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgPHRiLW1vZGJ1cy12YWx1ZXMgW3NpbmdsZU1vZGVdPSJ0cnVlIiBbaGlkZU5ld0ZpZWxkc109ImRhdGEuaGlkZU5ld0ZpZWxkcyIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZXMiPjwvdGItbW9kYnVzLXZhbHVlcz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIGNka0ZvY3VzSW5pdGlhbFxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0iYWRkKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5pbnZhbGlkIHx8ICFzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5kaXJ0eSI+XG4gICAgICB7eyBkYXRhLmJ1dHRvblRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnNsYXZlcy1jb25maWctY29udGFpbmVye3dpZHRoOjgwdnc7bWF4LXdpZHRoOjkwMHB4fTpob3N0IC5zbGF2ZS1uYW1lLWxhYmVse21hcmdpbi1yaWdodDoxNnB4O2NvbG9yOiMwMDAwMDBkZX06aG9zdCAuZml4ZWQtdGl0bGUtd2lkdGgtMjYwe21pbi13aWR0aDoyNjBweH06aG9zdCA6Om5nLWRlZXAgLnNlY3VyaXR5LWNvbmZpZyAuZml4ZWQtdGl0bGUtd2lkdGh7bWluLXdpZHRoOjIzMHB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmR0LkhlbHBDb21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oZWxwXSIsaW5wdXRzOlsidGItaGVscCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpKZS5NYXREaWFsb2dBY3Rpb25zLHNlbGVjdG9yOiJbbWF0LWRpYWxvZy1hY3Rpb25zXSwgbWF0LWRpYWxvZy1hY3Rpb25zLCBbbWF0RGlhbG9nQWN0aW9uc10iLGlucHV0czpbImFsaWduIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQ29udGVudCxzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWwsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwiLGlucHV0czpbImhpZGVUb2dnbGUiLCJ0b2dnbGVQb3NpdGlvbiJdLG91dHB1dHM6WyJhZnRlckV4cGFuZCIsImFmdGVyQ29sbGFwc2UiXSxleHBvcnRBczpbIm1hdEV4cGFuc2lvblBhbmVsIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIixpbnB1dHM6WyJleHBhbmRlZEhlaWdodCIsImNvbGxhcHNlZEhlaWdodCIsInRhYkluZGV4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxUaXRsZSxzZWxlY3RvcjoibWF0LXBhbmVsLXRpdGxlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OdW1iZXJWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVtuZ01vZGVsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1pblZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLGlucHV0czpbIm1pbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1heFZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21heF1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21heF1bbmdNb2RlbF0iLGlucHV0czpbIm1heCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WWUuVHJ1bmNhdGVXaXRoVG9vbHRpcERpcmVjdGl2ZSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bnQuVG9nZ2xlT3B0aW9uLHNlbGVjdG9yOiJ0Yi10b2dnbGUtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmF0LlRvZ2dsZVNlbGVjdENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXNlbGVjdCIsaW5wdXRzOlsiZGlzYWJsZWQiLCJzZWxlY3RNZWRpYUJyZWFrcG9pbnQiLCJhcHBlYXJhbmNlIiwiZGlzYWJsZVBhZ2luYXRpb24iLCJmaWxsSGVpZ2h0IiwiZXh0cmFQYWRkaW5nIiwicHJpbWFyeUJhY2tncm91bmQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp5byxzZWxlY3RvcjoidGItbW9kYnVzLXZhbHVlcyIsaW5wdXRzOlsic2luZ2xlTW9kZSIsImhpZGVOZXdGaWVsZHMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpibyxzZWxlY3RvcjoidGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZyIsaW5wdXRzOlsiaXNNYXN0ZXIiXX0se2tpbmQ6InBpcGUiLHR5cGU6d2EsbmFtZToiZ2V0R2F0ZXdheVBvcnRUb29sdGlwIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpnbyxzZWxlY3RvcjoidGItcmVwb3J0LXN0cmF0ZWd5IixpbnB1dHM6WyJpc0V4cGFuc2lvbk1vZGUiLCJkZWZhdWx0VmFsdWUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJNb2RidXNTbGF2ZURpYWxvZ0NvbXBvbmVudCIseG8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6eG8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1zbGF2ZS1kaWFsb2ciLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxzdGFuZGFsb25lOiEwLGltcG9ydHM6W0gsRCx5byxibyx3YSxnbyxTYV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJzbGF2ZXMtY29uZmlnLWNvbnRhaW5lciI+XG4gIDxtYXQtdG9vbGJhciBjb2xvcj0icHJpbWFyeSI+XG4gICAgPGgyPnt7IFwnZ2F0ZXdheS5zZXJ2ZXItc2xhdmVcJyB8IHRyYW5zbGF0ZSB9fTwvaDI+XG4gICAgPHNwYW4gZnhGbGV4Pjwvc3Bhbj5cbiAgICA8ZGl2IFt0Yi1oZWxwXT0ibW9kYnVzSGVscExpbmsiPjwvZGl2PlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvbWF0LXRvb2xiYXI+XG4gIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50IFtmb3JtR3JvdXBdPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cCIgY2xhc3M9InRiLWZvcm0tcGFuZWwiPlxuICAgIDxkaXYgY2xhc3M9InN0cm9rZWQgdGItZm9ybS1wYW5lbCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCByb3cgc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIgbm8tZ2FwIGZpbGwtd2lkdGgiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5zZXJ2ZXItY29ubmVjdGlvbjwvZGl2PlxuICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIG1vZGJ1c1Byb3RvY29sVHlwZXMiIFt2YWx1ZV09InR5cGUiPnt7IE1vZGJ1c1Byb3RvY29sTGFiZWxzTWFwLmdldCh0eXBlKSB9fTwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPSJwcm90b2NvbFR5cGUgIT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwiXG4gICAgICAgICAgICAgICBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIlxuICAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmhvc3RcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuaG9zdDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJob3N0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5ob3N0LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPSJwcm90b2NvbFR5cGUgIT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwgZWxzZSBzZXJpYWxQb3J0IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyJcbiAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5wb3J0XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnBvcnQ8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49Int7cG9ydExpbWl0cy5NSU59fSIgbWF4PSJ7e3BvcnRMaW1pdHMuTUFYfX0iXG4gICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvcnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpIHwgZ2V0R2F0ZXdheVBvcnRUb29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iKHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdtYXhcJykpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNzZXJpYWxQb3J0PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5zZXJpYWwtcG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InNlcmlhbFBvcnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IlwnZ2F0ZXdheS5wb3J0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3NlcmlhbFBvcnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzZXJpYWxQb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuZnJhbWVyLXR5cGVcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5Lm1ldGhvZFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbWV0aG9kIG9mIHByb3RvY29sVHlwZSA9PT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCA/IG1vZGJ1c1NlcmlhbE1ldGhvZFR5cGVzIDogbW9kYnVzTWV0aG9kVHlwZXMiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPSJtZXRob2QiPnt7IE1vZGJ1c01ldGhvZExhYmVsc01hcC5nZXQobWV0aG9kKSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9InByb3RvY29sVHlwZSA9PT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuYmF1ZHJhdGVcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuYmF1ZHJhdGU8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImJhdWRyYXRlIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHJhdGUgb2YgbW9kYnVzQmF1ZHJhdGVzIiBbdmFsdWVdPSJyYXRlIj57eyByYXRlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJ5dGVzaXplXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJ5dGVzaXplPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJieXRlc2l6ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBzaXplIG9mIG1vZGJ1c0J5dGVTaXplcyIgW3ZhbHVlXT0ic2l6ZSI+e3sgc2l6ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5zdG9wYml0c1wnIHwgdHJhbnNsYXRlIH19IiAgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcGJpdHM8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InN0b3BiaXRzIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5wYXJpdHlcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucGFyaXR5PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJwYXJpdHkiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgcGFyaXR5IG9mIG1vZGJ1c1Bhcml0aWVzIiBbdmFsdWVdPSJwYXJpdHkiPnt7IE1vZGJ1c1Bhcml0eUxhYmVsc01hcC5nZXQocGFyaXR5KSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJzdHJpY3QiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLnN0cmljdFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RyaWN0XCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMudW5pdC1pZFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS51bml0LWlkPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ1bml0SWQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS51bml0LWlkLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwndW5pdElkXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLW5hbWU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1uYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5kZXZpY2UtcHJvZmlsZTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VUeXBlIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLXByb2ZpbGUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlVHlwZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlVHlwZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj0iZGF0YS5oaWRlTmV3RmllbGRzIGVsc2UgcmVwb3J0U3RyYXRlZ3kiIGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic2VuZERhdGFPbmx5T25DaGFuZ2UiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnNlbmQtZGF0YS1vbi1jaGFuZ2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNyZXBvcnRTdHJhdGVneT5cbiAgICAgICAgICA8dGItcmVwb3J0LXN0cmF0ZWd5IFtkZWZhdWx0VmFsdWVdPSJSZXBvcnRTdHJhdGVneURlZmF1bHRWYWx1ZS5EZXZpY2UiIGZvcm1Db250cm9sTmFtZT0icmVwb3J0U3RyYXRlZ3kiIFtpc0V4cGFuc2lvbk1vZGVdPSJ0cnVlIi8+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIj5cbiAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5hZHZhbmNlZC1jb25uZWN0aW9uLXNldHRpbmdzPC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuY29ubmVjdGlvbi10aW1lb3V0XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmNvbm5lY3Rpb24tdGltZW91dDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idGltZW91dCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ieXRlLW9yZGVyXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJ5dGUtb3JkZXI8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImJ5dGVPcmRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgb3JkZXIgb2YgbW9kYnVzT3JkZXJUeXBlIiBbdmFsdWVdPSJvcmRlciI+e3sgb3JkZXIgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMud29yZC1vcmRlclwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS53b3JkLW9yZGVyPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ3b3JkT3JkZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLXNsaWRlLXRvZ2dsZSI+XG4gICAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJzaG93U2VjdXJpdHlDb250cm9sLnZhbHVlIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciBmeExheW91dD0icm93IHdyYXAiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZ4TGF5b3V0QWxpZ249ImNlbnRlciIgW2Zvcm1Db250cm9sXT0ic2hvd1NlY3VyaXR5Q29udHJvbCIgY2xhc3M9Im1hdC1zbGlkZSIgKGNsaWNrKT0iJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50bHMtY29ubmVjdGlvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1tb2RidXMtc2VjdXJpdHktY29uZmlnIGNsYXNzPSJzZWN1cml0eS1jb25maWciIGZvcm1Db250cm9sTmFtZT0ic2VjdXJpdHkiPjwvdGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZz5cbiAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmV0cmllcyI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLnJldHJpZXNcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5yZXRyaWVzXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXRyeU9uRW1wdHkiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5yZXRyaWVzLW9uLWVtcHR5XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllcy1vbi1lbXB0eVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmV0cnlPbkludmFsaWQiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5yZXRyaWVzLW9uLWludmFsaWRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5yZXRyaWVzLW9uLWludmFsaWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgtMjYwIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5wb2xsLXBlcmlvZFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICAgIGdhdGV3YXkucG9sbC1wZXJpb2RcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvbGxQZXJpb2QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3QtYXR0ZW1wdC10aW1lXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmNvbm5lY3QtYXR0ZW1wdC10aW1lPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJjb25uZWN0QXR0ZW1wdFRpbWVNcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoLTI2MCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuY29ubmVjdC1hdHRlbXB0LWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmNvbm5lY3QtYXR0ZW1wdC1jb3VudDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY29ubmVjdEF0dGVtcHRDb3VudCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoLTI2MCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMud2FpdC1hZnRlci1mYWlsZWQtYXR0ZW1wdHNcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud2FpdC1hZnRlci1mYWlsZWQtYXR0ZW1wdHM8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9IndhaXRBZnRlckZhaWxlZEF0dGVtcHRzTXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICAgICAgICA8dGItbW9kYnVzLXZhbHVlcyBbc2luZ2xlTW9kZV09InRydWUiIFtoaWRlTmV3RmllbGRzXT0iZGF0YS5oaWRlTmV3RmllbGRzIiBmb3JtQ29udHJvbE5hbWU9InZhbHVlcyI+PC90Yi1tb2RidXMtdmFsdWVzPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5jYW5jZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAoY2xpY2spPSJhZGQoKSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09InNsYXZlQ29uZmlnRm9ybUdyb3VwLmludmFsaWQgfHwgIXNsYXZlQ29uZmlnRm9ybUdyb3VwLmRpcnR5Ij5cbiAgICAgIHt7IGRhdGEuYnV0dG9uVGl0bGUgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCAuc2xhdmVzLWNvbmZpZy1jb250YWluZXJ7d2lkdGg6ODB2dzttYXgtd2lkdGg6OTAwcHh9Omhvc3QgLnNsYXZlLW5hbWUtbGFiZWx7bWFyZ2luLXJpZ2h0OjE2cHg7Y29sb3I6IzAwMDAwMGRlfTpob3N0IC5maXhlZC10aXRsZS13aWR0aC0yNjB7bWluLXdpZHRoOjI2MHB4fTpob3N0IDo6bmctZGVlcCAuc2VjdXJpdHktY29uZmlnIC5maXhlZC10aXRsZS13aWR0aHttaW4td2lkdGg6MjMwcHh9XG4nXX1dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTptZS5Gb3JtQnVpbGRlcn0se3R5cGU6b3QuU3RvcmV9LHt0eXBlOml0LlJvdXRlcn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOnAsYXJnczpbWGVdfV19LHt0eXBlOkplLk1hdERpYWxvZ1JlZn1dfSk7Y2xhc3Mgdm8gZXh0ZW5kcyBob3tjb25zdHJ1Y3RvcihlLHQsbixhLG8pe3N1cGVyKGUsdCxuLGEsbyksdGhpcy5mYj1lLHRoaXMuc3RvcmU9dCx0aGlzLnJvdXRlcj1uLHRoaXMuZGF0YT1hLHRoaXMuZGlhbG9nUmVmPW99Z2V0U2xhdmVSZXN1bHREYXRhKCl7Y29uc3R7dmFsdWVzOmUsdHlwZTp0LHNlcmlhbFBvcnQ6biwuLi5hfT10aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLnZhbHVlLG89ey4uLmEsdHlwZTp0LC4uLmV9O3JldHVybiB0PT09SG4uU2VyaWFsJiYoby5wb3J0PW4pLG99YWRkRmllbGRzVG9Gb3JtR3JvdXAoKXt0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmFkZENvbnRyb2woInNlbmREYXRhT25seU9uQ2hhbmdlIix0aGlzLmZiLmNvbnRyb2woITEpKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnZvLGRlcHM6W3t0b2tlbjptZS5Gb3JtQnVpbGRlcn0se3Rva2VuOm90LlN0b3JlfSx7dG9rZW46aXQuUm91dGVyfSx7dG9rZW46WGV9LHt0b2tlbjpKZS5NYXREaWFsb2dSZWZ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOnZvLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItbW9kYnVzLWxlZ2FjeS1zbGF2ZS1kaWFsb2ciLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0ic2xhdmVzLWNvbmZpZy1jb250YWluZXIiPlxuICA8bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICAgIDxoMj57eyBcJ2dhdGV3YXkuc2VydmVyLXNsYXZlXCcgfCB0cmFuc2xhdGUgfX08L2gyPlxuICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgPGRpdiBbdGItaGVscF09Im1vZGJ1c0hlbHBMaW5rIj48L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L21hdC10b29sYmFyPlxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBbZm9ybUdyb3VwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIj5cbiAgICA8ZGl2IGNsYXNzPSJzdHJva2VkIHRiLWZvcm0tcGFuZWwiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggcm93IHNwYWNlLWJldHdlZW4gYWxpZ24tY2VudGVyIG5vLWdhcCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuc2VydmVyLWNvbm5lY3Rpb248L2Rpdj5cbiAgICAgICAgICA8dGItdG9nZ2xlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiIGFwcGVhcmFuY2U9ImZpbGwiPlxuICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBtb2RidXNQcm90b2NvbFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj57eyBNb2RidXNQcm90b2NvbExhYmVsc01hcC5nZXQodHlwZSkgfX08L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyJcbiAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ob3N0XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5Lmhvc3Q8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iaG9zdCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuaG9zdC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIGVsc2Ugc2VyaWFsUG9ydCJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiXG4gICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSJ7e3BvcnRMaW1pdHMuTUlOfX0iIG1heD0ie3twb3J0TGltaXRzLk1BWH19IlxuICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKSB8IGdldEdhdGV3YXlQb3J0VG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ21pblwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2VyaWFsUG9ydD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc2VyaWFsLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucG9ydDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJpYWxQb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkucG9ydC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzZXJpYWxQb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2VyaWFsUG9ydFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmZyYW1lci10eXBlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5tZXRob2RcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwgPyBtb2RidXNTZXJpYWxNZXRob2RUeXBlcyA6IG1vZGJ1c01ldGhvZFR5cGVzIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT0ibWV0aG9kIj57eyBNb2RidXNNZXRob2RMYWJlbHNNYXAuZ2V0KG1ldGhvZCkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJhdWRyYXRlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJhdWRyYXRlPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJiYXVkcmF0ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCByYXRlIG9mIG1vZGJ1c0JhdWRyYXRlcyIgW3ZhbHVlXT0icmF0ZSI+e3sgcmF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ieXRlc2l6ZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlc2l6ZTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYnl0ZXNpemUiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgc2l6ZSBvZiBtb2RidXNCeXRlU2l6ZXMiIFt2YWx1ZV09InNpemUiPnt7IHNpemUgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc3RvcGJpdHNcJyB8IHRyYW5zbGF0ZSB9fSIgIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3BiaXRzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzdG9wYml0cyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucGFyaXR5XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnBhcml0eTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icGFyaXR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHBhcml0eSBvZiBtb2RidXNQYXJpdGllcyIgW3ZhbHVlXT0icGFyaXR5Ij57eyBNb2RidXNQYXJpdHlMYWJlbHNNYXAuZ2V0KHBhcml0eSkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic3RyaWN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5zdHJpY3RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0cmljdFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLnVuaXQtaWRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkudW5pdC1pZDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idW5pdElkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudW5pdC1pZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCd1bml0SWRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1uYW1lPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2UtbmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLXByb2ZpbGU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlVHlwZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1wcm9maWxlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9ImRhdGEuaGlkZU5ld0ZpZWxkcyBlbHNlIHJlcG9ydFN0cmF0ZWd5IiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InNlbmREYXRhT25seU9uQ2hhbmdlIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWRhdGEtb24tY2hhbmdlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcmVwb3J0U3RyYXRlZ3k+XG4gICAgICAgICAgPHRiLXJlcG9ydC1zdHJhdGVneSBbZGVmYXVsdFZhbHVlXT0iUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWUuRGV2aWNlIiBmb3JtQ29udHJvbE5hbWU9InJlcG9ydFN0cmF0ZWd5IiBbaXNFeHBhbnNpb25Nb2RlXT0idHJ1ZSIvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuYWR2YW5jZWQtY29ubmVjdGlvbi1zZXR0aW5nczwvZGl2PlxuICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3Rpb24tdGltZW91dFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0aW9uLXRpbWVvdXQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRpbWVvdXQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuYnl0ZS1vcmRlclwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlLW9yZGVyPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJieXRlT3JkZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndvcmQtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud29yZC1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0id29yZE9yZGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBvcmRlciBvZiBtb2RidXNPcmRlclR5cGUiIFt2YWx1ZV09Im9yZGVyIj57eyBvcmRlciB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCB0Yi1zbGlkZS10b2dnbGUiPlxuICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ic2hvd1NlY3VyaXR5Q29udHJvbC52YWx1ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmeExheW91dEFsaWduPSJjZW50ZXIiIFtmb3JtQ29udHJvbF09InNob3dTZWN1cml0eUNvbnRyb2wiIGNsYXNzPSJtYXQtc2xpZGUiIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGxzLWNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICA8dGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZyBjbGFzcz0ic2VjdXJpdHktY29uZmlnIiBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5Ij48L3RiLW1vZGJ1cy1zZWN1cml0eS1jb25maWc+XG4gICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJpZXMiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5yZXRyaWVzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllc1wnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmV0cnlPbkVtcHR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1lbXB0eVwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJldHJpZXMtb24tZW1wdHlcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJ5T25JbnZhbGlkIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoLTI2MCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICBnYXRld2F5LnBvbGwtcGVyaW9kXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb2xsUGVyaW9kIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgtMjYwIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5jb25uZWN0LWF0dGVtcHQtdGltZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtdGltZTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY29ubmVjdEF0dGVtcHRUaW1lTXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3QtYXR0ZW1wdC1jb3VudFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtY291bnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImNvbm5lY3RBdHRlbXB0Q291bnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ3YWl0QWZ0ZXJGYWlsZWRBdHRlbXB0c01zIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgPHRiLW1vZGJ1cy12YWx1ZXMgW3NpbmdsZU1vZGVdPSJ0cnVlIiBbaGlkZU5ld0ZpZWxkc109ImRhdGEuaGlkZU5ld0ZpZWxkcyIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZXMiPjwvdGItbW9kYnVzLXZhbHVlcz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIGNka0ZvY3VzSW5pdGlhbFxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0iYWRkKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5pbnZhbGlkIHx8ICFzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5kaXJ0eSI+XG4gICAgICB7eyBkYXRhLmJ1dHRvblRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnNsYXZlcy1jb25maWctY29udGFpbmVye3dpZHRoOjgwdnc7bWF4LXdpZHRoOjkwMHB4fTpob3N0IC5zbGF2ZS1uYW1lLWxhYmVse21hcmdpbi1yaWdodDoxNnB4O2NvbG9yOiMwMDAwMDBkZX06aG9zdCAuZml4ZWQtdGl0bGUtd2lkdGgtMjYwe21pbi13aWR0aDoyNjBweH06aG9zdCA6Om5nLWRlZXAgLnNlY3VyaXR5LWNvbmZpZyAuZml4ZWQtdGl0bGUtd2lkdGh7bWluLXdpZHRoOjIzMHB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmR0LkhlbHBDb21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oZWxwXSIsaW5wdXRzOlsidGItaGVscCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpKZS5NYXREaWFsb2dBY3Rpb25zLHNlbGVjdG9yOiJbbWF0LWRpYWxvZy1hY3Rpb25zXSwgbWF0LWRpYWxvZy1hY3Rpb25zLCBbbWF0RGlhbG9nQWN0aW9uc10iLGlucHV0czpbImFsaWduIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQ29udGVudCxzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWwsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwiLGlucHV0czpbImhpZGVUb2dnbGUiLCJ0b2dnbGVQb3NpdGlvbiJdLG91dHB1dHM6WyJhZnRlckV4cGFuZCIsImFmdGVyQ29sbGFwc2UiXSxleHBvcnRBczpbIm1hdEV4cGFuc2lvblBhbmVsIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIixpbnB1dHM6WyJleHBhbmRlZEhlaWdodCIsImNvbGxhcHNlZEhlaWdodCIsInRhYkluZGV4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxUaXRsZSxzZWxlY3RvcjoibWF0LXBhbmVsLXRpdGxlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OdW1iZXJWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVtuZ01vZGVsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1pblZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLGlucHV0czpbIm1pbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1heFZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21heF1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21heF1bbmdNb2RlbF0iLGlucHV0czpbIm1heCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WWUuVHJ1bmNhdGVXaXRoVG9vbHRpcERpcmVjdGl2ZSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bnQuVG9nZ2xlT3B0aW9uLHNlbGVjdG9yOiJ0Yi10b2dnbGUtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmF0LlRvZ2dsZVNlbGVjdENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXNlbGVjdCIsaW5wdXRzOlsiZGlzYWJsZWQiLCJzZWxlY3RNZWRpYUJyZWFrcG9pbnQiLCJhcHBlYXJhbmNlIiwiZGlzYWJsZVBhZ2luYXRpb24iLCJmaWxsSGVpZ2h0IiwiZXh0cmFQYWRkaW5nIiwicHJpbWFyeUJhY2tncm91bmQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp5byxzZWxlY3RvcjoidGItbW9kYnVzLXZhbHVlcyIsaW5wdXRzOlsic2luZ2xlTW9kZSIsImhpZGVOZXdGaWVsZHMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpibyxzZWxlY3RvcjoidGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZyIsaW5wdXRzOlsiaXNNYXN0ZXIiXX0se2tpbmQ6InBpcGUiLHR5cGU6d2EsbmFtZToiZ2V0R2F0ZXdheVBvcnRUb29sdGlwIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpnbyxzZWxlY3RvcjoidGItcmVwb3J0LXN0cmF0ZWd5IixpbnB1dHM6WyJpc0V4cGFuc2lvbk1vZGUiLCJkZWZhdWx0VmFsdWUiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJNb2RidXNMZWdhY3lTbGF2ZURpYWxvZ0NvbXBvbmVudCIsdm8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6dm8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1sZWdhY3ktc2xhdmUtZGlhbG9nIixjaGFuZ2VEZXRlY3Rpb246ZC5PblB1c2gsc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQseW8sYm8sd2EsZ29dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0ic2xhdmVzLWNvbmZpZy1jb250YWluZXIiPlxuICA8bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICAgIDxoMj57eyBcJ2dhdGV3YXkuc2VydmVyLXNsYXZlXCcgfCB0cmFuc2xhdGUgfX08L2gyPlxuICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgPGRpdiBbdGItaGVscF09Im1vZGJ1c0hlbHBMaW5rIj48L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L21hdC10b29sYmFyPlxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBbZm9ybUdyb3VwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIj5cbiAgICA8ZGl2IGNsYXNzPSJzdHJva2VkIHRiLWZvcm0tcGFuZWwiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggcm93IHNwYWNlLWJldHdlZW4gYWxpZ24tY2VudGVyIG5vLWdhcCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuc2VydmVyLWNvbm5lY3Rpb248L2Rpdj5cbiAgICAgICAgICA8dGItdG9nZ2xlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiIGFwcGVhcmFuY2U9ImZpbGwiPlxuICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBtb2RidXNQcm90b2NvbFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj57eyBNb2RidXNQcm90b2NvbExhYmVsc01hcC5nZXQodHlwZSkgfX08L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyJcbiAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ob3N0XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5Lmhvc3Q8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iaG9zdCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuaG9zdC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIGVsc2Ugc2VyaWFsUG9ydCJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiXG4gICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSJ7e3BvcnRMaW1pdHMuTUlOfX0iIG1heD0ie3twb3J0TGltaXRzLk1BWH19IlxuICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKSB8IGdldEdhdGV3YXlQb3J0VG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ21pblwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2VyaWFsUG9ydD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc2VyaWFsLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucG9ydDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJpYWxQb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkucG9ydC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzZXJpYWxQb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2VyaWFsUG9ydFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmZyYW1lci10eXBlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5tZXRob2RcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwgPyBtb2RidXNTZXJpYWxNZXRob2RUeXBlcyA6IG1vZGJ1c01ldGhvZFR5cGVzIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT0ibWV0aG9kIj57eyBNb2RidXNNZXRob2RMYWJlbHNNYXAuZ2V0KG1ldGhvZCkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJhdWRyYXRlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJhdWRyYXRlPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJiYXVkcmF0ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCByYXRlIG9mIG1vZGJ1c0JhdWRyYXRlcyIgW3ZhbHVlXT0icmF0ZSI+e3sgcmF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ieXRlc2l6ZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlc2l6ZTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYnl0ZXNpemUiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgc2l6ZSBvZiBtb2RidXNCeXRlU2l6ZXMiIFt2YWx1ZV09InNpemUiPnt7IHNpemUgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc3RvcGJpdHNcJyB8IHRyYW5zbGF0ZSB9fSIgIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3BiaXRzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzdG9wYml0cyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucGFyaXR5XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnBhcml0eTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icGFyaXR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHBhcml0eSBvZiBtb2RidXNQYXJpdGllcyIgW3ZhbHVlXT0icGFyaXR5Ij57eyBNb2RidXNQYXJpdHlMYWJlbHNNYXAuZ2V0KHBhcml0eSkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic3RyaWN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5zdHJpY3RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0cmljdFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLnVuaXQtaWRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkudW5pdC1pZDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idW5pdElkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudW5pdC1pZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCd1bml0SWRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1uYW1lPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2UtbmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLXByb2ZpbGU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlVHlwZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1wcm9maWxlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9ImRhdGEuaGlkZU5ld0ZpZWxkcyBlbHNlIHJlcG9ydFN0cmF0ZWd5IiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InNlbmREYXRhT25seU9uQ2hhbmdlIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWRhdGEtb24tY2hhbmdlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcmVwb3J0U3RyYXRlZ3k+XG4gICAgICAgICAgPHRiLXJlcG9ydC1zdHJhdGVneSBbZGVmYXVsdFZhbHVlXT0iUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWUuRGV2aWNlIiBmb3JtQ29udHJvbE5hbWU9InJlcG9ydFN0cmF0ZWd5IiBbaXNFeHBhbnNpb25Nb2RlXT0idHJ1ZSIvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuYWR2YW5jZWQtY29ubmVjdGlvbi1zZXR0aW5nczwvZGl2PlxuICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3Rpb24tdGltZW91dFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0aW9uLXRpbWVvdXQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRpbWVvdXQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuYnl0ZS1vcmRlclwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlLW9yZGVyPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJieXRlT3JkZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndvcmQtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud29yZC1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0id29yZE9yZGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBvcmRlciBvZiBtb2RidXNPcmRlclR5cGUiIFt2YWx1ZV09Im9yZGVyIj57eyBvcmRlciB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCB0Yi1zbGlkZS10b2dnbGUiPlxuICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ic2hvd1NlY3VyaXR5Q29udHJvbC52YWx1ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmeExheW91dEFsaWduPSJjZW50ZXIiIFtmb3JtQ29udHJvbF09InNob3dTZWN1cml0eUNvbnRyb2wiIGNsYXNzPSJtYXQtc2xpZGUiIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGxzLWNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICA8dGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZyBjbGFzcz0ic2VjdXJpdHktY29uZmlnIiBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5Ij48L3RiLW1vZGJ1cy1zZWN1cml0eS1jb25maWc+XG4gICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJpZXMiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5yZXRyaWVzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllc1wnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmV0cnlPbkVtcHR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1lbXB0eVwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJldHJpZXMtb24tZW1wdHlcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJ5T25JbnZhbGlkIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoLTI2MCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICBnYXRld2F5LnBvbGwtcGVyaW9kXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb2xsUGVyaW9kIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgtMjYwIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5jb25uZWN0LWF0dGVtcHQtdGltZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtdGltZTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY29ubmVjdEF0dGVtcHRUaW1lTXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3QtYXR0ZW1wdC1jb3VudFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtY291bnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImNvbm5lY3RBdHRlbXB0Q291bnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ3YWl0QWZ0ZXJGYWlsZWRBdHRlbXB0c01zIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgPHRiLW1vZGJ1cy12YWx1ZXMgW3NpbmdsZU1vZGVdPSJ0cnVlIiBbaGlkZU5ld0ZpZWxkc109ImRhdGEuaGlkZU5ld0ZpZWxkcyIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZXMiPjwvdGItbW9kYnVzLXZhbHVlcz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIGNka0ZvY3VzSW5pdGlhbFxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0iYWRkKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5pbnZhbGlkIHx8ICFzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5kaXJ0eSI+XG4gICAgICB7eyBkYXRhLmJ1dHRvblRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnNsYXZlcy1jb25maWctY29udGFpbmVye3dpZHRoOjgwdnc7bWF4LXdpZHRoOjkwMHB4fTpob3N0IC5zbGF2ZS1uYW1lLWxhYmVse21hcmdpbi1yaWdodDoxNnB4O2NvbG9yOiMwMDAwMDBkZX06aG9zdCAuZml4ZWQtdGl0bGUtd2lkdGgtMjYwe21pbi13aWR0aDoyNjBweH06aG9zdCA6Om5nLWRlZXAgLnNlY3VyaXR5LWNvbmZpZyAuZml4ZWQtdGl0bGUtd2lkdGh7bWluLXdpZHRoOjIzMHB4fVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9LHt0eXBlOm90LlN0b3JlfSx7dHlwZTppdC5Sb3V0ZXJ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpwLGFyZ3M6W1hlXX1dfSx7dHlwZTpKZS5NYXREaWFsb2dSZWZ9XX0pO2NsYXNzIHdve2NvbnN0cnVjdG9yKGUsdCxuLGEsbyl7dGhpcy50cmFuc2xhdGU9ZSx0aGlzLmRpYWxvZz10LHRoaXMuZGlhbG9nU2VydmljZT1uLHRoaXMuZmI9YSx0aGlzLmNkcj1vLHRoaXMuaXNMZWdhY3k9ITEsdGhpcy50ZXh0U2VhcmNoTW9kZT0hMSx0aGlzLnRleHRTZWFyY2g9dGhpcy5mYi5jb250cm9sKCIiLHtub25OdWxsYWJsZTohMH0pLHRoaXMuTW9kYnVzUHJvdG9jb2xMYWJlbHNNYXA9em4sdGhpcy5vbkNoYW5nZT0oKT0+e30sdGhpcy5vblRvdWNoZWQ9KCk9Pnt9LHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMubWFzdGVyRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe3NsYXZlczp0aGlzLmZiLmFycmF5KFtdKX0pLHRoaXMuZGF0YVNvdXJjZT1uZXcgQ299Z2V0IHNsYXZlcygpe3JldHVybiB0aGlzLm1hc3RlckZvcm1Hcm91cC5nZXQoInNsYXZlcyIpfW5nT25Jbml0KCl7dGhpcy5tYXN0ZXJGb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMudXBkYXRlVGFibGVEYXRhKGUuc2xhdmVzKSx0aGlzLm9uQ2hhbmdlKGUpLHRoaXMub25Ub3VjaGVkKCl9KSl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9bmdBZnRlclZpZXdJbml0KCl7dGhpcy50ZXh0U2VhcmNoLnZhbHVlQ2hhbmdlcy5waXBlKFZlKDE1MCksQmUoKChlLHQpPT4oZT8/IiIpPT09dC50cmltKCkpKSxOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT50aGlzLnVwZGF0ZVRhYmxlRGF0YSh0aGlzLnNsYXZlcy52YWx1ZSxlLnRyaW0oKSkpKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMub25DaGFuZ2U9ZX1yZWdpc3Rlck9uVG91Y2hlZChlKXt0aGlzLm9uVG91Y2hlZD1lfXdyaXRlVmFsdWUoZSl7dGhpcy5zbGF2ZXMuY2xlYXIoKSx0aGlzLnB1c2hEYXRhQXNGb3JtQXJyYXlzKGUuc2xhdmVzKX1lbnRlckZpbHRlck1vZGUoKXt0aGlzLnRleHRTZWFyY2hNb2RlPSEwLHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtjb25zdCBlPXRoaXMuc2VhcmNoSW5wdXRGaWVsZC5uYXRpdmVFbGVtZW50O2UuZm9jdXMoKSxlLnNldFNlbGVjdGlvblJhbmdlKDAsMCl9ZXhpdEZpbHRlck1vZGUoKXt0aGlzLnVwZGF0ZVRhYmxlRGF0YSh0aGlzLnNsYXZlcy52YWx1ZSksdGhpcy50ZXh0U2VhcmNoTW9kZT0hMSx0aGlzLnRleHRTZWFyY2gucmVzZXQoKX1tYW5hZ2VTbGF2ZShlLHQpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCk7Y29uc3Qgbj1pZSh0KSxhPW4/dGhpcy5zbGF2ZXMuYXQodCkudmFsdWU6e307dGhpcy5nZXRTbGF2ZURpYWxvZyhhLG4/ImFjdGlvbi5hcHBseSI6ImFjdGlvbi5hZGQiKS5hZnRlckNsb3NlZCgpLnBpcGUoT2UoMSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2UmJihuP3RoaXMuc2xhdmVzLmF0KHQpLnBhdGNoVmFsdWUoZSk6dGhpcy5zbGF2ZXMucHVzaCh0aGlzLmZiLmNvbnRyb2woZSkpLHRoaXMubWFzdGVyRm9ybUdyb3VwLm1hcmtBc0RpcnR5KCkpfSkpfWdldFNsYXZlRGlhbG9nKGUsdCl7cmV0dXJuIHRoaXMuaXNMZWdhY3k/dGhpcy5kaWFsb2cub3Blbih2byx7ZGlzYWJsZUNsb3NlOiEwLHBhbmVsQ2xhc3M6WyJ0Yi1kaWFsb2ciLCJ0Yi1mdWxsc2NyZWVuLWRpYWxvZyJdLGRhdGE6e3ZhbHVlOmUsaGlkZU5ld0ZpZWxkczohMCxidXR0b25UaXRsZTp0fX0pOnRoaXMuZGlhbG9nLm9wZW4oeG8se2Rpc2FibGVDbG9zZTohMCxwYW5lbENsYXNzOlsidGItZGlhbG9nIiwidGItZnVsbHNjcmVlbi1kaWFsb2ciXSxkYXRhOnt2YWx1ZTplLGJ1dHRvblRpdGxlOnQsaGlkZU5ld0ZpZWxkczohMX19KX1kZWxldGVTbGF2ZShlLHQpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0odGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5kZWxldGUtc2xhdmUtdGl0bGUiKSwiIix0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJhY3Rpb24ubm8iKSx0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJhY3Rpb24ueWVzIiksITApLnBpcGUoT2UoMSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2UmJih0aGlzLnNsYXZlcy5yZW1vdmVBdCh0KSx0aGlzLm1hc3RlckZvcm1Hcm91cC5tYXJrQXNEaXJ0eSgpKX0pKX11cGRhdGVUYWJsZURhdGEoZSx0KXt0JiYoZT1lLmZpbHRlcigoZT0+T2JqZWN0LnZhbHVlcyhlKS5zb21lKChlPT5lLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0LnRvTG93ZXJDYXNlKCkpKSkpKSksdGhpcy5kYXRhU291cmNlLmxvYWREYXRhKGUpfXB1c2hEYXRhQXNGb3JtQXJyYXlzKGUpe2U/Lmxlbmd0aCYmZS5mb3JFYWNoKChlPT50aGlzLnNsYXZlcy5wdXNoKHRoaXMuZmIuY29udHJvbChlKSkpKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOndvLGRlcHM6W3t0b2tlbjpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0b2tlbjpKZS5NYXREaWFsb2d9LHt0b2tlbjpYLkRpYWxvZ1NlcnZpY2V9LHt0b2tlbjptZS5Gb3JtQnVpbGRlcn0se3Rva2VuOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOndvLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItbW9kYnVzLW1hc3Rlci10YWJsZSIsaW5wdXRzOntpc0xlZ2FjeToiaXNMZWdhY3kifSxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT53bykpLG11bHRpOiEwfV0sdmlld1F1ZXJpZXM6W3twcm9wZXJ0eU5hbWU6InNlYXJjaElucHV0RmllbGQiLGZpcnN0OiEwLHByZWRpY2F0ZTpbInNlYXJjaElucHV0Il0sZGVzY2VuZGFudHM6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItbWFzdGVyLXRhYmxlIHRiLWFic29sdXRlLWZpbGwiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggY2VudGVyIj57eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLW1hc3RlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGZ4RmxleCBmeExheW91dD0iY29sdW1uIiBjbGFzcz0idGItbWFzdGVyLXRhYmxlLWNvbnRlbnQiPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIiBbZnhTaG93XT0iIXRleHRTZWFyY2hNb2RlIj5cbiAgICAgIDxkaXYgY2xhc3M9Im1hdC10b29sYmFyLXRvb2xzIiAqbmdJZj0iKGRhdGFTb3VyY2UuaXNFbXB0eSgpIHwgYXN5bmMpID09PSBmYWxzZSI+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0ic3RhcnQgY2VudGVyIiBmeExheW91dC54cz0iY29sdW1uIiBmeExheW91dEFsaWduLnhzPSJjZW50ZXIgc3RhcnQiIGNsYXNzPSJ0aXRsZS1jb250YWluZXIiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Yi1tYXN0ZXItdGFibGUtdGl0bGUiPnt7IFwnZ2F0ZXdheS5zZXJ2ZXJzLXNsYXZlc1wnIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZVNsYXZlKCRldmVudCkiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uYWRkXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9ImVudGVyRmlsdGVyTW9kZSgpIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLnNlYXJjaFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXRvb2xiYXI+XG4gICAgPG1hdC10b29sYmFyIGNsYXNzPSJtYXQtbWRjLXRhYmxlLXRvb2xiYXIiIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSI+XG4gICAgICA8ZGl2IGNsYXNzPSJtYXQtdG9vbGJhci10b29scyI+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+Jm5ic3A7PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0ICNzZWFyY2hJbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPSJ0ZXh0U2VhcmNoIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdjb21tb24uZW50ZXItc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0iZXhpdEZpbHRlck1vZGUoKSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5jbG9zZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1jb250YWluZXIiPlxuICAgICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09ImRhdGFTb3VyY2UiPlxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPSJcJ2RldmljZU5hbWVcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS5kZXZpY2UtbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgc2xhdmUiIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iPlxuICAgICAgICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgc2xhdmVbXCdkZXZpY2VOYW1lXCddIH19PC9kaXY+XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW21hdENvbHVtbkRlZl09IlwnaW5mb1wnIj5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmluZm9cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlIiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IHNsYXZlW1wnaG9zdFwnXSA/PyBzbGF2ZVtcJ3BvcnRcJ10gfX08L2Rpdj5cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT0iXCd1bml0SWRcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS51bml0LWlkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBzbGF2ZSIgY2xhc3M9InRhYmxlLXZhbHVlLWNvbHVtbiI+XG4gICAgICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBzbGF2ZVtcJ3VuaXRJZFwnXSB9fTwvZGl2PlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPSJcJ3R5cGVcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXY+e3sgXCdnYXRld2F5LnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlIiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIHt7IE1vZGJ1c1Byb3RvY29sTGFiZWxzTWFwLmdldChzbGF2ZVtcJ3R5cGVcJ10pIH19XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPSJhY3Rpb25zIiBzdGlja3lFbmQ+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGUuZ3QtbWRdPSJ7IG1pbldpZHRoOiBcJzk2cHhcJywgbWF4V2lkdGg6IFwnOTZweFwnLCB3aWR0aDogXCc5NnB4XCcsIHRleHRBbGlnbjogXCdjZW50ZXJcJ30iPlxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlOyBsZXQgaSA9IGluZGV4IlxuICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZS5ndC1tZF09InsgbWluV2lkdGg6IFwnOTZweFwnLCBtYXhXaWR0aDogXCc5NnB4XCcsIHdpZHRoOiBcJzk2cHhcJ30iPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyb3dBY3Rpb25zPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZVNsYXZlKCRldmVudCwgaSkiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmRlbGV0ZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlU2xhdmUoJGV2ZW50LCBpKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24+ZGVsZXRlPC90Yi1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8ZGl2IGZ4SGlkZSBmeFNob3cuZ3QtbWQgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0QWxpZ249ImVuZCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJyb3dBY3Rpb25zIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmeEhpZGUgZnhTaG93Lmx0LWxnIGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJlbmQiPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPSJjZWxsQWN0aW9uc01lbnUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8bWF0LW1lbnUgI2NlbGxBY3Rpb25zTWVudT0ibWF0TWVudSIgeFBvc2l0aW9uPSJiZWZvcmUiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJyb3dBY3Rpb25zIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bWF0LWhlYWRlci1yb3cgW25nQ2xhc3NdPSJ7XCdtYXQtcm93LXNlbGVjdFwnOiB0cnVlfSIgKm1hdEhlYWRlclJvd0RlZj0iW1wnZGV2aWNlTmFtZVwnLCBcJ2luZm9cJywgXCd1bml0SWRcJywgXCd0eXBlXCcsIFwnYWN0aW9uc1wnXTsgc3RpY2t5OiB0cnVlIj48L21hdC1oZWFkZXItcm93PlxuICAgICAgICA8bWF0LXJvdyAqbWF0Um93RGVmPSJsZXQgc2xhdmU7IGNvbHVtbnM6IFtcJ2RldmljZU5hbWVcJywgXCdpbmZvXCcsIFwndW5pdElkXCcsIFwndHlwZVwnLCBcJ2FjdGlvbnNcJ10iPjwvbWF0LXJvdz5cbiAgICAgIDwvdGFibGU+XG4gICAgICA8c2VjdGlvbiBbZnhTaG93XT0iIXRleHRTZWFyY2hNb2RlICYmIChkYXRhU291cmNlLmlzRW1wdHkoKSB8IGFzeW5jKSIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgIGNsYXNzPSJtYXQtaGVhZGxpbmUtNSB0Yi1hYnNvbHV0ZS1maWxsIHRiLWFkZC1uZXciPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9ImNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VTbGF2ZSgkZXZlbnQpIj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC05NiI+YWRkPC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3Bhbj57eyBcJ2dhdGV3YXkuYWRkLXNsYXZlXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9zZWN0aW9uPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSAmJiAoZGF0YVNvdXJjZS5pc0VtcHR5KCkgfCBhc3luYykiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCIgdHJhbnNsYXRlPlxuICAgICAgd2lkZ2V0Lm5vLWRhdGEtZm91bmRcbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojZmZmO292ZXJmbG93OmhpZGRlbn06aG9zdCAudGItbWFzdGVyLXRhYmxlIC50Yi1tYXN0ZXItdGFibGUtY29udGVudCAubWF0LXRvb2xiYXItdG9vbHN7bWluLWhlaWdodDphdXRvfTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50aXRsZS1jb250YWluZXJ7b3ZlcmZsb3c6aGlkZGVufTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50Yi1tYXN0ZXItdGFibGUtdGl0bGV7cGFkZGluZy1yaWdodDoyMHB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306aG9zdCAudGItbWFzdGVyLXRhYmxlIC50Yi1tYXN0ZXItdGFibGUtY29udGVudCAudGFibGUtY29udGFpbmVye292ZXJmbG93OmF1dG99Omhvc3QgLnRiLW1hc3Rlci10YWJsZSAudGItbWFzdGVyLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lciAubWF0LW1kYy10YWJsZXt0YWJsZS1sYXlvdXQ6Zml4ZWQ7bWluLXdpZHRoOjQ1MHB4fTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50YWJsZS1jb250YWluZXIgLm1hdC1tZGMtdGFibGUgLnRhYmxlLXZhbHVlLWNvbHVtbntwYWRkaW5nOjAgMTJweDt3aWR0aDozOCV9Omhvc3QgLm5vLWRhdGEtZm91bmR7aGVpZ2h0OmNhbGMoMTAwJSAtIDEyMHB4KX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCl7Omhvc3QgLm1hdC10b29sYmFye2hlaWdodDphdXRvO21pbi1oZWlnaHQ6MTAwcHh9Omhvc3QgLm1hdC10b29sYmFyIC50Yi1tYXN0ZXItdGFibGUtdGl0bGV7cGFkZGluZy1ib3R0b206NXB4O3dpZHRoOjEwMCV9fTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxse2N1cnNvcjpwb2ludGVyfTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxsIC5tYXQtaWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4O2ZvbnQtc2l6ZToyNHB4O2NvbG9yOiM3NTc1NzV9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJuZ21vZHVsZSIsdHlwZTpIfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdDbGFzcyxzZWxlY3RvcjoiW25nQ2xhc3NdIixpbnB1dHM6WyJjbGFzcyIsIm5nQ2xhc3MiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nVGVtcGxhdGVPdXRsZXQsc2VsZWN0b3I6IltuZ1RlbXBsYXRlT3V0bGV0XSIsaW5wdXRzOlsibmdUZW1wbGF0ZU91dGxldENvbnRleHQiLCJuZ1RlbXBsYXRlT3V0bGV0IiwibmdUZW1wbGF0ZU91dGxldEluamVjdG9yIl19LHtraW5kOiJwaXBlIix0eXBlOl8uQXN5bmNQaXBlLG5hbWU6ImFzeW5jIn0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QnV0dG9uLHNlbGVjdG9yOiIgICAgYnV0dG9uW21hdC1idXR0b25dLCBidXR0b25bbWF0LXJhaXNlZC1idXR0b25dLCBidXR0b25bbWF0LWZsYXQtYnV0dG9uXSwgICAgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0gICIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpodC5NYXRNZW51LHNlbGVjdG9yOiJtYXQtbWVudSIsaW5wdXRzOlsiYmFja2Ryb3BDbGFzcyIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwieFBvc2l0aW9uIiwieVBvc2l0aW9uIiwib3ZlcmxhcFRyaWdnZXIiLCJoYXNCYWNrZHJvcCIsImNsYXNzIiwiY2xhc3NMaXN0Il0sb3V0cHV0czpbImNsb3NlZCIsImNsb3NlIl0sZXhwb3J0QXM6WyJtYXRNZW51Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6aHQuTWF0TWVudVRyaWdnZXIsc2VsZWN0b3I6IlttYXQtbWVudS10cmlnZ2VyLWZvcl0sIFttYXRNZW51VHJpZ2dlckZvcl0iLGlucHV0czpbIm1hdC1tZW51LXRyaWdnZXItZm9yIiwibWF0TWVudVRyaWdnZXJGb3IiLCJtYXRNZW51VHJpZ2dlckRhdGEiLCJtYXRNZW51VHJpZ2dlclJlc3RvcmVGb2N1cyJdLG91dHB1dHM6WyJtZW51T3BlbmVkIiwib25NZW51T3BlbiIsIm1lbnVDbG9zZWQiLCJvbk1lbnVDbG9zZSJdLGV4cG9ydEFzOlsibWF0TWVudVRyaWdnZXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdFRhYmxlLHNlbGVjdG9yOiJtYXQtdGFibGUsIHRhYmxlW21hdC10YWJsZV0iLGV4cG9ydEFzOlsibWF0VGFibGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlckNlbGxEZWYsc2VsZWN0b3I6IlttYXRIZWFkZXJDZWxsRGVmXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRIZWFkZXJSb3dEZWYsc2VsZWN0b3I6IlttYXRIZWFkZXJSb3dEZWZdIixpbnB1dHM6WyJtYXRIZWFkZXJSb3dEZWYiLCJtYXRIZWFkZXJSb3dEZWZTdGlja3kiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdENvbHVtbkRlZixzZWxlY3RvcjoiW21hdENvbHVtbkRlZl0iLGlucHV0czpbIm1hdENvbHVtbkRlZiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Q2VsbERlZixzZWxlY3RvcjoiW21hdENlbGxEZWZdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdFJvd0RlZixzZWxlY3RvcjoiW21hdFJvd0RlZl0iLGlucHV0czpbIm1hdFJvd0RlZkNvbHVtbnMiLCJtYXRSb3dEZWZXaGVuIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRIZWFkZXJDZWxsLHNlbGVjdG9yOiJtYXQtaGVhZGVyLWNlbGwsIHRoW21hdC1oZWFkZXItY2VsbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Q2VsbCxzZWxlY3RvcjoibWF0LWNlbGwsIHRkW21hdC1jZWxsXSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Yi5NYXRIZWFkZXJSb3csc2VsZWN0b3I6Im1hdC1oZWFkZXItcm93LCB0clttYXQtaGVhZGVyLXJvd10iLGV4cG9ydEFzOlsibWF0SGVhZGVyUm93Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Yi5NYXRSb3csc2VsZWN0b3I6Im1hdC1yb3csIHRyW21hdC1yb3ddIixleHBvcnRBczpbIm1hdFJvdyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRdLCBbZnhMYXlvdXQueHNdLCBbZnhMYXlvdXQuc21dLCBbZnhMYXlvdXQubWRdLCAgW2Z4TGF5b3V0LmxnXSwgW2Z4TGF5b3V0LnhsXSwgW2Z4TGF5b3V0Lmx0LXNtXSwgW2Z4TGF5b3V0Lmx0LW1kXSwgIFtmeExheW91dC5sdC1sZ10sIFtmeExheW91dC5sdC14bF0sIFtmeExheW91dC5ndC14c10sIFtmeExheW91dC5ndC1zbV0sICBbZnhMYXlvdXQuZ3QtbWRdLCBbZnhMYXlvdXQuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dCIsImZ4TGF5b3V0LnhzIiwiZnhMYXlvdXQuc20iLCJmeExheW91dC5tZCIsImZ4TGF5b3V0LmxnIiwiZnhMYXlvdXQueGwiLCJmeExheW91dC5sdC1zbSIsImZ4TGF5b3V0Lmx0LW1kIiwiZnhMYXlvdXQubHQtbGciLCJmeExheW91dC5sdC14bCIsImZ4TGF5b3V0Lmd0LXhzIiwiZnhMYXlvdXQuZ3Qtc20iLCJmeExheW91dC5ndC1tZCIsImZ4TGF5b3V0Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOksuRGVmYXVsdFNob3dIaWRlRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeFNob3ddLCBbZnhTaG93LnByaW50XSwgIFtmeFNob3cueHNdLCBbZnhTaG93LnNtXSwgW2Z4U2hvdy5tZF0sIFtmeFNob3cubGddLCBbZnhTaG93LnhsXSwgIFtmeFNob3cubHQtc21dLCBbZnhTaG93Lmx0LW1kXSwgW2Z4U2hvdy5sdC1sZ10sIFtmeFNob3cubHQteGxdLCAgW2Z4U2hvdy5ndC14c10sIFtmeFNob3cuZ3Qtc21dLCBbZnhTaG93Lmd0LW1kXSwgW2Z4U2hvdy5ndC1sZ10sICBbZnhIaWRlXSwgW2Z4SGlkZS5wcmludF0sICBbZnhIaWRlLnhzXSwgW2Z4SGlkZS5zbV0sIFtmeEhpZGUubWRdLCBbZnhIaWRlLmxnXSwgW2Z4SGlkZS54bF0sICBbZnhIaWRlLmx0LXNtXSwgW2Z4SGlkZS5sdC1tZF0sIFtmeEhpZGUubHQtbGddLCBbZnhIaWRlLmx0LXhsXSwgIFtmeEhpZGUuZ3QteHNdLCBbZnhIaWRlLmd0LXNtXSwgW2Z4SGlkZS5ndC1tZF0sIFtmeEhpZGUuZ3QtbGddIixpbnB1dHM6WyJmeFNob3ciLCJmeFNob3cucHJpbnQiLCJmeFNob3cueHMiLCJmeFNob3cuc20iLCJmeFNob3cubWQiLCJmeFNob3cubGciLCJmeFNob3cueGwiLCJmeFNob3cubHQtc20iLCJmeFNob3cubHQtbWQiLCJmeFNob3cubHQtbGciLCJmeFNob3cubHQteGwiLCJmeFNob3cuZ3QteHMiLCJmeFNob3cuZ3Qtc20iLCJmeFNob3cuZ3QtbWQiLCJmeFNob3cuZ3QtbGciLCJmeEhpZGUiLCJmeEhpZGUucHJpbnQiLCJmeEhpZGUueHMiLCJmeEhpZGUuc20iLCJmeEhpZGUubWQiLCJmeEhpZGUubGciLCJmeEhpZGUueGwiLCJmeEhpZGUubHQtc20iLCJmeEhpZGUubHQtbWQiLCJmeEhpZGUubHQtbGciLCJmeEhpZGUubHQteGwiLCJmeEhpZGUuZ3QteHMiLCJmeEhpZGUuZ3Qtc20iLCJmeEhpZGUuZ3QtbWQiLCJmeEhpZGUuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRDbGFzc0RpcmVjdGl2ZSxzZWxlY3RvcjoiICBbbmdDbGFzc10sIFtuZ0NsYXNzLnhzXSwgW25nQ2xhc3Muc21dLCBbbmdDbGFzcy5tZF0sIFtuZ0NsYXNzLmxnXSwgW25nQ2xhc3MueGxdLCAgW25nQ2xhc3MubHQtc21dLCBbbmdDbGFzcy5sdC1tZF0sIFtuZ0NsYXNzLmx0LWxnXSwgW25nQ2xhc3MubHQteGxdLCAgW25nQ2xhc3MuZ3QteHNdLCBbbmdDbGFzcy5ndC1zbV0sIFtuZ0NsYXNzLmd0LW1kXSwgW25nQ2xhc3MuZ3QtbGddIixpbnB1dHM6WyJuZ0NsYXNzIiwibmdDbGFzcy54cyIsIm5nQ2xhc3Muc20iLCJuZ0NsYXNzLm1kIiwibmdDbGFzcy5sZyIsIm5nQ2xhc3MueGwiLCJuZ0NsYXNzLmx0LXNtIiwibmdDbGFzcy5sdC1tZCIsIm5nQ2xhc3MubHQtbGciLCJuZ0NsYXNzLmx0LXhsIiwibmdDbGFzcy5ndC14cyIsIm5nQ2xhc3MuZ3Qtc20iLCJuZ0NsYXNzLmd0LW1kIiwibmdDbGFzcy5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOksuRGVmYXVsdFN0eWxlRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtuZ1N0eWxlXSwgIFtuZ1N0eWxlLnhzXSwgW25nU3R5bGUuc21dLCBbbmdTdHlsZS5tZF0sIFtuZ1N0eWxlLmxnXSwgW25nU3R5bGUueGxdLCAgW25nU3R5bGUubHQtc21dLCBbbmdTdHlsZS5sdC1tZF0sIFtuZ1N0eWxlLmx0LWxnXSwgW25nU3R5bGUubHQteGxdLCAgW25nU3R5bGUuZ3QteHNdLCBbbmdTdHlsZS5ndC1zbV0sIFtuZ1N0eWxlLmd0LW1kXSwgW25nU3R5bGUuZ3QtbGddIixpbnB1dHM6WyJuZ1N0eWxlIiwibmdTdHlsZS54cyIsIm5nU3R5bGUuc20iLCJuZ1N0eWxlLm1kIiwibmdTdHlsZS5sZyIsIm5nU3R5bGUueGwiLCJuZ1N0eWxlLmx0LXNtIiwibmdTdHlsZS5sdC1tZCIsIm5nU3R5bGUubHQtbGciLCJuZ1N0eWxlLmx0LXhsIiwibmdTdHlsZS5ndC14cyIsIm5nU3R5bGUuZ3Qtc20iLCJuZ1N0eWxlLmd0LW1kIiwibmdTdHlsZS5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpidC5UYkljb25Db21wb25lbnQsc2VsZWN0b3I6InRiLWljb24iLGlucHV0czpbImNvbG9yIl0sZXhwb3J0QXM6WyJ0Ykljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJNb2RidXNNYXN0ZXJUYWJsZUNvbXBvbmVudCIsd28pLEhlKFt4dCgpXSx3by5wcm90b3R5cGUsImlzTGVnYWN5Iix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6d28sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1tYXN0ZXItdGFibGUiLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT53bykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsU2FdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItbWFzdGVyLXRhYmxlIHRiLWFic29sdXRlLWZpbGwiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggY2VudGVyIj57eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLW1hc3RlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGZ4RmxleCBmeExheW91dD0iY29sdW1uIiBjbGFzcz0idGItbWFzdGVyLXRhYmxlLWNvbnRlbnQiPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIiBbZnhTaG93XT0iIXRleHRTZWFyY2hNb2RlIj5cbiAgICAgIDxkaXYgY2xhc3M9Im1hdC10b29sYmFyLXRvb2xzIiAqbmdJZj0iKGRhdGFTb3VyY2UuaXNFbXB0eSgpIHwgYXN5bmMpID09PSBmYWxzZSI+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0ic3RhcnQgY2VudGVyIiBmeExheW91dC54cz0iY29sdW1uIiBmeExheW91dEFsaWduLnhzPSJjZW50ZXIgc3RhcnQiIGNsYXNzPSJ0aXRsZS1jb250YWluZXIiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Yi1tYXN0ZXItdGFibGUtdGl0bGUiPnt7IFwnZ2F0ZXdheS5zZXJ2ZXJzLXNsYXZlc1wnIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZVNsYXZlKCRldmVudCkiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uYWRkXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9ImVudGVyRmlsdGVyTW9kZSgpIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLnNlYXJjaFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXRvb2xiYXI+XG4gICAgPG1hdC10b29sYmFyIGNsYXNzPSJtYXQtbWRjLXRhYmxlLXRvb2xiYXIiIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSI+XG4gICAgICA8ZGl2IGNsYXNzPSJtYXQtdG9vbGJhci10b29scyI+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+Jm5ic3A7PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0ICNzZWFyY2hJbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPSJ0ZXh0U2VhcmNoIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdjb21tb24uZW50ZXItc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0iZXhpdEZpbHRlck1vZGUoKSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5jbG9zZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1jb250YWluZXIiPlxuICAgICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09ImRhdGFTb3VyY2UiPlxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPSJcJ2RldmljZU5hbWVcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS5kZXZpY2UtbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgc2xhdmUiIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iPlxuICAgICAgICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgc2xhdmVbXCdkZXZpY2VOYW1lXCddIH19PC9kaXY+XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW21hdENvbHVtbkRlZl09IlwnaW5mb1wnIj5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmluZm9cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlIiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IHNsYXZlW1wnaG9zdFwnXSA/PyBzbGF2ZVtcJ3BvcnRcJ10gfX08L2Rpdj5cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT0iXCd1bml0SWRcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS51bml0LWlkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBzbGF2ZSIgY2xhc3M9InRhYmxlLXZhbHVlLWNvbHVtbiI+XG4gICAgICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBzbGF2ZVtcJ3VuaXRJZFwnXSB9fTwvZGl2PlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPSJcJ3R5cGVcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXY+e3sgXCdnYXRld2F5LnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlIiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIHt7IE1vZGJ1c1Byb3RvY29sTGFiZWxzTWFwLmdldChzbGF2ZVtcJ3R5cGVcJ10pIH19XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPSJhY3Rpb25zIiBzdGlja3lFbmQ+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGUuZ3QtbWRdPSJ7IG1pbldpZHRoOiBcJzk2cHhcJywgbWF4V2lkdGg6IFwnOTZweFwnLCB3aWR0aDogXCc5NnB4XCcsIHRleHRBbGlnbjogXCdjZW50ZXJcJ30iPlxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlOyBsZXQgaSA9IGluZGV4IlxuICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZS5ndC1tZF09InsgbWluV2lkdGg6IFwnOTZweFwnLCBtYXhXaWR0aDogXCc5NnB4XCcsIHdpZHRoOiBcJzk2cHhcJ30iPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyb3dBY3Rpb25zPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZVNsYXZlKCRldmVudCwgaSkiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmRlbGV0ZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlU2xhdmUoJGV2ZW50LCBpKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24+ZGVsZXRlPC90Yi1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8ZGl2IGZ4SGlkZSBmeFNob3cuZ3QtbWQgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0QWxpZ249ImVuZCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJyb3dBY3Rpb25zIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmeEhpZGUgZnhTaG93Lmx0LWxnIGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJlbmQiPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPSJjZWxsQWN0aW9uc01lbnUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8bWF0LW1lbnUgI2NlbGxBY3Rpb25zTWVudT0ibWF0TWVudSIgeFBvc2l0aW9uPSJiZWZvcmUiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJyb3dBY3Rpb25zIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bWF0LWhlYWRlci1yb3cgW25nQ2xhc3NdPSJ7XCdtYXQtcm93LXNlbGVjdFwnOiB0cnVlfSIgKm1hdEhlYWRlclJvd0RlZj0iW1wnZGV2aWNlTmFtZVwnLCBcJ2luZm9cJywgXCd1bml0SWRcJywgXCd0eXBlXCcsIFwnYWN0aW9uc1wnXTsgc3RpY2t5OiB0cnVlIj48L21hdC1oZWFkZXItcm93PlxuICAgICAgICA8bWF0LXJvdyAqbWF0Um93RGVmPSJsZXQgc2xhdmU7IGNvbHVtbnM6IFtcJ2RldmljZU5hbWVcJywgXCdpbmZvXCcsIFwndW5pdElkXCcsIFwndHlwZVwnLCBcJ2FjdGlvbnNcJ10iPjwvbWF0LXJvdz5cbiAgICAgIDwvdGFibGU+XG4gICAgICA8c2VjdGlvbiBbZnhTaG93XT0iIXRleHRTZWFyY2hNb2RlICYmIChkYXRhU291cmNlLmlzRW1wdHkoKSB8IGFzeW5jKSIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgIGNsYXNzPSJtYXQtaGVhZGxpbmUtNSB0Yi1hYnNvbHV0ZS1maWxsIHRiLWFkZC1uZXciPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9ImNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VTbGF2ZSgkZXZlbnQpIj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC05NiI+YWRkPC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3Bhbj57eyBcJ2dhdGV3YXkuYWRkLXNsYXZlXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9zZWN0aW9uPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSAmJiAoZGF0YVNvdXJjZS5pc0VtcHR5KCkgfCBhc3luYykiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCIgdHJhbnNsYXRlPlxuICAgICAgd2lkZ2V0Lm5vLWRhdGEtZm91bmRcbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojZmZmO292ZXJmbG93OmhpZGRlbn06aG9zdCAudGItbWFzdGVyLXRhYmxlIC50Yi1tYXN0ZXItdGFibGUtY29udGVudCAubWF0LXRvb2xiYXItdG9vbHN7bWluLWhlaWdodDphdXRvfTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50aXRsZS1jb250YWluZXJ7b3ZlcmZsb3c6aGlkZGVufTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50Yi1tYXN0ZXItdGFibGUtdGl0bGV7cGFkZGluZy1yaWdodDoyMHB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306aG9zdCAudGItbWFzdGVyLXRhYmxlIC50Yi1tYXN0ZXItdGFibGUtY29udGVudCAudGFibGUtY29udGFpbmVye292ZXJmbG93OmF1dG99Omhvc3QgLnRiLW1hc3Rlci10YWJsZSAudGItbWFzdGVyLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lciAubWF0LW1kYy10YWJsZXt0YWJsZS1sYXlvdXQ6Zml4ZWQ7bWluLXdpZHRoOjQ1MHB4fTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50YWJsZS1jb250YWluZXIgLm1hdC1tZGMtdGFibGUgLnRhYmxlLXZhbHVlLWNvbHVtbntwYWRkaW5nOjAgMTJweDt3aWR0aDozOCV9Omhvc3QgLm5vLWRhdGEtZm91bmR7aGVpZ2h0OmNhbGMoMTAwJSAtIDEyMHB4KX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCl7Omhvc3QgLm1hdC10b29sYmFye2hlaWdodDphdXRvO21pbi1oZWlnaHQ6MTAwcHh9Omhvc3QgLm1hdC10b29sYmFyIC50Yi1tYXN0ZXItdGFibGUtdGl0bGV7cGFkZGluZy1ib3R0b206NXB4O3dpZHRoOjEwMCV9fTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxse2N1cnNvcjpwb2ludGVyfTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxsIC5tYXQtaWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4O2ZvbnQtc2l6ZToyNHB4O2NvbG9yOiM3NTc1NzV9XG4nXX1dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0eXBlOkplLk1hdERpYWxvZ30se3R5cGU6WC5EaWFsb2dTZXJ2aWNlfSx7dHlwZTptZS5Gb3JtQnVpbGRlcn0se3R5cGU6dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHByb3BEZWNvcmF0b3JzOntzZWFyY2hJbnB1dEZpZWxkOlt7dHlwZTpvLGFyZ3M6WyJzZWFyY2hJbnB1dCJdfV0saXNMZWdhY3k6W3t0eXBlOmF9XX19KTtjbGFzcyBDbyBleHRlbmRzIFJ7Y29uc3RydWN0b3IoKXtzdXBlcigpfX1lKCJTbGF2ZXNEYXRhc291cmNlIixDbyk7Y2xhc3MgVG8gZXh0ZW5kcyB5YXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5lbmFibGVTbGF2ZUNvbnRyb2w9bmV3IHllKCExKSx0aGlzLmVuYWJsZVNsYXZlQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy51cGRhdGVTbGF2ZUVuYWJsaW5nKGUpLHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJzbGF2ZSIpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohIXRoaXMub25DaGFuZ2V9KX0pKX13cml0ZVZhbHVlKGUpe3N1cGVyLndyaXRlVmFsdWUoZSksdGhpcy5vbkVuYWJsZVNsYXZlQ29udHJvbChlKX12YWxpZGF0ZSgpe2NvbnN0e21hc3RlcjplLHNsYXZlOnR9PXRoaXMuYmFzaWNGb3JtR3JvdXAudmFsdWUsbj0hZT8uc2xhdmVzPy5sZW5ndGgmJihlZSh0LHt9KXx8IXQpO3JldHVybiF0aGlzLmJhc2ljRm9ybUdyb3VwLnZhbGlkfHxuP3tiYXNpY0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fTpudWxsfWluaXRCYXNpY0Zvcm1Hcm91cCgpe3JldHVybiB0aGlzLmZiLmdyb3VwKHttYXN0ZXI6W10sc2xhdmU6W119KX11cGRhdGVTbGF2ZUVuYWJsaW5nKGUpe2U/dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInNsYXZlIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KTp0aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgic2xhdmUiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KX1vbkVuYWJsZVNsYXZlQ29udHJvbChlKXt0aGlzLmVuYWJsZVNsYXZlQ29udHJvbC5zZXRWYWx1ZSghIWUuc2xhdmUmJiFlZShlLnNsYXZlLHt9KSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpUbyxkZXBzOltdLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkRpcmVjdGl2ZX0pfXN0YXRpY3t0aGlzLsm1ZGlyPXQuybXJtW5nRGVjbGFyZURpcmVjdGl2ZSh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6VG8sdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnR9KX19ZSgiTW9kYnVzQmFzaWNDb25maWdEaXJlY3RpdmUiLFRvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlRvLGRlY29yYXRvcnM6W3t0eXBlOnN9XSxjdG9yUGFyYW1ldGVyczooKT0+W119KTtjbGFzcyBTb3tjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy5Nb2RidXNQcm90b2NvbExhYmVsc01hcD16bix0aGlzLk1vZGJ1c01ldGhvZExhYmVsc01hcD1Lbix0aGlzLnBvcnRMaW1pdHM9RXQsdGhpcy5tb2RidXNQcm90b2NvbFR5cGVzPU9iamVjdC52YWx1ZXMoSG4pLHRoaXMubW9kYnVzTWV0aG9kVHlwZXM9T2JqZWN0LnZhbHVlcyhXbiksdGhpcy5tb2RidXNTZXJpYWxNZXRob2RUeXBlcz1PYmplY3QudmFsdWVzKGpuKSx0aGlzLm1vZGJ1c09yZGVyVHlwZT1PYmplY3QudmFsdWVzKEpuKSx0aGlzLk1vZGJ1c1Byb3RvY29sVHlwZT1Ibix0aGlzLm1vZGJ1c0JhdWRyYXRlcz1sYSx0aGlzLmlzU2xhdmVFbmFibGVkPSExLHRoaXMuc2VyaWFsU3BlY2lmaWNDb250cm9sS2V5cz1bInNlcmlhbFBvcnQiLCJiYXVkcmF0ZSJdLHRoaXMudGNwVWRwU3BlY2lmaWNDb250cm9sS2V5cz1bInBvcnQiLCJzZWN1cml0eSIsImhvc3QiXSx0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLnNob3dTZWN1cml0eUNvbnRyb2w9dGhpcy5mYi5jb250cm9sKCExKSx0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe3R5cGU6W0huLlRDUF0saG9zdDpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scG9ydDpbbnVsbCxbdWUucmVxdWlyZWQsdWUubWluKEV0Lk1JTiksdWUubWF4KEV0Lk1BWCldXSxzZXJpYWxQb3J0OlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxtZXRob2Q6W1duLlNPQ0tFVF0sdW5pdElkOltudWxsLFt1ZS5yZXF1aXJlZF1dLGJhdWRyYXRlOlt0aGlzLm1vZGJ1c0JhdWRyYXRlc1swXV0sZGV2aWNlTmFtZTpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sZGV2aWNlVHlwZTpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scG9sbFBlcmlvZDpbNWUzLFt1ZS5yZXF1aXJlZF1dLHNlbmREYXRhVG9UaGluZ3NCb2FyZDpbITFdLGJ5dGVPcmRlcjpbSm4uQklHXSx3b3JkT3JkZXI6W0puLkJJR10sc2VjdXJpdHk6W10saWRlbnRpdHk6dGhpcy5mYi5ncm91cCh7dmVuZG9yTmFtZTpbIiIsW3VlLnBhdHRlcm4oa3QpXV0scHJvZHVjdENvZGU6WyIiLFt1ZS5wYXR0ZXJuKGt0KV1dLHZlbmRvclVybDpbIiIsW3VlLnBhdHRlcm4oa3QpXV0scHJvZHVjdE5hbWU6WyIiLFt1ZS5wYXR0ZXJuKGt0KV1dLG1vZGVsTmFtZTpbIiIsW3VlLnBhdHRlcm4oa3QpXV19KSx2YWx1ZXM6W119KSx0aGlzLm9ic2VydmVWYWx1ZUNoYW5nZXMoKSx0aGlzLm9ic2VydmVUeXBlQ2hhbmdlKCksdGhpcy5vYnNlcnZlU2hvd1NlY3VyaXR5KCl9Z2V0IHByb3RvY29sVHlwZSgpe3JldHVybiB0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldCgidHlwZSIpLnZhbHVlfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC52YWxpZD9udWxsOntzbGF2ZUNvbmZpZ0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fX13cml0ZVZhbHVlKGUpe3RoaXMuc2hvd1NlY3VyaXR5Q29udHJvbC5wYXRjaFZhbHVlKCEhZS5zZWN1cml0eSYmIWVlKGUuc2VjdXJpdHkse30pKSx0aGlzLnVwZGF0ZVNsYXZlQ29uZmlnKGUpfXNldERpc2FibGVkU3RhdGUoZSl7dGhpcy5pc1NsYXZlRW5hYmxlZD0hZSx0aGlzLnVwZGF0ZUZvcm1FbmFibGVTdGF0ZSgpfW9ic2VydmVWYWx1ZUNoYW5nZXMoKXt0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9PntlLnR5cGU9PT1Ibi5TZXJpYWwmJihlLnBvcnQ9ZS5zZXJpYWxQb3J0LGRlbGV0ZSBlLnNlcmlhbFBvcnQpLHRoaXMub25DaGFuZ2UoZSksdGhpcy5vblRvdWNoZWQoKX0pKX1vYnNlcnZlVHlwZUNoYW5nZSgpe3RoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMudXBkYXRlRm9ybUVuYWJsZVN0YXRlKCksdGhpcy51cGRhdGVNZXRob2RUeXBlKGUpfSkpfXVwZGF0ZU1ldGhvZFR5cGUoZSl7dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoIm1ldGhvZCIpLnZhbHVlIT09V24uUlRVJiZ0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldCgibWV0aG9kIikucGF0Y2hWYWx1ZShlPT09SG4uU2VyaWFsP2puLkFTQ0lJOlduLlNPQ0tFVCx7ZW1pdEV2ZW50OiExfSl9dXBkYXRlRm9ybUVuYWJsZVN0YXRlKCl7dGhpcy5pc1NsYXZlRW5hYmxlZD8odGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5lbmFibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuc2hvd1NlY3VyaXR5Q29udHJvbC5lbmFibGUoe2VtaXRFdmVudDohMX0pKToodGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNob3dTZWN1cml0eUNvbnRyb2wuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpLHRoaXMudXBkYXRlRW5hYmxpbmdCeVByb3RvY29sKCksdGhpcy51cGRhdGVTZWN1cml0eUVuYWJsZSh0aGlzLnNob3dTZWN1cml0eUNvbnRyb2wudmFsdWUpfW9ic2VydmVTaG93U2VjdXJpdHkoKXt0aGlzLnNob3dTZWN1cml0eUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+dGhpcy51cGRhdGVTZWN1cml0eUVuYWJsZShlKSkpfXVwZGF0ZVNlY3VyaXR5RW5hYmxlKGUpe2UmJnRoaXMuaXNTbGF2ZUVuYWJsZWQmJnRoaXMucHJvdG9jb2xUeXBlIT09SG4uU2VyaWFsP3RoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KCJzZWN1cml0eSIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSk6dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoInNlY3VyaXR5IikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSl9dXBkYXRlRW5hYmxpbmdCeVByb3RvY29sKCl7Y29uc3QgZT10aGlzLnByb3RvY29sVHlwZT09PUhuLlNlcmlhbCx0PWU/dGhpcy5zZXJpYWxTcGVjaWZpY0NvbnRyb2xLZXlzOnRoaXMudGNwVWRwU3BlY2lmaWNDb250cm9sS2V5cyxuPWU/dGhpcy50Y3BVZHBTcGVjaWZpY0NvbnRyb2xLZXlzOnRoaXMuc2VyaWFsU3BlY2lmaWNDb250cm9sS2V5czt0aGlzLmlzU2xhdmVFbmFibGVkJiZ0LmZvckVhY2goKGU9PnRoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KGUpPy5lbmFibGUoe2VtaXRFdmVudDohMX0pKSksbi5mb3JFYWNoKChlPT50aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChlKT8uZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpKX11cGRhdGVTbGF2ZUNvbmZpZyhlKXtjb25zdHt0eXBlOnQ9SG4uVENQLG1ldGhvZDpuPVduLlJUVSx1bml0SWQ6YT0wLGRldmljZU5hbWU6bz0iIixkZXZpY2VUeXBlOmk9IiIscG9sbFBlcmlvZDpyPTVlMyxzZW5kRGF0YVRvVGhpbmdzQm9hcmQ6cz0hMSxieXRlT3JkZXI6bD1Kbi5CSUcsd29yZE9yZGVyOmM9Sm4uQklHLHNlY3VyaXR5OnA9e30saWRlbnRpdHk6bT17dmVuZG9yTmFtZToiIixwcm9kdWN0Q29kZToiIix2ZW5kb3JVcmw6IiIscHJvZHVjdE5hbWU6IiIsbW9kZWxOYW1lOiIifSx2YWx1ZXM6ZD17fSxiYXVkcmF0ZTp1PXRoaXMubW9kYnVzQmF1ZHJhdGVzWzBdLGhvc3Q6Zz0iIixwb3J0OmY9bnVsbH09ZSx5PXt0eXBlOnQsbWV0aG9kOm4sdW5pdElkOmEsZGV2aWNlTmFtZTpvLGRldmljZVR5cGU6aSxwb2xsUGVyaW9kOnIsc2VuZERhdGFUb1RoaW5nc0JvYXJkOiEhcyxieXRlT3JkZXI6bCx3b3JkT3JkZXI6YyxzZWN1cml0eTpwLGlkZW50aXR5Om0sdmFsdWVzOmQsYmF1ZHJhdGU6dSxob3N0OnQ9PT1Ibi5TZXJpYWw/IiI6Zyxwb3J0OnQ9PT1Ibi5TZXJpYWw/bnVsbDpmLHNlcmlhbFBvcnQ6dD09PUhuLlNlcmlhbD9mOiIifTt0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLnNldFZhbHVlKHkse2VtaXRFdmVudDohMX0pfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6U28sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpTbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1vZGJ1cy1zbGF2ZS1jb25maWciLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PlNvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5TbykpLG11bHRpOiEwfV0sbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgW2Zvcm1Hcm91cF09InNsYXZlQ29uZmlnRm9ybUdyb3VwIiBjbGFzcz0ic2xhdmUtY29udGFpbmVyIj5cbiAgPGRpdiBjbGFzcz0ic2xhdmUtY29udGVudCB0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIiA+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCByb3cgc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIgbm8tZ2FwIGZpbGwtd2lkdGgiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci1zbGF2ZS1jb25maWc8L2Rpdj5cbiAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2YgbW9kYnVzUHJvdG9jb2xUeXBlcyIgW3ZhbHVlXT0idHlwZSI+e3sgTW9kYnVzUHJvdG9jb2xMYWJlbHNNYXAuZ2V0KHR5cGUpIH19PC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiPlxuICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIlxuICAgICAgICAgICBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIlxuICAgICAgICAgICBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmhvc3RcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuaG9zdDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJob3N0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lmhvc3QtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCBlbHNlIHNlcmlhbFBvcnQiXG4gICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiXG4gICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSJ7e3BvcnRMaW1pdHMuTUlOfX0iIG1heD0ie3twb3J0TGltaXRzLk1BWH19IlxuICAgICAgICAgICAgICAgICAgIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvcnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykgfCBnZXRHYXRld2F5UG9ydFRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ21heFwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLXRlbXBsYXRlICNzZXJpYWxQb3J0PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc2VyaWFsLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucG9ydDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJpYWxQb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IlwnZ2F0ZXdheS5wb3J0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5mcmFtZXItdHlwZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+XG4gICAgICAgICAgZ2F0ZXdheS5tZXRob2RcbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBtZXRob2Qgb2YgcHJvdG9jb2xUeXBlID09PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsID8gbW9kYnVzU2VyaWFsTWV0aG9kVHlwZXMgOiBtb2RidXNNZXRob2RUeXBlcyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT0ibWV0aG9kIj57eyBNb2RidXNNZXRob2RMYWJlbHNNYXAuZ2V0KG1ldGhvZCkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy51bml0LWlkXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnVuaXQtaWQ8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InVuaXRJZCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudW5pdC1pZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCd1bml0SWRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLW5hbWU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLXByb2ZpbGU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlVHlwZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLXByb2ZpbGUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VUeXBlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgIDxzcGFuIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCB0cmFuc2xhdGU+XG4gICAgICAgICAgZ2F0ZXdheS5wb2xsLXBlcmlvZFxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvbGxQZXJpb2QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSA9PT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJhdWRyYXRlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJhdWRyYXRlPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJiYXVkcmF0ZSI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCByYXRlIG9mIG1vZGJ1c0JhdWRyYXRlcyIgW3ZhbHVlXT0icmF0ZSI+e3sgcmF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJzZW5kRGF0YVRvVGhpbmdzQm9hcmQiPlxuICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWRhdGEtdG8tcGxhdGZvcm1cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIj5cbiAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5hZHZhbmNlZC1jb25uZWN0aW9uLXNldHRpbmdzPC9kaXY+XG4gICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJ5dGUtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuYnl0ZS1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYnl0ZU9yZGVyIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndvcmQtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud29yZC1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0id29yZE9yZGVyIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCB0Yi1zbGlkZS10b2dnbGUiPlxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJzaG93U2VjdXJpdHlDb250cm9sLnZhbHVlIj5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZ4TGF5b3V0QWxpZ249ImNlbnRlciIgW2Zvcm1Db250cm9sXT0ic2hvd1NlY3VyaXR5Q29udHJvbCIgY2xhc3M9Im1hdC1zbGlkZSIgKGNsaWNrKT0iJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGxzLWNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgPHRiLW1vZGJ1cy1zZWN1cml0eS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZWN1cml0eSI+PC90Yi1tb2RidXMtc2VjdXJpdHktY29uZmlnPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2lkZW50aXR5XCcpIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudmVuZG9yLW5hbWU8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmVuZG9yTmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnByb2R1Y3QtY29kZTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwcm9kdWN0Q29kZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnZlbmRvci11cmw8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmVuZG9yVXJsIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucHJvZHVjdC1uYW1lPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InByb2R1Y3ROYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkubW9kZWwtbmFtZTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJtb2RlbE5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWVzPC9kaXY+XG4gICAgICA8dGItbW9kYnVzLXZhbHVlcyBmb3JtQ29udHJvbE5hbWU9InZhbHVlcyI+PC90Yi1tb2RidXMtdmFsdWVzPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxkZXBlbmRlbmNpZXM6W3traW5kOiJuZ21vZHVsZSIsdHlwZTpIfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWwsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwiLGlucHV0czpbImhpZGVUb2dnbGUiLCJ0b2dnbGVQb3NpdGlvbiJdLG91dHB1dHM6WyJhZnRlckV4cGFuZCIsImFmdGVyQ29sbGFwc2UiXSxleHBvcnRBczpbIm1hdEV4cGFuc2lvblBhbmVsIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIixpbnB1dHM6WyJleHBhbmRlZEhlaWdodCIsImNvbGxhcHNlZEhlaWdodCIsInRhYkluZGV4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxUaXRsZSxzZWxlY3RvcjoibWF0LXBhbmVsLXRpdGxlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWF4VmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttYXhdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtuZ01vZGVsXSIsaW5wdXRzOlsibWF4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpudC5Ub2dnbGVPcHRpb24sc2VsZWN0b3I6InRiLXRvZ2dsZS1vcHRpb24iLGlucHV0czpbInZhbHVlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YXQuVG9nZ2xlU2VsZWN0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi10b2dnbGUtc2VsZWN0IixpbnB1dHM6WyJkaXNhYmxlZCIsInNlbGVjdE1lZGlhQnJlYWtwb2ludCIsImFwcGVhcmFuY2UiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImZpbGxIZWlnaHQiLCJleHRyYVBhZGRpbmciLCJwcmltYXJ5QmFja2dyb3VuZCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnV0LkhpbnRUb29sdGlwSWNvbkNvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhpbnQtdG9vbHRpcC1pY29uXSIsaW5wdXRzOlsidGItaGludC10b29sdGlwLWljb24iLCJ0b29sdGlwUG9zaXRpb24iLCJoaW50SWNvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnlvLHNlbGVjdG9yOiJ0Yi1tb2RidXMtdmFsdWVzIixpbnB1dHM6WyJzaW5nbGVNb2RlIiwiaGlkZU5ld0ZpZWxkcyJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJvLHNlbGVjdG9yOiJ0Yi1tb2RidXMtc2VjdXJpdHktY29uZmlnIixpbnB1dHM6WyJpc01hc3RlciJdfSx7a2luZDoicGlwZSIsdHlwZTp3YSxuYW1lOiJnZXRHYXRld2F5UG9ydFRvb2x0aXAifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlNhLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfV0sY2hhbmdlRGV0ZWN0aW9uOnQuQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNofSl9fXQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6U28sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1zbGF2ZS1jb25maWciLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5TbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+U28pKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxELHlvLGJvLHdhLFNhXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgW2Zvcm1Hcm91cF09InNsYXZlQ29uZmlnRm9ybUdyb3VwIiBjbGFzcz0ic2xhdmUtY29udGFpbmVyIj5cbiAgPGRpdiBjbGFzcz0ic2xhdmUtY29udGVudCB0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIiA+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCByb3cgc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIgbm8tZ2FwIGZpbGwtd2lkdGgiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci1zbGF2ZS1jb25maWc8L2Rpdj5cbiAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2YgbW9kYnVzUHJvdG9jb2xUeXBlcyIgW3ZhbHVlXT0idHlwZSI+e3sgTW9kYnVzUHJvdG9jb2xMYWJlbHNNYXAuZ2V0KHR5cGUpIH19PC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiPlxuICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIlxuICAgICAgICAgICBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIlxuICAgICAgICAgICBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmhvc3RcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuaG9zdDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJob3N0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lmhvc3QtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCBlbHNlIHNlcmlhbFBvcnQiXG4gICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiXG4gICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSJ7e3BvcnRMaW1pdHMuTUlOfX0iIG1heD0ie3twb3J0TGltaXRzLk1BWH19IlxuICAgICAgICAgICAgICAgICAgIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvcnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykgfCBnZXRHYXRld2F5UG9ydFRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ21heFwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLXRlbXBsYXRlICNzZXJpYWxQb3J0PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc2VyaWFsLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucG9ydDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJpYWxQb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IlwnZ2F0ZXdheS5wb3J0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5mcmFtZXItdHlwZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+XG4gICAgICAgICAgZ2F0ZXdheS5tZXRob2RcbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBtZXRob2Qgb2YgcHJvdG9jb2xUeXBlID09PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsID8gbW9kYnVzU2VyaWFsTWV0aG9kVHlwZXMgOiBtb2RidXNNZXRob2RUeXBlcyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT0ibWV0aG9kIj57eyBNb2RidXNNZXRob2RMYWJlbHNNYXAuZ2V0KG1ldGhvZCkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy51bml0LWlkXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnVuaXQtaWQ8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InVuaXRJZCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudW5pdC1pZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCd1bml0SWRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLW5hbWU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLXByb2ZpbGU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlVHlwZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLXByb2ZpbGUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VUeXBlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgIDxzcGFuIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCB0cmFuc2xhdGU+XG4gICAgICAgICAgZ2F0ZXdheS5wb2xsLXBlcmlvZFxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvbGxQZXJpb2QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSA9PT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJhdWRyYXRlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJhdWRyYXRlPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJiYXVkcmF0ZSI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCByYXRlIG9mIG1vZGJ1c0JhdWRyYXRlcyIgW3ZhbHVlXT0icmF0ZSI+e3sgcmF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJzZW5kRGF0YVRvVGhpbmdzQm9hcmQiPlxuICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWRhdGEtdG8tcGxhdGZvcm1cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIj5cbiAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5hZHZhbmNlZC1jb25uZWN0aW9uLXNldHRpbmdzPC9kaXY+XG4gICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJ5dGUtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuYnl0ZS1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYnl0ZU9yZGVyIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndvcmQtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud29yZC1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0id29yZE9yZGVyIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCB0Yi1zbGlkZS10b2dnbGUiPlxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJzaG93U2VjdXJpdHlDb250cm9sLnZhbHVlIj5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZ4TGF5b3V0QWxpZ249ImNlbnRlciIgW2Zvcm1Db250cm9sXT0ic2hvd1NlY3VyaXR5Q29udHJvbCIgY2xhc3M9Im1hdC1zbGlkZSIgKGNsaWNrKT0iJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGxzLWNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgPHRiLW1vZGJ1cy1zZWN1cml0eS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZWN1cml0eSI+PC90Yi1tb2RidXMtc2VjdXJpdHktY29uZmlnPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2lkZW50aXR5XCcpIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudmVuZG9yLW5hbWU8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmVuZG9yTmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnByb2R1Y3QtY29kZTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwcm9kdWN0Q29kZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnZlbmRvci11cmw8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmVuZG9yVXJsIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucHJvZHVjdC1uYW1lPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InByb2R1Y3ROYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkubW9kZWwtbmFtZTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJtb2RlbE5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWVzPC9kaXY+XG4gICAgICA8dGItbW9kYnVzLXZhbHVlcyBmb3JtQ29udHJvbE5hbWU9InZhbHVlcyI+PC90Yi1tb2RidXMtdmFsdWVzPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuJ31dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTptZS5Gb3JtQnVpbGRlcn1dfSk7Y2xhc3Mga28gZXh0ZW5kcyBUb3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5pc0xlZ2FjeT0hMX1tYXBDb25maWdUb0Zvcm1WYWx1ZSh7bWFzdGVyOmUsc2xhdmU6dH0pe3JldHVybnttYXN0ZXI6ZT8uc2xhdmVzP2U6e3NsYXZlczpbXX0sc2xhdmU6dD8/e319fWdldE1hcHBlZFZhbHVlKGUpe3JldHVybnttYXN0ZXI6ZS5tYXN0ZXIsc2xhdmU6ZS5zbGF2ZX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTprbyxkZXBzOm51bGwsdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTprbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1vZGJ1cy1iYXNpYy1jb25maWciLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PmtvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5rbykpLG11bHRpOiEwfV0sdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0iYmFzaWNGb3JtR3JvdXAiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09ImdlbmVyYWxUYWJDb250ZW50Ij48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5Lm1hc3Rlci1jb25uZWN0aW9uc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8dGItbW9kYnVzLW1hc3Rlci10YWJsZSBbaXNMZWdhY3ldPSJpc0xlZ2FjeSIgZm9ybUNvbnRyb2xOYW1lPSJtYXN0ZXIiPjwvdGItbW9kYnVzLW1hc3Rlci10YWJsZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnNlcnZlci1jb25maWdcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggY2VudGVyIj57eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLXNlcnZlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBbZm9ybUNvbnRyb2xdPSJlbmFibGVTbGF2ZUNvbnRyb2wiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZW5hYmxlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPHRiLW1vZGJ1cy1zbGF2ZS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzbGF2ZSI+PC90Yi1tb2RidXMtc2xhdmUtY29uZmlnPlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJuZ21vZHVsZSIsdHlwZTpIfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdUZW1wbGF0ZU91dGxldCxzZWxlY3RvcjoiW25nVGVtcGxhdGVPdXRsZXRdIixpbnB1dHM6WyJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCIsIm5nVGVtcGxhdGVPdXRsZXQiLCJuZ1RlbXBsYXRlT3V0bGV0SW5qZWN0b3IiXX0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWIsc2VsZWN0b3I6Im1hdC10YWIiLGlucHV0czpbImRpc2FibGVkIiwibGFiZWwiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwibGFiZWxDbGFzcyIsImJvZHlDbGFzcyJdLGV4cG9ydEFzOlsibWF0VGFiIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWJHcm91cCxzZWxlY3RvcjoibWF0LXRhYi1ncm91cCIsaW5wdXRzOlsiY29sb3IiLCJmaXRJbmtCYXJUb0NvbnRlbnQiLCJtYXQtc3RyZXRjaC10YWJzIiwiZHluYW1pY0hlaWdodCIsInNlbGVjdGVkSW5kZXgiLCJoZWFkZXJQb3NpdGlvbiIsImFuaW1hdGlvbkR1cmF0aW9uIiwiY29udGVudFRhYkluZGV4IiwiZGlzYWJsZVBhZ2luYXRpb24iLCJkaXNhYmxlUmlwcGxlIiwicHJlc2VydmVDb250ZW50IiwiYmFja2dyb3VuZENvbG9yIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSJdLG91dHB1dHM6WyJzZWxlY3RlZEluZGV4Q2hhbmdlIiwiZm9jdXNDaGFuZ2UiLCJhbmltYXRpb25Eb25lIiwic2VsZWN0ZWRUYWJDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFRhYkdyb3VwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6ZXQuTWF0U2xpZGVUb2dnbGUsc2VsZWN0b3I6Im1hdC1zbGlkZS10b2dnbGUiLGlucHV0czpbIm5hbWUiLCJpZCIsImxhYmVsUG9zaXRpb24iLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsInJlcXVpcmVkIiwiY29sb3IiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImNoZWNrZWQiLCJoaWRlSWNvbiIsImRpc2FibGVkSW50ZXJhY3RpdmUiXSxvdXRwdXRzOlsiY2hhbmdlIiwidG9nZ2xlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2wiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpTbyxzZWxlY3RvcjoidGItbW9kYnVzLXNsYXZlLWNvbmZpZyJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d28sc2VsZWN0b3I6InRiLW1vZGJ1cy1tYXN0ZXItdGFibGUiLGlucHV0czpbImlzTGVnYWN5Il19XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19ZSgiTW9kYnVzQmFzaWNDb25maWdDb21wb25lbnQiLGtvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmtvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1tb2RidXMtYmFzaWMtY29uZmlnIixjaGFuZ2VEZXRlY3Rpb246ZC5PblB1c2gscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+a28pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PmtvKSksbXVsdGk6ITB9XSxzdGFuZGFsb25lOiEwLGltcG9ydHM6W0gsRCxTbyx3byxrYV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0iYmFzaWNGb3JtR3JvdXAiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09ImdlbmVyYWxUYWJDb250ZW50Ij48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5Lm1hc3Rlci1jb25uZWN0aW9uc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8dGItbW9kYnVzLW1hc3Rlci10YWJsZSBbaXNMZWdhY3ldPSJpc0xlZ2FjeSIgZm9ybUNvbnRyb2xOYW1lPSJtYXN0ZXIiPjwvdGItbW9kYnVzLW1hc3Rlci10YWJsZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnNlcnZlci1jb25maWdcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggY2VudGVyIj57eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLXNlcnZlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBbZm9ybUNvbnRyb2xdPSJlbmFibGVTbGF2ZUNvbnRyb2wiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZW5hYmxlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPHRiLW1vZGJ1cy1zbGF2ZS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzbGF2ZSI+PC90Yi1tb2RidXMtc2xhdmUtY29uZmlnPlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9XG4nXX1dfV19KTtjbGFzcyBMbyBleHRlbmRzIFRve2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmlzTGVnYWN5PSEwfW1hcENvbmZpZ1RvRm9ybVZhbHVlKGUpe3JldHVybnttYXN0ZXI6ZS5tYXN0ZXI/LnNsYXZlcz9lLm1hc3Rlcjp7c2xhdmVzOltdfSxzbGF2ZTplLnNsYXZlP2hhLm1hcFNsYXZlVG9VcGdyYWRlZFZlcnNpb24oZS5zbGF2ZSk6e319fWdldE1hcHBlZFZhbHVlKGUpe3JldHVybnttYXN0ZXI6ZS5tYXN0ZXIsc2xhdmU6ZS5zbGF2ZT9oYS5tYXBTbGF2ZVRvRG93bmdyYWRlZFZlcnNpb24oZS5zbGF2ZSk6e319fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6TG8sZGVwczpudWxsLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6TG8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1tb2RidXMtbGVnYWN5LWJhc2ljLWNvbmZpZyIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+TG8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkxvKSksbXVsdGk6ITB9XSx1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdGFiLWdyb3VwIFtmb3JtR3JvdXBdPSJiYXNpY0Zvcm1Hcm91cCI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZ2VuZXJhbFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkubWFzdGVyLWNvbm5lY3Rpb25zXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDx0Yi1tb2RidXMtbWFzdGVyLXRhYmxlIFtpc0xlZ2FjeV09ImlzTGVnYWN5IiBmb3JtQ29udHJvbE5hbWU9Im1hc3RlciI+PC90Yi1tb2RidXMtbWFzdGVyLXRhYmxlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuc2VydmVyLWNvbmZpZ1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwgdGItZmxleCBjZW50ZXIiPnt7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMtc2VydmVyXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIFtmb3JtQ29udHJvbF09ImVuYWJsZVNsYXZlQ29udHJvbCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5lbmFibGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8dGItbW9kYnVzLXNsYXZlLWNvbmZpZyBmb3JtQ29udHJvbE5hbWU9InNsYXZlIj48L3RiLW1vZGJ1cy1zbGF2ZS1jb25maWc+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHtoZWlnaHQ6MTAwJX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1RlbXBsYXRlT3V0bGV0LHNlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0iLGlucHV0czpbIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IiwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRJbmplY3RvciJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOlNvLHNlbGVjdG9yOiJ0Yi1tb2RidXMtc2xhdmUtY29uZmlnIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3byxzZWxlY3RvcjoidGItbW9kYnVzLW1hc3Rlci10YWJsZSIsaW5wdXRzOlsiaXNMZWdhY3kiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJNb2RidXNMZWdhY3lCYXNpY0NvbmZpZ0NvbXBvbmVudCIsTG8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6TG8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1sZWdhY3ktYmFzaWMtY29uZmlnIixjaGFuZ2VEZXRlY3Rpb246ZC5PblB1c2gscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+TG8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkxvKSksbXVsdGk6ITB9XSxzdGFuZGFsb25lOiEwLGltcG9ydHM6W0gsRCxTbyx3byxrYV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0iYmFzaWNGb3JtR3JvdXAiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09ImdlbmVyYWxUYWJDb250ZW50Ij48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5Lm1hc3Rlci1jb25uZWN0aW9uc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8dGItbW9kYnVzLW1hc3Rlci10YWJsZSBbaXNMZWdhY3ldPSJpc0xlZ2FjeSIgZm9ybUNvbnRyb2xOYW1lPSJtYXN0ZXIiPjwvdGItbW9kYnVzLW1hc3Rlci10YWJsZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnNlcnZlci1jb25maWdcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggY2VudGVyIj57eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLXNlcnZlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBbZm9ybUNvbnRyb2xdPSJlbmFibGVTbGF2ZUNvbnRyb2wiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZW5hYmxlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPHRiLW1vZGJ1cy1zbGF2ZS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzbGF2ZSI+PC90Yi1tb2RidXMtc2xhdmUtY29uZmlnPlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9XG4nXX1dfV19KTtjbGFzcyBGbyBleHRlbmRzIHlhe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm1hcHBpbmdUeXBlcz1mbix0aGlzLmlzTGVnYWN5PSEwfWluaXRCYXNpY0Zvcm1Hcm91cCgpe3JldHVybiB0aGlzLmZiLmdyb3VwKHttYXBwaW5nOltdLHNlcnZlcjpbXX0pfW1hcENvbmZpZ1RvRm9ybVZhbHVlKGUpe3JldHVybntzZXJ2ZXI6ZS5zZXJ2ZXI/eGEubWFwU2VydmVyVG9VcGdyYWRlZFZlcnNpb24oZS5zZXJ2ZXIpOnt9LG1hcHBpbmc6ZS5zZXJ2ZXI/Lm1hcHBpbmc/eGEubWFwTWFwcGluZ1RvVXBncmFkZWRWZXJzaW9uKGUuc2VydmVyLm1hcHBpbmcpOltdfX1nZXRNYXBwZWRWYWx1ZShlKXtyZXR1cm57c2VydmVyOnhhLm1hcFNlcnZlclRvRG93bmdyYWRlZFZlcnNpb24oZSl9fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Rm8sZGVwczpudWxsLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6Rm8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1vcGMtdWEtbGVnYWN5LWJhc2ljLWNvbmZpZyIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+Rm8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkZvKSksbXVsdGk6ITB9XSx1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdGFiLWdyb3VwIFtmb3JtR3JvdXBdPSJiYXNpY0Zvcm1Hcm91cCI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZ2VuZXJhbFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuc2VydmVyXCcgfCB0cmFuc2xhdGUgfX0qIj5cbiAgICA8dGItb3BjLXNlcnZlci1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZXJ2ZXIiIFtoaWRlTmV3RmllbGRzXT0iaXNMZWdhY3kiPjwvdGItb3BjLXNlcnZlci1jb25maWc+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5kYXRhLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AgdGItZmxleCBmaWxsLWhlaWdodCI+XG4gICAgICA8dGItbWFwcGluZy10YWJsZSBmb3JtQ29udHJvbE5hbWU9Im1hcHBpbmciIFtyZXF1aXJlZF09InRydWUiIFttYXBwaW5nVHlwZV09Im1hcHBpbmdUeXBlcy5PUENVQSI+PC90Yi1tYXBwaW5nLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLXRhYi1ncm91cCw6aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWJvZHktd3JhcHBlcntoZWlnaHQ6MTAwJX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1RlbXBsYXRlT3V0bGV0LHNlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0iLGlucHV0czpbIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IiwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRJbmplY3RvciJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6cm8sc2VsZWN0b3I6InRiLW1hcHBpbmctdGFibGUiLGlucHV0czpbInJlcXVpcmVkIiwibWFwcGluZ1R5cGUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpjbyxzZWxlY3RvcjoidGItb3BjLXNlcnZlci1jb25maWciLGlucHV0czpbImhpZGVOZXdGaWVsZHMiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX10Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkZvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1vcGMtdWEtbGVnYWN5LWJhc2ljLWNvbmZpZyIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PkZvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5GbykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsbG8scm8sY29dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10YWItZ3JvdXAgW2Zvcm1Hcm91cF09ImJhc2ljRm9ybUdyb3VwIj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5nZW5lcmFsXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJnZW5lcmFsVGFiQ29udGVudCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5zZXJ2ZXJcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDx0Yi1vcGMtc2VydmVyLWNvbmZpZyBmb3JtQ29udHJvbE5hbWU9InNlcnZlciIgW2hpZGVOZXdGaWVsZHNdPSJpc0xlZ2FjeSI+PC90Yi1vcGMtc2VydmVyLWNvbmZpZz5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmRhdGEtbWFwcGluZ1wnIHwgdHJhbnNsYXRlIH19KiI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCB0Yi1mbGV4IGZpbGwtaGVpZ2h0Ij5cbiAgICAgIDx0Yi1tYXBwaW5nLXRhYmxlIGZvcm1Db250cm9sTmFtZT0ibWFwcGluZyIgW3JlcXVpcmVkXT0idHJ1ZSIgW21hcHBpbmdUeXBlXT0ibWFwcGluZ1R5cGVzLk9QQ1VBIj48L3RiLW1hcHBpbmctdGFibGU+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHtoZWlnaHQ6MTAwJX06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWdyb3VwLDpob3N0IDo6bmctZGVlcCAubWF0LW1kYy10YWItYm9keS13cmFwcGVye2hlaWdodDoxMDAlfVxuJ119XX1dfSk7Y2xhc3MgSW8gZXh0ZW5kcyB5YXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5NYXBwaW5nVHlwZT1mbn1pbml0QmFzaWNGb3JtR3JvdXAoKXtyZXR1cm4gdGhpcy5mYi5ncm91cCh7bWFwcGluZzpbXSxyZXF1ZXN0c01hcHBpbmc6W10sYnJva2VyOltdLHdvcmtlcnM6W119KX1nZXRSZXF1ZXN0RGF0YUFycmF5KGUpe2NvbnN0IHQ9W107cmV0dXJuIGxlKGUpJiZPYmplY3Qua2V5cyhlKS5mb3JFYWNoKChuPT57Zm9yKGNvbnN0IGEgb2YgZVtuXSl0LnB1c2goe3JlcXVlc3RUeXBlOm4scmVxdWVzdFZhbHVlOmF9KX0pKSx0fWdldFJlcXVlc3REYXRhT2JqZWN0KGUpe3JldHVybiBlLnJlZHVjZSgoKGUse3JlcXVlc3RUeXBlOnQscmVxdWVzdFZhbHVlOm59KT0+KGVbdF0ucHVzaChuKSxlKSkse2Nvbm5lY3RSZXF1ZXN0czpbXSxkaXNjb25uZWN0UmVxdWVzdHM6W10sYXR0cmlidXRlUmVxdWVzdHM6W10sYXR0cmlidXRlVXBkYXRlczpbXSxzZXJ2ZXJTaWRlUnBjOltdfSl9Z2V0QnJva2VyTWFwcGVkVmFsdWUoZSx0KXtyZXR1cm57Li4uZSxtYXhOdW1iZXJPZldvcmtlcnM6dC5tYXhOdW1iZXJPZldvcmtlcnM/PzEwMCxtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyOnQubWF4TWVzc2FnZU51bWJlclBlcldvcmtlcj8/MTB9fXdyaXRlVmFsdWUoZSl7dGhpcy5iYXNpY0Zvcm1Hcm91cC5zZXRWYWx1ZSh0aGlzLm1hcENvbmZpZ1RvRm9ybVZhbHVlKGUpLHtlbWl0RXZlbnQ6ITF9KX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOklvLGRlcHM6bnVsbCx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5EaXJlY3RpdmV9KX1zdGF0aWN7dGhpcy7JtWRpcj10Lsm1ybVuZ0RlY2xhcmVEaXJlY3RpdmUoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOklvLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0fSl9fXQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6SW8sZGVjb3JhdG9yczpbe3R5cGU6c31dfSk7Y2xhc3MgQW8gZXh0ZW5kcyBJb3ttYXBDb25maWdUb0Zvcm1WYWx1ZShlKXtjb25zdHticm9rZXI6dCxtYXBwaW5nOm49W10sY29ubmVjdFJlcXVlc3RzOmE9W10sZGlzY29ubmVjdFJlcXVlc3RzOm89W10sYXR0cmlidXRlUmVxdWVzdHM6aT1bXSxhdHRyaWJ1dGVVcGRhdGVzOnI9W10sc2VydmVyU2lkZVJwYzpzPVtdfT1lLGw9bWEubWFwUmVxdWVzdHNUb1VwZ3JhZGVkVmVyc2lvbih7Y29ubmVjdFJlcXVlc3RzOmEsZGlzY29ubmVjdFJlcXVlc3RzOm8sYXR0cmlidXRlUmVxdWVzdHM6aSxhdHRyaWJ1dGVVcGRhdGVzOnIsc2VydmVyU2lkZVJwYzpzfSk7cmV0dXJue3dvcmtlcnM6dCYmKHQubWF4TnVtYmVyT2ZXb3JrZXJzfHx0Lm1heE1lc3NhZ2VOdW1iZXJQZXJXb3JrZXIpP3ttYXhOdW1iZXJPZldvcmtlcnM6dC5tYXhOdW1iZXJPZldvcmtlcnMsbWF4TWVzc2FnZU51bWJlclBlcldvcmtlcjp0Lm1heE1lc3NhZ2VOdW1iZXJQZXJXb3JrZXJ9Ont9LG1hcHBpbmc6bWEubWFwTWFwcGluZ1RvVXBncmFkZWRWZXJzaW9uKG4pfHxbXSxicm9rZXI6dHx8e30scmVxdWVzdHNNYXBwaW5nOnRoaXMuZ2V0UmVxdWVzdERhdGFBcnJheShsKX19Z2V0TWFwcGVkVmFsdWUoZSl7Y29uc3R7YnJva2VyOnQsd29ya2VyczpuLG1hcHBpbmc6YSxyZXF1ZXN0c01hcHBpbmc6b309ZXx8e30saT1vPy5sZW5ndGg/dGhpcy5nZXRSZXF1ZXN0RGF0YU9iamVjdChvKTp7fTtyZXR1cm57YnJva2VyOnRoaXMuZ2V0QnJva2VyTWFwcGVkVmFsdWUodCxuKSxtYXBwaW5nOm1hLm1hcE1hcHBpbmdUb0Rvd25ncmFkZWRWZXJzaW9uKGEpLC4uLm1hLm1hcFJlcXVlc3RzVG9Eb3duZ3JhZGVkVmVyc2lvbihpKX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpBbyxkZXBzOm51bGwsdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpBbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1xdHQtbGVnYWN5LWJhc2ljLWNvbmZpZyIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+QW8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkFvKSksbXVsdGk6ITB9XSx1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdGFiLWdyb3VwIFtmb3JtR3JvdXBdPSJiYXNpY0Zvcm1Hcm91cCI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZ2VuZXJhbFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuYnJva2VyLmNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDx0Yi1icm9rZXItY29uZmlnLWNvbnRyb2wgZm9ybUNvbnRyb2xOYW1lPSJicm9rZXIiPjwvdGItYnJva2VyLWNvbmZpZy1jb250cm9sPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZGF0YS1tYXBwaW5nXCcgfCB0cmFuc2xhdGUgfX0qIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIHRiLWZsZXggZmlsbC1oZWlnaHQiPlxuICAgICAgPHRiLW1hcHBpbmctdGFibGUgZm9ybUNvbnRyb2xOYW1lPSJtYXBwaW5nIiBbcmVxdWlyZWRdPSJ0cnVlIiBbbWFwcGluZ1R5cGVdPSJNYXBwaW5nVHlwZS5EQVRBIj48L3RiLW1hcHBpbmctdGFibGU+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5yZXF1ZXN0cy1tYXBwaW5nXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AgdGItZmxleCBmaWxsLWhlaWdodCI+XG4gICAgICA8dGItbWFwcGluZy10YWJsZSBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RzTWFwcGluZyIgW21hcHBpbmdUeXBlXT0iTWFwcGluZ1R5cGUuUkVRVUVTVFMiPjwvdGItbWFwcGluZy10YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LndvcmtlcnMtc2V0dGluZ3NcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgICA8dGItd29ya2Vycy1jb25maWctY29udHJvbCBmb3JtQ29udHJvbE5hbWU9IndvcmtlcnMiPjwvdGItd29ya2Vycy1jb25maWctY29udHJvbD5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtdGFiPlxuPC9tYXQtdGFiLWdyb3VwPlxuXG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLXRhYi1ncm91cCw6aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWJvZHktd3JhcHBlcntoZWlnaHQ6MTAwJX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1RlbXBsYXRlT3V0bGV0LHNlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0iLGlucHV0czpbIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IiwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRJbmplY3RvciJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dW8sc2VsZWN0b3I6InRiLXdvcmtlcnMtY29uZmlnLWNvbnRyb2wifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOm1vLHNlbGVjdG9yOiJ0Yi1icm9rZXItY29uZmlnLWNvbnRyb2wifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnJvLHNlbGVjdG9yOiJ0Yi1tYXBwaW5nLXRhYmxlIixpbnB1dHM6WyJyZXF1aXJlZCIsIm1hcHBpbmdUeXBlIl19XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19dC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpBbyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItbXF0dC1sZWdhY3ktYmFzaWMtY29uZmlnIixjaGFuZ2VEZXRlY3Rpb246ZC5PblB1c2gscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+QW8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkFvKSksbXVsdGk6ITB9XSxzdGFuZGFsb25lOiEwLGltcG9ydHM6W0gsRCxsbyx1byxtbyxyb10sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0iYmFzaWNGb3JtR3JvdXAiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09ImdlbmVyYWxUYWJDb250ZW50Ij48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmJyb2tlci5jb25uZWN0aW9uXCcgfCB0cmFuc2xhdGUgfX0qIj5cbiAgICA8dGItYnJva2VyLWNvbmZpZy1jb250cm9sIGZvcm1Db250cm9sTmFtZT0iYnJva2VyIj48L3RiLWJyb2tlci1jb25maWctY29udHJvbD5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmRhdGEtbWFwcGluZ1wnIHwgdHJhbnNsYXRlIH19KiI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCB0Yi1mbGV4IGZpbGwtaGVpZ2h0Ij5cbiAgICAgIDx0Yi1tYXBwaW5nLXRhYmxlIGZvcm1Db250cm9sTmFtZT0ibWFwcGluZyIgW3JlcXVpcmVkXT0idHJ1ZSIgW21hcHBpbmdUeXBlXT0iTWFwcGluZ1R5cGUuREFUQSI+PC90Yi1tYXBwaW5nLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkucmVxdWVzdHMtbWFwcGluZ1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIHRiLWZsZXggZmlsbC1oZWlnaHQiPlxuICAgICAgPHRiLW1hcHBpbmctdGFibGUgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0c01hcHBpbmciIFttYXBwaW5nVHlwZV09Ik1hcHBpbmdUeXBlLlJFUVVFU1RTIj48L3RiLW1hcHBpbmctdGFibGU+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS53b3JrZXJzLXNldHRpbmdzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciPlxuICAgICAgPHRiLXdvcmtlcnMtY29uZmlnLWNvbnRyb2wgZm9ybUNvbnRyb2xOYW1lPSJ3b3JrZXJzIj48L3RiLXdvcmtlcnMtY29uZmlnLWNvbnRyb2w+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cblxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e2hlaWdodDoxMDAlfTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy10YWItZ3JvdXAsOmhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLXRhYi1ib2R5LXdyYXBwZXJ7aGVpZ2h0OjEwMCV9XG4nXX1dfV19KTtjbGFzcyBObyBleHRlbmRzIElve21hcENvbmZpZ1RvRm9ybVZhbHVlKGUpe2NvbnN0e2Jyb2tlcjp0LG1hcHBpbmc6bj1bXSxyZXF1ZXN0c01hcHBpbmc6YX09ZTtyZXR1cm57d29ya2Vyczp0JiYodC5tYXhOdW1iZXJPZldvcmtlcnN8fHQubWF4TWVzc2FnZU51bWJlclBlcldvcmtlcik/e21heE51bWJlck9mV29ya2Vyczp0Lm1heE51bWJlck9mV29ya2VycyxtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyOnQubWF4TWVzc2FnZU51bWJlclBlcldvcmtlcn06e30sbWFwcGluZzpuPz9bXSxicm9rZXI6dD8/e30scmVxdWVzdHNNYXBwaW5nOnRoaXMuZ2V0UmVxdWVzdERhdGFBcnJheShhKX19Z2V0TWFwcGVkVmFsdWUoZSl7Y29uc3R7YnJva2VyOnQsd29ya2VyczpuLG1hcHBpbmc6YSxyZXF1ZXN0c01hcHBpbmc6b309ZXx8e307cmV0dXJue2Jyb2tlcjp0aGlzLmdldEJyb2tlck1hcHBlZFZhbHVlKHQsbiksbWFwcGluZzphLHJlcXVlc3RzTWFwcGluZzpvPy5sZW5ndGg/dGhpcy5nZXRSZXF1ZXN0RGF0YU9iamVjdChvKTp7fX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpObyxkZXBzOm51bGwsdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpObyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1xdHQtYmFzaWMtY29uZmlnIixwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5ObykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+Tm8pKSxtdWx0aTohMH1dLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10YWItZ3JvdXAgW2Zvcm1Hcm91cF09ImJhc2ljRm9ybUdyb3VwIj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5nZW5lcmFsXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJnZW5lcmFsVGFiQ29udGVudCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5icm9rZXIuY29ubmVjdGlvblwnIHwgdHJhbnNsYXRlIH19KiI+XG4gICAgPHRiLWJyb2tlci1jb25maWctY29udHJvbCBmb3JtQ29udHJvbE5hbWU9ImJyb2tlciI+PC90Yi1icm9rZXItY29uZmlnLWNvbnRyb2w+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5kYXRhLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AgdGItZmxleCBmaWxsLWhlaWdodCI+XG4gICAgICA8dGItbWFwcGluZy10YWJsZSBmb3JtQ29udHJvbE5hbWU9Im1hcHBpbmciIFtyZXF1aXJlZF09InRydWUiIFttYXBwaW5nVHlwZV09Ik1hcHBpbmdUeXBlLkRBVEEiPjwvdGItbWFwcGluZy10YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnJlcXVlc3RzLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCB0Yi1mbGV4IGZpbGwtaGVpZ2h0Ij5cbiAgICAgIDx0Yi1tYXBwaW5nLXRhYmxlIGZvcm1Db250cm9sTmFtZT0icmVxdWVzdHNNYXBwaW5nIiBbbWFwcGluZ1R5cGVdPSJNYXBwaW5nVHlwZS5SRVFVRVNUUyI+PC90Yi1tYXBwaW5nLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkud29ya2Vycy1zZXR0aW5nc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgIDx0Yi13b3JrZXJzLWNvbmZpZy1jb250cm9sIGZvcm1Db250cm9sTmFtZT0id29ya2VycyI+PC90Yi13b3JrZXJzLWNvbmZpZy1jb250cm9sPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHtoZWlnaHQ6MTAwJX06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWdyb3VwLDpob3N0IDo6bmctZGVlcCAubWF0LW1kYy10YWItYm9keS13cmFwcGVye2hlaWdodDoxMDAlfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nVGVtcGxhdGVPdXRsZXQsc2VsZWN0b3I6IltuZ1RlbXBsYXRlT3V0bGV0XSIsaW5wdXRzOlsibmdUZW1wbGF0ZU91dGxldENvbnRleHQiLCJuZ1RlbXBsYXRlT3V0bGV0IiwibmdUZW1wbGF0ZU91dGxldEluamVjdG9yIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOlcuTWF0VGFiLHNlbGVjdG9yOiJtYXQtdGFiIixpbnB1dHM6WyJkaXNhYmxlZCIsImxhYmVsIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImxhYmVsQ2xhc3MiLCJib2R5Q2xhc3MiXSxleHBvcnRBczpbIm1hdFRhYiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOlcuTWF0VGFiR3JvdXAsc2VsZWN0b3I6Im1hdC10YWItZ3JvdXAiLGlucHV0czpbImNvbG9yIiwiZml0SW5rQmFyVG9Db250ZW50IiwibWF0LXN0cmV0Y2gtdGFicyIsImR5bmFtaWNIZWlnaHQiLCJzZWxlY3RlZEluZGV4IiwiaGVhZGVyUG9zaXRpb24iLCJhbmltYXRpb25EdXJhdGlvbiIsImNvbnRlbnRUYWJJbmRleCIsImRpc2FibGVQYWdpbmF0aW9uIiwiZGlzYWJsZVJpcHBsZSIsInByZXNlcnZlQ29udGVudCIsImJhY2tncm91bmRDb2xvciIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiXSxvdXRwdXRzOlsic2VsZWN0ZWRJbmRleENoYW5nZSIsImZvY3VzQ2hhbmdlIiwiYW5pbWF0aW9uRG9uZSIsInNlbGVjdGVkVGFiQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRUYWJHcm91cCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5SZXF1aXJlZFZhbGlkYXRvcixzZWxlY3RvcjoiOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbE5hbWVdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bbmdNb2RlbF0iLGlucHV0czpbInJlcXVpcmVkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1byxzZWxlY3RvcjoidGItd29ya2Vycy1jb25maWctY29udHJvbCJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6bW8sc2VsZWN0b3I6InRiLWJyb2tlci1jb25maWctY29udHJvbCJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6cm8sc2VsZWN0b3I6InRiLW1hcHBpbmctdGFibGUiLGlucHV0czpbInJlcXVpcmVkIiwibWFwcGluZ1R5cGUiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX10Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOk5vLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1tcXR0LWJhc2ljLWNvbmZpZyIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9Pk5vKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5ObykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsbG8sdW8sbW8scm9dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10YWItZ3JvdXAgW2Zvcm1Hcm91cF09ImJhc2ljRm9ybUdyb3VwIj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5nZW5lcmFsXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJnZW5lcmFsVGFiQ29udGVudCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5icm9rZXIuY29ubmVjdGlvblwnIHwgdHJhbnNsYXRlIH19KiI+XG4gICAgPHRiLWJyb2tlci1jb25maWctY29udHJvbCBmb3JtQ29udHJvbE5hbWU9ImJyb2tlciI+PC90Yi1icm9rZXItY29uZmlnLWNvbnRyb2w+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5kYXRhLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AgdGItZmxleCBmaWxsLWhlaWdodCI+XG4gICAgICA8dGItbWFwcGluZy10YWJsZSBmb3JtQ29udHJvbE5hbWU9Im1hcHBpbmciIFtyZXF1aXJlZF09InRydWUiIFttYXBwaW5nVHlwZV09Ik1hcHBpbmdUeXBlLkRBVEEiPjwvdGItbWFwcGluZy10YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnJlcXVlc3RzLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCB0Yi1mbGV4IGZpbGwtaGVpZ2h0Ij5cbiAgICAgIDx0Yi1tYXBwaW5nLXRhYmxlIGZvcm1Db250cm9sTmFtZT0icmVxdWVzdHNNYXBwaW5nIiBbbWFwcGluZ1R5cGVdPSJNYXBwaW5nVHlwZS5SRVFVRVNUUyI+PC90Yi1tYXBwaW5nLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkud29ya2Vycy1zZXR0aW5nc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgIDx0Yi13b3JrZXJzLWNvbmZpZy1jb250cm9sIGZvcm1Db250cm9sTmFtZT0id29ya2VycyI+PC90Yi13b3JrZXJzLWNvbmZpZy1jb250cm9sPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHtoZWlnaHQ6MTAwJX06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWdyb3VwLDpob3N0IDo6bmctZGVlcCAubWF0LW1kYy10YWItYm9keS13cmFwcGVye2hlaWdodDoxMDAlfVxuJ119XX1dfSk7Y2xhc3MgTW97aXNFcnJvclN0YXRlKGUpe3JldHVybiBlJiZlLmludmFsaWR9fWUoIkZvcmNlRXJyb3JTdGF0ZU1hdGNoZXIiLE1vKTtjbGFzcyBFbyBleHRlbmRzIE97Y29uc3RydWN0b3IoZSx0LG4sYSxvLGkscixzLGwsYyxwKXtzdXBlcihlKSx0aGlzLnN0b3JlPWUsdGhpcy5mYj10LHRoaXMudHJhbnNsYXRlPW4sdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlPWEsdGhpcy5kaWFsb2dTZXJ2aWNlPW8sdGhpcy5kaWFsb2c9aSx0aGlzLnRlbGVtZXRyeVdzU2VydmljZT1yLHRoaXMuem9uZT1zLHRoaXMudXRpbHM9bCx0aGlzLmlzTGF0ZXN0VmVyc2lvbkNvbmZpZz1jLHRoaXMuY2Q9cCx0aGlzLkNvbm5lY3RvclR5cGU9X3QsdGhpcy5hbGxvd0Jhc2ljQ29uZmlnPW5ldyBTZXQoW190Lk1RVFQsX3QuT1BDVUEsX3QuTU9EQlVTXSksdGhpcy5nYXRld2F5TG9nTGV2ZWw9T2JqZWN0LnZhbHVlcyhNdCksdGhpcy5kaXNwbGF5ZWRDb2x1bW5zPVsiZW5hYmxlZCIsImtleSIsInR5cGUiLCJzeW5jU3RhdHVzIiwiZXJyb3JzIiwiYWN0aW9ucyJdLHRoaXMuR2F0ZXdheUNvbm5lY3RvclR5cGVzVHJhbnNsYXRlc01hcD1IdCx0aGlzLkNvbm5lY3RvckNvbmZpZ3VyYXRpb25Nb2Rlcz1vbix0aGlzLlJlcG9ydFN0cmF0ZWd5RGVmYXVsdFZhbHVlPWxuLHRoaXMubW9kZT10aGlzLkNvbm5lY3RvckNvbmZpZ3VyYXRpb25Nb2Rlcy5CQVNJQyx0aGlzLmJhc2ljQ29uZmlnSW5pdFN1YmplY3Q9bmV3IFNlLHRoaXMuYWN0aXZlRGF0YT1bXSx0aGlzLmluYWN0aXZlRGF0YT1bXSx0aGlzLnNoYXJlZEF0dHJpYnV0ZURhdGE9W10sdGhpcy5zdWJzY3JpcHRpb25PcHRpb25zPXtjYWxsYmFja3M6e29uRGF0YVVwZGF0ZWQ6KCk9PnRoaXMuY3R4Lm5nWm9uZS5ydW4oKCgpPT57dGhpcy5vbkVycm9yc1VwZGF0ZWQoKX0pKSxvbkRhdGFVcGRhdGVFcnJvcjooZSx0KT0+dGhpcy5jdHgubmdab25lLnJ1bigoKCk9Pnt0aGlzLm9uRGF0YVVwZGF0ZUVycm9yKHQpfSkpfX0sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5hdHRyaWJ1dGVVcGRhdGVTdWJqZWN0PW5ldyBTZSx0aGlzLmluaXREYXRhU291cmNlcygpLHRoaXMuaW5pdENvbm5lY3RvckZvcm0oKSx0aGlzLm9ic2VydmVBdHRyaWJ1dGVDaGFuZ2UoKX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLmRhdGFTb3VyY2Uuc29ydD10aGlzLnNvcnQsdGhpcy5kYXRhU291cmNlLnNvcnRpbmdEYXRhQWNjZXNzb3I9dGhpcy5nZXRTb3J0aW5nRGF0YUFjY2Vzc29yKCksdGhpcy5jdHguJHNjb3BlLmdhdGV3YXlDb25uZWN0b3JzPXRoaXMsdGhpcy5sb2FkQ29ubmVjdG9ycygpLHRoaXMubG9hZEdhdGV3YXlTdGF0ZSgpLHRoaXMub2JzZXJ2ZU1vZGVDaGFuZ2UoKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKSxzdXBlci5uZ09uRGVzdHJveSgpfW9uU2F2ZUNvbm5lY3Rvcigpe3RoaXMuc2F2ZUNvbm5lY3Rvcih0aGlzLmdldFVwZGF0ZWRDb25uZWN0b3JEYXRhKHRoaXMuY29ubmVjdG9yRm9ybS52YWx1ZSksITEpfXNhdmVDb25uZWN0b3IoZSx0PSEwKXtjb25zdCBuPXR8fHRoaXMuYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyh0aGlzLmluaXRpYWxDb25uZWN0b3IubmFtZSk/TC5TSEFSRURfU0NPUEU6TC5TRVJWRVJfU0NPUEU7QWUodGhpcy5nZXRFbnRpdHlBdHRyaWJ1dGVUYXNrcyhlLG4pKS5waXBlKE9lKDEpKS5zdWJzY3JpYmUoKG49Pnt0aGlzLnNob3dUb2FzdCh0P3RoaXMudHJhbnNsYXRlLmluc3RhbnQoImdhdGV3YXkuY29ubmVjdG9yLWNyZWF0ZWQiKTp0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LmNvbm5lY3Rvci11cGRhdGVkIikpLHRoaXMuaW5pdGlhbENvbm5lY3Rvcj1lLHRoaXMudXBkYXRlRGF0YSghMCksdGhpcy5jb25uZWN0b3JGb3JtLm1hcmtBc1ByaXN0aW5lKCl9KSl9Z2V0RW50aXR5QXR0cmlidXRlVGFza3MoZSx0KXtjb25zdCBuPVtdLGE9W3trZXk6ZS5uYW1lLHZhbHVlOmV9XSxvPVtdLGk9IXRoaXMuYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyhlLm5hbWUpJiZ0PT09TC5TSEFSRURfU0NPUEV8fCF0aGlzLmluYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyhlLm5hbWUpJiZ0PT09TC5TRVJWRVJfU0NPUEUscj10aGlzLmluaXRpYWxDb25uZWN0b3ImJnRoaXMuaW5pdGlhbENvbm5lY3Rvci5uYW1lIT09ZS5uYW1lO3JldHVybiByJiYoby5wdXNoKHtrZXk6dGhpcy5pbml0aWFsQ29ubmVjdG9yLm5hbWV9KSx0aGlzLnJlbW92ZUNvbm5lY3RvckZyb21MaXN0KHRoaXMuaW5pdGlhbENvbm5lY3Rvci5uYW1lLCEwKSx0aGlzLnJlbW92ZUNvbm5lY3RvckZyb21MaXN0KHRoaXMuaW5pdGlhbENvbm5lY3Rvci5uYW1lLCExKSksaSYmKHQ9PT1MLlNIQVJFRF9TQ09QRT90aGlzLmFjdGl2ZUNvbm5lY3RvcnMucHVzaChlLm5hbWUpOnRoaXMuaW5hY3RpdmVDb25uZWN0b3JzLnB1c2goZS5uYW1lKSksKHJ8fGkpJiZuLnB1c2godGhpcy5nZXRTYXZlRW50aXR5QXR0cmlidXRlc1Rhc2sodCkpLG4ucHVzaCh0aGlzLmF0dHJpYnV0ZVNlcnZpY2Uuc2F2ZUVudGl0eUF0dHJpYnV0ZXModGhpcy5kZXZpY2UsdCxhKSksby5sZW5ndGgmJm4ucHVzaCh0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZGVsZXRlRW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSx0LG8pKSxufWdldFNhdmVFbnRpdHlBdHRyaWJ1dGVzVGFzayhlKXtjb25zdCB0PWU9PT1MLlNIQVJFRF9TQ09QRT8iYWN0aXZlX2Nvbm5lY3RvcnMiOiJpbmFjdGl2ZV9jb25uZWN0b3JzIixuPWU9PT1MLlNIQVJFRF9TQ09QRT90aGlzLmFjdGl2ZUNvbm5lY3RvcnM6dGhpcy5pbmFjdGl2ZUNvbm5lY3RvcnM7cmV0dXJuIHRoaXMuYXR0cmlidXRlU2VydmljZS5zYXZlRW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSxlLFt7a2V5OnQsdmFsdWU6bn1dKX1yZW1vdmVDb25uZWN0b3JGcm9tTGlzdChlLHQpe2NvbnN0IG49dD90aGlzLmFjdGl2ZUNvbm5lY3RvcnM6dGhpcy5pbmFjdGl2ZUNvbm5lY3RvcnMsYT1uLmluZGV4T2YoZSk7LTEhPT1hJiZuLnNwbGljZShhLDEpfWdldFVwZGF0ZWRDb25uZWN0b3JEYXRhKGUpe2NvbnN0IHQ9ey4uLmV9O3JldHVybiB0LmNvbmZpZ3VyYXRpb249YCR7Y2UodC5uYW1lKX0uanNvbmAsZGVsZXRlIHQuYmFzaWNDb25maWcsdC50eXBlIT09X3QuR1JQQyYmZGVsZXRlIHQua2V5LHQudHlwZSE9PV90LkNVU1RPTSYmZGVsZXRlIHQuY2xhc3MsdC50eXBlPT09X3QuTU9EQlVTJiZ0aGlzLmlzTGF0ZXN0VmVyc2lvbkNvbmZpZy50cmFuc2Zvcm0odC5jb25maWdWZXJzaW9uKSYmKHQucmVwb3J0U3RyYXRlZ3l8fCh0LnJlcG9ydFN0cmF0ZWd5PXt0eXBlOnNuLk9uUmVwb3J0UGVyaW9kLHJlcG9ydFBlcmlvZDpsbi5Db25uZWN0b3J9LGRlbGV0ZSB0LnNlbmREYXRhT25seU9uQ2hhbmdlKSksdGhpcy5nYXRld2F5VmVyc2lvbiYmIXQuY29uZmlnVmVyc2lvbiYmKHQuY29uZmlnVmVyc2lvbj10aGlzLmdhdGV3YXlWZXJzaW9uKSx0LnRzPURhdGUubm93KCksdH11cGRhdGVEYXRhKGU9ITEpe3RoaXMucGFnZUxpbmsuc29ydE9yZGVyLnByb3BlcnR5PXRoaXMuc29ydC5hY3RpdmUsdGhpcy5wYWdlTGluay5zb3J0T3JkZXIuZGlyZWN0aW9uPXdbdGhpcy5zb3J0LmRpcmVjdGlvbi50b1VwcGVyQ2FzZSgpXSx0aGlzLmF0dHJpYnV0ZURhdGFTb3VyY2UubG9hZEF0dHJpYnV0ZXModGhpcy5kZXZpY2UsTC5DTElFTlRfU0NPUEUsdGhpcy5wYWdlTGluayxlKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLmFjdGl2ZURhdGE9ZS5kYXRhLmZpbHRlcigoZT0+dGhpcy5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKGUua2V5KSkpLHRoaXMuY29tYmluZURhdGEoKSx0aGlzLmdlbmVyYXRlU3Vic2NyaXB0aW9uKCksdGhpcy5zZXRDbGllbnREYXRhKGUpfSkpLHRoaXMuaW5hY3RpdmVDb25uZWN0b3JzRGF0YVNvdXJjZS5sb2FkQXR0cmlidXRlcyh0aGlzLmRldmljZSxMLlNIQVJFRF9TQ09QRSx0aGlzLnBhZ2VMaW5rLGUpLnN1YnNjcmliZSgoZT0+e3RoaXMuc2hhcmVkQXR0cmlidXRlRGF0YT1lLmRhdGEuZmlsdGVyKChlPT50aGlzLmFjdGl2ZUNvbm5lY3RvcnMuaW5jbHVkZXMoZS5rZXkpKSksdGhpcy5jb21iaW5lRGF0YSgpfSkpLHRoaXMuc2VydmVyRGF0YVNvdXJjZS5sb2FkQXR0cmlidXRlcyh0aGlzLmRldmljZSxMLlNFUlZFUl9TQ09QRSx0aGlzLnBhZ2VMaW5rLGUpLnN1YnNjcmliZSgoZT0+e3RoaXMuaW5hY3RpdmVEYXRhPWUuZGF0YS5maWx0ZXIoKGU9PnRoaXMuaW5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKGUua2V5KSkpLHRoaXMuY29tYmluZURhdGEoKX0pKX1pc0Nvbm5lY3RvclN5bmNlZChlKXtjb25zdCB0PWUudmFsdWU7aWYoIXQudHN8fGUuc2tpcFN5bmN8fCF0aGlzLmlzR2F0ZXdheUFjdGl2ZSlyZXR1cm4hMTtpZigtMT09PXRoaXMuYWN0aXZlRGF0YS5maW5kSW5kZXgoKGU9Pigic3RyaW5nIj09dHlwZW9mIGUudmFsdWU/SlNPTi5wYXJzZShlLnZhbHVlKTplLnZhbHVlKS5uYW1lPT09dC5uYW1lKSkpcmV0dXJuITE7cmV0dXJuLTEhPT10aGlzLnNoYXJlZEF0dHJpYnV0ZURhdGEuZmluZEluZGV4KChlPT57Y29uc3Qgbj1lLnZhbHVlLGE9bi5uYW1lPT09dC5uYW1lLG89ZWUobi5jb25maWd1cmF0aW9uSnNvbix7fSkmJmEsaT10aGlzLmhhc1NhbWVDb25maWcobi5jb25maWd1cmF0aW9uSnNvbix0LmNvbmZpZ3VyYXRpb25Kc29uKSxyPW4udHMmJm4udHM8PXQudHM7cmV0dXJuIGEmJnImJihpfHxvKX0pKX1oYXNTYW1lQ29uZmlnKGUsdCl7Y29uc3R7bmFtZTpuLGlkOmEsZW5hYmxlUmVtb3RlTG9nZ2luZzpvLGxvZ0xldmVsOmkscmVwb3J0U3RyYXRlZ3k6cixjb25maWdWZXJzaW9uOnMsLi4ubH09ZSx7bmFtZTpjLGlkOnAsZW5hYmxlUmVtb3RlTG9nZ2luZzptLGxvZ0xldmVsOmQscmVwb3J0U3RyYXRlZ3k6dSxjb25maWdWZXJzaW9uOmcsLi4uZn09dDtyZXR1cm4gZWUobCxmKX1jb21iaW5lRGF0YSgpe2NvbnN0IGU9Wy4uLnRoaXMuYWN0aXZlRGF0YSwuLi50aGlzLmluYWN0aXZlRGF0YSwuLi50aGlzLnNoYXJlZEF0dHJpYnV0ZURhdGFdLnJlZHVjZSgoKGUsdCk9Pntjb25zdCBuPWUuZmluZEluZGV4KChlPT5lLmtleT09PXQua2V5KSk7cmV0dXJuLTE9PT1uP2UucHVzaCh0KTp0Lmxhc3RVcGRhdGVUcz5lW25dLmxhc3RVcGRhdGVUcyYmIXRoaXMuaXNDb25uZWN0b3JTeW5jZWQoZVtuXSkmJihlW25dPXsuLi50LHNraXBTeW5jOiEwfSksZX0pLFtdKTt0aGlzLmRhdGFTb3VyY2UuZGF0YT1lLm1hcCgoZT0+KHsuLi5lLHZhbHVlOiJzdHJpbmciPT10eXBlb2YgZS52YWx1ZT9KU09OLnBhcnNlKGUudmFsdWUpOmUudmFsdWV9KSkpfWNsZWFyT3V0Q29ubmVjdG9yRm9ybSgpe3RoaXMuaW5pdGlhbENvbm5lY3Rvcj1udWxsLHRoaXMuY29ubmVjdG9yRm9ybS5zZXRWYWx1ZSh7bW9kZTpvbi5CQVNJQyxuYW1lOiIiLHR5cGU6X3QuTVFUVCxzZW5kRGF0YU9ubHlPbkNoYW5nZTohMSxlbmFibGVSZW1vdGVMb2dnaW5nOiExLGxvZ0xldmVsOk10LklORk8sa2V5OiJhdXRvIixjbGFzczoiIixjb25maWd1cmF0aW9uOiIiLGNvbmZpZ3VyYXRpb25Kc29uOnt9LGJhc2ljQ29uZmlnOnt9LGNvbmZpZ1ZlcnNpb246IiIscmVwb3J0U3RyYXRlZ3k6W3t2YWx1ZTp7fSxkaXNhYmxlZDohMH1dfSx7ZW1pdEV2ZW50OiExfSksdGhpcy5jb25uZWN0b3JGb3JtLm1hcmtBc1ByaXN0aW5lKCl9c2VsZWN0Q29ubmVjdG9yKGUsdCl7ZSYmZS5zdG9wUHJvcGFnYXRpb24oKTtjb25zdCBuPXQudmFsdWU7bj8ubmFtZSE9PXRoaXMuaW5pdGlhbENvbm5lY3Rvcj8ubmFtZSYmdGhpcy5jb25maXJtQ29ubmVjdG9yQ2hhbmdlKCkuc3Vic2NyaWJlKChlPT57ZSYmdGhpcy5zZXRGb3JtVmFsdWUobil9KSl9aXNTYW1lQ29ubmVjdG9yKGUpe2lmKCF0aGlzLmluaXRpYWxDb25uZWN0b3IpcmV0dXJuITE7Y29uc3QgdD1lLnZhbHVlO3JldHVybiB0aGlzLmluaXRpYWxDb25uZWN0b3IubmFtZT09PXQubmFtZX1zaG93VG9hc3QoZSl7dGhpcy5zdG9yZS5kaXNwYXRjaCh7dHlwZToiW05vdGlmaWNhdGlvbl0gU2hvdyIsbm90aWZpY2F0aW9uOnttZXNzYWdlOmUsdHlwZToic3VjY2VzcyIsZHVyYXRpb246MWUzLHZlcnRpY2FsUG9zaXRpb246InRvcCIsaG9yaXpvbnRhbFBvc2l0aW9uOiJsZWZ0Iix0YXJnZXQ6ImRhc2hib2FyZFJvb3QiLGZvcmNlRGlzbWlzczohMH19KX1yZXR1cm5UeXBlKGUpe2NvbnN0IHQ9ZS52YWx1ZTtyZXR1cm4gdGhpcy5HYXRld2F5Q29ubmVjdG9yVHlwZXNUcmFuc2xhdGVzTWFwLmdldCh0LnR5cGUpfWRlbGV0ZUNvbm5lY3RvcihlLHQpe3Q/LnN0b3BQcm9wYWdhdGlvbigpO2NvbnN0IG49YERlbGV0ZSBjb25uZWN0b3IgIiR7ZS5rZXl9Ij9gO3RoaXMuZGlhbG9nU2VydmljZS5jb25maXJtKG4sIkFsbCBjb25uZWN0b3IgZGF0YSB3aWxsIGJlIGRlbGV0ZWQuIiwiQ2FuY2VsIiwiRGVsZXRlIikucGlwZShPZSgxKSxVZSgodD0+e2lmKCF0KXJldHVybjtjb25zdCBuPVtdLGE9dGhpcy5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKGUudmFsdWU/Lm5hbWUpP0wuU0hBUkVEX1NDT1BFOkwuU0VSVkVSX1NDT1BFO3JldHVybiBuLnB1c2godGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLmRlbGV0ZUVudGl0eUF0dHJpYnV0ZXModGhpcy5kZXZpY2UsYSxbZV0pKSx0aGlzLnJlbW92ZUNvbm5lY3RvckZyb21MaXN0KGUua2V5LCEwKSx0aGlzLnJlbW92ZUNvbm5lY3RvckZyb21MaXN0KGUua2V5LCExKSxuLnB1c2godGhpcy5nZXRTYXZlRW50aXR5QXR0cmlidXRlc1Rhc2soYSkpLEFlKG4pfSkpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5pbml0aWFsQ29ubmVjdG9yJiZ0aGlzLmluaXRpYWxDb25uZWN0b3IubmFtZSE9PWUua2V5fHwodGhpcy5jbGVhck91dENvbm5lY3RvckZvcm0oKSx0aGlzLmNkLmRldGVjdENoYW5nZXMoKSx0aGlzLmNvbm5lY3RvckZvcm0uZGlzYWJsZSgpKSx0aGlzLnVwZGF0ZURhdGEoITApfSkpfWNvbm5lY3RvckxvZ3MoZSx0KXt0JiZ0LnN0b3BQcm9wYWdhdGlvbigpO2NvbnN0IG49Sih0aGlzLmN0eC5zdGF0ZUNvbnRyb2xsZXIuZ2V0U3RhdGVQYXJhbXMoKSk7bi5jb25uZWN0b3JfbG9ncz1lLG4udGFyZ2V0RW50aXR5UGFyYW1OYW1lPSJjb25uZWN0b3JfbG9ncyIsdGhpcy5jdHguc3RhdGVDb250cm9sbGVyLm9wZW5TdGF0ZSgiY29ubmVjdG9yX2xvZ3MiLG4pfWNvbm5lY3RvclJwYyhlLHQpe3QmJnQuc3RvcFByb3BhZ2F0aW9uKCk7Y29uc3Qgbj1KKHRoaXMuY3R4LnN0YXRlQ29udHJvbGxlci5nZXRTdGF0ZVBhcmFtcygpKTtuLmNvbm5lY3Rvcl9ycGM9ZSxuLnRhcmdldEVudGl0eVBhcmFtTmFtZT0iY29ubmVjdG9yX3JwYyIsdGhpcy5jdHguc3RhdGVDb250cm9sbGVyLm9wZW5TdGF0ZSgiY29ubmVjdG9yX3JwYyIsbil9b25FbmFibGVDb25uZWN0b3IoZSl7ZS52YWx1ZS50cz0obmV3IERhdGUpLmdldFRpbWUoKSx0aGlzLnVwZGF0ZUFjdGl2ZUNvbm5lY3RvcktleXMoZS5rZXkpLHRoaXMuYXR0cmlidXRlVXBkYXRlU3ViamVjdC5uZXh0KGUpfWdldEVycm9yc0NvdW50KGUpe2NvbnN0IHQ9ZS5rZXksbj10aGlzLnN1YnNjcmlwdGlvbiYmdGhpcy5zdWJzY3JpcHRpb24uZGF0YS5maW5kKChlPT5lJiZlLmRhdGFLZXkubmFtZT09PWAke3R9X0VSUk9SU19DT1VOVGApKTtyZXR1cm4gbiYmdGhpcy5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKHQpP24uZGF0YVswXVsxXXx8MDoiSW5hY3RpdmUifW9uQWRkQ29ubmVjdG9yKGUpe2U/LnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuY29uZmlybUNvbm5lY3RvckNoYW5nZSgpLnBpcGUoT2UoMSksTWUoQm9vbGVhbiksVWUoKCgpPT50aGlzLm9wZW5BZGRDb25uZWN0b3JEaWFsb2coKSkpLE1lKEJvb2xlYW4pKS5zdWJzY3JpYmUoKGU9PnRoaXMuYWRkQ29ubmVjdG9yKGUpKSl9YWRkQ29ubmVjdG9yKGUpe3RoaXMuY29ubmVjdG9yRm9ybS5kaXNhYmxlZCYmdGhpcy5jb25uZWN0b3JGb3JtLmVuYWJsZSgpLGUuY29uZmlndXJhdGlvbkpzb258fChlLmNvbmZpZ3VyYXRpb25Kc29uPXt9KSx0aGlzLmdhdGV3YXlWZXJzaW9uJiYhZS5jb25maWdWZXJzaW9uJiYoZS5jb25maWdWZXJzaW9uPXRoaXMuZ2F0ZXdheVZlcnNpb24pLGUuYmFzaWNDb25maWc9ZS5jb25maWd1cmF0aW9uSnNvbix0aGlzLmluaXRpYWxDb25uZWN0b3I9ZTtjb25zdCB0PXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoInR5cGUiKS52YWx1ZTt0aGlzLnNldEluaXRpYWxDb25uZWN0b3JWYWx1ZXMoZSksdGhpcy5zYXZlQ29ubmVjdG9yKHRoaXMuZ2V0VXBkYXRlZENvbm5lY3RvckRhdGEoZSkpLHQhPT1lLnR5cGUmJnRoaXMuYWxsb3dCYXNpY0NvbmZpZy5oYXMoZS50eXBlKT90aGlzLmJhc2ljQ29uZmlnSW5pdFN1YmplY3QucGlwZShPZSgxKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMucGF0Y2hCYXNpY0NvbmZpZ0Nvbm5lY3RvcihlKX0pKTp0aGlzLnBhdGNoQmFzaWNDb25maWdDb25uZWN0b3IoZSl9c2V0SW5pdGlhbENvbm5lY3RvclZhbHVlcyhlKXtjb25zdHtiYXNpY0NvbmZpZzp0LG1vZGU6biwuLi5hfT1lO3RoaXMudG9nZ2xlUmVwb3J0U3RyYXRlZ3koZS50eXBlKSx0aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJtb2RlIikuc2V0VmFsdWUodGhpcy5hbGxvd0Jhc2ljQ29uZmlnLmhhcyhlLnR5cGUpP2UubW9kZT8/b24uQkFTSUM6bnVsbCx7ZW1pdEV2ZW50OiExfSksdGhpcy5jb25uZWN0b3JGb3JtLnBhdGNoVmFsdWUoYSx7ZW1pdEV2ZW50OiExfSl9b3BlbkFkZENvbm5lY3RvckRpYWxvZygpe3JldHVybiB0aGlzLmN0eC5uZ1pvbmUucnVuKCgoKT0+dGhpcy5kaWFsb2cub3Blbih0byx7ZGlzYWJsZUNsb3NlOiEwLHBhbmVsQ2xhc3M6WyJ0Yi1kaWFsb2ciLCJ0Yi1mdWxsc2NyZWVuLWRpYWxvZyJdLGRhdGE6e2RhdGFTb3VyY2VEYXRhOnRoaXMuZGF0YVNvdXJjZS5kYXRhLGdhdGV3YXlWZXJzaW9uOnRoaXMuZ2F0ZXdheVZlcnNpb259fSkuYWZ0ZXJDbG9zZWQoKSkpfXVuaXFOYW1lUmVxdWlyZWQoKXtyZXR1cm4gZT0+e2NvbnN0IHQ9ZS52YWx1ZT8udHJpbSgpLnRvTG93ZXJDYXNlKCksbj10aGlzLmRhdGFTb3VyY2UuZGF0YS5zb21lKChlPT5lLnZhbHVlLm5hbWUudG9Mb3dlckNhc2UoKT09PXQpKSxhPXRoaXMuaW5pdGlhbENvbm5lY3Rvcj8ubmFtZS50b0xvd2VyQ2FzZSgpPT09dDtyZXR1cm4gbiYmIWE/e2R1cGxpY2F0ZU5hbWU6e3ZhbGlkOiExfX06bnVsbH19aW5pdERhdGFTb3VyY2VzKCl7Y29uc3QgZT17cHJvcGVydHk6ImtleSIsZGlyZWN0aW9uOncuQVNDfTt0aGlzLnBhZ2VMaW5rPW5ldyBDKDFlMywwLG51bGwsZSksdGhpcy5hdHRyaWJ1dGVEYXRhU291cmNlPW5ldyBMYSh0aGlzLmF0dHJpYnV0ZVNlcnZpY2UsdGhpcy50ZWxlbWV0cnlXc1NlcnZpY2UsdGhpcy56b25lLHRoaXMudHJhbnNsYXRlKSx0aGlzLmluYWN0aXZlQ29ubmVjdG9yc0RhdGFTb3VyY2U9bmV3IExhKHRoaXMuYXR0cmlidXRlU2VydmljZSx0aGlzLnRlbGVtZXRyeVdzU2VydmljZSx0aGlzLnpvbmUsdGhpcy50cmFuc2xhdGUpLHRoaXMuc2VydmVyRGF0YVNvdXJjZT1uZXcgTGEodGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLHRoaXMudGVsZW1ldHJ5V3NTZXJ2aWNlLHRoaXMuem9uZSx0aGlzLnRyYW5zbGF0ZSksdGhpcy5kYXRhU291cmNlPW5ldyB5KFtdKX1pbml0Q29ubmVjdG9yRm9ybSgpe3RoaXMuY29ubmVjdG9yRm9ybT10aGlzLmZiLmdyb3VwKHttb2RlOltvbi5CQVNJQ10sbmFtZTpbIiIsW3VlLnJlcXVpcmVkLHRoaXMudW5pcU5hbWVSZXF1aXJlZCgpLHVlLnBhdHRlcm4oa3QpXV0sdHlwZTpbIiIsW3VlLnJlcXVpcmVkXV0sZW5hYmxlUmVtb3RlTG9nZ2luZzpbITFdLGxvZ0xldmVsOlsiIixbdWUucmVxdWlyZWRdXSxzZW5kRGF0YU9ubHlPbkNoYW5nZTpbITFdLGtleTpbImF1dG8iXSxjbGFzczpbIiJdLGNvbmZpZ3VyYXRpb246WyIiXSxjb25maWd1cmF0aW9uSnNvbjpbe30sW3VlLnJlcXVpcmVkXV0sYmFzaWNDb25maWc6W3t9XSxjb25maWdWZXJzaW9uOlsiIl0scmVwb3J0U3RyYXRlZ3k6W3t2YWx1ZTp7fSxkaXNhYmxlZDohMH1dfSksdGhpcy5jb25uZWN0b3JGb3JtLmRpc2FibGUoKX1nZXRTb3J0aW5nRGF0YUFjY2Vzc29yKCl7cmV0dXJuKGUsdCk9Pntzd2l0Y2godCl7Y2FzZSJzeW5jU3RhdHVzIjpyZXR1cm4gdGhpcy5pc0Nvbm5lY3RvclN5bmNlZChlKT8xOjA7Y2FzZSJlbmFibGVkIjpyZXR1cm4gdGhpcy5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKGUua2V5KT8xOjA7Y2FzZSJlcnJvcnMiOmNvbnN0IG49dGhpcy5nZXRFcnJvcnNDb3VudChlKTtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIG4/dGhpcy5zb3J0LmRpcmVjdGlvbi50b1VwcGVyQ2FzZSgpPT09dy5ERVNDPy0xOjEvMDpuO2RlZmF1bHQ6cmV0dXJuIGVbdF18fGUudmFsdWVbdF19fX1sb2FkQ29ubmVjdG9ycygpe3RoaXMuZGV2aWNlJiZ0aGlzLmRldmljZS5pZCE9PWsmJkFlKFt0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0RW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSxMLlNIQVJFRF9TQ09QRSxbImFjdGl2ZV9jb25uZWN0b3JzIl0pLHRoaXMuYXR0cmlidXRlU2VydmljZS5nZXRFbnRpdHlBdHRyaWJ1dGVzKHRoaXMuZGV2aWNlLEwuU0VSVkVSX1NDT1BFLFsiaW5hY3RpdmVfY29ubmVjdG9ycyJdKSx0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0RW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSxMLkNMSUVOVF9TQ09QRSxbIlZlcnNpb24iXSldKS5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLmFjdGl2ZUNvbm5lY3RvcnM9dGhpcy5wYXJzZUNvbm5lY3RvcnMoZVswXSksdGhpcy5pbmFjdGl2ZUNvbm5lY3RvcnM9dGhpcy5wYXJzZUNvbm5lY3RvcnMoZVsxXSksdGhpcy5nYXRld2F5VmVyc2lvbj1lWzJdWzBdPy52YWx1ZSx0aGlzLnVwZGF0ZURhdGEoITApfSkpfWxvYWRHYXRld2F5U3RhdGUoKXt0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0RW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSxMLlNFUlZFUl9TQ09QRSkucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57Y29uc3QgdD1lLmZpbmQoKGU9PiJhY3RpdmUiPT09ZS5rZXkpKS52YWx1ZSxuPWUuZmluZCgoZT0+Imxhc3REaXNjb25uZWN0VGltZSI9PT1lLmtleSkpPy52YWx1ZSxhPWUuZmluZCgoZT0+Imxhc3RDb25uZWN0VGltZSI9PT1lLmtleSkpPy52YWx1ZTt0aGlzLmlzR2F0ZXdheUFjdGl2ZT10aGlzLmdldEdhdGV3YXlTdGF0dXModCxhLG4pfSkpfXBhcnNlQ29ubmVjdG9ycyhlKXtjb25zdCB0PWU/LlswXT8udmFsdWV8fFtdO3JldHVybiBuZSh0KT9KU09OLnBhcnNlKHQpOnR9b2JzZXJ2ZU1vZGVDaGFuZ2UoKXt0aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJtb2RlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJtb2RlIikubWFya0FzUHJpc3RpbmUoKX0pKX1vYnNlcnZlQXR0cmlidXRlQ2hhbmdlKCl7dGhpcy5hdHRyaWJ1dGVVcGRhdGVTdWJqZWN0LnBpcGUoVmUoMzAwKSxFZSgoZT0+dGhpcy5leGVjdXRlQXR0cmlidXRlVXBkYXRlcyhlKSkpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKX11cGRhdGVBY3RpdmVDb25uZWN0b3JLZXlzKGUpe2lmKHRoaXMuYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyhlKSl7Y29uc3QgdD10aGlzLmFjdGl2ZUNvbm5lY3RvcnMuaW5kZXhPZihlKTstMSE9PXQmJnRoaXMuYWN0aXZlQ29ubmVjdG9ycy5zcGxpY2UodCwxKSx0aGlzLmluYWN0aXZlQ29ubmVjdG9ycy5wdXNoKGUpfWVsc2V7Y29uc3QgdD10aGlzLmluYWN0aXZlQ29ubmVjdG9ycy5pbmRleE9mKGUpOy0xIT09dCYmdGhpcy5pbmFjdGl2ZUNvbm5lY3RvcnMuc3BsaWNlKHQsMSksdGhpcy5hY3RpdmVDb25uZWN0b3JzLnB1c2goZSl9fWV4ZWN1dGVBdHRyaWJ1dGVVcGRhdGVzKGUpe0FlKHRoaXMuZ2V0QXR0cmlidXRlRXhlY3V0aW9uVGFza3MoZSkpLnBpcGUoT2UoMSksRWUoKCgpPT50aGlzLnVwZGF0ZURhdGEoITApKSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgpfWdldEF0dHJpYnV0ZUV4ZWN1dGlvblRhc2tzKGUpe2NvbnN0IHQ9dGhpcy5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKGUua2V5KSxuPXQ/TC5TRVJWRVJfU0NPUEU6TC5TSEFSRURfU0NPUEUsYT10P0wuU0hBUkVEX1NDT1BFOkwuU0VSVkVSX1NDT1BFO3JldHVyblt0aGlzLmF0dHJpYnV0ZVNlcnZpY2Uuc2F2ZUVudGl0eUF0dHJpYnV0ZXModGhpcy5kZXZpY2UsTC5TSEFSRURfU0NPUEUsW3trZXk6ImFjdGl2ZV9jb25uZWN0b3JzIix2YWx1ZTp0aGlzLmFjdGl2ZUNvbm5lY3RvcnN9XSksdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNhdmVFbnRpdHlBdHRyaWJ1dGVzKHRoaXMuZGV2aWNlLEwuU0VSVkVSX1NDT1BFLFt7a2V5OiJpbmFjdGl2ZV9jb25uZWN0b3JzIix2YWx1ZTp0aGlzLmluYWN0aXZlQ29ubmVjdG9yc31dKSx0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZGVsZXRlRW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSxuLFtlXSksdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNhdmVFbnRpdHlBdHRyaWJ1dGVzKHRoaXMuZGV2aWNlLGEsW2VdKV19b25EYXRhVXBkYXRlRXJyb3IoZSl7Y29uc3QgdD10aGlzLnV0aWxzLnBhcnNlRXhjZXB0aW9uKGUpO2xldCBuPXQubmFtZTt0Lm1lc3NhZ2UmJihuKz0iOiAiK3QubWVzc2FnZSksY29uc29sZS5lcnJvcihuKX1vbkVycm9yc1VwZGF0ZWQoKXt0aGlzLmNkLmRldGVjdENoYW5nZXMoKX1vbkRhdGFVcGRhdGVkKCl7Y29uc3QgZT10aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLmRhdGEsdD1lLmZpbmQoKGU9PiJhY3RpdmUiPT09ZS5kYXRhS2V5Lm5hbWUpKS5kYXRhWzBdWzFdLG49ZS5maW5kKChlPT4ibGFzdERpc2Nvbm5lY3RUaW1lIj09PWUuZGF0YUtleS5uYW1lKSkuZGF0YVswXVsxXSxhPWUuZmluZCgoZT0+Imxhc3RDb25uZWN0VGltZSI9PT1lLmRhdGFLZXkubmFtZSkpLmRhdGFbMF1bMV07dGhpcy5pc0dhdGV3YXlBY3RpdmU9dGhpcy5nZXRHYXRld2F5U3RhdHVzKHQsYSxuKSx0aGlzLmNkLmRldGVjdENoYW5nZXMoKX1nZXRHYXRld2F5U3RhdHVzKGUsdCxuKXtyZXR1cm4hIWUmJighbnx8dD5uKX1nZW5lcmF0ZVN1YnNjcmlwdGlvbigpe2lmKHRoaXMuc3Vic2NyaXB0aW9uJiZ0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMuZGV2aWNlKXtjb25zdCBlPVt7dHlwZTpGLmVudGl0eSxlbnRpdHlUeXBlOkkuREVWSUNFLGVudGl0eUlkOnRoaXMuZGV2aWNlLmlkLGVudGl0eU5hbWU6IkdhdGV3YXkiLHRpbWVzZXJpZXM6W119XTt0aGlzLmRhdGFTb3VyY2UuZGF0YS5mb3JFYWNoKCh0PT57ZVswXS50aW1lc2VyaWVzLnB1c2goe25hbWU6YCR7dC5rZXl9X0VSUk9SU19DT1VOVGAsbGFiZWw6YCR7dC5rZXl9X0VSUk9SU19DT1VOVGB9KX0pKSx0aGlzLmN0eC5zdWJzY3JpcHRpb25BcGkuY3JlYXRlU3Vic2NyaXB0aW9uRnJvbUluZm8oQS5sYXRlc3QsZSx0aGlzLnN1YnNjcmlwdGlvbk9wdGlvbnMsITEsITApLnN1YnNjcmliZSgoZT0+e3RoaXMuc3Vic2NyaXB0aW9uPWV9KSl9fWNyZWF0ZUJhc2ljQ29uZmlnV2F0Y2hlcigpe3RoaXMuYmFzaWNDb25maWdTdWImJnRoaXMuYmFzaWNDb25maWdTdWIudW5zdWJzY3JpYmUoKSx0aGlzLmJhc2ljQ29uZmlnU3ViPXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoImJhc2ljQ29uZmlnIikudmFsdWVDaGFuZ2VzLnBpcGUoTWUoKCgpPT4hIXRoaXMuaW5pdGlhbENvbm5lY3RvcikpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pntjb25zdCB0PXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoImNvbmZpZ3VyYXRpb25Kc29uIiksbj10aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJ0eXBlIikudmFsdWUsYT10aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJtb2RlIikudmFsdWU7aWYoIWVlKGUsdD8udmFsdWUpJiZ0aGlzLmFsbG93QmFzaWNDb25maWcuaGFzKG4pJiZhPT09b24uQkFTSUMpe2NvbnN0IG49ey4uLnQudmFsdWUsLi4uZX07dGhpcy5jb25uZWN0b3JGb3JtLmdldCgiY29uZmlndXJhdGlvbkpzb24iKS5wYXRjaFZhbHVlKG4se2VtaXRFdmVudDohMX0pfX0pKX1jcmVhdGVKc29uQ29uZmlnV2F0Y2hlcigpe3RoaXMuanNvbkNvbmZpZ1N1YiYmdGhpcy5qc29uQ29uZmlnU3ViLnVuc3Vic2NyaWJlKCksdGhpcy5qc29uQ29uZmlnU3ViPXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoImNvbmZpZ3VyYXRpb25Kc29uIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2NvbnN0IHQ9dGhpcy5jb25uZWN0b3JGb3JtLmdldCgiYmFzaWNDb25maWciKSxuPXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoInR5cGUiKS52YWx1ZSxhPXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoIm1vZGUiKS52YWx1ZTshZWUoZSx0Py52YWx1ZSkmJnRoaXMuYWxsb3dCYXNpY0NvbmZpZy5oYXMobikmJmE9PT1vbi5BRFZBTkNFRCYmdGhpcy5jb25uZWN0b3JGb3JtLmdldCgiYmFzaWNDb25maWciKS5wYXRjaFZhbHVlKGUse2VtaXRFdmVudDohMX0pfSkpfWNvbmZpcm1Db25uZWN0b3JDaGFuZ2UoKXtyZXR1cm4gdGhpcy5pbml0aWFsQ29ubmVjdG9yJiZ0aGlzLmNvbm5lY3RvckZvcm0uZGlydHk/dGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0odGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5jaGFuZ2UtY29ubmVjdG9yLXRpdGxlIiksdGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5jaGFuZ2UtY29ubmVjdG9yLXRleHQiKSx0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJhY3Rpb24ubm8iKSx0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJhY3Rpb24ueWVzIiksITApOkllKCEwKX1zZXRGb3JtVmFsdWUoZSl7dGhpcy5jb25uZWN0b3JGb3JtLmRpc2FibGVkJiZ0aGlzLmNvbm5lY3RvckZvcm0uZW5hYmxlKCk7Y29uc3QgdD1iYS5nZXRDb25maWcoe2NvbmZpZ3VyYXRpb246IiIsa2V5OiJhdXRvIixjb25maWd1cmF0aW9uSnNvbjp7fSwuLi5lfSx0aGlzLmdhdGV3YXlWZXJzaW9uKTt0aGlzLmdhdGV3YXlWZXJzaW9uJiYhdC5jb25maWdWZXJzaW9uJiYodC5jb25maWdWZXJzaW9uPXRoaXMuZ2F0ZXdheVZlcnNpb24pLHQuYmFzaWNDb25maWc9dC5jb25maWd1cmF0aW9uSnNvbix0aGlzLmluaXRpYWxDb25uZWN0b3I9dCx0aGlzLnVwZGF0ZUNvbm5lY3Rvcih0KX11cGRhdGVDb25uZWN0b3IoZSl7c3dpdGNoKHRoaXMuanNvbkNvbmZpZ1N1Yj8udW5zdWJzY3JpYmUoKSxlLnR5cGUpe2Nhc2UgX3QuTVFUVDpjYXNlIF90Lk9QQ1VBOmNhc2UgX3QuTU9EQlVTOnRoaXMudXBkYXRlQmFzaWNDb25maWdDb25uZWN0b3IoZSk7YnJlYWs7ZGVmYXVsdDp0aGlzLmNvbm5lY3RvckZvcm0ucGF0Y2hWYWx1ZSh7Li4uZSxtb2RlOm51bGx9KSx0aGlzLmNvbm5lY3RvckZvcm0ubWFya0FzUHJpc3RpbmUoKSx0aGlzLmNyZWF0ZUpzb25Db25maWdXYXRjaGVyKCl9fXVwZGF0ZUJhc2ljQ29uZmlnQ29ubmVjdG9yKGUpe3RoaXMuYmFzaWNDb25maWdTdWI/LnVuc3Vic2NyaWJlKCk7Y29uc3QgdD10aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJ0eXBlIikudmFsdWU7dGhpcy5zZXRJbml0aWFsQ29ubmVjdG9yVmFsdWVzKGUpLHQhPT1lLnR5cGUmJnRoaXMuYWxsb3dCYXNpY0NvbmZpZy5oYXMoZS50eXBlKT90aGlzLmJhc2ljQ29uZmlnSW5pdFN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShPZSgxKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMucGF0Y2hCYXNpY0NvbmZpZ0Nvbm5lY3RvcihlKX0pKTp0aGlzLnBhdGNoQmFzaWNDb25maWdDb25uZWN0b3IoZSl9cGF0Y2hCYXNpY0NvbmZpZ0Nvbm5lY3RvcihlKXt0aGlzLmNvbm5lY3RvckZvcm0ucGF0Y2hWYWx1ZShlLHtlbWl0RXZlbnQ6ITF9KSx0aGlzLmNvbm5lY3RvckZvcm0ubWFya0FzUHJpc3RpbmUoKSx0aGlzLmNyZWF0ZUJhc2ljQ29uZmlnV2F0Y2hlcigpLHRoaXMuY3JlYXRlSnNvbkNvbmZpZ1dhdGNoZXIoKX10b2dnbGVSZXBvcnRTdHJhdGVneShlKXtjb25zdCB0PXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoInJlcG9ydFN0cmF0ZWd5Iik7ZT09PV90Lk1PREJVUz90LmVuYWJsZSh7ZW1pdEV2ZW50OiExfSk6dC5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KX1zZXRDbGllbnREYXRhKGUpe2lmKHRoaXMuaW5pdGlhbENvbm5lY3Rvcil7Y29uc3QgdD1lLmRhdGEuZmluZCgoZT0+ZS5rZXk9PT10aGlzLmluaXRpYWxDb25uZWN0b3IubmFtZSkpO3QmJih0LnZhbHVlPSJzdHJpbmciPT10eXBlb2YgdC52YWx1ZT9KU09OLnBhcnNlKHQudmFsdWUpOnQudmFsdWUsdGhpcy5pc0Nvbm5lY3RvclN5bmNlZCh0KSYmdC52YWx1ZS5jb25maWd1cmF0aW9uSnNvbiYmdGhpcy5zZXRGb3JtVmFsdWUoey4uLnQudmFsdWUsbW9kZTp0aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJtb2RlIikudmFsdWU/P3QudmFsdWUubW9kZX0pKX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpFbyxkZXBzOlt7dG9rZW46b3QuU3RvcmV9LHt0b2tlbjptZS5Gb3JtQnVpbGRlcn0se3Rva2VuOlkuVHJhbnNsYXRlU2VydmljZX0se3Rva2VuOlguQXR0cmlidXRlU2VydmljZX0se3Rva2VuOlguRGlhbG9nU2VydmljZX0se3Rva2VuOkplLk1hdERpYWxvZ30se3Rva2VuOlguVGVsZW1ldHJ5V2Vic29ja2V0U2VydmljZX0se3Rva2VuOnQuTmdab25lfSx7dG9rZW46WC5VdGlsc1NlcnZpY2V9LHt0b2tlbjp2YX0se3Rva2VuOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOkVvLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LWNvbm5lY3RvciIsaW5wdXRzOntjdHg6ImN0eCIsZGV2aWNlOiJkZXZpY2UifSxwcm92aWRlcnM6W3twcm92aWRlOlRlLHVzZUNsYXNzOk1vfV0sdmlld1F1ZXJpZXM6W3twcm9wZXJ0eU5hbWU6Im5hbWVJbnB1dCIsZmlyc3Q6ITAscHJlZGljYXRlOlsibmFtZUlucHV0Il0sZGVzY2VuZGFudHM6ITB9LHtwcm9wZXJ0eU5hbWU6InNvcnQiLGZpcnN0OiEwLHByZWRpY2F0ZTpnLGRlc2NlbmRhbnRzOiEwfV0sdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJjb25uZWN0b3ItY29udGFpbmVyIHRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIj5cbiAgPHNlY3Rpb24gY2xhc3M9InRhYmxlLXNlY3Rpb24gdGItZm9ybS1wYW5lbCBuby1wYWRkaW5nIGZsZXggc2VjdGlvbi1jb250YWluZXIiPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIj5cbiAgICAgIDxoMj57eyBcJ2dhdGV3YXkuY29ubmVjdG9yc1wnIHwgdHJhbnNsYXRlIH19PC9oMj5cbiAgICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgICA8YnV0dG9uICpuZ0lmPSJkYXRhU291cmNlPy5kYXRhPy5sZW5ndGgiXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJpc0xvYWRpbmckIHwgYXN5bmMiXG4gICAgICAgICAgICAgIChjbGljayk9Im9uQWRkQ29ubmVjdG9yKCRldmVudCkiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmFkZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L21hdC10b29sYmFyPlxuICAgIDxkaXYgY2xhc3M9InRhYmxlLWNvbnRhaW5lciI+XG4gICAgICA8c2VjdGlvbiAqbmdJZj0iIWRhdGFTb3VyY2U/LmRhdGE/Lmxlbmd0aCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgIGNsYXNzPSJtYXQtaGVhZGxpbmUtNSB0Yi1hYnNvbHV0ZS1maWxsIHRiLWFkZC1uZXciPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9ImNvbm5lY3RvciJcbiAgICAgICAgKGNsaWNrKT0ib25BZGRDb25uZWN0b3IoJGV2ZW50KSI+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJ0Yi1tYXQtOTYiPmFkZDwvbWF0LWljb24+XG4gICAgICAgICAgPHNwYW4+e3sgXCdnYXRld2F5LmFkZC1jb25uZWN0b3JcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT0iZGF0YVNvdXJjZSJcbiAgICAgICAgICAgICBtYXRTb3J0IFttYXRTb3J0QWN0aXZlXT0icGFnZUxpbmsuc29ydE9yZGVyLnByb3BlcnR5IiBbbWF0U29ydERpcmVjdGlvbl09InBhZ2VMaW5rLnNvcnREaXJlY3Rpb24oKSJcbiAgICAgICAgICAgICBtYXRTb3J0RGlzYWJsZUNsZWFyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iZW5hYmxlZCIgc3RpY2t5PlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgc3R5bGU9IndpZHRoOiA2MHB4O21pbi13aWR0aDogNjBweDsiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtZW5hYmxlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgYXR0cmlidXRlIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIFtjaGVja2VkXT0iYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyhhdHRyaWJ1dGUua2V5KSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgb25FbmFibGVDb25uZWN0b3IoYXR0cmlidXRlKSI+PC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0ia2V5Ij5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDQwJSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1uYW1lXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiPlxuICAgICAgICAgICAge3sgYXR0cmlidXRlLmtleSB9fVxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0idHlwZSI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgc3R5bGU9IndpZHRoOiAzMCUiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtdHlwZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgYXR0cmlidXRlIiBzdHlsZT0idGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSI+XG4gICAgICAgICAgICB7eyByZXR1cm5UeXBlKGF0dHJpYnV0ZSkgfX1cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9InN5bmNTdGF0dXMiPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIHN0eWxlPSJ3aWR0aDogMzAlIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5jb25maWd1cmF0aW9uXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzIiBbY2xhc3NdPSJpc0Nvbm5lY3RvclN5bmNlZChhdHRyaWJ1dGUpID8gXCdzdGF0dXMtc3luY1wnIDogXCdzdGF0dXMtdW5zeW5jXCciPlxuICAgICAgICAgICAgICAgIHt7IGlzQ29ubmVjdG9yU3luY2VkKGF0dHJpYnV0ZSkgPyBcJ3N5bmNcJyA6IFwnb3V0IG9mIHN5bmNcJyB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9ImVycm9ycyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgc3R5bGU9IndpZHRoOiAzMCUiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtc3RhdHVzXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkb3QiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ0Vycm9yczogXCcrIGdldEVycm9yc0NvdW50KGF0dHJpYnV0ZSl9fSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPSJjb25uZWN0b3JMb2dzKGF0dHJpYnV0ZSwgJGV2ZW50KSJcbiAgICAgICAgICAgICAgICAgIFtjbGFzc109IntcJ2hhc0Vycm9yc1wnOiArZ2V0RXJyb3JzQ291bnQoYXR0cmlidXRlKSA+IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCdub0Vycm9yc1wnOiArZ2V0RXJyb3JzQ291bnQoYXR0cmlidXRlKSA9PT0gMCB8fCBnZXRFcnJvcnNDb3VudChhdHRyaWJ1dGUpID09PSBcJ1wnfSI+PC9zcGFuPlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iYWN0aW9ucyIgc3RpY2t5RW5kPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlLmd0LW1kXT0ieyBtaW5XaWR0aDogXCcxNDRweFwnLCBtYXhXaWR0aDogXCcxNDRweFwnLCB3aWR0aDogXCcxNDRweFwnLCB0ZXh0QWxpZ246IFwnY2VudGVyXCd9Ij5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWFjdGlvbnNcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IGF0dHJpYnV0ZSJcbiAgICAgICAgICAgICAgICAgICAgW25nU3R5bGUuZ3QtbWRdPSJ7IG1pbldpZHRoOiBcJzE0NHB4XCcsIG1heFdpZHRoOiBcJzE0NHB4XCcsIHdpZHRoOiBcJzE0NHB4XCd9Ij5cbiAgICAgICAgICAgIDxkaXYgZnhIaWRlIGZ4U2hvdy5ndC1tZCBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJSUEMiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJjb25uZWN0b3JScGMoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+cHJpdmF0ZV9jb25uZWN0aXZpdHk8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJMb2dzIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iY29ubmVjdG9yTG9ncyhhdHRyaWJ1dGUsICRldmVudCkiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5saXN0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0iRGVsZXRlIGNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9ImRlbGV0ZUNvbm5lY3RvcihhdHRyaWJ1dGUsICRldmVudCkiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmeEhpZGUgZnhTaG93Lmx0LWxnPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPSJjZWxsQWN0aW9uc01lbnUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8bWF0LW1lbnUgI2NlbGxBY3Rpb25zTWVudT0ibWF0TWVudSIgeFBvc2l0aW9uPSJiZWZvcmUiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJSUEMiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iY29ubmVjdG9yUnBjKGF0dHJpYnV0ZSwgJGV2ZW50KSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24+cHJpdmF0ZV9jb25uZWN0aXZpdHk8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJMb2dzIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9ImNvbm5lY3RvckxvZ3MoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5saXN0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0iRGVsZXRlIGNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJkZWxldGVDb25uZWN0b3IoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxtYXQtaGVhZGVyLXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbWF0SGVhZGVyUm93RGVmPSJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWUiPjwvbWF0LWhlYWRlci1yb3c+XG4gICAgICAgIDxtYXQtcm93IGNsYXNzPSJtYXQtcm93LXNlbGVjdCIgW2NsYXNzXT0ie1wndGItY3VycmVudC1lbnRpdHlcJzogaXNTYW1lQ29ubmVjdG9yKGF0dHJpYnV0ZSl9IlxuICAgICAgICAgICAgICAgICAqbWF0Um93RGVmPSJsZXQgYXR0cmlidXRlOyBsZXQgaSA9IGluZGV4OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyIgKGNsaWNrKT0ic2VsZWN0Q29ubmVjdG9yKCRldmVudCwgYXR0cmlidXRlKSI+PC9tYXQtcm93PlxuICAgICAgPC90YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9zZWN0aW9uPlxuICA8c2VjdGlvbiBbZm9ybUdyb3VwXT0iY29ubmVjdG9yRm9ybSIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc2VjdGlvbi1jb250YWluZXIgZmxleCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSB0Yi1mbGV4IG5vLWZsZXggc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSI+XG4gICAgICAgIHt7IGluaXRpYWxDb25uZWN0b3I/LnR5cGUgPyBHYXRld2F5Q29ubmVjdG9yVHlwZXNUcmFuc2xhdGVzTWFwLmdldChpbml0aWFsQ29ubmVjdG9yLnR5cGUpIDogXCdcJyB9fVxuICAgICAgICB7eyBcJ2dhdGV3YXkuY29uZmlndXJhdGlvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDxzcGFuIGNsYXNzPSJ2ZXJzaW9uLXBsYWNlaG9sZGVyIiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdjb25maWdWZXJzaW9uXCcpLnZhbHVlIj52e3tjb25uZWN0b3JGb3JtLmdldChcJ2NvbmZpZ1ZlcnNpb25cJykudmFsdWV9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgKm5nSWY9ImluaXRpYWxDb25uZWN0b3IgJiYgYWxsb3dCYXNpY0NvbmZpZy5oYXMoaW5pdGlhbENvbm5lY3Rvci50eXBlKSJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0ibW9kZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uIFt2YWx1ZV09IkNvbm5lY3RvckNvbmZpZ3VyYXRpb25Nb2Rlcy5CQVNJQyI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LmJhc2ljXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiBbdmFsdWVdPSJDb25uZWN0b3JDb25maWd1cmF0aW9uTW9kZXMuQURWQU5DRUQiPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5hZHZhbmNlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgIDwvdGItdG9nZ2xlLXNlbGVjdD5cbiAgICA8L2Rpdj5cbiAgICA8c3BhbiBbZnhTaG93XT0iIWluaXRpYWxDb25uZWN0b3IiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCIgdHJhbnNsYXRlPlxuICAgICAgZ2F0ZXdheS5zZWxlY3QtY29ubmVjdG9yXG4gICAgPC9zcGFuPlxuICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHNlY3Rpb24tY29udGFpbmVyIG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLWZsZXggc3BhY2UtYmV0d2VlbiIgKm5nSWY9ImluaXRpYWxDb25uZWN0b3IiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdtb2RlXCcpPy52YWx1ZSA9PT0gQ29ubmVjdG9yQ29uZmlndXJhdGlvbk1vZGVzLkJBU0lDIGVsc2UgZGVmYXVsdENvbmZpZyI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT0iaW5pdGlhbENvbm5lY3Rvci50eXBlIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9IkNvbm5lY3RvclR5cGUuTVFUVCI+XG4gICAgICAgICAgICA8dGItbXF0dC1iYXNpYy1jb25maWdcbiAgICAgICAgICAgICAgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwnY29uZmlnVmVyc2lvblwnKS52YWx1ZSB8IGlzTGF0ZXN0VmVyc2lvbkNvbmZpZyBlbHNlIGxlZ2FjeSJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgW2dlbmVyYWxUYWJDb250ZW50XT0iZ2VuZXJhbFRhYkNvbnRlbnQiXG4gICAgICAgICAgICAgIChpbml0aWFsaXplZCk9ImJhc2ljQ29uZmlnSW5pdFN1YmplY3QubmV4dCgpIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbGVnYWN5PlxuICAgICAgICAgICAgICA8dGItbXF0dC1sZWdhY3ktYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk9QQ1VBIj5cbiAgICAgICAgICAgIDx0Yi1vcGMtdWEtYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ2NvbmZpZ1ZlcnNpb25cJykudmFsdWUgfCBpc0xhdGVzdFZlcnNpb25Db25maWcgZWxzZSBsZWdhY3kiXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICAgICAgICAgIFtnZW5lcmFsVGFiQ29udGVudF09ImdlbmVyYWxUYWJDb250ZW50IlxuICAgICAgICAgICAgICAoaW5pdGlhbGl6ZWQpPSJiYXNpY0NvbmZpZ0luaXRTdWJqZWN0Lm5leHQoKSJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2xlZ2FjeT5cbiAgICAgICAgICAgICAgPHRiLW9wYy11YS1sZWdhY3ktYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk1PREJVUyI+XG4gICAgICAgICAgICA8dGItbW9kYnVzLWJhc2ljLWNvbmZpZ1xuICAgICAgICAgICAgICAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdjb25maWdWZXJzaW9uXCcpLnZhbHVlIHwgaXNMYXRlc3RWZXJzaW9uQ29uZmlnIGVsc2UgbGVnYWN5IlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9ImJhc2ljQ29uZmlnIlxuICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNsZWdhY3k+XG4gICAgICAgICAgICAgIDx0Yi1tb2RidXMtbGVnYWN5LWJhc2ljLWNvbmZpZ1xuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgW2dlbmVyYWxUYWJDb250ZW50XT0iZ2VuZXJhbFRhYkNvbnRlbnQiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q29uZmlnPlxuICAgICAgICA8bWF0LXRhYi1ncm91cD5cbiAgICAgICAgICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgICAgICAgICAgPHRiLWpzb24tb2JqZWN0LWVkaXRcbiAgICAgICAgICAgICAgZmlsbEhlaWdodD0idHJ1ZSJcbiAgICAgICAgICAgICAgY2xhc3M9InRiLWZsZXggZmlsbC1oZWlnaHQiXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PSJjb2x1bW4iXG4gICAgICAgICAgICAgIGpzb25SZXF1aXJlZFxuICAgICAgICAgICAgICBsYWJlbD0ie3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJjb25maWd1cmF0aW9uSnNvbiI+XG4gICAgICAgICAgICA8L3RiLWpzb24tb2JqZWN0LWVkaXQ+XG4gICAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgICA8L21hdC10YWItZ3JvdXA+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGRpdiBmeExheW91dEFsaWduPSJlbmQgY2VudGVyIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iIWNvbm5lY3RvckZvcm0uZGlydHkgfHwgY29ubmVjdG9yRm9ybS5pbnZhbGlkIlxuICAgICAgICAgICAgICAgIChjbGljayk9Im9uU2F2ZUNvbm5lY3RvcigpIj5cbiAgICAgICAgICB7eyBcJ2FjdGlvbi5zYXZlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG4gIDwvc2VjdGlvbj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNnZW5lcmFsVGFiQ29udGVudD5cbiAgPHNlY3Rpb24gW2Zvcm1Hcm91cF09ImNvbm5lY3RvckZvcm0iIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIHNlY3Rpb24tY29udGFpbmVyIGZsZXgiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiID5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5uYW1lPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGF1dG9jb21wbGV0ZT0ib2ZmIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJuYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS5oYXNFcnJvcihcJ2R1cGxpY2F0ZU5hbWVcJykgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCdnYXRld2F5LmNvbm5lY3Rvci1kdXBsaWNhdGUtbmFtZVwnIDogXCdnYXRld2F5Lm5hbWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSIoY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYgY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLnRvdWNoZWQpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0b3JGb3JtLmdldChcJ25hbWVcJykuaGFzRXJyb3IoXCdkdXBsaWNhdGVOYW1lXCcpIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IENvbm5lY3RvclR5cGUuQ1VTVE9NIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1jbGFzczwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJjbGFzcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlID09PSBDb25uZWN0b3JUeXBlLkdSUEMiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWtleTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJrZXkiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5sb2dzLWNvbmZpZ3VyYXRpb248L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0iZW5hYmxlUmVtb3RlTG9nZ2luZyI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5lbmFibGUtcmVtb3RlLWxvZ2dpbmdcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucmVtb3RlLWxvZ2dpbmctbGV2ZWw8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImxvZ0xldmVsIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbG9nTGV2ZWwgb2YgZ2F0ZXdheUxvZ0xldmVsIiBbdmFsdWVdPSJsb2dMZXZlbCI+e3sgbG9nTGV2ZWwgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IENvbm5lY3RvclR5cGUuTVFUVCIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJzZW5kRGF0YU9ubHlPbkNoYW5nZSI+XG4gICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5zZW5kLWNoYW5nZS1kYXRhLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnNlbmQtY2hhbmdlLWRhdGFcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8L2Rpdj5cbiAgICA8dGItcmVwb3J0LXN0cmF0ZWd5XG4gICAgICBbZGVmYXVsdFZhbHVlXT0iUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWUuQ29ubmVjdG9yIlxuICAgICAgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gQ29ubmVjdG9yVHlwZS5NT0RCVVMgJiYgKGNvbm5lY3RvckZvcm0uZ2V0KFwnY29uZmlnVmVyc2lvblwnKS52YWx1ZSB8IGlzTGF0ZXN0VmVyc2lvbkNvbmZpZykiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9InJlcG9ydFN0cmF0ZWd5IlxuICAgIC8+XG4gIDwvc2VjdGlvbj5cbjwvbmctdGVtcGxhdGU+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrO292ZXJmbG93LXg6YXV0bztwYWRkaW5nOjB9Omhvc3QgLnZlcnNpb24tcGxhY2Vob2xkZXJ7Y29sb3I6Z3JheTtmb250LXNpemU6MTJweH06aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lcntoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2ZsZXgtZGlyZWN0aW9uOnJvd31AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpezpob3N0IC5jb25uZWN0b3ItY29udGFpbmVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn19Omhvc3QgLmNvbm5lY3Rvci1jb250YWluZXI+c2VjdGlvbjpub3QoLnRhYmxlLXNlY3Rpb24pe21heC13aWR0aDp1bnNldH1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpezpob3N0IC5jb25uZWN0b3ItY29udGFpbmVyPnNlY3Rpb246bm90KC50YWJsZS1zZWN0aW9uKXttYXgtd2lkdGg6NTAlfX06aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGFibGUtc2VjdGlvbnttaW4taGVpZ2h0OjM1dmg7b3ZlcmZsb3c6aGlkZGVufTpob3N0IC5jb25uZWN0b3ItY29udGFpbmVyIC50YWJsZS1zZWN0aW9uIC50YWJsZS1jb250YWluZXJ7b3ZlcmZsb3c6YXV0b306aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAuZmxleHtmbGV4OjF9Omhvc3QgLmNvbm5lY3Rvci1jb250YWluZXIgLmlucHV0LWNvbnRhaW5lcntoZWlnaHQ6YXV0b306aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAuc2VjdGlvbi1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfTpob3N0IC5tYXQtdG9vbGJhcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMDAwMDBkZSFpbXBvcnRhbnR9Omhvc3QgLm1hdC1tZGMtc2xpZGUtdG9nZ2xle21hcmdpbjowIDhweH06aG9zdCAuc3RhdHVze3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6MTZweDtmb250LXdlaWdodDo1MDA7d2lkdGg6Zml0LWNvbnRlbnQ7cGFkZGluZzo1cHggMTVweH06aG9zdCAuc3RhdHVzLXN5bmN7YmFja2dyb3VuZDojMTk4MDM4MGY7Y29sb3I6IzE5ODAzOH06aG9zdCAuc3RhdHVzLXVuc3luY3tiYWNrZ3JvdW5kOiNjYjI1MzAwZjtjb2xvcjojY2IyNTMwfTpob3N0IG1hdC1yb3d7Y3Vyc29yOnBvaW50ZXJ9Omhvc3QgLmRvdHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4O2JhY2tncm91bmQtY29sb3I6I2JiYjtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1ibG9ja306aG9zdCAuaGFzRXJyb3Jze2JhY2tncm91bmQtY29sb3I6I2NiMjUzMH06aG9zdCAubm9FcnJvcnN7YmFja2dyb3VuZC1jb2xvcjojMTk4MDM4fTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAubWF0LW1kYy10YWItZ3JvdXAsOmhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC5tYXQtbWRjLXRhYi1ib2R5LXdyYXBwZXJ7aGVpZ2h0OjEwMCV9Omhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC5tYXQtbWRjLXRhYi1ib2R5Lm1hdC1tZGMtdGFiLWJvZHktYWN0aXZle3Bvc2l0aW9uOmFic29sdXRlfTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGItZm9ybS1yb3cgLmZpeGVkLXRpdGxlLXdpZHRoe21pbi13aWR0aDoxMjBweDt3aWR0aDozMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGItYWRkLW5ld3tkaXNwbGF5OmZsZXg7ei1pbmRleDo5OTk7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Omhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC50Yi1hZGQtbmV3IGJ1dHRvbi5jb25uZWN0b3J7aGVpZ2h0OmF1dG87cGFkZGluZy1yaWdodDoxMnB4O2ZvbnQtc2l6ZToyMHB4O2JvcmRlci1zdHlsZTpkYXNoZWQ7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItcmFkaXVzOjhweDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6IzAwMDAwMDYxfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nVGVtcGxhdGVPdXRsZXQsc2VsZWN0b3I6IltuZ1RlbXBsYXRlT3V0bGV0XSIsaW5wdXRzOlsibmdUZW1wbGF0ZU91dGxldENvbnRleHQiLCJuZ1RlbXBsYXRlT3V0bGV0IiwibmdUZW1wbGF0ZU91dGxldEluamVjdG9yIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaCxzZWxlY3RvcjoiW25nU3dpdGNoXSIsaW5wdXRzOlsibmdTd2l0Y2giXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoQ2FzZSxzZWxlY3RvcjoiW25nU3dpdGNoQ2FzZV0iLGlucHV0czpbIm5nU3dpdGNoQ2FzZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZ0Lkpzb25PYmplY3RFZGl0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi1qc29uLW9iamVjdC1lZGl0IixpbnB1dHM6WyJsYWJlbCIsImRpc2FibGVkIiwiZmlsbEhlaWdodCIsImVkaXRvclN0eWxlIiwic29ydCIsImpzb25SZXF1aXJlZCIsInJlYWRvbmx5Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QnV0dG9uLHNlbGVjdG9yOiIgICAgYnV0dG9uW21hdC1idXR0b25dLCBidXR0b25bbWF0LXJhaXNlZC1idXR0b25dLCBidXR0b25bbWF0LWZsYXQtYnV0dG9uXSwgICAgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0gICIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRTdWZmaXgsc2VsZWN0b3I6IlttYXRTdWZmaXhdLCBbbWF0SWNvblN1ZmZpeF0sIFttYXRUZXh0U3VmZml4XSIsaW5wdXRzOlsibWF0VGV4dFN1ZmZpeCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnJ0Lk1hdFRvb2xiYXIsc2VsZWN0b3I6Im1hdC10b29sYmFyIixpbnB1dHM6WyJjb2xvciJdLGV4cG9ydEFzOlsibWF0VG9vbGJhciJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmh0Lk1hdE1lbnUsc2VsZWN0b3I6Im1hdC1tZW51IixpbnB1dHM6WyJiYWNrZHJvcENsYXNzIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImFyaWEtZGVzY3JpYmVkYnkiLCJ4UG9zaXRpb24iLCJ5UG9zaXRpb24iLCJvdmVybGFwVHJpZ2dlciIsImhhc0JhY2tkcm9wIiwiY2xhc3MiLCJjbGFzc0xpc3QiXSxvdXRwdXRzOlsiY2xvc2VkIiwiY2xvc2UiXSxleHBvcnRBczpbIm1hdE1lbnUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpodC5NYXRNZW51VHJpZ2dlcixzZWxlY3RvcjoiW21hdC1tZW51LXRyaWdnZXItZm9yXSwgW21hdE1lbnVUcmlnZ2VyRm9yXSIsaW5wdXRzOlsibWF0LW1lbnUtdHJpZ2dlci1mb3IiLCJtYXRNZW51VHJpZ2dlckZvciIsIm1hdE1lbnVUcmlnZ2VyRGF0YSIsIm1hdE1lbnVUcmlnZ2VyUmVzdG9yZUZvY3VzIl0sb3V0cHV0czpbIm1lbnVPcGVuZWQiLCJvbk1lbnVPcGVuIiwibWVudUNsb3NlZCIsIm9uTWVudUNsb3NlIl0sZXhwb3J0QXM6WyJtYXRNZW51VHJpZ2dlciJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOndlLk1hdFNlbGVjdCxzZWxlY3RvcjoibWF0LXNlbGVjdCIsaW5wdXRzOlsiYXJpYS1kZXNjcmliZWRieSIsInBhbmVsQ2xhc3MiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3IiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwibXVsdGlwbGUiLCJkaXNhYmxlT3B0aW9uQ2VudGVyaW5nIiwiY29tcGFyZVdpdGgiLCJ2YWx1ZSIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJlcnJvclN0YXRlTWF0Y2hlciIsInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLCJzb3J0Q29tcGFyYXRvciIsImlkIiwicGFuZWxXaWR0aCJdLG91dHB1dHM6WyJvcGVuZWRDaGFuZ2UiLCJvcGVuZWQiLCJjbG9zZWQiLCJzZWxlY3Rpb25DaGFuZ2UiLCJ2YWx1ZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2VsZWN0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmIuTWF0VGFibGUsc2VsZWN0b3I6Im1hdC10YWJsZSwgdGFibGVbbWF0LXRhYmxlXSIsZXhwb3J0QXM6WyJtYXRUYWJsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0SGVhZGVyQ2VsbERlZixzZWxlY3RvcjoiW21hdEhlYWRlckNlbGxEZWZdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlclJvd0RlZixzZWxlY3RvcjoiW21hdEhlYWRlclJvd0RlZl0iLGlucHV0czpbIm1hdEhlYWRlclJvd0RlZiIsIm1hdEhlYWRlclJvd0RlZlN0aWNreSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Q29sdW1uRGVmLHNlbGVjdG9yOiJbbWF0Q29sdW1uRGVmXSIsaW5wdXRzOlsibWF0Q29sdW1uRGVmIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsRGVmLHNlbGVjdG9yOiJbbWF0Q2VsbERlZl0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Um93RGVmLHNlbGVjdG9yOiJbbWF0Um93RGVmXSIsaW5wdXRzOlsibWF0Um93RGVmQ29sdW1ucyIsIm1hdFJvd0RlZldoZW4iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlckNlbGwsc2VsZWN0b3I6Im1hdC1oZWFkZXItY2VsbCwgdGhbbWF0LWhlYWRlci1jZWxsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsLHNlbGVjdG9yOiJtYXQtY2VsbCwgdGRbbWF0LWNlbGxdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdEhlYWRlclJvdyxzZWxlY3RvcjoibWF0LWhlYWRlci1yb3csIHRyW21hdC1oZWFkZXItcm93XSIsZXhwb3J0QXM6WyJtYXRIZWFkZXJSb3ciXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdFJvdyxzZWxlY3RvcjoibWF0LXJvdywgdHJbbWF0LXJvd10iLGV4cG9ydEFzOlsibWF0Um93Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Zi5NYXRTb3J0LHNlbGVjdG9yOiJbbWF0U29ydF0iLGlucHV0czpbIm1hdFNvcnRBY3RpdmUiLCJtYXRTb3J0U3RhcnQiLCJtYXRTb3J0RGlyZWN0aW9uIiwibWF0U29ydERpc2FibGVDbGVhciIsIm1hdFNvcnREaXNhYmxlZCJdLG91dHB1dHM6WyJtYXRTb3J0Q2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTb3J0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Zi5NYXRTb3J0SGVhZGVyLHNlbGVjdG9yOiJbbWF0LXNvcnQtaGVhZGVyXSIsaW5wdXRzOlsibWF0LXNvcnQtaGVhZGVyIiwiYXJyb3dQb3NpdGlvbiIsInN0YXJ0IiwiZGlzYWJsZWQiLCJzb3J0QWN0aW9uRGVzY3JpcHRpb24iLCJkaXNhYmxlQ2xlYXIiXSxleHBvcnRBczpbIm1hdFNvcnRIZWFkZXIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRBbGlnbkRpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRBbGlnbl0sIFtmeExheW91dEFsaWduLnhzXSwgW2Z4TGF5b3V0QWxpZ24uc21dLCBbZnhMYXlvdXRBbGlnbi5tZF0sICBbZnhMYXlvdXRBbGlnbi5sZ10sIFtmeExheW91dEFsaWduLnhsXSwgW2Z4TGF5b3V0QWxpZ24ubHQtc21dLCBbZnhMYXlvdXRBbGlnbi5sdC1tZF0sICBbZnhMYXlvdXRBbGlnbi5sdC1sZ10sIFtmeExheW91dEFsaWduLmx0LXhsXSwgW2Z4TGF5b3V0QWxpZ24uZ3QteHNdLCBbZnhMYXlvdXRBbGlnbi5ndC1zbV0sICBbZnhMYXlvdXRBbGlnbi5ndC1tZF0sIFtmeExheW91dEFsaWduLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRBbGlnbiIsImZ4TGF5b3V0QWxpZ24ueHMiLCJmeExheW91dEFsaWduLnNtIiwiZnhMYXlvdXRBbGlnbi5tZCIsImZ4TGF5b3V0QWxpZ24ubGciLCJmeExheW91dEFsaWduLnhsIiwiZnhMYXlvdXRBbGlnbi5sdC1zbSIsImZ4TGF5b3V0QWxpZ24ubHQtbWQiLCJmeExheW91dEFsaWduLmx0LWxnIiwiZnhMYXlvdXRBbGlnbi5sdC14bCIsImZ4TGF5b3V0QWxpZ24uZ3QteHMiLCJmeExheW91dEFsaWduLmd0LXNtIiwiZnhMYXlvdXRBbGlnbi5ndC1tZCIsImZ4TGF5b3V0QWxpZ24uZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRGbGV4RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeEZsZXhdLCBbZnhGbGV4LnhzXSwgW2Z4RmxleC5zbV0sIFtmeEZsZXgubWRdLCAgW2Z4RmxleC5sZ10sIFtmeEZsZXgueGxdLCBbZnhGbGV4Lmx0LXNtXSwgW2Z4RmxleC5sdC1tZF0sICBbZnhGbGV4Lmx0LWxnXSwgW2Z4RmxleC5sdC14bF0sIFtmeEZsZXguZ3QteHNdLCBbZnhGbGV4Lmd0LXNtXSwgIFtmeEZsZXguZ3QtbWRdLCBbZnhGbGV4Lmd0LWxnXSIsaW5wdXRzOlsiZnhGbGV4IiwiZnhGbGV4LnhzIiwiZnhGbGV4LnNtIiwiZnhGbGV4Lm1kIiwiZnhGbGV4LmxnIiwiZnhGbGV4LnhsIiwiZnhGbGV4Lmx0LXNtIiwiZnhGbGV4Lmx0LW1kIiwiZnhGbGV4Lmx0LWxnIiwiZnhGbGV4Lmx0LXhsIiwiZnhGbGV4Lmd0LXhzIiwiZnhGbGV4Lmd0LXNtIiwiZnhGbGV4Lmd0LW1kIiwiZnhGbGV4Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Sy5EZWZhdWx0U2hvd0hpZGVEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4U2hvd10sIFtmeFNob3cucHJpbnRdLCAgW2Z4U2hvdy54c10sIFtmeFNob3cuc21dLCBbZnhTaG93Lm1kXSwgW2Z4U2hvdy5sZ10sIFtmeFNob3cueGxdLCAgW2Z4U2hvdy5sdC1zbV0sIFtmeFNob3cubHQtbWRdLCBbZnhTaG93Lmx0LWxnXSwgW2Z4U2hvdy5sdC14bF0sICBbZnhTaG93Lmd0LXhzXSwgW2Z4U2hvdy5ndC1zbV0sIFtmeFNob3cuZ3QtbWRdLCBbZnhTaG93Lmd0LWxnXSwgIFtmeEhpZGVdLCBbZnhIaWRlLnByaW50XSwgIFtmeEhpZGUueHNdLCBbZnhIaWRlLnNtXSwgW2Z4SGlkZS5tZF0sIFtmeEhpZGUubGddLCBbZnhIaWRlLnhsXSwgIFtmeEhpZGUubHQtc21dLCBbZnhIaWRlLmx0LW1kXSwgW2Z4SGlkZS5sdC1sZ10sIFtmeEhpZGUubHQteGxdLCAgW2Z4SGlkZS5ndC14c10sIFtmeEhpZGUuZ3Qtc21dLCBbZnhIaWRlLmd0LW1kXSwgW2Z4SGlkZS5ndC1sZ10iLGlucHV0czpbImZ4U2hvdyIsImZ4U2hvdy5wcmludCIsImZ4U2hvdy54cyIsImZ4U2hvdy5zbSIsImZ4U2hvdy5tZCIsImZ4U2hvdy5sZyIsImZ4U2hvdy54bCIsImZ4U2hvdy5sdC1zbSIsImZ4U2hvdy5sdC1tZCIsImZ4U2hvdy5sdC1sZyIsImZ4U2hvdy5sdC14bCIsImZ4U2hvdy5ndC14cyIsImZ4U2hvdy5ndC1zbSIsImZ4U2hvdy5ndC1tZCIsImZ4U2hvdy5ndC1sZyIsImZ4SGlkZSIsImZ4SGlkZS5wcmludCIsImZ4SGlkZS54cyIsImZ4SGlkZS5zbSIsImZ4SGlkZS5tZCIsImZ4SGlkZS5sZyIsImZ4SGlkZS54bCIsImZ4SGlkZS5sdC1zbSIsImZ4SGlkZS5sdC1tZCIsImZ4SGlkZS5sdC1sZyIsImZ4SGlkZS5sdC14bCIsImZ4SGlkZS5ndC14cyIsImZ4SGlkZS5ndC1zbSIsImZ4SGlkZS5ndC1tZCIsImZ4SGlkZS5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOksuRGVmYXVsdFN0eWxlRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtuZ1N0eWxlXSwgIFtuZ1N0eWxlLnhzXSwgW25nU3R5bGUuc21dLCBbbmdTdHlsZS5tZF0sIFtuZ1N0eWxlLmxnXSwgW25nU3R5bGUueGxdLCAgW25nU3R5bGUubHQtc21dLCBbbmdTdHlsZS5sdC1tZF0sIFtuZ1N0eWxlLmx0LWxnXSwgW25nU3R5bGUubHQteGxdLCAgW25nU3R5bGUuZ3QteHNdLCBbbmdTdHlsZS5ndC1zbV0sIFtuZ1N0eWxlLmd0LW1kXSwgW25nU3R5bGUuZ3QtbGddIixpbnB1dHM6WyJuZ1N0eWxlIiwibmdTdHlsZS54cyIsIm5nU3R5bGUuc20iLCJuZ1N0eWxlLm1kIiwibmdTdHlsZS5sZyIsIm5nU3R5bGUueGwiLCJuZ1N0eWxlLmx0LXNtIiwibmdTdHlsZS5sdC1tZCIsIm5nU3R5bGUubHQtbGciLCJuZ1N0eWxlLmx0LXhsIiwibmdTdHlsZS5ndC14cyIsIm5nU3R5bGUuZ3Qtc20iLCJuZ1N0eWxlLmd0LW1kIiwibmdTdHlsZS5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bnQuVG9nZ2xlT3B0aW9uLHNlbGVjdG9yOiJ0Yi10b2dnbGUtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmF0LlRvZ2dsZVNlbGVjdENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXNlbGVjdCIsaW5wdXRzOlsiZGlzYWJsZWQiLCJzZWxlY3RNZWRpYUJyZWFrcG9pbnQiLCJhcHBlYXJhbmNlIiwiZGlzYWJsZVBhZ2luYXRpb24iLCJmaWxsSGVpZ2h0IiwiZXh0cmFQYWRkaW5nIiwicHJpbWFyeUJhY2tncm91bmQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpMbyxzZWxlY3RvcjoidGItbW9kYnVzLWxlZ2FjeS1iYXNpYy1jb25maWcifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmtvLHNlbGVjdG9yOiJ0Yi1tb2RidXMtYmFzaWMtY29uZmlnIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpGbyxzZWxlY3RvcjoidGItb3BjLXVhLWxlZ2FjeS1iYXNpYy1jb25maWcifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnBvLHNlbGVjdG9yOiJ0Yi1vcGMtdWEtYmFzaWMtY29uZmlnIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpBbyxzZWxlY3RvcjoidGItbXF0dC1sZWdhY3ktYmFzaWMtY29uZmlnIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpObyxzZWxlY3RvcjoidGItbXF0dC1iYXNpYy1jb25maWcifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmdvLHNlbGVjdG9yOiJ0Yi1yZXBvcnQtc3RyYXRlZ3kiLGlucHV0czpbImlzRXhwYW5zaW9uTW9kZSIsImRlZmF1bHRWYWx1ZSJdfSx7a2luZDoicGlwZSIsdHlwZTpfLkFzeW5jUGlwZSxuYW1lOiJhc3luYyJ9LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoicGlwZSIsdHlwZTp2YSxuYW1lOiJpc0xhdGVzdFZlcnNpb25Db25maWcifV19KX19ZSgiR2F0ZXdheUNvbm5lY3RvckNvbXBvbmVudCIsRW8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6RW8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktY29ubmVjdG9yIixwcm92aWRlcnM6W3twcm92aWRlOlRlLHVzZUNsYXNzOk1vfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJjb25uZWN0b3ItY29udGFpbmVyIHRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIj5cbiAgPHNlY3Rpb24gY2xhc3M9InRhYmxlLXNlY3Rpb24gdGItZm9ybS1wYW5lbCBuby1wYWRkaW5nIGZsZXggc2VjdGlvbi1jb250YWluZXIiPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIj5cbiAgICAgIDxoMj57eyBcJ2dhdGV3YXkuY29ubmVjdG9yc1wnIHwgdHJhbnNsYXRlIH19PC9oMj5cbiAgICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgICA8YnV0dG9uICpuZ0lmPSJkYXRhU291cmNlPy5kYXRhPy5sZW5ndGgiXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJpc0xvYWRpbmckIHwgYXN5bmMiXG4gICAgICAgICAgICAgIChjbGljayk9Im9uQWRkQ29ubmVjdG9yKCRldmVudCkiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmFkZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L21hdC10b29sYmFyPlxuICAgIDxkaXYgY2xhc3M9InRhYmxlLWNvbnRhaW5lciI+XG4gICAgICA8c2VjdGlvbiAqbmdJZj0iIWRhdGFTb3VyY2U/LmRhdGE/Lmxlbmd0aCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgIGNsYXNzPSJtYXQtaGVhZGxpbmUtNSB0Yi1hYnNvbHV0ZS1maWxsIHRiLWFkZC1uZXciPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9ImNvbm5lY3RvciJcbiAgICAgICAgKGNsaWNrKT0ib25BZGRDb25uZWN0b3IoJGV2ZW50KSI+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJ0Yi1tYXQtOTYiPmFkZDwvbWF0LWljb24+XG4gICAgICAgICAgPHNwYW4+e3sgXCdnYXRld2F5LmFkZC1jb25uZWN0b3JcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT0iZGF0YVNvdXJjZSJcbiAgICAgICAgICAgICBtYXRTb3J0IFttYXRTb3J0QWN0aXZlXT0icGFnZUxpbmsuc29ydE9yZGVyLnByb3BlcnR5IiBbbWF0U29ydERpcmVjdGlvbl09InBhZ2VMaW5rLnNvcnREaXJlY3Rpb24oKSJcbiAgICAgICAgICAgICBtYXRTb3J0RGlzYWJsZUNsZWFyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iZW5hYmxlZCIgc3RpY2t5PlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgc3R5bGU9IndpZHRoOiA2MHB4O21pbi13aWR0aDogNjBweDsiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtZW5hYmxlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgYXR0cmlidXRlIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIFtjaGVja2VkXT0iYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyhhdHRyaWJ1dGUua2V5KSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgb25FbmFibGVDb25uZWN0b3IoYXR0cmlidXRlKSI+PC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0ia2V5Ij5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDQwJSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1uYW1lXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiPlxuICAgICAgICAgICAge3sgYXR0cmlidXRlLmtleSB9fVxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0idHlwZSI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgc3R5bGU9IndpZHRoOiAzMCUiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtdHlwZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgYXR0cmlidXRlIiBzdHlsZT0idGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSI+XG4gICAgICAgICAgICB7eyByZXR1cm5UeXBlKGF0dHJpYnV0ZSkgfX1cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9InN5bmNTdGF0dXMiPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIHN0eWxlPSJ3aWR0aDogMzAlIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5jb25maWd1cmF0aW9uXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzIiBbY2xhc3NdPSJpc0Nvbm5lY3RvclN5bmNlZChhdHRyaWJ1dGUpID8gXCdzdGF0dXMtc3luY1wnIDogXCdzdGF0dXMtdW5zeW5jXCciPlxuICAgICAgICAgICAgICAgIHt7IGlzQ29ubmVjdG9yU3luY2VkKGF0dHJpYnV0ZSkgPyBcJ3N5bmNcJyA6IFwnb3V0IG9mIHN5bmNcJyB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9ImVycm9ycyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgc3R5bGU9IndpZHRoOiAzMCUiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtc3RhdHVzXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkb3QiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ0Vycm9yczogXCcrIGdldEVycm9yc0NvdW50KGF0dHJpYnV0ZSl9fSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPSJjb25uZWN0b3JMb2dzKGF0dHJpYnV0ZSwgJGV2ZW50KSJcbiAgICAgICAgICAgICAgICAgIFtjbGFzc109IntcJ2hhc0Vycm9yc1wnOiArZ2V0RXJyb3JzQ291bnQoYXR0cmlidXRlKSA+IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCdub0Vycm9yc1wnOiArZ2V0RXJyb3JzQ291bnQoYXR0cmlidXRlKSA9PT0gMCB8fCBnZXRFcnJvcnNDb3VudChhdHRyaWJ1dGUpID09PSBcJ1wnfSI+PC9zcGFuPlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iYWN0aW9ucyIgc3RpY2t5RW5kPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlLmd0LW1kXT0ieyBtaW5XaWR0aDogXCcxNDRweFwnLCBtYXhXaWR0aDogXCcxNDRweFwnLCB3aWR0aDogXCcxNDRweFwnLCB0ZXh0QWxpZ246IFwnY2VudGVyXCd9Ij5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWFjdGlvbnNcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IGF0dHJpYnV0ZSJcbiAgICAgICAgICAgICAgICAgICAgW25nU3R5bGUuZ3QtbWRdPSJ7IG1pbldpZHRoOiBcJzE0NHB4XCcsIG1heFdpZHRoOiBcJzE0NHB4XCcsIHdpZHRoOiBcJzE0NHB4XCd9Ij5cbiAgICAgICAgICAgIDxkaXYgZnhIaWRlIGZ4U2hvdy5ndC1tZCBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJSUEMiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJjb25uZWN0b3JScGMoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+cHJpdmF0ZV9jb25uZWN0aXZpdHk8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJMb2dzIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iY29ubmVjdG9yTG9ncyhhdHRyaWJ1dGUsICRldmVudCkiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5saXN0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0iRGVsZXRlIGNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9ImRlbGV0ZUNvbm5lY3RvcihhdHRyaWJ1dGUsICRldmVudCkiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmeEhpZGUgZnhTaG93Lmx0LWxnPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPSJjZWxsQWN0aW9uc01lbnUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8bWF0LW1lbnUgI2NlbGxBY3Rpb25zTWVudT0ibWF0TWVudSIgeFBvc2l0aW9uPSJiZWZvcmUiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJSUEMiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iY29ubmVjdG9yUnBjKGF0dHJpYnV0ZSwgJGV2ZW50KSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24+cHJpdmF0ZV9jb25uZWN0aXZpdHk8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJMb2dzIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9ImNvbm5lY3RvckxvZ3MoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5saXN0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0iRGVsZXRlIGNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJkZWxldGVDb25uZWN0b3IoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxtYXQtaGVhZGVyLXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbWF0SGVhZGVyUm93RGVmPSJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWUiPjwvbWF0LWhlYWRlci1yb3c+XG4gICAgICAgIDxtYXQtcm93IGNsYXNzPSJtYXQtcm93LXNlbGVjdCIgW2NsYXNzXT0ie1wndGItY3VycmVudC1lbnRpdHlcJzogaXNTYW1lQ29ubmVjdG9yKGF0dHJpYnV0ZSl9IlxuICAgICAgICAgICAgICAgICAqbWF0Um93RGVmPSJsZXQgYXR0cmlidXRlOyBsZXQgaSA9IGluZGV4OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyIgKGNsaWNrKT0ic2VsZWN0Q29ubmVjdG9yKCRldmVudCwgYXR0cmlidXRlKSI+PC9tYXQtcm93PlxuICAgICAgPC90YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9zZWN0aW9uPlxuICA8c2VjdGlvbiBbZm9ybUdyb3VwXT0iY29ubmVjdG9yRm9ybSIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc2VjdGlvbi1jb250YWluZXIgZmxleCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSB0Yi1mbGV4IG5vLWZsZXggc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSI+XG4gICAgICAgIHt7IGluaXRpYWxDb25uZWN0b3I/LnR5cGUgPyBHYXRld2F5Q29ubmVjdG9yVHlwZXNUcmFuc2xhdGVzTWFwLmdldChpbml0aWFsQ29ubmVjdG9yLnR5cGUpIDogXCdcJyB9fVxuICAgICAgICB7eyBcJ2dhdGV3YXkuY29uZmlndXJhdGlvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDxzcGFuIGNsYXNzPSJ2ZXJzaW9uLXBsYWNlaG9sZGVyIiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdjb25maWdWZXJzaW9uXCcpLnZhbHVlIj52e3tjb25uZWN0b3JGb3JtLmdldChcJ2NvbmZpZ1ZlcnNpb25cJykudmFsdWV9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgKm5nSWY9ImluaXRpYWxDb25uZWN0b3IgJiYgYWxsb3dCYXNpY0NvbmZpZy5oYXMoaW5pdGlhbENvbm5lY3Rvci50eXBlKSJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0ibW9kZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uIFt2YWx1ZV09IkNvbm5lY3RvckNvbmZpZ3VyYXRpb25Nb2Rlcy5CQVNJQyI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LmJhc2ljXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiBbdmFsdWVdPSJDb25uZWN0b3JDb25maWd1cmF0aW9uTW9kZXMuQURWQU5DRUQiPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5hZHZhbmNlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgIDwvdGItdG9nZ2xlLXNlbGVjdD5cbiAgICA8L2Rpdj5cbiAgICA8c3BhbiBbZnhTaG93XT0iIWluaXRpYWxDb25uZWN0b3IiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCIgdHJhbnNsYXRlPlxuICAgICAgZ2F0ZXdheS5zZWxlY3QtY29ubmVjdG9yXG4gICAgPC9zcGFuPlxuICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHNlY3Rpb24tY29udGFpbmVyIG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLWZsZXggc3BhY2UtYmV0d2VlbiIgKm5nSWY9ImluaXRpYWxDb25uZWN0b3IiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdtb2RlXCcpPy52YWx1ZSA9PT0gQ29ubmVjdG9yQ29uZmlndXJhdGlvbk1vZGVzLkJBU0lDIGVsc2UgZGVmYXVsdENvbmZpZyI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT0iaW5pdGlhbENvbm5lY3Rvci50eXBlIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9IkNvbm5lY3RvclR5cGUuTVFUVCI+XG4gICAgICAgICAgICA8dGItbXF0dC1iYXNpYy1jb25maWdcbiAgICAgICAgICAgICAgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwnY29uZmlnVmVyc2lvblwnKS52YWx1ZSB8IGlzTGF0ZXN0VmVyc2lvbkNvbmZpZyBlbHNlIGxlZ2FjeSJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgW2dlbmVyYWxUYWJDb250ZW50XT0iZ2VuZXJhbFRhYkNvbnRlbnQiXG4gICAgICAgICAgICAgIChpbml0aWFsaXplZCk9ImJhc2ljQ29uZmlnSW5pdFN1YmplY3QubmV4dCgpIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbGVnYWN5PlxuICAgICAgICAgICAgICA8dGItbXF0dC1sZWdhY3ktYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk9QQ1VBIj5cbiAgICAgICAgICAgIDx0Yi1vcGMtdWEtYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ2NvbmZpZ1ZlcnNpb25cJykudmFsdWUgfCBpc0xhdGVzdFZlcnNpb25Db25maWcgZWxzZSBsZWdhY3kiXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICAgICAgICAgIFtnZW5lcmFsVGFiQ29udGVudF09ImdlbmVyYWxUYWJDb250ZW50IlxuICAgICAgICAgICAgICAoaW5pdGlhbGl6ZWQpPSJiYXNpY0NvbmZpZ0luaXRTdWJqZWN0Lm5leHQoKSJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2xlZ2FjeT5cbiAgICAgICAgICAgICAgPHRiLW9wYy11YS1sZWdhY3ktYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk1PREJVUyI+XG4gICAgICAgICAgICA8dGItbW9kYnVzLWJhc2ljLWNvbmZpZ1xuICAgICAgICAgICAgICAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdjb25maWdWZXJzaW9uXCcpLnZhbHVlIHwgaXNMYXRlc3RWZXJzaW9uQ29uZmlnIGVsc2UgbGVnYWN5IlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9ImJhc2ljQ29uZmlnIlxuICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNsZWdhY3k+XG4gICAgICAgICAgICAgIDx0Yi1tb2RidXMtbGVnYWN5LWJhc2ljLWNvbmZpZ1xuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgW2dlbmVyYWxUYWJDb250ZW50XT0iZ2VuZXJhbFRhYkNvbnRlbnQiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q29uZmlnPlxuICAgICAgICA8bWF0LXRhYi1ncm91cD5cbiAgICAgICAgICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgICAgICAgICAgPHRiLWpzb24tb2JqZWN0LWVkaXRcbiAgICAgICAgICAgICAgZmlsbEhlaWdodD0idHJ1ZSJcbiAgICAgICAgICAgICAgY2xhc3M9InRiLWZsZXggZmlsbC1oZWlnaHQiXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PSJjb2x1bW4iXG4gICAgICAgICAgICAgIGpzb25SZXF1aXJlZFxuICAgICAgICAgICAgICBsYWJlbD0ie3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJjb25maWd1cmF0aW9uSnNvbiI+XG4gICAgICAgICAgICA8L3RiLWpzb24tb2JqZWN0LWVkaXQ+XG4gICAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgICA8L21hdC10YWItZ3JvdXA+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGRpdiBmeExheW91dEFsaWduPSJlbmQgY2VudGVyIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iIWNvbm5lY3RvckZvcm0uZGlydHkgfHwgY29ubmVjdG9yRm9ybS5pbnZhbGlkIlxuICAgICAgICAgICAgICAgIChjbGljayk9Im9uU2F2ZUNvbm5lY3RvcigpIj5cbiAgICAgICAgICB7eyBcJ2FjdGlvbi5zYXZlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG4gIDwvc2VjdGlvbj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNnZW5lcmFsVGFiQ29udGVudD5cbiAgPHNlY3Rpb24gW2Zvcm1Hcm91cF09ImNvbm5lY3RvckZvcm0iIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIHNlY3Rpb24tY29udGFpbmVyIGZsZXgiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiID5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5uYW1lPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGF1dG9jb21wbGV0ZT0ib2ZmIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJuYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS5oYXNFcnJvcihcJ2R1cGxpY2F0ZU5hbWVcJykgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCdnYXRld2F5LmNvbm5lY3Rvci1kdXBsaWNhdGUtbmFtZVwnIDogXCdnYXRld2F5Lm5hbWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSIoY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYgY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLnRvdWNoZWQpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0b3JGb3JtLmdldChcJ25hbWVcJykuaGFzRXJyb3IoXCdkdXBsaWNhdGVOYW1lXCcpIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IENvbm5lY3RvclR5cGUuQ1VTVE9NIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1jbGFzczwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJjbGFzcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlID09PSBDb25uZWN0b3JUeXBlLkdSUEMiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWtleTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJrZXkiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5sb2dzLWNvbmZpZ3VyYXRpb248L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0iZW5hYmxlUmVtb3RlTG9nZ2luZyI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5lbmFibGUtcmVtb3RlLWxvZ2dpbmdcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucmVtb3RlLWxvZ2dpbmctbGV2ZWw8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImxvZ0xldmVsIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbG9nTGV2ZWwgb2YgZ2F0ZXdheUxvZ0xldmVsIiBbdmFsdWVdPSJsb2dMZXZlbCI+e3sgbG9nTGV2ZWwgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IENvbm5lY3RvclR5cGUuTVFUVCIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJzZW5kRGF0YU9ubHlPbkNoYW5nZSI+XG4gICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5zZW5kLWNoYW5nZS1kYXRhLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnNlbmQtY2hhbmdlLWRhdGFcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8L2Rpdj5cbiAgICA8dGItcmVwb3J0LXN0cmF0ZWd5XG4gICAgICBbZGVmYXVsdFZhbHVlXT0iUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWUuQ29ubmVjdG9yIlxuICAgICAgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gQ29ubmVjdG9yVHlwZS5NT0RCVVMgJiYgKGNvbm5lY3RvckZvcm0uZ2V0KFwnY29uZmlnVmVyc2lvblwnKS52YWx1ZSB8IGlzTGF0ZXN0VmVyc2lvbkNvbmZpZykiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9InJlcG9ydFN0cmF0ZWd5IlxuICAgIC8+XG4gIDwvc2VjdGlvbj5cbjwvbmctdGVtcGxhdGU+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrO292ZXJmbG93LXg6YXV0bztwYWRkaW5nOjB9Omhvc3QgLnZlcnNpb24tcGxhY2Vob2xkZXJ7Y29sb3I6Z3JheTtmb250LXNpemU6MTJweH06aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lcntoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2ZsZXgtZGlyZWN0aW9uOnJvd31AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpezpob3N0IC5jb25uZWN0b3ItY29udGFpbmVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn19Omhvc3QgLmNvbm5lY3Rvci1jb250YWluZXI+c2VjdGlvbjpub3QoLnRhYmxlLXNlY3Rpb24pe21heC13aWR0aDp1bnNldH1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpezpob3N0IC5jb25uZWN0b3ItY29udGFpbmVyPnNlY3Rpb246bm90KC50YWJsZS1zZWN0aW9uKXttYXgtd2lkdGg6NTAlfX06aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGFibGUtc2VjdGlvbnttaW4taGVpZ2h0OjM1dmg7b3ZlcmZsb3c6aGlkZGVufTpob3N0IC5jb25uZWN0b3ItY29udGFpbmVyIC50YWJsZS1zZWN0aW9uIC50YWJsZS1jb250YWluZXJ7b3ZlcmZsb3c6YXV0b306aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAuZmxleHtmbGV4OjF9Omhvc3QgLmNvbm5lY3Rvci1jb250YWluZXIgLmlucHV0LWNvbnRhaW5lcntoZWlnaHQ6YXV0b306aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAuc2VjdGlvbi1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfTpob3N0IC5tYXQtdG9vbGJhcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMDAwMDBkZSFpbXBvcnRhbnR9Omhvc3QgLm1hdC1tZGMtc2xpZGUtdG9nZ2xle21hcmdpbjowIDhweH06aG9zdCAuc3RhdHVze3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6MTZweDtmb250LXdlaWdodDo1MDA7d2lkdGg6Zml0LWNvbnRlbnQ7cGFkZGluZzo1cHggMTVweH06aG9zdCAuc3RhdHVzLXN5bmN7YmFja2dyb3VuZDojMTk4MDM4MGY7Y29sb3I6IzE5ODAzOH06aG9zdCAuc3RhdHVzLXVuc3luY3tiYWNrZ3JvdW5kOiNjYjI1MzAwZjtjb2xvcjojY2IyNTMwfTpob3N0IG1hdC1yb3d7Y3Vyc29yOnBvaW50ZXJ9Omhvc3QgLmRvdHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4O2JhY2tncm91bmQtY29sb3I6I2JiYjtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1ibG9ja306aG9zdCAuaGFzRXJyb3Jze2JhY2tncm91bmQtY29sb3I6I2NiMjUzMH06aG9zdCAubm9FcnJvcnN7YmFja2dyb3VuZC1jb2xvcjojMTk4MDM4fTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAubWF0LW1kYy10YWItZ3JvdXAsOmhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC5tYXQtbWRjLXRhYi1ib2R5LXdyYXBwZXJ7aGVpZ2h0OjEwMCV9Omhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC5tYXQtbWRjLXRhYi1ib2R5Lm1hdC1tZGMtdGFiLWJvZHktYWN0aXZle3Bvc2l0aW9uOmFic29sdXRlfTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGItZm9ybS1yb3cgLmZpeGVkLXRpdGxlLXdpZHRoe21pbi13aWR0aDoxMjBweDt3aWR0aDozMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGItYWRkLW5ld3tkaXNwbGF5OmZsZXg7ei1pbmRleDo5OTk7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Omhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC50Yi1hZGQtbmV3IGJ1dHRvbi5jb25uZWN0b3J7aGVpZ2h0OmF1dG87cGFkZGluZy1yaWdodDoxMnB4O2ZvbnQtc2l6ZToyMHB4O2JvcmRlci1zdHlsZTpkYXNoZWQ7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItcmFkaXVzOjhweDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6IzAwMDAwMDYxfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6b3QuU3RvcmV9LHt0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0eXBlOlguQXR0cmlidXRlU2VydmljZX0se3R5cGU6WC5EaWFsb2dTZXJ2aWNlfSx7dHlwZTpKZS5NYXREaWFsb2d9LHt0eXBlOlguVGVsZW1ldHJ5V2Vic29ja2V0U2VydmljZX0se3R5cGU6dC5OZ1pvbmV9LHt0eXBlOlguVXRpbHNTZXJ2aWNlfSx7dHlwZTp2YX0se3R5cGU6dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHByb3BEZWNvcmF0b3JzOntjdHg6W3t0eXBlOmF9XSxkZXZpY2U6W3t0eXBlOmF9XSxuYW1lSW5wdXQ6W3t0eXBlOm8sYXJnczpbIm5hbWVJbnB1dCJdfV0sc29ydDpbe3R5cGU6byxhcmdzOltnLHtzdGF0aWM6ITF9XX1dfX0pO2NsYXNzIHFve2NvbnN0cnVjdG9yKGUpe3RoaXMuZGV2aWNlU2VydmljZT1lfWRvd25sb2FkKGUpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5kZXZpY2VJZCYmdGhpcy5kZXZpY2VTZXJ2aWNlLmRvd25sb2FkR2F0ZXdheURvY2tlckNvbXBvc2VGaWxlKHRoaXMuZGV2aWNlSWQpLnN1YnNjcmliZSgoKCk9Pnt9KSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpxbyxkZXBzOlt7dG9rZW46WC5EZXZpY2VTZXJ2aWNlfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpxbyxzZWxlY3RvcjoidGItZ2F0ZXdheS1jb21tYW5kIixpbnB1dHM6e2RldmljZUlkOiJkZXZpY2VJZCJ9LG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudCBzdHlsZT0icGFkZGluZzogMTZweCAxNnB4IDhweCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIj5cbiAgPGRpdiBjbGFzcz0idGItbm8tZGF0YS10ZXh0Ij57eyBcJ2dhdGV3YXkuZG9ja2VyLWxhYmVsXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+ZGV2aWNlLmNvbm5lY3Rpdml0eS5pbnN0YWxsLW5lY2Vzc2FyeS1jbGllbnQtdG9vbHM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyBzcGFjZS1iZXR3ZWVuIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLW5vLWRhdGEtdGV4dCB0Yi1jb21tYW5kcy1oaW50IiB0cmFuc2xhdGU+Z2F0ZXdheS5pbnN0YWxsLWRvY2tlci1jb21wb3NlPC9kaXY+XG4gICAgICA8YSBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9InByaW1hcnkiIGhyZWY9Imh0dHBzOi8vZG9jcy5kb2NrZXIuY29tL2NvbXBvc2UvaW5zdGFsbC8iIHRhcmdldD0iX2JsYW5rIj5cbiAgICAgICAgPG1hdC1pY29uPmRlc2NyaXB0aW9uPC9tYXQtaWNvbj5cbiAgICAgICAge3sgXCdjb21tb24uZG9jdW1lbnRhdGlvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2E+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuZG93bmxvYWQtY29uZmlndXJhdGlvbi1maWxlPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgc3BhY2UtYmV0d2VlbiI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1uby1kYXRhLXRleHQgdGItY29tbWFuZHMtaGludCIgdHJhbnNsYXRlPmdhdGV3YXkuZG93bmxvYWQtZG9ja2VyLWNvbXBvc2U8L2Rpdj5cbiAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJkb3dubG9hZCgkZXZlbnQpIj5cbiAgICAgICAgPG1hdC1pY29uPmRvd25sb2FkPC9tYXQtaWNvbj5cbiAgICAgICAge3sgXCdhY3Rpb24uZG93bmxvYWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkubGF1bmNoLWdhdGV3YXk8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1uby1kYXRhLXRleHQgdGItY29tbWFuZHMtaGludCIgdHJhbnNsYXRlPmdhdGV3YXkubGF1bmNoLWRvY2tlci1jb21wb3NlPC9kaXY+XG4gICAgPHRiLW1hcmtkb3duIHVzZVBsYWluTWFya2Rvd24gY29udGFpbmVyQ2xhc3M9InN0YXJ0LWNvZGUiXG4gICAgICAgICAgICAgICAgIGRhdGE9IlxuICAgICAgICAgIGBgYGJhc2hcbiAgICAgICAgICBkb2NrZXIgY29tcG9zZSB1cFxuICAgICAgICAgIHs6Y29weS1jb2RlfVxuICAgICAgICAgIGBgYFxuICAgICAgIj48L3RiLW1hcmtkb3duPlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC50Yi1jb21tYW5kcy1oaW50e2NvbG9yOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2ZsZXg6MX06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgLmNvZGUtd3JhcHBlcntwYWRkaW5nOjB9Omhvc3QgOjpuZy1kZWVwIC50Yi1tYXJrZG93bi12aWV3IC5zdGFydC1jb2RlIC5jb2RlLXdyYXBwZXIgcHJlW2NsYXNzKj1sYW5ndWFnZS1de21hcmdpbjowO2JhY2tncm91bmQ6I2YzZjZmYTtib3JkZXItY29sb3I6IzMwNTY4MDtwYWRkaW5nLXJpZ2h0OjM4cHg7b3ZlcmZsb3c6c2Nyb2xsO3BhZGRpbmctYm90dG9tOjRweDttaW4taGVpZ2h0OjQycHg7c2Nyb2xsYmFyLXdpZHRoOnRoaW59Omhvc3QgOjpuZy1kZWVwIC50Yi1tYXJrZG93bi12aWV3IC5zdGFydC1jb2RlIC5jb2RlLXdyYXBwZXIgcHJlW2NsYXNzKj1sYW5ndWFnZS1dOjotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo0cHg7aGVpZ2h0OjRweH06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG57cmlnaHQ6LTJweH06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG4gcHtjb2xvcjojMzA1NjgwfTpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBwLDpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBkaXZ7YmFja2dyb3VuZC1jb2xvcjojZjNmNmZhfTpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBkaXYgaW1ne2Rpc3BsYXk6bm9uZX06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG4gZGl2OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246aW5pdGlhbDtkaXNwbGF5OmJsb2NrO3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7YmFja2dyb3VuZDojMzA1NjgwO21hc2staW1hZ2U6dXJsKC9hc3NldHMvY29weS1jb2RlLWljb24uc3ZnKTstd2Via2l0LW1hc2staW1hZ2U6dXJsKC9hc3NldHMvY29weS1jb2RlLWljb24uc3ZnKTttYXNrLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1tYXNrLXJlcGVhdDpuby1yZXBlYXR9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJjb21wb25lbnQiLHR5cGU6d3QuVGJNYXJrZG93bkNvbXBvbmVudCxzZWxlY3RvcjoidGItbWFya2Rvd24iLGlucHV0czpbImRhdGEiLCJjb250ZXh0IiwiYWRkaXRpb25hbENvbXBpbGVNb2R1bGVzIiwibWFya2Rvd25DbGFzcyIsImNvbnRhaW5lckNsYXNzIiwic3R5bGUiLCJhcHBseURlZmF1bHRNYXJrZG93blN0eWxlIiwiYWRkaXRpb25hbFN0eWxlcyIsImxpbmVOdW1iZXJzIiwiZmFsbGJhY2tUb1BsYWluTWFya2Rvd24iLCJ1c2VQbGFpbk1hcmtkb3duIl0sb3V0cHV0czpbInJlYWR5Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QW5jaG9yLHNlbGVjdG9yOiJhW21hdC1idXR0b25dLCBhW21hdC1yYWlzZWQtYnV0dG9uXSwgYVttYXQtZmxhdC1idXR0b25dLCBhW21hdC1zdHJva2VkLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIiwibWF0QW5jaG9yIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QnV0dG9uLHNlbGVjdG9yOiIgICAgYnV0dG9uW21hdC1idXR0b25dLCBidXR0b25bbWF0LXJhaXNlZC1idXR0b25dLCBidXR0b25bbWF0LWZsYXQtYnV0dG9uXSwgICAgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0gICIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQ29udGVudCxzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XX0pfX1lKCJEZXZpY2VHYXRld2F5Q29tbWFuZENvbXBvbmVudCIscW8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6cW8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktY29tbWFuZCIsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudCBzdHlsZT0icGFkZGluZzogMTZweCAxNnB4IDhweCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIj5cbiAgPGRpdiBjbGFzcz0idGItbm8tZGF0YS10ZXh0Ij57eyBcJ2dhdGV3YXkuZG9ja2VyLWxhYmVsXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+ZGV2aWNlLmNvbm5lY3Rpdml0eS5pbnN0YWxsLW5lY2Vzc2FyeS1jbGllbnQtdG9vbHM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyBzcGFjZS1iZXR3ZWVuIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLW5vLWRhdGEtdGV4dCB0Yi1jb21tYW5kcy1oaW50IiB0cmFuc2xhdGU+Z2F0ZXdheS5pbnN0YWxsLWRvY2tlci1jb21wb3NlPC9kaXY+XG4gICAgICA8YSBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9InByaW1hcnkiIGhyZWY9Imh0dHBzOi8vZG9jcy5kb2NrZXIuY29tL2NvbXBvc2UvaW5zdGFsbC8iIHRhcmdldD0iX2JsYW5rIj5cbiAgICAgICAgPG1hdC1pY29uPmRlc2NyaXB0aW9uPC9tYXQtaWNvbj5cbiAgICAgICAge3sgXCdjb21tb24uZG9jdW1lbnRhdGlvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2E+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuZG93bmxvYWQtY29uZmlndXJhdGlvbi1maWxlPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgc3BhY2UtYmV0d2VlbiI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1uby1kYXRhLXRleHQgdGItY29tbWFuZHMtaGludCIgdHJhbnNsYXRlPmdhdGV3YXkuZG93bmxvYWQtZG9ja2VyLWNvbXBvc2U8L2Rpdj5cbiAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJkb3dubG9hZCgkZXZlbnQpIj5cbiAgICAgICAgPG1hdC1pY29uPmRvd25sb2FkPC9tYXQtaWNvbj5cbiAgICAgICAge3sgXCdhY3Rpb24uZG93bmxvYWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkubGF1bmNoLWdhdGV3YXk8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1uby1kYXRhLXRleHQgdGItY29tbWFuZHMtaGludCIgdHJhbnNsYXRlPmdhdGV3YXkubGF1bmNoLWRvY2tlci1jb21wb3NlPC9kaXY+XG4gICAgPHRiLW1hcmtkb3duIHVzZVBsYWluTWFya2Rvd24gY29udGFpbmVyQ2xhc3M9InN0YXJ0LWNvZGUiXG4gICAgICAgICAgICAgICAgIGRhdGE9IlxuICAgICAgICAgIGBgYGJhc2hcbiAgICAgICAgICBkb2NrZXIgY29tcG9zZSB1cFxuICAgICAgICAgIHs6Y29weS1jb2RlfVxuICAgICAgICAgIGBgYFxuICAgICAgIj48L3RiLW1hcmtkb3duPlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC50Yi1jb21tYW5kcy1oaW50e2NvbG9yOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2ZsZXg6MX06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgLmNvZGUtd3JhcHBlcntwYWRkaW5nOjB9Omhvc3QgOjpuZy1kZWVwIC50Yi1tYXJrZG93bi12aWV3IC5zdGFydC1jb2RlIC5jb2RlLXdyYXBwZXIgcHJlW2NsYXNzKj1sYW5ndWFnZS1de21hcmdpbjowO2JhY2tncm91bmQ6I2YzZjZmYTtib3JkZXItY29sb3I6IzMwNTY4MDtwYWRkaW5nLXJpZ2h0OjM4cHg7b3ZlcmZsb3c6c2Nyb2xsO3BhZGRpbmctYm90dG9tOjRweDttaW4taGVpZ2h0OjQycHg7c2Nyb2xsYmFyLXdpZHRoOnRoaW59Omhvc3QgOjpuZy1kZWVwIC50Yi1tYXJrZG93bi12aWV3IC5zdGFydC1jb2RlIC5jb2RlLXdyYXBwZXIgcHJlW2NsYXNzKj1sYW5ndWFnZS1dOjotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo0cHg7aGVpZ2h0OjRweH06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG57cmlnaHQ6LTJweH06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG4gcHtjb2xvcjojMzA1NjgwfTpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBwLDpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBkaXZ7YmFja2dyb3VuZC1jb2xvcjojZjNmNmZhfTpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBkaXYgaW1ne2Rpc3BsYXk6bm9uZX06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG4gZGl2OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246aW5pdGlhbDtkaXNwbGF5OmJsb2NrO3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7YmFja2dyb3VuZDojMzA1NjgwO21hc2staW1hZ2U6dXJsKC9hc3NldHMvY29weS1jb2RlLWljb24uc3ZnKTstd2Via2l0LW1hc2staW1hZ2U6dXJsKC9hc3NldHMvY29weS1jb2RlLWljb24uc3ZnKTttYXNrLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1tYXNrLXJlcGVhdDpuby1yZXBlYXR9XG4nXX1dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTpYLkRldmljZVNlcnZpY2V9XSxwcm9wRGVjb3JhdG9yczp7ZGV2aWNlSWQ6W3t0eXBlOmF9XX19KTtjbGFzcyBEb3tjb25zdHJ1Y3RvcihlLHQsbixhKXt0aGlzLmZiPWUsdGhpcy5kZXZpY2VTZXJ2aWNlPXQsdGhpcy5jZD1uLHRoaXMuZGlhbG9nPWEsdGhpcy5kaWFsb2dNb2RlPSExLHRoaXMuaW5pdGlhbENyZWRlbnRpYWxzVXBkYXRlZD1uZXcgaSx0aGlzLlN0b3JhZ2VUeXBlcz1BdCx0aGlzLnN0b3JhZ2VUeXBlcz1PYmplY3QudmFsdWVzKEF0KSx0aGlzLnN0b3JhZ2VUeXBlc1RyYW5zbGF0aW9uTWFwPVJ0LHRoaXMubG9nU2F2aW5nUGVyaW9kcz1PdCx0aGlzLmxvY2FsTG9nc0NvbmZpZ3M9T2JqZWN0LmtleXMoUHQpLHRoaXMubG9jYWxMb2dzQ29uZmlnVHJhbnNsYXRlTWFwPUd0LHRoaXMuc2VjdXJpdHlUeXBlcz1CdCx0aGlzLmdhdGV3YXlMb2dMZXZlbD1PYmplY3QudmFsdWVzKE10KSx0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLmluaXRCYXNpY0Zvcm1Hcm91cCgpLHRoaXMub2JzZXJ2ZUZvcm1DaGFuZ2VzKCksdGhpcy5iYXNpY0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9d3JpdGVWYWx1ZShlKXt0aGlzLmJhc2ljRm9ybUdyb3VwLnBhdGNoVmFsdWUoZSx7ZW1pdEV2ZW50OiExfSksdGhpcy5jaGVja0FuZEZldGNoQ3JlZGVudGlhbHMoZT8udGhpbmdzYm9hcmQ/LnNlY3VyaXR5Pz97fSksZT8uZ3JwYyYmdGhpcy50b2dnbGVScGNGaWVsZHMoZS5ncnBjLmVuYWJsZWQpOyhlPy50aGluZ3Nib2FyZD8uc3RhdGlzdGljcz8uY29tbWFuZHM/P1tdKS5mb3JFYWNoKChlPT50aGlzLmFkZENvbW1hbmQoZSwhMSkpKX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLmJhc2ljRm9ybUdyb3VwLnZhbGlkP251bGw6e2Jhc2ljRm9ybUdyb3VwOnt2YWxpZDohMX19fWF0TGVhc3RPbmVSZXF1aXJlZChlLHQ9bnVsbCl7cmV0dXJuIG49Pnt0fHwodD1PYmplY3Qua2V5cyhuLmNvbnRyb2xzKSk7cmV0dXJuIG4/LmNvbnRyb2xzJiZ0LnNvbWUoKHQ9PiFlKG4uY29udHJvbHNbdF0pKSk/bnVsbDp7YXRMZWFzdE9uZTohMH19fXRvZ2dsZVJwY0ZpZWxkcyhlKXtjb25zdCB0PXRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJncnBjIik7ZT8odC5nZXQoInNlcnZlclBvcnQiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJrZWVwQWxpdmVUaW1lTXMiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJrZWVwQWxpdmVUaW1lb3V0TXMiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJrZWVwYWxpdmVQZXJtaXRXaXRob3V0Q2FsbHMiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJtYXhQaW5nc1dpdGhvdXREYXRhIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0LmdldCgibWluVGltZUJldHdlZW5QaW5nc01zIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0LmdldCgibWluUGluZ0ludGVydmFsV2l0aG91dERhdGFNcyIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSkpOih0LmdldCgic2VydmVyUG9ydCIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJrZWVwQWxpdmVUaW1lTXMiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSx0LmdldCgia2VlcEFsaXZlVGltZW91dE1zIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoImtlZXBhbGl2ZVBlcm1pdFdpdGhvdXRDYWxscyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJtYXhQaW5nc1dpdGhvdXREYXRhIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoIm1pblRpbWVCZXR3ZWVuUGluZ3NNcyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJtaW5QaW5nSW50ZXJ2YWxXaXRob3V0RGF0YU1zIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpfWFkZExvY2FsTG9nQ29uZmlnKGUsdCl7Y29uc3Qgbj10aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgibG9ncy5sb2NhbCIpLGE9dGhpcy5mYi5ncm91cCh7bG9nTGV2ZWw6W3QubG9nTGV2ZWx8fE10LklORk8sW3VlLnJlcXVpcmVkXV0sZmlsZVBhdGg6W3QuZmlsZVBhdGh8fCIuL2xvZ3MiLFt1ZS5yZXF1aXJlZF1dLGJhY2t1cENvdW50Olt0LmJhY2t1cENvdW50fHw3LFt1ZS5yZXF1aXJlZCx1ZS5taW4oMCldXSxzYXZpbmdUaW1lOlt0LnNhdmluZ1RpbWV8fDMsW3VlLnJlcXVpcmVkLHVlLm1pbigwKV1dLHNhdmluZ1BlcmlvZDpbdC5zYXZpbmdQZXJpb2R8fER0LmRheXMsW3VlLnJlcXVpcmVkXV19KTtuLmFkZENvbnRyb2woZSxhKX1nZXRMb2dGb3JtR3JvdXAoZSl7cmV0dXJuIHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KGBsb2dzLmxvY2FsLiR7ZX1gKX1jb21tYW5kRm9ybUFycmF5KCl7cmV0dXJuIHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJ0aGluZ3Nib2FyZC5zdGF0aXN0aWNzLmNvbW1hbmRzIil9cmVtb3ZlQ29tbWFuZENvbnRyb2woZSx0KXsiIiE9PXQucG9pbnRlclR5cGUmJih0aGlzLmNvbW1hbmRGb3JtQXJyYXkoKS5yZW1vdmVBdChlKSx0aGlzLmJhc2ljRm9ybUdyb3VwLm1hcmtBc0RpcnR5KCkpfXJlbW92ZUFsbFNlY3VyaXR5VmFsaWRhdG9ycygpe2NvbnN0IGU9dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInRoaW5nc2JvYXJkLnNlY3VyaXR5Iik7ZS5jbGVhclZhbGlkYXRvcnMoKTtmb3IoY29uc3QgdCBpbiBlLmNvbnRyb2xzKSJ0eXBlIiE9PXQmJihlLmNvbnRyb2xzW3RdLmNsZWFyVmFsaWRhdG9ycygpLGUuY29udHJvbHNbdF0uc2V0RXJyb3JzKG51bGwpLGUuY29udHJvbHNbdF0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpKX1yZW1vdmVBbGxTdG9yYWdlVmFsaWRhdG9ycygpe2NvbnN0IGU9dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInN0b3JhZ2UiKTtmb3IoY29uc3QgdCBpbiBlLmNvbnRyb2xzKSJ0eXBlIiE9PXQmJihlLmNvbnRyb2xzW3RdLmNsZWFyVmFsaWRhdG9ycygpLGUuY29udHJvbHNbdF0uc2V0RXJyb3JzKG51bGwpLGUuY29udHJvbHNbdF0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpKX1vcGVuQ29uZmlndXJhdGlvbkNvbmZpcm1EaWFsb2coKXt0aGlzLmRldmljZVNlcnZpY2UuZ2V0RGV2aWNlKHRoaXMuZGV2aWNlLmlkKS5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLmRpYWxvZy5vcGVuKFBhLHtkaXNhYmxlQ2xvc2U6ITAscGFuZWxDbGFzczpbInRiLWRpYWxvZyIsInRiLWZ1bGxzY3JlZW4tZGlhbG9nIl0sZGF0YTp7Z2F0ZXdheU5hbWU6ZS5uYW1lfX0pLmFmdGVyQ2xvc2VkKCkucGlwZShPZSgxKSkuc3Vic2NyaWJlKChlPT57ZXx8dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInRoaW5nc2JvYXJkLnJlbW90ZUNvbmZpZ3VyYXRpb24iKS5zZXRWYWx1ZSghMCx7ZW1pdEV2ZW50OiExfSl9KSl9KSl9YWRkQ29tbWFuZChlLHQ9ITApe2NvbnN0e2F0dHJpYnV0ZU9uR2F0ZXdheTpuPW51bGwsY29tbWFuZDphPW51bGwsdGltZW91dDpvPW51bGx9PWV8fHt9LGk9dGhpcy5mYi5ncm91cCh7YXR0cmlidXRlT25HYXRld2F5OltuLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKC9eW14uXHNdKyQvKV1dLGNvbW1hbmQ6W2EsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oL14oPz1cUykuKlxTJC8pXV0sdGltZW91dDpbbyxbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKSx1ZS5wYXR0ZXJuKC9eW14uXHNdKyQvKV1dfSk7dGhpcy5jb21tYW5kRm9ybUFycmF5KCkucHVzaChpLHtlbWl0RXZlbnQ6dH0pfWluaXRCYXNpY0Zvcm1Hcm91cCgpe3RoaXMuYmFzaWNGb3JtR3JvdXA9dGhpcy5mYi5ncm91cCh7dGhpbmdzYm9hcmQ6dGhpcy5pbml0VGhpbmdzYm9hcmRGb3JtR3JvdXAoKSxzdG9yYWdlOnRoaXMuaW5pdFN0b3JhZ2VGb3JtR3JvdXAoKSxncnBjOnRoaXMuaW5pdEdycGNGb3JtR3JvdXAoKSxjb25uZWN0b3JzOnRoaXMuZmIuYXJyYXkoW10pLGxvZ3M6dGhpcy5pbml0TG9nc0Zvcm1Hcm91cCgpfSl9aW5pdFRoaW5nc2JvYXJkRm9ybUdyb3VwKCl7cmV0dXJuIHRoaXMuZmIuZ3JvdXAoe2hvc3Q6W3dpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSxbdWUucmVxdWlyZWQsdWUucGF0dGVybigvXlteXHNdKyQvKV1dLHBvcnQ6WzE4ODMsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5tYXgoNjU1MzUpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLHJlbW90ZVNoZWxsOlshMV0scmVtb3RlQ29uZmlndXJhdGlvbjpbITBdLGNoZWNrQ29ubmVjdG9yc0NvbmZpZ3VyYXRpb25JblNlY29uZHM6WzYwLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sc3RhdGlzdGljczp0aGlzLmZiLmdyb3VwKHtlbmFibGU6WyEwXSxzdGF0c1NlbmRQZXJpb2RJblNlY29uZHM6WzM2MDAsW3VlLnJlcXVpcmVkLHVlLm1pbig2MCksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sY29tbWFuZHM6dGhpcy5mYi5hcnJheShbXSl9KSxtYXhQYXlsb2FkU2l6ZUJ5dGVzOls4MTk2LFt1ZS5yZXF1aXJlZCx1ZS5taW4oMTAwKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxtaW5QYWNrU2VuZERlbGF5TVM6WzUwLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMTApLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLG1pblBhY2tTaXplVG9TZW5kOls1MDAsW3VlLnJlcXVpcmVkLHVlLm1pbigxMDApLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLGhhbmRsZURldmljZVJlbmFtaW5nOlshMF0sY2hlY2tpbmdEZXZpY2VBY3Rpdml0eTp0aGlzLmluaXRDaGVja2luZ0RldmljZUFjdGl2aXR5Rm9ybUdyb3VwKCksc2VjdXJpdHk6dGhpcy5pbml0U2VjdXJpdHlGb3JtR3JvdXAoKSxxb3M6WzEsW3VlLnJlcXVpcmVkLHVlLm1pbigwKSx1ZS5tYXgoMSksdWUucGF0dGVybigvXlteLlxzXSskLyldXX0pfWluaXRTdG9yYWdlRm9ybUdyb3VwKCl7cmV0dXJuIHRoaXMuZmIuZ3JvdXAoe3R5cGU6W0F0Lk1FTU9SWSxbdWUucmVxdWlyZWRdXSxyZWFkX3JlY29yZHNfY291bnQ6WzEwMCxbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLG1heF9yZWNvcmRzX2NvdW50OlsxZTUsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxkYXRhX2ZvbGRlcl9wYXRoOlsiLi9kYXRhLyIsW3VlLnJlcXVpcmVkXV0sbWF4X2ZpbGVfY291bnQ6WzEwLFt1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sbWF4X3JlYWRfcmVjb3Jkc19jb3VudDpbMTAsW3VlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxtYXhfcmVjb3Jkc19wZXJfZmlsZTpbMWU0LFt1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sZGF0YV9maWxlX3BhdGg6WyIuL2RhdGEvZGF0YS5kYiIsW3VlLnJlcXVpcmVkXV0sbWVzc2FnZXNfdHRsX2NoZWNrX2luX2hvdXJzOlsxLFt1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sbWVzc2FnZXNfdHRsX2luX2RheXM6WzcsW3VlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXX0pfWluaXRHcnBjRm9ybUdyb3VwKCl7cmV0dXJuIHRoaXMuZmIuZ3JvdXAoe2VuYWJsZWQ6WyExXSxzZXJ2ZXJQb3J0Ols5NTk1LFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUubWF4KDY1NTM1KSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxrZWVwQWxpdmVUaW1lTXM6WzFlNCxbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLGtlZXBBbGl2ZVRpbWVvdXRNczpbNWUzLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sa2VlcGFsaXZlUGVybWl0V2l0aG91dENhbGxzOlshMF0sbWF4UGluZ3NXaXRob3V0RGF0YTpbMCxbdWUucmVxdWlyZWQsdWUubWluKDApLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLG1pblRpbWVCZXR3ZWVuUGluZ3NNczpbMWU0LFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sbWluUGluZ0ludGVydmFsV2l0aG91dERhdGFNczpbNWUzLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV19KX1pbml0TG9nc0Zvcm1Hcm91cCgpe3JldHVybiB0aGlzLmZiLmdyb3VwKHtkYXRlRm9ybWF0OlsiJVktJW0tJWQgJUg6JU06JVMiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKC9eW15cc10uKlteXHNdJC8pXV0sbG9nRm9ybWF0OlsiJShhc2N0aW1lKXMgLSB8JShsZXZlbG5hbWUpc3wgLSBbJShmaWxlbmFtZSlzXSAtICUobW9kdWxlKXMgLSAlKGZ1bmNOYW1lKXMgLSAlKGxpbmVubylkIC0gJShtZXNzYWdlKXMiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKC9eW15cc10uKlteXHNdJC8pXV0sdHlwZTpbInJlbW90ZSIsW3VlLnJlcXVpcmVkXV0scmVtb3RlOnRoaXMuZmIuZ3JvdXAoe2VuYWJsZWQ6WyExXSxsb2dMZXZlbDpbTXQuSU5GTyxbdWUucmVxdWlyZWRdXX0pLGxvY2FsOnRoaXMuZmIuZ3JvdXAoe30pfSl9aW5pdENoZWNraW5nRGV2aWNlQWN0aXZpdHlGb3JtR3JvdXAoKXtyZXR1cm4gdGhpcy5mYi5ncm91cCh7Y2hlY2tEZXZpY2VJbmFjdGl2aXR5OlshMV0saW5hY3Rpdml0eVRpbWVvdXRTZWNvbmRzOlsyMDAsW3VlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxpbmFjdGl2aXR5Q2hlY2tQZXJpb2RTZWNvbmRzOls1MDAsW3VlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXX0pfWluaXRTZWN1cml0eUZvcm1Hcm91cCgpe3JldHVybiB0aGlzLmZiLmdyb3VwKHt0eXBlOltWdC5BQ0NFU1NfVE9LRU4sW3VlLnJlcXVpcmVkXV0sYWNjZXNzVG9rZW46W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oL15bXi5cc10rJC8pXV0sY2xpZW50SWQ6W251bGwsW3VlLnBhdHRlcm4oL15bXi5cc10rJC8pXV0sdXNlcm5hbWU6W251bGwsW3VlLnBhdHRlcm4oL15bXi5cc10rJC8pXV0scGFzc3dvcmQ6W251bGwsW3VlLnBhdHRlcm4oL15bXi5cc10rJC8pXV0sY2FDZXJ0OltudWxsXSxjZXJ0OltudWxsXSxwcml2YXRlS2V5OltudWxsXX0pfW9ic2VydmVGb3JtQ2hhbmdlcygpe3RoaXMub2JzZXJ2ZVNlY3VyaXR5UGFzc3dvcmRDaGFuZ2VzKCksdGhpcy5vYnNlcnZlUmVtb3RlQ29uZmlndXJhdGlvbkNoYW5nZXMoKSx0aGlzLm9ic2VydmVEZXZpY2VBY3Rpdml0eUNoYW5nZXMoKSx0aGlzLm9ic2VydmVTZWN1cml0eVR5cGVDaGFuZ2VzKCksdGhpcy5vYnNlcnZlU3RvcmFnZVR5cGVDaGFuZ2VzKCl9b2JzZXJ2ZVNlY3VyaXR5UGFzc3dvcmRDaGFuZ2VzKCl7Y29uc3QgZT10aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgidGhpbmdzYm9hcmQuc2VjdXJpdHkudXNlcm5hbWUiKTt0aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgidGhpbmdzYm9hcmQuc2VjdXJpdHkucGFzc3dvcmQiKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh0PT57dCYmIiIhPT10P2Uuc2V0VmFsaWRhdG9ycyhbdWUucmVxdWlyZWRdKTplLmNsZWFyVmFsaWRhdG9ycygpLGUudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiExfSl9KSl9b2JzZXJ2ZVJlbW90ZUNvbmZpZ3VyYXRpb25DaGFuZ2VzKCl7dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInRoaW5nc2JvYXJkLnJlbW90ZUNvbmZpZ3VyYXRpb24iKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57ZXx8dGhpcy5vcGVuQ29uZmlndXJhdGlvbkNvbmZpcm1EaWFsb2coKX0pKSx0aGlzLmxvZ1NlbGVjdG9yPXRoaXMuZmIuY29udHJvbChQdC5zZXJ2aWNlKTtmb3IoY29uc3QgZSBvZiBPYmplY3Qua2V5cyhQdCkpdGhpcy5hZGRMb2NhbExvZ0NvbmZpZyhlLHt9KX1vYnNlcnZlRGV2aWNlQWN0aXZpdHlDaGFuZ2VzKCl7Y29uc3QgZT10aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgidGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eSIpO2UuZ2V0KCJjaGVja0RldmljZUluYWN0aXZpdHkiKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh0PT57ZS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7Y29uc3Qgbj1bdWUubWluKDEpLHVlLnJlcXVpcmVkLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV07dD8oZS5nZXQoImluYWN0aXZpdHlUaW1lb3V0U2Vjb25kcyIpLnNldFZhbGlkYXRvcnMobiksZS5nZXQoImluYWN0aXZpdHlDaGVja1BlcmlvZFNlY29uZHMiKS5zZXRWYWxpZGF0b3JzKG4pKTooZS5nZXQoImluYWN0aXZpdHlUaW1lb3V0U2Vjb25kcyIpLmNsZWFyVmFsaWRhdG9ycygpLGUuZ2V0KCJpbmFjdGl2aXR5Q2hlY2tQZXJpb2RTZWNvbmRzIikuY2xlYXJWYWxpZGF0b3JzKCkpLGUuZ2V0KCJpbmFjdGl2aXR5VGltZW91dFNlY29uZHMiKS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtlbWl0RXZlbnQ6ITF9KSxlLmdldCgiaW5hY3Rpdml0eUNoZWNrUGVyaW9kU2Vjb25kcyIpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohMX0pfSkpLHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJncnBjLmVuYWJsZWQiKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy50b2dnbGVScGNGaWVsZHMoZSl9KSl9b2JzZXJ2ZVNlY3VyaXR5VHlwZUNoYW5nZXMoKXtjb25zdCBlPXRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJ0aGluZ3Nib2FyZC5zZWN1cml0eSIpO2UuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgodD0+e3N3aXRjaCh0aGlzLnJlbW92ZUFsbFNlY3VyaXR5VmFsaWRhdG9ycygpLHQpe2Nhc2UgVnQuQUNDRVNTX1RPS0VOOnRoaXMuYWRkQWNjZXNzVG9rZW5WYWxpZGF0b3JzKGUpO2JyZWFrO2Nhc2UgVnQuVExTX1BSSVZBVEVfS0VZOnRoaXMuYWRkVGxzUHJpdmF0ZUtleVZhbGlkYXRvcnMoZSk7YnJlYWs7Y2FzZSBWdC5UTFNfQUNDRVNTX1RPS0VOOnRoaXMuYWRkVGxzQWNjZXNzVG9rZW5WYWxpZGF0b3JzKGUpO2JyZWFrO2Nhc2UgVnQuVVNFUk5BTUVfUEFTU1dPUkQ6ZS5hZGRWYWxpZGF0b3JzKFt0aGlzLmF0TGVhc3RPbmVSZXF1aXJlZCh1ZS5yZXF1aXJlZCxbImNsaWVudElkIiwidXNlcm5hbWUiXSldKX1lLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKX0pKSxbImNhQ2VydCIsInByaXZhdGVLZXkiLCJjZXJ0Il0uZm9yRWFjaCgodD0+e2UuZ2V0KHQpLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCgpPT50aGlzLmNkLmRldGVjdENoYW5nZXMoKSkpfSkpfW9ic2VydmVTdG9yYWdlVHlwZUNoYW5nZXMoKXtjb25zdCBlPXRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJzdG9yYWdlIik7ZS5nZXQoInR5cGUiKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh0PT57c3dpdGNoKHRoaXMucmVtb3ZlQWxsU3RvcmFnZVZhbGlkYXRvcnMoKSx0KXtjYXNlIEF0Lk1FTU9SWTp0aGlzLmFkZE1lbW9yeVN0b3JhZ2VWYWxpZGF0b3JzKGUpO2JyZWFrO2Nhc2UgQXQuRklMRTp0aGlzLmFkZEZpbGVTdG9yYWdlVmFsaWRhdG9ycyhlKTticmVhaztjYXNlIEF0LlNRTElURTp0aGlzLmFkZFNxbGl0ZVN0b3JhZ2VWYWxpZGF0b3JzKGUpfX0pKX1hZGRBY2Nlc3NUb2tlblZhbGlkYXRvcnMoZSl7ZS5nZXQoImFjY2Vzc1Rva2VuIikuYWRkVmFsaWRhdG9ycyhbdWUucmVxdWlyZWQsdWUucGF0dGVybigvXlteLlxzXSskLyldKSxlLmdldCgiYWNjZXNzVG9rZW4iKS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCl9YWRkVGxzUHJpdmF0ZUtleVZhbGlkYXRvcnMoZSl7WyJjYUNlcnQiLCJwcml2YXRlS2V5IiwiY2VydCJdLmZvckVhY2goKHQ9PntlLmdldCh0KS5hZGRWYWxpZGF0b3JzKFt1ZS5yZXF1aXJlZF0pLGUuZ2V0KHQpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKX0pKX1hZGRUbHNBY2Nlc3NUb2tlblZhbGlkYXRvcnMoZSl7dGhpcy5hZGRBY2Nlc3NUb2tlblZhbGlkYXRvcnMoZSksZS5nZXQoImNhQ2VydCIpLmFkZFZhbGlkYXRvcnMoW3VlLnJlcXVpcmVkXSksZS5nZXQoImNhQ2VydCIpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKX1hZGRNZW1vcnlTdG9yYWdlVmFsaWRhdG9ycyhlKXtlLmdldCgicmVhZF9yZWNvcmRzX2NvdW50IikuYWRkVmFsaWRhdG9ycyhbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV0pLGUuZ2V0KCJtYXhfcmVjb3Jkc19jb3VudCIpLmFkZFZhbGlkYXRvcnMoW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldKSxlLmdldCgicmVhZF9yZWNvcmRzX2NvdW50IikudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiExfSksZS5nZXQoIm1heF9yZWNvcmRzX2NvdW50IikudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiExfSl9YWRkRmlsZVN0b3JhZ2VWYWxpZGF0b3JzKGUpe1sibWF4X2ZpbGVfY291bnQiLCJtYXhfcmVhZF9yZWNvcmRzX2NvdW50IiwibWF4X3JlY29yZHNfcGVyX2ZpbGUiXS5mb3JFYWNoKCh0PT57ZS5nZXQodCkuYWRkVmFsaWRhdG9ycyhbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV0pLGUuZ2V0KHQpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohMX0pfSkpfWFkZFNxbGl0ZVN0b3JhZ2VWYWxpZGF0b3JzKGUpe1sibWVzc2FnZXNfdHRsX2NoZWNrX2luX2hvdXJzIiwibWVzc2FnZXNfdHRsX2luX2RheXMiXS5mb3JFYWNoKCh0PT57ZS5nZXQodCkuYWRkVmFsaWRhdG9ycyhbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV0pLGUuZ2V0KHQpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohMX0pfSkpfWNoZWNrQW5kRmV0Y2hDcmVkZW50aWFscyhlKXtlLnR5cGUhPT1WdC5UTFNfUFJJVkFURV9LRVkmJnRoaXMuZGV2aWNlU2VydmljZS5nZXREZXZpY2VDcmVkZW50aWFscyh0aGlzLmRldmljZS5pZCkucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh0PT57dGhpcy5pbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkLmVtaXQodCksdGhpcy51cGRhdGVTZWN1cml0eVR5cGUoZSx0KSx0aGlzLnVwZGF0ZUNyZWRlbnRpYWxzKHQsZSl9KSl9dXBkYXRlU2VjdXJpdHlUeXBlKGUsdCl7Y29uc3Qgbj10LmNyZWRlbnRpYWxzVHlwZT09PVUuQUNDRVNTX1RPS0VOfHxlLnR5cGU9PT1WdC5UTFNfQUNDRVNTX1RPS0VOP2UudHlwZT09PVZ0LlRMU19BQ0NFU1NfVE9LRU4/VnQuVExTX0FDQ0VTU19UT0tFTjpWdC5BQ0NFU1NfVE9LRU46dC5jcmVkZW50aWFsc1R5cGU9PT1VLk1RVFRfQkFTSUM/VnQuVVNFUk5BTUVfUEFTU1dPUkQ6bnVsbDtuJiZ0aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgidGhpbmdzYm9hcmQuc2VjdXJpdHkudHlwZSIpLnNldFZhbHVlKG4se2VtaXRFdmVudDohMX0pfXVwZGF0ZUNyZWRlbnRpYWxzKGUsdCl7c3dpdGNoKGUuY3JlZGVudGlhbHNUeXBlKXtjYXNlIFUuQUNDRVNTX1RPS0VOOnRoaXMudXBkYXRlQWNjZXNzVG9rZW5DcmVkZW50aWFscyhlLHQpO2JyZWFrO2Nhc2UgVS5NUVRUX0JBU0lDOnRoaXMudXBkYXRlTXF0dEJhc2ljQ3JlZGVudGlhbHMoZSk7Y2FzZSBVLlg1MDlfQ0VSVElGSUNBVEU6fX11cGRhdGVBY2Nlc3NUb2tlbkNyZWRlbnRpYWxzKGUsdCl7dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInRoaW5nc2JvYXJkLnNlY3VyaXR5LmFjY2Vzc1Rva2VuIikuc2V0VmFsdWUoZS5jcmVkZW50aWFsc0lkLHtlbWl0RXZlbnQ6ITF9KSx0LnR5cGU9PT1WdC5UTFNfQUNDRVNTX1RPS0VOJiZ0aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgidGhpbmdzYm9hcmQuc2VjdXJpdHkuY2FDZXJ0Iikuc2V0VmFsdWUodC5jYUNlcnQse2VtaXRFdmVudDohMX0pfXVwZGF0ZU1xdHRCYXNpY0NyZWRlbnRpYWxzKGUpe2NvbnN0IHQ9SlNPTi5wYXJzZShlLmNyZWRlbnRpYWxzVmFsdWUpO3RoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJ0aGluZ3Nib2FyZC5zZWN1cml0eS5jbGllbnRJZCIpLnNldFZhbHVlKHQuY2xpZW50SWQse2VtaXRFdmVudDohMX0pLHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJ0aGluZ3Nib2FyZC5zZWN1cml0eS51c2VybmFtZSIpLnNldFZhbHVlKHQudXNlck5hbWUse2VtaXRFdmVudDohMX0pLHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJ0aGluZ3Nib2FyZC5zZWN1cml0eS5wYXNzd29yZCIpLnNldFZhbHVlKHQucGFzc3dvcmQse2VtaXRFdmVudDohMX0pfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6RG8sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfSx7dG9rZW46WC5EZXZpY2VTZXJ2aWNlfSx7dG9rZW46dC5DaGFuZ2VEZXRlY3RvclJlZn0se3Rva2VuOkplLk1hdERpYWxvZ31dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6RG8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LWJhc2ljLWNvbmZpZ3VyYXRpb24iLGlucHV0czp7ZGV2aWNlOiJkZXZpY2UiLGRpYWxvZ01vZGU6ImRpYWxvZ01vZGUifSxvdXRwdXRzOntpbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkOiJpbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkIn0scHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+RG8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkRvKSksbXVsdGk6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10YWItZ3JvdXAgY2xhc3M9InRhYi1ncm91cC1ibG9jayIgW2Zvcm1Hcm91cF09ImJhc2ljRm9ybUdyb3VwIiBbY2xhc3MuZGlhbG9nLW1vZGVdPSJkaWFsb2dNb2RlIj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5nZW5lcmFsXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy10ZW1wbGF0ZSBtYXRUYWJDb250ZW50PlxuICAgICAgPGRpdiBmb3JtR3JvdXBOYW1lPSJ0aGluZ3Nib2FyZCIgY2xhc3M9Im1hdC1jb250ZW50IG1hdC1wYWRkaW5nIGNvbmZpZ3VyYXRpb24tYmxvY2siPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIj5cbiAgICAgICAgICA8ZGl2IHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucmVtb3RlLWNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBjb2xvcj0icHJpbWFyeSIgZm9ybUNvbnRyb2xOYW1lPSJyZW1vdGVDb25maWd1cmF0aW9uIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJlbW90ZS1jb25maWd1cmF0aW9uXCcgIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLnJlbW90ZS1zaGVsbFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGNvbG9yPSJwcmltYXJ5IiBmb3JtQ29udHJvbE5hbWU9InJlbW90ZVNoZWxsIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJlbW90ZS1zaGVsbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkudGhpbmdzYm9hcmQtaG9zdDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJob3N0Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuaG9zdFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmhvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icG9ydCIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5wb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucG9ydFwnKS5oYXNFcnJvcihcJ21heFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtbWF4XCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnBvcnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMucG9ydFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCI+XG4gICAgICAgICAgPGRpdiB0cmFuc2xhdGUgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPnNlY3VyaXR5LnNlY3VyaXR5PC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBmb3JtR3JvdXBOYW1lPSJzZWN1cml0eSI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLXNlbGVjdCBjbGFzcz0idG9nZ2xlLWdyb3VwIiBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCBzZWN1cml0eVR5cGUgb2Ygc2VjdXJpdHlUeXBlcyB8IGtleXZhbHVlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPSJzZWN1cml0eVR5cGUua2V5Ij57eyBzZWN1cml0eVR5cGUudmFsdWUgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnR5cGVcJykudmFsdWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhcJ2FjY2Vzc3Rva2VuXCcpIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+c2VjdXJpdHkuYWNjZXNzLXRva2VuPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImFjY2Vzc1Rva2VuIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LmFjY2Vzc1Rva2VuXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnc2VjdXJpdHkuYWNjZXNzLXRva2VuLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDx0Yi1jb3B5LWJ1dHRvblxuICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgIG1pbmlCdXR0b249ImZhbHNlIlxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5hY2Nlc3NUb2tlblwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICBbY29weVRleHRdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5hY2Nlc3NUb2tlblwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICB0b29sdGlwVGV4dD0ie3sgXCdkZXZpY2UuY29weS1hY2Nlc3MtdG9rZW5cJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgIGljb249ImNvbnRlbnRfY29weSI+XG4gICAgICAgICAgICAgIDwvdGItY29weS1idXR0b24+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMudG9rZW5cJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMiXG4gICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnR5cGVcJykudmFsdWUgPT09IFwndXNlcm5hbWVQYXNzd29yZFwnIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+c2VjdXJpdHkuY2xpZW50SWQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImNsaWVudElkIi8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5jbGllbnRJZFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdzZWN1cml0eS5jbGllbnRJZC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1jb3B5LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWluaUJ1dHRvbj0iZmFsc2UiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5jbGllbnRJZFwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgW2NvcHlUZXh0XT0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkuY2xpZW50SWRcJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0PSJ7eyBcJ2dhdGV3YXkuY29weS1jbGllbnQtaWRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj0iY29udGVudF9jb3B5Ij5cbiAgICAgICAgICAgICAgICAgIDwvdGItY29weS1idXR0b24+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5jbGllbnQtaWRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5zZWN1cml0eS51c2VybmFtZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idXNlcm5hbWUiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnVzZXJuYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ3NlY3VyaXR5LnVzZXJuYW1lLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPHRiLWNvcHktYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtaW5pQnV0dG9uPSJmYWxzZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnVzZXJuYW1lXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgICAgICBbY29weVRleHRdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS51c2VybmFtZVwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcFRleHQ9Int7IFwnZ2F0ZXdheS5jb3B5LXVzZXJuYW1lXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgIGljb249ImNvbnRlbnRfY29weSI+XG4gICAgICAgICAgICAgICAgICA8L3RiLWNvcHktYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMudXNlcm5hbWVcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyIgc3R5bGU9IndpZHRoOiAxMDAlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnR5cGVcJykudmFsdWUgPT09IFwndXNlcm5hbWVQYXNzd29yZFwnIj5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnBhc3N3b3JkPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icGFzc3dvcmQiLz5cbiAgICAgICAgICAgICAgICA8dGItY29weS1idXR0b25cbiAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWluaUJ1dHRvbj0iZmFsc2UiXG4gICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkucGFzc3dvcmRcJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICBbY29weVRleHRdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5wYXNzd29yZFwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0PSJ7eyBcJ2dhdGV3YXkuY29weS1wYXNzd29yZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIGljb249ImNvbnRlbnRfY29weSI+XG4gICAgICAgICAgICAgICAgPC90Yi1jb3B5LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMucGFzc3dvcmRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8dGItZXJyb3Igc3R5bGU9Im1hcmdpbi10b3A6IC0xMnB4OyBkaXNwbGF5OiBibG9jazsiIGZ4RmxleD0iMTAwIlxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS50eXBlXCcpLnZhbHVlID09PSBcJ3VzZXJuYW1lUGFzc3dvcmRcJyJcbiAgICAgICAgICAgICAgICAgICAgICBbZXJyb3JdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eVwnKS5oYXNFcnJvcihcJ2F0TGVhc3RPbmVcJykgP1xuICAgICAgICAgIChcJ2RldmljZS5jbGllbnQtaWQtb3ItdXNlci1uYW1lLW5lY2Vzc2FyeVwnIHwgdHJhbnNsYXRlKSA6IFwnXCciPjwvdGItZXJyb3I+XG4gICAgICAgICAgICA8dGItZmlsZS1pbnB1dFxuICAgICAgICAgICAgICBmeEZsZXg9IjEwMCJcbiAgICAgICAgICAgICAgaGludD0ie3sgXCdnYXRld2F5LmhpbnRzLmNhLWNlcnRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnR5cGVcJykudmFsdWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhcJ3Rsc1wnKSJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJjYUNlcnQiXG4gICAgICAgICAgICAgIGxhYmVsPSJ7eyBcJ3NlY3VyaXR5LmNhLWNlcnRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgW2FsbG93ZWRFeHRlbnNpb25zXT0iXCdwZW0sIGNlcnQsIGtleVwnIlxuICAgICAgICAgICAgICBbYWNjZXB0XT0iXCcucGVtLCBhcHBsaWNhdGlvbi9wZW0sLmNlcnQsIGFwcGxpY2F0aW9uL2NlcnQsIC5rZXksYXBwbGljYXRpb24va2V5XCciXG4gICAgICAgICAgICAgIGRyb3BMYWJlbD0ie3sgXCdnYXRld2F5LmRyb3AtZmlsZVwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgIDwvdGItZmlsZS1pbnB1dD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkubG9ncy5sb2dzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy10ZW1wbGF0ZSBtYXRUYWJDb250ZW50PlxuICAgICAgPGRpdiBmb3JtR3JvdXBOYW1lPSJsb2dzIiBjbGFzcz0ibWF0LWNvbnRlbnQgbWF0LXBhZGRpbmcgY29uZmlndXJhdGlvbi1ibG9jayI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tcGFkZGluZy1ib3R0b20iPlxuICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9ImNvbHVtbiI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5kYXRlLWZvcm1hdDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJkYXRlRm9ybWF0Ii8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2xvZ3MuZGF0ZUZvcm1hdFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5kYXRlLWZvcm1hdC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmRhdGUtZm9ybVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmxvZ3MubG9nLWZvcm1hdDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJsb2dGb3JtYXQiIHJvd3M9IjIiPjwvdGV4dGFyZWE+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2xvZ3MubG9nRm9ybWF0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLmxvZy1mb3JtYXQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5sb2ctZm9ybWF0XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIiBmb3JtR3JvdXBOYW1lPSJyZW1vdGUiPlxuICAgICAgICAgIDxkaXYgdHJhbnNsYXRlIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIj5nYXRld2F5LmxvZ3MucmVtb3RlPC9kaXY+XG4gICAgICAgICAgPGRpdiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLnJlbW90ZS1sb2dcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBjb2xvcj0icHJpbWFyeSIgZm9ybUNvbnRyb2xOYW1lPSJlbmFibGVkIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmxvZ3MucmVtb3RlLWxvZ3NcJyAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmxvZ3MubGV2ZWw8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibG9nTGV2ZWwiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBsb2dMZXZlbCBvZiBnYXRld2F5TG9nTGV2ZWwiIFt2YWx1ZV09ImxvZ0xldmVsIj57eyBsb2dMZXZlbCB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1wYWRkaW5nLWJvdHRvbSIgZm9ybUdyb3VwTmFtZT0ibG9jYWwiPlxuICAgICAgICAgIDxkaXYgdHJhbnNsYXRlIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIj5nYXRld2F5LmxvZ3MubG9jYWw8L2Rpdj5cbiAgICAgICAgICA8dGItdG9nZ2xlLXNlbGVjdCBjbGFzcz0idG9nZ2xlLWdyb3VwIiBbZm9ybUNvbnRyb2xdPSJsb2dTZWxlY3RvciI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCBsb2dDb25maWcgb2YgbG9jYWxMb2dzQ29uZmlncyIgW3ZhbHVlXT0ibG9nQ29uZmlnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImZpcnN0LWNhcGl0YWwiPnt7IGxvY2FsTG9nc0NvbmZpZ1RyYW5zbGF0ZU1hcC5nZXQobG9nQ29uZmlnKSB9fTwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0iZ2V0TG9nRm9ybUdyb3VwKGxvZ1NlbGVjdG9yLnZhbHVlKSI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmxvZ3MubGV2ZWw8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImxvZ0xldmVsIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGxvZ0xldmVsIG9mIGdhdGV3YXlMb2dMZXZlbCIgW3ZhbHVlXT0ibG9nTGV2ZWwiPnt7IGxvZ0xldmVsIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmxvZ3MuZmlsZS1wYXRoPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZmlsZVBhdGgiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdsb2dzLmxvY2FsLlwnICsgbG9nU2VsZWN0b3IudmFsdWUgKyBcJy5maWxlUGF0aFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLmZpbGUtcGF0aC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgc2F2aW5nLXBlcmlvZCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5zYXZpbmctcGVyaW9kPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJzYXZpbmdUaW1lIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnbG9ncy5sb2NhbC5cJyArIGxvZ1NlbGVjdG9yLnZhbHVlICsgXCcuc2F2aW5nVGltZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmxvZ3Muc2F2aW5nLXBlcmlvZC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2xvZ3MubG9jYWwuXCcgKyBsb2dTZWxlY3Rvci52YWx1ZSArIFwnLnNhdmluZ1RpbWVcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5zYXZpbmctcGVyaW9kLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBoaWRlUmVxdWlyZWRNYXJrZXIgc3R5bGU9Im1pbi13aWR0aDogMTEwcHg7IHdpZHRoOiAzMCUiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJzYXZpbmdQZXJpb2QiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBwZXJpb2Qgb2YgbG9nU2F2aW5nUGVyaW9kcyB8IGtleXZhbHVlIiBbdmFsdWVdPSJwZXJpb2Qua2V5Ij5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBwZXJpb2QudmFsdWUgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5iYWNrdXAtY291bnQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJiYWNrdXBDb3VudCIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnbG9ncy5sb2NhbC5cJyArIGxvZ1NlbGVjdG9yLnZhbHVlICsgXCcuYmFja3VwQ291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5iYWNrdXAtY291bnQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdsb2dzLmxvY2FsLlwnICsgbG9nU2VsZWN0b3IudmFsdWUgKyBcJy5iYWNrdXBDb3VudFwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5iYWNrdXAtY291bnQtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuYmFja3VwLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnN0b3JhZ2VcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9InN0b3JhZ2UiIGNsYXNzPSJtYXQtY29udGVudCBtYXQtcGFkZGluZyBjb25maWd1cmF0aW9uLWJsb2NrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1wYWRkaW5nLWJvdHRvbSI+XG4gICAgICAgICAgPGRpdiB0cmFuc2xhdGUgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPmdhdGV3YXkuc3RvcmFnZTwvZGl2PlxuICAgICAgICAgIDxkaXYgdHJhbnNsYXRlIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLWhpbnQiPmdhdGV3YXkuaGludHMuc3RvcmFnZTwvZGl2PlxuICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGNsYXNzPSJ0b2dnbGUtZ3JvdXAiIGZvcm1Db250cm9sTmFtZT0idHlwZSI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCBzdG9yYWdlVHlwZSBvZiBzdG9yYWdlVHlwZXMiIFt2YWx1ZV09InN0b3JhZ2VUeXBlIj5cbiAgICAgICAgICAgICAge3sgc3RvcmFnZVR5cGVzVHJhbnNsYXRpb25NYXAuZ2V0KHN0b3JhZ2VUeXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgIDwvdGItdG9nZ2xlLXNlbGVjdD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLWhpbnQiPnt7IFwnZ2F0ZXdheS5oaW50cy5cJyArIGJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UudHlwZVwnKS52YWx1ZSB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS50eXBlXCcpLnZhbHVlIj5cbiAgICAgICAgICAgIDxzZWN0aW9uICpuZ1N3aXRjaENhc2U9IlN0b3JhZ2VUeXBlcy5NRU1PUlkiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlYWRfcmVjb3Jkc19jb3VudCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UucmVhZF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UucmVhZF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5yZWFkX3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5yZWFkLXJlY29yZC1jb3VudFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1heF9yZWNvcmRzX2NvdW50Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tYXhfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tYXhfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1heC1yZWNvcmRzLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPHNlY3Rpb24gKm5nU3dpdGNoQ2FzZT0iU3RvcmFnZVR5cGVzLkZJTEUiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdG9yYWdlLWRhdGEtZm9sZGVyLXBhdGg8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImRhdGFfZm9sZGVyX3BhdGgiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UuZGF0YV9mb2xkZXJfcGF0aFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtZGF0YS1mb2xkZXItcGF0aC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0LWZvcm0tZmllbGQtaW5maXggcG9pbnRlci1ldmVudCBzdWZmaXgtaWNvbiIgYXJpYS1oaWRkZW49ImZhbHNlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9ImhlbHAtaWNvbiJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRTdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZGF0YS1mb2xkZXJcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtbWF4LWZpbGVzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1heF9maWxlX2NvdW50Ii8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9maWxlX2NvdW50XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9maWxlX2NvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LWZpbGVzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X2ZpbGVfY291bnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LWZpbGVzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5tYXgtZmlsZS1jb3VudFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgZm9ybUNvbnRyb2xOYW1lPSJtYXhfcmVhZF9yZWNvcmRzX2NvdW50Ii8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWFkX3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlYWRfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWFkX3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5tYXgtcmVhZC1jb3VudFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1heF9yZWNvcmRzX3Blcl9maWxlIi8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWNvcmRzX3Blcl9maWxlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtcmVjb3Jkcy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlY29yZHNfcGVyX2ZpbGVcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtcmVjb3Jkcy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWNvcmRzX3Blcl9maWxlXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5tYXgtcmVjb3Jkc1wnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPHNlY3Rpb24gKm5nU3dpdGNoQ2FzZT0iU3RvcmFnZVR5cGVzLlNRTElURSI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtcGF0aDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YV9maWxlX3BhdGgiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UuZGF0YV9maWxlX3BhdGhcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLXBhdGgtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5kYXRhLWZvbGRlclwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1lc3NhZ2VzX3R0bF9jaGVja19pbl9ob3VycyIvPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tZXNzYWdlc190dGxfY2hlY2tfaW5faG91cnNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXNzYWdlcy10dGwtY2hlY2staW4taG91cnMtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9jaGVja19pbl9ob3Vyc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXNzYWdlcy10dGwtY2hlY2staW4taG91cnMtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tZXNzYWdlc190dGxfY2hlY2tfaW5faG91cnNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMudHRsLWNoZWNrLWhvdXJcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubWVzc2FnZXMtdHRsLWluLWRheXM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1lc3NhZ2VzX3R0bF9pbl9kYXlzIi8+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tZXNzYWdlc190dGxfaW5fZGF5c1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXNzYWdlcy10dGwtaW4tZGF5cy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tZXNzYWdlc190dGxfaW5fZGF5c1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubWVzc2FnZXMtdHRsLWluLWRheXMtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9pbl9kYXlzXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubWVzc2FnZXMtdHRsLWluLWRheXMtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLnR0bC1tZXNzYWdlcy1kYXlcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdycGNcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9ImdycGMiIGNsYXNzPSJtYXQtY29udGVudCBtYXQtcGFkZGluZyBjb25maWd1cmF0aW9uLWJsb2NrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1wYWRkaW5nLWJvdHRvbSI+XG4gICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgY29sb3I9InByaW1hcnkiIGZvcm1Db250cm9sTmFtZT0iZW5hYmxlZCI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwY1wnICB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8ZGl2IHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucGVybWl0LXdpdGhvdXQtY2FsbHNcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBjb2xvcj0icHJpbWFyeSIgZm9ybUNvbnRyb2xOYW1lPSJrZWVwYWxpdmVQZXJtaXRXaXRob3V0Q2FsbHMiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucGVybWl0LXdpdGhvdXQtY2FsbHNcJyAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c2VjdGlvbj5cbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci1wb3J0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ic2VydmVyUG9ydCIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuc2VydmVyLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5zZXJ2ZXJQb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMuc2VydmVyUG9ydFwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMuc2VydmVyUG9ydFwnKS5oYXNFcnJvcihcJ21heFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1tYXhcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMuc2VydmVyUG9ydFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtdGltZW91dDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImtlZXBBbGl2ZVRpbWVvdXRNcyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5rZWVwQWxpdmVUaW1lb3V0TXNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMua2VlcEFsaXZlVGltZW91dE1zXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtdGltZW91dC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMua2VlcEFsaXZlVGltZW91dE1zXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5ncnBjLWtlZXAtYWxpdmU8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJrZWVwQWxpdmVUaW1lTXMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmdycGMta2VlcC1hbGl2ZVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLmtlZXBBbGl2ZVRpbWVNc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMua2VlcEFsaXZlVGltZU1zXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLmtlZXBBbGl2ZVRpbWVNc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMta2VlcC1hbGl2ZS1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5nczwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1pblRpbWVCZXR3ZWVuUGluZ3NNcyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWluVGltZUJldHdlZW5QaW5nc01zXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5taW5UaW1lQmV0d2VlblBpbmdzTXNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWluVGltZUJldHdlZW5QaW5nc01zXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWF4UGluZ3NXaXRob3V0RGF0YSIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWF4UGluZ3NXaXRob3V0RGF0YVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWF4UGluZ3NXaXRob3V0RGF0YVwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5tYXhQaW5nc1dpdGhvdXREYXRhXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGE8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtaW5QaW5nSW50ZXJ2YWxXaXRob3V0RGF0YU1zIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5ncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLm1pblBpbmdJbnRlcnZhbFdpdGhvdXREYXRhTXNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWluUGluZ0ludGVydmFsV2l0aG91dERhdGFNc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLm1pblBpbmdJbnRlcnZhbFdpdGhvdXREYXRhTXNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnN0YXRpc3RpY3Muc3RhdGlzdGljc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT0idGhpbmdzYm9hcmQiIGNsYXNzPSJtYXQtY29udGVudCBtYXQtcGFkZGluZyBjb25maWd1cmF0aW9uLWJsb2NrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1wYWRkaW5nLWJvdHRvbSIgZm9ybUdyb3VwTmFtZT0ic3RhdGlzdGljcyI+XG4gICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY29sb3I9InByaW1hcnkiIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0iZW5hYmxlIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnN0YXRpc3RpY3NcJyAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLnNlbmQtcGVyaW9kPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJzdGF0c1NlbmRQZXJpb2RJblNlY29uZHMiIHR5cGU9Im51bWJlciIgbWluPSI2MCIvPlxuICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc3RhdGlzdGljcy5zdGF0c1NlbmRQZXJpb2RJblNlY29uZHNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnNlbmQtcGVyaW9kLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc3RhdGlzdGljcy5zdGF0c1NlbmRQZXJpb2RJblNlY29uZHNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5zZW5kLXBlcmlvZC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zdGF0aXN0aWNzLnN0YXRzU2VuZFBlcmlvZEluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5zZW5kLXBlcmlvZC1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmRzPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC1oaW50IiB0cmFuc2xhdGU+Z2F0ZXdheS5oaW50cy5jb21tYW5kczwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgZm9ybUdyb3VwTmFtZT0ic3RhdGlzdGljcyI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PSJyb3ciIGZvcm1BcnJheU5hbWU9ImNvbW1hbmRzIiBjbGFzcz0ic3RhdGlzdGljcy1jb250YWluZXIiXG4gICAgICAgICAgICAgICAgICpuZ0Zvcj0ibGV0IGNvbW1hbmRDb250cm9sIG9mIGNvbW1hbmRGb3JtQXJyYXkoKS5jb250cm9sczsgbGV0ICRpbmRleCA9IGluZGV4Ij5cbiAgICAgICAgICAgICAgPHNlY3Rpb24gW2Zvcm1Hcm91cE5hbWVdPSIkaW5kZXgiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQgbm8tcGFkZGluZy1ib3R0b20gbm8tZ2FwIGNvbW1hbmQtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3MuYXR0cmlidXRlLW5hbWU8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iYXR0cmlidXRlT25HYXRld2F5Ii8+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbW1hbmRDb250cm9sLmdldChcJ2F0dHJpYnV0ZU9uR2F0ZXdheVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5hdHRyaWJ1dGUtbmFtZS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmF0dHJpYnV0ZVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLnRpbWVvdXQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idGltZW91dCIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZENvbnRyb2wuZ2V0KFwndGltZW91dFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy50aW1lb3V0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbW1hbmRDb250cm9sLmdldChcJ3RpbWVvdXRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnRpbWVvdXQtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbW1hbmRDb250cm9sLmdldChcJ3RpbWVvdXRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy50aW1lb3V0LXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy50aW1lb3V0XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RhdGlzdGljcy5jb21tYW5kPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJjb21tYW5kIi8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb21tYW5kQ29udHJvbC5nZXQoXCdjb21tYW5kXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5jb21tYW5kLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZENvbnRyb2wuZ2V0KFwnY29tbWFuZFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5jb21tYW5kLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5jb21tYW5kXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPSJyZW1vdmVDb21tYW5kQ29udHJvbCgkaW5kZXgsICRldmVudCkiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWJveC1idXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iIWJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnJlbW90ZUNvbmZpZ3VyYXRpb25cJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LnN0YXRpc3RpY3MucmVtb3ZlXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiBmaXQtY29udGVudDsiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iIWJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnJlbW90ZUNvbmZpZ3VyYXRpb25cJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9ImFkZENvbW1hbmQoKSI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmFkZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkub3RoZXJcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9InRoaW5nc2JvYXJkIiBjbGFzcz0ibWF0LWNvbnRlbnQgbWF0LXBhZGRpbmcgY29uZmlndXJhdGlvbi1ibG9jayI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwiIGZvcm1Hcm91cE5hbWU9ImNoZWNraW5nRGV2aWNlQWN0aXZpdHkiXG4gICAgICAgICAgICAgW2NsYXNzLm5vLXBhZGRpbmctYm90dG9tXT0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5jaGVja0RldmljZUluYWN0aXZpdHlcJykudmFsdWUiPlxuICAgICAgICAgIDxkaXYgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5jaGVjay1kZXZpY2UtYWN0aXZpdHlcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBjb2xvcj0icHJpbWFyeSIgZm9ybUNvbnRyb2xOYW1lPSJjaGVja0RldmljZUluYWN0aXZpdHkiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuY2hlY2tpbmctZGV2aWNlLWFjdGl2aXR5XCcgIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiXG4gICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNraW5nRGV2aWNlQWN0aXZpdHkuY2hlY2tEZXZpY2VJbmFjdGl2aXR5XCcpLnZhbHVlIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iaW5hY3Rpdml0eVRpbWVvdXRTZWNvbmRzIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNraW5nRGV2aWNlQWN0aXZpdHkuaW5hY3Rpdml0eVRpbWVvdXRTZWNvbmRzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNraW5nRGV2aWNlQWN0aXZpdHkuaW5hY3Rpdml0eVRpbWVvdXRTZWNvbmRzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5pbmFjdGl2aXR5VGltZW91dFNlY29uZHNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmluYWN0aXZpdHktdGltZW91dFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5pbmFjdGl2aXR5LWNoZWNrLXBlcmlvZC1zZWNvbmRzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgZm9ybUNvbnRyb2xOYW1lPSJpbmFjdGl2aXR5Q2hlY2tQZXJpb2RTZWNvbmRzIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5pbmFjdGl2aXR5Q2hlY2tQZXJpb2RTZWNvbmRzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LWNoZWNrLXBlcmlvZC1zZWNvbmRzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5pbmFjdGl2aXR5Q2hlY2tQZXJpb2RTZWNvbmRzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja2luZ0RldmljZUFjdGl2aXR5LmluYWN0aXZpdHlDaGVja1BlcmlvZFNlY29uZHNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuaW5hY3Rpdml0eS1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5hZHZhbmNlZDwvZGl2PlxuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubWluLXBhY2stc2VuZC1kZWxheTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtaW5QYWNrU2VuZERlbGF5TVMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1pblBhY2tTZW5kRGVsYXlNU1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubWluLXBhY2stc2VuZC1kZWxheS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5taW5QYWNrU2VuZERlbGF5TVNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5taW4tcGFjay1zZW5kLWRlbGF5LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1pblBhY2tTZW5kRGVsYXlNU1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5taW4tcGFjay1zZW5kLWRlbGF5LXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5taW5pbWFsLXBhY2stZGVsYXlcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubXF0dC1xb3M8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icW9zIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbWF4PSIxIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnFvc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubXF0dC1xb3MtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucW9zXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubXF0dC1xb3MtcmFuZ2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucW9zXCcpLmhhc0Vycm9yKFwnbWF4XCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubXF0dC1xb3MtcmFuZ2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5xb3NcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLmNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbjwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJjaGVja0Nvbm5lY3RvcnNDb25maWd1cmF0aW9uSW5TZWNvbmRzIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNrQ29ubmVjdG9yc0NvbmZpZ3VyYXRpb25JblNlY29uZHNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tDb25uZWN0b3JzQ29uZmlndXJhdGlvbkluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNrQ29ubmVjdG9yc0NvbmZpZ3VyYXRpb25JblNlY29uZHNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5jaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RhdGlzdGljcy5tYXgtcGF5bG9hZC1zaXplLWJ5dGVzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1heFBheWxvYWRTaXplQnl0ZXMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWF4UGF5bG9hZFNpemVCeXRlc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5tYXgtcGF5bG9hZC1zaXplLWJ5dGVzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWF4UGF5bG9hZFNpemVCeXRlc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MubWF4LXBheWxvYWQtc2l6ZS1ieXRlcy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5tYXhQYXlsb2FkU2l6ZUJ5dGVzXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MubWF4LXBheWxvYWQtc2l6ZS1ieXRlcy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMubWF4LXBheWxvYWQtc2l6ZS1ieXRlc1wnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3MubWluLXBhY2stc2l6ZS10by1zZW5kPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1pblBhY2tTaXplVG9TZW5kIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1pblBhY2tTaXplVG9TZW5kXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLm1pbi1wYWNrLXNpemUtdG8tc2VuZC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1pblBhY2tTaXplVG9TZW5kXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5taW4tcGFjay1zaXplLXRvLXNlbmQtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWluUGFja1NpemVUb1NlbmRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5taW4tcGFjay1zaXplLXRvLXNlbmQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1pbi1wYWNrLXNpemUtdG8tc2VuZFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1yb3dzOm1pbi1jb250ZW50IG1pbm1heChhdXRvLDFmcikgbWluLWNvbnRlbnR9Omhvc3QgLmNvbmZpZ3VyYXRpb24tYmxvY2t7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTZweDttYXgtaGVpZ2h0Ojcwdmh9Omhvc3QgLmRpYWxvZy1tb2RlIC5jb25maWd1cmF0aW9uLWJsb2Nre21heC1oZWlnaHQ6NjB2aH06aG9zdCAubWF0LXRvb2xiYXJ7Z3JpZC1yb3c6MTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMDAwMDBkZSFpbXBvcnRhbnR9Omhvc3QgLnRhYi1ncm91cC1ibG9ja3ttaW4td2lkdGg6MDtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjA7Z3JpZC1yb3c6Mn06aG9zdCAudG9nZ2xlLWdyb3Vwe21hcmdpbi1yaWdodDphdXRvfTpob3N0IC5maXJzdC1jYXBpdGFse3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemV9Omhvc3QgdGV4dGFyZWF7cmVzaXplOm5vbmV9Omhvc3QgLnNhdmluZy1wZXJpb2R7ZmxleDoxfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lcnt3aWR0aDoxMDAlfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciAuY29tbWFuZC1jb250YWluZXJ7d2lkdGg6MTAwJX06aG9zdCBtYXQtZm9ybS1maWVsZCBtYXQtZXJyb3J7ZGlzcGxheTpub25lIWltcG9ydGFudH06aG9zdCBtYXQtZm9ybS1maWVsZCBtYXQtZXJyb3I6Zmlyc3QtY2hpbGR7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9Omhvc3QgOjpuZy1kZWVwIC5wb2ludGVyLWV2ZW50e3BvaW50ZXItZXZlbnRzOmFsbH06aG9zdCA6Om5nLWRlZXAgLnRvZ2dsZS1ncm91cCBzcGFue3BhZGRpbmc6MCAyNXB4fTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2NvbG9yOiNlMGUwZTB9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLWZvcm0tZmllbGQtaWNvbi1zdWZmaXg6aG92ZXJ7Y29sb3I6IzllOWU5ZX06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtZm9ybS1maWVsZC1pY29uLXN1ZmZpeHtkaXNwbGF5OmZsZXh9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJuZ21vZHVsZSIsdHlwZTpIfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoLHNlbGVjdG9yOiJbbmdTd2l0Y2hdIixpbnB1dHM6WyJuZ1N3aXRjaCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdTd2l0Y2hDYXNlLHNlbGVjdG9yOiJbbmdTd2l0Y2hDYXNlXSIsaW5wdXRzOlsibmdTd2l0Y2hDYXNlIl19LHtraW5kOiJwaXBlIix0eXBlOl8uS2V5VmFsdWVQaXBlLG5hbWU6ImtleXZhbHVlIn0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q3QuVGJFcnJvckNvbXBvbmVudCxzZWxlY3RvcjoidGItZXJyb3IiLGlucHV0czpbIm5vTWFyZ2luIiwiZXJyb3IiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdEVycm9yLHNlbGVjdG9yOiJtYXQtZXJyb3IsIFttYXRFcnJvcl0iLGlucHV0czpbImlkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpXLk1hdFRhYkNvbnRlbnQsc2VsZWN0b3I6IlttYXRUYWJDb250ZW50XSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWIsc2VsZWN0b3I6Im1hdC10YWIiLGlucHV0czpbImRpc2FibGVkIiwibGFiZWwiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwibGFiZWxDbGFzcyIsImJvZHlDbGFzcyJdLGV4cG9ydEFzOlsibWF0VGFiIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWJHcm91cCxzZWxlY3RvcjoibWF0LXRhYi1ncm91cCIsaW5wdXRzOlsiY29sb3IiLCJmaXRJbmtCYXJUb0NvbnRlbnQiLCJtYXQtc3RyZXRjaC10YWJzIiwiZHluYW1pY0hlaWdodCIsInNlbGVjdGVkSW5kZXgiLCJoZWFkZXJQb3NpdGlvbiIsImFuaW1hdGlvbkR1cmF0aW9uIiwiY29udGVudFRhYkluZGV4IiwiZGlzYWJsZVBhZ2luYXRpb24iLCJkaXNhYmxlUmlwcGxlIiwicHJlc2VydmVDb250ZW50IiwiYmFja2dyb3VuZENvbG9yIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSJdLG91dHB1dHM6WyJzZWxlY3RlZEluZGV4Q2hhbmdlIiwiZm9jdXNDaGFuZ2UiLCJhbmltYXRpb25Eb25lIiwic2VsZWN0ZWRUYWJDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFRhYkdyb3VwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6ZXQuTWF0U2xpZGVUb2dnbGUsc2VsZWN0b3I6Im1hdC1zbGlkZS10b2dnbGUiLGlucHV0czpbIm5hbWUiLCJpZCIsImxhYmVsUG9zaXRpb24iLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsInJlcXVpcmVkIiwiY29sb3IiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImNoZWNrZWQiLCJoaWRlSWNvbiIsImRpc2FibGVkSW50ZXJhY3RpdmUiXSxvdXRwdXRzOlsiY2hhbmdlIiwidG9nZ2xlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRdLCBbZnhMYXlvdXQueHNdLCBbZnhMYXlvdXQuc21dLCBbZnhMYXlvdXQubWRdLCAgW2Z4TGF5b3V0LmxnXSwgW2Z4TGF5b3V0LnhsXSwgW2Z4TGF5b3V0Lmx0LXNtXSwgW2Z4TGF5b3V0Lmx0LW1kXSwgIFtmeExheW91dC5sdC1sZ10sIFtmeExheW91dC5sdC14bF0sIFtmeExheW91dC5ndC14c10sIFtmeExheW91dC5ndC1zbV0sICBbZnhMYXlvdXQuZ3QtbWRdLCBbZnhMYXlvdXQuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dCIsImZ4TGF5b3V0LnhzIiwiZnhMYXlvdXQuc20iLCJmeExheW91dC5tZCIsImZ4TGF5b3V0LmxnIiwiZnhMYXlvdXQueGwiLCJmeExheW91dC5sdC1zbSIsImZ4TGF5b3V0Lmx0LW1kIiwiZnhMYXlvdXQubHQtbGciLCJmeExheW91dC5sdC14bCIsImZ4TGF5b3V0Lmd0LXhzIiwiZnhMYXlvdXQuZ3Qtc20iLCJmeExheW91dC5ndC1tZCIsImZ4TGF5b3V0Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWF4VmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttYXhdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtuZ01vZGVsXSIsaW5wdXRzOlsibWF4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBOYW1lLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0iLGlucHV0czpbImZvcm1Hcm91cE5hbWUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQXJyYXlOYW1lLHNlbGVjdG9yOiJbZm9ybUFycmF5TmFtZV0iLGlucHV0czpbImZvcm1BcnJheU5hbWUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpUdC5GaWxlSW5wdXRDb21wb25lbnQsc2VsZWN0b3I6InRiLWZpbGUtaW5wdXQiLGlucHV0czpbImxhYmVsIiwiaGludCIsImFjY2VwdCIsIm5vRmlsZVRleHQiLCJpbnB1dElkIiwiYWxsb3dlZEV4dGVuc2lvbnMiLCJkcm9wTGFiZWwiLCJtYXhTaXplQnl0ZSIsImNvbnRlbnRDb252ZXJ0RnVuY3Rpb24iLCJyZXF1aXJlZCIsInJlcXVpcmVkQXNFcnJvciIsImRpc2FibGVkIiwiZXhpc3RpbmdGaWxlTmFtZSIsInJlYWRBc0JpbmFyeSIsIndvcmtGcm9tRmlsZU9iaiIsIm11bHRpcGxlRmlsZSJdLG91dHB1dHM6WyJmaWxlTmFtZUNoYW5nZWQiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6U3QuQ29weUJ1dHRvbkNvbXBvbmVudCxzZWxlY3RvcjoidGItY29weS1idXR0b24iLGlucHV0czpbImNvcHlUZXh0IiwiZGlzYWJsZWQiLCJtZGlJY29uIiwiaWNvbiIsInRvb2x0aXBUZXh0IiwidG9vbHRpcFBvc2l0aW9uIiwic3R5bGUiLCJjb2xvciIsIm1pbmlCdXR0b24iXSxvdXRwdXRzOlsic3VjY2Vzc0NvcGllZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm50LlRvZ2dsZU9wdGlvbixzZWxlY3RvcjoidGItdG9nZ2xlLW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTphdC5Ub2dnbGVTZWxlY3RDb21wb25lbnQsc2VsZWN0b3I6InRiLXRvZ2dsZS1zZWxlY3QiLGlucHV0czpbImRpc2FibGVkIiwic2VsZWN0TWVkaWFCcmVha3BvaW50IiwiYXBwZWFyYW5jZSIsImRpc2FibGVQYWdpbmF0aW9uIiwiZmlsbEhlaWdodCIsImV4dHJhUGFkZGluZyIsInByaW1hcnlCYWNrZ3JvdW5kIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dXQuSGludFRvb2x0aXBJY29uQ29tcG9uZW50LHNlbGVjdG9yOiJbdGItaGludC10b29sdGlwLWljb25dIixpbnB1dHM6WyJ0Yi1oaW50LXRvb2x0aXAtaWNvbiIsInRvb2x0aXBQb3NpdGlvbiIsImhpbnRJY29uIl19XX0pfX1lKCJHYXRld2F5QmFzaWNDb25maWd1cmF0aW9uQ29tcG9uZW50IixEbyksSGUoW04oKV0sRG8ucHJvdG90eXBlLCJkaWFsb2dNb2RlIix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6RG8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktYmFzaWMtY29uZmlndXJhdGlvbiIsc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILERdLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PkRvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5EbykpLG11bHRpOiEwfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRhYi1ncm91cCBjbGFzcz0idGFiLWdyb3VwLWJsb2NrIiBbZm9ybUdyb3VwXT0iYmFzaWNGb3JtR3JvdXAiIFtjbGFzcy5kaWFsb2ctbW9kZV09ImRpYWxvZ01vZGUiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9InRoaW5nc2JvYXJkIiBjbGFzcz0ibWF0LWNvbnRlbnQgbWF0LXBhZGRpbmcgY29uZmlndXJhdGlvbi1ibG9jayI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tcGFkZGluZy1ib3R0b20iPlxuICAgICAgICAgIDxkaXYgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5yZW1vdGUtY29uZmlndXJhdGlvblwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGNvbG9yPSJwcmltYXJ5IiBmb3JtQ29udHJvbE5hbWU9InJlbW90ZUNvbmZpZ3VyYXRpb24iPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmVtb3RlLWNvbmZpZ3VyYXRpb25cJyAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucmVtb3RlLXNoZWxsXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmciPlxuICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgY29sb3I9InByaW1hcnkiIGZvcm1Db250cm9sTmFtZT0icmVtb3RlU2hlbGwiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmVtb3RlLXNoZWxsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS50aGluZ3Nib2FyZC1ob3N0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Imhvc3QiLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5ob3N0XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuaG9zdFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkudGhpbmdzYm9hcmQtcG9ydDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5wb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnBvcnRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5wb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1tYXhcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucG9ydFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5wb3J0XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIj5cbiAgICAgICAgICA8ZGl2IHRyYW5zbGF0ZSBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSI+c2VjdXJpdHkuc2VjdXJpdHk8L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIGZvcm1Hcm91cE5hbWU9InNlY3VyaXR5Ij5cbiAgICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGNsYXNzPSJ0b2dnbGUtZ3JvdXAiIGZvcm1Db250cm9sTmFtZT0idHlwZSI+XG4gICAgICAgICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IHNlY3VyaXR5VHlwZSBvZiBzZWN1cml0eVR5cGVzIHwga2V5dmFsdWUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09InNlY3VyaXR5VHlwZS5rZXkiPnt7IHNlY3VyaXR5VHlwZS52YWx1ZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudHlwZVwnKS52YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFwnYWNjZXNzdG9rZW5cJykiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5zZWN1cml0eS5hY2Nlc3MtdG9rZW48L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iYWNjZXNzVG9rZW4iLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkuYWNjZXNzVG9rZW5cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdzZWN1cml0eS5hY2Nlc3MtdG9rZW4tcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPHRiLWNvcHktYnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgbWluaUJ1dHRvbj0iZmFsc2UiXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LmFjY2Vzc1Rva2VuXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgIFtjb3B5VGV4dF09ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LmFjY2Vzc1Rva2VuXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0PSJ7eyBcJ2RldmljZS5jb3B5LWFjY2Vzcy10b2tlblwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgaWNvbj0iY29udGVudF9jb3B5Ij5cbiAgICAgICAgICAgICAgPC90Yi1jb3B5LWJ1dHRvbj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy50b2tlblwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPHNlY3Rpb24+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyJcbiAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudHlwZVwnKS52YWx1ZSA9PT0gXCd1c2VybmFtZVBhc3N3b3JkXCciPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5zZWN1cml0eS5jbGllbnRJZDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iY2xpZW50SWQiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LmNsaWVudElkXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ3NlY3VyaXR5LmNsaWVudElkLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPHRiLWNvcHktYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtaW5pQnV0dG9uPSJmYWxzZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LmNsaWVudElkXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgICAgICBbY29weVRleHRdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5jbGllbnRJZFwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcFRleHQ9Int7IFwnZ2F0ZXdheS5jb3B5LWNsaWVudC1pZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBpY29uPSJjb250ZW50X2NvcHkiPlxuICAgICAgICAgICAgICAgICAgPC90Yi1jb3B5LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmNsaWVudC1pZFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPnNlY3VyaXR5LnVzZXJuYW1lPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ1c2VybmFtZSIvPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudXNlcm5hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnc2VjdXJpdHkudXNlcm5hbWUtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8dGItY29weS1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgIG1pbmlCdXR0b249ImZhbHNlIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudXNlcm5hbWVcJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICAgIFtjb3B5VGV4dF09ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnVzZXJuYW1lXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgICAgICB0b29sdGlwVGV4dD0ie3sgXCdnYXRld2F5LmNvcHktdXNlcm5hbWVcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj0iY29udGVudF9jb3B5Ij5cbiAgICAgICAgICAgICAgICAgIDwvdGItY29weS1idXR0b24+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy51c2VybmFtZVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBzdHlsZT0id2lkdGg6IDEwMCUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudHlwZVwnKS52YWx1ZSA9PT0gXCd1c2VybmFtZVBhc3N3b3JkXCciPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkucGFzc3dvcmQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJwYXNzd29yZCIvPlxuICAgICAgICAgICAgICAgIDx0Yi1jb3B5LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtaW5pQnV0dG9uPSJmYWxzZSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5wYXNzd29yZFwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgIFtjb3B5VGV4dF09ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnBhc3N3b3JkXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgICAgdG9vbHRpcFRleHQ9Int7IFwnZ2F0ZXdheS5jb3B5LXBhc3N3b3JkXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgaWNvbj0iY29udGVudF9jb3B5Ij5cbiAgICAgICAgICAgICAgICA8L3RiLWNvcHktYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5wYXNzd29yZFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDx0Yi1lcnJvciBzdHlsZT0ibWFyZ2luLXRvcDogLTEycHg7IGRpc3BsYXk6IGJsb2NrOyIgZnhGbGV4PSIxMDAiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnR5cGVcJykudmFsdWUgPT09IFwndXNlcm5hbWVQYXNzd29yZFwnIlxuICAgICAgICAgICAgICAgICAgICAgIFtlcnJvcl09ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5XCcpLmhhc0Vycm9yKFwnYXRMZWFzdE9uZVwnKSA/XG4gICAgICAgICAgKFwnZGV2aWNlLmNsaWVudC1pZC1vci11c2VyLW5hbWUtbmVjZXNzYXJ5XCcgfCB0cmFuc2xhdGUpIDogXCdcJyI+PC90Yi1lcnJvcj5cbiAgICAgICAgICAgIDx0Yi1maWxlLWlucHV0XG4gICAgICAgICAgICAgIGZ4RmxleD0iMTAwIlxuICAgICAgICAgICAgICBoaW50PSJ7eyBcJ2dhdGV3YXkuaGludHMuY2EtY2VydFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudHlwZVwnKS52YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFwndGxzXCcpIlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9ImNhQ2VydCJcbiAgICAgICAgICAgICAgbGFiZWw9Int7IFwnc2VjdXJpdHkuY2EtY2VydFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBbYWxsb3dlZEV4dGVuc2lvbnNdPSJcJ3BlbSwgY2VydCwga2V5XCciXG4gICAgICAgICAgICAgIFthY2NlcHRdPSJcJy5wZW0sIGFwcGxpY2F0aW9uL3BlbSwuY2VydCwgYXBwbGljYXRpb24vY2VydCwgLmtleSxhcHBsaWNhdGlvbi9rZXlcJyJcbiAgICAgICAgICAgICAgZHJvcExhYmVsPSJ7eyBcJ2dhdGV3YXkuZHJvcC1maWxlXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgPC90Yi1maWxlLWlucHV0PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5sb2dzLmxvZ3NcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9ImxvZ3MiIGNsYXNzPSJtYXQtY29udGVudCBtYXQtcGFkZGluZyBjb25maWd1cmF0aW9uLWJsb2NrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1wYWRkaW5nLWJvdHRvbSI+XG4gICAgICAgICAgPGRpdiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5sb2dzLmRhdGUtZm9ybWF0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImRhdGVGb3JtYXQiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnbG9ncy5kYXRlRm9ybWF0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLmRhdGUtZm9ybWF0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZGF0ZS1mb3JtXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5sb2ctZm9ybWF0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImxvZ0Zvcm1hdCIgcm93cz0iMiI+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnbG9ncy5sb2dGb3JtYXRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmxvZ3MubG9nLWZvcm1hdC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmxvZy1mb3JtYXRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tcGFkZGluZy1ib3R0b20iIGZvcm1Hcm91cE5hbWU9InJlbW90ZSI+XG4gICAgICAgICAgPGRpdiB0cmFuc2xhdGUgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPmdhdGV3YXkubG9ncy5yZW1vdGU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucmVtb3RlLWxvZ1wnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGNvbG9yPSJwcmltYXJ5IiBmb3JtQ29udHJvbE5hbWU9ImVuYWJsZWQiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5yZW1vdGUtbG9nc1wnICB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5sZXZlbDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJsb2dMZXZlbCI+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGxvZ0xldmVsIG9mIGdhdGV3YXlMb2dMZXZlbCIgW3ZhbHVlXT0ibG9nTGV2ZWwiPnt7IGxvZ0xldmVsIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIiBmb3JtR3JvdXBOYW1lPSJsb2NhbCI+XG4gICAgICAgICAgPGRpdiB0cmFuc2xhdGUgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPmdhdGV3YXkubG9ncy5sb2NhbDwvZGl2PlxuICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGNsYXNzPSJ0b2dnbGUtZ3JvdXAiIFtmb3JtQ29udHJvbF09ImxvZ1NlbGVjdG9yIj5cbiAgICAgICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IGxvZ0NvbmZpZyBvZiBsb2NhbExvZ3NDb25maWdzIiBbdmFsdWVdPSJsb2dDb25maWciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZmlyc3QtY2FwaXRhbCI+e3sgbG9jYWxMb2dzQ29uZmlnVHJhbnNsYXRlTWFwLmdldChsb2dDb25maWcpIH19PC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgIDwvdGItdG9nZ2xlLXNlbGVjdD5cbiAgICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPSJnZXRMb2dGb3JtR3JvdXAobG9nU2VsZWN0b3IudmFsdWUpIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5sZXZlbDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibG9nTGV2ZWwiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbG9nTGV2ZWwgb2YgZ2F0ZXdheUxvZ0xldmVsIiBbdmFsdWVdPSJsb2dMZXZlbCI+e3sgbG9nTGV2ZWwgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5maWxlLXBhdGg8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJmaWxlUGF0aCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2xvZ3MubG9jYWwuXCcgKyBsb2dTZWxlY3Rvci52YWx1ZSArIFwnLmZpbGVQYXRoXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmxvZ3MuZmlsZS1wYXRoLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBzYXZpbmctcGVyaW9kIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5sb2dzLnNhdmluZy1wZXJpb2Q8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InNhdmluZ1RpbWUiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdsb2dzLmxvY2FsLlwnICsgbG9nU2VsZWN0b3IudmFsdWUgKyBcJy5zYXZpbmdUaW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5zYXZpbmctcGVyaW9kLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnbG9ncy5sb2NhbC5cJyArIGxvZ1NlbGVjdG9yLnZhbHVlICsgXCcuc2F2aW5nVGltZVwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLnNhdmluZy1wZXJpb2QtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGhpZGVSZXF1aXJlZE1hcmtlciBzdHlsZT0ibWluLXdpZHRoOiAxMTBweDsgd2lkdGg6IDMwJSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InNhdmluZ1BlcmlvZCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHBlcmlvZCBvZiBsb2dTYXZpbmdQZXJpb2RzIHwga2V5dmFsdWUiIFt2YWx1ZV09InBlcmlvZC5rZXkiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IHBlcmlvZC52YWx1ZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5sb2dzLmJhY2t1cC1jb3VudDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImJhY2t1cENvdW50IiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdsb2dzLmxvY2FsLlwnICsgbG9nU2VsZWN0b3IudmFsdWUgKyBcJy5iYWNrdXBDb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLmJhY2t1cC1jb3VudC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2xvZ3MubG9jYWwuXCcgKyBsb2dTZWxlY3Rvci52YWx1ZSArIFwnLmJhY2t1cENvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLmJhY2t1cC1jb3VudC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5iYWNrdXAtY291bnRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuc3RvcmFnZVwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT0ic3RvcmFnZSIgY2xhc3M9Im1hdC1jb250ZW50IG1hdC1wYWRkaW5nIGNvbmZpZ3VyYXRpb24tYmxvY2siPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIj5cbiAgICAgICAgICA8ZGl2IHRyYW5zbGF0ZSBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSI+Z2F0ZXdheS5zdG9yYWdlPC9kaXY+XG4gICAgICAgICAgPGRpdiB0cmFuc2xhdGUgY2xhc3M9InRiLWZvcm0tcGFuZWwtaGludCI+Z2F0ZXdheS5oaW50cy5zdG9yYWdlPC9kaXY+XG4gICAgICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgY2xhc3M9InRvZ2dsZS1ncm91cCIgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IHN0b3JhZ2VUeXBlIG9mIHN0b3JhZ2VUeXBlcyIgW3ZhbHVlXT0ic3RvcmFnZVR5cGUiPlxuICAgICAgICAgICAgICB7eyBzdG9yYWdlVHlwZXNUcmFuc2xhdGlvbk1hcC5nZXQoc3RvcmFnZVR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtaGludCI+e3sgXCdnYXRld2F5LmhpbnRzLlwnICsgYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS50eXBlXCcpLnZhbHVlIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLnR5cGVcJykudmFsdWUiPlxuICAgICAgICAgICAgPHNlY3Rpb24gKm5nU3dpdGNoQ2FzZT0iU3RvcmFnZVR5cGVzLk1FTU9SWSIgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVhZF9yZWNvcmRzX2NvdW50Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5yZWFkX3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5yZWFkX3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLnJlYWRfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLnJlYWQtcmVjb3JkLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcmFnZS1tYXgtcmVjb3JkczwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWF4X3JlY29yZHNfY291bnQiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMubWF4LXJlY29yZHMtY291bnRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8c2VjdGlvbiAqbmdTd2l0Y2hDYXNlPSJTdG9yYWdlVHlwZXMuRklMRSI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtZGF0YS1mb2xkZXItcGF0aDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YV9mb2xkZXJfcGF0aCIvPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5kYXRhX2ZvbGRlcl9wYXRoXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXQtZm9ybS1maWVsZC1pbmZpeCBwb2ludGVyLWV2ZW50IHN1ZmZpeC1pY29uIiBhcmlhLWhpZGRlbj0iZmFsc2UiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0iaGVscC1pY29uIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5kYXRhLWZvbGRlclwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIGZvcm1Db250cm9sTmFtZT0ibWF4X2ZpbGVfY291bnQiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X2ZpbGVfY291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X2ZpbGVfY291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXMtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tYXhfZmlsZV9jb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXMtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1heC1maWxlLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1heF9yZWFkX3JlY29yZHNfY291bnQiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlYWRfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tYXhfcmVhZF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlYWRfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1heC1yZWFkLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdG9yYWdlLW1heC1maWxlLXJlY29yZHM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIGZvcm1Db250cm9sTmFtZT0ibWF4X3JlY29yZHNfcGVyX2ZpbGUiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlY29yZHNfcGVyX2ZpbGVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tYXhfcmVjb3Jkc19wZXJfZmlsZVwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlY29yZHNfcGVyX2ZpbGVcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1heC1yZWNvcmRzXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8c2VjdGlvbiAqbmdTd2l0Y2hDYXNlPSJTdG9yYWdlVHlwZXMuU1FMSVRFIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcmFnZS1wYXRoPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJkYXRhX2ZpbGVfcGF0aCIvPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5kYXRhX2ZpbGVfcGF0aFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtcGF0aC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmRhdGEtZm9sZGVyXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5tZXNzYWdlcy10dGwtY2hlY2staW4taG91cnM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIGZvcm1Db250cm9sTmFtZT0ibWVzc2FnZXNfdHRsX2NoZWNrX2luX2hvdXJzIi8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9jaGVja19pbl9ob3Vyc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWVzc2FnZXNfdHRsX2NoZWNrX2luX2hvdXJzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9jaGVja19pbl9ob3Vyc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy50dGwtY2hlY2staG91clwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5tZXNzYWdlcy10dGwtaW4tZGF5czwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIGZvcm1Db250cm9sTmFtZT0ibWVzc2FnZXNfdHRsX2luX2RheXMiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9pbl9kYXlzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1lc3NhZ2VzLXR0bC1pbi1kYXlzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9pbl9kYXlzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXNzYWdlcy10dGwtaW4tZGF5cy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWVzc2FnZXNfdHRsX2luX2RheXNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXNzYWdlcy10dGwtaW4tZGF5cy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMudHRsLW1lc3NhZ2VzLWRheVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZ3JwY1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT0iZ3JwYyIgY2xhc3M9Im1hdC1jb250ZW50IG1hdC1wYWRkaW5nIGNvbmZpZ3VyYXRpb24tYmxvY2siPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBjb2xvcj0icHJpbWFyeSIgZm9ybUNvbnRyb2xOYW1lPSJlbmFibGVkIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjXCcgIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDxkaXYgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5wZXJtaXQtd2l0aG91dC1jYWxsc1wnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGNvbG9yPSJwcmltYXJ5IiBmb3JtQ29udHJvbE5hbWU9ImtlZXBhbGl2ZVBlcm1pdFdpdGhvdXRDYWxscyI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5wZXJtaXQtd2l0aG91dC1jYWxsc1wnICB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc2VydmVyLXBvcnQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJzZXJ2ZXJQb3J0IiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5zZXJ2ZXItcG9ydFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLnNlcnZlclBvcnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5zZXJ2ZXJQb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5zZXJ2ZXJQb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LW1heFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5zZXJ2ZXJQb3J0XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmdycGMta2VlcC1hbGl2ZS10aW1lb3V0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ia2VlcEFsaXZlVGltZW91dE1zIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5ncnBjLWtlZXAtYWxpdmUtdGltZW91dFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLmtlZXBBbGl2ZVRpbWVvdXRNc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtdGltZW91dC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5rZWVwQWxpdmVUaW1lb3V0TXNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMta2VlcC1hbGl2ZS10aW1lb3V0LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5rZWVwQWxpdmVUaW1lb3V0TXNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtdGltZW91dC1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmdycGMta2VlcC1hbGl2ZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImtlZXBBbGl2ZVRpbWVNcyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZ3JwYy1rZWVwLWFsaXZlXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMua2VlcEFsaXZlVGltZU1zXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMta2VlcC1hbGl2ZS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5rZWVwQWxpdmVUaW1lTXNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMta2VlcC1hbGl2ZS1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMua2VlcEFsaXZlVGltZU1zXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1rZWVwLWFsaXZlLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWluVGltZUJldHdlZW5QaW5nc01zIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5ncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3NcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5taW5UaW1lQmV0d2VlblBpbmdzTXNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLm1pblRpbWVCZXR3ZWVuUGluZ3NNc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5taW5UaW1lQmV0d2VlblBpbmdzTXNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5ncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGE8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtYXhQaW5nc1dpdGhvdXREYXRhIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5ncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGFcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5tYXhQaW5nc1dpdGhvdXREYXRhXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5tYXhQaW5nc1dpdGhvdXREYXRhXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLm1heFBpbmdzV2l0aG91dERhdGFcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5ncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1pblBpbmdJbnRlcnZhbFdpdGhvdXREYXRhTXMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWluUGluZ0ludGVydmFsV2l0aG91dERhdGFNc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5taW5QaW5nSW50ZXJ2YWxXaXRob3V0RGF0YU1zXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWluUGluZ0ludGVydmFsV2l0aG91dERhdGFNc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5zdGF0aXN0aWNzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy10ZW1wbGF0ZSBtYXRUYWJDb250ZW50PlxuICAgICAgPGRpdiBmb3JtR3JvdXBOYW1lPSJ0aGluZ3Nib2FyZCIgY2xhc3M9Im1hdC1jb250ZW50IG1hdC1wYWRkaW5nIGNvbmZpZ3VyYXRpb24tYmxvY2siPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIiBmb3JtR3JvdXBOYW1lPSJzdGF0aXN0aWNzIj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjb2xvcj0icHJpbWFyeSIgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJlbmFibGUiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3Muc3RhdGlzdGljc1wnICB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3Muc2VuZC1wZXJpb2Q8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InN0YXRzU2VuZFBlcmlvZEluU2Vjb25kcyIgdHlwZT0ibnVtYmVyIiBtaW49IjYwIi8+XG4gICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zdGF0aXN0aWNzLnN0YXRzU2VuZFBlcmlvZEluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3Muc2VuZC1wZXJpb2QtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zdGF0aXN0aWNzLnN0YXRzU2VuZFBlcmlvZEluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnNlbmQtcGVyaW9kLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnN0YXRpc3RpY3Muc3RhdHNTZW5kUGVyaW9kSW5TZWNvbmRzXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnNlbmQtcGVyaW9kLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3MuY29tbWFuZHM8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLWhpbnQiIHRyYW5zbGF0ZT5nYXRld2F5LmhpbnRzLmNvbW1hbmRzPC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBmb3JtR3JvdXBOYW1lPSJzdGF0aXN0aWNzIj5cbiAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9InJvdyIgZm9ybUFycmF5TmFtZT0iY29tbWFuZHMiIGNsYXNzPSJzdGF0aXN0aWNzLWNvbnRhaW5lciJcbiAgICAgICAgICAgICAgICAgKm5nRm9yPSJsZXQgY29tbWFuZENvbnRyb2wgb2YgY29tbWFuZEZvcm1BcnJheSgpLmNvbnRyb2xzOyBsZXQgJGluZGV4ID0gaW5kZXgiPlxuICAgICAgICAgICAgICA8c2VjdGlvbiBbZm9ybUdyb3VwTmFtZV09IiRpbmRleCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCBuby1wYWRkaW5nLWJvdHRvbSBuby1nYXAgY29tbWFuZC1jb250YWluZXIiPlxuICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RhdGlzdGljcy5hdHRyaWJ1dGUtbmFtZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJhdHRyaWJ1dGVPbkdhdGV3YXkiLz5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZENvbnRyb2wuZ2V0KFwnYXR0cmlidXRlT25HYXRld2F5XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmF0dHJpYnV0ZS1uYW1lLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuYXR0cmlidXRlXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3MudGltZW91dDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ0aW1lb3V0IiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb21tYW5kQ29udHJvbC5nZXQoXCd0aW1lb3V0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnRpbWVvdXQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZENvbnRyb2wuZ2V0KFwndGltZW91dFwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MudGltZW91dC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZENvbnRyb2wuZ2V0KFwndGltZW91dFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnRpbWVvdXQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLnRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImNvbW1hbmQiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbW1hbmRDb250cm9sLmdldChcJ2NvbW1hbmRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb21tYW5kQ29udHJvbC5nZXQoXCdjb21tYW5kXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmNvbW1hbmRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9InJlbW92ZUNvbW1hbmRDb250cm9sKCRpbmRleCwgJGV2ZW50KSJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItYm94LWJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPSIhYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucmVtb3RlQ29uZmlndXJhdGlvblwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5yZW1vdmVcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IGZpdC1jb250ZW50OyJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPSIhYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucmVtb3RlQ29uZmlndXJhdGlvblwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iYWRkQ29tbWFuZCgpIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuYWRkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5vdGhlclwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT0idGhpbmdzYm9hcmQiIGNsYXNzPSJtYXQtY29udGVudCBtYXQtcGFkZGluZyBjb25maWd1cmF0aW9uLWJsb2NrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCIgZm9ybUdyb3VwTmFtZT0iY2hlY2tpbmdEZXZpY2VBY3Rpdml0eSJcbiAgICAgICAgICAgICBbY2xhc3Mubm8tcGFkZGluZy1ib3R0b21dPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja2luZ0RldmljZUFjdGl2aXR5LmNoZWNrRGV2aWNlSW5hY3Rpdml0eVwnKS52YWx1ZSI+XG4gICAgICAgICAgPGRpdiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLmNoZWNrLWRldmljZS1hY3Rpdml0eVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGNvbG9yPSJwcmltYXJ5IiBmb3JtQ29udHJvbE5hbWU9ImNoZWNrRGV2aWNlSW5hY3Rpdml0eSI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5jaGVja2luZy1kZXZpY2UtYWN0aXZpdHlcJyAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyJcbiAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5jaGVja0RldmljZUluYWN0aXZpdHlcJykudmFsdWUiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5pbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kczwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJpbmFjdGl2aXR5VGltZW91dFNlY29uZHMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5pbmFjdGl2aXR5VGltZW91dFNlY29uZHNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5pbmFjdGl2aXR5VGltZW91dFNlY29uZHNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja2luZ0RldmljZUFjdGl2aXR5LmluYWN0aXZpdHlUaW1lb3V0U2Vjb25kc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuaW5hY3Rpdml0eS10aW1lb3V0XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBmb3JtQ29udHJvbE5hbWU9ImluYWN0aXZpdHlDaGVja1BlcmlvZFNlY29uZHMiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja2luZ0RldmljZUFjdGl2aXR5LmluYWN0aXZpdHlDaGVja1BlcmlvZFNlY29uZHNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja2luZ0RldmljZUFjdGl2aXR5LmluYWN0aXZpdHlDaGVja1BlcmlvZFNlY29uZHNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LWNoZWNrLXBlcmlvZC1zZWNvbmRzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNraW5nRGV2aWNlQWN0aXZpdHkuaW5hY3Rpdml0eUNoZWNrUGVyaW9kU2Vjb25kc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LWNoZWNrLXBlcmlvZC1zZWNvbmRzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5pbmFjdGl2aXR5LXBlcmlvZFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tcGFkZGluZy1ib3R0b20iPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LmFkdmFuY2VkPC9kaXY+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5taW4tcGFjay1zZW5kLWRlbGF5PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1pblBhY2tTZW5kRGVsYXlNUyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWluUGFja1NlbmREZWxheU1TXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5taW4tcGFjay1zZW5kLWRlbGF5LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1pblBhY2tTZW5kRGVsYXlNU1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1pbi1wYWNrLXNlbmQtZGVsYXktbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWluUGFja1NlbmREZWxheU1TXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1pbi1wYWNrLXNlbmQtZGVsYXktcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1pbmltYWwtcGFjay1kZWxheVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5tcXR0LXFvczwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJxb3MiIHR5cGU9Im51bWJlciIgbWluPSIwIiBtYXg9IjEiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucW9zXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tcXR0LXFvcy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5xb3NcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tcXR0LXFvcy1yYW5nZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5xb3NcJykuaGFzRXJyb3IoXCdtYXhcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tcXR0LXFvcy1yYW5nZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLnFvc1wnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3MuY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImNoZWNrQ29ubmVjdG9yc0NvbmZpZ3VyYXRpb25JblNlY29uZHMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tDb25uZWN0b3JzQ29uZmlndXJhdGlvbkluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5jaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja0Nvbm5lY3RvcnNDb25maWd1cmF0aW9uSW5TZWNvbmRzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5jaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tDb25uZWN0b3JzQ29uZmlndXJhdGlvbkluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbi1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLm1heC1wYXlsb2FkLXNpemUtYnl0ZXM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWF4UGF5bG9hZFNpemVCeXRlcyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5tYXhQYXlsb2FkU2l6ZUJ5dGVzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLm1heC1wYXlsb2FkLXNpemUtYnl0ZXMtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5tYXhQYXlsb2FkU2l6ZUJ5dGVzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5tYXgtcGF5bG9hZC1zaXplLWJ5dGVzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1heFBheWxvYWRTaXplQnl0ZXNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5tYXgtcGF5bG9hZC1zaXplLWJ5dGVzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5tYXgtcGF5bG9hZC1zaXplLWJ5dGVzXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RhdGlzdGljcy5taW4tcGFjay1zaXplLXRvLXNlbmQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWluUGFja1NpemVUb1NlbmQiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWluUGFja1NpemVUb1NlbmRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MubWluLXBhY2stc2l6ZS10by1zZW5kLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWluUGFja1NpemVUb1NlbmRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLm1pbi1wYWNrLXNpemUtdG8tc2VuZC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5taW5QYWNrU2l6ZVRvU2VuZFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLm1pbi1wYWNrLXNpemUtdG8tc2VuZC1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMubWluLXBhY2stc2l6ZS10by1zZW5kXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLXJvd3M6bWluLWNvbnRlbnQgbWlubWF4KGF1dG8sMWZyKSBtaW4tY29udGVudH06aG9zdCAuY29uZmlndXJhdGlvbi1ibG9ja3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxNnB4O21heC1oZWlnaHQ6NzB2aH06aG9zdCAuZGlhbG9nLW1vZGUgLmNvbmZpZ3VyYXRpb24tYmxvY2t7bWF4LWhlaWdodDo2MHZofTpob3N0IC5tYXQtdG9vbGJhcntncmlkLXJvdzoxO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6IzAwMDAwMGRlIWltcG9ydGFudH06aG9zdCAudGFiLWdyb3VwLWJsb2Nre21pbi13aWR0aDowO2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6MDtncmlkLXJvdzoyfTpob3N0IC50b2dnbGUtZ3JvdXB7bWFyZ2luLXJpZ2h0OmF1dG99Omhvc3QgLmZpcnN0LWNhcGl0YWx7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZX06aG9zdCB0ZXh0YXJlYXtyZXNpemU6bm9uZX06aG9zdCAuc2F2aW5nLXBlcmlvZHtmbGV4OjF9Omhvc3QgLnN0YXRpc3RpY3MtY29udGFpbmVye3dpZHRoOjEwMCV9Omhvc3QgLnN0YXRpc3RpY3MtY29udGFpbmVyIC5jb21tYW5kLWNvbnRhaW5lcnt3aWR0aDoxMDAlfTpob3N0IG1hdC1mb3JtLWZpZWxkIG1hdC1lcnJvcntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fTpob3N0IG1hdC1mb3JtLWZpZWxkIG1hdC1lcnJvcjpmaXJzdC1jaGlsZHtkaXNwbGF5OmJsb2NrIWltcG9ydGFudH06aG9zdCA6Om5nLWRlZXAgLnBvaW50ZXItZXZlbnR7cG9pbnRlci1ldmVudHM6YWxsfTpob3N0IDo6bmctZGVlcCAudG9nZ2xlLWdyb3VwIHNwYW57cGFkZGluZzowIDI1cHh9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLWZvcm0tZmllbGQtaWNvbi1zdWZmaXh7Y29sb3I6I2UwZTBlMH06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtZm9ybS1maWVsZC1pY29uLXN1ZmZpeDpob3Zlcntjb2xvcjojOWU5ZTllfTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTpYLkRldmljZVNlcnZpY2V9LHt0eXBlOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9LHt0eXBlOkplLk1hdERpYWxvZ31dLHByb3BEZWNvcmF0b3JzOntkZXZpY2U6W3t0eXBlOmF9XSxkaWFsb2dNb2RlOlt7dHlwZTphfV0saW5pdGlhbENyZWRlbnRpYWxzVXBkYXRlZDpbe3R5cGU6bH1dfX0pO2NsYXNzIFBve2NvbnN0cnVjdG9yKGUpe3RoaXMuZmI9ZSx0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLmFkdmFuY2VkRm9ybUNvbnRyb2w9dGhpcy5mYi5jb250cm9sKCIiKSx0aGlzLmFkdmFuY2VkRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMub25DaGFuZ2UoZSksdGhpcy5vblRvdWNoZWQoKX0pKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMub25DaGFuZ2U9ZX1yZWdpc3Rlck9uVG91Y2hlZChlKXt0aGlzLm9uVG91Y2hlZD1lfXdyaXRlVmFsdWUoZSl7dGhpcy5hZHZhbmNlZEZvcm1Db250cm9sLnJlc2V0KGUse2VtaXRFdmVudDohMX0pfXZhbGlkYXRlKCl7cmV0dXJuIHRoaXMuYWR2YW5jZWRGb3JtQ29udHJvbC52YWxpZD9udWxsOnthZHZhbmNlZEZvcm1Db250cm9sOnt2YWxpZDohMX19fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6UG8sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpQbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLWdhdGV3YXktYWR2YW5jZWQtY29uZmlndXJhdGlvbiIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+UG8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PlBvKSksbXVsdGk6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuXG48dGItanNvbi1vYmplY3QtZWRpdFxuICBmaWxsSGVpZ2h0PSJ0cnVlIlxuICBjbGFzcz0idGItZmxleCBjb25maWctY29udGFpbmVyIlxuICBmeExheW91dD0iY29sdW1uIlxuICBqc29uUmVxdWlyZWRcbiAgbGFiZWw9Int7IFwnZ2F0ZXdheS5jb25maWd1cmF0aW9uXCcgfCB0cmFuc2xhdGUgfX0iXG4gIFtmb3JtQ29udHJvbF09ImFkdmFuY2VkRm9ybUNvbnRyb2wiXG4vPlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC5jb25maWctY29udGFpbmVye2hlaWdodDpjYWxjKDEwMCUgLSA2MHB4KTtwYWRkaW5nOjhweH1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZ0Lkpzb25PYmplY3RFZGl0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi1qc29uLW9iamVjdC1lZGl0IixpbnB1dHM6WyJsYWJlbCIsImRpc2FibGVkIiwiZmlsbEhlaWdodCIsImVkaXRvclN0eWxlIiwic29ydCIsImpzb25SZXF1aXJlZCIsInJlYWRvbmx5Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2wiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV19KX19ZSgiR2F0ZXdheUFkdmFuY2VkQ29uZmlndXJhdGlvbkNvbXBvbmVudCIsUG8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6UG8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktYWR2YW5jZWQtY29uZmlndXJhdGlvbiIsc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILERdLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PlBvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5QbykpLG11bHRpOiEwfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG5cbjx0Yi1qc29uLW9iamVjdC1lZGl0XG4gIGZpbGxIZWlnaHQ9InRydWUiXG4gIGNsYXNzPSJ0Yi1mbGV4IGNvbmZpZy1jb250YWluZXIiXG4gIGZ4TGF5b3V0PSJjb2x1bW4iXG4gIGpzb25SZXF1aXJlZFxuICBsYWJlbD0ie3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSJcbiAgW2Zvcm1Db250cm9sXT0iYWR2YW5jZWRGb3JtQ29udHJvbCJcbi8+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLmNvbmZpZy1jb250YWluZXJ7aGVpZ2h0OmNhbGMoMTAwJSAtIDYwcHgpO3BhZGRpbmc6OHB4fVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9XX0pO2NsYXNzIEdve2NvbnN0cnVjdG9yKGUsdCxuLGEpe3RoaXMuZmI9ZSx0aGlzLmF0dHJpYnV0ZVNlcnZpY2U9dCx0aGlzLmRldmljZVNlcnZpY2U9bix0aGlzLmNkPWEsdGhpcy5Db25maWd1cmF0aW9uTW9kZXM9b24sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5nYXRld2F5Q29uZmlnQXR0cmlidXRlS2V5cz1bImdlbmVyYWxfY29uZmlndXJhdGlvbiIsImdycGNfY29uZmlndXJhdGlvbiIsImxvZ3NfY29uZmlndXJhdGlvbiIsInN0b3JhZ2VfY29uZmlndXJhdGlvbiIsIlJlbW90ZUxvZ2dpbmdMZXZlbCIsIm1vZGUiXSx0aGlzLmdhdGV3YXlDb25maWdHcm91cD10aGlzLmZiLmdyb3VwKHtiYXNpY0NvbmZpZzpbXSxhZHZhbmNlZENvbmZpZzpbXSxtb2RlOltvbi5CQVNJQ119KSx0aGlzLm9ic2VydmVBbGlnbkNvbmZpZ3MoKX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLmZldGNoQ29uZmlnQXR0cmlidXRlKHRoaXMuZGV2aWNlKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1zYXZlQ29uZmlnKCl7Y29uc3R7bW9kZTplLGFkdmFuY2VkQ29uZmlnOnR9PXBlKHRoaXMucmVtb3ZlRW1wdHkodGhpcy5nYXRld2F5Q29uZmlnR3JvdXAudmFsdWUpKSxuPXttb2RlOmUsLi4udH07bi50aGluZ3Nib2FyZC5zdGF0aXN0aWNzLmNvbW1hbmRzPU9iamVjdC52YWx1ZXMobi50aGluZ3Nib2FyZC5zdGF0aXN0aWNzLmNvbW1hbmRzPz9bXSk7Y29uc3QgYT10aGlzLmdlbmVyYXRlQXR0cmlidXRlcyhuKTt0aGlzLmF0dHJpYnV0ZVNlcnZpY2Uuc2F2ZUVudGl0eUF0dHJpYnV0ZXModGhpcy5kZXZpY2UsTC5TSEFSRURfU0NPUEUsYSkucGlwZShVZSgoZT0+dGhpcy51cGRhdGVDcmVkZW50aWFscyhuLnRoaW5nc2JvYXJkLnNlY3VyaXR5KSkpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5kaWFsb2dSZWY/dGhpcy5kaWFsb2dSZWYuY2xvc2UoKToodGhpcy5nYXRld2F5Q29uZmlnR3JvdXAubWFya0FzUHJpc3RpbmUoKSx0aGlzLmNkLmRldGVjdENoYW5nZXMoKSl9KSl9b2JzZXJ2ZUFsaWduQ29uZmlncygpe3RoaXMuZ2F0ZXdheUNvbmZpZ0dyb3VwLmdldCgiYmFzaWNDb25maWciKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57Y29uc3QgdD10aGlzLmdhdGV3YXlDb25maWdHcm91cC5nZXQoImFkdmFuY2VkQ29uZmlnIik7ZWUodC52YWx1ZSxlKXx8dGhpcy5nYXRld2F5Q29uZmlnR3JvdXAuZ2V0KCJtb2RlIikudmFsdWUhPT1vbi5CQVNJQ3x8dC5wYXRjaFZhbHVlKGUse2VtaXRFdmVudDohMX0pfSkpLHRoaXMuZ2F0ZXdheUNvbmZpZ0dyb3VwLmdldCgiYWR2YW5jZWRDb25maWciKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57Y29uc3QgdD10aGlzLmdhdGV3YXlDb25maWdHcm91cC5nZXQoImJhc2ljQ29uZmlnIik7ZWUodC52YWx1ZSxlKXx8dGhpcy5nYXRld2F5Q29uZmlnR3JvdXAuZ2V0KCJtb2RlIikudmFsdWUhPT1vbi5BRFZBTkNFRHx8dC5wYXRjaFZhbHVlKGUse2VtaXRFdmVudDohMX0pfSkpfWdlbmVyYXRlQXR0cmlidXRlcyhlKXtjb25zdCB0PVtdLG49KGUsbik9Pnt0LnB1c2goe2tleTplLHZhbHVlOm59KX0sYT0oZSx0KT0+e3Q9ey4uLnQsdHM6KG5ldyBEYXRlKS5nZXRUaW1lKCl9LG4oZSx0KX07cmV0dXJuIG4oIlJlbW90ZUxvZ2dpbmdMZXZlbCIsZS5sb2dzPy5yZW1vdGU/LmVuYWJsZWQ/ZS5sb2dzLnJlbW90ZS5sb2dMZXZlbDpNdC5OT05FKSxkZWxldGUgZS5jb25uZWN0b3JzLG4oImxvZ3NfY29uZmlndXJhdGlvbiIsdGhpcy5nZW5lcmF0ZUxvZ3NGaWxlKGUubG9ncykpLGEoImdycGNfY29uZmlndXJhdGlvbiIsZS5ncnBjKSxhKCJzdG9yYWdlX2NvbmZpZ3VyYXRpb24iLGUuc3RvcmFnZSksYSgiZ2VuZXJhbF9jb25maWd1cmF0aW9uIixlLnRoaW5nc2JvYXJkKSxuKCJtb2RlIixlLm1vZGUpLHR9dXBkYXRlQ3JlZGVudGlhbHMoZSl7bGV0IHQ9e307c3dpdGNoKGUudHlwZSl7Y2FzZSBWdC5VU0VSTkFNRV9QQVNTV09SRDp0aGlzLnNob3VsZFVwZGF0ZUNyZWRlbnRpYWxzKGUpJiYodD10aGlzLmdlbmVyYXRlTXF0dENyZWRlbnRpYWxzKGUpKTticmVhaztjYXNlIFZ0LkFDQ0VTU19UT0tFTjpjYXNlIFZ0LlRMU19BQ0NFU1NfVE9LRU46dGhpcy5zaG91bGRVcGRhdGVBY2Nlc3NUb2tlbihlKSYmKHQ9e2NyZWRlbnRpYWxzVHlwZTpVLkFDQ0VTU19UT0tFTixjcmVkZW50aWFsc0lkOmUuYWNjZXNzVG9rZW59KX1yZXR1cm4gT2JqZWN0LmtleXModCkubGVuZ3RoP3RoaXMuZGV2aWNlU2VydmljZS5zYXZlRGV2aWNlQ3JlZGVudGlhbHMoey4uLnRoaXMuaW5pdGlhbENyZWRlbnRpYWxzLC4uLnR9KTpJZShudWxsKX1zaG91bGRVcGRhdGVDcmVkZW50aWFscyhlKXtpZih0aGlzLmluaXRpYWxDcmVkZW50aWFscy5jcmVkZW50aWFsc1R5cGUhPT1VLk1RVFRfQkFTSUMpcmV0dXJuITA7Y29uc3QgdD1KU09OLnBhcnNlKHRoaXMuaW5pdGlhbENyZWRlbnRpYWxzLmNyZWRlbnRpYWxzVmFsdWUpO3JldHVybiEodC5jbGllbnRJZD09PWUuY2xpZW50SWQmJnQudXNlck5hbWU9PT1lLnVzZXJuYW1lJiZ0LnBhc3N3b3JkPT09ZS5wYXNzd29yZCl9Z2VuZXJhdGVNcXR0Q3JlZGVudGlhbHMoZSl7Y29uc3R7Y2xpZW50SWQ6dCx1c2VybmFtZTpuLHBhc3N3b3JkOmF9PWUsbz17Li4udCYme2NsaWVudElkOnR9LC4uLm4mJnt1c2VyTmFtZTpufSwuLi5hJiZ7cGFzc3dvcmQ6YX19O3JldHVybntjcmVkZW50aWFsc1R5cGU6VS5NUVRUX0JBU0lDLGNyZWRlbnRpYWxzVmFsdWU6SlNPTi5zdHJpbmdpZnkobyl9fXNob3VsZFVwZGF0ZUFjY2Vzc1Rva2VuKGUpe3JldHVybiB0aGlzLmluaXRpYWxDcmVkZW50aWFscy5jcmVkZW50aWFsc1R5cGUhPT1VLkFDQ0VTU19UT0tFTnx8dGhpcy5pbml0aWFsQ3JlZGVudGlhbHMuY3JlZGVudGlhbHNJZCE9PWUuYWNjZXNzVG9rZW59Y2FuY2VsKCl7dGhpcy5kaWFsb2dSZWYmJnRoaXMuZGlhbG9nUmVmLmNsb3NlKCl9cmVtb3ZlRW1wdHkoZSl7cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhlKS5maWx0ZXIoKChbZSx0XSk9Pm51bGwhPXQpKS5tYXAoKChbZSx0XSk9PltlLHQ9PT1PYmplY3QodCk/dGhpcy5yZW1vdmVFbXB0eSh0KTp0XSkpKX1nZW5lcmF0ZUxvZ3NGaWxlKGUpe2NvbnN0IHQ9e3ZlcnNpb246MSxkaXNhYmxlX2V4aXN0aW5nX2xvZ2dlcnM6ITEsZm9ybWF0dGVyczp7TG9nRm9ybWF0dGVyOntjbGFzczoibG9nZ2luZy5Gb3JtYXR0ZXIiLGZvcm1hdDplLmxvZ0Zvcm1hdCxkYXRlZm10OmUuZGF0ZUZvcm1hdH19LGhhbmRsZXJzOntjb25zb2xlSGFuZGxlcjp7Y2xhc3M6ImxvZ2dpbmcuU3RyZWFtSGFuZGxlciIsZm9ybWF0dGVyOiJMb2dGb3JtYXR0ZXIiLGxldmVsOjAsc3RyZWFtOiJleHQ6Ly9zeXMuc3Rkb3V0In0sZGF0YWJhc2VIYW5kbGVyOntjbGFzczoidGhpbmdzYm9hcmRfZ2F0ZXdheS50Yl91dGlsaXR5LnRiX2hhbmRsZXIuVGltZWRSb3RhdGluZ0ZpbGVIYW5kbGVyIixmb3JtYXR0ZXI6IkxvZ0Zvcm1hdHRlciIsZmlsZW5hbWU6Ii4vbG9ncy9kYXRhYmFzZS5sb2ciLGJhY2t1cENvdW50OjEsZW5jb2Rpbmc6InV0Zi04In19LGxvZ2dlcnM6e2RhdGFiYXNlOntoYW5kbGVyczpbImRhdGFiYXNlSGFuZGxlciIsImNvbnNvbGVIYW5kbGVyIl0sbGV2ZWw6IkRFQlVHIixwcm9wYWdhdGU6ITF9fSxyb290OntsZXZlbDoiRVJST1IiLGhhbmRsZXJzOlsiY29uc29sZUhhbmRsZXIiXX0sdHM6KG5ldyBEYXRlKS5nZXRUaW1lKCl9O3JldHVybiB0aGlzLmFkZExvY2FsTG9nZ2Vycyh0LGUubG9jYWwpLHR9YWRkTG9jYWxMb2dnZXJzKGUsdCl7Zm9yKGNvbnN0IG4gb2YgT2JqZWN0LmtleXModCkpZS5oYW5kbGVyc1tuKyJIYW5kbGVyIl09dGhpcy5jcmVhdGVIYW5kbGVyT2JqKHRbbl0sbiksZS5sb2dnZXJzW25dPXRoaXMuY3JlYXRlTG9nZ2VyT2JqKHRbbl0sbil9Y3JlYXRlSGFuZGxlck9iaihlLHQpe3JldHVybntjbGFzczoidGhpbmdzYm9hcmRfZ2F0ZXdheS50Yl91dGlsaXR5LnRiX2hhbmRsZXIuVGltZWRSb3RhdGluZ0ZpbGVIYW5kbGVyIixmb3JtYXR0ZXI6IkxvZ0Zvcm1hdHRlciIsZmlsZW5hbWU6YCR7ZS5maWxlUGF0aH0vJHt0fS5sb2dgLGJhY2t1cENvdW50OmUuYmFja3VwQ291bnQsaW50ZXJ2YWw6ZS5zYXZpbmdUaW1lLHdoZW46ZS5zYXZpbmdQZXJpb2QsZW5jb2Rpbmc6InV0Zi04In19Y3JlYXRlTG9nZ2VyT2JqKGUsdCl7cmV0dXJue2hhbmRsZXJzOltgJHt0fUhhbmRsZXJgLCJjb25zb2xlSGFuZGxlciJdLGxldmVsOmUubG9nTGV2ZWwscHJvcGFnYXRlOiExfX1mZXRjaENvbmZpZ0F0dHJpYnV0ZShlKXtlLmlkIT09ayYmdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLmdldEVudGl0eUF0dHJpYnV0ZXMoZSxMLkNMSUVOVF9TQ09QRSkucGlwZShfZSgodD0+dC5sZW5ndGg/SWUodCk6dGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLmdldEVudGl0eUF0dHJpYnV0ZXMoZSxMLlNIQVJFRF9TQ09QRSx0aGlzLmdhdGV3YXlDb25maWdBdHRyaWJ1dGVLZXlzKSkpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLnVwZGF0ZUNvbmZpZ3MoZSksdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCl9KSl9dXBkYXRlQ29uZmlncyhlKXtjb25zdCB0PXt0aGluZ3Nib2FyZDp7fSxncnBjOnt9LGxvZ3M6e30sc3RvcmFnZTp7fSxtb2RlOm9uLkJBU0lDfTtlLmZvckVhY2goKGU9Pntzd2l0Y2goZS5rZXkpe2Nhc2UiZ2VuZXJhbF9jb25maWd1cmF0aW9uIjp0LnRoaW5nc2JvYXJkPWUudmFsdWUsdGhpcy51cGRhdGVGb3JtQ29udHJvbHMoZS52YWx1ZSk7YnJlYWs7Y2FzZSJncnBjX2NvbmZpZ3VyYXRpb24iOnQuZ3JwYz1lLnZhbHVlO2JyZWFrO2Nhc2UibG9nc19jb25maWd1cmF0aW9uIjp0LmxvZ3M9dGhpcy5sb2dzVG9PYmooZS52YWx1ZSk7YnJlYWs7Y2FzZSJzdG9yYWdlX2NvbmZpZ3VyYXRpb24iOnQuc3RvcmFnZT1lLnZhbHVlO2JyZWFrO2Nhc2UibW9kZSI6dC5tb2RlPWUudmFsdWU7YnJlYWs7Y2FzZSJSZW1vdGVMb2dnaW5nTGV2ZWwiOnQubG9ncz17Li4udC5sb2dzLHJlbW90ZTp7ZW5hYmxlZDplLnZhbHVlIT09TXQuTk9ORSxsb2dMZXZlbDplLnZhbHVlfX19fSkpLHRoaXMuZ2F0ZXdheUNvbmZpZ0dyb3VwLmdldCgiYmFzaWNDb25maWciKS5zZXRWYWx1ZSh0LHtlbWl0RXZlbnQ6ITF9KSx0aGlzLmdhdGV3YXlDb25maWdHcm91cC5nZXQoImFkdmFuY2VkQ29uZmlnIikuc2V0VmFsdWUodCx7ZW1pdEV2ZW50OiExfSl9dXBkYXRlRm9ybUNvbnRyb2xzKGUpe2NvbnN0e3R5cGU6dCxhY2Nlc3NUb2tlbjpuLC4uLmF9PWUuc2VjdXJpdHk/P3t9O3RoaXMuaW5pdGlhbENyZWRlbnRpYWxzPXtkZXZpY2VJZDp0aGlzLmRldmljZSxjcmVkZW50aWFsc1R5cGU6dCxjcmVkZW50aWFsc0lkOm4sY3JlZGVudGlhbHNWYWx1ZTpKU09OLnN0cmluZ2lmeShhKX19bG9nc1RvT2JqKGUpe2NvbnN0e2Zvcm1hdDp0LGRhdGVmbXQ6bn09ZS5mb3JtYXR0ZXJzLkxvZ0Zvcm1hdHRlcjtyZXR1cm57bG9jYWw6T2JqZWN0LmtleXMoUHQpLnJlZHVjZSgoKHQsbik9Pntjb25zdCBhPWUuaGFuZGxlcnNbYCR7bn1IYW5kbGVyYF18fHt9LG89ZS5sb2dnZXJzW25dfHx7fTtyZXR1cm4gdFtuXT17bG9nTGV2ZWw6by5sZXZlbHx8TXQuSU5GTyxmaWxlUGF0aDphLmZpbGVuYW1lPy5zcGxpdChgLyR7bn1gKVswXXx8Ii4vbG9ncyIsYmFja3VwQ291bnQ6YS5iYWNrdXBDb3VudHx8NyxzYXZpbmdUaW1lOmEuaW50ZXJ2YWx8fDMsc2F2aW5nUGVyaW9kOmEud2hlbnx8RHQuZGF5c30sdH0pLHt9KSxsb2dGb3JtYXQ6dCxkYXRlRm9ybWF0Om59fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6R28sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfSx7dG9rZW46WC5BdHRyaWJ1dGVTZXJ2aWNlfSx7dG9rZW46WC5EZXZpY2VTZXJ2aWNlfSx7dG9rZW46dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6R28sc2VsZWN0b3I6InRiLWdhdGV3YXktY29uZmlndXJhdGlvbiIsaW5wdXRzOntkZXZpY2U6ImRldmljZSIsZGlhbG9nUmVmOiJkaWFsb2dSZWYifSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuXG48ZGl2IFtmb3JtR3JvdXBdPSJnYXRld2F5Q29uZmlnR3JvdXAiIGNsYXNzPSJnYXRld2F5LWNvbmZpZy1jb250YWluZXIiPlxuICA8ZGl2IGNsYXNzPSJjb250ZW50LXdyYXBwZXIiPlxuICAgIDxtYXQtdG9vbGJhciBjb2xvcj0icHJpbWFyeSIgW2NsYXNzLnBhZ2UtaGVhZGVyXT0iIWRpYWxvZ1JlZiI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHNwYWNlLWJldHdlZW4gYWxpZ24tY2VudGVyIj5cbiAgICAgICAgPGgyIHRyYW5zbGF0ZT5nYXRld2F5LmdhdGV3YXktY29uZmlndXJhdGlvbjwvaDI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItYWN0aW9ucyI+XG4gICAgICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgW2NsYXNzLmRpYWxvZy10b2dnbGVdPSIhIWRpYWxvZ1JlZiIgZm9ybUNvbnRyb2xOYW1lPSJtb2RlIiBhcHBlYXJhbmNlPSJ7e2RpYWxvZ1JlZiA/IFwnc3Ryb2tlZFwnIDogXCdmaWxsXCd9fSI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiBbdmFsdWVdPSJDb25maWd1cmF0aW9uTW9kZXMuQkFTSUMiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuYmFzaWNcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gW3ZhbHVlXT0iQ29uZmlndXJhdGlvbk1vZGVzLkFEVkFOQ0VEIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmFkdmFuY2VkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj0iZGlhbG9nUmVmIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0iY2FuY2VsKCkiIHR5cGU9ImJ1dHRvbiI+XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgICA8dGItZ2F0ZXdheS1iYXNpYy1jb25maWd1cmF0aW9uXG4gICAgICAqbmdJZj0iZ2F0ZXdheUNvbmZpZ0dyb3VwLmdldChcJ21vZGVcJykudmFsdWUgPT09IENvbmZpZ3VyYXRpb25Nb2Rlcy5CQVNJQyJcbiAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICBbZGV2aWNlXT0iZGV2aWNlIlxuICAgICAgW2RpYWxvZ01vZGVdPSIhIWRpYWxvZ1JlZiJcbiAgICAgIChpbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkKT0iaW5pdGlhbENyZWRlbnRpYWxzID0gJGV2ZW50IlxuICAgIC8+XG4gICAgPHRiLWdhdGV3YXktYWR2YW5jZWQtY29uZmlndXJhdGlvblxuICAgICAgKm5nSWY9ImdhdGV3YXlDb25maWdHcm91cC5nZXQoXCdtb2RlXCcpLnZhbHVlID09PSBDb25maWd1cmF0aW9uTW9kZXMuQURWQU5DRUQiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9ImFkdmFuY2VkQ29uZmlnIlxuICAgIC8+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJhY3Rpb25zIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAqbmdJZj0iZGlhbG9nUmVmIlxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0iZ2F0ZXdheUNvbmZpZ0dyb3VwLmludmFsaWQgfHwgIWdhdGV3YXlDb25maWdHcm91cC5kaXJ0eSJcbiAgICAgICAgICAgIChjbGljayk9InNhdmVDb25maWcoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5zYXZlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3c6aGlkZGVufTpob3N0IC5wYWdlLWhlYWRlci5tYXQtdG9vbGJhcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMDAwMDBkZSFpbXBvcnRhbnR9Omhvc3QgLmFjdGlvbnN7Z3JpZC1yb3c6MztwYWRkaW5nOjhweCAxNnB4IDhweCA4cHg7ZGlzcGxheTpmbGV4O2dhcDo4cHg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3JpZ2h0OjA7ei1pbmRleDoxO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDoxMDAlfTpob3N0IC5nYXRld2F5LWNvbmZpZy1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59Omhvc3QgLmNvbnRlbnQtd3JhcHBlcntmbGV4OjF9Omhvc3QgLnRvb2xiYXItYWN0aW9uc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5kaWFsb2ctdG9nZ2xlIDo6bmctZGVlcCAubWF0LWJ1dHRvbi10b2dnbGUtYnV0dG9ue2NvbG9yOiNmZmZmZmZiZn1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlkuVHJhbnNsYXRlRGlyZWN0aXZlLHNlbGVjdG9yOiJbdHJhbnNsYXRlXSxbbmd4LXRyYW5zbGF0ZV0iLGlucHV0czpbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZVBhcmFtcyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm50LlRvZ2dsZU9wdGlvbixzZWxlY3RvcjoidGItdG9nZ2xlLW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTphdC5Ub2dnbGVTZWxlY3RDb21wb25lbnQsc2VsZWN0b3I6InRiLXRvZ2dsZS1zZWxlY3QiLGlucHV0czpbImRpc2FibGVkIiwic2VsZWN0TWVkaWFCcmVha3BvaW50IiwiYXBwZWFyYW5jZSIsImRpc2FibGVQYWdpbmF0aW9uIiwiZmlsbEhlaWdodCIsImV4dHJhUGFkZGluZyIsInByaW1hcnlCYWNrZ3JvdW5kIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6RG8sc2VsZWN0b3I6InRiLWdhdGV3YXktYmFzaWMtY29uZmlndXJhdGlvbiIsaW5wdXRzOlsiZGV2aWNlIiwiZGlhbG9nTW9kZSJdLG91dHB1dHM6WyJpbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6UG8sc2VsZWN0b3I6InRiLWdhdGV3YXktYWR2YW5jZWQtY29uZmlndXJhdGlvbiJ9LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV19KX19ZSgiR2F0ZXdheUNvbmZpZ3VyYXRpb25Db21wb25lbnQiLEdvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkdvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1nYXRld2F5LWNvbmZpZ3VyYXRpb24iLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuXG48ZGl2IFtmb3JtR3JvdXBdPSJnYXRld2F5Q29uZmlnR3JvdXAiIGNsYXNzPSJnYXRld2F5LWNvbmZpZy1jb250YWluZXIiPlxuICA8ZGl2IGNsYXNzPSJjb250ZW50LXdyYXBwZXIiPlxuICAgIDxtYXQtdG9vbGJhciBjb2xvcj0icHJpbWFyeSIgW2NsYXNzLnBhZ2UtaGVhZGVyXT0iIWRpYWxvZ1JlZiI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHNwYWNlLWJldHdlZW4gYWxpZ24tY2VudGVyIj5cbiAgICAgICAgPGgyIHRyYW5zbGF0ZT5nYXRld2F5LmdhdGV3YXktY29uZmlndXJhdGlvbjwvaDI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItYWN0aW9ucyI+XG4gICAgICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgW2NsYXNzLmRpYWxvZy10b2dnbGVdPSIhIWRpYWxvZ1JlZiIgZm9ybUNvbnRyb2xOYW1lPSJtb2RlIiBhcHBlYXJhbmNlPSJ7e2RpYWxvZ1JlZiA/IFwnc3Ryb2tlZFwnIDogXCdmaWxsXCd9fSI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiBbdmFsdWVdPSJDb25maWd1cmF0aW9uTW9kZXMuQkFTSUMiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuYmFzaWNcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gW3ZhbHVlXT0iQ29uZmlndXJhdGlvbk1vZGVzLkFEVkFOQ0VEIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmFkdmFuY2VkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj0iZGlhbG9nUmVmIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0iY2FuY2VsKCkiIHR5cGU9ImJ1dHRvbiI+XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgICA8dGItZ2F0ZXdheS1iYXNpYy1jb25maWd1cmF0aW9uXG4gICAgICAqbmdJZj0iZ2F0ZXdheUNvbmZpZ0dyb3VwLmdldChcJ21vZGVcJykudmFsdWUgPT09IENvbmZpZ3VyYXRpb25Nb2Rlcy5CQVNJQyJcbiAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICBbZGV2aWNlXT0iZGV2aWNlIlxuICAgICAgW2RpYWxvZ01vZGVdPSIhIWRpYWxvZ1JlZiJcbiAgICAgIChpbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkKT0iaW5pdGlhbENyZWRlbnRpYWxzID0gJGV2ZW50IlxuICAgIC8+XG4gICAgPHRiLWdhdGV3YXktYWR2YW5jZWQtY29uZmlndXJhdGlvblxuICAgICAgKm5nSWY9ImdhdGV3YXlDb25maWdHcm91cC5nZXQoXCdtb2RlXCcpLnZhbHVlID09PSBDb25maWd1cmF0aW9uTW9kZXMuQURWQU5DRUQiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9ImFkdmFuY2VkQ29uZmlnIlxuICAgIC8+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJhY3Rpb25zIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAqbmdJZj0iZGlhbG9nUmVmIlxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0iZ2F0ZXdheUNvbmZpZ0dyb3VwLmludmFsaWQgfHwgIWdhdGV3YXlDb25maWdHcm91cC5kaXJ0eSJcbiAgICAgICAgICAgIChjbGljayk9InNhdmVDb25maWcoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5zYXZlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3c6aGlkZGVufTpob3N0IC5wYWdlLWhlYWRlci5tYXQtdG9vbGJhcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMDAwMDBkZSFpbXBvcnRhbnR9Omhvc3QgLmFjdGlvbnN7Z3JpZC1yb3c6MztwYWRkaW5nOjhweCAxNnB4IDhweCA4cHg7ZGlzcGxheTpmbGV4O2dhcDo4cHg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3JpZ2h0OjA7ei1pbmRleDoxO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDoxMDAlfTpob3N0IC5nYXRld2F5LWNvbmZpZy1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59Omhvc3QgLmNvbnRlbnQtd3JhcHBlcntmbGV4OjF9Omhvc3QgLnRvb2xiYXItYWN0aW9uc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5kaWFsb2ctdG9nZ2xlIDo6bmctZGVlcCAubWF0LWJ1dHRvbi10b2dnbGUtYnV0dG9ue2NvbG9yOiNmZmZmZmZiZn1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTpYLkF0dHJpYnV0ZVNlcnZpY2V9LHt0eXBlOlguRGV2aWNlU2VydmljZX0se3R5cGU6dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHByb3BEZWNvcmF0b3JzOntkZXZpY2U6W3t0eXBlOmF9XSxkaWFsb2dSZWY6W3t0eXBlOmF9XX19KTt2YXIgT289e2dhdGV3YXk6e2FkZHJlc3M6IkFkZHJlc3MiLCJhZGRyZXNzLXJlcXVpcmVkIjoiQWRkcmVzcyByZXF1aXJlZCIsImFkZC1lbnRyeSI6IkFkZCBjb25maWd1cmF0aW9uIiwiYWRkLWF0dHJpYnV0ZSI6IkFkZCBhdHRyaWJ1dGUiLCJhZGQtYXR0cmlidXRlLXVwZGF0ZSI6IkFkZCBhdHRyaWJ1dGUgdXBkYXRlIiwiYWRkLWtleSI6IkFkZCBrZXkiLCJhZGQtdGltZXNlcmllcyI6IkFkZCB0aW1lIHNlcmllcyIsImFkZC1tYXBwaW5nIjoiQWRkIG1hcHBpbmciLCJhZGQtc2xhdmUiOiJBZGQgU2xhdmUiLGFyZ3VtZW50czoiQXJndW1lbnRzIiwiYWRkLXJwYy1tZXRob2QiOiJBZGQgbWV0aG9kIiwiYWRkLXJwYy1yZXF1ZXN0IjoiQWRkIHJlcXVlc3QiLCJhZGQtdmFsdWUiOiJBZGQgYXJndW1lbnQiLGJhdWRyYXRlOiJCYXVkcmF0ZSIsYnl0ZXNpemU6IkJ5dGVzaXplIiwiZGVsZXRlLXZhbHVlIjoiRGVsZXRlIHZhbHVlIiwiZGVsZXRlLXJwYy1tZXRob2QiOiJEZWxldGUgbWV0aG9kIiwiZGVsZXRlLXJwYy1yZXF1ZXN0IjoiRGVsZXRlIHJlcXVlc3QiLCJkZWxldGUtYXR0cmlidXRlLXVwZGF0ZSI6IkRlbGV0ZSBhdHRyaWJ1dGUgdXBkYXRlIixhZHZhbmNlZDoiQWR2YW5jZWQiLCJhZHZhbmNlZC1jb25uZWN0aW9uLXNldHRpbmdzIjoiQWR2YW5jZWQgY29ubmVjdGlvbiBzZXR0aW5ncyIsYXR0cmlidXRlczoiQXR0cmlidXRlcyIsImF0dHJpYnV0ZS11cGRhdGVzIjoiQXR0cmlidXRlIHVwZGF0ZXMiLCJhdHRyaWJ1dGUtZmlsdGVyIjoiQXR0cmlidXRlIGZpbHRlciIsImF0dHJpYnV0ZS1maWx0ZXItaGludCI6IkZpbHRlciBmb3IgaW5jb21pbmcgYXR0cmlidXRlIG5hbWUgZnJvbSBwbGF0Zm9ybSwgc3VwcG9ydHMgcmVndWxhciBleHByZXNzaW9uLiIsImF0dHJpYnV0ZS1maWx0ZXItcmVxdWlyZWQiOiJBdHRyaWJ1dGUgZmlsdGVyIHJlcXVpcmVkLiIsImF0dHJpYnV0ZS1uYW1lLWV4cHJlc3Npb24iOiJBdHRyaWJ1dGUgbmFtZSBleHByZXNzaW9uIiwiYXR0cmlidXRlLW5hbWUtZXhwcmVzc2lvbi1yZXF1aXJlZCI6IkF0dHJpYnV0ZSBuYW1lIGV4cHJlc3Npb24gcmVxdWlyZWQuIiwiYXR0cmlidXRlLW5hbWUtZXhwcmVzc2lvbi1oaW50IjoiSGludCBmb3IgQXR0cmlidXRlIG5hbWUgZXhwcmVzc2lvbiIsYmFzaWM6IkJhc2ljIiwiYnl0ZS1vcmRlciI6IkJ5dGUgb3JkZXIiLCJ3b3JkLW9yZGVyIjoiV29yZCBvcmRlciIsYnJva2VyOntjb25uZWN0aW9uOiJDb25uZWN0aW9uIHRvIGJyb2tlciIsbmFtZToiQnJva2VyIG5hbWUiLCJuYW1lLXJlcXVpcmVkIjoiQnJva2VyIG5hbWUgcmVxdWlyZWQuIiwic2VjdXJpdHktdHlwZXMiOnthbm9ueW1vdXM6IkFub255bW91cyIsYmFzaWM6IkJhc2ljIixjZXJ0aWZpY2F0ZXM6IkNlcnRpZmljYXRlcyJ9fSwiQ0EtY2VydGlmaWNhdGUtcGF0aCI6IlBhdGggdG8gQ0EgY2VydGlmaWNhdGUgZmlsZSIsInBhdGgtdG8tQ0EtY2VydC1yZXF1aXJlZCI6IlBhdGggdG8gQ0EgY2VydGlmaWNhdGUgZmlsZSBpcyByZXF1aXJlZC4iLCJjaGFuZ2UtY29ubmVjdG9yLXRpdGxlIjoiQ29uZmlybSBjb25uZWN0b3IgY2hhbmdlIiwiY2hhbmdlLWNvbm5lY3Rvci10ZXh0IjoiU3dpdGNoaW5nIGNvbm5lY3RvcnMgd2lsbCBkaXNjYXJkIGFueSB1bnNhdmVkIGNoYW5nZXMuIENvbnRpbnVlPyIsImNoZWNraW5nLWRldmljZS1hY3Rpdml0eSI6IkNoZWNraW5nIGRldmljZSBhY3Rpdml0eSIsY29tbWFuZDoiRG9ja2VyIGNvbW1hbmRzIiwiY29tbWFuZC1jb3BpZWQtbWVzc2FnZSI6IkRvY2tlciBjb21tYW5kIGhhcyBiZWVuIGNvcGllZCB0byBjbGlwYm9hcmQiLGNvbmZpZ3VyYXRpb246IkNvbmZpZ3VyYXRpb24iLCJhZGQtY29ubmVjdG9yIjoiQWRkIGNvbm5lY3RvciIsImNvbm5lY3Rvci1hZGQiOiJBZGQgbmV3IGNvbm5lY3RvciIsImNvbm5lY3Rvci1lbmFibGVkIjoiRW5hYmxlIGNvbm5lY3RvciIsImNvbm5lY3Rvci1uYW1lIjoiQ29ubmVjdG9yIG5hbWUiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6IkNvbm5lY3RvciBuYW1lIGlzIHJlcXVpcmVkLiIsImNvbm5lY3Rvci10eXBlIjoiQ29ubmVjdG9yIHR5cGUiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IkNvbm5lY3RvciB0eXBlIGlzIHJlcXVpcmVkLiIsY29ubmVjdG9yczoiQ29ubmVjdG9ycyIsImNvbm5lY3RvcnMtY29uZmlnIjoiQ29ubmVjdG9ycyBjb25maWd1cmF0aW9uIiwiY29ubmVjdG9ycy10YWJsZS1lbmFibGVkIjoiRW5hYmxlZCIsImNvbm5lY3RvcnMtdGFibGUtbmFtZSI6Ik5hbWUiLCJjb25uZWN0b3JzLXRhYmxlLXR5cGUiOiJUeXBlIiwiY29ubmVjdG9ycy10YWJsZS1zdGF0dXMiOiJTdGF0dXMiLCJjb25uZWN0b3JzLXRhYmxlLWFjdGlvbnMiOiJBY3Rpb25zIiwiY29ubmVjdG9ycy10YWJsZS1rZXkiOiJLZXkiLCJjb25uZWN0b3JzLXRhYmxlLWNsYXNzIjoiQ2xhc3MiLCJjb25uZWN0aW9uLXRpbWVvdXQiOiJDb25uZWN0aW9uIHRpbWVvdXQgKHMpIiwiY29ubmVjdC1hdHRlbXB0LXRpbWUiOiJDb25uZWN0IGF0dGVtcHQgdGltZSAobXMpIiwiY29ubmVjdC1hdHRlbXB0LWNvdW50IjoiQ29ubmVjdCBhdHRlbXB0IGNvdW50IiwiY29weS11c2VybmFtZSI6IkNvcHkgdXNlcm5hbWUiLCJjb3B5LXBhc3N3b3JkIjoiQ29weSBwYXNzd29yZCIsImNvcHktY2xpZW50LWlkIjoiQ29weSBjbGllbnQgSUQiLCJjb25uZWN0b3ItY3JlYXRlZCI6IkNvbm5lY3RvciBjcmVhdGVkIiwiY29ubmVjdG9yLXVwZGF0ZWQiOiJDb25uZWN0b3IgdXBkYXRlZCIsInJwYy1jb21tYW5kLXNhdmUtdGVtcGxhdGUiOiJTYXZlIFRlbXBsYXRlIiwicnBjLWNvbW1hbmQtc2VuZCI6IlNlbmQiLCJycGMtY29tbWFuZC1yZXN1bHQiOiJSZXNwb25zZSIsInJwYy1jb21tYW5kLWVkaXQtcGFyYW1zIjoiRWRpdCBwYXJhbWV0ZXJzIiwiZ2F0ZXdheS1jb25maWd1cmF0aW9uIjoiR2VuZXJhbCBDb25maWd1cmF0aW9uIiwiZG9ja2VyLWxhYmVsIjoiVXNlIHRoZSBmb2xsb3dpbmcgaW5zdHJ1Y3Rpb24gdG8gcnVuIElvVCBHYXRld2F5IGluIERvY2tlciBjb21wb3NlIHdpdGggY3JlZGVudGlhbHMgZm9yIHNlbGVjdGVkIGRldmljZSIsImluc3RhbGwtZG9ja2VyLWNvbXBvc2UiOiJVc2UgdGhlIGluc3RydWN0aW9ucyB0byBkb3dubG9hZCwgaW5zdGFsbCBhbmQgc2V0dXAgZG9ja2VyIGNvbXBvc2UiLCJkZXZpY2UtaW5mby1zZXR0aW5ncyI6IkRldmljZSBpbmZvIHNldHRpbmdzIiwiZGV2aWNlLWluZm8iOnsiZW50aXR5LWZpZWxkIjoiRW50aXR5IGZpZWxkIixzb3VyY2U6IlNvdXJjZSIsZXhwcmVzc2lvbjoiVmFsdWUgLyBFeHByZXNzaW9uIiwiZXhwcmVzc2lvbi1oaW50IjoiU2hvdyBoZWxwIixuYW1lOiJOYW1lIiwicHJvZmlsZS1uYW1lIjoiUHJvZmlsZSBuYW1lIiwiZGV2aWNlLW5hbWUtZXhwcmVzc2lvbiI6IkRldmljZSBuYW1lIGV4cHJlc3Npb24iLCJkZXZpY2UtbmFtZS1leHByZXNzaW9uLXJlcXVpcmVkIjoiRGV2aWNlIG5hbWUgZXhwcmVzc2lvbiBpcyByZXF1aXJlZC4iLCJkZXZpY2UtcHJvZmlsZS1leHByZXNzaW9uLXJlcXVpcmVkIjoiRGV2aWNlIHByb2ZpbGUgZXhwcmVzc2lvbiBpcyByZXF1aXJlZC4ifSwiZGV2aWNlLW5hbWUtZmlsdGVyIjoiRGV2aWNlIG5hbWUgZmlsdGVyIiwiZGV2aWNlLW5hbWUtZmlsdGVyLWhpbnQiOiJUaGlzIGZpZWxkIHN1cHBvcnRzIFJlZ3VsYXIgZXhwcmVzc2lvbnMgdG8gZmlsdGVyIGluY29taW5nIGRhdGEgYnkgZGV2aWNlIG5hbWUuIiwiZGV2aWNlLW5hbWUtZmlsdGVyLXJlcXVpcmVkIjoiRGV2aWNlIG5hbWUgZmlsdGVyIGlzIHJlcXVpcmVkLiIsZGV0YWlsczoiRGV0YWlscyIsImRlbGV0ZS1tYXBwaW5nLXRpdGxlIjoiRGVsZXRlIG1hcHBpbmc/IiwiZGVsZXRlLXNsYXZlLXRpdGxlIjoiRGVsZXRlIHNsYXZlPyIsZGl2aWRlcjoiRGl2aWRlciIsImRvd25sb2FkLWNvbmZpZ3VyYXRpb24tZmlsZSI6IkRvd25sb2FkIGNvbmZpZ3VyYXRpb24gZmlsZSIsImRvd25sb2FkLWRvY2tlci1jb21wb3NlIjoiRG93bmxvYWQgZG9ja2VyLWNvbXBvc2UueW1sIGZvciB5b3VyIGdhdGV3YXkiLCJlbmFibGUtcmVtb3RlLWxvZ2dpbmciOiJFbmFibGUgcmVtb3RlIGxvZ2dpbmciLCJlbGxpcHNpcy1jaGlwcy10ZXh0IjoiKyB7e2NvdW50fX0gbW9yZSIsImxhdW5jaC1nYXRld2F5IjoiTGF1bmNoIGdhdGV3YXkiLCJsYXVuY2gtY29tbWFuZCI6IkxhdW5jaCBjb21tYW5kIiwibGF1bmNoLWRvY2tlci1jb21wb3NlIjoiU3RhcnQgdGhlIGdhdGV3YXkgdXNpbmcgdGhlIGZvbGxvd2luZyBjb21tYW5kIGluIHRoZSB0ZXJtaW5hbCBmcm9tIGZvbGRlciB3aXRoIGRvY2tlci1jb21wb3NlLnltbCBmaWxlIiwibG9ncy1jb25maWd1cmF0aW9uIjoiTG9ncyBjb25maWd1cmF0aW9uIiwiY3JlYXRlLW5ldy1nYXRld2F5IjoiQ3JlYXRlIGEgbmV3IGdhdGV3YXkiLCJjcmVhdGUtbmV3LWdhdGV3YXktdGV4dCI6IkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCBjcmVhdGUgYSBuZXcgZ2F0ZXdheSB3aXRoIG5hbWU6ICd7e2dhdGV3YXlOYW1lfX0nPyIsImNyZWF0ZWQtdGltZSI6IkNyZWF0ZWQgdGltZSIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1oZWFkZXIiOiJDb25maWd1cmF0aW9ucyB3aWxsIGJlIGRlbGV0ZWQiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctYm9keSI6IlR1cm5pbmcgb2ZmIFJlbW90ZSBDb25maWd1cmF0aW9uIGlzIHBvc3NpYmxlIG9ubHkgaWYgdGhlcmUgaXMgcGh5c2ljYWwgYWNjZXNzIHRvIHRoZSBHYXRld2F5LiBBbGwgcHJldmlvdXMgY29uZmlndXJhdGlvbnMgd2lsbCBiZSBkZWxldGVkLjxicj48YnI+IFxuVG8gdHVybiBvZmYgY29uZmlndXJhdGlvbiwgZW50ZXIgZ2F0ZXdheSBuYW1lIGJlbG93IiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0IjoiR2F0ZXdheSBuYW1lIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0LXJlcXVpcmVkIjoiR2F0ZXdheSBuYW1lIGlzIG1hbmRhdG9yeSIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1jb25maXJtIjoiVHVybiBPZmYiLCJjb25uZWN0b3ItZHVwbGljYXRlLW5hbWUiOiJDb25uZWN0b3Igd2l0aCBzdWNoIG5hbWUgYWxyZWFkeSBleGlzdHMuIiwiY29ubmVjdG9yLXNpZGUiOiJDb25uZWN0b3Igc2lkZSIsInBheWxvYWQtdHlwZSI6IlBheWxvYWQgdHlwZSIsInBsYXRmb3JtLXNpZGUiOiJQbGF0Zm9ybSBzaWRlIixKU09OOiJKU09OIiwiSlNPTi1oaW50IjoiQ29udmVydGVyIGZvciB0aGlzIHBheWxvYWQgdHlwZSBwcm9jZXNzZXMgTVFUVCBtZXNzYWdlcyBpbiBKU09OIGZvcm1hdC4gSXQgdXNlcyBKU09OIFBhdGggZXhwcmVzc2lvbnMgdG8gZXh0cmFjdCB2aXRhbCBkZXRhaWxzIHN1Y2ggYXMgZGV2aWNlIG5hbWVzLCBkZXZpY2UgcHJvZmlsZSBuYW1lcywgYXR0cmlidXRlcywgYW5kIHRpbWUgc2VyaWVzIGZyb20gdGhlIG1lc3NhZ2UuIEFuZCByZWd1bGFyIGV4cHJlc3Npb25zIHRvIGdldCBkZXZpY2UgZGV0YWlscyBmcm9tIHRvcGljcy4iLGJ5dGVzOiJCeXRlcyIsImJ5dGVzLWhpbnQiOiJDb252ZXJ0ZXIgZm9yIHRoaXMgcGF5bG9hZCB0eXBlIGRlc2lnbmVkIGZvciBiaW5hcnkgTVFUVCBwYXlsb2FkcywgdGhpcyBjb252ZXJ0ZXIgZGlyZWN0bHkgaW50ZXJwcmV0cyBiaW5hcnkgZGF0YSB0byByZXRyaWV2ZSBkZXZpY2UgbmFtZXMgYW5kIGRldmljZSBwcm9maWxlIG5hbWVzLCBhbG9uZyB3aXRoIGF0dHJpYnV0ZXMgYW5kIHRpbWUgc2VyaWVzLCB1c2luZyBzcGVjaWZpYyBieXRlIHBvc2l0aW9ucyBmb3IgZGF0YSBleHRyYWN0aW9uLiIsY3VzdG9tOiJDdXN0b20iLCJjdXN0b20taGludCI6IlRoaXMgb3B0aW9uIGFsbG93cyB5b3UgdG8gdXNlIGEgY3VzdG9tIGNvbnZlcnRlciBmb3Igc3BlY2lmaWMgZGF0YSB0YXNrcy4gWW91IG5lZWQgdG8gYWRkIHlvdXIgY3VzdG9tIGNvbnZlcnRlciB0byB0aGUgZXh0ZW5zaW9uIGZvbGRlciBhbmQgZW50ZXIgaXRzIGNsYXNzIG5hbWUgaW4gdGhlIFVJIHNldHRpbmdzLiBBbnkga2V5cyB5b3UgcHJvdmlkZSB3aWxsIGJlIHNlbnQgYXMgY29uZmlndXJhdGlvbiB0byB5b3VyIGN1c3RvbSBjb252ZXJ0ZXIuIiwiY2xpZW50LWNlcnQtcGF0aCI6IlBhdGggdG8gY2xpZW50IGNlcnRpZmljYXRlIGZpbGUiLCJwYXRoLXRvLWNsaWVudC1jZXJ0LXJlcXVpcmVkIjoiUGF0aCB0byBjbGllbnQgY2VydGlmaWNhdGUgZmlsZSBpcyByZXF1aXJlZC4iLCJjbGllbnQtaWQiOiJDbGllbnQgSUQiLCJkYXRhLWNvbnZlcnNpb24iOiJEYXRhIGNvbnZlcnNpb24iLCJkYXRhLW1hcHBpbmciOiJEYXRhIG1hcHBpbmciLCJkYXRhLW1hcHBpbmctaGludCI6IkRhdGEgbWFwcGluZyBwcm92aWRlcyB0aGUgY2FwYWJpbGl0eSB0byBwYXJzZSBhbmQgY29udmVydCB0aGUgZGF0YSByZWNlaXZlZCBmcm9tIGEgTVFUVCBjbGllbnQgaW4gaW5jb21pbmcgbWVzc2FnZXMgaW50byBzcGVjaWZpYyBhdHRyaWJ1dGVzIGFuZCB0aW1lIHNlcmllcyBkYXRhIGtleXMuIiwib3BjdWEtZGF0YS1tYXBwaW5nLWhpbnQiOiJEYXRhIG1hcHBpbmcgcHJvdmlkZXMgdGhlIGNhcGFiaWxpdHkgdG8gcGFyc2UgYW5kIGNvbnZlcnQgdGhlIGRhdGEgcmVjZWl2ZWQgZnJvbSBhIE9QQ1VBIHNlcnZlciBpbnRvIHNwZWNpZmljIGRhdGEga2V5cy4iLGRlbGV0ZToiRGVsZXRlIGNvbmZpZ3VyYXRpb24iLCJkZWxldGUtYXR0cmlidXRlIjoiRGVsZXRlIGF0dHJpYnV0ZSIsImRlbGV0ZS1rZXkiOiJEZWxldGUga2V5IiwiZGVsZXRlLXRpbWVzZXJpZXMiOiJEZWxldGUgdGltZSBzZXJpZXMiLGRlZmF1bHQ6IkRlZmF1bHQiLCJkZXZpY2Utbm9kZSI6IkRldmljZSBub2RlIiwiZGV2aWNlLW5vZGUtcmVxdWlyZWQiOiJEZXZpY2Ugbm9kZSByZXF1aXJlZC4iLCJkZXZpY2Utbm9kZS1oaW50IjoiUGF0aCBvciBpZGVudGlmaWVyIGZvciBkZXZpY2Ugbm9kZSBvbiBPUEMgVUEgc2VydmVyLiBSZWxhdGl2ZSBwYXRocyBmcm9tIGl0IGZvciBhdHRyaWJ1dGVzIGFuZCB0aW1lIHNlcmllcyBjYW4gYmUgdXNlZC4iLCJkZXZpY2UtbmFtZSI6IkRldmljZSBuYW1lIiwiZGV2aWNlLXByb2ZpbGUtbGFiZWwiOiJEZXZpY2UgcHJvZmlsZSIsImRldmljZS1uYW1lLXJlcXVpcmVkIjoiRGV2aWNlIG5hbWUgcmVxdWlyZWQiLCJkZXZpY2UtcHJvZmlsZS1yZXF1aXJlZCI6IkRldmljZSBwcm9maWxlIHJlcXVpcmVkIiwiZG93bmxvYWQtdGlwIjoiRG93bmxvYWQgY29uZmlndXJhdGlvbiBmaWxlIiwiZHJvcC1maWxlIjoiRHJvcCBmaWxlIGhlcmUgb3IiLGVuYWJsZToiRW5hYmxlIiwiZW5hYmxlLXN1YnNjcmlwdGlvbiI6IkVuYWJsZSBzdWJzY3JpcHRpb24iLGV4dGVuc2lvbjoiRXh0ZW5zaW9uIiwiZXh0ZW5zaW9uLWhpbnQiOiJQdXQgeW91ciBjb252ZXJ0ZXIgY2xhc3NuYW1lIGluIHRoZSBmaWVsZC4gQ3VzdG9tIGNvbnZlcnRlciB3aXRoIHN1Y2ggY2xhc3Mgc2hvdWxkIGJlIGluIGV4dGVuc2lvbi9tcXR0IGZvbGRlci4iLCJleHRlbnNpb24tcmVxdWlyZWQiOiJFeHRlbnNpb24gaXMgcmVxdWlyZWQuIiwiZXh0ZW5zaW9uLWNvbmZpZ3VyYXRpb24iOiJFeHRlbnNpb24gY29uZmlndXJhdGlvbiIsImV4dGVuc2lvbi1jb25maWd1cmF0aW9uLWhpbnQiOiJDb25maWd1cmF0aW9uIGZvciBjb252ZXJ0b3IiLCJmaWxsLWNvbm5lY3Rvci1kZWZhdWx0cyI6IkZpbGwgY29uZmlndXJhdGlvbiB3aXRoIGRlZmF1bHQgdmFsdWVzIiwiZmlsbC1jb25uZWN0b3ItZGVmYXVsdHMtaGludCI6IlRoaXMgcHJvcGVydHkgYWxsb3dzIHRvIGZpbGwgY29ubmVjdG9yIGNvbmZpZ3VyYXRpb24gd2l0aCBkZWZhdWx0IHZhbHVlcyBvbiBpdCdzIGNyZWF0aW9uLiIsImZyb20tZGV2aWNlLXJlcXVlc3Qtc2V0dGluZ3MiOiJJbnB1dCByZXF1ZXN0IHBhcnNpbmciLCJmcm9tLWRldmljZS1yZXF1ZXN0LXNldHRpbmdzLWhpbnQiOiJUaGVzZSBmaWVsZHMgc3VwcG9ydCBKU09OUGF0aCBleHByZXNzaW9ucyB0byBleHRyYWN0IGEgbmFtZSBmcm9tIGluY29taW5nIG1lc3NhZ2UuIiwiZnVuY3Rpb24tY29kZSI6IkZ1bmN0aW9uIGNvZGUiLCJmdW5jdGlvbi1jb2RlcyI6eyJyZWFkLWNvaWxzIjoiMDEgLSBSZWFkIENvaWxzIiwicmVhZC1kaXNjcmV0ZS1pbnB1dHMiOiIwMiAtIFJlYWQgRGlzY3JldGUgSW5wdXRzIiwicmVhZC1tdWx0aXBsZS1ob2xkaW5nLXJlZ2lzdGVycyI6IjAzIC0gUmVhZCBNdWx0aXBsZSBIb2xkaW5nIFJlZ2lzdGVycyIsInJlYWQtaW5wdXQtcmVnaXN0ZXJzIjoiMDQgLSBSZWFkIElucHV0IFJlZ2lzdGVycyIsIndyaXRlLXNpbmdsZS1jb2lsIjoiMDUgLSBXcml0ZSBTaW5nbGUgQ29pbCIsIndyaXRlLXNpbmdsZS1ob2xkaW5nLXJlZ2lzdGVyIjoiMDYgLSBXcml0ZSBTaW5nbGUgSG9sZGluZyBSZWdpc3RlciIsIndyaXRlLW11bHRpcGxlLWNvaWxzIjoiMTUgLSBXcml0ZSBNdWx0aXBsZSBDb2lscyIsIndyaXRlLW11bHRpcGxlLWhvbGRpbmctcmVnaXN0ZXJzIjoiMTYgLSBXcml0ZSBNdWx0aXBsZSBIb2xkaW5nIFJlZ2lzdGVycyJ9LCJ0by1kZXZpY2UtcmVzcG9uc2Utc2V0dGluZ3MiOiJPdXRwdXQgcmVxdWVzdCBwcm9jZXNzaW5nIiwidG8tZGV2aWNlLXJlc3BvbnNlLXNldHRpbmdzLWhpbnQiOiJGb3IgdGhlc2UgZmllbGRzIHlvdSBjYW4gdXNlIHRoZSBmb2xsb3dpbmcgdmFyaWFibGVzIGFuZCB0aGV5IHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhY3R1YWwgdmFsdWVzOiAke2RldmljZU5hbWV9LCAke2F0dHJpYnV0ZUtleX0sICR7YXR0cmlidXRlVmFsdWV9IixnYXRld2F5OiJHYXRld2F5IiwiZ2F0ZXdheS1leGlzdHMiOiJEZXZpY2Ugd2l0aCBzYW1lIG5hbWUgaXMgYWxyZWFkeSBleGlzdHMuIiwiZ2F0ZXdheS1uYW1lIjoiR2F0ZXdheSBuYW1lIiwiZ2F0ZXdheS1uYW1lLXJlcXVpcmVkIjoiR2F0ZXdheSBuYW1lIGlzIHJlcXVpcmVkLiIsImdhdGV3YXktc2F2ZWQiOiJHYXRld2F5IGNvbmZpZ3VyYXRpb24gc3VjY2Vzc2Z1bGx5IHNhdmVkLiIsImdlbmVyYXRlLWNsaWVudC1pZCI6IkdlbmVyYXRlIENsaWVudCBJRCIsZ3JwYzoiR1JQQyIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0IjoiS2VlcCBhbGl2ZSB0aW1lb3V0IChpbiBtcykiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dC1yZXF1aXJlZCI6IktlZXAgYWxpdmUgdGltZW91dCBpcyByZXF1aXJlZCIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LW1pbiI6IktlZXAgYWxpdmUgdGltZW91dCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcGF0dGVybiI6IktlZXAgYWxpdmUgdGltZW91dCBpcyBub3QgdmFsaWQiLCJncnBjLWtlZXAtYWxpdmUiOiJLZWVwIGFsaXZlIChpbiBtcykiLCJncnBjLWtlZXAtYWxpdmUtcmVxdWlyZWQiOiJLZWVwIGFsaXZlIGlzIHJlcXVpcmVkIiwiZ3JwYy1rZWVwLWFsaXZlLW1pbiI6IktlZXAgYWxpdmUgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMta2VlcC1hbGl2ZS1wYXR0ZXJuIjoiS2VlcCBhbGl2ZSBpcyBub3QgdmFsaWQiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MiOiJNaW4gdGltZSBiZXR3ZWVuIHBpbmdzIChpbiBtcykiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcmVxdWlyZWQiOiJNaW4gdGltZSBiZXR3ZWVuIHBpbmdzIGlzIHJlcXVpcmVkIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLW1pbiI6Ik1pbiB0aW1lIGJldHdlZW4gcGluZ3MgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1wYXR0ZXJuIjoiTWluIHRpbWUgYmV0d2VlbiBwaW5ncyBpcyBub3QgdmFsaWQiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YSI6Ik1pbiBwaW5nIGludGVydmFsIHdpdGhvdXQgZGF0YSAoaW4gbXMpIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcmVxdWlyZWQiOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgaXMgcmVxdWlyZWQiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1taW4iOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgaXMgbm90IHZhbGlkIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoiTWF4IHBpbmdzIHdpdGhvdXQgZGF0YSIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6Ik1heCBwaW5ncyB3aXRob3V0IGRhdGEgaXMgcmVxdWlyZWQiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtbWluIjoiTWF4IHBpbmdzIHdpdGhvdXQgZGF0YSBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiJNYXggcGluZ3Mgd2l0aG91dCBkYXRhIGlzIG5vdCB2YWxpZCIsaW5mbzoiSW5mbyIsaWRlbnRpdHk6IklkZW50aXR5IiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcyI6IkluYWN0aXZpdHkgY2hlY2sgcGVyaW9kIChpbiBzZWMpIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1yZXF1aXJlZCI6IkluYWN0aXZpdHkgY2hlY2sgcGVyaW9kIGlzIHJlcXVpcmVkIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1taW4iOiJJbmFjdGl2aXR5IGNoZWNrIHBlcmlvZCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1wYXR0ZXJuIjoiSW5hY3Rpdml0eSBjaGVjayBwZXJpb2QgaXMgbm90IHZhbGlkIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMiOiJJbmFjdGl2aXR5IHRpbWVvdXQgKGluIHNlYykiLCJpbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1yZXF1aXJlZCI6IkluYWN0aXZpdHkgdGltZW91dCBpcyByZXF1aXJlZCIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLW1pbiI6IkluYWN0aXZpdHkgdGltZW91dCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcGF0dGVybiI6IkluYWN0aXZpdHkgdGltZW91dCBpcyBub3QgdmFsaWQiLCJ1bml0LWlkIjoiVW5pdCBJRCIsaG9zdDoiSG9zdCIsImhvc3QtcmVxdWlyZWQiOiJIb3N0IGlzIHJlcXVpcmVkLiIsaG9sZGluZ19yZWdpc3RlcnM6IkhvbGRpbmcgcmVnaXN0ZXJzIixjb2lsc19pbml0aWFsaXplcjoiQ29pbHMgaW5pdGlhbGl6ZXIiLGlucHV0X3JlZ2lzdGVyczoiSW5wdXQgcmVnaXN0ZXJzIixkaXNjcmV0ZV9pbnB1dHM6IkRpc2NyZXRlIGlucHV0cyIsImpzb24tcGFyc2UiOiJOb3QgdmFsaWQgSlNPTi4iLCJqc29uLXJlcXVpcmVkIjoiRmllbGQgY2Fubm90IGJlIGVtcHR5LiIsIkpTT05QYXRoLWhpbnQiOiJUaGlzIGZpZWxkIHN1cHBvcnRzIGNvbnN0YW50cyBhbmQgSlNPTlBhdGggZXhwcmVzc2lvbnMuIixsb2dzOntsb2dzOiJMb2dzIixkYXlzOiJkYXlzIixob3VyczoiaG91cnMiLG1pbnV0ZXM6Im1pbnV0ZXMiLHNlY29uZHM6InNlY29uZHMiLCJkYXRlLWZvcm1hdCI6IkRhdGUgZm9ybWF0IiwiZGF0ZS1mb3JtYXQtcmVxdWlyZWQiOiJEYXRlIGZvcm1hdCByZXF1aXJlZCIsImxvZy1mb3JtYXQiOiJMb2cgZm9ybWF0IiwibG9nLXR5cGUiOiJMb2cgdHlwZSIsImxvZy1mb3JtYXQtcmVxdWlyZWQiOiJMb2cgZm9ybWF0IHJlcXVpcmVkIixyZW1vdGU6IlJlbW90ZSBsb2dnaW5nIiwicmVtb3RlLWxvZ3MiOiJSZW1vdGUgbG9ncyIsbG9jYWw6IkxvY2FsIGxvZ2dpbmciLGxldmVsOiJMb2cgbGV2ZWwiLCJmaWxlLXBhdGgiOiJGaWxlIHBhdGgiLCJmaWxlLXBhdGgtcmVxdWlyZWQiOiJGaWxlIHBhdGggcmVxdWlyZWQiLCJzYXZpbmctcGVyaW9kIjoiTG9nIHNhdmluZyBwZXJpb2QiLCJzYXZpbmctcGVyaW9kLW1pbiI6IkxvZyBzYXZpbmcgcGVyaW9kIGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJzYXZpbmctcGVyaW9kLXJlcXVpcmVkIjoiTG9nIHNhdmluZyBwZXJpb2QgcmVxdWlyZWQiLCJiYWNrdXAtY291bnQiOiJCYWNrdXAgY291bnQiLCJiYWNrdXAtY291bnQtbWluIjoiQmFja3VwIGNvdW50IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJiYWNrdXAtY291bnQtcmVxdWlyZWQiOiJCYWNrdXAgY291bnQgcmVxdWlyZWQifSwibWF4LW51bWJlci1vZi13b3JrZXJzIjoiTWF4IG51bWJlciBvZiB3b3JrZXJzIiwibWF4LW51bWJlci1vZi13b3JrZXJzLWhpbnQiOiJNYXhpbWFsIG51bWJlciBvZiB3b3JrZXJzIHRocmVhZHMgZm9yIGNvbnZlcnRlcnMgXG4oVGhlIGFtb3VudCBvZiB3b3JrZXJzIGNoYW5nZXMgZHluYW1pY2FsbHksIGRlcGVuZGluZyBvbiBsb2FkKSBcblJlY29tbWVuZGVkIGFtb3VudCA1MC0xNTAuIiwibWF4LW51bWJlci1vZi13b3JrZXJzLXJlcXVpcmVkIjoiTWF4IG51bWJlciBvZiB3b3JrZXJzIGlzIHJlcXVpcmVkLiIsIm1heC1tZXNzYWdlcy1xdWV1ZS1mb3Itd29ya2VyIjoiTWF4IG1lc3NhZ2VzIHF1ZXVlIHBlciB3b3JrZXIiLCJtYXgtbWVzc2FnZXMtcXVldWUtZm9yLXdvcmtlci1oaW50IjoiTWF4aW1hbCBtZXNzYWdlcyBjb3VudCB0aGF0IHdpbGwgYmUgaW4gdGhlIHF1ZXVlIFxuZm9yIGVhY2ggY29udmVydGVyIHdvcmtlci4iLCJtYXgtbWVzc2FnZXMtcXVldWUtZm9yLXdvcmtlci1yZXF1aXJlZCI6Ik1heCBtZXNzYWdlcyBxdWV1ZSBwZXIgd29ya2VyIGlzIHJlcXVpcmVkLiIsbWV0aG9kOiJNZXRob2QiLCJtZXRob2QtbmFtZSI6Ik1ldGhvZCBuYW1lIiwibWV0aG9kLXJlcXVpcmVkIjoiTWV0aG9kIG5hbWUgaXMgcmVxdWlyZWQuIiwibWluLXBhY2stc2VuZC1kZWxheSI6Ik1pbiBwYWNrIHNlbmQgZGVsYXkgKGluIG1zKSIsIm1pbi1wYWNrLXNlbmQtZGVsYXktcmVxdWlyZWQiOiJNaW4gcGFjayBzZW5kIGRlbGF5IGlzIHJlcXVpcmVkIiwibWluLXBhY2stc2VuZC1kZWxheS1taW4iOiJNaW4gcGFjayBzZW5kIGRlbGF5IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEwIiwibWluLXBhY2stc2VuZC1kZWxheS1wYXR0ZXJuIjoiTWluIHBhY2sgc2VuZCBkZWxheSBpcyBub3QgdmFsaWQiLG11bHRpcGxpZXI6Ik11bHRpcGxpZXIiLG1vZGU6Ik1vZGUiLCJtb2RlbC1uYW1lIjoiTW9kZWwgbmFtZSIsbW9kaWZpZXI6Ik1vZGlmaWVyIiwibW9kaWZpZXItaW52YWxpZCI6Ik1vZGlmaWVyIGlzIG5vdCB2YWxpZCIsIm1xdHQtdmVyc2lvbiI6Ik1RVFQgdmVyc2lvbiIsbmFtZToiTmFtZSIsIm5hbWUtcmVxdWlyZWQiOiJOYW1lIGlzIHJlcXVpcmVkLiIsIm5vLWF0dHJpYnV0ZXMiOiJObyBhdHRyaWJ1dGVzIiwibm8tYXR0cmlidXRlLXVwZGF0ZXMiOiJObyBhdHRyaWJ1dGUgdXBkYXRlcyIsIm5vLWNvbm5lY3RvcnMiOiJObyBjb25uZWN0b3JzIiwibm8tZGF0YSI6Ik5vIGNvbmZpZ3VyYXRpb25zIiwibm8tZ2F0ZXdheS1mb3VuZCI6Ik5vIGdhdGV3YXkgZm91bmQuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5vdCBmb3VuZC4iLCJuby10aW1lc2VyaWVzIjoiTm8gdGltZSBzZXJpZXMiLCJuby1rZXlzIjoiTm8ga2V5cyIsIm5vLXZhbHVlIjoiTm8gYXJndW1lbnRzIiwibm8tcnBjLW1ldGhvZHMiOiJObyBSUEMgbWV0aG9kcyIsIm5vLXJwYy1yZXF1ZXN0cyI6Ik5vIFJQQyByZXF1ZXN0cyIsInBhdGgtaGludCI6IlRoZSBwYXRoIGlzIGxvY2FsIHRvIHRoZSBnYXRld2F5IGZpbGUgc3lzdGVtIiwicGF0aC1sb2dzIjoiUGF0aCB0byBsb2cgZmlsZXMiLCJwYXRoLWxvZ3MtcmVxdWlyZWQiOiJQYXRoIGlzIHJlcXVpcmVkLiIscGFzc3dvcmQ6IlBhc3N3b3JkIiwicGFzc3dvcmQtcmVxdWlyZWQiOiJQYXNzd29yZCBpcyByZXF1aXJlZC4iLCJwZXJtaXQtd2l0aG91dC1jYWxscyI6IktlZXAgYWxpdmUgcGVybWl0IHdpdGhvdXQgY2FsbHMiLCJwb2xsLXBlcmlvZCI6IlBvbGwgcGVyaW9kIChtcykiLCJwb2xsLXBlcmlvZC1lcnJvciI6IlBvbGwgcGVyaW9kIHNob3VsZCBiZSBhdCBsZWFzdCB7e21pbn19IChtcykuIixwb3J0OiJQb3J0IiwicG9ydC1yZXF1aXJlZCI6IlBvcnQgaXMgcmVxdWlyZWQuIiwicG9ydC1saW1pdHMtZXJyb3IiOiJQb3J0IHNob3VsZCBiZSBudW1iZXIgZnJvbSB7e21pbn19IHRvIHt7bWF4fX0uIiwicHJpdmF0ZS1rZXktcGF0aCI6IlBhdGggdG8gcHJpdmF0ZSBrZXkgZmlsZSIsInBhdGgtdG8tcHJpdmF0ZS1rZXktcmVxdWlyZWQiOiJQYXRoIHRvIHByaXZhdGUga2V5IGZpbGUgaXMgcmVxdWlyZWQuIixwYXJpdHk6IlBhcml0eSIsInByb2R1Y3QtY29kZSI6IlByb2R1Y3QgY29kZSIsInByb2R1Y3QtbmFtZSI6IlByb2R1Y3QgbmFtZSIscmF3OiJSYXciLHJldGFpbjoiUmV0YWluIiwicmV0YWluLWhpbnQiOiJUaGlzIGZsYWcgdGVsbHMgdGhlIGJyb2tlciB0byBzdG9yZSB0aGUgbWVzc2FnZSBmb3IgYSB0b3BpY1xuYW5kIGVuc3VyZXMgYW55IG5ldyBjbGllbnQgc3Vic2NyaWJpbmcgdG8gdGhhdCB0b3BpY1xud2lsbCByZWNlaXZlIHRoZSBzdG9yZWQgbWVzc2FnZS4iLHJlbW90ZToiUmVtb3RlIGNvbmZpZ3VyYXRpb24iLCJyZW1vdGUtbG9nZ2luZy1sZXZlbCI6IkxvZ2dpbmcgbGV2ZWwiLCJyZW1vdmUtZW50cnkiOiJSZW1vdmUgY29uZmlndXJhdGlvbiIsInJlbW90ZS1zaGVsbCI6IlJlbW90ZSBzaGVsbCIsInJlbW90ZS1jb25maWd1cmF0aW9uIjoiUmVtb3RlIENvbmZpZ3VyYXRpb24iLHJldHJpZXM6IlJldHJpZXMiLCJyZXRyaWVzLW9uLWVtcHR5IjoiUmV0cmllcyBvbiBlbXB0eSIsInJldHJpZXMtb24taW52YWxpZCI6IlJldHJpZXMgb24gaW52YWxpZCIscnBjOnt0aXRsZToie3t0eXBlfX0gQ29ubmVjdG9yIFJQQyBwYXJhbWV0ZXJzIiwidGVtcGxhdGVzLXRpdGxlIjoiQ29ubmVjdG9yIFJQQyBUZW1wbGF0ZXMiLG1ldGhvZEZpbHRlcjoiTWV0aG9kIGZpbHRlciIsIm1ldGhvZC1uYW1lIjoiTWV0aG9kIG5hbWUiLHJlcXVlc3RUb3BpY0V4cHJlc3Npb246IlJlcXVlc3QgdG9waWMgZXhwcmVzc2lvbiIscmVzcG9uc2VUb3BpY0V4cHJlc3Npb246IlJlc3BvbnNlIHRvcGljIGV4cHJlc3Npb24iLHJlc3BvbnNlVGltZW91dDoiUmVzcG9uc2UgdGltZW91dCIsdmFsdWVFeHByZXNzaW9uOiJWYWx1ZSBleHByZXNzaW9uIix0YWc6IlRhZyIsdHlwZToiVHlwZSIsZnVuY3Rpb25Db2RlOiJGdW5jdGlvbiBDb2RlIixvYmplY3RzQ291bnQ6Ik9iamVjdHMgQ291bnQiLGFkZHJlc3M6IkFkZHJlc3MiLG1ldGhvZDoiTWV0aG9kIixyZXF1ZXN0VHlwZToiUmVxdWVzdCBUeXBlIixyZXF1ZXN0VGltZW91dDoiUmVxdWVzdCBUaW1lb3V0IixvYmplY3RUeXBlOiJPYmplY3QgdHlwZSIsaWRlbnRpZmllcjoiSWRlbnRpZmllciIscHJvcGVydHlJZDoiUHJvcGVydHkgSUQiLG1ldGhvZFJQQzoiTWV0aG9kIFJQQyBuYW1lIix3aXRoUmVzcG9uc2U6IldpdGggUmVzcG9uc2UiLGNoYXJhY3RlcmlzdGljVVVJRDoiQ2hhcmFjdGVyaXN0aWMgVVVJRCIsbWV0aG9kUHJvY2Vzc2luZzoiTWV0aG9kIFByb2Nlc3NpbmciLG5vZGVJRDoiTm9kZSBJRCIsaXNFeHRlbmRlZElEOiJJcyBFeHRlbmRlZCBJRCIsaXNGRDoiSXMgRkQiLGJpdHJhdGVTd2l0Y2g6IkJpdHJhdGUgU3dpdGNoIixkYXRhSW5IRVg6IkRhdGEgSW4gSEVYIixkYXRhTGVuZ3RoOiJEYXRhIExlbmd0aCIsZGF0YUJ5dGVvcmRlcjoiRGF0YSBCeXRlIE9yZGVyIixkYXRhQmVmb3JlOiJEYXRhIEJlZm9yZSIsZGF0YUFmdGVyOiJEYXRhIEFmdGVyIixkYXRhRXhwcmVzc2lvbjoiRGF0YSBFeHByZXNzaW9uIixlbmNvZGluZzoiRW5jb2RpbmciLG9pZDoiT0lEIiwiYWRkLW9pZCI6IkFkZCBPSUQiLCJhZGQtaGVhZGVyIjoiQWRkIGhlYWRlciIsImFkZC1zZWN1cml0eSI6IkFkZCBzZWN1cml0eSIscmVtb3ZlOiJSZW1vdmUiLHJlcXVlc3RGaWx0ZXI6IlJlcXVlc3QgRmlsdGVyIixyZXF1ZXN0VXJsRXhwcmVzc2lvbjoiUmVxdWVzdCBVUkwgRXhwcmVzc2lvbiIsaHR0cE1ldGhvZDoiSFRUUCBNZXRob2QiLHRpbWVvdXQ6IlRpbWVvdXQiLHRyaWVzOiJUcmllcyIsaHR0cEhlYWRlcnM6IkhUVFAgSGVhZGVycyIsImhlYWRlci1uYW1lIjoiSGVhZGVyIG5hbWUiLGhpbnQ6eyJtb2RidXMtcmVzcG9uc2UtcmVhZGluZyI6IlJQQyByZXNwb25zZSB3aWxsIHJldHVybiBhbGwgc3VidHJhY3RlZCB2YWx1ZXMgZnJvbSBhbGwgY29ubmVjdGVkIGRldmljZXMgd2hlbiB0aGUgcmVhZGluZyBmdW5jdGlvbnMgYXJlIHNlbGVjdGVkLiIsIm1vZGJ1cy13cml0aW5nLWZ1bmN0aW9ucyI6IlJQQyB3aWxsIHdyaXRlIGEgZmlsbGVkIHZhbHVlIHRvIGFsbCBjb25uZWN0ZWQgZGV2aWNlcyB3aGVuIHRoZSB3cml0aW5nIGZ1bmN0aW9ucyBhcmUgc2VsZWN0ZWQuIiwib3BjLW1ldGhvZCI6IkEgZmlsbGVkIG1ldGhvZCBuYW1lIGlzIHRoZSBPUEMtVUEgbWV0aG9kIHRoYXQgd2lsbCBwcm9jZXNzZWQgb24gdGhlIHNlcnZlciBzaWRlIChtYWtlIHN1cmUgeW91ciBub2RlIGhhcyB0aGUgcmVxdWVzdGVkIG1ldGhvZCkuIn0sInNlY3VyaXR5LW5hbWUiOiJTZWN1cml0eSBuYW1lIix2YWx1ZToiVmFsdWUiLHNlY3VyaXR5OiJTZWN1cml0eSIscmVzcG9uc2VWYWx1ZUV4cHJlc3Npb246IlJlc3BvbnNlIFZhbHVlIEV4cHJlc3Npb24iLHJlcXVlc3RWYWx1ZUV4cHJlc3Npb246IlJlcXVlc3QgVmFsdWUgRXhwcmVzc2lvbiIsYXJndW1lbnRzOiJBcmd1bWVudHMiLCJhZGQtYXJndW1lbnQiOiJBZGQgYXJndW1lbnQiLCJ3cml0ZS1wcm9wZXJ0eSI6IldyaXRlIHByb3BlcnR5IiwicmVhZC1wcm9wZXJ0eSI6IlJlYWQgcHJvcGVydHkiLCJhbmFsb2ctb3V0cHV0IjoiQW5hbG9nIG91dHB1dCIsImFuYWxvZy1pbnB1dCI6IkFuYWxvZyBpbnB1dCIsImJpbmFyeS1vdXRwdXQiOiJCaW5hcnkgb3V0cHV0IiwiYmluYXJ5LWlucHV0IjoiQmluYXJ5IGlucHV0IiwiYmluYXJ5LXZhbHVlIjoiQmluYXJ5IHZhbHVlIiwiYW5hbG9nLXZhbHVlIjoiQW5hbG9nIHZhbHVlIix3cml0ZToiV3JpdGUiLHJlYWQ6IlJlYWQiLHNjYW46IlNjYW4iLG9pZHM6Ik9JRFMiLHNldDoiU2V0IixtdWx0aXNldDoiTXVsdGlzZXQiLGdldDoiR2V0IiwiYnVsay13YWxrIjoiQnVsayB3YWxrIix0YWJsZToiVGFibGUiLCJtdWx0aS1nZXQiOiJNdWx0aWdldCIsImdldC1uZXh0IjoiR2V0IG5leHQiLCJidWxrLWdldCI6IkJ1bGsgZ2V0Iix3YWxrOiJXYWxrIiwic2F2ZS10ZW1wbGF0ZSI6IlNhdmUgdGVtcGxhdGUiLCJ0ZW1wbGF0ZS1uYW1lIjoiVGVtcGxhdGUgbmFtZSIsInRlbXBsYXRlLW5hbWUtcmVxdWlyZWQiOiJUZW1wbGF0ZSBuYW1lIGlzIHJlcXVpcmVkLiIsInRlbXBsYXRlLW5hbWUtZHVwbGljYXRlIjoiVGVtcGxhdGUgd2l0aCBzdWNoIG5hbWUgYWxyZWFkeSBleGlzdHMsIGl0IHdpbGwgYmUgdXBkYXRlZC4iLGNvbW1hbmQ6IkNvbW1hbmQiLHBhcmFtczoiUGFyYW1zIiwianNvbi12YWx1ZS1pbnZhbGlkIjoiSlNPTiB2YWx1ZSBoYXMgYW4gaW52YWxpZCBmb3JtYXQifSwicnBjLW1ldGhvZHMiOiJSUEMgbWV0aG9kcyIsInJwYy1yZXF1ZXN0cyI6IlJQQyByZXF1ZXN0cyIscmVxdWVzdDp7ImNvbm5lY3QtcmVxdWVzdCI6IkNvbm5lY3QgcmVxdWVzdCIsImRpc2Nvbm5lY3QtcmVxdWVzdCI6IkRpc2Nvbm5lY3QgcmVxdWVzdCIsImF0dHJpYnV0ZS1yZXF1ZXN0IjoiQXR0cmlidXRlIHJlcXVlc3QiLCJhdHRyaWJ1dGUtdXBkYXRlIjoiQXR0cmlidXRlIHVwZGF0ZSIsInJwYy1jb25uZWN0aW9uIjoiUlBDIGNvbW1hbmQifSwicmVxdWVzdC10eXBlIjoiUmVxdWVzdCB0eXBlIiwicmVxdWVzdHMtbWFwcGluZyI6IlJlcXVlc3RzIG1hcHBpbmciLCJyZXF1ZXN0cy1tYXBwaW5nLWhpbnQiOiJNUVRUIENvbm5lY3RvciByZXF1ZXN0cyBhbGxvd3MgeW91IHRvIGNvbm5lY3QsIGRpc2Nvbm5lY3QsIHByb2Nlc3MgYXR0cmlidXRlIHJlcXVlc3RzIGZyb20gdGhlIGRldmljZSwgaGFuZGxlIGF0dHJpYnV0ZSB1cGRhdGVzIG9uIHRoZSBzZXJ2ZXIgYW5kIFJQQyBwcm9jZXNzaW5nIGNvbmZpZ3VyYXRpb24uIiwicmVxdWVzdC10b3BpYy1leHByZXNzaW9uIjoiUmVxdWVzdCB0b3BpYyBleHByZXNzaW9uIiwicmVxdWVzdC1jbGllbnQtY2VydGlmaWNhdGUiOiJSZXF1ZXN0IGNsaWVudCBjZXJ0aWZpY2F0ZSIsInJlcXVlc3QtdG9waWMtZXhwcmVzc2lvbi1yZXF1aXJlZCI6IlJlcXVlc3QgdG9waWMgZXhwcmVzc2lvbiBpcyByZXF1aXJlZC4iLCJyZXNwb25zZS10aW1lb3V0IjoiUmVzcG9uc2UgdGltZW91dCAobXMpIiwicmVzcG9uc2UtdGltZW91dC1yZXF1aXJlZCI6IlJlc3BvbnNlIHRpbWVvdXQgaXMgcmVxdWlyZWQuIiwicmVzcG9uc2UtdGltZW91dC1saW1pdHMtZXJyb3IiOiJUaW1lb3V0IG11c3QgYmUgbW9yZSB0aGVuIHt7bWlufX0gbXMuIiwicmVzcG9uc2UtdG9waWMtUW9zIjoiUmVzcG9uc2UgdG9waWMgUW9TIiwicmVzcG9uc2UtdG9waWMtUW9zLWhpbnQiOiJNUVRUIFF1YWxpdHkgb2YgU2VydmljZSAoUW9TKSBpcyBhbiBhZ3JlZW1lbnQgYmV0d2VlbiB0aGUgbWVzc2FnZSBzZW5kZXIgYW5kIHJlY2VpdmVyIHRoYXQgZGVmaW5lcyB0aGUgbGV2ZWwgb2YgZGVsaXZlcnkgZ3VhcmFudGVlIGZvciBhIHNwZWNpZmljIG1lc3NhZ2UuIiwicmVzcG9uc2UtdG9waWMtZXhwcmVzc2lvbiI6IlJlc3BvbnNlIHRvcGljIGV4cHJlc3Npb24iLCJyZXNwb25zZS10b3BpYy1leHByZXNzaW9uLXJlcXVpcmVkIjoiUmVzcG9uc2UgdG9waWMgZXhwcmVzc2lvbiBpcyByZXF1aXJlZC4iLCJyZXNwb25zZS12YWx1ZS1leHByZXNzaW9uIjoiUmVzcG9uc2UgdmFsdWUgZXhwcmVzc2lvbiIsInJlc3BvbnNlLXZhbHVlLWV4cHJlc3Npb24tcmVxdWlyZWQiOiJSZXNwb25zZSB2YWx1ZSBleHByZXNzaW9uIGlzIHJlcXVpcmVkLiIsInZlbmRvci1uYW1lIjoiVmVuZG9yIG5hbWUiLCJ2ZW5kb3ItdXJsIjoiVmVuZG9yIFVSTCIsdmFsdWU6IlZhbHVlIix2YWx1ZXM6IlZhbHVlcyIsInZhbHVlLXJlcXVpcmVkIjoiVmFsdWUgaXMgcmVxdWlyZWQuIiwidmFsdWUtZXhwcmVzc2lvbiI6IlZhbHVlIGV4cHJlc3Npb24iLCJ2YWx1ZS1leHByZXNzaW9uLXJlcXVpcmVkIjoiVmFsdWUgZXhwcmVzc2lvbiBpcyByZXF1aXJlZC4iLCJ3aXRoLXJlc3BvbnNlIjoiV2l0aCByZXNwb25zZSIsIndpdGhvdXQtcmVzcG9uc2UiOiJXaXRob3V0IHJlc3BvbnNlIixvdGhlcjoiT3RoZXIiLCJzYXZlLXRpcCI6IlNhdmUgY29uZmlndXJhdGlvbiBmaWxlIiwic2Nhbi1wZXJpb2QiOiJTY2FuIHBlcmlvZCAobXMpIiwic2Nhbi1wZXJpb2QtZXJyb3IiOiJTY2FuIHBlcmlvZCBzaG91bGQgYmUgYXQgbGVhc3Qge3ttaW59fSAobXMpLiIsInN1Yi1jaGVjay1wZXJpb2QiOiJTdWJzY3JpcHRpb24gY2hlY2sgcGVyaW9kIChtcykiLCJzdWItY2hlY2stcGVyaW9kLWVycm9yIjoiU3Vic2NyaXB0aW9uIGNoZWNrIHBlcmlvZCBzaG91bGQgYmUgYXQgbGVhc3Qge3ttaW59fSAobXMpLiIsInNlY3VyaXR5LWxhYmVsIjoiU2VjdXJpdHkiLCJzZWN1cml0eS1wb2xpY3kiOiJTZWN1cml0eSBwb2xpY3kiLCJzZWN1cml0eS10eXBlIjoiU2VjdXJpdHkgdHlwZSIsInNlY3VyaXR5LXR5cGVzIjp7ImFjY2Vzcy10b2tlbiI6IkFjY2VzcyBUb2tlbiIsInVzZXJuYW1lLXBhc3N3b3JkIjoiVXNlcm5hbWUgYW5kIFBhc3N3b3JkIix0bHM6IlRMUyIsInRscy1hY2Nlc3MtdG9rZW4iOiJUTFMgKyBBY2Nlc3MgVG9rZW4iLCJ0bHMtcHJpdmF0ZS1rZXkiOiJUTFMgKyBQcml2YXRlIEtleSJ9LCJzZWxlY3QtY29ubmVjdG9yIjoiU2VsZWN0IGNvbm5lY3RvciB0byBkaXNwbGF5IGNvbmZpZyIsInNlbmQtY2hhbmdlLWRhdGEiOiJTZW5kIGRhdGEgb25seSBvbiBjaGFuZ2UiLCJzZW5kLWRhdGEtdG8tcGxhdGZvcm0iOiJTZW5kIGRhdGEgdG8gcGxhdGZvcm0iLCJzZW5kLWRhdGEtb24tY2hhbmdlIjoiU2VuZCBkYXRhIG9ubHkgb24gY2hhbmdlIiwic2VuZC1jaGFuZ2UtZGF0YS1oaW50IjoiVGhlIHZhbHVlcyB3aWxsIGJlIHNhdmVkIHRvIHRoZSBkYXRhYmFzZSBvbmx5IGlmIHRoZXkgYXJlIGRpZmZlcmVudCBmcm9tIHRoZSBjb3JyZXNwb25kaW5nIHZhbHVlcyBpbiB0aGUgcHJldmlvdXMgY29udmVydGVkIG1lc3NhZ2UuIFRoaXMgZnVuY3Rpb25hbGl0eSBhcHBsaWVzIHRvIGJvdGggYXR0cmlidXRlcyBhbmQgdGltZSBzZXJpZXMgaW4gdGhlIGNvbnZlcnRlciBvdXRwdXQuIixzZXJ2ZXI6IlNlcnZlciIsInNlcnZlci1ob3N0bmFtZSI6IlNlcnZlciBob3N0bmFtZSIsInNlcnZlci1zbGF2ZSI6IlNlcnZlciAoU2xhdmUpIiwic2VydmVycy1zbGF2ZXMiOiJTZXJ2ZXJzIChTbGF2ZXMpIiwic2VydmVyLXBvcnQiOiJTZXJ2ZXIgcG9ydCIsInNlcnZlci11cmwiOiJTZXJ2ZXIgZW5kcG9pbnQgdXJsIiwic2VydmVyLWNvbm5lY3Rpb24iOiJTZXJ2ZXIgQ29ubmVjdGlvbiIsInNlcnZlci1jb25maWciOiJTZXJ2ZXIgY29uZmlndXJhdGlvbiIsInNlcnZlci1zbGF2ZS1jb25maWciOiJTZXJ2ZXIgKFNsYXZlKSBjb25maWd1cmF0aW9uIiwic2VydmVyLXVybC1yZXF1aXJlZCI6IlNlcnZlciBlbmRwb2ludCB1cmwgaXMgcmVxdWlyZWQuIixzdG9wYml0czoiU3RvcGJpdHMiLHN0cmljdDoiU3RyaWN0IixzZXQ6IlNldCIsInNob3ctbWFwIjoiU2hvdyBtYXAiLHN0YXRpc3RpY3M6e3N0YXRpc3RpYzoiU3RhdGlzdGljIixzdGF0aXN0aWNzOiJTdGF0aXN0aWNzIiwic3RhdGlzdGljLWNvbW1hbmRzLWVtcHR5IjonTm8gY29uZmlndXJlZCBzdGF0aXN0aWMga2V5cyBmb3VuZC4gWW91IGNhbiBjb25maWd1cmUgdGhlbSBpbiAiU3RhdGlzdGljcyIgdGFiIGluIGdlbmVyYWwgY29uZmlndXJhdGlvbi4nLCJzdGF0aXN0aWNzLWJ1dHRvbiI6IkdvIHRvIGNvbmZpZ3VyYXRpb24iLGNvbW1hbmRzOiJDb21tYW5kcyIsInNlbmQtcGVyaW9kIjoiU3RhdGlzdGljIHNlbmQgcGVyaW9kIChpbiBzZWMpIiwic2VuZC1wZXJpb2QtcmVxdWlyZWQiOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgaXMgcmVxdWlyZWQiLCJzZW5kLXBlcmlvZC1taW4iOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgY2FuIG5vdCBiZSBsZXNzIHRoZW4gNjAiLCJzZW5kLXBlcmlvZC1wYXR0ZXJuIjoiU3RhdGlzdGljIHNlbmQgcGVyaW9kIGlzIG5vdCB2YWxpZCIsImNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbiI6IkNoZWNrIGNvbm5lY3RvcnMgY29uZmlndXJhdGlvbiAoaW4gc2VjKSIsIm1heC1wYXlsb2FkLXNpemUtYnl0ZXMiOiJNYXggcGF5bG9hZCBzaXplIGluIGJ5dGVzIiwibWF4LXBheWxvYWQtc2l6ZS1ieXRlcy1yZXF1aXJlZCI6Ik1heCBwYXlsb2FkIHNpemUgaW4gYnl0ZXMgaXMgcmVxdWlyZWQiLCJtYXgtcGF5bG9hZC1zaXplLWJ5dGVzLW1pbiI6Ik1heCBwYXlsb2FkIHNpemUgaW4gYnl0ZXMgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMTAwIiwibWF4LXBheWxvYWQtc2l6ZS1ieXRlcy1wYXR0ZXJuIjoiTWF4IHBheWxvYWQgc2l6ZSBpbiBieXRlcyBpcyBub3QgdmFsaWQiLCJtaW4tcGFjay1zaXplLXRvLXNlbmQiOiJNaW4gcGFja2V0IHNpemUgdG8gc2VuZCIsIm1pbi1wYWNrLXNpemUtdG8tc2VuZC1yZXF1aXJlZCI6Ik1pbiBwYWNrZXQgc2l6ZSB0byBzZW5kIGlzIHJlcXVpcmVkIiwibWluLXBhY2stc2l6ZS10by1zZW5kLW1pbiI6Ik1pbiBwYWNrZXQgc2l6ZSB0byBzZW5kIGNhbiBub3QgYmUgbGVzcyB0aGVuIDEwMCIsIm1pbi1wYWNrLXNpemUtdG8tc2VuZC1wYXR0ZXJuIjoiTWluIHBhY2tldCBzaXplIHRvIHNlbmQgaXMgbm90IHZhbGlkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXJlcXVpcmVkIjoiQ2hlY2sgY29ubmVjdG9ycyBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLW1pbiI6IkNoZWNrIGNvbm5lY3RvcnMgY29uZmlndXJhdGlvbiBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXBhdHRlcm4iOiJDaGVjayBjb25uZWN0b3JzIGNvbmZpZ3VyYXRpb24gaXMgbm90IHZhbGlkIixhZGQ6IkFkZCBjb21tYW5kIix0aW1lb3V0OiJUaW1lb3V0IChpbiBzZWMpIiwidGltZW91dC1tcyI6IlRpbWVvdXQgKGluIG1zKSIsInRpbWVvdXQtcmVxdWlyZWQiOiJUaW1lb3V0IGlzIHJlcXVpcmVkIiwidGltZW91dC1taW4iOiJUaW1lb3V0IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJ0aW1lb3V0LXBhdHRlcm4iOiJUaW1lb3V0IGlzIG5vdCB2YWxpZCIsImF0dHJpYnV0ZS1uYW1lIjoiQXR0cmlidXRlIG5hbWUiLCJhdHRyaWJ1dGUtbmFtZS1yZXF1aXJlZCI6IkF0dHJpYnV0ZSBuYW1lIGlzIHJlcXVpcmVkIixjb21tYW5kOiJDb21tYW5kIiwiY29tbWFuZC1yZXF1aXJlZCI6IkNvbW1hbmQgaXMgcmVxdWlyZWQiLCJjb21tYW5kLXBhdHRlcm4iOiJDb21tYW5kIGlzIG5vdCB2YWxpZCIscmVtb3ZlOiJSZW1vdmUgY29tbWFuZCJ9LHN0b3JhZ2U6IlN0b3JhZ2UiLCJzdG9yYWdlLW1heC1maWxlLXJlY29yZHMiOiJNYXhpbXVtIHJlY29yZHMgaW4gZmlsZSIsInN0b3JhZ2UtbWF4LWZpbGVzIjoiTWF4aW11bSBudW1iZXIgb2YgZmlsZXMiLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiJNaW5pbXVtIG51bWJlciBpcyAxLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXJlcXVpcmVkIjoiTnVtYmVyIGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMiOiJNYXhpbXVtIHJlY29yZHMgaW4gc3RvcmFnZSIsInN0b3JhZ2UtbWF4LXJlY29yZHMtbWluIjoiTWluaW11bSBudW1iZXIgb2YgcmVjb3JkcyBpcyAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1yZXF1aXJlZCI6Ik1heGltdW0gcmVjb3JkcyBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50IjoiUmVhZCByZWNvcmQgY291bnQgaW4gc3RvcmFnZSIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtbWluIjoiTWluaW11bSBudW1iZXIgb2YgcmVjb3JkcyBpcyAxLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1yZXF1aXJlZCI6IlJlYWQgcmVjb3JkIGNvdW50IGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50IjoiTWF4IHJlYWQgcmVjb3JkIGNvdW50IGluIHN0b3JhZ2UiLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1taW4iOiJNaW5pbXVtIG51bWJlciBvZiByZWNvcmRzIGlzIDEuIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcmVxdWlyZWQiOiJNYXggUmVhZCByZWNvcmQgY291bnQgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoIjoiRGF0YSBmb2xkZXIgcGF0aCIsInN0b3JhZ2UtZGF0YS1mb2xkZXItcGF0aC1yZXF1aXJlZCI6IkRhdGEgZm9sZGVyIHBhdGggaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1wYWNrLXNpemUiOiJNYXhpbXVtIGV2ZW50IHBhY2sgc2l6ZSIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6Ik1pbmltdW0gbnVtYmVyIGlzIDEuIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiJNYXhpbXVtIGV2ZW50IHBhY2sgc2l6ZSBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLXBhdGgiOiJTdG9yYWdlIHBhdGgiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiJTdG9yYWdlIHBhdGggaXMgcmVxdWlyZWQuIiwic3RvcmFnZS10eXBlIjoiU3RvcmFnZSB0eXBlIiwic3RvcmFnZS10eXBlcyI6eyJmaWxlLXN0b3JhZ2UiOiJGaWxlIHN0b3JhZ2UiLCJtZW1vcnktc3RvcmFnZSI6Ik1lbW9yeSBzdG9yYWdlIixzcWxpdGU6IlNRTElURSJ9LCJyZXBvcnQtc3RyYXRlZ3kiOntsYWJlbDoiUmVwb3J0IHN0cmF0ZWd5Iiwib24tY2hhbmdlIjoiT24gdmFsdWUgY2hhbmdlIiwib24tcmVwb3J0LXBlcmlvZCI6Ik9uIHJlcG9ydCBwZXJpb2QiLCJvbi1jaGFuZ2Utb3ItcmVwb3J0LXBlcmlvZCI6Ik9uIHZhbHVlIGNoYW5nZSBvciByZXBvcnQgcGVyaW9kIiwicmVwb3J0LXBlcmlvZCI6IlJlcG9ydCBwZXJpb2QifSwic291cmNlLXR5cGUiOnttc2c6IkV4dHJhY3QgZnJvbSBtZXNzYWdlIix0b3BpYzoiRXh0cmFjdCBmcm9tIHRvcGljIixjb25zdDoiQ29uc3RhbnQiLGlkZW50aWZpZXI6IklkZW50aWZpZXIiLHBhdGg6IlBhdGgifSwid29ya2Vycy1zZXR0aW5ncyI6IldvcmtlcnMgc2V0dGluZ3MiLHRoaW5nc2JvYXJkOiJUaGluZ3NCb2FyZCIsZ2VuZXJhbDoiR2VuZXJhbCIsdGltZXNlcmllczoiVGltZSBzZXJpZXMiLGtleToiS2V5IixrZXlzOiJLZXlzIiwia2V5LXJlcXVpcmVkIjoiS2V5IGlzIHJlcXVpcmVkLiIsInRoaW5nc2JvYXJkLWhvc3QiOiJQbGF0Zm9ybSBob3N0IiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6Ikhvc3QgaXMgcmVxdWlyZWQuIiwidGhpbmdzYm9hcmQtcG9ydCI6IlBsYXRmb3JtIHBvcnQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6Ik1heGltdW0gcG9ydCBudW1iZXIgaXMgNjU1MzUuIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiJNaW5pbXVtIHBvcnQgbnVtYmVyIGlzIDEuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiUG9ydCBpcyBub3QgdmFsaWQuIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6IlBvcnQgaXMgcmVxdWlyZWQuIix0aWR5OiJUaWR5IiwidGlkeS10aXAiOiJUaWR5IGNvbmZpZyBKU09OIix0aW1lb3V0OiJUaW1lb3V0IChtcykiLCJ0aW1lb3V0LWVycm9yIjoiVGltZW91dCBzaG91bGQgYmUgYXQgbGVhc3Qge3ttaW59fSAobXMpLiIsInRpdGxlLWNvbm5lY3RvcnMtanNvbiI6IkNvbm5lY3RvciB7e3R5cGVOYW1lfX0gY29uZmlndXJhdGlvbiIsdHlwZToiVHlwZSIsInRvcGljLWZpbHRlciI6IlRvcGljIGZpbHRlciIsInRvcGljLXJlcXVpcmVkIjoiVG9waWMgZmlsdGVyIGlzIHJlcXVpcmVkLiIsInRscy1wYXRoLWNhLWNlcnRpZmljYXRlIjoiUGF0aCB0byBDQSBjZXJ0aWZpY2F0ZSBvbiBnYXRld2F5IiwidGxzLXBhdGgtY2xpZW50LWNlcnRpZmljYXRlIjoiUGF0aCB0byBjbGllbnQgY2VydGlmaWNhdGUgb24gZ2F0ZXdheSIsInRscy1jb25uZWN0aW9uIjoiVExTIENvbm5lY3Rpb24iLCJtYXN0ZXItY29ubmVjdGlvbnMiOiJNYXN0ZXIgQ29ubmVjdGlvbnMiLCJtZXRob2QtZmlsdGVyIjoiTWV0aG9kIGZpbHRlciIsIm1ldGhvZC1maWx0ZXItaGludCI6IlJlZ3VsYXIgZXhwcmVzc2lvbiB0byBmaWx0ZXIgaW5jb21pbmcgUlBDIG1ldGhvZCBmcm9tIHBsYXRmb3JtLiIsIm1ldGhvZC1maWx0ZXItcmVxdWlyZWQiOiJNZXRob2QgZmlsdGVyIGlzIHJlcXVpcmVkLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3VycyI6Ik1lc3NhZ2VzIFRUTCBjaGVjayBpbiBob3VycyIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1yZXF1aXJlZCI6Ik1lc3NhZ2VzIFRUTCBjaGVjayBpbiBob3VycyBpcyByZXF1aXJlZC4iLCJtZXNzYWdlcy10dGwtY2hlY2staW4taG91cnMtbWluIjoiTWluIG51bWJlciBpcyAxLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cyI6Ik1lc3NhZ2VzIFRUTCBpbiBkYXlzIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcmVxdWlyZWQiOiJNZXNzYWdlcyBUVEwgaW4gZGF5cyBpcyByZXF1aXJlZC4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1taW4iOiJNaW4gbnVtYmVyIGlzIDEuIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwibXF0dC1xb3MiOiJRb1MiLCJtcXR0LXFvcy1yZXF1aXJlZCI6IlFvUyBpcyByZXF1aXJlZCIsIm1xdHQtcW9zLXJhbmdlIjoiUW9TIHZhbHVlcyByYW5nZSBpcyBmcm9tIDAgdG8gMSIscW9zOnsiYXQtbW9zdC1vbmNlIjoiMCAtIEF0IG1vc3Qgb25jZSIsImF0LWxlYXN0LW9uY2UiOiIxIC0gQXQgbGVhc3Qgb25jZSIsImV4YWN0bHktb25jZSI6IjIgLSBFeGFjdGx5IG9uY2UifSwib2JqZWN0cy1jb3VudCI6Ik9iamVjdHMgY291bnQiLCJvYmplY3RzLWNvdW50LXJlcXVpcmVkIjoiT2JqZWN0cyBjb3VudCBpcyByZXF1aXJlZCIsIndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzIjoiV2FpdCBhZnRlciBmYWlsZWQgYXR0ZW1wdHMgKG1zKSIsInRscy1wYXRoLXByaXZhdGUta2V5IjoiUGF0aCB0byBwcml2YXRlIGtleSBvbiBnYXRld2F5IiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiJUb2dnbGUgZnVsbHNjcmVlbiIsInRyYW5zZm9ybWVyLWpzb24tY29uZmlnIjoiQ29uZmlndXJhdGlvbiBKU09OKiIsInVwZGF0ZS1jb25maWciOiJBZGQvdXBkYXRlIGNvbmZpZ3VyYXRpb24gSlNPTiIsdXNlcm5hbWU6IlVzZXJuYW1lIiwidXNlcm5hbWUtcmVxdWlyZWQiOiJVc2VybmFtZSBpcyByZXF1aXJlZC4iLCJ1bml0LWlkLXJlcXVpcmVkIjoiVW5pdCBJRCBpcyByZXF1aXJlZC4iLCJ3cml0ZS1jb2lsIjoiV3JpdGUgQ29pbCIsIndyaXRlLWNvaWxzIjoiV3JpdGUgQ29pbHMiLCJ3cml0ZS1yZWdpc3RlciI6IldyaXRlIFJlZ2lzdGVyIiwid3JpdGUtcmVnaXN0ZXJzIjoiV3JpdGUgUmVnaXN0ZXJzIixoaW50czp7Im1vZGJ1cy1tYXN0ZXIiOiJDb25maWd1cmF0aW9uIHNlY3Rpb25zIGZvciBjb25uZWN0aW5nIHRvIE1vZGJ1cyBzZXJ2ZXJzIGFuZCByZWFkaW5nIGRhdGEgZnJvbSB0aGVtLiIsIm1vZGJ1cy1zZXJ2ZXIiOiJDb25maWd1cmF0aW9uIHNlY3Rpb24gZm9yIHRoZSBNb2RidXMgc2VydmVyLCBzdG9yaW5nIGRhdGEgYW5kIHNlbmRpbmcgdXBkYXRlcyB0byB0aGUgcGxhdGZvcm0gd2hlbiBjaGFuZ2VzIG9jY3VyIG9yIGF0IGZpeGVkIGludGVydmFscy4iLCJyZW1vdGUtY29uZmlndXJhdGlvbiI6IkVuYWJsZXMgcmVtb3RlIGNvbmZpZ3VyYXRpb24gYW5kIG1hbmFnZW1lbnQgb2YgdGhlIGdhdGV3YXkiLCJyZW1vdGUtc2hlbGwiOiJFbmFibGVzIHJlbW90ZSBjb250cm9sIG9mIHRoZSBvcGVyYXRpbmcgc3lzdGVtIHdpdGggdGhlIGdhdGV3YXkgZnJvbSB0aGUgUmVtb3RlIFNoZWxsIHdpZGdldCIsaG9zdDoiSG9zdG5hbWUgb3IgSVAgYWRkcmVzcyBvZiBwbGF0Zm9ybSBzZXJ2ZXIiLHBvcnQ6IlBvcnQgb2YgTVFUVCBzZXJ2aWNlIG9uIHBsYXRmb3JtIHNlcnZlciIsdG9rZW46IkFjY2VzcyB0b2tlbiBmb3IgdGhlIGdhdGV3YXkgZnJvbSBwbGF0Zm9ybSBzZXJ2ZXIiLCJjbGllbnQtaWQiOiJNUVRUIGNsaWVudCBpZCBmb3IgdGhlIGdhdGV3YXkgZm9ybSBwbGF0Zm9ybSBzZXJ2ZXIiLHVzZXJuYW1lOiJNUVRUIHVzZXJuYW1lIGZvciB0aGUgZ2F0ZXdheSBmb3JtIHBsYXRmb3JtIHNlcnZlciIscGFzc3dvcmQ6Ik1RVFQgcGFzc3dvcmQgZm9yIHRoZSBnYXRld2F5IGZvcm0gcGxhdGZvcm0gc2VydmVyIiwiY2EtY2VydCI6IlBhdGggdG8gQ0EgY2VydGlmaWNhdGUgZmlsZSIsImRhdGUtZm9ybSI6IkRhdGUgZm9ybWF0IGluIGxvZyBtZXNzYWdlIiwiZGF0YS1mb2xkZXIiOiJQYXRoIHRvIHRoZSBmb2xkZXIgdGhhdCB3aWxsIGNvbnRhaW4gZGF0YSAoUmVsYXRpdmUgb3IgQWJzb2x1dGUpIiwibG9nLWZvcm1hdCI6IkxvZyBtZXNzYWdlIGZvcm1hdCIsInJlbW90ZS1sb2ciOiJFbmFibGVzIHJlbW90ZSBsb2dnaW5nIGFuZCBsb2dzIHJlYWRpbmcgZnJvbSB0aGUgZ2F0ZXdheSIsImJhY2t1cC1jb3VudCI6IklmIGJhY2t1cCBjb3VudCBpcyA+IDAsIHdoZW4gYSByb2xsb3ZlciBpcyBkb25lLCBubyBtb3JlIHRoYW4gYmFja3VwIGNvdW50IGZpbGVzIGFyZSBrZXB0IC0gdGhlIG9sZGVzdCBvbmVzIGFyZSBkZWxldGVkIixzdG9yYWdlOiJQcm92aWRlcyBjb25maWd1cmF0aW9uIGZvciBzYXZpbmcgaW5jb21pbmcgZGF0YSBiZWZvcmUgaXQgaXMgc2VudCB0byB0aGUgcGxhdGZvcm0iLCJtYXgtZmlsZS1jb3VudCI6Ik1heGltdW0gbnVtYmVyIG9mIGZpbGVzIHRoYXQgd2lsbCBiZSBjcmVhdGVkIiwibWF4LXJlYWQtY291bnQiOiJOdW1iZXIgb2YgbWVzc2FnZXMgdG8gcmV0cmlldmUgZnJvbSB0aGUgc3RvcmFnZSBhbmQgc2VuZCB0byBwbGF0Zm9ybSIsIm1heC1yZWNvcmRzIjoiTWF4aW11bSBjb3VudCBvZiByZWNvcmRzIHRoYXQgd2lsbCBiZSBzdG9yZWQgaW4gb25lIGZpbGUiLCJyZWFkLXJlY29yZC1jb3VudCI6Ik51bWJlciBvZiBtZXNzYWdlcyB0byByZXRyaWV2ZSBmcm9tIHRoZSBzdG9yYWdlIGFuZCBzZW5kIHRvIHBsYXRmb3JtIiwibWF4LXJlY29yZHMtY291bnQiOiJNYXhpbXVtIG51bWJlciBvZiBkYXRhIGVudHJpZXMgaW4gc3RvcmFnZSBiZWZvcmUgc2VuZGluZyB0byBwbGF0Zm9ybSIsInR0bC1jaGVjay1ob3VyIjoiSG93IG9mdGVuIHdpbGwgdGhlIEdhdGV3YXkgY2hlY2sgZGF0YSBmb3Igb2Jzb2xlc2NlbmNlIiwidHRsLW1lc3NhZ2VzLWRheSI6Ik1heGltdW0gbnVtYmVyIG9mIGRheXMgdGhhdCB0aGUgc3RvcmFnZSB3aWxsIHJldGFpbiBkYXRhIixjb21tYW5kczoiQ29tbWFuZHMgZm9yIGNvbGxlY3RpbmcgYWRkaXRpb25hbCBzdGF0aXN0aWMiLGF0dHJpYnV0ZToiU3RhdGlzdGljIHRlbGVtZXRyeSBrZXkiLHRpbWVvdXQ6IlRpbWVvdXQgZm9yIGNvbW1hbmQgZXhlY3V0aW5nIixjb21tYW5kOiJUaGUgcmVzdWx0IG9mIHRoZSBjb21tYW5kIGV4ZWN1dGlvbiwgd2lsbCBiZSB1c2VkIGFzIHRoZSB2YWx1ZSBmb3IgdGVsZW1ldHJ5IiwiY2hlY2stZGV2aWNlLWFjdGl2aXR5IjoiRW5hYmxlcyBtb25pdG9yIHRoZSBhY3Rpdml0eSBvZiBlYWNoIGNvbm5lY3RlZCBkZXZpY2UiLCJpbmFjdGl2aXR5LXRpbWVvdXQiOiJUaW1lIGFmdGVyIHdob3NlIHRoZSBnYXRld2F5IHdpbGwgZGlzY29ubmVjdCBkZXZpY2UiLCJpbmFjdGl2aXR5LXBlcmlvZCI6IlBlcmlvZGljaXR5IG9mIGRldmljZSBhY3Rpdml0eSBjaGVjayIsIm1pbmltYWwtcGFjay1kZWxheSI6IkRlbGF5IGJldHdlZW4gc2VuZGluZyBwYWNrcyBvZiBtZXNzYWdlcyAoRGVjcmVhc2luZyB0aGlzIHNldHRpbmcgcmVzdWx0cyBpbiBpbmNyZWFzZWQgQ1BVIHVzYWdlKSIscW9zOiJRdWFsaXR5IG9mIFNlcnZpY2UgaW4gTVFUVCBtZXNzYWdpbmcgKDAgLSBhdCBtb3N0IG9uY2UsIDEgLSBhdCBsZWFzdCBvbmNlKSIsInNlcnZlci1wb3J0IjoiTmV0d29yayBwb3J0IG9uIHdoaWNoIEdSUEMgc2VydmVyIHdpbGwgbGlzdGVuIGZvciBpbmNvbWluZyBjb25uZWN0aW9ucy4iLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dCI6Ik1heGltdW0gdGltZSB0aGUgc2VydmVyIHNob3VsZCB3YWl0IGZvciBhIGtlZXBhbGl2ZSBwaW5nIHJlc3BvbnNlIGJlZm9yZSBjb25zaWRlcmluZyB0aGUgY29ubmVjdGlvbiBkZWFkLiIsImdycGMta2VlcC1hbGl2ZSI6IkR1cmF0aW9uIGJldHdlZW4gdHdvIHN1Y2Nlc3NpdmUga2VlcGFsaXZlIHBpbmcgbWVzc2FnZXMgd2hlbiB0aGVyZSBpcyBubyBhY3RpdmUgUlBDIGNhbGwuIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzIjoiTWluaW11bSBhbW91bnQgb2YgdGltZSB0aGUgc2VydmVyIHNob3VsZCB3YWl0IGJldHdlZW4gc2VuZGluZyBrZWVwYWxpdmUgcGluZyBtZXNzYWdlcyIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YSI6Ik1heGltdW0gbnVtYmVyIG9mIGtlZXBhbGl2ZSBwaW5nIG1lc3NhZ2VzIHRoYXQgdGhlIHNlcnZlciBjYW4gc2VuZCB3aXRob3V0IHJlY2VpdmluZyBhbnkgZGF0YSBiZWZvcmUgaXQgY29uc2lkZXJzIHRoZSBjb25uZWN0aW9uIGRlYWQuIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEiOiJNaW5pbXVtIGFtb3VudCBvZiB0aW1lIHRoZSBzZXJ2ZXIgc2hvdWxkIHdhaXQgYmV0d2VlbiBzZW5kaW5nIGtlZXBhbGl2ZSBwaW5nIG1lc3NhZ2VzIHdoZW4gdGhlcmUgaXMgbm8gZGF0YSBiZWluZyBzZW50IG9yIHJlY2VpdmVkLiIsInBlcm1pdC13aXRob3V0LWNhbGxzIjoiQWxsb3cgc2VydmVyIHRvIGtlZXAgdGhlIEdSUEMgY29ubmVjdGlvbiBhbGl2ZSBldmVuIHdoZW4gdGhlcmUgYXJlIG5vIGFjdGl2ZSBSUEMgY2FsbHMuIiwicGF0aC1pbi1vcyI6IlBhdGggaW4gZ2F0ZXdheSBvcy4iLG1lbW9yeToiWW91ciBkYXRhIHdpbGwgYmUgc3RvcmVkIGluIHRoZSBpbi1tZW1vcnkgcXVldWUsIGl0IGlzIGEgZmFzdGVzdCBidXQgbm8gcGVyc2lzdGVuY2UgZ3VhcmFudGVlLiIsZmlsZToiWW91ciBkYXRhIHdpbGwgYmUgc3RvcmVkIGluIHNlcGFyYXRlZCBmaWxlcyBhbmQgd2lsbCBiZSBzYXZlZCBldmVuIGFmdGVyIHRoZSBnYXRld2F5IHJlc3RhcnQuIixzcWxpdGU6IllvdXIgZGF0YSB3aWxsIGJlIHN0b3JlZCBpbiBmaWxlIGJhc2VkIGRhdGFiYXNlLiBBbmQgd2lsbCBiZSBzYXZlZCBldmVuIGFmdGVyIHRoZSBnYXRld2F5IHJlc3RhcnQuIiwib3BjLXRpbWVvdXQiOiJUaW1lb3V0IGluIG1pbGxpc2Vjb25kcyBmb3IgY29ubmVjdGluZyB0byBPUEMtVUEgc2VydmVyLiIsInNlY3VyaXR5LXBvbGljeSI6IlNlY3VyaXR5IFBvbGljeSBkZWZpbmVzIHRoZSBzZWN1cml0eSBtZWNoYW5pc21zIHRvIGJlIGFwcGxpZWQuIiwic2Nhbi1wZXJpb2QiOiJQZXJpb2QgaW4gbWlsbGlzZWNvbmRzIHRvIHJlc2NhbiB0aGUgc2VydmVyLiIsInN1Yi1jaGVjay1wZXJpb2QiOiJQZXJpb2QgdG8gY2hlY2sgdGhlIHN1YnNjcmlwdGlvbnMgaW4gdGhlIE9QQy1VQSBzZXJ2ZXIuIiwiZW5hYmxlLXN1YnNjcmlwdGlvbiI6IklmIHRydWUgLSB0aGUgZ2F0ZXdheSB3aWxsIHN1YnNjcmliZSB0byBpbnRlcmVzdGluZyBub2RlcyBhbmQgd2FpdCBmb3IgZGF0YSB1cGRhdGUgYW5kIGlmIGZhbHNlIC0gdGhlIGdhdGV3YXkgd2lsbCByZXNjYW4gT1BDLVVBIHNlcnZlciBldmVyeSBzY2FuUGVyaW9kSW5NaWxsaXMuIiwic2hvdy1tYXAiOiJTaG93IG5vZGVzIG9uIHNjYW5uaW5nLiIsIm1ldGhvZC1uYW1lIjoiTmFtZSBvZiBtZXRob2Qgb24gT1BDLVVBIHNlcnZlci4iLGFyZ3VtZW50czoiQXJndW1lbnRzIGZvciB0aGUgbWV0aG9kICh3aWxsIGJlIG92ZXJ3cml0dGVuIGJ5IGFyZ3VtZW50cyBmcm9tIHRoZSBSUEMgcmVxdWVzdCkuIiwibWluLXBhY2stc2l6ZS10by1zZW5kIjoiTWluaW11bSBwYWNrYWdlIHNpemUgZm9yIHNlbmRpbmcuIiwibWF4LXBheWxvYWQtc2l6ZS1ieXRlcyI6Ik1heGltdW0gcGFja2FnZSBzaXplIGluIGJ5dGVzIiwicG9sbC1wZXJpb2QiOiJQZXJpb2QgaW4gbWlsbGlzZWNvbmRzIHRvIHJlYWQgZGF0YSBmcm9tIG5vZGVzLiIsbW9kYnVzOnsiZnJhbWVyLXR5cGUiOiJUeXBlIG9mIGEgZnJhbWVyIChTb2NrZXQsIFJUVSwgb3IgQVNDSUkpLCBpZiBuZWVkZWQuIixob3N0OiJIb3N0bmFtZSBvciBJUCBhZGRyZXNzIG9mIE1vZGJ1cyBzZXJ2ZXIuIixwb3J0OiJNb2RidXMgc2VydmVyIHBvcnQgZm9yIGNvbm5lY3Rpb24uIiwidW5pdC1pZCI6Ik1vZGJ1cyBzbGF2ZSBJRC4iLCJjb25uZWN0aW9uLXRpbWVvdXQiOiJDb25uZWN0aW9uIHRpbWVvdXQgKGluIHNlY29uZHMpIGZvciB0aGUgTW9kYnVzIHNlcnZlci4iLCJieXRlLW9yZGVyIjoiQnl0ZSBvcmRlciBmb3IgcmVhZGluZyBkYXRhLiIsIndvcmQtb3JkZXIiOiJXb3JkIG9yZGVyIHdoZW4gcmVhZGluZyBtdWx0aXBsZSByZWdpc3RlcnMuIixyZXRyaWVzOiJSZXRyeWluZyBkYXRhIHRyYW5zbWlzc2lvbiB0byB0aGUgbWFzdGVyLiBBY2NlcHRhYmxlIHZhbHVlczogdHJ1ZSBvciBmYWxzZS4iLCJyZXRyaWVzLW9uLWVtcHR5IjoiUmV0cnkgc2VuZGluZyBkYXRhIHRvIHRoZSBtYXN0ZXIgaWYgdGhlIGRhdGEgaXMgZW1wdHkuIiwicmV0cmllcy1vbi1pbnZhbGlkIjoiUmV0cnkgc2VuZGluZyBkYXRhIHRvIHRoZSBtYXN0ZXIgaWYgaXQgZmFpbHMuIiwicG9sbC1wZXJpb2QiOiJQZXJpb2QgaW4gbWlsbGlzZWNvbmRzIHRvIGNoZWNrIGF0dHJpYnV0ZXMgYW5kIHRlbGVtZXRyeSBvbiB0aGUgc2xhdmUuIiwiY29ubmVjdC1hdHRlbXB0LXRpbWUiOiJBIHdhaXRpbmcgcGVyaW9kIGluIG1pbGxpc2Vjb25kcyBiZWZvcmUgZXN0YWJsaXNoaW5nIGEgY29ubmVjdGlvbiB0byB0aGUgbWFzdGVyLiIsImNvbm5lY3QtYXR0ZW1wdC1jb3VudCI6IlRoZSBudW1iZXIgb2YgY29ubmVjdGlvbiBhdHRlbXB0cyBtYWRlIHRocm91Z2ggdGhlIGdhdGV3YXkuIiwid2FpdC1hZnRlci1mYWlsZWQtYXR0ZW1wdHMiOiJBIHdhaXRpbmcgcGVyaW9kIGluIG1pbGxpc2Vjb25kcyBiZWZvcmUgYXR0ZW1wdGluZyB0byBzZW5kIGRhdGEgdG8gdGhlIG1hc3Rlci4iLCJzZXJpYWwtcG9ydCI6IlNlcmlhbCBwb3J0IGZvciBjb25uZWN0aW9uLiIsYmF1ZHJhdGU6IkJhdWQgcmF0ZSBmb3IgdGhlIHNlcmlhbCBkZXZpY2UuIixzdG9wYml0czoiVGhlIG51bWJlciBvZiBzdG9wIGJpdHMgc2VudCBhZnRlciBlYWNoIGNoYXJhY3RlciBpbiBhIG1lc3NhZ2UgdG8gaW5kaWNhdGUgdGhlIGVuZCBvZiB0aGUgYnl0ZS4iLGJ5dGVzaXplOiJUaGUgbnVtYmVyIG9mIGJpdHMgaW4gYSBieXRlIG9mIHNlcmlhbCBkYXRhLiBUaGlzIGNhbiBiZSBvbmUgb2YgNSwgNiwgNywgb3IgOC4iLHBhcml0eToiVGhlIHR5cGUgb2YgY2hlY2tzdW0gdXNlZCB0byB2ZXJpZnkgZGF0YSBpbnRlZ3JpdHkuIE9wdGlvbnM6IChFKXZlbiwgKE8pZGQsIChOKW9uZS4iLHN0cmljdDoiVXNlIGludGVyLWNoYXJhY3RlciB0aW1lb3V0IGZvciBiYXVkcmF0ZXMg4omkIDE5MjAwLiIsIm9iamVjdHMtY291bnQiOiJEZXBlbmRzIG9uIHRoZSBzZWxlY3RlZCB0eXBlLiIsYWRkcmVzczoiUmVnaXN0ZXIgYWRkcmVzcyB0byB2ZXJpZnkuIixrZXk6IktleSB0byBiZSB1c2VkIGFzIHRoZSBhdHRyaWJ1dGUga2V5IGZvciB0aGUgcGxhdGZvcm0gaW5zdGFuY2UuIiwiZGF0YS1rZXlzIjoiRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgZnVuY3Rpb24gY29kZXMgYW5kIGRhdGEgdHlwZXMgY2xpY2sgb24gaGVscCBpY29uIixtb2RpZmllcjoiVGhlIHJldHJpZXZlZCB2YWx1ZSB3aWxsIGJlIGFkanVzdGVkIChieSBtdWx0aXBseWluZyBvciBkaXZpZGluZyBpdCkgYmFzZWQgb24gdGhlIHNwZWNpZmllZCBtb2RpZmllciB2YWx1ZS4ifX19fSxSbz17ImFkZC1lbnRyeSI6Itil2LbYp9mB2Kkg2KrZg9mI2YrZhiIsYWR2YW5jZWQ6ItmF2KrZgtiv2YUiLCJjaGVja2luZy1kZXZpY2UtYWN0aXZpdHkiOiLZgdit2LUg2YbYtNin2Lcg2KfZhNis2YfYp9iyIixjb21tYW5kOiLYo9mI2KfZhdixIERvY2tlciIsImNvbW1hbmQtY29waWVkLW1lc3NhZ2UiOiLYqtmFINmG2LPYriDYo9mF2LEgRG9ja2VyINil2YTZiSDYp9mE2K3Yp9mB2LjYqSIsY29uZmlndXJhdGlvbjoi2KfZhNiq2YPZiNmK2YYiLCJjb25uZWN0b3ItYWRkIjoi2KXYttin2YHYqSDZhdmI2LXZhCDYrNiv2YrYryIsImNvbm5lY3Rvci1lbmFibGVkIjoi2KrZhdmD2YrZhiDYp9mE2YXZiNi12YQiLCJjb25uZWN0b3ItbmFtZSI6Itin2LPZhSDYp9mE2YXZiNi12YQiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6Itin2LPZhSDYp9mE2YXZiNi12YQg2YXYt9mE2YjYqC4iLCJjb25uZWN0b3ItdHlwZSI6ItmG2YjYuSDYp9mE2YXZiNi12YQiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6ItmG2YjYuSDYp9mE2YXZiNi12YQg2YXYt9mE2YjYqC4iLGNvbm5lY3RvcnM6Itin2YTZhdmI2LXZhNin2KoiLCJjb25uZWN0b3JzLWNvbmZpZyI6Itiq2YPZiNmK2YbYp9iqINin2YTZhdmI2LXZhNin2KoiLCJjb25uZWN0b3JzLXRhYmxlLWVuYWJsZWQiOiLZhdmF2YPZkdmGIiwiY29ubmVjdG9ycy10YWJsZS1uYW1lIjoi2KfZhNin2LPZhSIsImNvbm5lY3RvcnMtdGFibGUtdHlwZSI6Itin2YTZhtmI2LkiLCJjb25uZWN0b3JzLXRhYmxlLXN0YXR1cyI6Itin2YTYrdin2YTYqSIsImNvbm5lY3RvcnMtdGFibGUtYWN0aW9ucyI6Itin2YTYpdis2LHYp9ih2KfYqiIsImNvbm5lY3RvcnMtdGFibGUta2V5Ijoi2KfZhNmF2YHYqtin2K0iLCJjb25uZWN0b3JzLXRhYmxlLWNsYXNzIjoi2KfZhNmB2KbYqSIsInJwYy1jb21tYW5kLXNlbmQiOiLYpdix2LPYp9mEIiwicnBjLWNvbW1hbmQtcmVzdWx0Ijoi2KfZhNin2LPYqtis2KfYqNipIiwicnBjLWNvbW1hbmQtZWRpdC1wYXJhbXMiOiLYqtit2LHZitixINin2YTZhdi52YTZhdin2KoiLCJnYXRld2F5LWNvbmZpZ3VyYXRpb24iOiLYqtmD2YjZitmGINi52KfZhSIsImRvY2tlci1sYWJlbCI6Itin2LPYqtiu2K/ZhSDYp9mE2KrYudmE2YrZhdin2Kog2KfZhNiq2KfZhNmK2Kkg2YTYqti02LrZitmEIElvVCBHYXRld2F5INmB2YogRG9ja2VyIGNvbXBvc2Ug2YXYuSDYqNmK2KfZhtin2Kog2KfYudiq2YXYp9ivINmE2YTYrNmH2KfYsiDYp9mE2YXYrdiv2K8iLCJpbnN0YWxsLWRvY2tlci1jb21wb3NlIjoi2KfYs9iq2K7Yr9mFINin2YTYqti52YTZitmF2KfYqiDZhNiq2YbYstmK2YQg2YjYqtir2KjZitiqINmI2KXYudiv2KfYryBkb2NrZXIgY29tcG9zZSIsImRvd25sb2FkLWNvbmZpZ3VyYXRpb24tZmlsZSI6Itiq2YbYstmK2YQg2YXZhNmBINin2YTYqtmD2YjZitmGIiwiZG93bmxvYWQtZG9ja2VyLWNvbXBvc2UiOiLYqtmG2LLZitmEIGRvY2tlci1jb21wb3NlLnltbCDZhNio2YjYp9io2KrZgyIsImxhdW5jaC1nYXRld2F5Ijoi2KrYtNi62YrZhCDYp9mE2KjZiNin2KjYqSIsImxhdW5jaC1kb2NrZXItY29tcG9zZSI6Itio2K/YoSDYqti02LrZitmEINin2YTYqNmI2KfYqNipINio2KfYs9iq2K7Yr9in2YUg2KfZhNij2YXYsSDYp9mE2KrYp9mE2Yog2YHZiiDYp9mE2LfYsdmB2YrYqSDZhdmGINin2YTZhdis2YTYryDYp9mE2LDZiiDZitit2KrZiNmKINi52YTZiSDZhdmE2YEgZG9ja2VyLWNvbXBvc2UueW1sIiwiY3JlYXRlLW5ldy1nYXRld2F5Ijoi2KXZhti02KfYoSDYqNmI2KfYqNipINis2K/Zitiv2KkiLCJjcmVhdGUtbmV3LWdhdGV3YXktdGV4dCI6ItmH2YQg2KPZhtiqINmF2KrYo9mD2K8g2KPZhtmDINiq2LHZitivINil2YbYtNin2KEg2KjZiNin2KjYqSDYrNiv2YrYr9ipINio2KfYs9mFOiAne3tnYXRld2F5TmFtZX19J9ifIiwiY3JlYXRlZC10aW1lIjoi2YjZgtiqINin2YTYpdmG2LTYp9ihIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWhlYWRlciI6Itiz2YrYqtmFINit2LDZgSDYp9mE2KrZg9mI2YrZhtin2KoiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctYm9keSI6ItmK2YXZg9mGINiq2LnYt9mK2YQg2KfZhNiq2YPZiNmK2YYg2LnZhiDYqNmP2LnYryDZgdmC2Lcg2KXYsNinINmD2KfZhiDZh9mG2KfZgyDZiNi12YjZhCDYrNiz2K/ZiiDYpdmE2Ykg2KfZhNio2YjYp9io2KkuINiz2KrYqtmFINit2LDZgSDYrNmF2YrYuSDYp9mE2KrZg9mI2YrZhtin2Kog2KfZhNiz2KfYqNmC2KkuPGJyPjxicj4gXG4g2YTYqti52LfZitmEINin2YTYqtmD2YjZitmG2Iwg2KPYr9iu2YQg2KfYs9mFINin2YTYqNmI2KfYqNipINij2K/Zhtin2YciLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaW5wdXQiOiLYp9iz2YUg2KfZhNio2YjYp9io2KkiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaW5wdXQtcmVxdWlyZWQiOiLYp9iz2YUg2KfZhNio2YjYp9io2Kkg2KXZhNiy2KfZhdmKIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWNvbmZpcm0iOiLYpdmK2YLYp9mBINin2YTYqti02LrZitmEIixkZWxldGU6Itit2LDZgSDYp9mE2KrZg9mI2YrZhiIsImRvd25sb2FkLXRpcCI6Itiq2YbYstmK2YQg2YXZhNmBINin2YTYqtmD2YjZitmGIiwiZHJvcC1maWxlIjoi2KPZgdmE2YIg2KfZhNmF2YTZgSDZh9mG2Kcg2KPZiCIsZ2F0ZXdheToi2KfZhNio2YjYp9io2KkiLCJnYXRld2F5LWV4aXN0cyI6Itin2YTYrNmH2KfYsiDYqNmG2YHYsyDYp9mE2KfYs9mFINmF2YjYrNmI2K8g2KjYp9mE2YHYudmELiIsImdhdGV3YXktbmFtZSI6Itin2LPZhSDYp9mE2KjZiNin2KjYqSIsImdhdGV3YXktbmFtZS1yZXF1aXJlZCI6Itin2LPZhSDYp9mE2KjZiNin2KjYqSDZhdi32YTZiNioLiIsImdhdGV3YXktc2F2ZWQiOiLYqtmFINit2YHYuCDYqtmD2YjZitmGINin2YTYqNmI2KfYqNipINio2YbYrNin2K0uIixncnBjOiJHUlBDIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQiOiLZhdmH2YTYqSDYp9mE2KjZgtin2KEg2LnZhNmJINmC2YrYryDYp9mE2K3Zitin2KkgKNio2KfZhNmF2YTZhNmKINir2KfZhtmK2KkpIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcmVxdWlyZWQiOiLZhdmH2YTYqSDYp9mE2KjZgtin2KEg2LnZhNmJINmC2YrYryDYp9mE2K3Zitin2Kkg2YXYt9mE2YjYqNipIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtbWluIjoi2YXZh9mE2Kkg2KfZhNio2YLYp9ihINi52YTZiSDZgtmK2K8g2KfZhNit2YrYp9ipINmE2Kcg2YrZhdmD2YYg2KPZhiDYqtmD2YjZhiDYo9mC2YQg2YXZhiAxIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcGF0dGVybiI6ItmF2YfZhNipINin2YTYqNmC2KfYoSDYudmE2Ykg2YLZitivINin2YTYrdmK2KfYqSDYutmK2LEg2LXYp9mE2K3YqSIsImdycGMta2VlcC1hbGl2ZSI6Itin2YTYqNmC2KfYoSDYudmE2Ykg2YLZitivINin2YTYrdmK2KfYqSAo2KjYp9mE2YXZhNmE2Yog2KvYp9mG2YrYqSkiLCJncnBjLWtlZXAtYWxpdmUtcmVxdWlyZWQiOiLYp9mE2KjZgtin2KEg2LnZhNmJINmC2YrYryDYp9mE2K3Zitin2Kkg2YXYt9mE2YjYqCIsImdycGMta2VlcC1hbGl2ZS1taW4iOiLYp9mE2KjZgtin2KEg2LnZhNmJINmC2YrYryDYp9mE2K3Zitin2Kkg2YTYpyDZitmF2YPZhiDYo9mGINmK2YPZiNmGINij2YLZhCDZhdmGIDEiLCJncnBjLWtlZXAtYWxpdmUtcGF0dGVybiI6Itin2YTYqNmC2KfYoSDYudmE2Ykg2YLZitivINin2YTYrdmK2KfYqSDYutmK2LEg2LXYp9mE2K0iLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MiOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTZhNmI2YLYqiDYqNmK2YYg2KfZhNio2YrZhti62KfYqiAo2KjYp9mE2YXZhNmE2Yog2KvYp9mG2YrYqSkiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcmVxdWlyZWQiOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTZhNmI2YLYqiDYqNmK2YYg2KfZhNio2YrZhti62KfYqiDZhdi32YTZiNioIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLW1pbiI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNmE2YjZgtiqINio2YrZhiDYp9mE2KjZitmG2LrYp9iqINmE2Kcg2YrZhdmD2YYg2KPZhiDZitmD2YjZhiDYo9mC2YQg2YXZhiAxIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLXBhdHRlcm4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTZhNmI2YLYqiDYqNmK2YYg2KfZhNio2YrZhti62KfYqiDYutmK2LEg2LXYp9mE2K0iLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YSI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNmB2KfYtdmEINin2YTYqNmK2YbYuiDYqNiv2YjZhiDYqNmK2KfZhtin2KogKNio2KfZhNmF2YTZhNmKINir2KfZhtmK2KkpIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcmVxdWlyZWQiOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTZgdin2LXZhCDYp9mE2KjZitmG2Log2KjYr9mI2YYg2KjZitin2YbYp9iqINmF2LfZhNmI2KgiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1taW4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTZgdin2LXZhCDYp9mE2KjZitmG2Log2KjYr9mI2YYg2KjZitin2YbYp9iqINmE2Kcg2YrZhdmD2YYg2KPZhiDZitmD2YjZhiDYo9mC2YQg2YXZhiAxIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcGF0dGVybiI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNmB2KfYtdmEINin2YTYqNmK2YbYuiDYqNiv2YjZhiDYqNmK2KfZhtin2Kog2LrZitixINi12KfZhNitIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINin2YTYqNmK2YbYutin2Kog2KjYr9mI2YYg2KjZitin2YbYp9iqIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXJlcXVpcmVkIjoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINin2YTYqNmK2YbYutin2Kog2KjYr9mI2YYg2KjZitin2YbYp9iqINmF2LfZhNmI2KgiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtbWluIjoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINin2YTYqNmK2YbYutin2Kog2KjYr9mI2YYg2KjZitin2YbYp9iqINmE2Kcg2YrZhdmD2YYg2KPZhiDZitmD2YjZhiDYo9mC2YQg2YXZhiAxIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiLYp9mE2K3YryDYp9mE2KPZgti12Ykg2YTYudiv2K8g2KfZhNio2YrZhti62KfYqiDYqNiv2YjZhiDYqNmK2KfZhtin2Kog2LrZitixINi12KfZhNitIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcyI6ItmB2KrYsdipINmB2K3YtSDYp9mE2K7ZhdmI2YQgKNio2KfZhNir2YjYp9mG2YopIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1yZXF1aXJlZCI6ItmB2KrYsdipINmB2K3YtSDYp9mE2K7ZhdmI2YQg2YXYt9mE2YjYqNipIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1taW4iOiLZgdiq2LHYqSDZgdit2LUg2KfZhNiu2YXZiNmEINmE2Kcg2YrZhdmD2YYg2KPZhiDYqtmD2YjZhiDYo9mC2YQg2YXZhiAxIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1wYXR0ZXJuIjoi2YHYqtix2Kkg2YHYrdi1INin2YTYrtmF2YjZhCDYutmK2LEg2LXYp9mE2K3YqSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzIjoi2YHYqtix2Kkg2KfZhNiu2YXZiNmEICjYqNin2YTYq9mI2KfZhtmKKSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLXJlcXVpcmVkIjoi2YHYqtix2Kkg2KfZhNiu2YXZiNmEINmF2LfZhNmI2KjYqSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLW1pbiI6ItmB2KrYsdipINin2YTYrtmF2YjZhCDZhNinINmK2YXZg9mGINij2YYg2KrZg9mI2YYg2KPZgtmEINmF2YYgMSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLXBhdHRlcm4iOiLZgdiq2LHYqSDYp9mE2K7ZhdmI2YQg2LrZitixINi12KfZhNit2KkiLCJqc29uLXBhcnNlIjoiSlNPTiDYutmK2LEg2LXYp9mE2K0uIiwianNvbi1yZXF1aXJlZCI6Itin2YTYrdmC2YQg2YTYpyDZitmF2YPZhiDYo9mGINmK2YPZiNmGINmB2KfYsdi62YvYpy4iLGxvZ3M6e2xvZ3M6Itin2YTYs9is2YTYp9iqIixkYXlzOiLYo9mK2KfZhSIsaG91cnM6Itiz2KfYudin2KoiLG1pbnV0ZXM6Itiv2YLYp9im2YIiLHNlY29uZHM6Itir2YjYp9mG2YoiLCJkYXRlLWZvcm1hdCI6Itiq2YbYs9mK2YIg2KfZhNiq2KfYsdmK2K4iLCJkYXRlLWZvcm1hdC1yZXF1aXJlZCI6Itiq2YbYs9mK2YIg2KfZhNiq2KfYsdmK2K4g2YXYt9mE2YjYqCIsImxvZy1mb3JtYXQiOiLYqtmG2LPZitmCINin2YTYs9is2YQiLCJsb2ctdHlwZSI6ItmG2YjYuSDYp9mE2LPYrNmEIiwibG9nLWZvcm1hdC1yZXF1aXJlZCI6Itiq2YbYs9mK2YIg2KfZhNiz2KzZhCDZhdi32YTZiNioIixyZW1vdGU6Itin2YTYqtiz2KzZitmEINi52YYg2KjZj9i52K8iLCJyZW1vdGUtbG9ncyI6Itin2YTYs9is2YTYp9iqINi52YYg2KjZj9i52K8iLGxvY2FsOiLYp9mE2KrYs9is2YrZhCDYp9mE2YXYrdmE2YoiLGxldmVsOiLZhdiz2KrZiNmJINin2YTYs9is2YQiLCJmaWxlLXBhdGgiOiLZhdiz2KfYsSDYp9mE2YXZhNmBIiwiZmlsZS1wYXRoLXJlcXVpcmVkIjoi2YXYs9in2LEg2KfZhNmF2YTZgSDZhdi32YTZiNioIiwic2F2aW5nLXBlcmlvZCI6ItmB2KrYsdipINit2YHYuCDYp9mE2LPYrNmEIiwic2F2aW5nLXBlcmlvZC1taW4iOiLZgdiq2LHYqSDYrdmB2Lgg2KfZhNiz2KzZhCDZhNinINmK2YXZg9mGINij2YYg2KrZg9mI2YYg2KPZgtmEINmF2YYgMSIsInNhdmluZy1wZXJpb2QtcmVxdWlyZWQiOiLZgdiq2LHYqSDYrdmB2Lgg2KfZhNiz2KzZhCDZhdi32YTZiNio2KkiLCJiYWNrdXAtY291bnQiOiLYudiv2K8g2KfZhNmG2LPYriDYp9mE2KfYrdiq2YrYp9i32YrYqSIsImJhY2t1cC1jb3VudC1taW4iOiLYudiv2K8g2KfZhNmG2LPYriDYp9mE2KfYrdiq2YrYp9i32YrYqSDZhNinINmK2YXZg9mGINij2YYg2YrZg9mI2YYg2KPZgtmEINmF2YYgMSIsImJhY2t1cC1jb3VudC1yZXF1aXJlZCI6Iti52K/YryDYp9mE2YbYs9iuINin2YTYp9it2KrZitin2LfZitipINmF2LfZhNmI2KgifSwibWluLXBhY2stc2VuZC1kZWxheSI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNiq2KPYrtmK2LEg2KXYsdiz2KfZhCDYp9mE2K3YstmF2KkgKNio2KfZhNmF2YTZhNmKINir2KfZhtmK2KkpIiwibWluLXBhY2stc2VuZC1kZWxheS1yZXF1aXJlZCI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNiq2KPYrtmK2LEg2KXYsdiz2KfZhCDYp9mE2K3YstmF2Kkg2YXYt9mE2YjYqCIsIm1pbi1wYWNrLXNlbmQtZGVsYXktbWluIjoi2YTYpyDZitmF2YPZhiDYo9mGINmK2YPZiNmGINin2YTYrdivINin2YTYo9iv2YbZiSDZhNiq2KPYrtmK2LEg2KXYsdiz2KfZhCDYp9mE2K3YstmF2Kkg2KPZgtmEINmF2YYgMCIsIm5vLWNvbm5lY3RvcnMiOiLZhNinINiq2YjYrNivINmF2YjYtdmE2KfYqiIsIm5vLWRhdGEiOiLZhNinINiq2YjYrNivINiq2YPZiNmK2YbYp9iqIiwibm8tZ2F0ZXdheS1mb3VuZCI6ItmE2YUg2YrYqtmFINin2YTYudir2YjYsSDYudmE2Ykg2KjZiNin2KjYqS4iLCJuby1nYXRld2F5LW1hdGNoaW5nIjoiJ3t7aXRlbX19JyDYutmK2LEg2YXZiNis2YjYry4iLCJwYXRoLWxvZ3MiOiLZhdiz2KfYsSDYpdmE2Ykg2YXZhNmB2KfYqiDYp9mE2LPYrNmEIiwicGF0aC1sb2dzLXJlcXVpcmVkIjoi2KfZhNmF2LPYp9ixINmF2LfZhNmI2KguIiwicGVybWl0LXdpdGhvdXQtY2FsbHMiOiLYp9mE2KjZgtin2KEg2LnZhNmJINin2YTYrdmK2KfYqSDZitiz2YXYrSDYqNiv2YjZhiDZhdmD2KfZhNmF2KfYqiIscmVtb3RlOiLYp9mE2KrZg9mI2YrZhiDYudmGINio2Y/YudivIiwicmVtb3RlLWxvZ2dpbmctbGV2ZWwiOiLZhdiz2KrZiNmJINin2YTYqtiz2KzZitmEIiwicmVtb3ZlLWVudHJ5Ijoi2KXYstin2YTYqSDYp9mE2KrZg9mI2YrZhiIsInJlbW90ZS1zaGVsbCI6ItmC2LTYsdipINi52YYg2KjZj9i52K8iLCJyZW1vdGUtY29uZmlndXJhdGlvbiI6Itin2YTYqtmD2YjZitmGINi52YYg2KjZj9i52K8iLG90aGVyOiLYotiu2LEiLCJzYXZlLXRpcCI6Itit2YHYuCDZhdmE2YEg2KfZhNiq2YPZiNmK2YYiLCJzZWN1cml0eS10eXBlIjoi2YbZiNi5INin2YTYo9mF2KfZhiIsInNlY3VyaXR5LXR5cGVzIjp7ImFjY2Vzcy10b2tlbiI6Itix2YXYsiDYp9mE2YjYtdmI2YQiLCJ1c2VybmFtZS1wYXNzd29yZCI6Itin2LPZhSDYp9mE2YXYs9iq2K7Yr9mFINmI2YPZhNmF2Kkg2KfZhNmF2LHZiNixIix0bHM6IlRMUyIsInRscy1hY2Nlc3MtdG9rZW4iOiJUTFMgKyDYsdmF2LIg2KfZhNmI2LXZiNmEIiwidGxzLXByaXZhdGUta2V5IjoiVExTICsg2KfZhNmF2YHYqtin2K0g2KfZhNiu2KfYtSJ9LCJzZXJ2ZXItcG9ydCI6ItmF2YbZgdiwINin2YTYrtin2K/ZhSIsc3RhdGlzdGljczp7c3RhdGlzdGljOiLYpdit2LXYp9im2YrYqSIsc3RhdGlzdGljczoi2KfZhNil2K3Ytdin2KbZitin2KoiLCJzdGF0aXN0aWMtY29tbWFuZHMtZW1wdHkiOiLZhNinINiq2KrZiNmB2LEg2KXYrdi12KfYptmK2KfYqiIsY29tbWFuZHM6Itin2YTYo9mI2KfZhdixIiwic2VuZC1wZXJpb2QiOiLZgdiq2LHYqSDYpdix2LPYp9mEINin2YTYpdit2LXYp9im2YrYp9iqICjYqNin2YTYq9mI2KfZhtmKKSIsInNlbmQtcGVyaW9kLXJlcXVpcmVkIjoi2YHYqtix2Kkg2KXYsdiz2KfZhCDYp9mE2KXYrdi12KfYptmK2KfYqiDZhdi32YTZiNio2KkiLCJzZW5kLXBlcmlvZC1taW4iOiLZhNinINmK2YXZg9mGINij2YYg2KrZg9mI2YYg2YHYqtix2Kkg2KXYsdiz2KfZhCDYp9mE2KXYrdi12KfYptmK2KfYqiDYo9mC2YQg2YXZhiA2MCIsInNlbmQtcGVyaW9kLXBhdHRlcm4iOiLZgdiq2LHYqSDYpdix2LPYp9mEINin2YTYpdit2LXYp9im2YrYp9iqINi62YrYsSDYtdin2YTYrdipIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uIjoi2YHYqtix2Kkg2YHYrdi1INiq2YPZiNmK2YYg2KfZhNmF2YjYtdmE2KfYqiAo2KjYp9mE2KvZiNin2YbZiikiLCJjaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tcmVxdWlyZWQiOiLZgdiq2LHYqSDZgdit2LUg2KrZg9mI2YrZhiDYp9mE2YXZiNi12YTYp9iqINmF2LfZhNmI2KjYqSIsImNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbi1taW4iOiLZhNinINmK2YXZg9mGINij2YYg2KrZg9mI2YYg2YHYqtix2Kkg2YHYrdi1INiq2YPZiNmK2YYg2KfZhNmF2YjYtdmE2KfYqiDYo9mC2YQg2YXZhiAxIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXBhdHRlcm4iOiLZgdiq2LHYqSDZgdit2LUg2KrZg9mI2YrZhiDYp9mE2YXZiNi12YTYp9iqINi62YrYsSDYtdin2YTYrdipIixhZGQ6Itil2LbYp9mB2Kkg2KPZhdixIix0aW1lb3V0OiLYp9mE2YXZh9mE2KkiLCJ0aW1lb3V0LW1zIjoi2KfZhNmF2YfZhNipICjYqNin2YTZhdmE2YTZiiDYq9in2YbZitipKSIsInRpbWVvdXQtcmVxdWlyZWQiOiLYp9mE2YXZh9mE2Kkg2YXYt9mE2YjYqNipIiwidGltZW91dC1taW4iOiLZhNinINmK2YXZg9mGINij2YYg2KrZg9mI2YYg2KfZhNmF2YfZhNipINij2YLZhCDZhdmGIDEiLCJ0aW1lb3V0LXBhdHRlcm4iOiLYp9mE2YXZh9mE2Kkg2LrZitixINi12KfZhNit2KkiLCJhdHRyaWJ1dGUtbmFtZSI6Itin2LPZhSDYp9mE2LPZhdipIiwiYXR0cmlidXRlLW5hbWUtcmVxdWlyZWQiOiLYp9iz2YUg2KfZhNiz2YXYqSDZhdi32YTZiNioIixjb21tYW5kOiLYp9mE2KPZhdixIiwiY29tbWFuZC1yZXF1aXJlZCI6Itin2YTYo9mF2LEg2YXYt9mE2YjYqCIsImNvbW1hbmQtcGF0dGVybiI6Itin2YTYo9mF2LEg2LrZitixINi12KfZhNitIixyZW1vdmU6Itil2LLYp9mE2Kkg2KfZhNij2YXYsSJ9LHN0b3JhZ2U6Itin2YTYqtiu2LLZitmGIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoi2KfZhNiz2KzZhNin2Kog2KfZhNmC2LXZiNmJINmB2Yog2KfZhNmF2YTZgSIsInN0b3JhZ2UtbWF4LWZpbGVzIjoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINin2YTZhdmE2YHYp9iqIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoi2KfZhNit2K8g2KfZhNij2K/ZhtmJINmH2YggMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoi2KfZhNi52K/YryDYutmK2LEg2LXYp9mE2K0uIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiLYp9mE2LnYr9ivINmF2LfZhNmI2KguIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Itin2YTYs9is2YTYp9iqINin2YTZgti12YjZiSDZgdmKINin2YTYqtiu2LLZitmGIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1taW4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTYudiv2K8g2KfZhNiz2KzZhNin2Kog2YfZiCAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6Itin2YTYudiv2K8g2LrZitixINi12KfZhNitLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiLYp9mE2LPYrNmE2KfYqiDYp9mE2YLYtdmI2Ykg2YXYt9mE2YjYqNipLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQiOiLYudiv2K8g2YLYsdin2KHYqSDYp9mE2LPYrNmE2KfYqiDZgdmKINin2YTYqtiu2LLZitmGIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1taW4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTYudiv2K8g2KfZhNiz2KzZhNin2Kog2YfZiCAxLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVybiI6Itin2YTYudiv2K8g2LrZitixINi12KfZhNitLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcmVxdWlyZWQiOiLYudiv2K8g2YLYsdin2KHYqSDYp9mE2LPYrNmE2KfYqiDZhdi32YTZiNioLiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50Ijoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINmC2LHYp9ih2Kkg2KfZhNiz2KzZhNin2Kog2YHZiiDYp9mE2KrYrtiy2YrZhiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LW1pbiI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNi52K/YryDYp9mE2LPYrNmE2KfYqiDZh9mIIDEuIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVybiI6Itin2YTYudiv2K8g2LrZitixINi12KfZhNitLiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkIjoi2LnYr9ivINin2YTZgtix2KfYodipINin2YTZgti12YjZiSDZhdi32YTZiNioLiIsInN0b3JhZ2UtZGF0YS1mb2xkZXItcGF0aCI6ItmF2LPYp9ixINmF2KzZhNivINin2YTYqNmK2KfZhtin2KoiLCJzdG9yYWdlLWRhdGEtZm9sZGVyLXBhdGgtcmVxdWlyZWQiOiLZhdiz2KfYsSDZhdis2YTYryDYp9mE2KjZitin2YbYp9iqINmF2LfZhNmI2KguIiwic3RvcmFnZS1wYWNrLXNpemUiOiLYp9mE2K3YryDYp9mE2KPZgti12Ykg2YTYrdis2YUg2K3YstmF2Kkg2KfZhNit2K/YqyIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZh9mIIDEuIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6Itin2YTYudiv2K8g2LrZitixINi12KfZhNitLiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoi2KfZhNit2KzZhSDYp9mE2KPZgti12Ykg2YTYrdiy2YXYqSDYp9mE2K3Yr9irINmF2LfZhNmI2KguIiwic3RvcmFnZS1wYXRoIjoi2YXYs9in2LEg2KfZhNiq2K7YstmK2YYiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiLZhdiz2KfYsSDYp9mE2KrYrtiy2YrZhiDZhdi32YTZiNioLiIsInN0b3JhZ2UtdHlwZSI6ItmG2YjYuSDYp9mE2KrYrtiy2YrZhiIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoi2KrYrtiy2YrZhiDYp9mE2YXZhNmB2KfYqiIsIm1lbW9yeS1zdG9yYWdlIjoi2KrYrtiy2YrZhiDYp9mE2LDYp9mD2LHYqSIsc3FsaXRlOiJTUUxJVEUifSx0aGluZ3Nib2FyZDoi2KvZitmG2LrYstio2YjYsdivIixnZW5lcmFsOiLYudin2YUiLCJ0aGluZ3Nib2FyZC1ob3N0Ijoi2YXYttmK2YEg2KvZitmG2LrYstio2YjYsdivIiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6Itin2YTZhdi22YrZgSDZhdi32YTZiNioLiIsInRoaW5nc2JvYXJkLXBvcnQiOiLZhdmG2YHYsCDYq9mK2YbYutiy2KjZiNix2K8iLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6Itin2YTYrdivINin2YTYo9mC2LXZiSDZhNix2YLZhSDYp9mE2YXZhtmB2LAg2YfZiCA2NTUzNS4iLCJ0aGluZ3Nib2FyZC1wb3J0LW1pbiI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNix2YLZhSDYp9mE2YXZhtmB2LAg2YfZiCAxLiIsInRoaW5nc2JvYXJkLXBvcnQtcGF0dGVybiI6Itin2YTZhdmG2YHYsCDYutmK2LEg2LXYp9mE2K0uIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6Itin2YTZhdmG2YHYsCDZhdi32YTZiNioLiIsdGlkeToi2KrYsdiq2YrYqCIsInRpZHktdGlwIjoi2KrYsdiq2YrYqCDYqtmD2YjZitmGIEpTT04iLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiLYqtmD2YjZitmGINmF2YjYtdmEIHt7dHlwZU5hbWV9fSIsInRscy1wYXRoLWNhLWNlcnRpZmljYXRlIjoi2KfZhNmF2LPYp9ixINil2YTZiSDYtNmH2KfYr9ipIENBINi52YTZiSDYp9mE2KjZiNin2KjYqSIsInRscy1wYXRoLWNsaWVudC1jZXJ0aWZpY2F0ZSI6Itin2YTZhdiz2KfYsSDYpdmE2Ykg2LTZh9in2K/YqSDYp9mE2LnZhdmK2YQg2LnZhNmJINin2YTYqNmI2KfYqNipIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzIjoi2YHYrdi1IFRUTCDYp9mE2LHYs9in2KbZhCDYqNin2YTYs9in2LnYp9iqIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXJlcXVpcmVkIjoi2YrYrNioINiq2K3Yr9mK2K8g2YHYrdi1IFRUTCDYp9mE2LHYs9in2KbZhCDYqNin2YTYs9in2LnYp9iqLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1taW4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YfZiCAxLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1wYXR0ZXJuIjoi2KfZhNix2YLZhSDYutmK2LEg2LXYp9mE2K0uIiwibWVzc2FnZXMtdHRsLWluLWRheXMiOiJUVEwg2KfZhNix2LPYp9im2YQg2KjYp9mE2KPZitin2YUiLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1yZXF1aXJlZCI6ItmK2KzYqCDYqtit2K/ZitivIFRUTCDYp9mE2LHYs9in2KbZhCDYqNin2YTYo9mK2KfZhS4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1taW4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YfZiCAxLiIsIm1lc3NhZ2VzLXR0bC1pbi1kYXlzLXBhdHRlcm4iOiLYp9mE2LHZgtmFINi62YrYsSDYtdin2YTYrS4iLCJtcXR0LXFvcyI6Itis2YjYr9ipINin2YTYrtiv2YXYqSAoUW9TKSIsIm1xdHQtcW9zLXJlcXVpcmVkIjoi2KzZiNiv2Kkg2KfZhNiu2K/ZhdipIChRb1MpINmF2LfZhNmI2KjYqSIsIm1xdHQtcW9zLXJhbmdlIjoi2KrYqtix2KfZiNitINmC2YrZhSDYrNmI2K/YqSDYp9mE2K7Yr9mF2KkgKFFvUykg2YXZhiAwINil2YTZiSAxIiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiLYp9mE2YXYs9in2LEg2KXZhNmJINin2YTZhdmB2KrYp9itINin2YTYrtin2LUg2LnZhNmJINin2YTYqNmI2KfYqNipIiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiLYqtio2K/ZitmEINmI2LbYuSDZhdmE2KEg2KfZhNi02KfYtNipIiwidHJhbnNmb3JtZXItanNvbi1jb25maWciOiLYqtmD2YjZitmGIEpTT04qIiwidXBkYXRlLWNvbmZpZyI6Itil2LbYp9mB2Kkv2KrYrdiv2YrYqyDYqtmD2YjZitmGIEpTT04iLGhpbnRzOnsicmVtb3RlLWNvbmZpZ3VyYXRpb24iOiLZitmF2YPZhtmDINiq2YXZg9mK2YYg2KfZhNiq2YPZiNmK2YYg2YjYpdiv2KfYsdipINin2YTYqNmI2KfYqNipINi52YYg2KjZj9i52K8iLCJyZW1vdGUtc2hlbGwiOiLZitmF2YPZhtmDINiq2YXZg9mK2YYg2KfZhNiq2K3Zg9mFINin2YTYqNi52YrYryDZgdmKINmG2LjYp9mFINin2YTYqti02LrZitmEINmF2Lkg2KfZhNio2YjYp9io2Kkg2YXZhiDYudmG2LXYsSDZiNin2KzZh9ipINin2YTZhdiz2KrYrtiv2YUg2YLYtNix2Kkg2LnZhiDYqNmP2LnYryIsaG9zdDoi2KfYs9mFINin2YTZhdi22YrZgSDYo9mIINi52YbZiNin2YYgSVAg2YTYrtin2K/ZhSDYq9mK2YbYutiy2KjZiNix2K8iLHBvcnQ6ItmF2YbZgdiwINiu2K/ZhdipIE1RVFQg2LnZhNmJINiu2KfYr9mFINir2YrZhti62LLYqNmI2LHYryIsdG9rZW46Itix2YXYsiDYp9mE2YjYtdmI2YQg2YTZhNio2YjYp9io2Kkg2YXZhiDYrtin2K/ZhSDYq9mK2YbYutiy2KjZiNix2K8iLCJjbGllbnQtaWQiOiLZhdi52LHZgSDYudmF2YrZhCBNUVRUINmE2YTYqNmI2KfYqNipINmF2YYg2K7Yp9iv2YUg2KvZitmG2LrYstio2YjYsdivIix1c2VybmFtZToi2KfYs9mFINin2YTZhdiz2KrYrtiv2YUgTVFUVCDZhNmE2KjZiNin2KjYqSDZhdmGINiu2KfYr9mFINir2YrZhti62LLYqNmI2LHYryIscGFzc3dvcmQ6ItmD2YTZhdipINin2YTZhdix2YjYsSBNUVRUINmE2YTYqNmI2KfYqNipINmF2YYg2K7Yp9iv2YUg2KvZitmG2LrYstio2YjYsdivIiwiY2EtY2VydCI6Itin2YTZhdiz2KfYsSDYpdmE2Ykg2YXZhNmBINi02YfYp9iv2KkgQ0EiLCJkYXRlLWZvcm0iOiLYqtmG2LPZitmCINin2YTYqtin2LHZitiuINmB2Yog2LHYs9in2YTYqSDYp9mE2LPYrNmEIiwiZGF0YS1mb2xkZXIiOiLYp9mE2YXYs9in2LEg2KXZhNmJINin2YTZhdis2YTYryDYp9mE2LDZiiDYs9mK2K3YqtmI2Yog2LnZhNmJINin2YTYqNmK2KfZhtin2KogKNmG2LPYqNmKINij2Ygg2YXYt9mE2YIpIiwibG9nLWZvcm1hdCI6Itiq2YbYs9mK2YIg2LHYs9in2YTYqSDYp9mE2LPYrNmEIiwicmVtb3RlLWxvZyI6ItmK2YXZg9mG2YMg2KrZhdmD2YrZhiDYp9mE2KrYs9is2YrZhCDYp9mE2KjYudmK2K8g2YjZgtix2KfYodipINin2YTYs9is2YTYp9iqINmF2YYg2KfZhNio2YjYp9io2KkiLCJiYWNrdXAtY291bnQiOiLYpdiw2Kcg2YPYp9mGINi52K/YryDYp9mE2YbYs9iuINin2YTYp9it2KrZitin2LfZitipID4gMNiMINi52YbYryDYudmF2YTZitipINiq2K/ZiNmK2LHYjCDZhNinINmK2KrZhSDYp9mE2KfYrdiq2YHYp9i4INio2KPZg9ir2LEg2YXZhiDYudiv2K8g2KfZhNmG2LPYriDYp9mE2KfYrdiq2YrYp9i32YrYqSDYp9mE2YXYrdiv2K/YqSAtINmK2KrZhSDYrdiw2YEg2KfZhNij2YLYr9mFIixzdG9yYWdlOiLZitmI2YHYsSDYqtmD2YjZitmG2YvYpyDZhNit2YHYuCDYp9mE2KjZitin2YbYp9iqINin2YTZiNin2LHYr9ipINmC2KjZhCDYpdix2LPYp9mE2YfYpyDYpdmE2Ykg2KfZhNmF2YbYtdipIiwibWF4LWZpbGUtY291bnQiOiLYp9mE2LnYr9ivINin2YTYo9mC2LXZiSDZhNi52K/YryDYp9mE2YXZhNmB2KfYqiDYp9mE2KrZiiDYs9mK2KrZhSDYpdmG2LTYp9ik2YfYpyIsIm1heC1yZWFkLWNvdW50Ijoi2LnYr9ivINin2YTYsdiz2KfYptmEINmE2YTYrdi12YjZhCDYudmE2YrZh9inINmF2YYg2KfZhNiq2K7YstmK2YYg2YjYpdix2LPYp9mE2YfYpyDYpdmE2Ykg2KvZitmG2LrYstio2YjYsdivIiwibWF4LXJlY29yZHMiOiLYp9mE2LnYr9ivINin2YTYo9mC2LXZiSDZhNmE2LPYrNmE2KfYqiDYp9mE2KrZiiDYs9iq2K7YstmGINmB2Yog2YXZhNmBINmI2KfYrdivIiwicmVhZC1yZWNvcmQtY291bnQiOiLYudiv2K8g2KfZhNix2LPYp9im2YQg2YTZhNit2LXZiNmEINi52YTZitmH2Kcg2YXZhiDYp9mE2KrYrtiy2YrZhiDZiNil2LHYs9in2YTZh9inINil2YTZiSDYq9mK2YbYutiy2KjZiNix2K8iLCJtYXgtcmVjb3Jkcy1jb3VudCI6Itin2YTYudiv2K8g2KfZhNij2YLYtdmJINmE2YTYqNmK2KfZhtin2Kog2YHZiiDYp9mE2KrYrtiy2YrZhiDZgtio2YQg2KXYsdiz2KfZhNmH2Kcg2KXZhNmJINir2YrZhti62LLYqNmI2LHYryIsInR0bC1jaGVjay1ob3VyIjoi2YPZhSDZhdix2Kkg2LPZitiq2K3ZgtmCINin2YTYqNmI2KfYqNipINmF2YYg2KfZhNio2YrYp9mG2KfYqiDYp9mE2YLYr9mK2YXYqSIsInR0bC1tZXNzYWdlcy1kYXkiOiLYp9mE2K3YryDYp9mE2KPZgti12Ykg2YTYudiv2K8g2KfZhNij2YrYp9mFINin2YTYqtmKINiz2KrYrdiq2YHYuCDZgdmK2YfYpyDYp9mE2KrYrtiy2YrZhiDYqNin2YTYqNmK2KfZhtin2KoiLGNvbW1hbmRzOiLYp9mE2KPZiNin2YXYsSDZhNis2YXYuSDYp9mE2KXYrdi12KfYptmK2KfYqiDYp9mE2KXYttin2YHZitipIixhdHRyaWJ1dGU6ItmF2YHYqtin2K0g2KrZhNmC2Yog2KfZhNil2K3Ytdin2KbZitin2KoiLHRpbWVvdXQ6ItmF2YfZhNipINiy2YXZhtmK2Kkg2YTYqtmG2YHZitiwINin2YTYo9mF2LEiLGNvbW1hbmQ6Itiz2YrYqtmFINin2LPYqtiu2K/Yp9mFINmG2KrZitis2Kkg2KrZhtmB2YrYsCDYp9mE2KPZhdixINmD2YLZitmF2Kkg2YTYqtmE2YLZiiDYp9mE2KXYrdi12KfYptmK2KfYqiIsImNoZWNrLWRldmljZS1hY3Rpdml0eSI6ItmK2YXZg9mG2YMg2KrZhdmD2YrZhiDZhdix2KfZgtio2Kkg2YbYtNin2Lcg2YPZhCDYrNmH2KfYsiDZhdiq2LXZhCIsImluYWN0aXZpdHktdGltZW91dCI6Itin2YTZiNmC2Kog2KjYudivINin2YTYsNmKINiz2KrZgdi12YQg2KfZhNio2YjYp9io2Kkg2KfZhNis2YfYp9iyIiwiaW5hY3Rpdml0eS1wZXJpb2QiOiLYqtmD2LHYp9ixINmB2K3YtSDZhti02KfYtyDYp9mE2KzZh9in2LIiLCJtaW5pbWFsLXBhY2stZGVsYXkiOiLYp9mE2KrYo9iu2YrYsSDYqNmK2YYg2KXYsdiz2KfZhCDYrdiy2YUg2KfZhNix2LPYp9im2YQgKNmK2KTYr9mKINiq2YLZhNmK2YQg2YfYsNinINin2YTYpdi52K/Yp9ivINil2YTZiSDYstmK2KfYr9ipINin2LPYqtiu2K/Yp9mFINmI2K3Yr9ipINin2YTZhdi52KfZhNis2Kkg2KfZhNmF2LHZg9iy2YrYqSkiLHFvczoi2KzZiNiv2Kkg2KfZhNiu2K/ZhdipINmB2Yog2LHYs9in2KbZhCBNUVRUICgwIC0g2LnZhNmJINin2YTYo9mD2KvYsSDZhdix2Kkg2YjYp9it2K/YqdiMIDEgLSDYudmE2Ykg2KfZhNij2YLZhCDZhdix2Kkg2YjYp9it2K/YqSkiLCJzZXJ2ZXItcG9ydCI6ItmF2YbZgdiwINin2YTYtNio2YPYqSDYp9mE2LDZiiDYs9mK2LPYqtmF2Lkg2YHZitmHINiu2KfYr9mFIEdSUEMg2YTZhNin2LPYqtmB2LPYp9ix2KfYqiDYp9mE2YjYp9ix2K/YqS4iLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dCI6Itin2YTYrdivINin2YTYo9mC2LXZiSDZhNmE2YjZgtiqINin2YTYsNmKINmK2KzYqCDYo9mGINmK2YbYqti42LHZhyDYp9mE2K7Yp9iv2YUg2YTYp9iz2KrYrNin2KjYqSDYsdiz2KfZhNipINin2YTYrdmB2KfYuCDYudmE2Ykg2KfZhNin2KrYtdin2YQg2YLYqNmEINin2LnYqtio2KfYsSDYp9mE2KfYqti12KfZhCDZhdmK2KrZi9inLiIsImdycGMta2VlcC1hbGl2ZSI6Itin2YTZhdiv2Kkg2KjZitmGINix2LPYp9im2YQg2K3Zgdi4INin2YTYp9iq2LXYp9mEINin2YTZhdiq2LnYp9mC2KjYqSDYudmG2K8g2LnYr9mFINmI2KzZiNivINin2LPYqtiv2LnYp9ihIFJQQyDZhti02LcuIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzIjoi2KfZhNit2K8g2KfZhNij2K/ZhtmJINmE2YTZiNmC2Kog2KfZhNiw2Yog2YrYrNioINmB2YrZhyDYo9mGINmK2YbYqti42LEg2KfZhNiu2KfYr9mFINio2YrZhiDYpdix2LPYp9mEINix2LPYp9im2YQg2K3Zgdi4INin2YTYp9iq2LXYp9mEIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINix2LPYp9im2YQg2K3Zgdi4INin2YTYp9iq2LXYp9mEINin2YTYqtmKINmK2YXZg9mGINmE2YTYrtin2K/ZhSDYpdix2LPYp9mE2YfYpyDYr9mI2YYg2KrZhNmC2Yog2KPZiiDYqNmK2KfZhtin2Kog2YLYqNmEINin2LnYqtio2KfYsSDYp9mE2KfYqti12KfZhCDZhdmK2KrZi9inLiIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhIjoi2KfZhNit2K8g2KfZhNij2K/ZhtmJINmE2YTZiNmC2Kog2KfZhNiw2Yog2YrYrNioINmB2YrZhyDYo9mGINmK2YbYqti42LEg2KfZhNiu2KfYr9mFINio2YrZhiDYpdix2LPYp9mEINix2LPYp9im2YQg2K3Zgdi4INin2YTYp9iq2LXYp9mEINi52YbYryDYudiv2YUg2KXYsdiz2KfZhCDYo9mIINin2LPYqtmE2KfZhSDYqNmK2KfZhtin2KouIiwicGVybWl0LXdpdGhvdXQtY2FsbHMiOiLYp9mE2LPZhdin2K0g2YTZhNiu2KfYr9mFINio2KXYqNmC2KfYoSDYp9iq2LXYp9mEIEdSUEMg2K3ZitmL2Kcg2K3YqtmJINi52YbYr9mF2Kcg2YTYpyDYqtmD2YjZhiDZh9mG2KfZgyDYp9iz2KrYr9i52KfYodin2KogUlBDINmG2LTYt9ipLiJ9fSxWbz17ImFkZC1lbnRyeSI6IkFmZWdpciBjb25maWd1cmFjacOzIiwiY29ubmVjdG9yLWFkZCI6IkFmZWdpciBjb25lY3RvciIsImNvbm5lY3Rvci1lbmFibGVkIjoiQWN0aXZhciBjb25lY3RvciIsImNvbm5lY3Rvci1uYW1lIjoiTm9tIGNvbmVjdG9yIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiJDYWwgbm9tIGNvbmVjdG9yLiIsImNvbm5lY3Rvci10eXBlIjoiVGlwdXMgY29uZWN0b3IiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IkNhbCB0aXB1cyBjb25lY3Rvci4iLGNvbm5lY3RvcnM6IkNvbmZpZ3VyYWNpw7MgZGUgY29uZWN0b3JzIiwiY3JlYXRlLW5ldy1nYXRld2F5IjoiQ3JlYXIgdW4gZ2F0ZXdheSBub3UiLCJjcmVhdGUtbmV3LWdhdGV3YXktdGV4dCI6IkNyZWFyIHVuIG5vdSBnYXRld2F5IGFtYiBlbCBub206ICd7e2dhdGV3YXlOYW1lfX0nPyIsZGVsZXRlOiJFc2JvcnJhciBjb25maWd1cmFjacOzIiwiZG93bmxvYWQtdGlwIjoiRGVzY2FycmVnYXIgZml0eGVyIGRlIGNvbmZpZ3VyYWNpw7MiLGdhdGV3YXk6IkdhdGV3YXkiLCJnYXRld2F5LWV4aXN0cyI6IkphIGV4aXN0ZWl4IHVuIGRpc3Bvc2l0aXUgYW1iIGVsIG1hdGVpeCBub20uIiwiZ2F0ZXdheS1uYW1lIjoiTm9tIGRlIEdhdGV3YXkiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJDYWwgdW4gbm9tIGRlIGdhdGV3YXkuIiwiZ2F0ZXdheS1zYXZlZCI6IkNvbmZpZ3VyYWNpw7MgZGUgZ2F0ZXdheSBncmF2YWRhIHNhdGlzZmFjdMOycmlhbWVudC4iLCJqc29uLXBhcnNlIjoiSlNPTiBubyB2w6BsaWQuIiwianNvbi1yZXF1aXJlZCI6IkVsIGNhbXAgbm8gcG90IHNlciBidWl0LiIsIm5vLWNvbm5lY3RvcnMiOiJObyBoaSBoYSBjb25lY3RvcnMiLCJuby1kYXRhIjoiTm8gaGkgaGEgY29uZmlndXJhY2lvbnMiLCJuby1nYXRld2F5LWZvdW5kIjoiTm8gcydoYSB0cm9iYXQgY2FwIGdhdGV3YXkuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5vIHRyb2JhdC4iLCJwYXRoLWxvZ3MiOiJSdXRhIGFscyBmaXR4ZXJzIGRlIGxvZyIsInBhdGgtbG9ncy1yZXF1aXJlZCI6IkNhbCBydXRhLiIscmVtb3RlOiJDb25maWd1cmFjacOzIHJlbW90YSIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoiTml2ZWwgZGUgbG9nZ2luZyIsInJlbW92ZS1lbnRyeSI6IkVzYm9ycmFyIGNvbmZpZ3VyYWNpw7MiLCJzYXZlLXRpcCI6IkdyYXZhciBmaXR4ZXIgZGUgY29uZmlndXJhY2nDsyIsInNlY3VyaXR5LXR5cGUiOiJUaXB1cyBkZSBzZWd1cmV0YXQiLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJUb2tlbiBkJ2FjY8OpcyIsdGxzOiJUTFMifSxzdG9yYWdlOiJHcmFiYWNpw7MiLCJzdG9yYWdlLW1heC1maWxlLXJlY29yZHMiOiJOw7ptZXJvIG3DoHhpbSBkZSByZWdpc3RyZXMgZW4gZml0eGVyIiwic3RvcmFnZS1tYXgtZmlsZXMiOiJOw7ptZXJvIG3DoHhpbSBkZSBmaXR4ZXJzIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoiRWwgbsO6bWVybyBtw61uaW0gw6lzIDEuIiwic3RvcmFnZS1tYXgtZmlsZXMtcGF0dGVybiI6Ik7Dum1lcm8gbm8gdsOgbGlkLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXJlcXVpcmVkIjoiQ2FsIG7Dum1lcm8uIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik3DoHhpbSBkZSByZWdpc3RyZXMgZW4gZWwgbWFnYXR6ZW0iLCJzdG9yYWdlLW1heC1yZWNvcmRzLW1pbiI6IkVsIG7Dum1lcm8gbcOtbmltIMOpcyAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6Ik7Dum1lcm8gbm8gdsOgbGlkLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJDYWwgbsO6bWVyby4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6Ik1pZGEgbcOgeGltIGRlIGVzZGV2ZW5pbWVudHMiLCJzdG9yYWdlLXBhY2stc2l6ZS1taW4iOiJFbCBuw7ptZXJvIG3DrW5pbSDDqXMgMS4iLCJzdG9yYWdlLXBhY2stc2l6ZS1wYXR0ZXJuIjoiTsO6bWVybyBubyB2w6BsaWQuIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiJDYWwgbsO6bWVyby4iLCJzdG9yYWdlLXBhdGgiOiJSdXRhIGRlIG1hZ2F0emVtIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoiQ2FsIHJ1dGEgZGUgbWFnYXR6ZW0uIiwic3RvcmFnZS10eXBlIjoiVGlwdXMgZGUgbWFnYXR6ZW0iLCJzdG9yYWdlLXR5cGVzIjp7ImZpbGUtc3RvcmFnZSI6Ik1hZ2F0emVtIGZpdHhlciIsIm1lbW9yeS1zdG9yYWdlIjoiTWFnYXR6ZW0gZW4gbWVtb3JpYSJ9LHRoaW5nc2JvYXJkOiJUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QiOiJIb3N0IFRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6IkNhbCBIb3N0LiIsInRoaW5nc2JvYXJkLXBvcnQiOiJQb3J0IFRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtcG9ydC1tYXgiOiJFbCBwb3J0IG3DoHhpbSDDqXMgNjU1MzUuIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiJFbCBwb3J0IG3DrW5pbSDDqXMgMS4iLCJ0aGluZ3Nib2FyZC1wb3J0LXBhdHRlcm4iOiJQb3J0IG5vIHbDoGxpZC4iLCJ0aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkIjoiQ2FsIHBvcnQuIix0aWR5OiJFbmRyZcOnYXQiLCJ0aWR5LXRpcCI6IkVuZHJlw6dhdCBKU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoiQ29uZmlndXJhY2nDsyBjb25lY3RvciB7e3R5cGVOYW1lfX0iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IlJ1dGEgYWwgY2VydGlmaWNhdCBDQSBhbCBnYXRld2F5IiwidGxzLXBhdGgtY2xpZW50LWNlcnRpZmljYXRlIjoiUnV0YSBhbCBjZXJ0aWZpY2F0IGNsaWVudCBhbCBnYXRld2F5IiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiJSdXRhIGEgbGEgY2xhdSBwcml2YWRhIGFsIGdhdGV3YXkiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlBhbnRhbGxhIGNvbXBsZXRhIGZ1bGxzY3JlZW4iLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IkNvbmZpZ3VyYWNpw7MgSlNPTioiLCJ1cGRhdGUtY29uZmlnIjoiQWZlZ2lyL2FjdHVhbGl6YXIgY29uZmlndXJhY2nDsyBKU09OIn0sQm89eyJhZGQtZW50cnkiOiJQxZlpZGF0IGtvbmZpZ3VyYWNpIiwiY29ubmVjdG9yLWFkZCI6IlDFmWlkYXQgbm92w70ga29uZWt0b3IiLCJjb25uZWN0b3ItZW5hYmxlZCI6IlBvdm9saXQga29uZWt0b3IiLCJjb25uZWN0b3ItbmFtZSI6Ik7DoXpldiBrb25la3RvcnUiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6Ik7DoXpldiBrb25la3RvcnUgamUgcG92aW5uw70uIiwiY29ubmVjdG9yLXR5cGUiOiJUeXAga29uZWt0b3J1IiwiY29ubmVjdG9yLXR5cGUtcmVxdWlyZWQiOiJUeXAga29uZWt0b3J1IGplIHBvdmlubsO9LiIsY29ubmVjdG9yczoiS29uZmlndXJhY2Uga29uZWt0b3J1IiwiY3JlYXRlLW5ldy1nYXRld2F5IjoiVnl0dm/FmWl0IG5vdm91IGJyw6FudSIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiSnN0ZSBzaSBqaXN0aSwgxb5lIGNoY2V0ZSB2eXR2b8WZaXQgbm92b3UgYnLDoW51IHMgbsOhenZlbTogJ3t7Z2F0ZXdheU5hbWV9fSc/IixkZWxldGU6IlNtYXphdCBrb25maWd1cmFjaSIsImRvd25sb2FkLXRpcCI6IlN0w6Fobm91dCBzb3Vib3Iga29uZmlndXJhY2UiLGdhdGV3YXk6IkJyw6FuYSIsImdhdGV3YXktZXhpc3RzIjoiWmHFmcOtemVuw60gc2Ugc2hvZG7DvW0gbsOhenZlbSBqacW+IGV4aXN0dWplLiIsImdhdGV3YXktbmFtZSI6Ik7DoXpldiBicsOhbnkiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJOw6F6ZXYgYnLDoW55IGplIHBvdmlubsO9LiIsImdhdGV3YXktc2F2ZWQiOiJLb25maWd1cmFjZSBicsOhbnkgYnlsYSDDunNwxJvFoW7EmyB1bG/FvmVuYS4iLCJqc29uLXBhcnNlIjoiTmVwbGF0bsO9IEpTT04uIiwianNvbi1yZXF1aXJlZCI6IlBvbGUgbmVtxa/FvmUgYsO9dCBwcsOhemRuw6kuIiwibm8tY29ubmVjdG9ycyI6IsW9w6FkbsOpIGtvbmVrdG9yeSIsIm5vLWRhdGEiOiLFvcOhZG7DqSBrb25maWd1cmFjZSIsIm5vLWdhdGV3YXktZm91bmQiOiLFvcOhZG7DqSBicsOhbnkgbmVieWx5IG5hbGV6ZW55LiIsIm5vLWdhdGV3YXktbWF0Y2hpbmciOiIgJ3t7aXRlbX19JyBuZW5hbGV6ZW5hLiIsInBhdGgtbG9ncyI6IkNlc3RhIGsgc291Ym9yxa9tIGxvZ3UiLCJwYXRoLWxvZ3MtcmVxdWlyZWQiOiJDZXN0YSBqZSBwb3Zpbm7DoS4iLHJlbW90ZToiVnpkw6FsZW7DoSBrb25maWd1cmFjZSIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoiw5pyb3ZlxYggbG9nb3bDoW7DrSIsInJlbW92ZS1lbnRyeSI6Ik9kc3RyYW5pdCBrb25maWd1cmFjaSIsInNhdmUtdGlwIjoiVWxvxb5pdCBzb3Vib3Iga29uZmlndXJhY2UiLCJzZWN1cml0eS10eXBlIjoiVHlwIHphYmV6cGXEjWVuw60iLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJQxZnDrXN0dXBvdsO9IHRva2VuIix0bHM6IlRMUyJ9LHN0b3JhZ2U6IsOabG/FvmnFoXTEmyIsInN0b3JhZ2UtbWF4LWZpbGUtcmVjb3JkcyI6Ik1heGltw6FsbsOtIHBvxI1ldCB6w6F6bmFtxa8gdiBzb3Vib3J1Iiwic3RvcmFnZS1tYXgtZmlsZXMiOiJNYXhpbcOhbG7DrSBwb8SNZXQgc291Ym9yxa8iLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiJNaW5pbcOhbG7DrSBwb8SNZXQgamUgMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiUG/EjWV0IG5lbsOtIHBsYXRuw70uIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiJQb8SNZXQgamUgcG92aW5uw70uIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik1heGltw6FsbsOtIHBvxI1ldCB6w6F6bmFtxa8gdiDDumxvxb5pxaF0aSIsInN0b3JhZ2UtbWF4LXJlY29yZHMtbWluIjoiTWluaW3DoWxuw60gcG/EjWV0IHrDoXpuYW3FryBqZSAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6IlBvxI1ldCBuZW7DrSBwbGF0bsO9LiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJNYXhpbcOhbG7DrSBwb8SNZXQgesOhem5hbcWvIGplIHBvdmlubsO9LiIsInN0b3JhZ2UtcGFjay1zaXplIjoiTWF4aW3DoWxuw60gdmVsaWtvc3Qgc291Ym9ydSB1ZMOhbG9zdMOtIiwic3RvcmFnZS1wYWNrLXNpemUtbWluIjoiTWluaW3DoWxuw60gcG/EjWV0IGplIDEuIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6IlBvxI1ldCBuZW7DrSBwbGF0bsO9LiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoiTWF4aW3DoWxuw60gdmVsaWtvc3Qgc291Ym9ydSB1ZMOhbG9zdMOtIGplIHBvdmlubsOhLiIsInN0b3JhZ2UtcGF0aCI6IkNlc3RhIGsgw7psb8W+acWhdGkiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiJDZXN0YSBrIMO6bG/FvmnFoXRpIGplIHBvdmlubsOhLiIsInN0b3JhZ2UtdHlwZSI6IlR5cCDDumxvxb5pxaF0xJsiLCJzdG9yYWdlLXR5cGVzIjp7ImZpbGUtc3RvcmFnZSI6IlNvdWJvciIsIm1lbW9yeS1zdG9yYWdlIjoiUGFtxJvFpSJ9LHRoaW5nc2JvYXJkOiJUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QiOiJIb3N0IFRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6Ikhvc3QgamUgcG92aW5uw70uIiwidGhpbmdzYm9hcmQtcG9ydCI6IlBvcnQgVGhpbmdzQm9hcmQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6Ik1heGltw6FsbsOtIMSNw61zbG8gcG9ydHUgamUgNjU1MzUuIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiJNaW5pbcOhbG7DrSDEjcOtc2xvIHBvcnR1IGplIDEuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiUG9ydCBuZW7DrSBwbGF0bsO9LiIsInRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWQiOiJQb3J0IGplIHBvdmlubsO9LiIsdGlkeToiVXNwb8WZw6FkYXQiLCJ0aWR5LXRpcCI6IlVzcG/FmcOhZGF0IEpTT04ga29uZmlndXJhY2kiLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiJLb25maWd1cmFjZSB7e3R5cGVOYW1lfX0ga29uZWt0b3J1IiwidGxzLXBhdGgtY2EtY2VydGlmaWNhdGUiOiJDZXN0YSBrIGNlcnRpZmlrw6F0dSBDQSBicsOhbnkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiJDZXN0YSBrIGNlcnRpZmlrw6F0dSBrbGllbnRhIGJyw6FueSIsInRscy1wYXRoLXByaXZhdGUta2V5IjoiQ2VzdGEgayBwcml2w6F0bsOtbXUga2zDrcSNaSBicsOhbnkiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlDFmWVwbm91dCBkbyByZcW+aW11IGNlbMOpIG9icmF6b3ZreSIsInRyYW5zZm9ybWVyLWpzb24tY29uZmlnIjoiSlNPTioga29uZmlndXJhY2UiLCJ1cGRhdGUtY29uZmlnIjoiUMWZaWRhdC9lZGl0b3ZhdCBKU09OIGtvbmZpZ3VyYWNpIn0sVW89eyJhZGQtZW50cnkiOiJUaWxmw7hqIGtvbmZpZ3VyYXRpb24iLCJjb25uZWN0b3ItYWRkIjoiVGlsZsO4aiBueSBzdGlrZm9yYmluZGVsc2UiLCJjb25uZWN0b3ItZW5hYmxlZCI6IkFrdGl2w6lyIHN0aWtmb3JiaW5kZWxzZSIsImNvbm5lY3Rvci1uYW1lIjoiTmF2biBww6Ugc3Rpa2ZvcmJpbmRlbHNlIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiJOYXZuIHDDpSBzdGlrZm9yYmluZGVsc2UgZXIgcMOla3LDpnZldC4iLCJjb25uZWN0b3ItdHlwZSI6IlN0aWtmb3JiaW5kZWxzZXN0eXBlIiwiY29ubmVjdG9yLXR5cGUtcmVxdWlyZWQiOiJTdGlrZm9yYmluZGVsc2VzdHlwZSBlciBww6VrcsOmdmV0LiIsY29ubmVjdG9yczoiS29uZmlndXJhdGlvbiBhZiBzdGlrZm9yYmluZGVsc2VyIiwiY3JlYXRlLW5ldy1nYXRld2F5IjoiT3ByZXQgZW4gbnkgZ2F0ZXdheSIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiIixkZWxldGU6IlNsZXQga29uZmlndXJhdGlvbiIsImRvd25sb2FkLXRpcCI6IkRvd25sb2FkIGtvbmZpZ3VyYXRpb25zZmlsIixnYXRld2F5OiJHYXRld2F5IiwiZ2F0ZXdheS1leGlzdHMiOiJFbmhlZCBtZWQgc2FtbWUgbmF2biBmaW5kZXMgYWxsZXJlZGUuIiwiZ2F0ZXdheS1uYW1lIjoiR2F0ZXdheS1uYXZuIiwiZ2F0ZXdheS1uYW1lLXJlcXVpcmVkIjoiR2F0ZXdheS1uYXZuIGVyIHDDpWtyw6Z2ZXQuIiwiZ2F0ZXdheS1zYXZlZCI6IkdhdGV3YXkta29uZmlndXJhdGlvbmVuIGJsZXYgZ2VtdC4iLCJqc29uLXBhcnNlIjoiSWtrZSBneWxkaWcgSlNPTi4iLCJqc29uLXJlcXVpcmVkIjoiRmVsdGV0IG3DpSBpa2tlIHbDpnJlIHRvbXQuIiwibm8tY29ubmVjdG9ycyI6IkluZ2VuIHN0aWtmb3JiaW5kZWxzZXIiLCJuby1kYXRhIjoiSW5nZW4ga29uZmlndXJhdGlvbmVyIiwibm8tZ2F0ZXdheS1mb3VuZCI6IkluZ2VuIGdhdGV3YXkgZnVuZGV0LiIsIm5vLWdhdGV3YXktbWF0Y2hpbmciOiIiLCJwYXRoLWxvZ3MiOiJTdGkgdGlsIGxvZ2ZpbGVyIiwicGF0aC1sb2dzLXJlcXVpcmVkIjoiU3RpIGVyIHDDpWtyw6Z2ZXQuIixyZW1vdGU6IkZqZXJua29uZmlndXJhdGlvbiIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoiTG9nZsO4cmluZ3NuaXZlYXUiLCJyZW1vdmUtZW50cnkiOiJGamVybiBrb25maWd1cmF0aW9uIiwic2F2ZS10aXAiOiJHZW0ga29uZmlndXJhdGlvbnNmaWwiLCJzZWN1cml0eS10eXBlIjoiU2lra2VyaGVkc3R5cGUiLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJBZGdhbmdzdG9rZW4iLHRsczoiVExTIn0sc3RvcmFnZToiTGFncmluZyIsInN0b3JhZ2UtbWF4LWZpbGUtcmVjb3JkcyI6Ik1ha3MuIGFudGFsIHBvc3RlciBpIGZpbCIsInN0b3JhZ2UtbWF4LWZpbGVzIjoiTWFrcy4gYW50YWwgZmlsZXIiLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiJNaW4uIGFudGFsIGVyIDEuIiwic3RvcmFnZS1tYXgtZmlsZXMtcGF0dGVybiI6IkFudGFsIGVyIGlra2UgZ3lsZGlndC4iLCJzdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZCI6IkFudGFsIGVyIHDDpWtyw6Z2ZXQuIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik1ha3MuIGFudGFsIHBvc3RlciBpIGxhZ3JpbmciLCJzdG9yYWdlLW1heC1yZWNvcmRzLW1pbiI6Ik1pbi4gYW50YWwgcG9zdGVyIGVyIDEuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoiQW50YWwgZXIgaWtrZSBneWxkaWd0LiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJNYWtzLiBhbnRhbCBwb3N0ZXIgZXIgcMOla3LDpnZldC4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6Ik1ha3MuIGFudGFsIHBha2tlc3TDuHJyZWxzZSBmb3IgYmVnaXZlbmhlZCIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6Ik1pbi4gYW50YWwgZXIgMS4iLCJzdG9yYWdlLXBhY2stc2l6ZS1wYXR0ZXJuIjoiQW50YWwgZXIgaWtrZSBneWxkaWd0LiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoiTWFrcy4gYW50YWwgcGFra2VzdMO4cnJlbHNlIGZvciBiZWdpdmVuaGVkIGVyIHDDpWtyw6Z2ZXQuIiwic3RvcmFnZS1wYXRoIjoiTGFncmluZ3NzdGkiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiJMYWdyaW5nc3N0aSBlciBww6VrcsOmdmV0LiIsInN0b3JhZ2UtdHlwZSI6IkxhZ3JpbmdzdHlwZSIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoiTGFncmluZyBhZiBmaWx0ZXIiLCJtZW1vcnktc3RvcmFnZSI6IkxhZ3JpbmcgYWYgaHVrb21tZWxzZSJ9LHRoaW5nc2JvYXJkOiJUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QiOiJUaGluZ3NCb2FyZC12w6ZydCIsInRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWQiOiJWw6ZydCBlciBww6VrcsOmdmV0LiIsInRoaW5nc2JvYXJkLXBvcnQiOiJUaGluZ3NCb2FyZC1wb3J0IiwidGhpbmdzYm9hcmQtcG9ydC1tYXgiOiJNYWtzLiBwb3J0bnVtbWVyIGVyIDY1NTM1LiIsInRoaW5nc2JvYXJkLXBvcnQtbWluIjoiTWluLiBwb3J0bnVtbWVyIGVyIDEuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiUG9ydCBlciBpa2tlIGd5bGRpZy4iLCJ0aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkIjoiUG9ydCBlciBww6VrcsOmdmV0LiIsdGlkeToiVGlkeSIsInRpZHktdGlwIjoiVGlkeSBrb25maWcuIEpTT04iLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiIiLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IlN0aSB0aWwgQ0EtY2VydGlmaWthdCBww6UgZ2F0ZXdheSIsInRscy1wYXRoLWNsaWVudC1jZXJ0aWZpY2F0ZSI6IlN0aSB0aWwga2xpZW50Y2VydGlmaWthdCBww6UgZ2F0ZXdheSIsInRscy1wYXRoLXByaXZhdGUta2V5IjoiU3RpIHRpbCBwcml2YXQgbsO4Z2xlIHDDpSBnYXRld2F5IiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiJTa2lmdCB0aWwgZnVsZCBza8Omcm0iLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IktvbmZpZ3VyYXRpb24gSlNPTioiLCJ1cGRhdGUtY29uZmlnIjoiVGlsZsO4ai9vcGRhdGVyIGtvbmZpZ3VyYXRpb24gSlNPTiJ9LF9vPXsiYWRkLWVudHJ5IjoiQcOxYWRpciBjb25maWd1cmFjacOzbiIsYWR2YW5jZWQ6IkF2YW56YWRvIiwiY2hlY2tpbmctZGV2aWNlLWFjdGl2aXR5IjoiUHJvYmFuZG8gYWN0aXZpZGFkIGRlIGRpc3Bvc2l0aXZvIixjb21tYW5kOiJDb21hbmRvcyBEb2NrZXIiLCJjb21tYW5kLWNvcGllZC1tZXNzYWdlIjoiU2UgaGFuIGNvcGlhZG8gbG9zIGNvbWFuZG9zIGFsIHBvcnRhcGFwZWxlcyIsY29uZmlndXJhdGlvbjoiQ29uZmlndXJhY2nDs24iLCJjb25uZWN0b3ItYWRkIjoiQcOxYWRpciBjb25lY3RvciIsImNvbm5lY3Rvci1lbmFibGVkIjoiQWN0aXZhciBjb25lY3RvciIsImNvbm5lY3Rvci1uYW1lIjoiTm9tYnJlIGNvbmVjdG9yIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBub21icmUgY29uZWN0b3IuIiwiY29ubmVjdG9yLXR5cGUiOiJUaXBvIGNvbmVjdG9yIiwiY29ubmVjdG9yLXR5cGUtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSB0aXBvIGNvbmVjdG9yLiIsY29ubmVjdG9yczoiQ29uZWN0b3JlcyIsImNvbm5lY3RvcnMtY29uZmlnIjoiQ29uZmlndXJhY2nDs24gZGUgY29uZWN0b3JlcyIsImNvbm5lY3RvcnMtdGFibGUtZW5hYmxlZCI6IkVuYWJsZWQiLCJjb25uZWN0b3JzLXRhYmxlLW5hbWUiOiJOb21icmUiLCJjb25uZWN0b3JzLXRhYmxlLXR5cGUiOiJUaXBvIiwiY29ubmVjdG9ycy10YWJsZS1zdGF0dXMiOiJFc3RhZG8iLCJjb25uZWN0b3JzLXRhYmxlLWFjdGlvbnMiOiJBY2Npb25lcyIsImNvbm5lY3RvcnMtdGFibGUta2V5IjoiQ2xhdmUiLCJjb25uZWN0b3JzLXRhYmxlLWNsYXNzIjoiQ2xhc2UiLCJycGMtY29tbWFuZC1zZW5kIjoiRW52aWFyIiwicnBjLWNvbW1hbmQtcmVzdWx0IjoiUmVzdWx0YWRvIiwicnBjLWNvbW1hbmQtZWRpdC1wYXJhbXMiOiJFZGl0YXIgcGFyYW1ldHJvcyIsImdhdGV3YXktY29uZmlndXJhdGlvbiI6IkNvbmZpZ3VyYWNpw7NuIEdlbmVyYWwiLCJjcmVhdGUtbmV3LWdhdGV3YXkiOiJDcmVhciB1biBnYXRld2F5IG51ZXZvIiwiY3JlYXRlLW5ldy1nYXRld2F5LXRleHQiOiJDcmVhciB1biBudWV2byBnYXRld2F5IGNvbiBlbCBub21icmU6ICd7e2dhdGV3YXlOYW1lfX0nPyIsImNyZWF0ZWQtdGltZSI6IkhvcmEgZGUgY3JlYWNpw7NuIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWhlYWRlciI6IkxhcyBjb25maWd1cmFjaW9uZXMgc2UgYm9ycmFyw6FuIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWJvZHkiOiJTw7NsbyBlcyBwb3NpYmxlIGRlc2FjdGl2YXIgbGEgY29uZmlndXJhY2nDs24gcmVtb3RhLCBzaSBoYXkgYWNjZXNvIGbDrXNpY28gYWwgZ2F0ZXdheS4gU2UgYm9ycmFyw6FuIHRvZGFzIGxhcyBjb25maWd1cmFjaW9uZXMgcHJldmlhcy48YnI+PGJyPiBcblBhcmEgZGVzYWN0aXZhciBsYSBjb25maWd1cmFjacOzbiwgaW50cm9kdWNlIGVsIG5vbWJyZSBkZWwgZ2F0ZXdheSBhcXXDrSIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1pbnB1dCI6Ik5vbWJyZSBHYXRld2F5IiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0LXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgbm9tYnJlIGRlIGdhdGV3YXkiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctY29uZmlybSI6IkRlc2FjdGl2YXIiLGRlbGV0ZToiQm9ycmFyIGNvbmZpZ3VyYWNpw7NuIiwiZG93bmxvYWQtdGlwIjoiRGVzY2FyZ2FyIGZpY2hlcm8gZGUgY29uZmlndXJhY2nDs24iLCJkcm9wLWZpbGUiOiJBcnJhc3RyYSB1biBmaWNoZXJvIG8iLGdhdGV3YXk6IkdhdGV3YXkiLCJnYXRld2F5LWV4aXN0cyI6IllhIGV4aXN0ZSB1biBkaXNwb3NpdGl2byBjb24gZWwgbWlzbW8gbm9tYnJlLiIsImdhdGV3YXktbmFtZSI6Ik5vbWJyZSBkZSBHYXRld2F5IiwiZ2F0ZXdheS1uYW1lLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgdW4gbm9tYnJlIGRlIGdhdGV3YXkuIiwiZ2F0ZXdheS1zYXZlZCI6IkNvbmZpZ3VyYWNpw7NuIGRlIGdhdGV3YXkgZ3JhYmFkYSBzYXRpc2ZhY3RvcmlhbWVudGUuIixncnBjOiJHUlBDIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQiOiJUaW1lb3V0IEtlZXAgYWxpdmUgKGVuIG1zKSIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgVGltZW91dCBLZWVwIGFsaXZlIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtbWluIjoiRWwgdmFsb3Igbm8gcHVlZGUgc2VyIG1lbm9yIGRlIDEiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dC1wYXR0ZXJuIjoiRWwgdmFsb3Igbm8gZXMgdsOhbGlkbyIsImdycGMta2VlcC1hbGl2ZSI6IktlZXAgYWxpdmUgKGVuIG1zKSIsImdycGMta2VlcC1hbGl2ZS1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIGtlZXAgYWxpdmUiLCJncnBjLWtlZXAtYWxpdmUtbWluIjoiRWwgdmFsb3Igbm8gcHVlZGUgc2VyIG1lbm9yIGRlIDEiLCJncnBjLWtlZXAtYWxpdmUtcGF0dGVybiI6IkVsIHZhbG9yIGtlZXAgYWxpdmUgbm8gZXMgdsOhbGlkbyIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncyI6IlRpZW1wbyBtw61uaW1vIGVudHJlIHBpbmdzIChlbiBtcykiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSB0aWVtcG8gbcOtbmltbyBlbnRyZSBwaW5ncyIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1taW4iOiJFbCB2YWxvciBubyBwdWVkZSBzZXIgbWVub3IgZGUgMSIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1wYXR0ZXJuIjoiRWwgdmFsb3IgZGUgdGllbXBvIG3DrW5pbW8gZW50cmUgcGluZ3Mgbm8gZXMgdsOhbGlkbyIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhIjoiSW50ZXJ2YWxvIG3DrW5pbW8gc2luIGRhdG9zIChlbiBtcykiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIGludGVydmFsbyIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLW1pbiI6IkVsIHZhbG9yIG5vIHB1ZWRlIHNlciBtZW5vciBkZSAxIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcGF0dGVybiI6IkVsIHZhbG9yIGRlIGludGVydmFsbyBubyBlcyB2w6FsaWRvIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoiSW50ZXJ2YWxvIG3DoXhpbW8gc2luIGRhdG9zIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgaW50ZXJ2YWxvIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLW1pbiI6IkVsIHZhbG9yIG5vIHB1ZWRlIHNlciBtZW5vciBkZSAxIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiJFbCB2YWxvciBkZSBpbnRlcnZhbG8gbm8gZXMgdsOhbGlkbyIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMiOiJQZXJpb2RvIGRlIGNvbnRyb2wgZGUgaW5hY3RpdmlkYWQgKGVuIHNlZ3VuZG9zKSIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBwZXJpb2RvIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1taW4iOiJFbCB2YWxvciBubyBwdWVkZSBzZXIgbWVub3IgZGUgMSIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcGF0dGVybiI6IkVsIHZhbG9yIGRlbCBwZXJpb2RvIG5vIGVzIHbDoWxpZG8iLCJpbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcyI6IlRpbWVvdXQgZGUgaW5hY3RpdmlkYWQgKGVuIHNlZ3VuZG9zKSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgdGltZW91dCBkZSBpbmFjdGl2aWRhZCIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLW1pbiI6IkVsIHZhbG9yIG5vIHB1ZWRlIHNlciBtZW5vciBkZSAxIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcGF0dGVybiI6IkVsIHZhbG9yIGRlIGluYWN0aXZpZGFkIG5vIGVzIHbDoWxpZG8iLCJqc29uLXBhcnNlIjoiSlNPTiBubyB2w6FsaWRvLiIsImpzb24tcmVxdWlyZWQiOiJFbCBjYW1wbyBubyBwdWVkZSBlc3RhciB2YWPDrW8uIixsb2dzOntsb2dzOiJSZWdpc3Ryb3MiLGRheXM6ImTDrWFzIixob3VyczoiaG9yYXMiLG1pbnV0ZXM6Im1pbnV0b3MiLHNlY29uZHM6InNlZ3VuZG9zIiwiZGF0ZS1mb3JtYXQiOiJGb3JtYXRvIGRlIGZlY2hhIiwiZGF0ZS1mb3JtYXQtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBmb3JtYXRvIGRlIGZlY2hhIiwibG9nLWZvcm1hdCI6IkZvcm1hdG8gZGUgcmVnaXN0cm8iLCJsb2ctdHlwZSI6IlRpcG8gZGUgcmVnaXN0cm8iLCJsb2ctZm9ybWF0LXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgdGlwbyBkZSByZWdpc3RybyIscmVtb3RlOiJSZWdpc3RybyByZW1vdG8iLCJyZW1vdGUtbG9ncyI6IlJlZ2lzdHJvIHJlbW90byIsbG9jYWw6IlJlZ2lzdHJvIGxvY2FsIixsZXZlbDoiTml2ZWwgZGUgcmVnaXN0cm8iLCJmaWxlLXBhdGgiOiJSdXRhIGRlIGZpY2hlcm8iLCJmaWxlLXBhdGgtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBydXRhIGRlIGZpY2hlcm8iLCJzYXZpbmctcGVyaW9kIjoiUGVyaW9kbyBkZSBndWFyZGFkbyBkZSByZWdpc3Ryb3MiLCJzYXZpbmctcGVyaW9kLW1pbiI6IkVsIHBlcmlvZG8gbm8gcHVlZGUgc2VyIG1lbm9yIHF1ZSAxIiwic2F2aW5nLXBlcmlvZC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIHBlcmlvZG8gZGUgZ3VhcmRhZG8iLCJiYWNrdXAtY291bnQiOiJOw7ptZXJvIGRlIGJhY2t1cHMiLCJiYWNrdXAtY291bnQtbWluIjoiRWwgbsO6bWVybyBkZSBiYWNrdXBzIG5vIHB1ZWRlIHNlciBtZW5vciBxdWUgMSIsImJhY2t1cC1jb3VudC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIG7Dum1lcm8gZGUgYmFja3VwcyJ9LCJtaW4tcGFjay1zZW5kLWRlbGF5IjoiVGllbXBvIGRlIGVzcGVyYSwgZW52w61vIGRlIHBhcXVldGVzIChlbiBtcykiLCJtaW4tcGFjay1zZW5kLWRlbGF5LXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgdGllbXBvIGRlIGVzcGVyYSIsIm1pbi1wYWNrLXNlbmQtZGVsYXktbWluIjoiRWwgdGllbXBvIGRlIGVzcGVyYSBubyBwdWVkZSBzZXIgbWVub3IgcXVlIDAiLCJuby1jb25uZWN0b3JzIjoiTm8gaGF5IGNvbmVjdG9yZXMiLCJuby1kYXRhIjoiTm8gaGF5IGNvbmZpZ3VyYWNpb25lcyIsIm5vLWdhdGV3YXktZm91bmQiOiJObyBzZSBoYSBlbmNvbnRyYWRvIG5pbmfDum4gZ2F0ZXdheS4iLCJuby1nYXRld2F5LW1hdGNoaW5nIjoiICd7e2l0ZW19fScgbm8gZW5jb250cmFkby4iLCJwYXRoLWxvZ3MiOiJSdXRhIGEgbG9zIGFyY2hpdm9zIGRlIGxvZyIsInBhdGgtbG9ncy1yZXF1aXJlZCI6IlJ1dGEgcmVxdWVyaWRhLiIsInBlcm1pdC13aXRob3V0LWNhbGxzIjoiUGVybWl0aXIgS2VlcCBhbGl2ZSBzaSBsbGFtYWRhcyIscmVtb3RlOiJDb25maWd1cmFjacOzbiByZW1vdGEiLCJyZW1vdGUtbG9nZ2luZy1sZXZlbCI6Ik5pdmVsIGRlIGxvZ2dpbmciLCJyZW1vdmUtZW50cnkiOiJCb3JyYXIgY29uZmlndXJhY2nDs24iLCJyZW1vdGUtc2hlbGwiOiJDb25zb2xhIHJlbW90YSIsInJlbW90ZS1jb25maWd1cmF0aW9uIjoiQ29uZmlndXJhY2nDs24gcmVtb3RhIixvdGhlcjoib3Ryb3MiLCJzYXZlLXRpcCI6IkdyYWJhciBmaWNoZXJvIGRlIGNvbmZpZ3VyYWNpw7NuIiwic2VjdXJpdHktdHlwZSI6IlRpcG8gZGUgc2VndXJpZGFkIiwic2VjdXJpdHktdHlwZXMiOnsiYWNjZXNzLXRva2VuIjoiVMOza2VuIGRlIGFjY2VzbyIsInVzZXJuYW1lLXBhc3N3b3JkIjoiVXN1YXJpbyB5IGNvbnRyYXNlw7FhIix0bHM6IlRMUyIsInRscy1hY2Nlc3MtdG9rZW4iOiJUTFMgKyBUw7NrZW4gZGUgYWNjZXNvIiwidGxzLXByaXZhdGUta2V5IjoiVExTICsgQ2xhdmUgcHJpdmFkYSJ9LCJzZXJ2ZXItcG9ydCI6IlB1ZXJ0byBkZWwgc2Vydmlkb3IiLHN0YXRpc3RpY3M6e3N0YXRpc3RpYzoiRXN0YWTDrXN0aWNhIixzdGF0aXN0aWNzOiJFc3RhZMOtc3RpY2FzIiwic3RhdGlzdGljLWNvbW1hbmRzLWVtcHR5IjoiTm8gaGF5IGVzdGFkw61zdGljYXMiLGNvbW1hbmRzOiJDb21hbmRvcyIsInNlbmQtcGVyaW9kIjoiUGVyaW9kbyBkZSBlbnbDrW8gZGUgZXN0YWTDrXN0aWNhcyAoZW4gc2VndW5kb3MpIiwic2VuZC1wZXJpb2QtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBwZXJpb2RvIGRlIGVudsOtbyIsInNlbmQtcGVyaW9kLW1pbiI6IkVsIHBlcmlvZG8gZGUgZW52w61vIG5vIHB1ZWRlIHNlciBtZW5vciBkZSA2MCIsInNlbmQtcGVyaW9kLXBhdHRlcm4iOiJFbCBwZXJpb2RvIGRlIGVudsOtbyBubyBlcyB2w6FsaWRvIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uIjoiUmV2aXNhciBjb25maWd1cmFjacOzbiBkZSBjb25lY3RvcmVzIChlbiBzZWd1bmRvcykiLCJjaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tcmVxdWlyZWQiOiJTZSByZXF1aWVyZSB1biB2YWxvciIsImNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbi1taW4iOiJFbCB2YWxvciBubyBwdWVkZSBzZXIgbWVub3IgZGUgMSIsImNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbi1wYXR0ZXJuIjoiTGEgY29uZmlndXJhY2nDs24gbm8gZXMgdsOhbGlkYSIsYWRkOiJBw7FhZGlyIGNvbWFuZG8iLHRpbWVvdXQ6IlRpbWVvdXQiLCJ0aW1lb3V0LW1zIjoiVGltZW91dCAoZW4gbXMpIiwidGltZW91dC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIHRpbWVvdXQiLCJ0aW1lb3V0LW1pbiI6IkVsIHRpbWVvdXQgbm8gcHVlZGUgc2VyIG1lbm9yIGRlIDEiLCJ0aW1lb3V0LXBhdHRlcm4iOiJFbCB0aW1lb3V0IG5vIGVzIHbDoWxpZG8iLCJhdHRyaWJ1dGUtbmFtZSI6Ik5vbWJyZSBkZSBhdHJpYnV0byIsImF0dHJpYnV0ZS1uYW1lLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgbm9tYnJlIGRlIGF0cmlidXRvIixjb21tYW5kOiJDb21hbmRvIiwiY29tbWFuZC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIGNvbWFuZG8iLHJlbW92ZToiQm9ycmFyIGNvbWFuZG8ifSxzdG9yYWdlOiJHcmFiYWNpw7NuIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoiTsO6bWVybyBtw6F4aW1vIGRlIHJlZ2lzdHJvcyBlbiBmaWNoZXJvIiwic3RvcmFnZS1tYXgtZmlsZXMiOiJOw7ptZXJvIG3DoXhpbW8gZGUgZmljaGVyb3MiLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiJFbCBuw7ptZXJvIG3DrW5pbW8gZXMgMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiTsO6bWVybyBubyB2w6FsaWRvLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgbsO6bWVyby4iLCJzdG9yYWdlLW1heC1yZWNvcmRzIjoiTcOheGltbyBkZSByZWdpc3Ryb3MgZW4gZWwgYWxtYWPDqW4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLW1pbiI6IkVsIG7Dum1lcm8gbcOtbmltbyBlcyAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6Ik7Dum1lcm8gbm8gdsOhbGlkby4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgbsO6bWVyby4iLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50IjoiTGVlciBuw7ptZXJvIGRlIGVudHJhZGFzIGVuIGFsbWFjw6luIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1taW4iOiJFbCBuw7ptZXJvIG3DrW5pbW8gZGUgZW50cmFkYXMgZXMgMS4iLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm4iOiJFbCBuw7ptZXJvIG5vIGVzIHbDoWxpZG8uIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIG7Dum1lcm8gZGUgZW50cmFkYXMuIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQiOiJOw7ptZXJvIG3DoXhpbW8gZGUgZW50cmFkYXMgZW4gZWwgYWxtYWPDqW4iLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1taW4iOiJFbCBuw7ptZXJvIG3DrW5pbW8gZXMgMS4iLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1wYXR0ZXJuIjoiRWwgbsO6bWVybyBubyBlcyB2w6FsaWRvIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBuw7ptZXJvIG3DoXhpbW8gZGUgZW50cmFkYXMuIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoIjoiUnV0YSBkZSBjYXJwZXRhIGRlIGRhdG9zIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgcnV0YS4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6IlRhbWHDsW8gbcOheGltbyBkZSBldmVudG9zIiwic3RvcmFnZS1wYWNrLXNpemUtbWluIjoiRWwgbsO6bWVybyBtw61uaW1vIGVzIDEuIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6Ik7Dum1lcm8gbm8gdsOhbGlkby4iLCJzdG9yYWdlLXBhY2stc2l6ZS1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIG7Dum1lcm8uIiwic3RvcmFnZS1wYXRoIjoiUnV0YSBkZSBhbG1hY8OpbiIsInN0b3JhZ2UtcGF0aC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIHJ1dGEgZGUgYWxtYWPDqW4uIiwic3RvcmFnZS10eXBlIjoiVGlwbyBkZSBhbG1hY8OpbiIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoiQWxtYWPDqW4gZW4gZmljaGVybyIsIm1lbW9yeS1zdG9yYWdlIjoiQWxtYWPDqW4gZW4gbWVtb3JpYSIsc3FsaXRlOiJTUUxJVEUifSx0aGluZ3Nib2FyZDoiVGhpbmdzQm9hcmQiLGdlbmVyYWw6IkdlbmVyYWwiLCJ0aGluZ3Nib2FyZC1ob3N0IjoiSG9zdCBUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBIb3N0LiIsInRoaW5nc2JvYXJkLXBvcnQiOiJQdWVydG8gVGhpbmdzQm9hcmQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6IkVsIHB1ZXJ0byBtw6F4aW1vIGVzIDY1NTM1LiIsInRoaW5nc2JvYXJkLXBvcnQtbWluIjoiRWwgcHVlcnRvIG3DrW5pbW8gZXMgMS4iLCJ0aGluZ3Nib2FyZC1wb3J0LXBhdHRlcm4iOiJQdWVydG8gbm8gdsOhbGlkby4iLCJ0aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgcHVlcnRvLiIsdGlkeToiVGlkeSIsInRpZHktdGlwIjoiVGlkeSBKU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoiQ29uZmlndXJhY2nDs24gY29uZWN0b3Ige3t0eXBlTmFtZX19IiwidGxzLXBhdGgtY2EtY2VydGlmaWNhdGUiOiJSdXRhIGFsIGNlcnRpZmljYWRvIENBIGVuIGVsIGdhdGV3YXkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiJSdXRhIGFsIGNlcnRpZmljYWRvIGNsaWVudGUgZW4gZWwgZ2F0ZXdheSIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3VycyI6IkNvbXByb2JhY2nDs24gZGUgVFRMIGRlIG1lbnNhamVzIGVuIGhvcmFzIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXJlcXVpcmVkIjoiQ2FtcG8gcmVxdWVyaWRvLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1taW4iOiJFbCBtw61uaW1vIGVzIDEuIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXBhdHRlcm4iOiJFbCBuw7ptZXJvIG5vIGVzIHbDoWxpZG8uIiwibWVzc2FnZXMtdHRsLWluLWRheXMiOiJUVEwgKFRpbWUgdG8gbGl2ZSkgZGUgbWVuc2FnZXMgZW4gZMOtYXMiLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIFRUTCBkZSBtZW5zYWplcy4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1taW4iOiJFbCBuw7ptZXJvIG3DrW5pbW8gZXMgMS4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1wYXR0ZXJuIjoiRWwgbsO6bWVybyBubyBlcyB2w6FsaWRvLiIsIm1xdHQtcW9zIjoiUW9TIiwibXF0dC1xb3MtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBRb1MiLCJtcXR0LXFvcy1yYW5nZSI6IkVsIHJhbmdvIGRlIHZhbG9yZXMgZXMgZGVzZGUgMCBhIDEiLCJ0bHMtcGF0aC1wcml2YXRlLWtleSI6IlJ1dGEgYSBsYSBjbGF2ZSBwcml2YWRhIGVuIGVsIGdhdGV3YXkiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlBhbnRhbGxhIGNvbXBsZXRhIGZ1bGxzY3JlZW4iLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IkNvbmZpZ3VyYWNpw7NuIEpTT04qIiwidXBkYXRlLWNvbmZpZyI6IkHDsWFkaXIvYWN0dWFsaXphciBjb25maWd1cmFjacOzbiBKU09OIixoaW50czp7InJlbW90ZS1jb25maWd1cmF0aW9uIjoiSGFiaWxpdGEgbGEgYWRtaW5pc3RyYWNpw7NuIHkgY29uZmlndXJhY2nDs24gcmVtb3RhIGRlbCBnYXRld2F5IiwicmVtb3RlLXNoZWxsIjoiSGFiaWxpdGEgZWwgY29udHJvbCByZW1vdG8gZGVsIHNpc3RlbWEgb3BlcmF0aXZvIGRlbCBnYXRld2F5IGRlc2RlIGVsIHdpZGdldCB0ZXJtaW5hbCByZW1vdG8iLGhvc3Q6Ikhvc3RuYW1lIG8gZGlyZWNjacOzbiBJUCBkZWwgc2Vydmlkb3IgVGhpbmdzYm9hcmQiLHBvcnQ6IlB1ZXJ0byBkZWwgc2VydmljaW8gTVFUVCBlbiBlbCBzZXJ2aWRvciBUaGluZ3Nib2FyZCIsdG9rZW46IkFjY2VzcyB0b2tlbiBwYXJhIGVsIGdhdGV3YXkiLCJjbGllbnQtaWQiOiJJRCBkZSBjbGllbnRlIE1RVFQgcGFyYSBlbCBnYXRld2F5Iix1c2VybmFtZToiVXN1YXJpbyBNUVRUIHBhcmEgZWwgZ2F0ZXdheSIscGFzc3dvcmQ6IkNvbnRyYXNlw7FhIE1RVFQgcGFyYSBlbCBnYXRld2F5IiwiY2EtY2VydCI6IlJ1dGEgYWwgZmljaGVybyBkZWwgY2VydGlmaWNhZG8gQ0EiLCJkYXRlLWZvcm0iOiJGb3JtYXRvIGRlIGZlY2hhIGVuIGxvcyBtZW5zYWplcyBkZSByZWdpc3RybyIsImRhdGEtZm9sZGVyIjoiUnV0YSBhIGxhIGNhcnBldGEgcXVlIGNvbnRlbmRyw6EgbG9zIGRhdG9zIChSZWxhdGl2YSBvIGFic29sdXRhKSIsImxvZy1mb3JtYXQiOiJGb3JtYXRvIGRlIG1lbnNhamVzIGVuIHJlZ2lzdHJvIiwicmVtb3RlLWxvZyI6IkhhYmlsaXRhIGVsIHJlZ2lzdHJvIHJlbW90byB5IGxhIHBvc3RlcmlvciBsZWN0dXJhIGRlc2RlIGVsIGdhdGV3YXkiLCJiYWNrdXAtY291bnQiOiJTaSBlbCBjb250YWplIGRlIGNvcGlhcyBkZSBzZWd1cmlkYWQgZXMgbWF5b3IgcXVlIDAsIGN1YW5kbyBzZSByZWFsaWNlIHVuYSByZW5vdmFjacOzbiwgbm8gc2UgY29uc2VydmFuIG3DoXMgcXVlIGxvcyBhcmNoaXZvcyBkZSByZWN1ZW50byBkZSBjb3BpYXMgZGUgc2VndXJpZGFkLCBsb3MgbcOhcyBhbnTDrWd1b3Mgc2UgZWxpbWluYXLDoW4iLHN0b3JhZ2U6IlByb3ZlZSBsYSBjb25maWd1cmFjacOzbiBwYXJhIGVsIGdyYWJhZG8gZGUgZGF0b3MgZW50cmFudGVzIGFudGVzIGRlIHF1ZSBzZSBlbnbDrWVuIGEgbGEgcGxhdGFmb3JtYSIsIm1heC1maWxlLWNvdW50IjoiTsO6bWVybyBtw6F4aW1vIGRlIGZpY2hlcm9zIHF1ZSBzZSBjcmVhcsOhbiIsIm1heC1yZWFkLWNvdW50IjoiTsO6bWVvIG3DoXhpbW8gZGUgbWVuc2FqZXMgYSBvYnRlbmVyIGRlc2RlIGVsIGRpc2NvIHkgZW52aWFkb3MgYSBsYSBwbGF0YWZvcm1hIiwibWF4LXJlY29yZHMiOiJOw7ptZXJvIG3DoXhpbW8gZGUgcmVnaXN0cm9zIHF1ZSBzZSBndWFyZGFyw6FuIGVuIHVuIHNvbG8gZmljaGVybyIsInJlYWQtcmVjb3JkLWNvdW50IjoiTsO6bWVybyBkZSBtZW5zYWdlcyBhIG9idGVuZXIgZGVzZGUgZWwgYWxtYWNlbmFtaWVudG8geSBlbnZpYWRvcyBhIGxhIHBsYXRhZm9ybWEiLCJtYXgtcmVjb3Jkcy1jb3VudCI6Ik7Dum1lcm8gbcOheGltbyBkZSBkYXRvcyBlbiBhbG1hY2VuYW1pZW50byBhbnRlcyBkZSBlbnZpYXIgYSBsYSBwbGF0YWZvcm1hIiwidHRsLWNoZWNrLWhvdXIiOiJDb24gcXXDqSBmcmVjdWVuY2lhIGVsIGdhdGV3YXkgY29tcHJvYmFyw6Egc2kgbG9zIGRhdG9zIGVzdMOhbiBvYnNvbGV0b3MiLCJ0dGwtbWVzc2FnZXMtZGF5IjoiTsO6bWVybyBtw6F4aW1vIGRlIGTDrWFzIHBhcmEgbGEgcmV0ZW5jacOzbiBkZSBkYXRvcyBlbiBlbCBhbG1hY8OpbiIsY29tbWFuZHM6IkNvbWFuZG9zIHBhcmEgcmVjb2dlciBlc3RhZMOtc3RpY2FzIGFkaWNpb25hbGVzIixhdHRyaWJ1dGU6IkNsYXZlIGRlIHRlbGVtZXRyw61hIHBhcmEgZXN0YWTDrXN0aWNhcyIsdGltZW91dDoiVGltZW91dCBwYXJhIGxhIGVqZWN1Y2nDs24gZGUgY29tYW5kb3MiLGNvbW1hbmQ6IkVsIHJlc3VsdGFkbyBkZSBsYSBlamVjdWNpw7NuIGRlbCBjb21hbmRvLCBzZSB1c2Fyw6EgY29tbyB2YWxvciBwYXJhIGxhIHRlbGVtZXRyw61hIiwiY2hlY2stZGV2aWNlLWFjdGl2aXR5IjoiSGFiaWxpdGEgbGEgbW9uaXRvcml6YWNpw7NuIGRlIGNhZGEgdW5vIGRlIGxvcyBkaXNwb3NpdGl2b3MgY29uZWN0YWRvcyIsImluYWN0aXZpdHktdGltZW91dCI6IlRpZW1wbyB0cmFzIHF1ZSBlbCBnYXRld2F5IGRlc2NvbmVjdGFyw6EgZWwgZGlzcG9zaXRpdm8iLCJpbmFjdGl2aXR5LXBlcmlvZCI6IlBlcmlvZG8gZGUgbW9uaXRvcml6YWNpw7NuIGRlIGFjdGl2aWRhZCBlbiBlbCBkaXNwb3NpdGl2byIsIm1pbmltYWwtcGFjay1kZWxheSI6IlRpZW1wbyBkZSBlc3BlcmEgZW50cmUgZW52w61vIGRlIHBhcXVldGVzIGRlIG1lbnNhamVzIChVbiB2YWxvciBtdXkgYmFqbywgcmVzdWx0YXLDoSBlbiB1biBhdW1lbnRvIGRlIHVzbyBkZSBsYSBDUFUgZW4gZWwgZ2F0ZXdheSkiLHFvczoiUXVhbGl0eSBvZiBTZXJ2aWNlIGVuIGxvcyBtZW5zYWplcyBNUVRUICgwIC0gYXQgbW9zdCBvbmNlLCAxIC0gYXQgbGVhc3Qgb25jZSkiLCJzZXJ2ZXItcG9ydCI6IlB1ZXJ0byBkZSByZWQgZW4gZWwgY3VhbCBlbCBzZXJ2aWRvciBHUlBDIGVzY3VjaGFyw6EgY29uZXhpb25lcyBlbnRyYW50ZXMuIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQiOiJUaWVtcG8gbcOheGltbywgZWwgY3VhbCBlbCBzZXJ2aWRvciBlc3BlcmFyYSB1biBwaW5nIGtlZXBhbGl2ZSBhbnRlcyBkZSBjb25zaWRlcmFyIGxhIGNvbmV4acOzbiB0ZXJtaW5hZGEuIiwiZ3JwYy1rZWVwLWFsaXZlIjoiRHVyYWNpw7NuIGVudHJlIGRvcyBwaW5ncyBrZWVwYWxpdmUgY3VhbmRvIG5vIGhheWEgbGxhbWFkYSBSUEMgYWN0aXZhLiIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncyI6Ik3DrW5pbW8gdGllbXBvIHF1ZSBlbCBzZXJ2aWRvciBkZWJlIGVzcGVyYXIgZW50cmUgZW52w61vcyBkZSBtZW5zYWplcyBkZSBwaW5nIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoiTsO6bWVybyBtw6F4aW1vIGRlIHBpbmdzIGtlZXBhbGl2ZSBxdWUgZWwgc2Vydmlkb3IgcHVlZGUgZW52aWFyIHNpbiByZWNpYmlyIG5pbmfDum4gZGF0byBhbnRlcyBkZSBjb25zaWRlcmFyIGxhIGNvbmV4acOzbiB0ZXJtaW5hZGEuIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEiOiJNw61uaW1vIHRpZW1wbyBxdWUgZWwgc2Vydmlkb3IgZGViZSBlc3BlcmFyIGVudHJlIGVudsOtb3MgZGUgcGluZyBrZWVwYWxpdmUgY3VhbmRvIG5vIGhheWEgbmluZ8O6biBkYXRvIGVuIGVudsOtbyBvIHJlY2VwY2nDs24uIiwicGVybWl0LXdpdGhvdXQtY2FsbHMiOiJQZXJtaXRpciBhbCBzZXJ2aWRvciBtYW50ZW5lciBsYSBjb25leGnDs24gR1JQQyBhYmllcnRhLCBjdWFuZG8gbm8gaGF5YSBsbGFtYWRhcyBSUEMgYWN0aXZhcy4ifX0sSG89eyJhZGQtZW50cnkiOiLshKTsoJUg7LaU6rCAIiwiY29ubmVjdG9yLWFkZCI6IuyDiOuhnOyatCDsl7DqsrDsnpAg7LaU6rCAIiwiY29ubmVjdG9yLWVuYWJsZWQiOiJFbmFibGUgY29ubmVjdG9yIiwiY29ubmVjdG9yLW5hbWUiOiJDb25uZWN0b3IgbmFtZSIsImNvbm5lY3Rvci1uYW1lLXJlcXVpcmVkIjoiQ29ubmVjdG9yIG5hbWUgaXMgcmVxdWlyZWQuIiwiY29ubmVjdG9yLXR5cGUiOiJDb25uZWN0b3IgdHlwZSIsImNvbm5lY3Rvci10eXBlLXJlcXVpcmVkIjoiQ29ubmVjdG9yIHR5cGUgaXMgcmVxdWlyZWQuIixjb25uZWN0b3JzOiJDb25uZWN0b3JzIGNvbmZpZ3VyYXRpb24iLCJjcmVhdGUtbmV3LWdhdGV3YXkiOiJDcmVhdGUgYSBuZXcgZ2F0ZXdheSIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiQXJlIHlvdSBzdXJlIHlvdSB3YW50IGNyZWF0ZSBhIG5ldyBnYXRld2F5IHdpdGggbmFtZTogJ3t7Z2F0ZXdheU5hbWV9fSc/IixkZWxldGU6IkRlbGV0ZSBjb25maWd1cmF0aW9uIiwiZG93bmxvYWQtdGlwIjoiRG93bmxvYWQgY29uZmlndXJhdGlvbiBmaWxlIixnYXRld2F5OiJHYXRld2F5IiwiZ2F0ZXdheS1leGlzdHMiOiJEZXZpY2Ugd2l0aCBzYW1lIG5hbWUgaXMgYWxyZWFkeSBleGlzdHMuIiwiZ2F0ZXdheS1uYW1lIjoiR2F0ZXdheSBuYW1lIiwiZ2F0ZXdheS1uYW1lLXJlcXVpcmVkIjoiR2F0ZXdheSBuYW1lIGlzIHJlcXVpcmVkLiIsImdhdGV3YXktc2F2ZWQiOiJHYXRld2F5IGNvbmZpZ3VyYXRpb24gc3VjY2Vzc2Z1bGx5IHNhdmVkLiIsImpzb24tcGFyc2UiOiJOb3QgdmFsaWQgSlNPTi4iLCJqc29uLXJlcXVpcmVkIjoiRmllbGQgY2Fubm90IGJlIGVtcHR5LiIsIm5vLWNvbm5lY3RvcnMiOiJObyBjb25uZWN0b3JzIiwibm8tZGF0YSI6Ik5vIGNvbmZpZ3VyYXRpb25zIiwibm8tZ2F0ZXdheS1mb3VuZCI6Ik5vIGdhdGV3YXkgZm91bmQuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5vdCBmb3VuZC4iLCJwYXRoLWxvZ3MiOiJQYXRoIHRvIGxvZyBmaWxlcyIsInBhdGgtbG9ncy1yZXF1aXJlZCI6IlBhdGggaXMgcmVxdWlyZWQuIixyZW1vdGU6IlJlbW90ZSBjb25maWd1cmF0aW9uIiwicmVtb3RlLWxvZ2dpbmctbGV2ZWwiOiJMb2dnaW5nIGxldmVsIiwicmVtb3ZlLWVudHJ5IjoiUmVtb3ZlIGNvbmZpZ3VyYXRpb24iLCJzYXZlLXRpcCI6IlNhdmUgY29uZmlndXJhdGlvbiBmaWxlIiwic2VjdXJpdHktdHlwZSI6IlNlY3VyaXR5IHR5cGUiLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJBY2Nlc3MgVG9rZW4iLHRsczoiVExTIn0sc3RvcmFnZToiU3RvcmFnZSIsInN0b3JhZ2UtbWF4LWZpbGUtcmVjb3JkcyI6Ik1heGltdW0gcmVjb3JkcyBpbiBmaWxlIiwic3RvcmFnZS1tYXgtZmlsZXMiOiJNYXhpbXVtIG51bWJlciBvZiBmaWxlcyIsInN0b3JhZ2UtbWF4LWZpbGVzLW1pbiI6Ik1pbmltdW0gbnVtYmVyIGlzIDEuIiwic3RvcmFnZS1tYXgtZmlsZXMtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiJOdW1iZXIgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik1heGltdW0gcmVjb3JkcyBpbiBzdG9yYWdlIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1taW4iOiJNaW5pbXVtIG51bWJlciBvZiByZWNvcmRzIGlzIDEuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkIjoiTWF4aW11bSByZWNvcmRzIGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtcGFjay1zaXplIjoiTWF4aW11bSBldmVudCBwYWNrIHNpemUiLCJzdG9yYWdlLXBhY2stc2l6ZS1taW4iOiJNaW5pbXVtIG51bWJlciBpcyAxLiIsInN0b3JhZ2UtcGFjay1zaXplLXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoiTWF4aW11bSBldmVudCBwYWNrIHNpemUgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1wYXRoIjoiU3RvcmFnZSBwYXRoIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoiU3RvcmFnZSBwYXRoIGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtdHlwZSI6IlN0b3JhZ2UgdHlwZSIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoiRmlsZSBzdG9yYWdlIiwibWVtb3J5LXN0b3JhZ2UiOiJNZW1vcnkgc3RvcmFnZSJ9LHRoaW5nc2JvYXJkOiJUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QiOiJUaGluZ3NCb2FyZCBob3N0IiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6Ikhvc3QgaXMgcmVxdWlyZWQuIiwidGhpbmdzYm9hcmQtcG9ydCI6IlRoaW5nc0JvYXJkIHBvcnQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6Ik1heGltdW0gcG9ydCBudW1iZXIgaXMgNjU1MzUuIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiJNaW5pbXVtIHBvcnQgbnVtYmVyIGlzIDEuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiUG9ydCBpcyBub3QgdmFsaWQuIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6IlBvcnQgaXMgcmVxdWlyZWQuIix0aWR5OiJUaWR5IiwidGlkeS10aXAiOiJUaWR5IGNvbmZpZyBKU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoiQ29ubmVjdG9yIHt7dHlwZU5hbWV9fSBjb25maWd1cmF0aW9uIiwidGxzLXBhdGgtY2EtY2VydGlmaWNhdGUiOiJQYXRoIHRvIENBIGNlcnRpZmljYXRlIG9uIGdhdGV3YXkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiJQYXRoIHRvIGNsaWVudCBjZXJ0aWZpY2F0ZSBvbiBnYXRld2F5IiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiJQYXRoIHRvIHByaXZhdGUga2V5IG9uIGdhdGV3YXkiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlRvZ2dsZSBmdWxsc2NyZWVuIiwidHJhbnNmb3JtZXItanNvbi1jb25maWciOiJDb25maWd1cmF0aW9uIEpTT04qIiwidXBkYXRlLWNvbmZpZyI6IkFkZC91cGRhdGUgY29uZmlndXJhdGlvbiBKU09OIn0sem89eyJhZGQtZW50cnkiOiJBZGQgY29uZmlndXJhdGlvbiIsYWR2YW5jZWQ6IkFkdmFuY2VkIiwiY2hlY2tpbmctZGV2aWNlLWFjdGl2aXR5IjoiQ2hlY2tpbmcgZGV2aWNlIGFjdGl2aXR5Iixjb21tYW5kOiJEb2NrZXIgY29tbWFuZHMiLCJjb21tYW5kLWNvcGllZC1tZXNzYWdlIjoiRG9ja2VyIGNvbW1hbmQgaGFzIGJlZW4gY29waWVkIHRvIGNsaXBib2FyZCIsY29uZmlndXJhdGlvbjoiQ29uZmlndXJhdGlvbiIsImNvbm5lY3Rvci1hZGQiOiJBZGQgbmV3IGNvbm5lY3RvciIsImNvbm5lY3Rvci1lbmFibGVkIjoiRW5hYmxlIGNvbm5lY3RvciIsImNvbm5lY3Rvci1uYW1lIjoiQ29ubmVjdG9yIG5hbWUiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6IkNvbm5lY3RvciBuYW1lIGlzIHJlcXVpcmVkLiIsImNvbm5lY3Rvci10eXBlIjoiQ29ubmVjdG9yIHR5cGUiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IkNvbm5lY3RvciB0eXBlIGlzIHJlcXVpcmVkLiIsY29ubmVjdG9yczoiQ29ubmVjdG9ycyIsImNvbm5lY3RvcnMtY29uZmlnIjoiQ29ubmVjdG9ycyBjb25maWd1cmF0aW9uIiwiY29ubmVjdG9ycy10YWJsZS1lbmFibGVkIjoiRW5hYmxlZCIsImNvbm5lY3RvcnMtdGFibGUtbmFtZSI6Ik5hbWUiLCJjb25uZWN0b3JzLXRhYmxlLXR5cGUiOiJUeXBlIiwiY29ubmVjdG9ycy10YWJsZS1zdGF0dXMiOiJTdGF0dXMiLCJjb25uZWN0b3JzLXRhYmxlLWFjdGlvbnMiOiJBY3Rpb25zIiwiY29ubmVjdG9ycy10YWJsZS1rZXkiOiJLZXkiLCJjb25uZWN0b3JzLXRhYmxlLWNsYXNzIjoiQ2xhc3MiLCJycGMtY29tbWFuZC1zZW5kIjoiU2VuZCIsInJwYy1jb21tYW5kLXJlc3VsdCI6IlJlc3VsdCIsInJwYy1jb21tYW5kLWVkaXQtcGFyYW1zIjoiRWRpdCBwYXJhbWV0ZXJzIiwiZ2F0ZXdheS1jb25maWd1cmF0aW9uIjoiR2VuZXJhbCBDb25maWd1cmF0aW9uIiwiZG9ja2VyLWxhYmVsIjoiSW4gb3JkZXIgdG8gcnVuIFRoaW5nc0JvYXJkIElvVCBnYXRld2F5IGluIGRvY2tlciB3aXRoIGNyZWRlbnRpYWxzIGZvciB0aGlzIGRldmljZSB5b3UgY2FuIHVzZSB0aGUgZm9sbG93aW5nIGNvbW1hbmRzLiIsImNyZWF0ZS1uZXctZ2F0ZXdheSI6IkNyZWF0ZSBhIG5ldyBnYXRld2F5IiwiY3JlYXRlLW5ldy1nYXRld2F5LXRleHQiOiJBcmUgeW91IHN1cmUgeW91IHdhbnQgY3JlYXRlIGEgbmV3IGdhdGV3YXkgd2l0aCBuYW1lOiAne3tnYXRld2F5TmFtZX19Jz8iLCJjcmVhdGVkLXRpbWUiOiJDcmVhdGVkIHRpbWUiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaGVhZGVyIjoiQ29uZmlndXJhdGlvbnMgd2lsbCBiZSBkZWxldGVkIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWJvZHkiOiJUdXJuaW5nIG9mZiBSZW1vdGUgQ29uZmlndXJhdGlvbiBpcyBwb3NzaWJsZSBvbmx5IGlmIHRoZXJlIGlzIHBoeXNpY2FsIGFjY2VzcyB0byB0aGUgR2F0ZXdheS4gQWxsIHByZXZpb3VzIGNvbmZpZ3VyYXRpb25zIHdpbGwgYmUgZGVsZXRlZC48YnI+PGJyPiBcblRvIHR1cm4gb2ZmIGNvbmZpZ3VyYXRpb24sIGVudGVyIGdhdGV3YXkgbmFtZSBiZWxvdyIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1pbnB1dCI6IkdhdGV3YXkgbmFtZSIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1pbnB1dC1yZXF1aXJlZCI6IkdhdGV3YXkgbmFtZSBpcyBtYW5kYXRvcnkiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctY29uZmlybSI6IlR1cm4gT2ZmIixkZWxldGU6IkRlbGV0ZSBjb25maWd1cmF0aW9uIiwiZG93bmxvYWQtdGlwIjoiRG93bmxvYWQgY29uZmlndXJhdGlvbiBmaWxlIiwiZHJvcC1maWxlIjoiRHJvcCBmaWxlIGhlcmUgb3IiLGdhdGV3YXk6IkdhdGV3YXkiLCJnYXRld2F5LWV4aXN0cyI6IkRldmljZSB3aXRoIHNhbWUgbmFtZSBpcyBhbHJlYWR5IGV4aXN0cy4iLCJnYXRld2F5LW5hbWUiOiJHYXRld2F5IG5hbWUiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJHYXRld2F5IG5hbWUgaXMgcmVxdWlyZWQuIiwiZ2F0ZXdheS1zYXZlZCI6IkdhdGV3YXkgY29uZmlndXJhdGlvbiBzdWNjZXNzZnVsbHkgc2F2ZWQuIixncnBjOiJHUlBDIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQiOiJLZWVwIGFsaXZlIHRpbWVvdXQgKGluIG1zKSIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LXJlcXVpcmVkIjoiS2VlcCBhbGl2ZSB0aW1lb3V0IGlzIHJlcXVpcmVkIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtbWluIjoiS2VlcCBhbGl2ZSB0aW1lb3V0IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dC1wYXR0ZXJuIjoiS2VlcCBhbGl2ZSB0aW1lb3V0IGlzIG5vdCB2YWxpZCIsImdycGMta2VlcC1hbGl2ZSI6IktlZXAgYWxpdmUgKGluIG1zKSIsImdycGMta2VlcC1hbGl2ZS1yZXF1aXJlZCI6IktlZXAgYWxpdmUgaXMgcmVxdWlyZWQiLCJncnBjLWtlZXAtYWxpdmUtbWluIjoiS2VlcCBhbGl2ZSBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1rZWVwLWFsaXZlLXBhdHRlcm4iOiJLZWVwIGFsaXZlIGlzIG5vdCB2YWxpZCIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncyI6Ik1pbiB0aW1lIGJldHdlZW4gcGluZ3MgKGluIG1zKSIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1yZXF1aXJlZCI6Ik1pbiB0aW1lIGJldHdlZW4gcGluZ3MgaXMgcmVxdWlyZWQiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtbWluIjoiTWluIHRpbWUgYmV0d2VlbiBwaW5ncyBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLXBhdHRlcm4iOiJNaW4gdGltZSBiZXR3ZWVuIHBpbmdzIGlzIG5vdCB2YWxpZCIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhIjoiTWluIHBpbmcgaW50ZXJ2YWwgd2l0aG91dCBkYXRhIChpbiBtcykiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6Ik1pbiBwaW5nIGludGVydmFsIHdpdGhvdXQgZGF0YSBpcyByZXF1aXJlZCIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLW1pbiI6Ik1pbiBwaW5nIGludGVydmFsIHdpdGhvdXQgZGF0YSBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcGF0dGVybiI6Ik1pbiBwaW5nIGludGVydmFsIHdpdGhvdXQgZGF0YSBpcyBub3QgdmFsaWQiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEiOiJNYXggcGluZ3Mgd2l0aG91dCBkYXRhIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXJlcXVpcmVkIjoiTWF4IHBpbmdzIHdpdGhvdXQgZGF0YSBpcyByZXF1aXJlZCIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YS1taW4iOiJNYXggcGluZ3Mgd2l0aG91dCBkYXRhIGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtcGF0dGVybiI6Ik1heCBwaW5ncyB3aXRob3V0IGRhdGEgaXMgbm90IHZhbGlkIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcyI6IkluYWN0aXZpdHkgY2hlY2sgcGVyaW9kIChpbiBzZWMpIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1yZXF1aXJlZCI6IkluYWN0aXZpdHkgY2hlY2sgcGVyaW9kIGlzIHJlcXVpcmVkIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1taW4iOiJJbmFjdGl2aXR5IGNoZWNrIHBlcmlvZCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1wYXR0ZXJuIjoiSW5hY3Rpdml0eSBjaGVjayBwZXJpb2QgaXMgbm90IHZhbGlkIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMiOiJJbmFjdGl2aXR5IHRpbWVvdXQgKGluIHNlYykiLCJpbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1yZXF1aXJlZCI6IkluYWN0aXZpdHkgdGltZW91dCBpcyByZXF1aXJlZCIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLW1pbiI6IkluYWN0aXZpdHkgdGltZW91dCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcGF0dGVybiI6IkluYWN0aXZpdHkgdGltZW91dCBpcyBub3QgdmFsaWQiLCJqc29uLXBhcnNlIjoiTm90IHZhbGlkIEpTT04uIiwianNvbi1yZXF1aXJlZCI6IkZpZWxkIGNhbm5vdCBiZSBlbXB0eS4iLGxvZ3M6e2xvZ3M6IkxvZ3MiLGRheXM6ImRheXMiLGhvdXJzOiJob3VycyIsbWludXRlczoibWludXRlcyIsc2Vjb25kczoic2Vjb25kcyIsImRhdGUtZm9ybWF0IjoiRGF0ZSBmb3JtYXQiLCJkYXRlLWZvcm1hdC1yZXF1aXJlZCI6IkRhdGUgZm9ybWF0IHJlcXVpcmVkIiwibG9nLWZvcm1hdCI6IkxvZyBmb3JtYXQiLCJsb2ctdHlwZSI6IkxvZyB0eXBlIiwibG9nLWZvcm1hdC1yZXF1aXJlZCI6IkxvZyBmb3JtYXQgcmVxdWlyZWQiLHJlbW90ZToiUmVtb3RlIGxvZ2dpbmciLCJyZW1vdGUtbG9ncyI6IlJlbW90ZSBsb2dzIixsb2NhbDoiTG9jYWwgbG9nZ2luZyIsbGV2ZWw6IkxvZyBsZXZlbCIsImZpbGUtcGF0aCI6IkZpbGUgcGF0aCIsImZpbGUtcGF0aC1yZXF1aXJlZCI6IkZpbGUgcGF0aCByZXF1aXJlZCIsInNhdmluZy1wZXJpb2QiOiJMb2cgc2F2aW5nIHBlcmlvZCIsInNhdmluZy1wZXJpb2QtbWluIjoiTG9nIHNhdmluZyBwZXJpb2QgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsInNhdmluZy1wZXJpb2QtcmVxdWlyZWQiOiJMb2cgc2F2aW5nIHBlcmlvZCByZXF1aXJlZCIsImJhY2t1cC1jb3VudCI6IkJhY2t1cCBjb3VudCIsImJhY2t1cC1jb3VudC1taW4iOiJCYWNrdXAgY291bnQgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImJhY2t1cC1jb3VudC1yZXF1aXJlZCI6IkJhY2t1cCBjb3VudCByZXF1aXJlZCJ9LCJtaW4tcGFjay1zZW5kLWRlbGF5IjoiTWluIHBhY2sgc2VuZCBkZWxheSAoaW4gbXMpIiwibWluLXBhY2stc2VuZC1kZWxheS1yZXF1aXJlZCI6Ik1pbiBwYWNrIHNlbmQgZGVsYXkgaXMgcmVxdWlyZWQiLCJtaW4tcGFjay1zZW5kLWRlbGF5LW1pbiI6Ik1pbiBwYWNrIHNlbmQgZGVsYXkgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMCIsIm5vLWNvbm5lY3RvcnMiOiJObyBjb25uZWN0b3JzIiwibm8tZGF0YSI6Ik5vIGNvbmZpZ3VyYXRpb25zIiwibm8tZ2F0ZXdheS1mb3VuZCI6Ik5vIGdhdGV3YXkgZm91bmQuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5vdCBmb3VuZC4iLCJwYXRoLWxvZ3MiOiJQYXRoIHRvIGxvZyBmaWxlcyIsInBhdGgtbG9ncy1yZXF1aXJlZCI6IlBhdGggaXMgcmVxdWlyZWQuIiwicGVybWl0LXdpdGhvdXQtY2FsbHMiOiJLZWVwIGFsaXZlIHBlcm1pdCB3aXRob3V0IGNhbGxzIixyZW1vdGU6IlJlbW90ZSBjb25maWd1cmF0aW9uIiwicmVtb3RlLWxvZ2dpbmctbGV2ZWwiOiJMb2dnaW5nIGxldmVsIiwicmVtb3ZlLWVudHJ5IjoiUmVtb3ZlIGNvbmZpZ3VyYXRpb24iLCJyZW1vdGUtc2hlbGwiOiJSZW1vdGUgc2hlbGwiLCJyZW1vdGUtY29uZmlndXJhdGlvbiI6IlJlbW90ZSBDb25maWd1cmF0aW9uIixvdGhlcjoiT3RoZXIiLCJzYXZlLXRpcCI6IlNhdmUgY29uZmlndXJhdGlvbiBmaWxlIiwic2VjdXJpdHktdHlwZSI6IlNlY3VyaXR5IHR5cGUiLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJBY2Nlc3MgVG9rZW4iLCJ1c2VybmFtZS1wYXNzd29yZCI6IlVzZXJuYW1lIGFuZCBQYXNzd29yZCIsdGxzOiJUTFMiLCJ0bHMtYWNjZXNzLXRva2VuIjoiVExTICsgQWNjZXNzIFRva2VuIiwidGxzLXByaXZhdGUta2V5IjoiVExTICsgUHJpdmF0ZSBLZXkifSwic2VydmVyLXBvcnQiOiJTZXJ2ZXIgcG9ydCIsc3RhdGlzdGljczp7c3RhdGlzdGljOiJTdGF0aXN0aWMiLHN0YXRpc3RpY3M6IlN0YXRpc3RpY3MiLCJzdGF0aXN0aWMtY29tbWFuZHMtZW1wdHkiOiJObyBzdGF0aXN0aWNzIGF2YWlsYWJsZSIsY29tbWFuZHM6IkNvbW1hbmRzIiwic2VuZC1wZXJpb2QiOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgKGluIHNlYykiLCJzZW5kLXBlcmlvZC1yZXF1aXJlZCI6IlN0YXRpc3RpYyBzZW5kIHBlcmlvZCBpcyByZXF1aXJlZCIsInNlbmQtcGVyaW9kLW1pbiI6IlN0YXRpc3RpYyBzZW5kIHBlcmlvZCBjYW4gbm90IGJlIGxlc3MgdGhlbiA2MCIsInNlbmQtcGVyaW9kLXBhdHRlcm4iOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgaXMgbm90IHZhbGlkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uIjoiQ2hlY2sgY29ubmVjdG9ycyBjb25maWd1cmF0aW9uIChpbiBzZWMpIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXJlcXVpcmVkIjoiQ2hlY2sgY29ubmVjdG9ycyBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLW1pbiI6IkNoZWNrIGNvbm5lY3RvcnMgY29uZmlndXJhdGlvbiBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXBhdHRlcm4iOiJDaGVjayBjb25uZWN0b3JzIGNvbmZpZ3VyYXRpb24gaXMgbm90IHZhbGlkIixhZGQ6IkFkZCBjb21tYW5kIix0aW1lb3V0OiJUaW1lb3V0IiwidGltZW91dC1tcyI6IlRpbWVvdXQgKGluIG1zKSIsInRpbWVvdXQtcmVxdWlyZWQiOiJUaW1lb3V0IGlzIHJlcXVpcmVkIiwidGltZW91dC1taW4iOiJUaW1lb3V0IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJ0aW1lb3V0LXBhdHRlcm4iOiJUaW1lb3V0IGlzIG5vdCB2YWxpZCIsImF0dHJpYnV0ZS1uYW1lIjoiQXR0cmlidXRlIG5hbWUiLCJhdHRyaWJ1dGUtbmFtZS1yZXF1aXJlZCI6IkF0dHJpYnV0ZSBuYW1lIGlzIHJlcXVpcmVkIixjb21tYW5kOiJDb21tYW5kIiwiY29tbWFuZC1yZXF1aXJlZCI6IkNvbW1hbmQgaXMgcmVxdWlyZWQiLHJlbW92ZToiUmVtb3ZlIGNvbW1hbmQifSxzdG9yYWdlOiJTdG9yYWdlIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoiTWF4aW11bSByZWNvcmRzIGluIGZpbGUiLCJzdG9yYWdlLW1heC1maWxlcyI6Ik1heGltdW0gbnVtYmVyIG9mIGZpbGVzIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoiTWluaW11bSBudW1iZXIgaXMgMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJzdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZCI6Ik51bWJlciBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLW1heC1yZWNvcmRzIjoiTWF4aW11bSByZWNvcmRzIGluIHN0b3JhZ2UiLCJzdG9yYWdlLW1heC1yZWNvcmRzLW1pbiI6Ik1pbmltdW0gbnVtYmVyIG9mIHJlY29yZHMgaXMgMS4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJNYXhpbXVtIHJlY29yZHMgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudCI6IlJlYWQgcmVjb3JkIGNvdW50IGluIHN0b3JhZ2UiLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LW1pbiI6Ik1pbmltdW0gbnVtYmVyIG9mIHJlY29yZHMgaXMgMS4iLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcmVxdWlyZWQiOiJSZWFkIHJlY29yZCBjb3VudCBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudCI6Ik1heCByZWFkIHJlY29yZCBjb3VudCBpbiBzdG9yYWdlIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtbWluIjoiTWluaW11bSBudW1iZXIgb2YgcmVjb3JkcyBpcyAxLiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkIjoiTWF4IFJlYWQgcmVjb3JkIGNvdW50IGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtZGF0YS1mb2xkZXItcGF0aCI6IkRhdGEgZm9sZGVyIHBhdGgiLCJzdG9yYWdlLWRhdGEtZm9sZGVyLXBhdGgtcmVxdWlyZWQiOiJEYXRhIGZvbGRlciBwYXRoIGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtcGFjay1zaXplIjoiTWF4aW11bSBldmVudCBwYWNrIHNpemUiLCJzdG9yYWdlLXBhY2stc2l6ZS1taW4iOiJNaW5pbXVtIG51bWJlciBpcyAxLiIsInN0b3JhZ2UtcGFjay1zaXplLXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoiTWF4aW11bSBldmVudCBwYWNrIHNpemUgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1wYXRoIjoiU3RvcmFnZSBwYXRoIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoiU3RvcmFnZSBwYXRoIGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtdHlwZSI6IlN0b3JhZ2UgdHlwZSIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoiRmlsZSBzdG9yYWdlIiwibWVtb3J5LXN0b3JhZ2UiOiJNZW1vcnkgc3RvcmFnZSIsc3FsaXRlOiJTUUxJVEUifSx0aGluZ3Nib2FyZDoiVGhpbmdzQm9hcmQiLGdlbmVyYWw6IkdlbmVyYWwiLCJ0aGluZ3Nib2FyZC1ob3N0IjoiVGhpbmdzQm9hcmQgaG9zdCIsInRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWQiOiJIb3N0IGlzIHJlcXVpcmVkLiIsInRoaW5nc2JvYXJkLXBvcnQiOiJUaGluZ3NCb2FyZCBwb3J0IiwidGhpbmdzYm9hcmQtcG9ydC1tYXgiOiJNYXhpbXVtIHBvcnQgbnVtYmVyIGlzIDY1NTM1LiIsInRoaW5nc2JvYXJkLXBvcnQtbWluIjoiTWluaW11bSBwb3J0IG51bWJlciBpcyAxLiIsInRoaW5nc2JvYXJkLXBvcnQtcGF0dGVybiI6IlBvcnQgaXMgbm90IHZhbGlkLiIsInRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWQiOiJQb3J0IGlzIHJlcXVpcmVkLiIsdGlkeToiVGlkeSIsInRpZHktdGlwIjoiVGlkeSBjb25maWcgSlNPTiIsInRpdGxlLWNvbm5lY3RvcnMtanNvbiI6IkNvbm5lY3RvciB7e3R5cGVOYW1lfX0gY29uZmlndXJhdGlvbiIsInRscy1wYXRoLWNhLWNlcnRpZmljYXRlIjoiUGF0aCB0byBDQSBjZXJ0aWZpY2F0ZSBvbiBnYXRld2F5IiwidGxzLXBhdGgtY2xpZW50LWNlcnRpZmljYXRlIjoiUGF0aCB0byBjbGllbnQgY2VydGlmaWNhdGUgb24gZ2F0ZXdheSIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3VycyI6Ik1lc3NhZ2VzIFRUTCBjaGVjayBpbiBob3VycyIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1yZXF1aXJlZCI6Ik1lc3NhZ2VzIFRUTCBjaGVjayBpbiBob3VycyBpcyByZXF1aXJlZC4iLCJtZXNzYWdlcy10dGwtY2hlY2staW4taG91cnMtbWluIjoiTWluIG51bWJlciBpcyAxLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cyI6Ik1lc3NhZ2VzIFRUTCBpbiBkYXlzIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcmVxdWlyZWQiOiJNZXNzYWdlcyBUVEwgaW4gZGF5cyBpcyByZXF1aXJlZC4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1taW4iOiJNaW4gbnVtYmVyIGlzIDEuIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwibXF0dC1xb3MiOiJRb1MiLCJtcXR0LXFvcy1yZXF1aXJlZCI6IlFvUyBpcyByZXF1aXJlZCIsIm1xdHQtcW9zLXJhbmdlIjoiUW9TIHZhbHVlcyByYW5nZSBpcyBmcm9tIDAgdG8gMSIsInRscy1wYXRoLXByaXZhdGUta2V5IjoiUGF0aCB0byBwcml2YXRlIGtleSBvbiBnYXRld2F5IiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiJUb2dnbGUgZnVsbHNjcmVlbiIsInRyYW5zZm9ybWVyLWpzb24tY29uZmlnIjoiQ29uZmlndXJhdGlvbiBKU09OKiIsInVwZGF0ZS1jb25maWciOiJBZGQvdXBkYXRlIGNvbmZpZ3VyYXRpb24gSlNPTiIsaGludHM6eyJyZW1vdGUtY29uZmlndXJhdGlvbiI6IkVuYWJsZXMgcmVtb3RlIGNvbmZpZ3VyYXRpb24gYW5kIG1hbmFnZW1lbnQgb2YgdGhlIGdhdGV3YXkiLCJyZW1vdGUtc2hlbGwiOiJFbmFibGVzIHJlbW90ZSBjb250cm9sIG9mIHRoZSBvcGVyYXRpbmcgc3lzdGVtIHdpdGggdGhlIGdhdGV3YXkgZnJvbSB0aGUgUmVtb3RlIFNoZWxsIHdpZGdldCIsaG9zdDoiSG9zdG5hbWUgb3IgSVAgYWRkcmVzcyBvZiBUaGluZ3NCb2FyZCBzZXJ2ZXIiLHBvcnQ6IlBvcnQgb2YgTVFUVCBzZXJ2aWNlIG9uIFRoaW5nc0JvYXJkIHNlcnZlciIsdG9rZW46IkFjY2VzcyB0b2tlbiBmb3IgdGhlIGdhdGV3YXkgZnJvbSBUaGluZ3NCb2FyZCBzZXJ2ZXIiLCJjbGllbnQtaWQiOiJNUVRUIGNsaWVudCBpZCBmb3IgdGhlIGdhdGV3YXkgZm9ybSBUaGluZ3NCb2FyZCBzZXJ2ZXIiLHVzZXJuYW1lOiJNUVRUIHVzZXJuYW1lIGZvciB0aGUgZ2F0ZXdheSBmb3JtIFRoaW5nc0JvYXJkIHNlcnZlciIscGFzc3dvcmQ6Ik1RVFQgcGFzc3dvcmQgZm9yIHRoZSBnYXRld2F5IGZvcm0gVGhpbmdzQm9hcmQgc2VydmVyIiwiY2EtY2VydCI6IlBhdGggdG8gQ0EgY2VydGlmaWNhdGUgZmlsZSIsImRhdGUtZm9ybSI6IkRhdGUgZm9ybWF0IGluIGxvZyBtZXNzYWdlIiwiZGF0YS1mb2xkZXIiOiJQYXRoIHRvIGZvbGRlciwgdGhhdCB3aWxsIGNvbnRhaW5zIGRhdGEgKFJlbGF0aXZlIG9yIEFic29sdXRlKSIsImxvZy1mb3JtYXQiOiJMb2cgbWVzc2FnZSBmb3JtYXQiLCJyZW1vdGUtbG9nIjoiRW5hYmxlcyByZW1vdGUgbG9nZ2luZyBhbmQgbG9ncyByZWFkaW5nIGZyb20gdGhlIGdhdGV3YXkiLCJiYWNrdXAtY291bnQiOiJJZiBiYWNrdXAgY291bnQgaXMgPiAwLCB3aGVuIGEgcm9sbG92ZXIgaXMgZG9uZSwgbm8gbW9yZSB0aGFuIGJhY2t1cCBjb3VudCBmaWxlcyBhcmUga2VwdCAtIHRoZSBvbGRlc3Qgb25lcyBhcmUgZGVsZXRlZCIsc3RvcmFnZToiUHJvdmlkZXMgY29uZmlndXJhdGlvbiBmb3Igc2F2aW5nIGluY29taW5nIGRhdGEgYmVmb3JlIGl0IGlzIHNlbnQgdG8gdGhlIHBsYXRmb3JtIiwibWF4LWZpbGUtY291bnQiOiJNYXhpbXVtIGNvdW50IG9mIGZpbGUgdGhhdCB3aWxsIGJlIGNyZWF0ZWQiLCJtYXgtcmVhZC1jb3VudCI6IkNvdW50IG9mIG1lc3NhZ2VzIHRvIGdldCBmcm9tIHN0b3JhZ2UgYW5kIHNlbmQgdG8gVGhpbmdzQm9hcmQiLCJtYXgtcmVjb3JkcyI6Ik1heGltdW0gY291bnQgb2YgcmVjb3JkcyB0aGF0IHdpbGwgYmUgc3RvcmVkIGluIG9uZSBmaWxlIiwicmVhZC1yZWNvcmQtY291bnQiOiJDb3VudCBvZiBtZXNzYWdlcyB0byBnZXQgZnJvbSBzdG9yYWdlIGFuZCBzZW5kIHRvIFRoaW5nc0JvYXJkIiwibWF4LXJlY29yZHMtY291bnQiOiJNYXhpbXVtIGNvdW50IG9mIGRhdGEgaW4gc3RvcmFnZSBiZWZvcmUgc2VuZCB0byBUaGluZ3NCb2FyZCIsInR0bC1jaGVjay1ob3VyIjoiSG93IG9mdGVuIHdpbGwgR2F0ZXdheSBjaGVjayBkYXRhIGZvciBvYnNvbGVzY2VuY2UiLCJ0dGwtbWVzc2FnZXMtZGF5IjoiTWF4aW11bSBkYXlzIHRoYXQgc3RvcmFnZSB3aWxsIHNhdmUgZGF0YSIsY29tbWFuZHM6IkNvbW1hbmRzIGZvciBjb2xsZWN0aW5nIGFkZGl0aW9uYWwgc3RhdGlzdGljIixhdHRyaWJ1dGU6IlN0YXRpc3RpYyB0ZWxlbWV0cnkga2V5Iix0aW1lb3V0OiJUaW1lb3V0IGZvciBjb21tYW5kIGV4ZWN1dGluZyIsY29tbWFuZDoiVGhlIHJlc3VsdCBvZiB0aGUgY29tbWFuZCBleGVjdXRpb24sIHdpbGwgYmUgdXNlZCBhcyB0aGUgdmFsdWUgZm9yIHRlbGVtZXRyeSIsImNoZWNrLWRldmljZS1hY3Rpdml0eSI6IkVuYWJsZXMgbW9uaXRvciB0aGUgYWN0aXZpdHkgb2YgZWFjaCBjb25uZWN0ZWQgZGV2aWNlIiwiaW5hY3Rpdml0eS10aW1lb3V0IjoiVGltZSBhZnRlciB3aG9zZSB0aGUgZ2F0ZXdheSB3aWxsIGRpc2Nvbm5lY3QgZGV2aWNlIiwiaW5hY3Rpdml0eS1wZXJpb2QiOiJQZXJpb2RpY2l0eSBvZiBkZXZpY2UgYWN0aXZpdHkgY2hlY2siLCJtaW5pbWFsLXBhY2stZGVsYXkiOiJEZWxheSBiZXR3ZWVuIHNlbmRpbmcgcGFja3Mgb2YgbWVzc2FnZXMgKERlY3JlYXNpbmcgdGhpcyBzZXR0aW5nIHJlc3VsdHMgaW4gaW5jcmVhc2VkIENQVSB1c2FnZSkiLHFvczoiUXVhbGl0eSBvZiBTZXJ2aWNlIGluIE1RVFQgbWVzc2FnaW5nICgwIC0gYXQgbW9zdCBvbmNlLCAxIC0gYXQgbGVhc3Qgb25jZSkiLCJzZXJ2ZXItcG9ydCI6Ik5ldHdvcmsgcG9ydCBvbiB3aGljaCBHUlBDIHNlcnZlciB3aWxsIGxpc3RlbiBmb3IgaW5jb21pbmcgY29ubmVjdGlvbnMuIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQiOiJNYXhpbXVtIHRpbWUgdGhlIHNlcnZlciBzaG91bGQgd2FpdCBmb3IgYSBrZWVwYWxpdmUgcGluZyByZXNwb25zZSBiZWZvcmUgY29uc2lkZXJpbmcgdGhlIGNvbm5lY3Rpb24gZGVhZC4iLCJncnBjLWtlZXAtYWxpdmUiOiJEdXJhdGlvbiBiZXR3ZWVuIHR3byBzdWNjZXNzaXZlIGtlZXBhbGl2ZSBwaW5nIG1lc3NhZ2VzIHdoZW4gdGhlcmUgaXMgbm8gYWN0aXZlIFJQQyBjYWxsLiIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncyI6Ik1pbmltdW0gYW1vdW50IG9mIHRpbWUgdGhlIHNlcnZlciBzaG91bGQgd2FpdCBiZXR3ZWVuIHNlbmRpbmcga2VlcGFsaXZlIHBpbmcgbWVzc2FnZXMiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEiOiJNYXhpbXVtIG51bWJlciBvZiBrZWVwYWxpdmUgcGluZyBtZXNzYWdlcyB0aGF0IHRoZSBzZXJ2ZXIgY2FuIHNlbmQgd2l0aG91dCByZWNlaXZpbmcgYW55IGRhdGEgYmVmb3JlIGl0IGNvbnNpZGVycyB0aGUgY29ubmVjdGlvbiBkZWFkLiIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhIjoiTWluaW11bSBhbW91bnQgb2YgdGltZSB0aGUgc2VydmVyIHNob3VsZCB3YWl0IGJldHdlZW4gc2VuZGluZyBrZWVwYWxpdmUgcGluZyBtZXNzYWdlcyB3aGVuIHRoZXJlIGlzIG5vIGRhdGEgYmVpbmcgc2VudCBvciByZWNlaXZlZC4iLCJwZXJtaXQtd2l0aG91dC1jYWxscyI6IkFsbG93IHNlcnZlciB0byBrZWVwIHRoZSBHUlBDIGNvbm5lY3Rpb24gYWxpdmUgZXZlbiB3aGVuIHRoZXJlIGFyZSBubyBhY3RpdmUgUlBDIGNhbGxzLiJ9fSxXbz17ImFkZC1lbnRyeSI6IkNvbmZpZ3VyYXRpZSB0b2V2b2VnZW4iLCJjb25uZWN0b3ItYWRkIjoiTmlldXdlIGNvbm5lY3RvciB0b2V2b2VnZW4iLCJjb25uZWN0b3ItZW5hYmxlZCI6IkNvbm5lY3RvciBpbnNjaGFrZWxlbiIsImNvbm5lY3Rvci1uYW1lIjoiTmFhbSB2YW4gZGUgY29ubmVjdG9yIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiJEZSBuYWFtIHZhbiBkZSBjb25uZWN0b3IgaXMgdmVyZWlzdC4iLCJjb25uZWN0b3ItdHlwZSI6IlR5cGUgYWFuc2x1aXRpbmciLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IkhldCB0eXBlIGNvbm5lY3RvciBpcyB2ZXJlaXN0LiIsY29ubmVjdG9yczoiQ29uZmlndXJhdGllIHZhbiBjb25uZWN0b3JlbiIsImNyZWF0ZS1uZXctZ2F0ZXdheSI6IkVlbiBuaWV1d2UgZ2F0ZXdheSBtYWtlbiIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiV2VldCB1IHpla2VyIGRhdCB1IGVlbiBuaWV1d2UgZ2F0ZXdheSB3aWx0IG1ha2VuIG1ldCBkZSBuYWFtOiAne3tnYXRld2F5TmFtZX19Jz8iLGRlbGV0ZToiQ29uZmlndXJhdGllIHZlcndpamRlcmVuIiwiZG93bmxvYWQtdGlwIjoiQ29uZmlndXJhdGllYmVzdGFuZCBkb3dubG9hZGVuIixnYXRld2F5OiJHYXRld2F5IiwiZ2F0ZXdheS1leGlzdHMiOiJEZXZpY2UgbWV0IGRlemVsZmRlIG5hYW0gYmVzdGFhdCBhbC4iLCJnYXRld2F5LW5hbWUiOiJOYWFtIHZhbiBkZSBnYXRld2F5IiwiZ2F0ZXdheS1uYW1lLXJlcXVpcmVkIjoiRGUgbmFhbSB2YW4gZGUgZ2F0ZXdheSBpcyB2ZXJlaXN0LiIsImdhdGV3YXktc2F2ZWQiOiJHYXRld2F5Y29uZmlndXJhdGllIHN1Y2Nlc3ZvbCBvcGdlc2xhZ2VuLiIsImpzb24tcGFyc2UiOiJPbmdlbGRpZ2UgSlNPTi4iLCJqc29uLXJlcXVpcmVkIjoiSGV0IHZlbGQgbWFnIG5pZXQgbGVlZyB6aWpuLiIsIm5vLWNvbm5lY3RvcnMiOiJHZWVuIGNvbm5lY3RvcmVuIiwibm8tZGF0YSI6IkdlZW4gY29uZmlndXJhdGllcyIsIm5vLWdhdGV3YXktZm91bmQiOiJHZWVuIGdhdGV3YXkgZ2V2b25kZW4uIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6Iid7e2l0ZW19fScgbmlldCBnZXZvbmRlbi4iLCJwYXRoLWxvZ3MiOiJQYWQgbmFhciBsb2diZXN0YW5kZW4iLCJwYXRoLWxvZ3MtcmVxdWlyZWQiOiJQYWQgaXMgdmVyZWlzdC4iLHJlbW90ZToiQ29uZmlndXJhdGllIG9wIGFmc3RhbmQiLCJyZW1vdGUtbG9nZ2luZy1sZXZlbCI6IlJlZ2lzdHJhdGllIG5pdmVhdSIsInJlbW92ZS1lbnRyeSI6IkNvbmZpZ3VyYXRpZSB2ZXJ3aWpkZXJlbiIsInNhdmUtdGlwIjoiQ29uZmlndXJhdGllYmVzdGFuZCBvcHNsYWFuIiwic2VjdXJpdHktdHlwZSI6IlNvb3J0IGJldmVpbGlnaW5nIiwic2VjdXJpdHktdHlwZXMiOnsiYWNjZXNzLXRva2VuIjoiVG9lZ2FuZyB0b3QgdG9rZW4iLHRsczoiVExTIChUTFMpIn0sc3RvcmFnZToiT3BzbGFnIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoiTWF4aW11bSBhYW50YWwgcmVjb3JkcyBpbiBiZXN0YW5kIiwic3RvcmFnZS1tYXgtZmlsZXMiOiJNYXhpbWFhbCBhYW50YWwgYmVzdGFuZGVuIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoiTWluaW11bSBhYW50YWwgaXMgMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiTnVtbWVyIGlzIG5pZXQgZ2VsZGlnLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXJlcXVpcmVkIjoiTnVtbWVyIGlzIHZlcmVpc3QuIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik1heGltdW0gYWFudGFsIHJlY29yZHMgaW4gb3BzbGFnIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1taW4iOiJNaW5pbXVtIGFhbnRhbCByZWNvcmRzIGlzIDEuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoiTnVtbWVyIGlzIG5pZXQgZ2VsZGlnLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJNYXhpbWFsZSByZWNvcmRzIHppam4gdmVyZWlzdC4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6Ik1heGltYWxlIHBha2tldGdyb290dGUgdm9vciBldmVudHMiLCJzdG9yYWdlLXBhY2stc2l6ZS1taW4iOiJNaW5pbXVtIGFhbnRhbCBpcyAxLiIsInN0b3JhZ2UtcGFjay1zaXplLXBhdHRlcm4iOiJOdW1tZXIgaXMgbmlldCBnZWxkaWcuIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiJEZSBtYXhpbWFsZSBwYWtrZXRncm9vdHRlIHZhbiBoZXQgZXZlbnQgaXMgdmVyZWlzdC4iLCJzdG9yYWdlLXBhdGgiOiJPcHNsYWcgcGFkIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoiT3BzbGFncGFkIGlzIHZlcmVpc3QuIiwic3RvcmFnZS10eXBlIjoiVHlwZSBvcHNsYWciLCJzdG9yYWdlLXR5cGVzIjp7ImZpbGUtc3RvcmFnZSI6Ik9wc2xhZyB2YW4gYmVzdGFuZGVuIiwibWVtb3J5LXN0b3JhZ2UiOiJHZWhldWdlbiBvcHNsYWcifSx0aGluZ3Nib2FyZDoiRGluZ2VuIEJvcmQiLCJ0aGluZ3Nib2FyZC1ob3N0IjoiVGhpbmdzQm9hcmQtZ2FzdGhlZXIiLCJ0aGluZ3Nib2FyZC1ob3N0LXJlcXVpcmVkIjoiU2VydmVyIGhvc3QgaXMgdmVyZWlzdC4iLCJ0aGluZ3Nib2FyZC1wb3J0IjoiVGhpbmdzQm9hcmQtcG9vcnQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6IkhldCBtYXhpbWFsZSBwb29ydG51bW1lciBpcyA2NTUzNS4iLCJ0aGluZ3Nib2FyZC1wb3J0LW1pbiI6IkhldCBtaW5pbWFsZSBwb29ydG51bW1lciBpcyAxLiIsInRoaW5nc2JvYXJkLXBvcnQtcGF0dGVybiI6IlBvb3J0IGlzIG5pZXQgZ2VsZGlnLiIsInRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWQiOiJQb29ydCBpcyB2ZXJlaXN0LiIsdGlkeToiT3JkZWxpamsiLCJ0aWR5LXRpcCI6Ik9wZ2VydWltZGUgY29uZmlndXJhdGllIEpTT04iLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiJDb25maWd1cmF0aWUgdmFuIGNvbm5lY3RvciB7e3R5cGVOYW1lfX0iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IlBhZCBuYWFyIENBLWNlcnRpZmljYWF0IG9wIGdhdGV3YXkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiJQYWQgbmFhciBjbGllbnRjZXJ0aWZpY2FhdCBvcCBnYXRld2F5IiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiJQYWQgbmFhciBwcml2w6lzbGV1dGVsIG9wIGdhdGV3YXkiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlZvbGxlZGlnIHNjaGVybSBpbi0gZW4gdWl0c2NoYWtlbGVuIiwidHJhbnNmb3JtZXItanNvbi1jb25maWciOiJDb25maWd1cmF0aWUgSlNPTioiLCJ1cGRhdGUtY29uZmlnIjoiQ29uZmlndXJhdGllIEpTT04gdG9ldm9lZ2VuL2JpandlcmtlbiJ9LGpvPXsiYWRkLWVudHJ5IjoiRG9kYWoga29uZmlndXJhY2rEmSIsYWR2YW5jZWQ6IkFkdmFuY2VkIiwiY2hlY2tpbmctZGV2aWNlLWFjdGl2aXR5IjoiQ2hlY2tpbmcgZGV2aWNlIGFjdGl2aXR5Iixjb21tYW5kOiJEb2NrZXIgY29tbWFuZHMiLCJjb21tYW5kLWNvcGllZC1tZXNzYWdlIjoiRG9ja2VyIGNvbW1hbmQgaGFzIGJlZW4gY29waWVkIHRvIGNsaXBib2FyZCIsY29uZmlndXJhdGlvbjoiQ29uZmlndXJhdGlvbiIsImNvbm5lY3Rvci1hZGQiOiJEb2RhaiBub3dlIHrFgsSFY3plIiwiY29ubmVjdG9yLWVuYWJsZWQiOiJXxYLEhWN6IHrFgsSFY3plIiwiY29ubmVjdG9yLW5hbWUiOiJOYXp3YSB6xYLEhWN6YSIsImNvbm5lY3Rvci1uYW1lLXJlcXVpcmVkIjoiTmF6d2EgesWCxIVjemEgamVzdCB3eW1hZ2FuYS4iLCJjb25uZWN0b3ItdHlwZSI6IlR5cCB6xYLEhWN6YSIsImNvbm5lY3Rvci10eXBlLXJlcXVpcmVkIjoiVHlwIHrFgsSFY3phIGplc3Qgd3ltYWdhbnkuIixjb25uZWN0b3JzOiJLb25maWd1cmFjamEgesWCxIVjenkiLCJjb25uZWN0b3JzLWNvbmZpZyI6IkNvbm5lY3RvcnMgY29uZmlndXJhdGlvbiIsImNvbm5lY3RvcnMtdGFibGUtZW5hYmxlZCI6IkVuYWJsZWQiLCJjb25uZWN0b3JzLXRhYmxlLW5hbWUiOiJOYW1lIiwiY29ubmVjdG9ycy10YWJsZS10eXBlIjoiVHlwZSIsImNvbm5lY3RvcnMtdGFibGUtc3RhdHVzIjoiU3RhdHVzIiwiY29ubmVjdG9ycy10YWJsZS1hY3Rpb25zIjoiQWN0aW9ucyIsImNvbm5lY3RvcnMtdGFibGUta2V5IjoiS2V5IiwiY29ubmVjdG9ycy10YWJsZS1jbGFzcyI6IkNsYXNzIiwicnBjLWNvbW1hbmQtc2VuZCI6IlNlbmQiLCJycGMtY29tbWFuZC1yZXN1bHQiOiJSZXN1bHQiLCJycGMtY29tbWFuZC1lZGl0LXBhcmFtcyI6IkVkaXQgcGFyYW1ldGVycyIsImdhdGV3YXktY29uZmlndXJhdGlvbiI6IkdlbmVyYWwgQ29uZmlndXJhdGlvbiIsImRvY2tlci1sYWJlbCI6IkluIG9yZGVyIHRvIHJ1biBUaGluZ3NCb2FyZCBJb1QgZ2F0ZXdheSBpbiBkb2NrZXIgd2l0aCBjcmVkZW50aWFscyBmb3IgdGhpcyBkZXZpY2UgeW91IGNhbiB1c2UgdGhlIGZvbGxvd2luZyBjb21tYW5kcy4iLCJjcmVhdGUtbmV3LWdhdGV3YXkiOiJVdHfDs3J6IG5vd3kgZ2F0ZXdheSIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiQ3p5IG5hIHBld25vIGNoY2VzeiB1dHdvcnp5xIcgbm93eSBnYXRld2F5IG8gbmF6d2llOiAne3tnYXRld2F5TmFtZX19Jz8iLCJjcmVhdGVkLXRpbWUiOiJDcmVhdGVkIHRpbWUiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaGVhZGVyIjoiQ29uZmlndXJhdGlvbnMgd2lsbCBiZSBkZWxldGVkIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWJvZHkiOiJUdXJuaW5nIG9mZiBSZW1vdGUgQ29uZmlndXJhdGlvbiBpcyBwb3NzaWJsZSBvbmx5IGlmIHRoZXJlIGlzIHBoeXNpY2FsIGFjY2VzcyB0byB0aGUgR2F0ZXdheS4gQWxsIHByZXZpb3VzIGNvbmZpZ3VyYXRpb25zIHdpbGwgYmUgZGVsZXRlZC48YnI+PGJyPiBcblRvIHR1cm4gb2ZmIGNvbmZpZ3VyYXRpb24sIGVudGVyIGdhdGV3YXkgbmFtZSBiZWxvdyIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1pbnB1dCI6IkdhdGV3YXkgbmFtZSIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1pbnB1dC1yZXF1aXJlZCI6IkdhdGV3YXkgbmFtZSBpcyBtYW5kYXRvcnkiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctY29uZmlybSI6IlR1cm4gT2ZmIixkZWxldGU6IlVzdcWEIGtvbmZpZ3VyYWNqxJkiLCJkb3dubG9hZC10aXAiOiJQb2JpZXJ6IHBsaWsga29uZmlndXJhY3lqbnkiLCJkcm9wLWZpbGUiOiJEcm9wIGZpbGUgaGVyZSBvciIsZ2F0ZXdheToiV2VqxZtjaWUiLCJnYXRld2F5LWV4aXN0cyI6IlVyesSFZHplbmllIG8gdGVqIHNhbWVqIG5hendpZSBqdcW8IGlzdG5pZWplLiIsImdhdGV3YXktbmFtZSI6Ik5hendhIEdhdGV3YXkiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJOYXp3YSBHYXRld2F5J2EgamVzdCB3eW1hZ2FuYS4iLCJnYXRld2F5LXNhdmVkIjoiS29uZmlndXJhY2phIEdhdGV3ZXknYSB6b3N0YcWCYSBwb215xZtsbmllIHphcGlzYW5hLiIsZ3JwYzoiR1JQQyIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0IjoiS2VlcCBhbGl2ZSB0aW1lb3V0IChpbiBtcykiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dC1yZXF1aXJlZCI6IktlZXAgYWxpdmUgdGltZW91dCBpcyByZXF1aXJlZCIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LW1pbiI6IktlZXAgYWxpdmUgdGltZW91dCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcGF0dGVybiI6IktlZXAgYWxpdmUgdGltZW91dCBpcyBub3QgdmFsaWQiLCJncnBjLWtlZXAtYWxpdmUiOiJLZWVwIGFsaXZlIChpbiBtcykiLCJncnBjLWtlZXAtYWxpdmUtcmVxdWlyZWQiOiJLZWVwIGFsaXZlIGlzIHJlcXVpcmVkIiwiZ3JwYy1rZWVwLWFsaXZlLW1pbiI6IktlZXAgYWxpdmUgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMta2VlcC1hbGl2ZS1wYXR0ZXJuIjoiS2VlcCBhbGl2ZSBpcyBub3QgdmFsaWQiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MiOiJNaW4gdGltZSBiZXR3ZWVuIHBpbmdzIChpbiBtcykiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcmVxdWlyZWQiOiJNaW4gdGltZSBiZXR3ZWVuIHBpbmdzIGlzIHJlcXVpcmVkIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLW1pbiI6Ik1pbiB0aW1lIGJldHdlZW4gcGluZ3MgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1wYXR0ZXJuIjoiTWluIHRpbWUgYmV0d2VlbiBwaW5ncyBpcyBub3QgdmFsaWQiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YSI6Ik1pbiBwaW5nIGludGVydmFsIHdpdGhvdXQgZGF0YSAoaW4gbXMpIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcmVxdWlyZWQiOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgaXMgcmVxdWlyZWQiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1taW4iOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgaXMgbm90IHZhbGlkIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoiTWF4IHBpbmdzIHdpdGhvdXQgZGF0YSIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6Ik1heCBwaW5ncyB3aXRob3V0IGRhdGEgaXMgcmVxdWlyZWQiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtbWluIjoiTWF4IHBpbmdzIHdpdGhvdXQgZGF0YSBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiJNYXggcGluZ3Mgd2l0aG91dCBkYXRhIGlzIG5vdCB2YWxpZCIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMiOiJJbmFjdGl2aXR5IGNoZWNrIHBlcmlvZCAoaW4gc2VjKSIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcmVxdWlyZWQiOiJJbmFjdGl2aXR5IGNoZWNrIHBlcmlvZCBpcyByZXF1aXJlZCIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtbWluIjoiSW5hY3Rpdml0eSBjaGVjayBwZXJpb2QgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcGF0dGVybiI6IkluYWN0aXZpdHkgY2hlY2sgcGVyaW9kIGlzIG5vdCB2YWxpZCIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzIjoiSW5hY3Rpdml0eSB0aW1lb3V0IChpbiBzZWMpIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcmVxdWlyZWQiOiJJbmFjdGl2aXR5IHRpbWVvdXQgaXMgcmVxdWlyZWQiLCJpbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1taW4iOiJJbmFjdGl2aXR5IHRpbWVvdXQgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLXBhdHRlcm4iOiJJbmFjdGl2aXR5IHRpbWVvdXQgaXMgbm90IHZhbGlkIiwianNvbi1wYXJzZSI6Ik5pZXByYXdpZMWCb3d5IEpTT04uIiwianNvbi1yZXF1aXJlZCI6IlBvbGUgbmllIG1vxbxlIGJ5xIcgcHVzdGUuIixsb2dzOntsb2dzOiJMb2dzIixkYXlzOiJkYXlzIixob3VyczoiaG91cnMiLG1pbnV0ZXM6Im1pbnV0ZXMiLHNlY29uZHM6InNlY29uZHMiLCJkYXRlLWZvcm1hdCI6IkRhdGUgZm9ybWF0IiwiZGF0ZS1mb3JtYXQtcmVxdWlyZWQiOiJEYXRlIGZvcm1hdCByZXF1aXJlZCIsImxvZy1mb3JtYXQiOiJMb2cgZm9ybWF0IiwibG9nLXR5cGUiOiJMb2cgdHlwZSIsImxvZy1mb3JtYXQtcmVxdWlyZWQiOiJMb2cgZm9ybWF0IHJlcXVpcmVkIixyZW1vdGU6IlJlbW90ZSBsb2dnaW5nIiwicmVtb3RlLWxvZ3MiOiJSZW1vdGUgbG9ncyIsbG9jYWw6IkxvY2FsIGxvZ2dpbmciLGxldmVsOiJMb2cgbGV2ZWwiLCJmaWxlLXBhdGgiOiJGaWxlIHBhdGgiLCJmaWxlLXBhdGgtcmVxdWlyZWQiOiJGaWxlIHBhdGggcmVxdWlyZWQiLCJzYXZpbmctcGVyaW9kIjoiTG9nIHNhdmluZyBwZXJpb2QiLCJzYXZpbmctcGVyaW9kLW1pbiI6IkxvZyBzYXZpbmcgcGVyaW9kIGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJzYXZpbmctcGVyaW9kLXJlcXVpcmVkIjoiTG9nIHNhdmluZyBwZXJpb2QgcmVxdWlyZWQiLCJiYWNrdXAtY291bnQiOiJCYWNrdXAgY291bnQiLCJiYWNrdXAtY291bnQtbWluIjoiQmFja3VwIGNvdW50IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJiYWNrdXAtY291bnQtcmVxdWlyZWQiOiJCYWNrdXAgY291bnQgcmVxdWlyZWQifSwibWluLXBhY2stc2VuZC1kZWxheSI6Ik1pbiBwYWNrIHNlbmQgZGVsYXkgKGluIG1zKSIsIm1pbi1wYWNrLXNlbmQtZGVsYXktcmVxdWlyZWQiOiJNaW4gcGFjayBzZW5kIGRlbGF5IGlzIHJlcXVpcmVkIiwibWluLXBhY2stc2VuZC1kZWxheS1taW4iOiJNaW4gcGFjayBzZW5kIGRlbGF5IGNhbiBub3QgYmUgbGVzcyB0aGVuIDAiLCJuby1jb25uZWN0b3JzIjoiQnJhayB6xYLEhWN6eSIsIm5vLWRhdGEiOiJCcmFrIGtvbmZpZ3VyYWNqaSIsIm5vLWdhdGV3YXktZm91bmQiOiJOaWUgem5hbGV6aW9ubyBnYXRld2F5J2EuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5pZSB6bmFsZXppb25vLiIsInBhdGgtbG9ncyI6IsWaY2llxbxrYSBkbyBwbGlrw7N3IGR6aWVubmlrYSIsInBhdGgtbG9ncy1yZXF1aXJlZCI6IsWaY2llxbxrYSBqZXN0IHd5bWFnYW5hLiIsInBlcm1pdC13aXRob3V0LWNhbGxzIjoiS2VlcCBhbGl2ZSBwZXJtaXQgd2l0aG91dCBjYWxscyIscmVtb3RlOiJaZGFsbmEga29uZmlndXJhY2phIiwicmVtb3RlLWxvZ2dpbmctbGV2ZWwiOiJQb3ppb20gbG9nb3dhbmlhIiwicmVtb3ZlLWVudHJ5IjoiVXN1xYQga29uZmlndXJhY2rEmSIsInJlbW90ZS1zaGVsbCI6IlJlbW90ZSBzaGVsbCIsInJlbW90ZS1jb25maWd1cmF0aW9uIjoiUmVtb3RlIENvbmZpZ3VyYXRpb24iLG90aGVyOiJPdGhlciIsInNhdmUtdGlwIjoiWmFwaXN6IHBsaWsga29uZmlndXJhY3lqbnkiLCJzZWN1cml0eS10eXBlIjoiUm9kemFqIHphYmV6cGllY3plbmlhIiwic2VjdXJpdHktdHlwZXMiOnsiYWNjZXNzLXRva2VuIjoiVG9rZW4gZG9zdMSZcHUiLCJ1c2VybmFtZS1wYXNzd29yZCI6IlVzZXJuYW1lIGFuZCBQYXNzd29yZCIsdGxzOiJUTFMiLCJ0bHMtYWNjZXNzLXRva2VuIjoiVExTICsgQWNjZXNzIFRva2VuIiwidGxzLXByaXZhdGUta2V5IjoiVExTICsgUHJpdmF0ZSBLZXkifSwic2VydmVyLXBvcnQiOiJTZXJ2ZXIgcG9ydCIsc3RhdGlzdGljczp7c3RhdGlzdGljOiJTdGF0aXN0aWMiLHN0YXRpc3RpY3M6IlN0YXRpc3RpY3MiLCJzdGF0aXN0aWMtY29tbWFuZHMtZW1wdHkiOiJObyBzdGF0aXN0aWNzIGF2YWlsYWJsZSIsY29tbWFuZHM6IkNvbW1hbmRzIiwic2VuZC1wZXJpb2QiOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgKGluIHNlYykiLCJzZW5kLXBlcmlvZC1yZXF1aXJlZCI6IlN0YXRpc3RpYyBzZW5kIHBlcmlvZCBpcyByZXF1aXJlZCIsInNlbmQtcGVyaW9kLW1pbiI6IlN0YXRpc3RpYyBzZW5kIHBlcmlvZCBjYW4gbm90IGJlIGxlc3MgdGhlbiA2MCIsInNlbmQtcGVyaW9kLXBhdHRlcm4iOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgaXMgbm90IHZhbGlkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uIjoiQ2hlY2sgY29ubmVjdG9ycyBjb25maWd1cmF0aW9uIChpbiBzZWMpIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXJlcXVpcmVkIjoiQ2hlY2sgY29ubmVjdG9ycyBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLW1pbiI6IkNoZWNrIGNvbm5lY3RvcnMgY29uZmlndXJhdGlvbiBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXBhdHRlcm4iOiJDaGVjayBjb25uZWN0b3JzIGNvbmZpZ3VyYXRpb24gaXMgbm90IHZhbGlkIixhZGQ6IkFkZCBjb21tYW5kIix0aW1lb3V0OiJUaW1lb3V0IiwidGltZW91dC1tcyI6IlRpbWVvdXQgKGluIG1zKSIsInRpbWVvdXQtcmVxdWlyZWQiOiJUaW1lb3V0IGlzIHJlcXVpcmVkIiwidGltZW91dC1taW4iOiJUaW1lb3V0IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJ0aW1lb3V0LXBhdHRlcm4iOiJUaW1lb3V0IGlzIG5vdCB2YWxpZCIsImF0dHJpYnV0ZS1uYW1lIjoiQXR0cmlidXRlIG5hbWUiLCJhdHRyaWJ1dGUtbmFtZS1yZXF1aXJlZCI6IkF0dHJpYnV0ZSBuYW1lIGlzIHJlcXVpcmVkIixjb21tYW5kOiJDb21tYW5kIiwiY29tbWFuZC1yZXF1aXJlZCI6IkNvbW1hbmQgaXMgcmVxdWlyZWQiLHJlbW92ZToiUmVtb3ZlIGNvbW1hbmQifSxzdG9yYWdlOiJTa8WCYWRvd2FuaWUiLCJzdG9yYWdlLW1heC1maWxlLXJlY29yZHMiOiJNYWtzeW1hbG5hIGxpY3piYSByZWtvcmTDs3cgdyBwbGlrdSIsInN0b3JhZ2UtbWF4LWZpbGVzIjoiTWFrc3ltYWxuYSBsaWN6YmEgcGxpa8OzdyIsInN0b3JhZ2UtbWF4LWZpbGVzLW1pbiI6Ik1pbmltYWxuYSBsaWN6YmEgdG8gMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiTnVtZXIgamVzdCBuaWVwcmF3aWTFgm93eS4iLCJzdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZCI6Ik51bWVyIGplc3Qgd3ltYWdhbnkuIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik1ha3N5bWFsbmEgbGljemJhIHJla29yZMOzdyB3IHBhbWnEmWNpIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1taW4iOiJNaW5pbWFsbmEgbGljemJhIHJla29yZMOzdyB0byAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6Ik51bWVyIGplc3QgbmllcHJhd2lkxYJvd3kuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1yZXF1aXJlZCI6Ik1ha3N5bWFsbmEgbGljemJhIHJla29yZMOzdyBqZXN0IHd5bWFnYW5hLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQiOiJSZWFkIHJlY29yZCBjb3VudCBpbiBzdG9yYWdlIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1taW4iOiJNaW5pbXVtIG51bWJlciBvZiByZWNvcmRzIGlzIDEuIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkIjoiUmVhZCByZWNvcmQgY291bnQgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQiOiJNYXggcmVhZCByZWNvcmQgY291bnQgaW4gc3RvcmFnZSIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LW1pbiI6Ik1pbmltdW0gbnVtYmVyIG9mIHJlY29yZHMgaXMgMS4iLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1yZXF1aXJlZCI6Ik1heCBSZWFkIHJlY29yZCBjb3VudCBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLWRhdGEtZm9sZGVyLXBhdGgiOiJEYXRhIGZvbGRlciBwYXRoIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoLXJlcXVpcmVkIjoiRGF0YSBmb2xkZXIgcGF0aCBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6Ik1ha3N5bWFsbnkgcm96bWlhciBwYWtpZXR1IHd5ZGFyemXFhCIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6Ik1pbmltYWxuYSBsaWN6YmEgdG8gMS4iLCJzdG9yYWdlLXBhY2stc2l6ZS1wYXR0ZXJuIjoiTnVtZXIgamVzdCBuaWVwcmF3aWTFgm93eS4iLCJzdG9yYWdlLXBhY2stc2l6ZS1yZXF1aXJlZCI6Ik1ha3N5bWFsbnkgcm96bWlhciBwYWtpZXR1IHd5ZGFyemXFhCBqZXN0IHd5bWFnYW55LiIsInN0b3JhZ2UtcGF0aCI6IsWaY2llxbxrYSBwcnplY2hvd3l3YW5pYSIsInN0b3JhZ2UtcGF0aC1yZXF1aXJlZCI6IsWaY2llxbxrYSBkbyBwcnplY2hvd3l3YW5pYSBqZXN0IHd5bWFnYW5hLiIsInN0b3JhZ2UtdHlwZSI6IlR5cCBza8WCYWRvd2FuaWEiLCJzdG9yYWdlLXR5cGVzIjp7ImZpbGUtc3RvcmFnZSI6Ik5vxZtuaWsgZGFueWNoIiwibWVtb3J5LXN0b3JhZ2UiOiJQcnplY2hvd3l3YW5pZSBwYW1pxJljaSIsc3FsaXRlOiJTUUxJVEUifSx0aGluZ3Nib2FyZDoiVGhpbmdzQm9hcmQiLGdlbmVyYWw6IkdlbmVyYWwiLCJ0aGluZ3Nib2FyZC1ob3N0IjoiR29zcG9kYXJ6IFRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6Ikhvc3QgamVzdCB3eW1hZ2FueS4iLCJ0aGluZ3Nib2FyZC1wb3J0IjoiUG9ydCBUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLXBvcnQtbWF4IjoiTWFrc3ltYWxueSBudW1lciBwb3J0dSB0byA2NTUzNS4iLCJ0aGluZ3Nib2FyZC1wb3J0LW1pbiI6Ik1pbmltYWxueSBudW1lciBwb3J0dSB0byAxLiIsInRoaW5nc2JvYXJkLXBvcnQtcGF0dGVybiI6IlBvcnQgamVzdCBuaWVwcmF3aWTFgm93eS4iLCJ0aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkIjoiUG9ydCBqZXN0IHd5bWFnYW55LiIsdGlkeToiVXBvcnrEhWRrdWoiLCJ0aWR5LXRpcCI6IlVwb3J6xIVka293YW5hIGtvbmZpZ3VyYWNqYSBKU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoiWsWCxIVjemUge3t0eXBlTmFtZX19IGtvbmZpZ3VyYWNqYSIsInRscy1wYXRoLWNhLWNlcnRpZmljYXRlIjoixZpjaWXFvGthIGRvIGNlcnR5ZmlrYXR1IENBIG5hIGdhdGV3YXkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiLFmmNpZcW8a2EgZG8gY2VydHlmaWthdHUga2xpZW50YSBuYSBnYXRld2F5IiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzIjoiTWVzc2FnZXMgVFRMIGNoZWNrIGluIGhvdXJzIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXJlcXVpcmVkIjoiTWVzc2FnZXMgVFRMIGNoZWNrIGluIGhvdXJzIGlzIHJlcXVpcmVkLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1taW4iOiJNaW4gbnVtYmVyIGlzIDEuIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsIm1lc3NhZ2VzLXR0bC1pbi1kYXlzIjoiTWVzc2FnZXMgVFRMIGluIGRheXMiLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1yZXF1aXJlZCI6Ik1lc3NhZ2VzIFRUTCBpbiBkYXlzIGlzIHJlcXVpcmVkLiIsIm1lc3NhZ2VzLXR0bC1pbi1kYXlzLW1pbiI6Ik1pbiBudW1iZXIgaXMgMS4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJtcXR0LXFvcyI6IlFvUyIsIm1xdHQtcW9zLXJlcXVpcmVkIjoiUW9TIGlzIHJlcXVpcmVkIiwibXF0dC1xb3MtcmFuZ2UiOiJRb1MgdmFsdWVzIHJhbmdlIGlzIGZyb20gMCB0byAxIiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiLFmmNpZcW8a2EgZG8ga2x1Y3phIHByeXdhdG5lZ28gbmEgYnJhbWNlIiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiJQcnplxYLEhWN6IHRyeWIgcGXFgm5vZWtyYW5vd3kiLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IktvbmZpZ3VyYWNqYSBKU09OKiIsInVwZGF0ZS1jb25maWciOiJEb2Rhai96YWt0dWFsaXp1aiBrb25maWd1cmFjasSZIEpTT04iLGhpbnRzOnsicmVtb3RlLWNvbmZpZ3VyYXRpb24iOiJFbmFibGVzIHJlbW90ZSBjb25maWd1cmF0aW9uIGFuZCBtYW5hZ2VtZW50IG9mIHRoZSBnYXRld2F5IiwicmVtb3RlLXNoZWxsIjoiRW5hYmxlcyByZW1vdGUgY29udHJvbCBvZiB0aGUgb3BlcmF0aW5nIHN5c3RlbSB3aXRoIHRoZSBnYXRld2F5IGZyb20gdGhlIFJlbW90ZSBTaGVsbCB3aWRnZXQiLGhvc3Q6Ikhvc3RuYW1lIG9yIElQIGFkZHJlc3Mgb2YgVGhpbmdzQm9hcmQgc2VydmVyIixwb3J0OiJQb3J0IG9mIE1RVFQgc2VydmljZSBvbiBUaGluZ3NCb2FyZCBzZXJ2ZXIiLHRva2VuOiJBY2Nlc3MgdG9rZW4gZm9yIHRoZSBnYXRld2F5IGZyb20gVGhpbmdzQm9hcmQgc2VydmVyIiwiY2xpZW50LWlkIjoiTVFUVCBjbGllbnQgaWQgZm9yIHRoZSBnYXRld2F5IGZvcm0gVGhpbmdzQm9hcmQgc2VydmVyIix1c2VybmFtZToiTVFUVCB1c2VybmFtZSBmb3IgdGhlIGdhdGV3YXkgZm9ybSBUaGluZ3NCb2FyZCBzZXJ2ZXIiLHBhc3N3b3JkOiJNUVRUIHBhc3N3b3JkIGZvciB0aGUgZ2F0ZXdheSBmb3JtIFRoaW5nc0JvYXJkIHNlcnZlciIsImNhLWNlcnQiOiJQYXRoIHRvIENBIGNlcnRpZmljYXRlIGZpbGUiLCJkYXRlLWZvcm0iOiJEYXRlIGZvcm1hdCBpbiBsb2cgbWVzc2FnZSIsImRhdGEtZm9sZGVyIjoiUGF0aCB0byBmb2xkZXIsIHRoYXQgd2lsbCBjb250YWlucyBkYXRhIChSZWxhdGl2ZSBvciBBYnNvbHV0ZSkiLCJsb2ctZm9ybWF0IjoiTG9nIG1lc3NhZ2UgZm9ybWF0IiwicmVtb3RlLWxvZyI6IkVuYWJsZXMgcmVtb3RlIGxvZ2dpbmcgYW5kIGxvZ3MgcmVhZGluZyBmcm9tIHRoZSBnYXRld2F5IiwiYmFja3VwLWNvdW50IjoiSWYgYmFja3VwIGNvdW50IGlzID4gMCwgd2hlbiBhIHJvbGxvdmVyIGlzIGRvbmUsIG5vIG1vcmUgdGhhbiBiYWNrdXAgY291bnQgZmlsZXMgYXJlIGtlcHQgLSB0aGUgb2xkZXN0IG9uZXMgYXJlIGRlbGV0ZWQiLHN0b3JhZ2U6IlByb3ZpZGVzIGNvbmZpZ3VyYXRpb24gZm9yIHNhdmluZyBpbmNvbWluZyBkYXRhIGJlZm9yZSBpdCBpcyBzZW50IHRvIHRoZSBwbGF0Zm9ybSIsIm1heC1maWxlLWNvdW50IjoiTWF4aW11bSBjb3VudCBvZiBmaWxlIHRoYXQgd2lsbCBiZSBjcmVhdGVkIiwibWF4LXJlYWQtY291bnQiOiJDb3VudCBvZiBtZXNzYWdlcyB0byBnZXQgZnJvbSBzdG9yYWdlIGFuZCBzZW5kIHRvIFRoaW5nc0JvYXJkIiwibWF4LXJlY29yZHMiOiJNYXhpbXVtIGNvdW50IG9mIHJlY29yZHMgdGhhdCB3aWxsIGJlIHN0b3JlZCBpbiBvbmUgZmlsZSIsInJlYWQtcmVjb3JkLWNvdW50IjoiQ291bnQgb2YgbWVzc2FnZXMgdG8gZ2V0IGZyb20gc3RvcmFnZSBhbmQgc2VuZCB0byBUaGluZ3NCb2FyZCIsIm1heC1yZWNvcmRzLWNvdW50IjoiTWF4aW11bSBjb3VudCBvZiBkYXRhIGluIHN0b3JhZ2UgYmVmb3JlIHNlbmQgdG8gVGhpbmdzQm9hcmQiLCJ0dGwtY2hlY2staG91ciI6IkhvdyBvZnRlbiB3aWxsIEdhdGV3YXkgY2hlY2sgZGF0YSBmb3Igb2Jzb2xlc2NlbmNlIiwidHRsLW1lc3NhZ2VzLWRheSI6Ik1heGltdW0gZGF5cyB0aGF0IHN0b3JhZ2Ugd2lsbCBzYXZlIGRhdGEiLGNvbW1hbmRzOiJDb21tYW5kcyBmb3IgY29sbGVjdGluZyBhZGRpdGlvbmFsIHN0YXRpc3RpYyIsYXR0cmlidXRlOiJTdGF0aXN0aWMgdGVsZW1ldHJ5IGtleSIsdGltZW91dDoiVGltZW91dCBmb3IgY29tbWFuZCBleGVjdXRpbmciLGNvbW1hbmQ6IlRoZSByZXN1bHQgb2YgdGhlIGNvbW1hbmQgZXhlY3V0aW9uLCB3aWxsIGJlIHVzZWQgYXMgdGhlIHZhbHVlIGZvciB0ZWxlbWV0cnkiLCJjaGVjay1kZXZpY2UtYWN0aXZpdHkiOiJFbmFibGVzIG1vbml0b3IgdGhlIGFjdGl2aXR5IG9mIGVhY2ggY29ubmVjdGVkIGRldmljZSIsImluYWN0aXZpdHktdGltZW91dCI6IlRpbWUgYWZ0ZXIgd2hvc2UgdGhlIGdhdGV3YXkgd2lsbCBkaXNjb25uZWN0IGRldmljZSIsImluYWN0aXZpdHktcGVyaW9kIjoiUGVyaW9kaWNpdHkgb2YgZGV2aWNlIGFjdGl2aXR5IGNoZWNrIiwibWluaW1hbC1wYWNrLWRlbGF5IjoiRGVsYXkgYmV0d2VlbiBzZW5kaW5nIHBhY2tzIG9mIG1lc3NhZ2VzIChEZWNyZWFzaW5nIHRoaXMgc2V0dGluZyByZXN1bHRzIGluIGluY3JlYXNlZCBDUFUgdXNhZ2UpIixxb3M6IlF1YWxpdHkgb2YgU2VydmljZSBpbiBNUVRUIG1lc3NhZ2luZyAoMCAtIGF0IG1vc3Qgb25jZSwgMSAtIGF0IGxlYXN0IG9uY2UpIiwic2VydmVyLXBvcnQiOiJOZXR3b3JrIHBvcnQgb24gd2hpY2ggR1JQQyBzZXJ2ZXIgd2lsbCBsaXN0ZW4gZm9yIGluY29taW5nIGNvbm5lY3Rpb25zLiIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0IjoiTWF4aW11bSB0aW1lIHRoZSBzZXJ2ZXIgc2hvdWxkIHdhaXQgZm9yIGEga2VlcGFsaXZlIHBpbmcgcmVzcG9uc2UgYmVmb3JlIGNvbnNpZGVyaW5nIHRoZSBjb25uZWN0aW9uIGRlYWQuIiwiZ3JwYy1rZWVwLWFsaXZlIjoiRHVyYXRpb24gYmV0d2VlbiB0d28gc3VjY2Vzc2l2ZSBrZWVwYWxpdmUgcGluZyBtZXNzYWdlcyB3aGVuIHRoZXJlIGlzIG5vIGFjdGl2ZSBSUEMgY2FsbC4iLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MiOiJNaW5pbXVtIGFtb3VudCBvZiB0aW1lIHRoZSBzZXJ2ZXIgc2hvdWxkIHdhaXQgYmV0d2VlbiBzZW5kaW5nIGtlZXBhbGl2ZSBwaW5nIG1lc3NhZ2VzIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoiTWF4aW11bSBudW1iZXIgb2Yga2VlcGFsaXZlIHBpbmcgbWVzc2FnZXMgdGhhdCB0aGUgc2VydmVyIGNhbiBzZW5kIHdpdGhvdXQgcmVjZWl2aW5nIGFueSBkYXRhIGJlZm9yZSBpdCBjb25zaWRlcnMgdGhlIGNvbm5lY3Rpb24gZGVhZC4iLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YSI6Ik1pbmltdW0gYW1vdW50IG9mIHRpbWUgdGhlIHNlcnZlciBzaG91bGQgd2FpdCBiZXR3ZWVuIHNlbmRpbmcga2VlcGFsaXZlIHBpbmcgbWVzc2FnZXMgd2hlbiB0aGVyZSBpcyBubyBkYXRhIGJlaW5nIHNlbnQgb3IgcmVjZWl2ZWQuIiwicGVybWl0LXdpdGhvdXQtY2FsbHMiOiJBbGxvdyBzZXJ2ZXIgdG8ga2VlcCB0aGUgR1JQQyBjb25uZWN0aW9uIGFsaXZlIGV2ZW4gd2hlbiB0aGVyZSBhcmUgbm8gYWN0aXZlIFJQQyBjYWxscy4ifX0sS289eyJhZGQtZW50cnkiOiJBZGljaW9uYXIgY29uZmlndXJhw6fDo28iLCJjb25uZWN0b3ItYWRkIjoiQWRpY2lvbmFyIG5vdm8gY29uZWN0b3IiLCJjb25uZWN0b3ItZW5hYmxlZCI6IkhhYmlsaXRhciBjb25lY3RvciIsImNvbm5lY3Rvci1uYW1lIjoiTm9tZSBkbyBjb25lY3RvciIsImNvbm5lY3Rvci1uYW1lLXJlcXVpcmVkIjoiTyBub21lIGRvIGNvbmVjdG9yIMOpIG9icmlnYXTDs3Jpby4iLCJjb25uZWN0b3ItdHlwZSI6IlRpcG8gZGUgY29uZWN0b3IiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6Ik8gdGlwbyBkZSBjb25lY3RvciDDqSBvYnJpZ2F0w7NyaW8uIixjb25uZWN0b3JzOiJDb25maWd1cmHDp8OjbyBkZSBjb25lY3RvcmVzIiwiY3JlYXRlLW5ldy1nYXRld2F5IjoiQ3JpYXIgdW0gbm92byBnYXRld2F5IiwiY3JlYXRlLW5ldy1nYXRld2F5LXRleHQiOiJUZW0gY2VydGV6YSBkZSBxdWUgZGVzZWphIGNyaWFyIHVtIG5vdm8gZ2F0ZXdheSBjb20gbyBub21lOiAne3tnYXRld2F5TmFtZX19Jz8iLGRlbGV0ZToiRXhjbHVpciBjb25maWd1cmHDp8OjbyIsImRvd25sb2FkLXRpcCI6IkRvd25sb2FkIGRlIGFycXVpdm8gZGUgY29uZmlndXJhw6fDo28iLGdhdGV3YXk6IkdhdGV3YXkiLCJnYXRld2F5LWV4aXN0cyI6IkrDoSBleGlzdGUgdW0gZGlzcG9zaXRpdm8gY29tIG8gbWVzbW8gbm9tZS4iLCJnYXRld2F5LW5hbWUiOiJOb21lIGRvIGdhdGV3YXkiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJPIG5vbWUgZG8gZ2F0ZXdheSDDqSBvYnJpZ2F0w7NyaW8uIiwiZ2F0ZXdheS1zYXZlZCI6IkEgY29uZmlndXJhw6fDo28gZG8gZ2F0ZXdheSBmb2kgc2FsdmEgY29ycmV0YW1lbnRlLiIsImpzb24tcGFyc2UiOiJKU09OIGludsOhbGlkby4iLCJqc29uLXJlcXVpcmVkIjoiTyBjYW1wbyBuw6NvIHBvZGUgZXN0YXIgZW0gYnJhbmNvLiIsIm5vLWNvbm5lY3RvcnMiOiJTZW0gY29uZWN0b3JlcyIsIm5vLWRhdGEiOiJTZW0gY29uZmlndXJhw6fDtWVzIiwibm8tZ2F0ZXdheS1mb3VuZCI6Ik5lbmh1bSBnYXRld2F5IGVuY29udHJhZG8uIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG7Do28gZW5jb250cmFkby4iLCJwYXRoLWxvZ3MiOiJDYW1pbmhvIHBhcmEgYXJxdWl2b3MgZGUgbG9nIiwicGF0aC1sb2dzLXJlcXVpcmVkIjoiTyBjYW1pbmhvIMOpIG9icmlnYXTDs3JpbyIscmVtb3RlOiJDb25maWd1cmHDp8OjbyByZW1vdGEiLCJyZW1vdGUtbG9nZ2luZy1sZXZlbCI6Ik7DrXZlbCBkZSByZWdpc3RybyBlbSBsb2ciLCJyZW1vdmUtZW50cnkiOiJSZW1vdmVyIGNvbmZpZ3VyYcOnw6NvIiwic2F2ZS10aXAiOiJTYWx2YXIgYXJxdWl2byBkZSBjb25maWd1cmHDp8OjbyIsInNlY3VyaXR5LXR5cGUiOiJUaXBvIGRlIHNlZ3VyYW7Dp2EiLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJUb2tlbiBkZSBBY2Vzc28iLHRsczoiVExTIn0sc3RvcmFnZToiQXJtYXplbmFtZW50byIsInN0b3JhZ2UtbWF4LWZpbGUtcmVjb3JkcyI6Ik7Dum1lcm8gbcOheGltbyBkZSByZWdpc3Ryb3MgZW0gYXJxdWl2byIsInN0b3JhZ2UtbWF4LWZpbGVzIjoiTsO6bWVybyBtw6F4aW1vIGRlIGFycXVpdm9zIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoiTyBuw7ptZXJvIG3DrW5pbW8gw6kgMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiTyBuw7ptZXJvIG7Do28gw6kgdsOhbGlkby4iLCJzdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZCI6Ik8gbsO6bWVybyDDqSBvYnJpZ2F0w7NyaW8uIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik7Dum1lcm8gbcOheGltbyBkZSByZWdpc3Ryb3MgZW0gYXJtYXplbmFtZW50byIsInN0b3JhZ2UtbWF4LXJlY29yZHMtbWluIjoiTyBuw7ptZXJvIG3DrW5pbW8gZGUgcmVnaXN0cm9zIMOpIDEuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoiTyBuw7ptZXJvIG7Do28gw6kgdsOhbGlkby4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkIjoiTyBuw7ptZXJvIG3DoXhpbW8gZGUgcmVnaXN0cm9zIMOpIG9icmlnYXTDs3Jpby4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6IlRhbWFuaG8gbcOheGltbyBkZSBwYWNvdGUgZGUgZXZlbnRvcyIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6Ik8gbsO6bWVybyBtw61uaW1vIMOpIDEuIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6Ik8gbsO6bWVybyBuw6NvIMOpIHbDoWxpZG8uIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiJPIHRhbWFuaG8gbcOheGltbyBkZSBwYWNvdGUgZGUgZXZlbnRvcyDDqSBvYnJpZ2F0w7NyaW8uIiwic3RvcmFnZS1wYXRoIjoiQ2FtaW5obyBkZSBhcm1hemVuYW1lbnRvIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoiTyBjYW1pbmhvIGRlIGFybWF6ZW5hbWVudG8gw6kgb2JyaWdhdMOzcmlvLiIsInN0b3JhZ2UtdHlwZSI6IlRpcG8gZGUgYXJtYXplbmFtZW50byIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoiQXJtYXplbmFtZW50byBkZSBhcnF1aXZvIiwibWVtb3J5LXN0b3JhZ2UiOiJBcm1hemVuYW1lbnRvIGRlIG1lbcOzcmlhIn0sdGhpbmdzYm9hcmQ6IlRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdCI6Ikhvc3QgVGhpbmdzQm9hcmQiLCJ0aGluZ3Nib2FyZC1ob3N0LXJlcXVpcmVkIjoiTyBob3N0IMOpIG9icmlnYXTDs3Jpby4iLCJ0aGluZ3Nib2FyZC1wb3J0IjoiUG9ydGEgVGhpbmdzQm9hcmQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6Ik8gbsO6bWVybyBtw6F4aW1vIGRlIHBvcnRhcyDDqSA2NTUzNS4iLCJ0aGluZ3Nib2FyZC1wb3J0LW1pbiI6Ik8gbsO6bWVybyBtw61uaW1vIGRlIHBvcnRhcyDDqSAxLiIsInRoaW5nc2JvYXJkLXBvcnQtcGF0dGVybiI6IkEgcG9ydGEgbsOjbyDDqSB2w6FsaWRhLiIsInRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWQiOiJBIHBvcnRhIMOpIG9icmlnYXTDs3JpYS4iLHRpZHk6IlRpZHkiLCJ0aWR5LXRpcCI6IkNvbmZpZyBUaWR5IEpTT04iLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiJDb25maWd1cmHDp8OjbyBkbyBjb25lY3RvciB7e3R5cGVOYW1lfX0iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IkNhbWluaG8gcGFyYSBjZXJ0aWZpY2FkbyBkZSBBdXRvcmlkYWRlIGRlIENlcnRpZmljYcOnw6NvIG5vIGdhdGV3YXkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiJDYW1pbmhvIHBhcmEgY2VydGlmaWNhZG8gZGUgY2xpZW50ZSBubyBnYXRld2F5IiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiJDYW1pbmhvIHBhcmEgY2hhdmUgcHJpdmFkYSBubyBnYXRld2F5IiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiJBbHRlcm5hciB0ZWxhIGludGVpcmEiLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IkNvbmZpZ3VyYcOnw6NvIEpTT04qIiwidXBkYXRlLWNvbmZpZyI6IkFkaWNpb25hci9hdHVhbGl6YXIgY29uZmlndXJhw6fDo28gZGUgSlNPTiJ9LCRvPXsiYWRkLWVudHJ5IjoiRG9kYWoga29uZmlndXJhY2lqbyIsImNvbm5lY3Rvci1hZGQiOiJEb2RhaiBub3YgcHJpa2xqdcSNZWsiLCJjb25uZWN0b3ItZW5hYmxlZCI6Ik9tb2dvxI1pIHByaWtsanXEjWVrIiwiY29ubmVjdG9yLW5hbWUiOiJJbWUgcHJpa2xqdcSNa2EiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6IkltZSBwcmlrbGp1xI1rYSBqZSBvYnZlem5vLiIsImNvbm5lY3Rvci10eXBlIjoiVnJzdGEgcHJpa2xqdcSNa2EiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IlphaHRldmEgc2UgdnJzdGEgcHJpa2xqdcSNa2EuIixjb25uZWN0b3JzOiJLb25maWd1cmFjaWphIHByaWtsanXEjWtvdiIsImNyZWF0ZS1uZXctZ2F0ZXdheSI6IlVzdHZhcmkgbm92IHByZWhvZCIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiQWxpIHN0ZSBwcmVwcmnEjWFuaSwgZGEgxb5lbGl0ZSB1c3R2YXJpdGkgbm92IHByZWhvZCB6IGltZW5vbTogJ3t7Z2F0ZXdheU5hbWV9fSc/IixkZWxldGU6Ikl6YnJpxaFpIGtvbmZpZ3VyYWNpam8iLCJkb3dubG9hZC10aXAiOiJQcmVub3Mga29uZmlndXJhY2lqc2tlIGRhdG90ZWtlIixnYXRld2F5OiJQcmVob2QiLCJnYXRld2F5LWV4aXN0cyI6Ik5hcHJhdmEgeiBpc3RpbSBpbWVub20gxb5lIG9ic3RhamEuIiwiZ2F0ZXdheS1uYW1lIjoiSW1lIHByZWhvZGEiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJJbWUgcHJlaG9kYSBqZSBvYnZlem5vLiIsImdhdGV3YXktc2F2ZWQiOiJLb25maWd1cmFjaWphIHByZWhvZGEgamUgdXNwZcWhbm8gc2hyYW5qZW5hLiIsImpzb24tcGFyc2UiOiJOZXZlbGphdmVuIEpTT04uIiwianNvbi1yZXF1aXJlZCI6IlBvbGplIG5lIHNtZSBiaXRpIHByYXpuby4iLCJuby1jb25uZWN0b3JzIjoiTmkgcHJpa2xqdcSNa292Iiwibm8tZGF0YSI6IkJyZXoga29uZmlndXJhY2lqIiwibm8tZ2F0ZXdheS1mb3VuZCI6IlByZWhvZCBuaSBuYWpkZW4uIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5pIG1vZ2/EjWUgbmFqdGkuIiwicGF0aC1sb2dzIjoiUG90IGRvIGRuZXZuacWha2loIGRhdG90ZWsiLCJwYXRoLWxvZ3MtcmVxdWlyZWQiOiJQb3QgamUgb2J2ZXpuYS4iLHJlbW90ZToiT2RkYWxqZW5hIGtvbmZpZ3VyYWNpamEiLCJyZW1vdGUtbG9nZ2luZy1sZXZlbCI6IlJhdmVuIGJlbGXFvmVuamEiLCJyZW1vdmUtZW50cnkiOiJPZHN0cmFuaSBrb25maWd1cmFjaWpvIiwic2F2ZS10aXAiOiJTaHJhbmkga29uZmlndXJhY2lqc2tvIGRhdG90ZWtvIiwic2VjdXJpdHktdHlwZSI6IlZyc3RhIHphxaHEjWl0ZSIsInNlY3VyaXR5LXR5cGVzIjp7ImFjY2Vzcy10b2tlbiI6IkRvc3RvcG5pIMW+ZXRvbiIsdGxzOiJUTFMifSxzdG9yYWdlOiJTaHJhbWJhIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoiTmFqdmXEjSB6YXBpc292IHYgZGF0b3Rla2kiLCJzdG9yYWdlLW1heC1maWxlcyI6Ik5hanZlxI1qZSDFoXRldmlsbyBkYXRvdGVrIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoiTmFqbWFuasWhZSDFoXRldmlsbyBqZSAxLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXBhdHRlcm4iOiLFoHRldmlsa2EgbmkgdmVsamF2bmEuIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiLFoHRldmlsa2EgamUgb2J2ZXpuYS4iLCJzdG9yYWdlLW1heC1yZWNvcmRzIjoiTmFqdmXEjSB6YXBpc292IHYgcG9tbmlsbmlrdSIsInN0b3JhZ2UtbWF4LXJlY29yZHMtbWluIjoiTmFqbWFuasWhZSDFoXRldmlsbyB6YXBpc292IGplIDEuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoixaB0ZXZpbGthIG5pIHZlbGphdm5hLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJaYWh0ZXZhbiBqZSBuYWp2ZcSNIHphcGlzb3YuIiwic3RvcmFnZS1wYWNrLXNpemUiOiJOYWp2ZcSNamEgdmVsaWtvc3QgcGFrZXRhIGRvZ29ka292Iiwic3RvcmFnZS1wYWNrLXNpemUtbWluIjoiTmFqbWFuasWhZSDFoXRldmlsbyBqZSAxLiIsInN0b3JhZ2UtcGFjay1zaXplLXBhdHRlcm4iOiLFoHRldmlsa2EgbmkgdmVsamF2bmEuIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiJaYWh0ZXZhbmEgamUgbmFqdmXEjWphIHZlbGlrb3N0IHBha2V0YSBkb2dvZGtvdi4iLCJzdG9yYWdlLXBhdGgiOiJQb3QgcG9tbmlsbmlrYSIsInN0b3JhZ2UtcGF0aC1yZXF1aXJlZCI6IlphaHRldmFuYSBqZSBwb3QgZG8gcG9tbmlsbmlrYS4iLCJzdG9yYWdlLXR5cGUiOiJWcnN0YSBwb21uaWxuaWthIiwic3RvcmFnZS10eXBlcyI6eyJmaWxlLXN0b3JhZ2UiOiJTaHJhbWJhIGRhdG90ZWsiLCJtZW1vcnktc3RvcmFnZSI6IlNwb21pbiBwb21uaWxuaWthIn0sdGhpbmdzYm9hcmQ6IlRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdCI6Ikdvc3RpdGVsaiBUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWQiOiJQb3RyZWJlbiBqZSBnb3N0aXRlbGouIiwidGhpbmdzYm9hcmQtcG9ydCI6IlZyYXRhIFRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtcG9ydC1tYXgiOiJOYWp2ZcSNamEgxaF0ZXZpbGthIHZyYXQgamUgNjU1MzUuIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiJOYWptYW5qxaFhIMWhdGV2aWxrYSB2cmF0IGplIDEuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiVnJhdGEgbmlzbyB2ZWxqYXZuYS4iLCJ0aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkIjoiUG90cmVibmEgc28gdnJhdGEuIix0aWR5OiJVcmVqZW5vIiwidGlkeS10aXAiOiJVcmVqZW5hIGtvbmZpZ3VyYWNpamEgSlNPTiIsInRpdGxlLWNvbm5lY3RvcnMtanNvbiI6IktvbmZpZ3VyYWNpamEga29uZWt0b3JqYSB7e3R5cGVOYW1lfX0iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IlBvdCBkbyBwb3RyZGlsYSBDQSBuYSBwcmVob2R1IiwidGxzLXBhdGgtY2xpZW50LWNlcnRpZmljYXRlIjoiUG90IGRvIHBvdHJkaWxhIHN0cmFua2UgbmEgcHJlaG9kdSIsInRscy1wYXRoLXByaXZhdGUta2V5IjoiUG90IGRvIHphc2VibmVnYSBrbGp1xI1hIG5hIHByZWhvZHUiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlByZWtsb3AgbmEgY2Vsb3phc2xvbnNraSBuYcSNaW4iLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IktvbmZpZ3VyYWNpamEgSlNPTiAqIiwidXBkYXRlLWNvbmZpZyI6IkRvZGFqIC8gcG9zb2RvYmkga29uZmlndXJhY2lqbyBKU09OIn0sWW89eyJhZGQtZW50cnkiOiJZYXDEsWxhbmTEsXJtYSBla2xlIiwiY29ubmVjdG9yLWFkZCI6IlllbmkgYmHEn2xhecSxY8SxIGVrbGUiLCJjb25uZWN0b3ItZW5hYmxlZCI6IkJhxJ9sYXnEsWPEsXnEsSBldGtpbmxlxZ90aXIiLCJjb25uZWN0b3ItbmFtZSI6IkJhxJ9sYXnEsWPEsSBhZMSxIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiJCYcSfbGF5xLFjxLEgYWTEsSBnZXJla2xpLiIsImNvbm5lY3Rvci10eXBlIjoiQmHEn2xhecSxY8SxIHRpcGkiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IkJhxJ9sYXnEsWPEsSB0w7xyw7wgZ2VyZWtsaS4iLGNvbm5lY3RvcnM6IkJhxJ9sYXnEsWPEsWxhcsSxbiB5YXDEsWxhbmTEsXJtYXPEsSIsImNyZWF0ZS1uZXctZ2F0ZXdheSI6IlllbmkgYmlyIGHEnyBnZcOnaWRpIG9sdcWfdHVyIiwiY3JlYXRlLW5ldy1nYXRld2F5LXRleHQiOiIne3tnYXRld2F5TmFtZX19JyBhZMSxbmRhIHllbmkgYmlyIGHEnyBnZcOnaWRpIG9sdcWfdHVybWFrIGlzdGVkacSfaW5pemRlbiBlbWluIG1pc2luaXo/IixkZWxldGU6IllhcMSxbGFuZMSxcm1hecSxIHNpbCIsImRvd25sb2FkLXRpcCI6IllhcMSxbGFuZMSxcm1hIGRvc3lhc8SxbsSxIGluZGlyaW4iLGdhdGV3YXk6IkHEnyBnZcOnaWRpIiwiZ2F0ZXdheS1leGlzdHMiOiJBeW7EsSBhZGEgc2FoaXAgY2loYXogemF0ZW4gdmFyLiIsImdhdGV3YXktbmFtZSI6IkHEnyBnZcOnaWRpIGFkxLEiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJBxJ8gZ2XDp2lkaSBhZMSxIGdlcmVrbGkuIiwiZ2F0ZXdheS1zYXZlZCI6IkHEnyBnZcOnaWRpIHlhcMSxbGFuZMSxcm1hc8SxIGJhxZ9hcsSxeWxhIGtheWRlZGlsZGkuIiwianNvbi1wYXJzZSI6Ikdlw6dlcmxpIGJpciBKU09OIGRlxJ9pbC4iLCJqc29uLXJlcXVpcmVkIjoiQWxhbiBib8WfIG9sYW1hei4iLCJuby1jb25uZWN0b3JzIjoiQmHEn2xhecSxY8SxIHlvayIsIm5vLWRhdGEiOiJZYXDEsWxhbmTEsXJtYSB5b2siLCJuby1nYXRld2F5LWZvdW5kIjoiQcSfIGdlw6dpZGkgYnVsdW5hbWFkxLEuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIGJ1bHVuYW1hZMSxLiIsInBhdGgtbG9ncyI6IkxvZyBkb3N5YWxhcsSxIHlvbHUiLCJwYXRoLWxvZ3MtcmVxdWlyZWQiOiJMb2cgZG9zeWFsYXLEsSBkaXppbmkgZ2VyZWtsaS4iLHJlbW90ZToiVXpha3RhbiB5YXDEsWxhbmTEsXJtYSIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoiTG9nbGFtYSBzZXZpeWVzaSIsInJlbW92ZS1lbnRyeSI6IllhcMSxbGFuZMSxcm1hecSxIGthbGTEsXIiLCJzYXZlLXRpcCI6IllhcMSxbGFuZMSxcm1hIGRvc3lhc8SxbsSxIGtheWRldCIsInNlY3VyaXR5LXR5cGUiOiJHw7x2ZW5saWsgdMO8csO8Iiwic2VjdXJpdHktdHlwZXMiOnsiYWNjZXNzLXRva2VuIjoiQWNjZXNzIFRva2VuIix0bHM6IlRMUyJ9LHN0b3JhZ2U6IkRlcG9sYW1hIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoiRG9zeWFkYWtpIG1ha3NpbXVtIGthecSxdCIsInN0b3JhZ2UtbWF4LWZpbGVzIjoiTWFrc2ltdW0gZG9zeWEgc2F5xLFzxLEiLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiJNaW5pbXVtIHNhecSxIDEnZGlyLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXBhdHRlcm4iOiJTYXnEsSBnZcOnZXJsaSBkZcSfaWwuIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiJTYXnEsSBnZXJla2xpLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMiOiJEZXBvZGFraSBtYWtzaW11bSBrYXnEsXQiLCJzdG9yYWdlLW1heC1yZWNvcmRzLW1pbiI6Ik1pbmltdW0ga2F5xLF0IHNhecSxc8SxIDEnZGlyLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6IlNhecSxIGdlw6dlcmxpIGRlxJ9pbC4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkIjoiTWFrc2ltdW0ga2F5xLF0IGdlcmVrbGkuIiwic3RvcmFnZS1wYWNrLXNpemUiOiJNYWtzaW11bSBldGtpbmxpayBwYWtldGkgYm95dXR1Iiwic3RvcmFnZS1wYWNrLXNpemUtbWluIjoiTWluaW11bSBzYXnEsSAxJ2Rpci4iLCJzdG9yYWdlLXBhY2stc2l6ZS1wYXR0ZXJuIjoiU2F5xLEgZ2XDp2VybGkgZGXEn2lsLiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoiTWFrc2ltdW0gZXRraW5saWsgcGFrZXRpIGJveXV0dSBnZXJla2xpLiIsInN0b3JhZ2UtcGF0aCI6IkRlcG9sYW1hIHlvbHUiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiJEZXBvbGFtYSB5b2x1IGdlcmVrbGkuIiwic3RvcmFnZS10eXBlIjoiRGVwb2xhbWEgdMO8csO8Iiwic3RvcmFnZS10eXBlcyI6eyJmaWxlLXN0b3JhZ2UiOiJEb3N5YSBkZXBvbGFtYSIsIm1lbW9yeS1zdG9yYWdlIjoiQmVsbGVrIGRlcG9sYW1hIn0sdGhpbmdzYm9hcmQ6IlRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdCI6IlRoaW5nc0JvYXJkIGhvc3QiLCJ0aGluZ3Nib2FyZC1ob3N0LXJlcXVpcmVkIjoiSG9zdCBnZXJla2xpLiIsInRoaW5nc2JvYXJkLXBvcnQiOiJUaGluZ3NCb2FyZCBwb3J0IiwidGhpbmdzYm9hcmQtcG9ydC1tYXgiOiJNYWtzaW11bSBwb3J0IG51bWFyYXPEsSA2NTUzNS4iLCJ0aGluZ3Nib2FyZC1wb3J0LW1pbiI6Ik1pbmltdW0gcG9ydCBudW1hcmFzxLEgMSdkaXIuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiUG9ydCBnZcOnZXJsaSBkZcSfaWwuIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6IlBvcnQgZ2VyZWtsaS4iLHRpZHk6IlRpZHkiLCJ0aWR5LXRpcCI6IlRpZHkgY29uZmlnIEpTT04iLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiJDb25uZWN0b3Ige3t0eXBlTmFtZX19IGNvbmZpZ3VyYXRpb24iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IlBhdGggdG8gQ0EgY2VydGlmaWNhdGUgb24gZ2F0ZXdheSIsInRscy1wYXRoLWNsaWVudC1jZXJ0aWZpY2F0ZSI6IlBhdGggdG8gY2xpZW50IGNlcnRpZmljYXRlIG9uIGdhdGV3YXkiLCJ0bHMtcGF0aC1wcml2YXRlLWtleSI6IlBhdGggdG8gcHJpdmF0ZSBrZXkgb24gZ2F0ZXdheSIsInRvZ2dsZS1mdWxsc2NyZWVuIjoiVG9nZ2xlIGZ1bGxzY3JlZW4iLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IkNvbmZpZ3VyYXRpb24gSlNPTioiLCJ1cGRhdGUtY29uZmlnIjoiQWRkL3VwZGF0ZSBjb25maWd1cmF0aW9uIEpTT04ifSxRbz17ImFkZC1lbnRyeSI6Iua3u+WKoOmFjee9riIsYWR2YW5jZWQ6IumrmOe6pyIsImNoZWNraW5nLWRldmljZS1hY3Rpdml0eSI6IuajgOafpeiuvuWkh+a0u+WKqCIsY29tbWFuZDoiRG9ja2Vy5ZG95LukIiwiY29tbWFuZC1jb3BpZWQtbWVzc2FnZSI6IkRvY2tlcuWRveS7pOW3suWkjeWItuWIsOWJqui0tOadvyIsY29uZmlndXJhdGlvbjoi6YWN572uIiwiY29ubmVjdG9yLWFkZCI6Iua3u+WKoOi/nuaOpeWZqCIsImNvbm5lY3Rvci1lbmFibGVkIjoi5ZCv55So6L+e5o6l5ZmoIiwiY29ubmVjdG9yLW5hbWUiOiLov57mjqXlmajlkI3np7AiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6Iui/nuaOpeWZqOWQjeensOW/heWhq+OAgiIsImNvbm5lY3Rvci10eXBlIjoi6L+e5o6l5Zmo57G75Z6LIiwiY29ubmVjdG9yLXR5cGUtcmVxdWlyZWQiOiLov57mjqXlmajnsbvlnovlv4XloavjgIIiLGNvbm5lY3RvcnM6Iui/nuaOpeWZqOmFjee9riIsImNvbm5lY3RvcnMtY29uZmlnIjoi6L+e5o6l5Zmo6YWN572uIiwiY29ubmVjdG9ycy10YWJsZS1lbmFibGVkIjoi5bey5ZCv55SoIiwiY29ubmVjdG9ycy10YWJsZS1uYW1lIjoi5ZCN56ewIiwiY29ubmVjdG9ycy10YWJsZS10eXBlIjoi57G75Z6LIiwiY29ubmVjdG9ycy10YWJsZS1zdGF0dXMiOiLnirbmgIEiLCJjb25uZWN0b3JzLXRhYmxlLWFjdGlvbnMiOiLmk43kvZwiLCJjb25uZWN0b3JzLXRhYmxlLWtleSI6IumUriIsImNvbm5lY3RvcnMtdGFibGUtY2xhc3MiOiLnsbsiLCJycGMtY29tbWFuZC1zZW5kIjoi5Y+R6YCBIiwicnBjLWNvbW1hbmQtcmVzdWx0Ijoi57uT5p6cIiwicnBjLWNvbW1hbmQtZWRpdC1wYXJhbXMiOiLnvJbovpHlj4LmlbAiLCJnYXRld2F5LWNvbmZpZ3VyYXRpb24iOiLpgJrnlKjphY3nva4iLCJjcmVhdGUtbmV3LWdhdGV3YXkiOiLliJvlu7rnvZHlhbMiLCJjcmVhdGUtbmV3LWdhdGV3YXktdGV4dCI6IuehruWumuimgeWIm+W7uuWQjeS4uiAne3tnYXRld2F5TmFtZX19JyDnmoTmlrDnvZHlhbPvvJ8iLCJjcmVhdGVkLXRpbWUiOiLliJvlu7rml7bpl7QiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaGVhZGVyIjoi6YWN572u5bCG6KKr5Yig6ZmkIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWJvZHkiOiLlj6rmnInlr7nnvZHlhbPov5vooYzniannkIborr/pl67ml7bvvIzmiY3mnInlj6/og73lhbPpl63ov5znqIvphY3nva7jgILmiYDmnInlhYjliY3nmoTphY3nva7pg73lsIbooqvliKDpmaTjgII8YnI+PGJyPlxu6KaB5YWz6Zet6YWN572u77yM6K+35Zyo5LiL6Z2i6L6T5YWl572R5YWz5ZCN56ewIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0Ijoi572R5YWz5ZCN56ewIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0LXJlcXVpcmVkIjoi572R5YWz5ZCN56ew5piv5b+F6ZyA55qEIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWNvbmZpcm0iOiLlhbPpl60iLGRlbGV0ZToi5Yig6Zmk6YWN572uIiwiZG93bmxvYWQtdGlwIjoi5LiL6L296YWN572uIiwiZHJvcC1maWxlIjoi5bCG5paH5Lu25ouW5pS+5Yiw5q2k5aSE5oiWIixnYXRld2F5OiLnvZHlhbMiLCJnYXRld2F5LWV4aXN0cyI6IuWQjOWQjeiuvuWkh+W3suWtmOWcqOOAgiIsImdhdGV3YXktbmFtZSI6Iue9keWFs+WQjeensCIsImdhdGV3YXktbmFtZS1yZXF1aXJlZCI6Iue9keWFs+WQjeensOW/heWhq+OAgiIsImdhdGV3YXktc2F2ZWQiOiLlt7LmiJDlip/kv53lrZjnvZHlhbPphY3nva7jgIIiLGdycGM6IkdSUEMiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dCI6IuS/neaMgei/nuaOpei2heaXtu+8iOavq+enku+8iSIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LXJlcXVpcmVkIjoi6ZyA6KaB5L+d5oyB6L+e5o6l6LaF5pe2IiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtbWluIjoi5L+d5oyB6L+e5o6l6LaF5pe25LiN6IO95bCP5LqOMSIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LXBhdHRlcm4iOiLkv53mjIHov57mjqXotoXml7bml6DmlYgiLCJncnBjLWtlZXAtYWxpdmUiOiLkv53mjIHov57mjqXvvIjmr6vnp5LvvIkiLCJncnBjLWtlZXAtYWxpdmUtcmVxdWlyZWQiOiLpnIDopoHkv53mjIHov57mjqUiLCJncnBjLWtlZXAtYWxpdmUtbWluIjoi5L+d5oyB6L+e5o6l5LiN6IO95bCP5LqOMSIsImdycGMta2VlcC1hbGl2ZS1wYXR0ZXJuIjoi5L+d5oyB6L+e5o6l5peg5pWIIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzIjoi5pyA5bCPUGluZ+mXtOmalO+8iOavq+enku+8iSIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1yZXF1aXJlZCI6IumcgOimgeacgOWwj1Bpbmfpl7TpmpQiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtbWluIjoi5pyA5bCPUGluZ+mXtOmalOS4jeiDveWwj+S6jjEiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcGF0dGVybiI6IuacgOWwj1Bpbmfpl7TpmpTml6DmlYgiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YSI6IuaXoOaVsOaNruaXtueahOacgOWwj1Bpbmfpl7TpmpTvvIjmr6vnp5LvvIkiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6IumcgOimgeaXoOaVsOaNruaXtueahOacgOWwj1Bpbmfpl7TpmpQiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1taW4iOiLml6DmlbDmja7ml7bnmoTmnIDlsI9QaW5n6Ze06ZqU5LiN6IO95bCP5LqOMSIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiLml6DmlbDmja7ml7bnmoTmnIDlsI9QaW5n6Ze06ZqU5peg5pWIIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoi5peg5pWw5o2u5pe255qE5pyA5aSnUGluZ+aVsCIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6IumcgOimgeaXoOaVsOaNruaXtueahOacgOWkp1BpbmfmlbAiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtbWluIjoi5peg5pWw5o2u5pe255qE5pyA5aSnUGluZ+aVsOS4jeiDveWwj+S6jjEiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtcGF0dGVybiI6IuaXoOaVsOaNruaXtueahOacgOWkp1BpbmfmlbDml6DmlYgiLCJpbmFjdGl2aXR5LWNoZWNrLXBlcmlvZC1zZWNvbmRzIjoi5LiN5rS76LeD5qOA5p+l5pyf77yI56eS77yJIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1yZXF1aXJlZCI6IumcgOimgeS4jea0u+i3g+ajgOafpeacnyIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtbWluIjoi5LiN5rS76LeD5qOA5p+l5pyf5LiN6IO95bCP5LqOMSIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcGF0dGVybiI6IuS4jea0u+i3g+ajgOafpeacn+aXoOaViCIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzIjoi5LiN5rS76LeD6LaF5pe277yI56eS77yJIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcmVxdWlyZWQiOiLpnIDopoHkuI3mtLvot4PotoXml7YiLCJpbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1taW4iOiLkuI3mtLvot4PotoXml7bkuI3og73lsI/kuo4xIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcGF0dGVybiI6IuS4jea0u+i3g+i2heaXtuaXoOaViCIsImpzb24tcGFyc2UiOiLml6DmlYjnmoRKU09O44CCIiwianNvbi1yZXF1aXJlZCI6IuWtl+auteS4jeiDveS4uuepuuOAgiIsbG9nczp7bG9nczoi5pel5b+XIixkYXlzOiLlpKkiLGhvdXJzOiLlsI/ml7YiLG1pbnV0ZXM6IuWIhumSnyIsc2Vjb25kczoi56eSIiwiZGF0ZS1mb3JtYXQiOiLml6XmnJ/moLzlvI8iLCJkYXRlLWZvcm1hdC1yZXF1aXJlZCI6IumcgOimgeaXpeacn+agvOW8jyIsImxvZy1mb3JtYXQiOiLml6Xlv5fmoLzlvI8iLCJsb2ctdHlwZSI6IuaXpeW/l+exu+WeiyIsImxvZy1mb3JtYXQtcmVxdWlyZWQiOiLpnIDopoHml6Xlv5fmoLzlvI8iLHJlbW90ZToi6L+c56iL5pel5b+X6K6w5b2VIiwicmVtb3RlLWxvZ3MiOiLov5znqIvml6Xlv5ciLGxvY2FsOiLmnKzlnLDml6Xlv5forrDlvZUiLGxldmVsOiLml6Xlv5fnuqfliKsiLCJmaWxlLXBhdGgiOiLmlofku7bot6/lvoQiLCJmaWxlLXBhdGgtcmVxdWlyZWQiOiLpnIDopoHmlofku7bot6/lvoQiLCJzYXZpbmctcGVyaW9kIjoi5pel5b+X5L+d5a2Y5pyf6ZmQIiwic2F2aW5nLXBlcmlvZC1taW4iOiLml6Xlv5fkv53lrZjmnJ/pmZDkuI3og73lsI/kuo4xIiwic2F2aW5nLXBlcmlvZC1yZXF1aXJlZCI6IumcgOimgeaXpeW/l+S/neWtmOacn+mZkCIsImJhY2t1cC1jb3VudCI6IuWkh+S7veaVsOmHjyIsImJhY2t1cC1jb3VudC1taW4iOiLlpIfku73mlbDph4/kuI3og73lsI/kuo4xIiwiYmFja3VwLWNvdW50LXJlcXVpcmVkIjoi6ZyA6KaB5aSH5Lu95pWw6YePIn0sIm1pbi1wYWNrLXNlbmQtZGVsYXkiOiLmnIDlsI/ljIXlj5HpgIHlu7bov5/vvIjmr6vnp5LvvIkiLCJtaW4tcGFjay1zZW5kLWRlbGF5LXJlcXVpcmVkIjoi5pyA5bCP5YyF5Y+R6YCB5bu26L+f5piv5b+F6ZyA55qEIiwibWluLXBhY2stc2VuZC1kZWxheS1taW4iOiLmnIDlsI/ljIXlj5HpgIHlu7bov5/kuI3og73lsI/kuo4wIiwibm8tY29ubmVjdG9ycyI6IuaXoOi/nuaOpeWZqCIsIm5vLWRhdGEiOiLmsqHmnInphY3nva4iLCJuby1nYXRld2F5LWZvdW5kIjoi5pyq5om+5Yiw572R5YWz44CCIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IuacquaJvuWIsCAne3tpdGVtfX0nIOOAgiIsInBhdGgtbG9ncyI6IuaXpeW/l+aWh+S7tueahOi3r+W+hCIsInBhdGgtbG9ncy1yZXF1aXJlZCI6Iui3r+W+hOaYr+W/hemcgOeahOOAgiIsInBlcm1pdC13aXRob3V0LWNhbGxzIjoi5L+d5oyB6L+e5o6l6K645Y+v77yM5peg6ZyA5ZON5bqUIixyZW1vdGU6Iui/nOeoi+mFjee9riIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoi5pel5b+X6K6w5b2V57qn5YirIiwicmVtb3ZlLWVudHJ5Ijoi5Yig6Zmk6YWN572uIiwicmVtb3RlLXNoZWxsIjoi6L+c56iLU2hlbGwiLCJyZW1vdGUtY29uZmlndXJhdGlvbiI6Iui/nOeoi+mFjee9riIsb3RoZXI6IuWFtuS7liIsInNhdmUtdGlwIjoi5L+d5a2Y6YWN572uIiwic2VjdXJpdHktdHlwZSI6IuWuieWFqOexu+WeiyIsInNlY3VyaXR5LXR5cGVzIjp7ImFjY2Vzcy10b2tlbiI6Iuiuv+mXruS7pOeJjCIsInVzZXJuYW1lLXBhc3N3b3JkIjoi55So5oi35ZCN5ZKM5a+G56CBIix0bHM6IlRMUyIsInRscy1hY2Nlc3MtdG9rZW4iOiJUTFMgKyDorr/pl67ku6TniYwiLCJ0bHMtcHJpdmF0ZS1rZXkiOiJUTFMgKyDnp4HpkqUifSwic2VydmVyLXBvcnQiOiLmnI3liqHlmajnq6/lj6MiLHN0YXRpc3RpY3M6e3N0YXRpc3RpYzoi57uf6K6h5L+h5oGvIixzdGF0aXN0aWNzOiLnu5/orqHkv6Hmga8iLCJzdGF0aXN0aWMtY29tbWFuZHMtZW1wdHkiOiLml6Dlj6/nlKjnu5/orqHkv6Hmga8iLGNvbW1hbmRzOiLlkb3ku6QiLCJzZW5kLXBlcmlvZCI6Iue7n+iuoeS/oeaBr+WPkemAgeWRqOacn++8iOenku+8iSIsInNlbmQtcGVyaW9kLXJlcXVpcmVkIjoi57uf6K6h5L+h5oGv5Y+R6YCB5ZGo5pyf5piv5b+F6ZyA55qEIiwic2VuZC1wZXJpb2QtbWluIjoi57uf6K6h5L+h5oGv5Y+R6YCB5ZGo5pyf5LiN6IO95bCP5LqONjAiLCJzZW5kLXBlcmlvZC1wYXR0ZXJuIjoi57uf6K6h5L+h5oGv5Y+R6YCB5ZGo5pyf5peg5pWIIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uIjoi5qOA5p+l6L+e5o6l5Zmo6YWN572u77yI56eS77yJIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXJlcXVpcmVkIjoi5qOA5p+l6L+e5o6l5Zmo6YWN572u5piv5b+F6ZyA55qEIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLW1pbiI6IuajgOafpei/nuaOpeWZqOmFjee9ruS4jeiDveWwj+S6jjEiLCJjaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tcGF0dGVybiI6IuajgOafpei/nuaOpeWZqOmFjee9ruaXoOaViCIsYWRkOiLmt7vliqDlkb3ku6QiLHRpbWVvdXQ6Iui2heaXtuaXtumXtCIsInRpbWVvdXQtbXMiOiLotoXml7bml7bpl7TvvIjmr6vnp5LvvIkiLCJ0aW1lb3V0LXJlcXVpcmVkIjoi6LaF5pe25pe26Ze05piv5b+F6ZyA55qEIiwidGltZW91dC1taW4iOiLotoXml7bml7bpl7TkuI3og73lsI/kuo4xIiwidGltZW91dC1wYXR0ZXJuIjoi6LaF5pe25pe26Ze05peg5pWIIiwiYXR0cmlidXRlLW5hbWUiOiLlsZ7mgKflkI3np7AiLCJhdHRyaWJ1dGUtbmFtZS1yZXF1aXJlZCI6IuWxnuaAp+WQjeensOaYr+W/hemcgOeahCIsY29tbWFuZDoi5ZG95LukIiwiY29tbWFuZC1yZXF1aXJlZCI6IuWRveS7pOaYr+W/hemcgOeahCIsImNvbW1hbmQtcGF0dGVybiI6IuWRveS7pOaXoOaViCIscmVtb3ZlOiLliKDpmaTlkb3ku6QifSxzdG9yYWdlOiLlrZjlgqgiLCJzdG9yYWdlLW1heC1maWxlLXJlY29yZHMiOiLmlofku7bkuK3nmoTmnIDlpKforrDlvZXmlbAiLCJzdG9yYWdlLW1heC1maWxlcyI6IuacgOWkp+aWh+S7tuaVsCIsInN0b3JhZ2UtbWF4LWZpbGVzLW1pbiI6IuacgOWwj+WAvOS4ujHjgIIiLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoi5pWw5a2X5peg5pWI44CCIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiLmlbDlrZfmmK/lv4XpnIDnmoTjgIIiLCJzdG9yYWdlLW1heC1yZWNvcmRzIjoi5a2Y5YKo5Lit55qE5pyA5aSn6K6w5b2V5pWwIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1taW4iOiLmnIDlsI/orrDlvZXmlbDkuLox44CCIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoi5pWw5a2X5peg5pWI44CCIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1yZXF1aXJlZCI6IuacgOWkp+iusOW9lemhueW/heWhq+OAgiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQiOiLlrZjlgqjkuK3nmoTor7vlj5borrDlvZXmlbAiLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LW1pbiI6IuacgOWwj+iusOW9leaVsOS4ujHjgIIiLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm4iOiLmlbDlrZfkuI3lkIjms5XjgIIiLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkIjoi6ZyA6KaB6K+75Y+W6K6w5b2V5pWw44CCIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQiOiLlrZjlgqjkuK3nmoTmnIDlpKfor7vlj5borrDlvZXmlbAiLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1taW4iOiLmnIDlsI/orrDlvZXmlbDkuLox44CCIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVybiI6IuaVsOWtl+S4jeWQiOazleOAgiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkIjoi5pyA5aSn6K+75Y+W6K6w5b2V5pWw5b+F6ZyA44CCIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoIjoi5pWw5o2u5paH5Lu25aS56Lev5b6EIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoLXJlcXVpcmVkIjoi6ZyA6KaB5pWw5o2u5paH5Lu25aS56Lev5b6E44CCIiwic3RvcmFnZS1wYWNrLXNpemUiOiLmnIDlpKfkuovku7bljIXlpKflsI8iLCJzdG9yYWdlLXBhY2stc2l6ZS1taW4iOiLmnIDlsI/lgLzkuLox44CCIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6IuaVsOWtl+aXoOaViOOAgiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoi5pyA5aSn5LqL5Lu25YyF5aSn5bCP5b+F5aGr44CCIiwic3RvcmFnZS1wYXRoIjoi5a2Y5YKo6Lev5b6EIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoi5a2Y5YKo6Lev5b6E5b+F5aGr44CCIiwic3RvcmFnZS10eXBlIjoi5a2Y5YKo57G75Z6LIiwic3RvcmFnZS10eXBlcyI6eyJmaWxlLXN0b3JhZ2UiOiLmlofku7blrZjlgqgiLCJtZW1vcnktc3RvcmFnZSI6IuWGheWtmOWtmOWCqCIsc3FsaXRlOiJTUUxJVEUifSx0aGluZ3Nib2FyZDoiVGhpbmdzQm9hcmQiLGdlbmVyYWw6IuW4uOinhCIsInRoaW5nc2JvYXJkLWhvc3QiOiJUaGluZ3NCb2FyZOS4u+acuiIsInRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWQiOiLkuLvmnLrlv4XloavjgIIiLCJ0aGluZ3Nib2FyZC1wb3J0IjoiVGhpbmdzQm9hcmTnq6/lj6MiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6IuacgOWkp+err+WPo+WPt+S4ujY1NTM144CCIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiLmnIDlsI/nq6/lj6Plj7fkuLox44CCIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoi56uv5Y+j5peg5pWI44CCIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6Iuerr+WPo+W/heWhq+OAgiIsdGlkeToi5pW055CGIiwidGlkeS10aXAiOiLmlbTnkIbphY3nva5KU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoi6L+e5o6l5ZmoIHt7dHlwZU5hbWV9fSDphY3nva4iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6Iue9keWFs+S4ikNB6K+B5Lmm55qE6Lev5b6EIiwidGxzLXBhdGgtY2xpZW50LWNlcnRpZmljYXRlIjoi572R5YWz5LiK5a6i5oi356uv6K+B5Lmm55qE6Lev5b6EIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzIjoi5raI5oGvVFRM5qOA5p+l5bCP5pe25pWwIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXJlcXVpcmVkIjoi6ZyA6KaB5o+Q5L6b5raI5oGvVFRM5qOA5p+l5bCP5pe25pWw44CCIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLW1pbiI6IuacgOWwj+WAvOS4ujHjgIIiLCJtZXNzYWdlcy10dGwtY2hlY2staW4taG91cnMtcGF0dGVybiI6IuaVsOWtl+aXoOaViOOAgiIsIm1lc3NhZ2VzLXR0bC1pbi1kYXlzIjoi5raI5oGvVFRM5aSp5pWwIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcmVxdWlyZWQiOiLpnIDopoHmj5Dkvpvmtojmga9UVEzlpKnmlbDjgIIiLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1taW4iOiLmnIDlsI/lgLzkuLox44CCIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcGF0dGVybiI6IuaVsOWtl+aXoOaViOOAgiIsIm1xdHQtcW9zIjoiUW9TIiwibXF0dC1xb3MtcmVxdWlyZWQiOiLpnIDopoHmj5DkvptRb1MiLCJtcXR0LXFvcy1yYW5nZSI6IlFvU+WAvOeahOiMg+WbtOaYr+S7jjDliLAxIiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiLnvZHlhbPkuIrnp4HpkqXnmoTot6/lvoQiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IuWIh+aNouWFqOWxjyIsInRyYW5zZm9ybWVyLWpzb24tY29uZmlnIjoi6YWN572uSlNPTioiLCJ1cGRhdGUtY29uZmlnIjoi5re75YqgL+abtOaWsOmFjee9rkpTT04iLGhpbnRzOnsicmVtb3RlLWNvbmZpZ3VyYXRpb24iOiLlkK/nlKjlr7nnvZHlhbPnmoTov5znqIvphY3nva7lkoznrqHnkIYiLCJyZW1vdGUtc2hlbGwiOiLpgJrov4fov5znqItTaGVsbOWwj+mDqOS7tuWQr+eUqOWvuee9keWFs+aTjeS9nOezu+e7n+eahOi/nOeoi+aOp+WItiIsaG9zdDoiVGhpbmdzQm9hcmQg5Li75py65ZCN5oiWSVDlnLDlnYAiLHBvcnQ6IlRoaW5nc0JvYXJkIE1RVFTmnI3liqHnq6/lj6MiLHRva2VuOiJUaGluZ3NCb2FyZCDnvZHlhbPorr/pl67ku6TniYwiLCJjbGllbnQtaWQiOiJUaGluZ3NCb2FyZCDnvZHlhbNNUVRU5a6i5oi356uvSUQiLHVzZXJuYW1lOiJUaGluZ3NCb2FyZCDnvZHlhbNNUVRU55So5oi35ZCNIixwYXNzd29yZDoiVGhpbmdzQm9hcmQg572R5YWzTVFUVOWvhueggSIsImNhLWNlcnQiOiJDQeivgeS5puaWh+S7tueahOi3r+W+hCIsImRhdGUtZm9ybSI6IuaXpeW/l+a2iOaBr+S4reeahOaXpeacn+agvOW8jyIsImRhdGEtZm9sZGVyIjoi5YyF5ZCr5pWw5o2u55qE5paH5Lu25aS555qE6Lev5b6E77yI55u45a+55oiW57ud5a+56Lev5b6E77yJIiwibG9nLWZvcm1hdCI6IuaXpeW/l+a2iOaBr+agvOW8jyIsInJlbW90ZS1sb2ciOiLlkK/nlKjlr7nnvZHlhbPnmoTov5znqIvml6Xlv5forrDlvZXlkozml6Xlv5for7vlj5YiLCJiYWNrdXAtY291bnQiOiLlpoLmnpzlpIfku73orqHmlbDlpKfkuo4w77yM5YiZ5Zyo5omn6KGM6L2u5o2i5pe277yM5pyA5aSa5L+d55WZ5aSH5Lu96K6h5pWw5Liq5paH5Lu2LeacgOaXp+eahOaWh+S7tuWwhuiiq+WIoOmZpCIsc3RvcmFnZToi5o+Q5L6b5bCG5pWw5o2u5Y+R6YCB5Yiw5bmz5Y+w5LmL5YmN5L+d5a2Y5Lyg5YWl5pWw5o2u55qE6YWN572uIiwibWF4LWZpbGUtY291bnQiOiLlsIbliJvlu7rnmoTmlofku7bnmoTmnIDlpKfmlbDph48iLCJtYXgtcmVhZC1jb3VudCI6IuS7juWtmOWCqOS4reiOt+WPlueahOa2iOaBr+iuoeaVsOW5tuWPkemAgeWIsFRoaW5nc0JvYXJkIiwibWF4LXJlY29yZHMiOiLkuIDkuKrmlofku7bkuK3lrZjlgqjnmoTmnIDlpKforrDlvZXmlbAiLCJyZWFkLXJlY29yZC1jb3VudCI6IuS7juWtmOWCqOS4reiOt+WPlueahOa2iOaBr+iuoeaVsOW5tuWPkemAgeWIsFRoaW5nc0JvYXJkIiwibWF4LXJlY29yZHMtY291bnQiOiLlnKjlsIbmlbDmja7lj5HpgIHliLBUaGluZ3NCb2FyZOS5i+WJje+8jOWtmOWCqOS4reeahOacgOWkp+aVsOaNruiuoeaVsCIsInR0bC1jaGVjay1ob3VyIjoi572R5YWz5aSa5LmF5qOA5p+l5LiA5qyh5pWw5o2u5piv5ZCm6L+H5pe2IiwidHRsLW1lc3NhZ2VzLWRheSI6IuWtmOWCqOWwhuS/neWtmOaVsOaNrueahOacgOWkp+WkqeaVsCIsY29tbWFuZHM6IueUqOS6juaUtumbhumZhOWKoOe7n+iuoeS/oeaBr+eahOWRveS7pCIsYXR0cmlidXRlOiLnu5/orqHpgaXmtYvplK4iLHRpbWVvdXQ6IuWRveS7pOaJp+ihjOeahOi2heaXtuaXtumXtCIsY29tbWFuZDoi5ZG95Luk5omn6KGM55qE57uT5p6c77yM5bCG55So5L2c6YGl5rWL55qE5YC8IiwiY2hlY2stZGV2aWNlLWFjdGl2aXR5Ijoi5ZCv55So55uR6KeG5q+P5Liq6L+e5o6l6K6+5aSH55qE5rS75YqoIiwiaW5hY3Rpdml0eS10aW1lb3V0Ijoi5Zyo5q2k5pe26Ze05ZCO77yM572R5YWz5bCG5pat5byA6K6+5aSH55qE6L+e5o6lIiwiaW5hY3Rpdml0eS1wZXJpb2QiOiLorr7lpIfmtLvliqjmo4Dmn6XnmoTlkajmnJ8iLCJtaW5pbWFsLXBhY2stZGVsYXkiOiLlj5HpgIHmtojmga/ljIXkuYvpl7TnmoTlu7bov5/vvIjlh4/lsI/mraTorr7nva7kvJrlr7zoh7Tlop7liqBDUFXkvb/nlKjnjofvvIkiLHFvczoiTVFUVOa2iOaBr+S8oOmAkueahOacjeWKoei0qOmHj++8iDAt6Iez5aSa5LiA5qyh77yMMS3oh7PlsJHkuIDmrKHvvIkiLCJzZXJ2ZXItcG9ydCI6IkdSUEPmnI3liqHlmajkvqblkKzkvKDlhaXov57mjqXnmoTnvZHnu5znq6/lj6MiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dCI6IuWcqOiAg+iZkei/nuaOpeatu+S6oeS5i+WJje+8jOacjeWKoeWZqOetieW+hWtlZXBhbGl2ZSBwaW5n5ZON5bqU55qE5pyA6ZW/5pe26Ze0IiwiZ3JwYy1rZWVwLWFsaXZlIjoi5rKh5pyJ5rS75YqoUlBD6LCD55So5pe25Lik5Liq6L+e57uta2VlcGFsaXZlIHBpbmfmtojmga/kuYvpl7TnmoTmjIHnu63ml7bpl7QiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MiOiLmnI3liqHlmajlnKjlj5HpgIFrZWVwYWxpdmUgcGluZ+a2iOaBr+S5i+mXtOW6lOetieW+heeahOacgOWwj+aXtumXtOmHjyIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YSI6IuWcqOayoeacieaOpeaUtuWIsOS7u+S9leaVsOaNruS5i+WJje+8jOacjeWKoeWZqOWPr+S7peWPkemAgeeahGtlZXBhbGl2ZSBwaW5n5raI5oGv55qE5pyA5aSn5pWw6YeP77yM54S25ZCO5bCG6L+e5o6l6KeG5Li65q275LqhIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEiOiLlnKjmsqHmnInlj5HpgIHmiJbmjqXmlLbmlbDmja7ml7bvvIzmnI3liqHlmajlnKjlj5HpgIFrZWVwYWxpdmUgcGluZ+a2iOaBr+S5i+mXtOW6lOetieW+heeahOacgOWwj+aXtumXtOmHjyIsInBlcm1pdC13aXRob3V0LWNhbGxzIjoi5YWB6K645pyN5Yqh5Zmo5Zyo5rKh5pyJ5rS75YqoUlBD6LCD55So5pe25L+d5oyBR1JQQ+i/nuaOpea0u+WKqCJ9LCJkb2NrZXItbGFiZWwiOiLkvb/nlKjku6XkuIvmjIfku6TlnKggRG9ja2VyIGNvbXBvc2Ug5Lit6L+Q6KGMIElvVCDnvZHlhbPvvIzlubbkuLrpgInlrprnmoTorr7lpIfmj5Dkvpvlh63mja4iLCJpbnN0YWxsLWRvY2tlci1jb21wb3NlIjoi5L2/55So5Lul5LiL6K+05piO5LiL6L2944CB5a6J6KOF5ZKM6K6+572uIERvY2tlciBDb21wb3NlIiwiZG93bmxvYWQtY29uZmlndXJhdGlvbi1maWxlIjoi5LiL6L296YWN572u5paH5Lu2IiwiZG93bmxvYWQtZG9ja2VyLWNvbXBvc2UiOiLkuIvovb3mgqjnmoTnvZHlhbPnmoQgZG9ja2VyLWNvbXBvc2UueW1sIOaWh+S7tiIsImxhdW5jaC1nYXRld2F5Ijoi5ZCv5Yqo572R5YWzIiwibGF1bmNoLWRvY2tlci1jb21wb3NlIjoi5Zyo5YyF5ZCrIGRvY2tlci1jb21wb3NlLnltbCDmlofku7bnmoTmlofku7blpLnkuK3vvIzkvb/nlKjku6XkuIvlkb3ku6TlnKjnu4jnq6/kuK3lkK/liqjnvZHlhbMifSxKbz17ImFkZC1lbnRyeSI6IuWinuWKoOmFjee9riIsImNvbm5lY3Rvci1hZGQiOiLlop7liqDmlrDpgKPmjqXlmagiLCJjb25uZWN0b3ItZW5hYmxlZCI6IuWVn+eUqOmAo+aOpeWZqCIsImNvbm5lY3Rvci1uYW1lIjoi6YCj5o6l5Zmo5ZCN56ixIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiLpnIDopoHpgKPmjqXlmajlkI3nqLHjgIIiLCJjb25uZWN0b3ItdHlwZSI6IumAo+aOpeWZqOmhnuWeiyIsImNvbm5lY3Rvci10eXBlLXJlcXVpcmVkIjoi6ZyA6KaB6YCj5o6l5Zmo6aGe5Z6L44CCIixjb25uZWN0b3JzOiLpgKPmjqXlmajphY3nva4iLCJjcmVhdGUtbmV3LWdhdGV3YXkiOiLlu7rnq4vmlrDplpjpgZMiLCJjcmVhdGUtbmV3LWdhdGV3YXktdGV4dCI6IuaCqOeiuuWumuimgeW7uueri+S4gOWAi+WQjeeoseeCuu+8mid7e2dhdGV3YXlOYW1lfX0n55qE5paw6ZaY6YGT5ZeO77yfIixkZWxldGU6IuWIqumZpOmFjee9riIsImRvd25sb2FkLXRpcCI6IuS4i+i8iemFjee9ruaWh+S7tiIsZ2F0ZXdheToi6ZaY6YGTIiwiZ2F0ZXdheS1leGlzdHMiOiLlkIzlkI3oqK3lgpnlt7LlrZjlnKjjgIIiLCJnYXRld2F5LW5hbWUiOiLplpjpgZPlkI3nqLEiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiLpnIDopoHplpjpgZPlkI3nqLHjgIIiLCJnYXRld2F5LXNhdmVkIjoi6ZaY6YGT6YWN572u5bey5oiQ5Yqf5L+d5a2Y44CCIiwianNvbi1wYXJzZSI6IueEoeaViOeahEpTT04iLCJqc29uLXJlcXVpcmVkIjoi5qyE5L2N5LiN6IO954K656m644CCIiwibm8tY29ubmVjdG9ycyI6IueEoemAo+aOpeWZqCIsIm5vLWRhdGEiOiLnhKHphY3nva4iLCJuby1nYXRld2F5LWZvdW5kIjoi5pyq5om+5Yiw6ZaY6YGT44CCIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiDmnKrmib7liLAne3tpdGVtfX0n44CCIiwicGF0aC1sb2dzIjoi5pel6KqM5paH5Lu255qE6Lev5b6RIiwicGF0aC1sb2dzLXJlcXVpcmVkIjoi6ZyA6KaB6Lev5b6R44CCIixyZW1vdGU6Iuenu+mZpOmFjee9riIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoi5pel6KqM6KiY6YyE57Sa5YilIiwicmVtb3ZlLWVudHJ5Ijoi56e76Zmk6YWN572uIiwic2F2ZS10aXAiOiLkv53lrZjphY3nva7mlofku7YiLCJzZWN1cml0eS10eXBlIjoi5a6J5YWo6aGe5Z6LIiwic2VjdXJpdHktdHlwZXMiOnsiYWNjZXNzLXRva2VuIjoi6Kiq5ZWPVG9rZW4iLHRsczoiVExTIn0sc3RvcmFnZToi6LKv5a2YIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoi5paH5Lu25Lit55qE5pyA5aSn57SA6YyEIiwic3RvcmFnZS1tYXgtZmlsZXMiOiLmnIDlpKfmlofku7bmlbgiLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiLmnIDlsI/mlbjph4/ngrox44CCIiwic3RvcmFnZS1tYXgtZmlsZXMtcGF0dGVybiI6IuiZn+eivOeEoeaViOOAgiIsInN0b3JhZ2UtbWF4LWZpbGVzLXJlcXVpcmVkIjoi6ZyA6KaB6Jmf56K844CCIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6IuWtmOWEsuS4reeahOacgOWkp+e0gOmMhCIsInN0b3JhZ2UtbWF4LXJlY29yZHMtbWluIjoi5pyA5bCP57SA6YyE5pW454K6MeOAgiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6IuiZn+eivOeEoeaViOOAgiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiLpnIDopoHmnIDlpKfntIDpjITmlbgiLCJzdG9yYWdlLXBhY2stc2l6ZSI6IuacgOWkp+S6i+S7tuWMheWkp+WwjyIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6IuacgOWwj+aVuOmHj+eCujHjgIIiLCJzdG9yYWdlLXBhY2stc2l6ZS1wYXR0ZXJuIjoi6Jmf56K854Sh5pWI77yOIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiLpnIDopoHmnIDlpKfkuovku7bljIXlpKflsI8iLCJzdG9yYWdlLXBhdGgiOiLlrZjlhLLot6/lvpEiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiLpnIDopoHlrZjlhLLot6/lvpHjgIIiLCJzdG9yYWdlLXR5cGUiOiLlrZjlhLLpoZ7lnosiLCJzdG9yYWdlLXR5cGVzIjp7ImZpbGUtc3RvcmFnZSI6IuaWh+S7tuWtmOWEsiIsIm1lbW9yeS1zdG9yYWdlIjoi6KiY5oa26auU5a2Y5YSyIn0sdGhpbmdzYm9hcmQ6IlRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdCI6IlRoaW5nc0JvYXJk5Li75qmfIiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6IumcgOimgeS4u+apn+OAgiIsInRoaW5nc2JvYXJkLXBvcnQiOiJUaGluZ3NCb2FyZOmAo+aOpeWfoCIsInRoaW5nc2JvYXJkLXBvcnQtbWF4Ijoi5pyA5aSn5Z+g6Jmf54K6IDY1NTM144CCIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiLmnIDlsI/ln6DomZ/ngrox44CCIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoi6YCj5o6l5Z+g54Sh5pWI44CCIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6IumcgOimgemAo+aOpeWfoOOAgiIsdGlkeToi5pW055CGIiwidGlkeS10aXAiOiLmlbTnkIbphY3nva5KU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoi6YCj5o6l5Zmoe3t0eXBlTmFtZX196YWN572uIiwidGxzLXBhdGgtY2EtY2VydGlmaWNhdGUiOiLplpjpgZPkuIpDQeitieabuOeahOi3r+W+kSIsInRscy1wYXRoLWNsaWVudC1jZXJ0aWZpY2F0ZSI6IumWmOmBk+S4iueUqOaItuerr+aGkeaTmueahOi3r+W+kSIsInRscy1wYXRoLXByaXZhdGUta2V5Ijoi6ZaY6YGT5LiK55qE56eB6ZGw6Lev5b6RIiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiLliIfmj5vlhajonqLluZUiLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IumFjee9rkpTT04qIiwidXBkYXRlLWNvbmZpZyI6IuWinuWKoC/mm7TmlrDphY3nva5KU09OIn07Y29uc3QgWG89W2NhLHBhLEZhLERhLEFhLE5hLFBhLGVvLEVvLGlvLGFvLG9vLHFvLHRvLEdvLG5vXTtjbGFzcyBab3tjb25zdHJ1Y3RvcihlKXt0aGlzLnRyYW5zbGF0ZT1lLGZ1bmN0aW9uKGUpe2Uuc2V0VHJhbnNsYXRpb24oImVuX1VTIixPbywhMCksZS5zZXRUcmFuc2xhdGlvbigiYXJfQUUiLFJvLCEwKSxlLnNldFRyYW5zbGF0aW9uKCJjYV9FUyIsVm8sITApLGUuc2V0VHJhbnNsYXRpb24oImNzX0NaIixCbywhMCksZS5zZXRUcmFuc2xhdGlvbigiZGFfREsiLFVvLCEwKSxlLnNldFRyYW5zbGF0aW9uKCJlc19FUyIsX28sITApLGUuc2V0VHJhbnNsYXRpb24oImtvX0tSIixIbywhMCksZS5zZXRUcmFuc2xhdGlvbigibHRfTFQiLHpvLCEwKSxlLnNldFRyYW5zbGF0aW9uKCJubF9CRSIsV28sITApLGUuc2V0VHJhbnNsYXRpb24oInBsX1BMIixqbywhMCksZS5zZXRUcmFuc2xhdGlvbigicHRfQlIiLEtvLCEwKSxlLnNldFRyYW5zbGF0aW9uKCJzbF9TSSIsJG8sITApLGUuc2V0VHJhbnNsYXRpb24oInRyX1RSIixZbywhMCksZS5zZXRUcmFuc2xhdGlvbigiemhfQ04iLFFvLCEwKSxlLnNldFRyYW5zbGF0aW9uKCJ6aF9UVyIsSm8sITApfShlKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlpvLGRlcHM6W3t0b2tlbjpZLlRyYW5zbGF0ZVNlcnZpY2V9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5OZ01vZHVsZX0pfXN0YXRpY3t0aGlzLsm1bW9kPXQuybXJtW5nRGVjbGFyZU5nTW9kdWxlKHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlpvLGRlY2xhcmF0aW9uczpbY2EscGEsRmEsRGEsQWEsTmEsUGEsZW8sRW8saW8sYW8sb28scW8sdG8sR28sbm9dLGltcG9ydHM6W0gsRCxRLE1hLEVhLHFhLHZhLElhLExvLGtvLEZvLHBvLEFvLE5vLGdvLFRhLERvLFBvLGthLENhLFNhXSxleHBvcnRzOltjYSxwYSxGYSxEYSxBYSxOYSxQYSxlbyxFbyxpbyxhbyxvbyxxbyx0byxHbyxub119KX1zdGF0aWN7dGhpcy7JtWluaj10Lsm1ybVuZ0RlY2xhcmVJbmplY3Rvcih7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpabyxwcm92aWRlcnM6W3ZhXSxpbXBvcnRzOltILEQsUSxNYSxFYSxxYSxJYSxMbyxrbyxGbyxwbyxBbyxObyxnbyxEbyxQb119KX19ZSgiR2F0ZXdheUV4dGVuc2lvbk1vZHVsZSIsWm8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Wm8sZGVjb3JhdG9yczpbe3R5cGU6dSxhcmdzOlt7ZGVjbGFyYXRpb25zOlhvLGltcG9ydHM6W0gsRCxRLE1hLEVhLHFhLHZhLElhLExvLGtvLEZvLHBvLEFvLE5vLGdvLFRhLERvLFBvLGthLENhLFNhXSxleHBvcnRzOlhvLHByb3ZpZGVyczpbdmFdfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOlkuVHJhbnNsYXRlU2VydmljZX1dfSl9fX0pKTsvLyMgc291cmNlTWFwcGluZ1VSTD1nYXRld2F5LW1hbmFnZW1lbnQtZXh0ZW5zaW9uLmpzLm1hcAo=",
- "public": false
- },
- {
- "link": "/api/images/system/gateway_configuration_single_device_system_widget_image.png",
- "title": "\"Gateway configuration (Single device)\" system widget image",
- "type": "IMAGE",
- "subType": "IMAGE",
- "fileName": "gateway_configuration_single_device_system_widget_image.png",
- "publicResourceKey": "ZL0sm6U5n3KO59xw62PmZjiTOQqdBCS2",
- "mediaType": "image/png",
- "data": "iVBORw0KGgoAAAANSUhEUgAAAMgAAACgCAIAAADGnbT+AAAABmJLR0QA/wD/AP+gvaeTAAAS3UlEQVR42u2dh5MTRxaH91/B5XKscoHhMNwdYEy2oQzYwBmKnDMmmGRgyXHJmJxNzgeYnHPOCyaaDEtOJtq6D72jazzSahetDCvt71dbW6OZnlZr+tN7Pa33ppMCgcDz58/T0tIuXLjwmyRlQSAESM+ePQOqJKi6ePHivXv3Xrx4EZCkLAiEAAmcgCoJxHihiyLFSuAEVEmYL9kqKbZ2C6iScI26FlJsBVQCS3qrYP0pSUHFDCyr7g9JCiozeGUAlkPqRVDPg3om5UhZ7xsJGeKVMVhGFTU+ffr0yZMnj1/pdynHyHU6AICB4WVsRQOWowpaDSm2M+lipcQTXQ8AhhdIRGYrY7DAk4rAlg1dXAkMgAEk2IgGLGeuMH2PHj1iIlXXVDJdu3YNJAAjgtHKACwzV8zQ28+KkoSAASQiG62MwcKn3r59W1dT8gokACN6sGBTYEnpgQUeWQLr1q1bupSSVyCRVbC4BRBYUihYgCGwJIElCSxJYAksSWBJAksSWAJLEliSwJIE1psD68CBA/9NR/wwTtAFG+TL+s5atWrVwYMHXQ1r1qyxbUpS/saNG97CNIyd5K95dx45cmTGjBmTJ09eu3YtBXz1X716lVMmTZq0ePFib22c5Zq3fv361NRUPrvvXNr8yy+/cO6iRYvSCyKiHt7Xt/PKlSuu8pUrVx46dMjbsFOnTtmhZcuW7dixI15+ln1rYI0ZM+Y/r1SkSJEvv/zSvTx//vzly5cLFy7MVfadVbFixf79+9t2v379vv32W9umJOXbtWvnLUxUEDvpbHtJU3/88Ufeq2rVqi1atChbtmz58uXpaVcemIoVK0YDWrVqValSpRIlSrhzR44cyYnWPNrAdq1atbz07Nmz56uvvipevHidOnXKlClTtGjRBQsWhF6xatWqcS6fzrt/w4YNtPObb76hcj4R55YrV859Z/gacLRKlSoc/SKolJQUQp0EVsaiP8aNG+fdEx1YvlN8YI0ePZpegQBnYMCLCq2TLl269Pnnn4O7XQUi1IYPH84es5qAVbp0aVcz6NP3PXr0sJfXr18vWbJkly5d+NmVl1wW7BZvvXfvXp+5gqoKFSpMmDAhFKzTp0/bywcPHnTo0AG8DFwDy2qmVRgt3ppviMB6c2DVrVuXi+6chRcs6ClVqlSfPn28teHRMDPW/Tg4Cp85c8YdpR6O4oNCwUJ0bY0aNZw9A6y7d+96Lw5HW7Zs6T2FBjdp0mTq1KkYJ+8jC3xgIZrBHvb7wDLBFnv27dsX9QXnykRxKOeCxegEFLp27RoK1rFjx9jeuHFjem2gXzEnI0aMCPuUCh9YxEbimDp16mQvYSjUhGC0MHjOZ3GVIBtvyzCON9q1a1cEsM6dO8ceBpRhweLK8/0ZPHhwdFd79erV7du3379/f+ihw4cPc2j58uUJDla3bt1+/qvo3Qhg4c7AiI1Nmzb5wNq6dSvb4BWhGaBAl1evXp03oiofWAy/xgSFi2SUVrt2bRCxowyqKOCrzVriyvCSGuyhPc2bN+ejRXCF9C4m0ExvKFioUaNGvgFl5sXbcW4oW0YVhyAvwcHCEnz/V9E3kcGiVW3atGEcc//+fS9Y2Cq2ucOy8jNnzuz6SngWr3Ps3bs3nUrh1q1buztKuGHQY+U7duzIUBr+Tpw4YUc55Bs2OVzcpWvWrJmzakuXLnWQuZJ82Hr16vGfQ7TfmbSwYNE2Koz6goeyFVuqEs0VmpnBSOB0+vbt6wWLEQnbbuROeWwPjo+dc+fO9b0Lnwg3BD14HPtoPleIu8QPcudofvPrr78eOHCgrxImHajcrA53ANjCadOm/RoUjeHl/PnzvWBNnDiR8dzChQsBC9vp6gkLFlhncfzu2KIxDCFiS1VigoXoHl7STw4s7rDoyzlz5vhmnhxYJ0+exFz5PjlHrftDB+/ed+TusnHjxr6mDhkyhBkNm+7i0xUOEbcaYV0huGMy3SUNBevhw4fAB6ZZ7HswMrZiTlXCgkXD8BQMfbzTDYxssDHeGSAvWNSGffL23507dyKAZQMym8k043T06FF3lHES725NxapxG8jkk/d0G/NBcyhY3F1y7qBBg9IDa+jQocyxudFb1u1WzKlKWLAQwyOuvhcseg5LwBQA80k3b948fvw4RsWN9M+ePctRhnH4BebcsV5cblyqTWbahII5Mgowuudlr169nGds0KABbWNWnSkuoGnYsCGY2ty9zQ54Z2LtFAqASNi7QqYkuKPk3tCBdSQo7tcY4XFoxYoVsSJgdVCax8osWDZC94JlP48AFpbGnBEjZTfBbd4QsOg2O4p3Y0jrBu/OhTHLygQ6FstrRTB+tAcPRQHq5wbC/R7FxClzE6EXF6rwlVzAULC4pPwqgIdyYFm1DOqpzceoJkiziwACcBmpRDjKTFUUNZOfiYfyDbRzphTdIAksSWBJAktgSQJLEliSwBJYksCSBJYksASWJLAkgSUJLIElJQpYBEWR2El40/bt20NzixNYhOQTtiWw/hawtmzZ0rZtW6KRCLsmYHL8+PERChOUZ4FvCSBicgiVtsSeRF0n5q2BxYlEw1lsbiAYBUXoMCnF9hKGyKshos3aRE7pDz/8QHKLFWAnh4j85KkHgWAMuAsLJpTKpVzylAcLjSKjYXtQFklM5S4Kj/LEjnpbxVmYk23btoG7M6KcSCIG7+g+KS1nm+dHYHgIYoYVTuGrQsSfq41wUz6F7+oRG00ixrBhw8iGIIHWEmIFVszAokfJQQh7iGtNNCaxnQSLzpo1KxAMEIVCPCaBv7wk14rwSx6SQZwuqYIGpYXmYdgsGBU4CBYlApioUTqSONLp06fTlzR48+bNAwYMsPeig71ZrCBCsjI7gZgMeku+gEtOxGWTbkrelcFNGVLB5s2bx9thd3lfjo4aNSo5OdmuI+X5FAQTUwymfZeOfH8+vjfxWmDFBiyAcAlM2IzUoMhB4OXOnTvBIhDMmoInK0NIrpk3QngBxfKuMCqWEMx/bBjWgkRQHnyAf8HIkeBl5Z0P5R15SbGmTZvCkBFp7+XAIhfU9jD+s7RSTKCLBgYjkvENLEuB5zoQQ0ybA6+SOLgaxNTzZBGzl3w6Gu/97NhXa7Avw0JgxQAs3ITL5eXLPXbsWEtzsI4kyY6vO99+Z9UcWOvWrYO2IUFRxgLDSQcg2YYkT6oiGp16CHi30TEtJIuGvD8yUeHJcrxgjnrwbqQ1e1tlFst9ciyibcMQo0ByFQmKt0h8wDKYEO2EQtumbThoEkFpuTWSE4HVe2uCceWN7JsjsGIMFnnAXG7v057oHgOrc+fO2BvqZ4QbCha40Fs3XgnbEAg+YgrPhTnBIDHuwWlSmz2lg/ytKVOm2OJklDGwKIM35HbBmwadHli7d+/GKVuMPFVlBizsMTtveJTT1gd9m3eF9CuDEutyvA+2Bx+BjyM9xkblZFNhY6xZ9JON0OkkzIYVgCr30JXOQVGYCqkK+2T7Gc3YUy4Y1TmjiK9ktAQEvsSHsGBxOpUEgtmCOEerLTJYeFt3awKRjOs1j/XmwMIj4LYYizC8pRvwZeYvMAkQwG0gR0nQM6+BO6Ok9RAmhKN0JwC50Q/DfIbnto2nW7JkiW0zQMbnggi3YJxiIySEVbNBWIZgsdPeC3AZG2G0MgQrEHwMBKdziKb6Bu8C603MvGM8cIu+2VFbZNpXkq++txhGLpNzqjTVOwvg4Av7KJ/0lF66WGRh5MI+F0lgJeBPOjhTrCODtpzZ5QLr7xKDLabK9PumwJIEliQJLElgSQJLkgSWJLAkgSUJLIElCSxJYEkCS2C5T0RQDckzPA3bLY4SQcQhetdakhINLOK3XPRV1CJ5hqWXPv74Y1ay5KnX77777uzZs8OW5CPzmHXWlaAMcYhx3f0RHvCcxWc/JwJYPLyfB6lnsRKC7qHKpV0Q3v7RRx+FfSg3EdWUJKCvUKFCcQ0W6JAKEDb/jJ0cygpbbxMsPA7pDHwG4n1tNVFzRqz40LNnTxfqGQiuu0RwsEsY5H15Seyo7bfFuthwz+AnrI+lZrp37060p1tgl/h6ypAzA0Ohayphnyz+2ERkfa5cucj4CG028fIWNohhi3eLRVYc4bU+tsLujCew8ufPX7BgQb79LP5BADEVEpH8/vvvYxLq16+Po8EqWJsIbKebXcAnAXq8ZMFwzqJrCxQokDdvXjasAPyxeATrOJDux0a+fPksGxFKOIt3/Oyzz/B6GRowLJZ30dRQJQBYoRjFhKq3DxYrH7nOI+GTjreVbWzkxEsSRyOAFdYV0tmsomNGBWMOWyRfOLCIQI8Q0IwVJBae9ENwJxk1cvsTAyxzfAaT24jvwTtgkRjoXrJmKQvIeAuwDi8JFK8FFjy999573vX+yNyCLQeWAzesWLiG9W3y5MnDKb6lwhMYLGeoYkVV9gKLoRIpWd4CJBUaapkHC+eYK0QffPBBJsEykd9hRsuNzwRWHINVuXJlXz9hw1hh8LXAYoDFIRvae/VaYAWCcfEUjnyV5QrjAyzSZhhWuzt8nBouydYEJPPTywSHfGCxzK6rh7O8y9q+CCpDsGrWrMlice6lvSNPj9HgPe7BYrLgww8/5CkdrGHJfZxNF9nTDaANXGrVqsVLlvgmVdoLFqmkdutnqX9MnXNHydMfyJNmXooJT3u+Q2SwSAh75513mKRgVoIpCZYyZArD7gColpTa0Ll4TTfEB1iB4GKkjJptYMQNozehlJvETz75hP3MR9DNDJscWDzRyg7ZMru0ioccASV7YIV1uW2V1AxdIY9+yJ07t707ftk9uwukIDX0JjHewUrYCdL0xLSnLXrrEx6NQ2GzTLkEHPLOIzAAx/KRYx3Fu4emTYfuSQzpJx0pziSwJIElCSxJYAksSWBJAksSWAJLShSwRkpxJVksSa5QElgCS3rTYPFrpcCSQsECjKyCRQyTLTAhSYFg9i9IZAksolMMrAReb0h6XRF0aWCBR/RgEd5JChcrzMCprqkED8QJggQb0YNF2B08EU9HgCU5gKAqn5hjRdcDABgAA0gABni8Nlheo0VUOPG7rEfKKoGk5v0s5UjR9QAABsAAEhHMVabAckaL6lgE65iUgwUAYJChucoALC9bmEECw+H0/ivdk3KMXKcDABgAQ2SqMgWWYws9D+qZlCNlvW8kGFXRg+XDS5IyROo1wPLiJUmZoeU1wJKkzEtgSQIr4XT41OUSjVLyVEnOXTkO/mhn8YYpWw+cFljZnao8VbrHBVJ/watyMi0XWNlX2Kq4o8r+SjUaLLCyr+LFA4b9E1jZV/FLlcASWAJLYAksSWAJLIElsASWwJIElsASWAJLYGXu7581+uT7rofAkmID1qdVuo+cve7W3ZcLKRDFuXHvr2WaDhFYUlbBGjZjDScu23yozaA5g6evfvj703OXbuR9G6ZLYCUUWPuPn3/85Jn7kfGnuRvuPXxcvdN4tvNX69lp+IKx8zb2Gr+sUO1+7Pmuw9ie45YWrTfACrfsP7PbT4ttu1yL4UN/XpMybVWltqMFlsBKXr7lMCcOnLIyf7Ve3v3/qtnn5PlrT54+h7xHj59ev3X/i/oDG/SYSuG+E5dTgAHZg0dPtuw/yXarAbOePnuBP027ff/5iz/aD50nsHI6WCUbpZw8f51z79x/NGnRFjfAqt99ys7DZ5r0ns52s74zKIDdYkAGOtsOnrYC7Ow8cuE/qva8fe/R4VOXQBMfui/1NyiMIs5CYCXaXSG4tBwwa8ehM8G8qT9xZ7a/YPXeHYcvGDVn/cJ1+6h8zLyN7Jy+bAfGiVvIaUu3Y88wbLW6TOTo2l2peEn+Nu45wcsSDVMElqYb/v9XsfWo1LNXwKts82GlmwzB8FxJuztrxS4vWNU6jmObkf65yzfX7Djm7NnltDupZ664v/KtRgisnAvWv2v1BaOtB065PcNnrqUexlLMQbBRqe1PBpwDi78LV2/tO37e8OJl+e9fPsd28pKtrpLobioFVkJZrFXbj8IWWDCcwvFdvXGXIXmROv0HTV1JheMWbGrYcxpeku0JCzfbKePmv1zA8eHvT2y8z3Bq99FzuMU+E5bXTZ48e+XuPcfOaYyV08EqUL33jOU7gclqOHHuap2uk2w/d3yBl6uE/okr5P/qoOPjr0LQRC3ddNBVUqzBoHW7jjO/yn4caLvBc2WxNMZKtrkDbg8Zrfv2F67dr0DIzvT+uD1kzP5ptGlCAithB+/6EVoSWJLAElgCS2BJAksSWAJLYAksSWBJb0Tx+1AQWi6wsq+KN4zXxxiVbjxEYGVf8Wi8PPFpro7qwWvZXDwaj4eYxZetygxVAkv6uySwJIElCSxJYAksSWBJcQTWhQsXWChM10KKlcAJqJLS0tJY7FCXQ4qVWIocqJJY4/DixYuwJbslZd1WARI4sZHEa1bOBDHM12+SlAWBECCZhfofUvIhO6Sugc0AAAAASUVORK5CYII=",
- "public": true
- }
]
}
\ No newline at end of file
diff --git a/application/src/main/data/json/system/widget_types/gateway_connectors.json b/application/src/main/data/json/system/widget_types/gateway_connectors.json
index 760541c5b0..54ad85048c 100644
--- a/application/src/main/data/json/system/widget_types/gateway_connectors.json
+++ b/application/src/main/data/json/system/widget_types/gateway_connectors.json
@@ -39,28 +39,5 @@
"ocpp",
"ble",
"bluetooth"
- ],
- "resources": [
- {
- "link": "/api/resource/js_module/system/gateway-management-extension.js",
- "title": "gateway-management-extension.js",
- "type": "JS_MODULE",
- "resourceKey": "gateway-management-extension.js",
- "fileName": "gateway-management-extension.js",
- "mediaType": "application/javascript",
- "data": "U3lzdGVtLnJlZ2lzdGVyKFsiQGFuZ3VsYXIvY29yZSIsIkBhbmd1bGFyL21hdGVyaWFsL3NvcnQiLCJAYW5ndWxhci9tYXRlcmlhbC90YWJsZSIsIkBhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvciIsIkBzaGFyZWQvcHVibGljLWFwaSIsIkBhbmd1bGFyL2NvbW1vbiIsIkBhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXIiLCJAYW5ndWxhci9tYXRlcmlhbC90YWJzIiwiQGFuZ3VsYXIvZmxleC1sYXlvdXQvZmxleCIsIkBhbmd1bGFyL2ZsZXgtbGF5b3V0L2V4dGVuZGVkIiwiQG5neC10cmFuc2xhdGUvY29yZSIsIkBjb3JlL3B1YmxpYy1hcGkiLCJAYW5ndWxhci9mb3JtcyIsIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvbiIsIkBhbmd1bGFyL21hdGVyaWFsL2NhcmQiLCJAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCIsIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQiLCJAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QiLCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlIiwicnhqcyIsInJ4anMvb3BlcmF0b3JzIiwidHNsaWIiLCJAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwIiwiQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zIiwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbiIsIkBhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbiIsIkBzaGFyZWQvZGlyZWN0aXZlcy90cnVuY2F0ZS13aXRoLXRvb2x0aXAuZGlyZWN0aXZlIiwiQHNoYXJlZC9jb21wb25lbnRzL2RpYWxvZy9qc29uLW9iamVjdC1lZGl0LWRpYWxvZy5jb21wb25lbnQiLCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2ciLCJAc2hhcmVkL2NvbXBvbmVudHMvZGlyZWN0aXZlcy90Yi1qc29uLXRvLXN0cmluZy5kaXJlY3RpdmUiLCJAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUiLCJAc2hhcmVkL2NvbXBvbmVudHMvYnV0dG9uL3RvZ2dsZS1wYXNzd29yZC5jb21wb25lbnQiLCJAc2hhcmVkL2NvbXBvbmVudHMvdG9nZ2xlLWhlYWRlci5jb21wb25lbnQiLCJAc2hhcmVkL2NvbXBvbmVudHMvdG9nZ2xlLXNlbGVjdC5jb21wb25lbnQiLCJAbmdyeC9zdG9yZSIsIkBhbmd1bGFyL3JvdXRlciIsIkBhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXIiLCJAc2hhcmVkL2NvbXBvbmVudHMvanNvbi1jb250ZW50LmNvbXBvbmVudCIsIkBzaGFyZWQvaW1wb3J0LWV4cG9ydC9pbXBvcnQtZXhwb3J0LnNlcnZpY2UiLCJAc2hhcmVkL2NvbXBvbmVudHMvdG9hc3QuZGlyZWN0aXZlIiwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3giLCJAc2hhcmVkL2NvbXBvbmVudHMvZW50aXR5L2VudGl0eS1nYXRld2F5LXNlbGVjdC5jb21wb25lbnQiLCJAc2hhcmVkL2NvbXBvbmVudHMvaGVscC5jb21wb25lbnQiLCJAc2hhcmVkL2NvbXBvbmVudHMvaGludC10b29sdGlwLWljb24uY29tcG9uZW50IiwiQHNoYXJlZC9jb21wb25lbnRzL2hlbHAtcG9wdXAuY29tcG9uZW50IiwiQHNoYXJlZC9jb21wb25lbnRzL3BvcG92ZXIuc2VydmljZSIsIkBhbmd1bGFyL21hdGVyaWFsL2NoaXBzIiwiQHNoYXJlZC9jb21wb25lbnRzL2ljb24uY29tcG9uZW50IiwiQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSIsIkBzaGFyZWQvZGVjb3JhdG9ycy9jb2VyY2lvbiIsIkBzaGFyZWQvY29tcG9uZW50cy9qc29uLW9iamVjdC1lZGl0LmNvbXBvbmVudCIsIkBzaGFyZWQvY29tcG9uZW50cy9tYXJrZG93bi5jb21wb25lbnQiLCJAc2hhcmVkL2NvbXBvbmVudHMvdGItZXJyb3IuY29tcG9uZW50IiwiQHNoYXJlZC9jb21wb25lbnRzL2ZpbGUtaW5wdXQuY29tcG9uZW50IiwiQHNoYXJlZC9jb21wb25lbnRzL2J1dHRvbi9jb3B5LWJ1dHRvbi5jb21wb25lbnQiXSwoZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO3ZhciB0LG4sYSxvLGkscixzLGwsYyxwLG0sZCx1LGcsZix5LGIsaCx4LHYsdyxDLFQsUyxrLEwsRixJLEEsTixNLEUscSxELFAsRyxPLFIsVixCLFUsXyxILHosVyxqLEssWSxRLEosWCxaLGVlLHRlLG5lLGFlLG9lLGllLHJlLHNlLGxlLGNlLHBlLG1lLGRlLHVlLGdlLGZlLHllLGJlLGhlLHhlLHZlLHdlLENlLFRlLFNlLGtlLExlLEZlLEllLEFlLE5lLE1lLEVlLHFlLERlLFBlLEdlLE9lLFJlLFZlLEJlLFVlLF9lLEhlLHplLFdlLGplLEtlLCRlLFllLFFlLEplLFhlLFplLGV0LHR0LG50LGF0LG90LGl0LHJ0LHN0LGx0LGN0LHB0LG10LGR0LHV0LGd0LGZ0LHl0LGJ0LGh0LHh0LHZ0LHd0LEN0LFR0LFN0O3JldHVybntzZXR0ZXJzOltmdW5jdGlvbihlKXt0PWUsbj1lLkNvbXBvbmVudCxhPWUuSW5wdXQsbz1lLlZpZXdDaGlsZCxpPWUuRXZlbnRFbWl0dGVyLHI9ZS5pbmplY3Qscz1lLkRpcmVjdGl2ZSxsPWUuT3V0cHV0LGM9ZS5QaXBlLHA9ZS5JbmplY3QsbT1lLmZvcndhcmRSZWYsZD1lLkNoYW5nZURldGVjdGlvblN0cmF0ZWd5LHU9ZS5OZ01vZHVsZX0sZnVuY3Rpb24oZSl7Zz1lLk1hdFNvcnQsZj1lfSxmdW5jdGlvbihlKXt5PWUuTWF0VGFibGVEYXRhU291cmNlLGI9ZX0sZnVuY3Rpb24oZSl7aD1lLk1hdFBhZ2luYXRvcix4PWV9LGZ1bmN0aW9uKGUpe3Y9ZS5oZWxwQmFzZVVybCx3PWUuRGlyZWN0aW9uLEM9ZS5QYWdlTGluayxUPWUuRGF0YUtleVR5cGUsUz1lLkxlZ2VuZFBvc2l0aW9uLGs9ZS5OVUxMX1VVSUQsTD1lLkF0dHJpYnV0ZVNjb3BlLEY9ZS5EYXRhc291cmNlVHlwZSxJPWUuRW50aXR5VHlwZSxBPWUud2lkZ2V0VHlwZSxOPWUuY29lcmNlQm9vbGVhbixNPWUuZW1wdHlQYWdlRGF0YSxFPWUuaXNDbGllbnRTaWRlVGVsZW1ldHJ5VHlwZSxxPWUuVGVsZW1ldHJ5U3Vic2NyaWJlcixEPWUuU2hhcmVkTW9kdWxlLFA9ZS5EaWFsb2dDb21wb25lbnQsRz1lLkNvbnRlbnRUeXBlLE89ZS5QYWdlQ29tcG9uZW50LFI9ZS5UYlRhYmxlRGF0YXNvdXJjZSxWPWUuSE9VUixCPWUuY29lcmNlTnVtYmVyLFU9ZS5EZXZpY2VDcmVkZW50aWFsc1R5cGV9LGZ1bmN0aW9uKGUpe189ZSxIPWUuQ29tbW9uTW9kdWxlfSxmdW5jdGlvbihlKXt6PWV9LGZ1bmN0aW9uKGUpe1c9ZX0sZnVuY3Rpb24oZSl7aj1lfSxmdW5jdGlvbihlKXtLPWV9LGZ1bmN0aW9uKGUpe1k9ZSxRPWUuVHJhbnNsYXRlTW9kdWxlfSxmdW5jdGlvbihlKXtKPWUuZGVlcENsb25lLFg9ZSxaPWUuZGVsZXRlTnVsbFByb3BlcnRpZXMsZWU9ZS5pc0VxdWFsLHRlPWUuaXNOdW1iZXIsbmU9ZS5pc1N0cmluZyxhZT1lLldJTkRPVyxvZT1lLmlzTGl0ZXJhbE9iamVjdCxpZT1lLmlzRGVmaW5lZEFuZE5vdE51bGwscmU9ZS5pc1VuZGVmaW5lZE9yTnVsbCxzZT1lLmdlbmVyYXRlU2VjcmV0LGxlPWUuaXNPYmplY3QsY2U9ZS5jYW1lbENhc2UscGU9ZS5kZWVwVHJpbX0sZnVuY3Rpb24oZSl7bWU9ZSxkZT1lLkZvcm1CdWlsZGVyLHVlPWUuVmFsaWRhdG9ycyxnZT1lLk5HX1ZBTFVFX0FDQ0VTU09SLGZlPWUuTkdfVkFMSURBVE9SUyx5ZT1lLkZvcm1Db250cm9sfSxmdW5jdGlvbihlKXtiZT1lfSxmdW5jdGlvbihlKXtoZT1lfSxmdW5jdGlvbihlKXt4ZT1lfSxmdW5jdGlvbihlKXt2ZT1lfSxmdW5jdGlvbihlKXt3ZT1lfSxmdW5jdGlvbihlKXtDZT1lLFRlPWUuRXJyb3JTdGF0ZU1hdGNoZXJ9LGZ1bmN0aW9uKGUpe1NlPWUuU3ViamVjdCxrZT1lLmZyb21FdmVudCxMZT1lLkJlaGF2aW9yU3ViamVjdCxGZT1lLlJlcGxheVN1YmplY3QsSWU9ZS5vZixBZT1lLmZvcmtKb2lufSxmdW5jdGlvbihlKXtOZT1lLnRha2VVbnRpbCxNZT1lLmZpbHRlcixFZT1lLnRhcCxxZT1lLmNhdGNoRXJyb3IsRGU9ZS5tYXAsUGU9ZS5wdWJsaXNoUmVwbGF5LEdlPWUucmVmQ291bnQsT2U9ZS50YWtlLFJlPWUuc3RhcnRXaXRoLFZlPWUuZGVib3VuY2VUaW1lLEJlPWUuZGlzdGluY3RVbnRpbENoYW5nZWQsVWU9ZS5zd2l0Y2hNYXAsX2U9ZS5tZXJnZU1hcH0sZnVuY3Rpb24oZSl7SGU9ZS5fX2RlY29yYXRlfSxmdW5jdGlvbihlKXt6ZT1lLFdlPWUuTWF0VG9vbHRpcH0sZnVuY3Rpb24oZSl7amU9ZS5TZWxlY3Rpb25Nb2RlbH0sZnVuY3Rpb24oZSl7S2U9ZX0sZnVuY3Rpb24oZSl7JGU9ZX0sZnVuY3Rpb24oZSl7WWU9ZX0sZnVuY3Rpb24oZSl7UWU9ZS5Kc29uT2JqZWN0RWRpdERpYWxvZ0NvbXBvbmVudH0sZnVuY3Rpb24oZSl7SmU9ZSxYZT1lLk1BVF9ESUFMT0dfREFUQX0sZnVuY3Rpb24oZSl7WmU9ZX0sZnVuY3Rpb24oZSl7ZXQ9ZX0sZnVuY3Rpb24oZSl7dHQ9ZX0sZnVuY3Rpb24oZSl7bnQ9ZX0sZnVuY3Rpb24oZSl7YXQ9ZX0sZnVuY3Rpb24oZSl7b3Q9ZX0sZnVuY3Rpb24oZSl7aXQ9ZX0sZnVuY3Rpb24oZSl7cnQ9ZX0sZnVuY3Rpb24oZSl7c3Q9ZX0sZnVuY3Rpb24oZSl7bHQ9ZX0sZnVuY3Rpb24oZSl7Y3Q9ZX0sZnVuY3Rpb24oZSl7cHQ9ZX0sZnVuY3Rpb24oZSl7bXQ9ZX0sZnVuY3Rpb24oZSl7ZHQ9ZX0sZnVuY3Rpb24oZSl7dXQ9ZX0sZnVuY3Rpb24oZSl7Z3Q9ZX0sZnVuY3Rpb24oZSl7ZnQ9ZX0sZnVuY3Rpb24oZSl7eXQ9ZX0sZnVuY3Rpb24oZSl7YnQ9ZX0sZnVuY3Rpb24oZSl7aHQ9ZX0sZnVuY3Rpb24oZSl7eHQ9ZS5jb2VyY2VCb29sZWFufSxmdW5jdGlvbihlKXt2dD1lfSxmdW5jdGlvbihlKXt3dD1lfSxmdW5jdGlvbihlKXtDdD1lfSxmdW5jdGlvbihlKXtUdD1lfSxmdW5jdGlvbihlKXtTdD1lfV0sZXhlY3V0ZTpmdW5jdGlvbigpe2NvbnN0IGt0PWUoIm5vTGVhZFRyYWlsU3BhY2VzUmVnZXgiLC9eXFMrKD86IFxTKykqJC8pLEx0PWUoImludGVnZXJSZWdleCIsL15bLStdP1xkKyQvKSxGdD1lKCJub25aZXJvRmxvYXQiLC9eLT8oPyEwKFwuMCspPyQpXGQrKFwuXGQrKT8kLyksSXQ9ZSgianNvblJlcXVpcmVkIiwoZT0+ZS52YWx1ZT9udWxsOntyZXF1aXJlZDohMH0pKTt2YXIgQXQsTnQsTXQsRXQ7ZSgiU3RvcmFnZVR5cGVzIixBdCksZnVuY3Rpb24oZSl7ZS5NRU1PUlk9Im1lbW9yeSIsZS5GSUxFPSJmaWxlIixlLlNRTElURT0ic3FsaXRlIn0oQXR8fGUoIlN0b3JhZ2VUeXBlcyIsQXQ9e30pKSxlKCJEZXZpY2VHYXRld2F5U3RhdHVzIixOdCksZnVuY3Rpb24oZSl7ZS5FWENFUFRJT049IkVYQ0VQVElPTiJ9KE50fHxlKCJEZXZpY2VHYXRld2F5U3RhdHVzIixOdD17fSkpLGUoIkdhdGV3YXlMb2dMZXZlbCIsTXQpLGZ1bmN0aW9uKGUpe2UuTk9ORT0iTk9ORSIsZS5DUklUSUNBTD0iQ1JJVElDQUwiLGUuRVJST1I9IkVSUk9SIixlLldBUk5JTkc9IldBUk5JTkciLGUuSU5GTz0iSU5GTyIsZS5ERUJVRz0iREVCVUciLGUuVFJBQ0U9IlRSQUNFIn0oTXR8fGUoIkdhdGV3YXlMb2dMZXZlbCIsTXQ9e30pKSxlKCJQb3J0TGltaXRzIixFdCksZnVuY3Rpb24oZSl7ZVtlLk1JTj0xXT0iTUlOIixlW2UuTUFYPTY1NTM1XT0iTUFYIn0oRXR8fGUoIlBvcnRMaW1pdHMiLEV0PXt9KSk7Y29uc3QgcXQ9ZSgiR2F0ZXdheVN0YXR1cyIsey4uLk10LC4uLk50fSk7dmFyIER0LFB0O2UoIkxvZ1NhdmluZ1BlcmlvZCIsRHQpLGZ1bmN0aW9uKGUpe2UuZGF5cz0iRCIsZS5ob3Vycz0iSCIsZS5taW51dGVzPSJNIixlLnNlY29uZHM9IlMifShEdHx8ZSgiTG9nU2F2aW5nUGVyaW9kIixEdD17fSkpLGUoIkxvY2FsTG9nc0NvbmZpZ3MiLFB0KSxmdW5jdGlvbihlKXtlLnNlcnZpY2U9InNlcnZpY2UiLGUuY29ubmVjdG9yPSJjb25uZWN0b3IiLGUuY29udmVydGVyPSJjb252ZXJ0ZXIiLGUudGJfY29ubmVjdGlvbj0idGJfY29ubmVjdGlvbiIsZS5zdG9yYWdlPSJzdG9yYWdlIixlLmV4dGVuc2lvbj0iZXh0ZW5zaW9uIn0oUHR8fGUoIkxvY2FsTG9nc0NvbmZpZ3MiLFB0PXt9KSk7Y29uc3QgR3Q9ZSgiTG9jYWxMb2dzQ29uZmlnVHJhbnNsYXRlTWFwIixuZXcgTWFwKFtbUHQuc2VydmljZSwiU2VydmljZSJdLFtQdC5jb25uZWN0b3IsIkNvbm5lY3RvciJdLFtQdC5jb252ZXJ0ZXIsIkNvbnZlcnRlciJdLFtQdC50Yl9jb25uZWN0aW9uLCJUQiBDb25uZWN0aW9uIl0sW1B0LnN0b3JhZ2UsIlN0b3JhZ2UiXSxbUHQuZXh0ZW5zaW9uLCJFeHRlbnNpb24iXV0pKSxPdD1lKCJMb2dTYXZpbmdQZXJpb2RUcmFuc2xhdGlvbnMiLG5ldyBNYXAoW1tEdC5kYXlzLCJnYXRld2F5LmxvZ3MuZGF5cyJdLFtEdC5ob3VycywiZ2F0ZXdheS5sb2dzLmhvdXJzIl0sW0R0Lm1pbnV0ZXMsImdhdGV3YXkubG9ncy5taW51dGVzIl0sW0R0LnNlY29uZHMsImdhdGV3YXkubG9ncy5zZWNvbmRzIl1dKSksUnQ9ZSgiU3RvcmFnZVR5cGVzVHJhbnNsYXRpb25NYXAiLG5ldyBNYXAoW1tBdC5NRU1PUlksImdhdGV3YXkuc3RvcmFnZS10eXBlcy5tZW1vcnktc3RvcmFnZSJdLFtBdC5GSUxFLCJnYXRld2F5LnN0b3JhZ2UtdHlwZXMuZmlsZS1zdG9yYWdlIl0sW0F0LlNRTElURSwiZ2F0ZXdheS5zdG9yYWdlLXR5cGVzLnNxbGl0ZSJdXSkpO3ZhciBWdDtlKCJTZWN1cml0eVR5cGVzIixWdCksZnVuY3Rpb24oZSl7ZS5BQ0NFU1NfVE9LRU49ImFjY2Vzc1Rva2VuIixlLlVTRVJOQU1FX1BBU1NXT1JEPSJ1c2VybmFtZVBhc3N3b3JkIixlLlRMU19BQ0NFU1NfVE9LRU49InRsc0FjY2Vzc1Rva2VuIixlLlRMU19QUklWQVRFX0tFWT0idGxzUHJpdmF0ZUtleSJ9KFZ0fHxlKCJTZWN1cml0eVR5cGVzIixWdD17fSkpO2NvbnN0IEJ0PWUoIkdlY3VyaXR5VHlwZXNUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1tWdC5BQ0NFU1NfVE9LRU4sImdhdGV3YXkuc2VjdXJpdHktdHlwZXMuYWNjZXNzLXRva2VuIl0sW1Z0LlVTRVJOQU1FX1BBU1NXT1JELCJnYXRld2F5LnNlY3VyaXR5LXR5cGVzLnVzZXJuYW1lLXBhc3N3b3JkIl0sW1Z0LlRMU19BQ0NFU1NfVE9LRU4sImdhdGV3YXkuc2VjdXJpdHktdHlwZXMudGxzLWFjY2Vzcy10b2tlbiJdXSkpO3ZhciBVdCxfdDtlKCJHYXRld2F5VmVyc2lvbiIsVXQpLGZ1bmN0aW9uKGUpe2UuQ3VycmVudD0iMy41LjIiLGUuTGVnYWN5PSJsZWdhY3kifShVdHx8ZSgiR2F0ZXdheVZlcnNpb24iLFV0PXt9KSksZSgiQ29ubmVjdG9yVHlwZSIsX3QpLGZ1bmN0aW9uKGUpe2UuTVFUVD0ibXF0dCIsZS5NT0RCVVM9Im1vZGJ1cyIsZS5HUlBDPSJncnBjIixlLk9QQ1VBPSJvcGN1YSIsZS5CTEU9ImJsZSIsZS5SRVFVRVNUPSJyZXF1ZXN0IixlLkNBTj0iY2FuIixlLkJBQ05FVD0iYmFjbmV0IixlLk9EQkM9Im9kYmMiLGUuUkVTVD0icmVzdCIsZS5TTk1QPSJzbm1wIixlLkZUUD0iZnRwIixlLlNPQ0tFVD0ic29ja2V0IixlLlhNUFA9InhtcHAiLGUuT0NQUD0ib2NwcCIsZS5DVVNUT009ImN1c3RvbSJ9KF90fHxlKCJDb25uZWN0b3JUeXBlIixfdD17fSkpO2NvbnN0IEh0PWUoIkdhdGV3YXlDb25uZWN0b3JEZWZhdWx0VHlwZXNUcmFuc2xhdGVzTWFwIixuZXcgTWFwKFtbX3QuTVFUVCwiTVFUVCJdLFtfdC5NT0RCVVMsIk1PREJVUyJdLFtfdC5HUlBDLCJHUlBDIl0sW190Lk9QQ1VBLCJPUENVQSJdLFtfdC5CTEUsIkJMRSJdLFtfdC5SRVFVRVNULCJSRVFVRVNUIl0sW190LkNBTiwiQ0FOIl0sW190LkJBQ05FVCwiQkFDTkVUIl0sW190Lk9EQkMsIk9EQkMiXSxbX3QuUkVTVCwiUkVTVCJdLFtfdC5TTk1QLCJTTk1QIl0sW190LkZUUCwiRlRQIl0sW190LlNPQ0tFVCwiU09DS0VUIl0sW190LlhNUFAsIlhNUFAiXSxbX3QuT0NQUCwiT0NQUCJdLFtfdC5DVVNUT00sIkNVU1RPTSJdXSkpLHp0PWUoIk1vZGJ1c0Z1bmN0aW9uQ29kZVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbWzEsImdhdGV3YXkuZnVuY3Rpb24tY29kZXMucmVhZC1jb2lscyJdLFsyLCJnYXRld2F5LmZ1bmN0aW9uLWNvZGVzLnJlYWQtZGlzY3JldGUtaW5wdXRzIl0sWzMsImdhdGV3YXkuZnVuY3Rpb24tY29kZXMucmVhZC1tdWx0aXBsZS1ob2xkaW5nLXJlZ2lzdGVycyJdLFs0LCJnYXRld2F5LmZ1bmN0aW9uLWNvZGVzLnJlYWQtaW5wdXQtcmVnaXN0ZXJzIl0sWzUsImdhdGV3YXkuZnVuY3Rpb24tY29kZXMud3JpdGUtc2luZ2xlLWNvaWwiXSxbNiwiZ2F0ZXdheS5mdW5jdGlvbi1jb2Rlcy53cml0ZS1zaW5nbGUtaG9sZGluZy1yZWdpc3RlciJdLFsxNSwiZ2F0ZXdheS5mdW5jdGlvbi1jb2Rlcy53cml0ZS1tdWx0aXBsZS1jb2lscyJdLFsxNiwiZ2F0ZXdheS5mdW5jdGlvbi1jb2Rlcy53cml0ZS1tdWx0aXBsZS1ob2xkaW5nLXJlZ2lzdGVycyJdXSkpO3ZhciBXdDtlKCJCQUNuZXRSZXF1ZXN0VHlwZXMiLFd0KSxmdW5jdGlvbihlKXtlLldyaXRlUHJvcGVydHk9IndyaXRlUHJvcGVydHkiLGUuUmVhZFByb3BlcnR5PSJyZWFkUHJvcGVydHkifShXdHx8ZSgiQkFDbmV0UmVxdWVzdFR5cGVzIixXdD17fSkpO2NvbnN0IGp0PWUoIkJBQ25ldFJlcXVlc3RUeXBlc1RyYW5zbGF0ZXMiLG5ldyBNYXAoW1tXdC5Xcml0ZVByb3BlcnR5LCJnYXRld2F5LnJwYy53cml0ZS1wcm9wZXJ0eSJdLFtXdC5SZWFkUHJvcGVydHksImdhdGV3YXkucnBjLnJlYWQtcHJvcGVydHkiXV0pKTt2YXIgS3Q7ZSgiQkFDbmV0T2JqZWN0VHlwZXMiLEt0KSxmdW5jdGlvbihlKXtlLkJpbmFyeUlucHV0PSJiaW5hcnlJbnB1dCIsZS5CaW5hcnlPdXRwdXQ9ImJpbmFyeU91dHB1dCIsZS5BbmFsb2dJbnB1dD0iYW5hbG9nSW5wdXQiLGUuQW5hbG9nT3V0cHV0PSJhbmFsb2dPdXRwdXQiLGUuQmluYXJ5VmFsdWU9ImJpbmFyeVZhbHVlIixlLkFuYWxvZ1ZhbHVlPSJhbmFsb2dWYWx1ZSJ9KEt0fHxlKCJCQUNuZXRPYmplY3RUeXBlcyIsS3Q9e30pKTtjb25zdCAkdD1lKCJCQUNuZXRPYmplY3RUeXBlc1RyYW5zbGF0ZXMiLG5ldyBNYXAoW1tLdC5BbmFsb2dPdXRwdXQsImdhdGV3YXkucnBjLmFuYWxvZy1vdXRwdXQiXSxbS3QuQW5hbG9nSW5wdXQsImdhdGV3YXkucnBjLmFuYWxvZy1pbnB1dCJdLFtLdC5CaW5hcnlPdXRwdXQsImdhdGV3YXkucnBjLmJpbmFyeS1vdXRwdXQiXSxbS3QuQmluYXJ5SW5wdXQsImdhdGV3YXkucnBjLmJpbmFyeS1pbnB1dCJdLFtLdC5CaW5hcnlWYWx1ZSwiZ2F0ZXdheS5ycGMuYmluYXJ5LXZhbHVlIl0sW0t0LkFuYWxvZ1ZhbHVlLCJnYXRld2F5LnJwYy5hbmFsb2ctdmFsdWUiXV0pKTt2YXIgWXQ7ZSgiQkxFTWV0aG9kcyIsWXQpLGZ1bmN0aW9uKGUpe2UuV1JJVEU9IndyaXRlIixlLlJFQUQ9InJlYWQiLGUuU0NBTj0ic2NhbiJ9KFl0fHxlKCJCTEVNZXRob2RzIixZdD17fSkpO2NvbnN0IFF0PWUoIkJMRU1ldGhvZHNUcmFuc2xhdGVzIixuZXcgTWFwKFtbWXQuV1JJVEUsImdhdGV3YXkucnBjLndyaXRlIl0sW1l0LlJFQUQsImdhdGV3YXkucnBjLnJlYWQiXSxbWXQuU0NBTiwiZ2F0ZXdheS5ycGMuc2NhbiJdXSkpO3ZhciBKdCxYdDtlKCJDQU5CeXRlT3JkZXJzIixKdCksZnVuY3Rpb24oZSl7ZS5MSVRUTEU9IkxJVFRMRSIsZS5CSUc9IkJJRyJ9KEp0fHxlKCJDQU5CeXRlT3JkZXJzIixKdD17fSkpLGUoIlNvY2tldE1ldGhvZFByb2Nlc3NpbmdzIixYdCksZnVuY3Rpb24oZSl7ZS5XUklURT0id3JpdGUifShYdHx8ZSgiU29ja2V0TWV0aG9kUHJvY2Vzc2luZ3MiLFh0PXt9KSk7Y29uc3QgWnQ9ZSgiU29ja2V0TWV0aG9kUHJvY2Vzc2luZ3NUcmFuc2xhdGVzIixuZXcgTWFwKFtbWHQuV1JJVEUsImdhdGV3YXkucnBjLndyaXRlIl1dKSk7dmFyIGVuO2UoIlNOTVBNZXRob2RzIixlbiksZnVuY3Rpb24oZSl7ZS5TRVQ9InNldCIsZS5NVUxUSVNFVD0ibXVsdGlzZXQiLGUuR0VUPSJnZXQiLGUuQlVMS1dBTEs9ImJ1bGt3YWxrIixlLlRBQkxFPSJ0YWJsZSIsZS5NVUxUSUdFVD0ibXVsdGlnZXQiLGUuR0VUTkVYVD0iZ2V0bmV4dCIsZS5CVUxLR0VUPSJidWxrZ2V0IixlLldBTEtTPSJ3YWxrIn0oZW58fGUoIlNOTVBNZXRob2RzIixlbj17fSkpO2NvbnN0IHRuPWUoIlNOTVBNZXRob2RzVHJhbnNsYXRpb25zIixuZXcgTWFwKFtbZW4uU0VULCJnYXRld2F5LnJwYy5zZXQiXSxbZW4uTVVMVElTRVQsImdhdGV3YXkucnBjLm11bHRpc2V0Il0sW2VuLkdFVCwiZ2F0ZXdheS5ycGMuZ2V0Il0sW2VuLkJVTEtXQUxLLCJnYXRld2F5LnJwYy5idWxrLXdhbGsiXSxbZW4uVEFCTEUsImdhdGV3YXkucnBjLnRhYmxlIl0sW2VuLk1VTFRJR0VULCJnYXRld2F5LnJwYy5tdWx0aS1nZXQiXSxbZW4uR0VUTkVYVCwiZ2F0ZXdheS5ycGMuZ2V0LW5leHQiXSxbZW4uQlVMS0dFVCwiZ2F0ZXdheS5ycGMuYnVsay1nZXQiXSxbZW4uV0FMS1MsImdhdGV3YXkucnBjLndhbGsiXV0pKTt2YXIgbm4sYW4sb24scm4sc24sbG47ZSgiSFRUUE1ldGhvZHMiLG5uKSxmdW5jdGlvbihlKXtlLkNPTk5FQ1Q9IkNPTk5FQ1QiLGUuREVMRVRFPSJERUxFVEUiLGUuR0VUPSJHRVQiLGUuSEVBRD0iSEVBRCIsZS5PUFRJT05TPSJPUFRJT05TIixlLlBBVENIPSJQQVRDSCIsZS5QT1NUPSJQT1NUIixlLlBVVD0iUFVUIixlLlRSQUNFPSJUUkFDRSJ9KG5ufHxlKCJIVFRQTWV0aG9kcyIsbm49e30pKSxlKCJTb2NrZXRFbmNvZGluZ3MiLGFuKSxmdW5jdGlvbihlKXtlLlVURl84PSJ1dGYtOCJ9KGFufHxlKCJTb2NrZXRFbmNvZGluZ3MiLGFuPXt9KSksZSgiQ29uZmlndXJhdGlvbk1vZGVzIixvbiksZnVuY3Rpb24oZSl7ZS5CQVNJQz0iYmFzaWMiLGUuQURWQU5DRUQ9ImFkdmFuY2VkIn0ob258fGUoIkNvbmZpZ3VyYXRpb25Nb2RlcyIsb249e30pKSxlKCJTZWN1cml0eVR5cGUiLHJuKSxmdW5jdGlvbihlKXtlLkFOT05ZTU9VUz0iYW5vbnltb3VzIixlLkJBU0lDPSJiYXNpYyIsZS5DRVJUSUZJQ0FURVM9ImNlcnRpZmljYXRlcyJ9KHJufHxlKCJTZWN1cml0eVR5cGUiLHJuPXt9KSksZSgiUmVwb3J0U3RyYXRlZ3lUeXBlIixzbiksZnVuY3Rpb24oZSl7ZS5PbkNoYW5nZT0iT05fQ0hBTkdFIixlLk9uUmVwb3J0UGVyaW9kPSJPTl9SRVBPUlRfUEVSSU9EIixlLk9uQ2hhbmdlT3JSZXBvcnRQZXJpb2Q9Ik9OX0NIQU5HRV9PUl9SRVBPUlRfUEVSSU9EIn0oc258fGUoIlJlcG9ydFN0cmF0ZWd5VHlwZSIsc249e30pKSxlKCJSZXBvcnRTdHJhdGVneURlZmF1bHRWYWx1ZSIsbG4pLGZ1bmN0aW9uKGUpe2VbZS5Db25uZWN0b3I9NmU0XT0iQ29ubmVjdG9yIixlW2UuRGV2aWNlPTNlNF09IkRldmljZSIsZVtlLktleT0xNWUzXT0iS2V5In0obG58fGUoIlJlcG9ydFN0cmF0ZWd5RGVmYXVsdFZhbHVlIixsbj17fSkpO2NvbnN0IGNuPWUoIlJlcG9ydFN0cmF0ZWd5VHlwZVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW3NuLk9uQ2hhbmdlLCJnYXRld2F5LnJlcG9ydC1zdHJhdGVneS5vbi1jaGFuZ2UiXSxbc24uT25SZXBvcnRQZXJpb2QsImdhdGV3YXkucmVwb3J0LXN0cmF0ZWd5Lm9uLXJlcG9ydC1wZXJpb2QiXSxbc24uT25DaGFuZ2VPclJlcG9ydFBlcmlvZCwiZ2F0ZXdheS5yZXBvcnQtc3RyYXRlZ3kub24tY2hhbmdlLW9yLXJlcG9ydC1wZXJpb2QiXV0pKTt2YXIgcG47ZSgiTW9kZVR5cGUiLHBuKSxmdW5jdGlvbihlKXtlLk5PTkU9Ik5vbmUiLGUuU0lHTj0iU2lnbiIsZS5TSUdOQU5ERU5DUllQVD0iU2lnbkFuZEVuY3J5cHQifShwbnx8ZSgiTW9kZVR5cGUiLHBuPXt9KSk7Y29uc3QgbW49ZSgiU2VjdXJpdHlUeXBlVHJhbnNsYXRpb25zTWFwIixuZXcgTWFwKFtbcm4uQU5PTllNT1VTLCJnYXRld2F5LmJyb2tlci5zZWN1cml0eS10eXBlcy5hbm9ueW1vdXMiXSxbcm4uQkFTSUMsImdhdGV3YXkuYnJva2VyLnNlY3VyaXR5LXR5cGVzLmJhc2ljIl0sW3JuLkNFUlRJRklDQVRFUywiZ2F0ZXdheS5icm9rZXIuc2VjdXJpdHktdHlwZXMuY2VydGlmaWNhdGVzIl1dKSk7dmFyIGRuO2UoIlJlc3RTZWN1cml0eVR5cGUiLGRuKSxmdW5jdGlvbihlKXtlLkFOT05ZTU9VUz0iYW5vbnltb3VzIixlLkJBU0lDPSJiYXNpYyJ9KGRufHxlKCJSZXN0U2VjdXJpdHlUeXBlIixkbj17fSkpO2NvbnN0IHVuPWUoIlJlc3RTZWN1cml0eVR5cGVUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1tkbi5BTk9OWU1PVVMsImdhdGV3YXkuYnJva2VyLnNlY3VyaXR5LXR5cGVzLmFub255bW91cyJdLFtkbi5CQVNJQywiZ2F0ZXdheS5icm9rZXIuc2VjdXJpdHktdHlwZXMuYmFzaWMiXV0pKSxnbj1lKCJNcXR0VmVyc2lvbnMiLFt7bmFtZTozLjEsdmFsdWU6M30se25hbWU6My4xMSx2YWx1ZTo0fSx7bmFtZTo1LHZhbHVlOjV9XSk7dmFyIGZuO2UoIk1hcHBpbmdUeXBlIixmbiksZnVuY3Rpb24oZSl7ZS5EQVRBPSJkYXRhIixlLlJFUVVFU1RTPSJyZXF1ZXN0cyIsZS5PUENVQT0iT1BDdWEifShmbnx8ZSgiTWFwcGluZ1R5cGUiLGZuPXt9KSk7Y29uc3QgeW49ZSgiTWFwcGluZ1R5cGVUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1tmbi5EQVRBLCJnYXRld2F5LmRhdGEtbWFwcGluZyJdLFtmbi5SRVFVRVNUUywiZ2F0ZXdheS5yZXF1ZXN0cy1tYXBwaW5nIl0sW2ZuLk9QQ1VBLCJnYXRld2F5LmRhdGEtbWFwcGluZyJdXSkpLGJuPWUoIk1hcHBpbmdIaW50VHJhbnNsYXRpb25zTWFwIixuZXcgTWFwKFtbZm4uREFUQSwiZ2F0ZXdheS5kYXRhLW1hcHBpbmctaGludCJdLFtmbi5PUENVQSwiZ2F0ZXdheS5vcGN1YS1kYXRhLW1hcHBpbmctaGludCJdLFtmbi5SRVFVRVNUUywiZ2F0ZXdheS5yZXF1ZXN0cy1tYXBwaW5nLWhpbnQiXV0pKSxobj1lKCJIZWxwTGlua0J5TWFwcGluZ1R5cGVNYXAiLG5ldyBNYXAoW1tmbi5EQVRBLHYrIi9kb2NzL2lvdC1nYXRld2F5L2NvbmZpZy9tcXR0LyNzZWN0aW9uLW1hcHBpbmciXSxbZm4uT1BDVUEsdisiL2RvY3MvaW90LWdhdGV3YXkvY29uZmlnL29wYy11YS8jc2VjdGlvbi1tYXBwaW5nIl0sW2ZuLlJFUVVFU1RTLHYrIi9kb2NzL2lvdC1nYXRld2F5L2NvbmZpZy9tcXR0LyNyZXF1ZXN0cy1tYXBwaW5nIl1dKSkseG49ZSgiUXVhbGl0eVR5cGVzIixbMCwxLDJdKSx2bj1lKCJRdWFsaXR5VHlwZVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbWzAsImdhdGV3YXkucW9zLmF0LW1vc3Qtb25jZSJdLFsxLCJnYXRld2F5LnFvcy5hdC1sZWFzdC1vbmNlIl0sWzIsImdhdGV3YXkucW9zLmV4YWN0bHktb25jZSJdXSkpO3ZhciB3bjtlKCJDb252ZXJ0b3JUeXBlIix3biksZnVuY3Rpb24oZSl7ZS5KU09OPSJqc29uIixlLkJZVEVTPSJieXRlcyIsZS5DVVNUT009ImN1c3RvbSJ9KHdufHxlKCJDb252ZXJ0b3JUeXBlIix3bj17fSkpO2NvbnN0IENuPWUoIkNvbnZlcnRvclR5cGVUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1t3bi5KU09OLCJnYXRld2F5LkpTT04iXSxbd24uQllURVMsImdhdGV3YXkuYnl0ZXMiXSxbd24uQ1VTVE9NLCJnYXRld2F5LmN1c3RvbSJdXSkpO3ZhciBUbixTbixrbjtlKCJTb3VyY2VUeXBlIixUbiksZnVuY3Rpb24oZSl7ZS5NU0c9Im1lc3NhZ2UiLGUuVE9QSUM9InRvcGljIixlLkNPTlNUPSJjb25zdGFudCJ9KFRufHxlKCJTb3VyY2VUeXBlIixUbj17fSkpLGUoIk9QQ1VhU291cmNlVHlwZSIsU24pLGZ1bmN0aW9uKGUpe2UuUEFUSD0icGF0aCIsZS5JREVOVElGSUVSPSJpZGVudGlmaWVyIixlLkNPTlNUPSJjb25zdGFudCJ9KFNufHxlKCJPUENVYVNvdXJjZVR5cGUiLFNuPXt9KSksZSgiRGV2aWNlSW5mb1R5cGUiLGtuKSxmdW5jdGlvbihlKXtlLkZVTEw9ImZ1bGwiLGUuUEFSVElBTD0icGFydGlhbCJ9KGtufHxlKCJEZXZpY2VJbmZvVHlwZSIsa249e30pKTtjb25zdCBMbj1lKCJTb3VyY2VUeXBlVHJhbnNsYXRpb25zTWFwIixuZXcgTWFwKFtbVG4uTVNHLCJnYXRld2F5LnNvdXJjZS10eXBlLm1zZyJdLFtUbi5UT1BJQywiZ2F0ZXdheS5zb3VyY2UtdHlwZS50b3BpYyJdLFtUbi5DT05TVCwiZ2F0ZXdheS5zb3VyY2UtdHlwZS5jb25zdCJdLFtTbi5QQVRILCJnYXRld2F5LnNvdXJjZS10eXBlLnBhdGgiXSxbU24uSURFTlRJRklFUiwiZ2F0ZXdheS5zb3VyY2UtdHlwZS5pZGVudGlmaWVyIl0sW1NuLkNPTlNULCJnYXRld2F5LnNvdXJjZS10eXBlLmNvbnN0Il1dKSk7dmFyIEZuLEluO2UoIlNlcnZlclNpZGVScGNUeXBlIixGbiksZnVuY3Rpb24oZSl7ZS5XaXRoUmVzcG9uc2U9InR3b1dheSIsZS5XaXRob3V0UmVzcG9uc2U9Im9uZVdheSJ9KEZufHxlKCJTZXJ2ZXJTaWRlUnBjVHlwZSIsRm49e30pKSxlKCJSZXF1ZXN0VHlwZSIsSW4pLGZ1bmN0aW9uKGUpe2UuQ09OTkVDVF9SRVFVRVNUPSJjb25uZWN0UmVxdWVzdHMiLGUuRElTQ09OTkVDVF9SRVFVRVNUPSJkaXNjb25uZWN0UmVxdWVzdHMiLGUuQVRUUklCVVRFX1JFUVVFU1Q9ImF0dHJpYnV0ZVJlcXVlc3RzIixlLkFUVFJJQlVURV9VUERBVEU9ImF0dHJpYnV0ZVVwZGF0ZXMiLGUuU0VSVkVSX1NJREVfUlBDPSJzZXJ2ZXJTaWRlUnBjIn0oSW58fGUoIlJlcXVlc3RUeXBlIixJbj17fSkpO2NvbnN0IEFuPWUoIlJlcXVlc3RUeXBlc1RyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW0luLkNPTk5FQ1RfUkVRVUVTVCwiZ2F0ZXdheS5yZXF1ZXN0LmNvbm5lY3QtcmVxdWVzdCJdLFtJbi5ESVNDT05ORUNUX1JFUVVFU1QsImdhdGV3YXkucmVxdWVzdC5kaXNjb25uZWN0LXJlcXVlc3QiXSxbSW4uQVRUUklCVVRFX1JFUVVFU1QsImdhdGV3YXkucmVxdWVzdC5hdHRyaWJ1dGUtcmVxdWVzdCJdLFtJbi5BVFRSSUJVVEVfVVBEQVRFLCJnYXRld2F5LnJlcXVlc3QuYXR0cmlidXRlLXVwZGF0ZSJdLFtJbi5TRVJWRVJfU0lERV9SUEMsImdhdGV3YXkucmVxdWVzdC5ycGMtY29ubmVjdGlvbiJdXSkpO3ZhciBObjtlKCJNYXBwaW5nS2V5c1R5cGUiLE5uKSxmdW5jdGlvbihlKXtlLkFUVFJJQlVURVM9ImF0dHJpYnV0ZXMiLGUuVElNRVNFUklFUz0idGltZXNlcmllcyIsZS5DVVNUT009ImV4dGVuc2lvbkNvbmZpZyIsZS5SUENfTUVUSE9EUz0icnBjX21ldGhvZHMiLGUuQVRUUklCVVRFU19VUERBVEVTPSJhdHRyaWJ1dGVzX3VwZGF0ZXMifShObnx8ZSgiTWFwcGluZ0tleXNUeXBlIixObj17fSkpO2NvbnN0IE1uPWUoIk1hcHBpbmdLZXlzUGFuZWxUaXRsZVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW05uLkFUVFJJQlVURVMsImdhdGV3YXkuYXR0cmlidXRlcyJdLFtObi5USU1FU0VSSUVTLCJnYXRld2F5LnRpbWVzZXJpZXMiXSxbTm4uQ1VTVE9NLCJnYXRld2F5LmtleXMiXSxbTm4uQVRUUklCVVRFU19VUERBVEVTLCJnYXRld2F5LmF0dHJpYnV0ZS11cGRhdGVzIl0sW05uLlJQQ19NRVRIT0RTLCJnYXRld2F5LnJwYy1tZXRob2RzIl1dKSksRW49ZSgiTWFwcGluZ0tleXNBZGRLZXlUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1tObi5BVFRSSUJVVEVTLCJnYXRld2F5LmFkZC1hdHRyaWJ1dGUiXSxbTm4uVElNRVNFUklFUywiZ2F0ZXdheS5hZGQtdGltZXNlcmllcyJdLFtObi5DVVNUT00sImdhdGV3YXkuYWRkLWtleSJdLFtObi5BVFRSSUJVVEVTX1VQREFURVMsImdhdGV3YXkuYWRkLWF0dHJpYnV0ZS11cGRhdGUiXSxbTm4uUlBDX01FVEhPRFMsImdhdGV3YXkuYWRkLXJwYy1tZXRob2QiXV0pKSxxbj1lKCJNYXBwaW5nS2V5c0RlbGV0ZUtleVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW05uLkFUVFJJQlVURVMsImdhdGV3YXkuZGVsZXRlLWF0dHJpYnV0ZSJdLFtObi5USU1FU0VSSUVTLCJnYXRld2F5LmRlbGV0ZS10aW1lc2VyaWVzIl0sW05uLkNVU1RPTSwiZ2F0ZXdheS5kZWxldGUta2V5Il0sW05uLkFUVFJJQlVURVNfVVBEQVRFUywiZ2F0ZXdheS5kZWxldGUtYXR0cmlidXRlLXVwZGF0ZSJdLFtObi5SUENfTUVUSE9EUywiZ2F0ZXdheS5kZWxldGUtcnBjLW1ldGhvZCJdXSkpLERuPWUoIk1hcHBpbmdLZXlzTm9LZXlzVGV4dFRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW05uLkFUVFJJQlVURVMsImdhdGV3YXkubm8tYXR0cmlidXRlcyJdLFtObi5USU1FU0VSSUVTLCJnYXRld2F5Lm5vLXRpbWVzZXJpZXMiXSxbTm4uQ1VTVE9NLCJnYXRld2F5Lm5vLWtleXMiXSxbTm4uQVRUUklCVVRFU19VUERBVEVTLCJnYXRld2F5Lm5vLWF0dHJpYnV0ZS11cGRhdGVzIl0sW05uLlJQQ19NRVRIT0RTLCJnYXRld2F5Lm5vLXJwYy1tZXRob2RzIl1dKSk7dmFyIFBuLEduLE9uO2UoIlNlcnZlclNpZGVSUENUeXBlIixQbiksZnVuY3Rpb24oZSl7ZS5PTkVfV0FZPSJvbmVXYXkiLGUuVFdPX1dBWT0idHdvV2F5In0oUG58fGUoIlNlcnZlclNpZGVSUENUeXBlIixQbj17fSkpLGUoIk1hcHBpbmdWYWx1ZVR5cGUiLEduKSxmdW5jdGlvbihlKXtlLlNUUklORz0ic3RyaW5nIixlLklOVEVHRVI9ImludGVnZXIiLGUuRE9VQkxFPSJkb3VibGUiLGUuQk9PTEVBTj0iYm9vbGVhbiJ9KEdufHxlKCJNYXBwaW5nVmFsdWVUeXBlIixHbj17fSkpLGUoIk1vZGlmaWVyVHlwZSIsT24pLGZ1bmN0aW9uKGUpe2UuRElWSURFUj0iZGl2aWRlciIsZS5NVUxUSVBMSUVSPSJtdWx0aXBsaWVyIn0oT258fGUoIk1vZGlmaWVyVHlwZSIsT249e30pKTtjb25zdCBSbj1lKCJNb2RpZmllclR5cGVzTWFwIixuZXcgTWFwKFtbT24uRElWSURFUix7bmFtZToiZ2F0ZXdheS5kaXZpZGVyIixpY29uOiJtZGk6ZGl2aXNpb24ifV0sW09uLk1VTFRJUExJRVIse25hbWU6ImdhdGV3YXkubXVsdGlwbGllciIsaWNvbjoibWRpOm11bHRpcGxpY2F0aW9uIn1dXSkpLFZuPWUoIm1hcHBpbmdWYWx1ZVR5cGVzTWFwIixuZXcgTWFwKFtbR24uU1RSSU5HLHtuYW1lOiJ2YWx1ZS5zdHJpbmciLGljb246Im1kaTpmb3JtYXQtdGV4dCJ9XSxbR24uSU5URUdFUix7bmFtZToidmFsdWUuaW50ZWdlciIsaWNvbjoibWRpOm51bWVyaWMifV0sW0duLkRPVUJMRSx7bmFtZToidmFsdWUuZG91YmxlIixpY29uOiJtZGk6bnVtZXJpYyJ9XSxbR24uQk9PTEVBTix7bmFtZToidmFsdWUuYm9vbGVhbiIsaWNvbjoibWRpOmNoZWNrYm94LW1hcmtlZC1vdXRsaW5lIn1dXSkpLEJuPWUoIkRhdGFDb252ZXJzaW9uVHJhbnNsYXRpb25zTWFwIixuZXcgTWFwKFtbd24uSlNPTiwiZ2F0ZXdheS5KU09OLWhpbnQiXSxbd24uQllURVMsImdhdGV3YXkuYnl0ZXMtaGludCJdLFt3bi5DVVNUT00sImdhdGV3YXkuY3VzdG9tLWhpbnQiXV0pKTt2YXIgVW47ZSgiU2VjdXJpdHlQb2xpY3kiLFVuKSxmdW5jdGlvbihlKXtlLkJBU0lDMTI4PSJCYXNpYzEyOFJzYTE1IixlLkJBU0lDMjU2PSJCYXNpYzI1NiIsZS5CQVNJQzI1NlNIQT0iQmFzaWMyNTZTaGEyNTYifShVbnx8ZSgiU2VjdXJpdHlQb2xpY3kiLFVuPXt9KSk7Y29uc3QgX249ZSgiU2VjdXJpdHlQb2xpY3lUeXBlcyIsW3t2YWx1ZTpVbi5CQVNJQzEyOCxuYW1lOiJCYXNpYzEyOFJTQTE1In0se3ZhbHVlOlVuLkJBU0lDMjU2LG5hbWU6IkJhc2ljMjU2In0se3ZhbHVlOlVuLkJBU0lDMjU2U0hBLG5hbWU6IkJhc2ljMjU2U0hBMjU2In1dKTt2YXIgSG47ZSgiTW9kYnVzUHJvdG9jb2xUeXBlIixIbiksZnVuY3Rpb24oZSl7ZS5UQ1A9InRjcCIsZS5VRFA9InVkcCIsZS5TZXJpYWw9InNlcmlhbCJ9KEhufHxlKCJNb2RidXNQcm90b2NvbFR5cGUiLEhuPXt9KSk7Y29uc3Qgem49ZSgiTW9kYnVzUHJvdG9jb2xMYWJlbHNNYXAiLG5ldyBNYXAoW1tIbi5UQ1AsIlRDUCJdLFtIbi5VRFAsIlVEUCJdLFtIbi5TZXJpYWwsIlNlcmlhbCJdXSkpO3ZhciBXbixqbjtlKCJNb2RidXNNZXRob2RUeXBlIixXbiksZnVuY3Rpb24oZSl7ZS5TT0NLRVQ9InNvY2tldCIsZS5SVFU9InJ0dSJ9KFdufHxlKCJNb2RidXNNZXRob2RUeXBlIixXbj17fSkpLGUoIk1vZGJ1c1NlcmlhbE1ldGhvZFR5cGUiLGpuKSxmdW5jdGlvbihlKXtlLlJUVT0icnR1IixlLkFTQ0lJPSJhc2NpaSJ9KGpufHxlKCJNb2RidXNTZXJpYWxNZXRob2RUeXBlIixqbj17fSkpO2NvbnN0IEtuPWUoIk1vZGJ1c01ldGhvZExhYmVsc01hcCIsbmV3IE1hcChbW1duLlNPQ0tFVCwiU29ja2V0Il0sW1duLlJUVSwiUlRVIl0sW2puLkFTQ0lJLCJBU0NJSSJdXSkpLCRuPWUoIk1vZGJ1c0J5dGVTaXplcyIsWzUsNiw3LDhdKTt2YXIgWW47ZSgiTW9kYnVzUGFyaXR5IixZbiksZnVuY3Rpb24oZSl7ZS5FdmVuPSJFIixlLk9kZD0iTyIsZS5Ob25lPSJOIn0oWW58fGUoIk1vZGJ1c1Bhcml0eSIsWW49e30pKTtjb25zdCBRbj1lKCJNb2RidXNQYXJpdHlMYWJlbHNNYXAiLG5ldyBNYXAoW1tZbi5FdmVuLCJFdmVuIl0sW1luLk9kZCwiT2RkIl0sW1luLk5vbmUsIk5vbmUiXV0pKTt2YXIgSm4sWG47ZSgiTW9kYnVzT3JkZXJUeXBlIixKbiksZnVuY3Rpb24oZSl7ZS5CSUc9IkJJRyIsZS5MSVRUTEU9IkxJVFRMRSJ9KEpufHxlKCJNb2RidXNPcmRlclR5cGUiLEpuPXt9KSksZSgiTW9kYnVzUmVnaXN0ZXJUeXBlIixYbiksZnVuY3Rpb24oZSl7ZS5Ib2xkaW5nUmVnaXN0ZXJzPSJob2xkaW5nX3JlZ2lzdGVycyIsZS5Db2lsc0luaXRpYWxpemVyPSJjb2lsc19pbml0aWFsaXplciIsZS5JbnB1dFJlZ2lzdGVycz0iaW5wdXRfcmVnaXN0ZXJzIixlLkRpc2NyZXRlSW5wdXRzPSJkaXNjcmV0ZV9pbnB1dHMifShYbnx8ZSgiTW9kYnVzUmVnaXN0ZXJUeXBlIixYbj17fSkpO2NvbnN0IFpuPWUoIk1vZGJ1c1JlZ2lzdGVyVHJhbnNsYXRpb25zTWFwIixuZXcgTWFwKFtbWG4uSG9sZGluZ1JlZ2lzdGVycywiZ2F0ZXdheS5ob2xkaW5nX3JlZ2lzdGVycyJdLFtYbi5Db2lsc0luaXRpYWxpemVyLCJnYXRld2F5LmNvaWxzX2luaXRpYWxpemVyIl0sW1huLklucHV0UmVnaXN0ZXJzLCJnYXRld2F5LmlucHV0X3JlZ2lzdGVycyJdLFtYbi5EaXNjcmV0ZUlucHV0cywiZ2F0ZXdheS5kaXNjcmV0ZV9pbnB1dHMiXV0pKTt2YXIgZWE7ZSgiTW9kYnVzRGF0YVR5cGUiLGVhKSxmdW5jdGlvbihlKXtlLlNUUklORz0ic3RyaW5nIixlLkJZVEVTPSJieXRlcyIsZS5CSVRTPSJiaXRzIixlLklOVDg9IjhpbnQiLGUuVUlOVDg9Ijh1aW50IixlLkZMT0FUOD0iOGZsb2F0IixlLklOVDE2PSIxNmludCIsZS5VSU5UMTY9IjE2dWludCIsZS5GTE9BVDE2PSIxNmZsb2F0IixlLklOVDMyPSIzMmludCIsZS5VSU5UMzI9IjMydWludCIsZS5GTE9BVDMyPSIzMmZsb2F0IixlLklOVDY0PSI2NGludCIsZS5VSU5UNjQ9IjY0dWludCIsZS5GTE9BVDY0PSI2NGZsb2F0In0oZWF8fGUoIk1vZGJ1c0RhdGFUeXBlIixlYT17fSkpO2NvbnN0IHRhPWUoIk1vZGJ1c0VkaXRhYmxlRGF0YVR5cGVzIixbZWEuQllURVMsZWEuQklUUyxlYS5TVFJJTkddKTt2YXIgbmEsYWE7ZSgiTW9kYnVzT2JqZWN0Q291bnRCeURhdGFUeXBlIixuYSksZnVuY3Rpb24oZSl7ZVtlWyI4aW50Il09MV09IjhpbnQiLGVbZVsiOHVpbnQiXT0xXT0iOHVpbnQiLGVbZVsiOGZsb2F0Il09MV09IjhmbG9hdCIsZVtlWyIxNmludCJdPTFdPSIxNmludCIsZVtlWyIxNnVpbnQiXT0xXT0iMTZ1aW50IixlW2VbIjE2ZmxvYXQiXT0xXT0iMTZmbG9hdCIsZVtlWyIzMmludCJdPTJdPSIzMmludCIsZVtlWyIzMnVpbnQiXT0yXT0iMzJ1aW50IixlW2VbIjMyZmxvYXQiXT0yXT0iMzJmbG9hdCIsZVtlWyI2NGludCJdPTRdPSI2NGludCIsZVtlWyI2NHVpbnQiXT00XT0iNjR1aW50IixlW2VbIjY0ZmxvYXQiXT00XT0iNjRmbG9hdCJ9KG5hfHxlKCJNb2RidXNPYmplY3RDb3VudEJ5RGF0YVR5cGUiLG5hPXt9KSksZSgiTW9kYnVzVmFsdWVLZXkiLGFhKSxmdW5jdGlvbihlKXtlLkFUVFJJQlVURVM9ImF0dHJpYnV0ZXMiLGUuVElNRVNFUklFUz0idGltZXNlcmllcyIsZS5BVFRSSUJVVEVTX1VQREFURVM9ImF0dHJpYnV0ZVVwZGF0ZXMiLGUuUlBDX1JFUVVFU1RTPSJycGMifShhYXx8ZSgiTW9kYnVzVmFsdWVLZXkiLGFhPXt9KSk7Y29uc3Qgb2E9ZSgiTW9kYnVzS2V5c1BhbmVsVGl0bGVUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1thYS5BVFRSSUJVVEVTLCJnYXRld2F5LmF0dHJpYnV0ZXMiXSxbYWEuVElNRVNFUklFUywiZ2F0ZXdheS50aW1lc2VyaWVzIl0sW2FhLkFUVFJJQlVURVNfVVBEQVRFUywiZ2F0ZXdheS5hdHRyaWJ1dGUtdXBkYXRlcyJdLFthYS5SUENfUkVRVUVTVFMsImdhdGV3YXkucnBjLXJlcXVlc3RzIl1dKSksaWE9ZSgiTW9kYnVzS2V5c0FkZEtleVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW2FhLkFUVFJJQlVURVMsImdhdGV3YXkuYWRkLWF0dHJpYnV0ZSJdLFthYS5USU1FU0VSSUVTLCJnYXRld2F5LmFkZC10aW1lc2VyaWVzIl0sW2FhLkFUVFJJQlVURVNfVVBEQVRFUywiZ2F0ZXdheS5hZGQtYXR0cmlidXRlLXVwZGF0ZSJdLFthYS5SUENfUkVRVUVTVFMsImdhdGV3YXkuYWRkLXJwYy1yZXF1ZXN0Il1dKSkscmE9ZSgiTW9kYnVzS2V5c0RlbGV0ZUtleVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW2FhLkFUVFJJQlVURVMsImdhdGV3YXkuZGVsZXRlLWF0dHJpYnV0ZSJdLFthYS5USU1FU0VSSUVTLCJnYXRld2F5LmRlbGV0ZS10aW1lc2VyaWVzIl0sW2FhLkFUVFJJQlVURVNfVVBEQVRFUywiZ2F0ZXdheS5kZWxldGUtYXR0cmlidXRlLXVwZGF0ZSJdLFthYS5SUENfUkVRVUVTVFMsImdhdGV3YXkuZGVsZXRlLXJwYy1yZXF1ZXN0Il1dKSksc2E9ZSgiTW9kYnVzS2V5c05vS2V5c1RleHRUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1thYS5BVFRSSUJVVEVTLCJnYXRld2F5Lm5vLWF0dHJpYnV0ZXMiXSxbYWEuVElNRVNFUklFUywiZ2F0ZXdheS5uby10aW1lc2VyaWVzIl0sW2FhLkFUVFJJQlVURVNfVVBEQVRFUywiZ2F0ZXdheS5uby1hdHRyaWJ1dGUtdXBkYXRlcyJdLFthYS5SUENfUkVRVUVTVFMsImdhdGV3YXkubm8tcnBjLXJlcXVlc3RzIl1dKSksbGE9ZSgiTW9kYnVzQmF1ZHJhdGVzIixbNDgwMCw5NjAwLDE5MjAwLDM4NDAwLDU3NjAwLDExNTIwMCwyMzA0MDAsNDYwODAwLDkyMTYwMF0pO2NsYXNzIGNhe2NvbnN0cnVjdG9yKCl7dGhpcy5kaXNwbGF5ZWRDb2x1bW5zPVsidHMiLCJzdGF0dXMiLCJtZXNzYWdlIl0sdGhpcy5nYXRld2F5TG9nTGlua3M9W3tuYW1lOiJHZW5lcmFsIixrZXk6IkxPR1MifSx7bmFtZToiU2VydmljZSIsa2V5OiJTRVJWSUNFX0xPR1MifSx7bmFtZToiQ29ubmVjdGlvbiIsa2V5OiJDT05ORUNUSU9OX0xPR1MifSx7bmFtZToiU3RvcmFnZSIsa2V5OiJTVE9SQUdFX0xPR1MifSx7a2V5OiJFWFRFTlNJT05TX0xPR1MiLG5hbWU6IkV4dGVuc2lvbiJ9XTtjb25zdCBlPXtwcm9wZXJ0eToidHMiLGRpcmVjdGlvbjp3LkRFU0N9O3RoaXMucGFnZUxpbms9bmV3IEMoMTAsMCxudWxsLGUpLHRoaXMuZGF0YVNvdXJjZT1uZXcgeShbXSl9bmdPbkluaXQoKXt0aGlzLnVwZGF0ZVdpZGdldFRpdGxlKCl9bmdBZnRlclZpZXdJbml0KCl7aWYodGhpcy5kYXRhU291cmNlLnNvcnQ9dGhpcy5zb3J0LHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3I9dGhpcy5wYWdpbmF0b3IsdGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5vblRpbWV3aW5kb3dDaGFuZ2VGdW5jdGlvbj1lPT4odGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5vcHRpb25zLnRpbWVXaW5kb3dDb25maWc9ZSx0aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLnVwZGF0ZURhdGFTdWJzY3JpcHRpb25zKCksZSksdGhpcy5jdHguc2V0dGluZ3MuaXNDb25uZWN0b3JMb2cmJnRoaXMuY3R4LnNldHRpbmdzLmNvbm5lY3RvckxvZ1N0YXRlKXtjb25zdCBlPXRoaXMuY3R4LnN0YXRlQ29udHJvbGxlci5nZXRTdGF0ZVBhcmFtcygpW3RoaXMuY3R4LnNldHRpbmdzLmNvbm5lY3RvckxvZ1N0YXRlXTt0aGlzLmxvZ0xpbmtzPVt7a2V5OmAke2Uua2V5fV9MT0dTYCxuYW1lOiJDb25uZWN0b3IiLGZpbHRlckZuOmU9PiFlLm1lc3NhZ2UuaW5jbHVkZXMoIl9jb252ZXJ0ZXIucHkiKX0se2tleTpgJHtlLmtleX1fTE9HU2AsbmFtZToiQ29udmVydGVyIixmaWx0ZXJGbjplPT5lLm1lc3NhZ2UuaW5jbHVkZXMoIl9jb252ZXJ0ZXIucHkiKX1dfWVsc2UgdGhpcy5sb2dMaW5rcz10aGlzLmdhdGV3YXlMb2dMaW5rczt0aGlzLmFjdGl2ZUxpbms9dGhpcy5sb2dMaW5rc1swXSx0aGlzLmNoYW5nZVN1YnNjcmlwdGlvbigpfXVwZGF0ZVdpZGdldFRpdGxlKCl7aWYodGhpcy5jdHguc2V0dGluZ3MuaXNDb25uZWN0b3JMb2cmJnRoaXMuY3R4LnNldHRpbmdzLmNvbm5lY3RvckxvZ1N0YXRlKXtjb25zdCBlPXRoaXMuY3R4LndpZGdldENvbmZpZy50aXRsZSx0PSIke2Nvbm5lY3Rvck5hbWV9IjtpZihlLmluY2x1ZGVzKHQpKXtjb25zdCBuPXRoaXMuY3R4LnN0YXRlQ29udHJvbGxlci5nZXRTdGF0ZVBhcmFtcygpW3RoaXMuY3R4LnNldHRpbmdzLmNvbm5lY3RvckxvZ1N0YXRlXTt0aGlzLmN0eC53aWRnZXRUaXRsZT1lLnJlcGxhY2UodCxuLmtleSl9fX11cGRhdGVEYXRhKCl7aWYodGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5kYXRhLmxlbmd0aCYmdGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5kYXRhWzBdKXtsZXQgZT10aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLmRhdGFbMF0uZGF0YS5tYXAoKGU9Pntjb25zdCB0PXt0czplWzBdLGtleTp0aGlzLmFjdGl2ZUxpbmsua2V5LG1lc3NhZ2U6ZVsxXSxzdGF0dXM6IklOVkFMSUQgTE9HIEZPUk1BVCJ9O3RyeXt0Lm1lc3NhZ2U9L1xbKC4qKS8uZXhlYyhlWzFdKVswXX1jYXRjaChuKXt0Lm1lc3NhZ2U9ZVsxXX10cnl7dC5zdGF0dXM9ZVsxXS5tYXRjaCgvXHwoXHcrKVx8LylbMV19Y2F0Y2goZSl7dC5zdGF0dXM9IklOVkFMSUQgTE9HIEZPUk1BVCJ9cmV0dXJuIHR9KSk7dGhpcy5hY3RpdmVMaW5rLmZpbHRlckZuJiYoZT1lLmZpbHRlcigoZT0+dGhpcy5hY3RpdmVMaW5rLmZpbHRlckZuKGUpKSkpLHRoaXMuZGF0YVNvdXJjZS5kYXRhPWV9fW9uVGFiQ2hhbmdlZChlKXt0aGlzLmFjdGl2ZUxpbms9ZSx0aGlzLmNoYW5nZVN1YnNjcmlwdGlvbigpfXN0YXR1c0NsYXNzKGUpe3N3aXRjaChlKXtjYXNlIHF0LkRFQlVHOnJldHVybiJzdGF0dXMgc3RhdHVzLWRlYnVnIjtjYXNlIHF0LldBUk5JTkc6cmV0dXJuInN0YXR1cyBzdGF0dXMtd2FybmluZyI7Y2FzZSBxdC5FUlJPUjpjYXNlIHF0LkVYQ0VQVElPTjpyZXR1cm4ic3RhdHVzIHN0YXR1cy1lcnJvciI7ZGVmYXVsdDpyZXR1cm4ic3RhdHVzIHN0YXR1cy1pbmZvIn19c3RhdHVzQ2xhc3NNc2coZSl7aWYoZT09PXF0LkVYQ0VQVElPTilyZXR1cm4ibXNnLXN0YXR1cy1leGNlcHRpb24ifXRyYWNrQnlMb2dUcyhlLHQpe3JldHVybiB0LnRzfWNoYW5nZVN1YnNjcmlwdGlvbigpe3RoaXMuY3R4LmRhdGFzb3VyY2VzJiZ0aGlzLmN0eC5kYXRhc291cmNlc1swXS5lbnRpdHkmJnRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24ub3B0aW9ucy5kYXRhc291cmNlcyYmKHRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24ub3B0aW9ucy5kYXRhc291cmNlc1swXS5kYXRhS2V5cz1be25hbWU6dGhpcy5hY3RpdmVMaW5rLmtleSx0eXBlOlQudGltZXNlcmllcyxzZXR0aW5nczp7fX1dLHRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLnVwZGF0ZURhdGFTdWJzY3JpcHRpb25zKCksdGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5jYWxsYmFja3Mub25EYXRhVXBkYXRlZD0oKT0+e3RoaXMudXBkYXRlRGF0YSgpfSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpjYSxkZXBzOltdLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6Y2Esc2VsZWN0b3I6InRiLWdhdGV3YXktbG9ncyIsaW5wdXRzOntjdHg6ImN0eCIsZGlhbG9nUmVmOiJkaWFsb2dSZWYifSx2aWV3UXVlcmllczpbe3Byb3BlcnR5TmFtZToic2VhcmNoSW5wdXRGaWVsZCIsZmlyc3Q6ITAscHJlZGljYXRlOlsic2VhcmNoSW5wdXQiXSxkZXNjZW5kYW50czohMH0se3Byb3BlcnR5TmFtZToic29ydCIsZmlyc3Q6ITAscHJlZGljYXRlOmcsZGVzY2VuZGFudHM6ITB9LHtwcm9wZXJ0eU5hbWU6InBhZ2luYXRvciIsZmlyc3Q6ITAscHJlZGljYXRlOmgsZGVzY2VuZGFudHM6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG5hdiBtYXQtdGFiLW5hdi1iYXIgW3RhYlBhbmVsXT0idGFiUGFuZWwiPlxuICA8YSBtYXQtdGFiLWxpbmsgKm5nRm9yPSJsZXQgbGluayBvZiBsb2dMaW5rcyJcbiAgICAgKGNsaWNrKT0ib25UYWJDaGFuZ2VkKGxpbmspIlxuICAgICBbYWN0aXZlXT0iYWN0aXZlTGluay5uYW1lID09PSBsaW5rLm5hbWUiPiB7eyBsaW5rLm5hbWUgfX0gPC9hPlxuPC9uYXY+XG48bWF0LXRhYi1uYXYtcGFuZWwgI3RhYlBhbmVsPjwvbWF0LXRhYi1uYXYtcGFuZWw+XG48dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT0iZGF0YVNvdXJjZSIgW3RyYWNrQnldPSJ0cmFja0J5TG9nVHMiXG4gICAgICAgbWF0U29ydCBbbWF0U29ydEFjdGl2ZV09InBhZ2VMaW5rLnNvcnRPcmRlci5wcm9wZXJ0eSIgW21hdFNvcnREaXJlY3Rpb25dPSJwYWdlTGluay5zb3J0RGlyZWN0aW9uKCkiXG4gICAgICAgbWF0U29ydERpc2FibGVDbGVhcj5cbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9InRzIj5cbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDIwJSI+e3sgXCd3aWRnZXRzLmdhdGV3YXkuY3JlYXRlZC10aW1lXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiPlxuICAgICAge3sgYXR0cmlidXRlLnRzIHwgZGF0ZTpcJ3l5eXktTU0tZGQgSEg6bW06c3NcJyB9fVxuICAgIDwvbWF0LWNlbGw+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0ic3RhdHVzIj5cbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDEwJSI+e3sgXCd3aWRnZXRzLmdhdGV3YXkubGV2ZWxcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWhlYWRlci1jZWxsPlxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IGF0dHJpYnV0ZSI+XG4gICAgICA8c3BhbiBbY2xhc3NdPSJzdGF0dXNDbGFzcyhhdHRyaWJ1dGUuc3RhdHVzKSI+e3sgYXR0cmlidXRlLnN0YXR1cyB9fTwvc3Bhbj5cbiAgICA8L21hdC1jZWxsPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9Im1lc3NhZ2UiPlxuICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIHN0eWxlPSJ3aWR0aDogNzAlIj57eyBcJ3dpZGdldHMuZ2F0ZXdheS5tZXNzYWdlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIFtjbGFzc109InN0YXR1c0NsYXNzTXNnKGF0dHJpYnV0ZS5zdGF0dXMpIj5cbiAgICAgIHt7IGF0dHJpYnV0ZS5tZXNzYWdlIH19XG4gICAgPC9tYXQtY2VsbD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxtYXQtaGVhZGVyLXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiICptYXRIZWFkZXJSb3dEZWY9ImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTogdHJ1ZSI+PC9tYXQtaGVhZGVyLXJvdz5cbiAgPG1hdC1yb3cgY2xhc3M9Im1hdC1yb3ctc2VsZWN0IiAqbWF0Um93RGVmPSJsZXQgYXR0cmlidXRlOyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyI+PC9tYXQtcm93PlxuPC90YWJsZT5cbjxzcGFuIFtmeFNob3ddPSJkYXRhU291cmNlLmRhdGEubGVuZ3RoID09PSAwIlxuICAgICAgZnhGbGV4IGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiXG4gICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCI+e3sgXCdhdHRyaWJ1dGUubm8tdGVsZW1ldHJ5LXRleHRcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbjxzcGFuIGZ4RmxleCBbZnhTaG93XT0iZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCAhPT0gMCI+PC9zcGFuPlxuPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG48bWF0LXBhZ2luYXRvciBbbGVuZ3RoXT0iZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCJcbiAgICAgICAgICAgICAgIFtwYWdlSW5kZXhdPSJwYWdlTGluay5wYWdlIlxuICAgICAgICAgICAgICAgW3BhZ2VTaXplXT0icGFnZUxpbmsucGFnZVNpemUiXG4gICAgICAgICAgICAgICBbcGFnZVNpemVPcHRpb25zXT0iWzEwLCAyMCwgMzBdIj48L21hdC1wYWdpbmF0b3I+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3cteDphdXRvO3BhZGRpbmc6MH06aG9zdCAuc3RhdHVze2JvcmRlci1yYWRpdXM6MjBweDtmb250LXdlaWdodDo1MDA7cGFkZGluZzo1cHggMTVweH06aG9zdCAuc3RhdHVzLWRlYnVne2NvbG9yOmdyZWVuO2JhY2tncm91bmQ6IzAwODAwMDFhfTpob3N0IC5zdGF0dXMtd2FybmluZ3tjb2xvcjpvcmFuZ2U7YmFja2dyb3VuZDojZmZhNTAwMWF9Omhvc3QgLnN0YXR1cy1lcnJvcntjb2xvcjpyZWQ7YmFja2dyb3VuZDojZmYwMDAwMWF9Omhvc3QgLnN0YXR1cy1pbmZve2NvbG9yOiMwMGY7YmFja2dyb3VuZDojMDAwMDgwMWF9Omhvc3QgLm1zZy1zdGF0dXMtZXhjZXB0aW9ue2NvbG9yOnJlZH1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Yi5NYXRUYWJsZSxzZWxlY3RvcjoibWF0LXRhYmxlLCB0YWJsZVttYXQtdGFibGVdIixleHBvcnRBczpbIm1hdFRhYmxlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRIZWFkZXJDZWxsRGVmLHNlbGVjdG9yOiJbbWF0SGVhZGVyQ2VsbERlZl0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0SGVhZGVyUm93RGVmLHNlbGVjdG9yOiJbbWF0SGVhZGVyUm93RGVmXSIsaW5wdXRzOlsibWF0SGVhZGVyUm93RGVmIiwibWF0SGVhZGVyUm93RGVmU3RpY2t5Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDb2x1bW5EZWYsc2VsZWN0b3I6IlttYXRDb2x1bW5EZWZdIixpbnB1dHM6WyJtYXRDb2x1bW5EZWYiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdENlbGxEZWYsc2VsZWN0b3I6IlttYXRDZWxsRGVmXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRSb3dEZWYsc2VsZWN0b3I6IlttYXRSb3dEZWZdIixpbnB1dHM6WyJtYXRSb3dEZWZDb2x1bW5zIiwibWF0Um93RGVmV2hlbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0SGVhZGVyQ2VsbCxzZWxlY3RvcjoibWF0LWhlYWRlci1jZWxsLCB0aFttYXQtaGVhZGVyLWNlbGxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdENlbGwsc2VsZWN0b3I6Im1hdC1jZWxsLCB0ZFttYXQtY2VsbF0ifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmIuTWF0SGVhZGVyUm93LHNlbGVjdG9yOiJtYXQtaGVhZGVyLXJvdywgdHJbbWF0LWhlYWRlci1yb3ddIixleHBvcnRBczpbIm1hdEhlYWRlclJvdyJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmIuTWF0Um93LHNlbGVjdG9yOiJtYXQtcm93LCB0clttYXQtcm93XSIsZXhwb3J0QXM6WyJtYXRSb3ciXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp4Lk1hdFBhZ2luYXRvcixzZWxlY3RvcjoibWF0LXBhZ2luYXRvciIsaW5wdXRzOlsiY29sb3IiLCJwYWdlSW5kZXgiLCJsZW5ndGgiLCJwYWdlU2l6ZSIsInBhZ2VTaXplT3B0aW9ucyIsImhpZGVQYWdlU2l6ZSIsInNob3dGaXJzdExhc3RCdXR0b25zIiwic2VsZWN0Q29uZmlnIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsicGFnZSJdLGV4cG9ydEFzOlsibWF0UGFnaW5hdG9yIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Zi5NYXRTb3J0LHNlbGVjdG9yOiJbbWF0U29ydF0iLGlucHV0czpbIm1hdFNvcnRBY3RpdmUiLCJtYXRTb3J0U3RhcnQiLCJtYXRTb3J0RGlyZWN0aW9uIiwibWF0U29ydERpc2FibGVDbGVhciIsIm1hdFNvcnREaXNhYmxlZCJdLG91dHB1dHM6WyJtYXRTb3J0Q2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTb3J0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Zi5NYXRTb3J0SGVhZGVyLHNlbGVjdG9yOiJbbWF0LXNvcnQtaGVhZGVyXSIsaW5wdXRzOlsibWF0LXNvcnQtaGVhZGVyIiwiYXJyb3dQb3NpdGlvbiIsInN0YXJ0IiwiZGlzYWJsZWQiLCJzb3J0QWN0aW9uRGVzY3JpcHRpb24iLCJkaXNhYmxlQ2xlYXIiXSxleHBvcnRBczpbIm1hdFNvcnRIZWFkZXIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp6Lk1hdERpdmlkZXIsc2VsZWN0b3I6Im1hdC1kaXZpZGVyIixpbnB1dHM6WyJ2ZXJ0aWNhbCIsImluc2V0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWJOYXYsc2VsZWN0b3I6IlttYXQtdGFiLW5hdi1iYXJdIixpbnB1dHM6WyJmaXRJbmtCYXJUb0NvbnRlbnQiLCJtYXQtc3RyZXRjaC10YWJzIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJiYWNrZ3JvdW5kQ29sb3IiLCJkaXNhYmxlUmlwcGxlIiwiY29sb3IiLCJ0YWJQYW5lbCJdLGV4cG9ydEFzOlsibWF0VGFiTmF2QmFyIiwibWF0VGFiTmF2Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWJOYXZQYW5lbCxzZWxlY3RvcjoibWF0LXRhYi1uYXYtcGFuZWwiLGlucHV0czpbImlkIl0sZXhwb3J0QXM6WyJtYXRUYWJOYXZQYW5lbCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOlcuTWF0VGFiTGluayxzZWxlY3RvcjoiW21hdC10YWItbGlua10sIFttYXRUYWJMaW5rXSIsaW5wdXRzOlsiYWN0aXZlIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJpZCJdLGV4cG9ydEFzOlsibWF0VGFiTGluayJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRTaG93SGlkZURpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhTaG93XSwgW2Z4U2hvdy5wcmludF0sICBbZnhTaG93LnhzXSwgW2Z4U2hvdy5zbV0sIFtmeFNob3cubWRdLCBbZnhTaG93LmxnXSwgW2Z4U2hvdy54bF0sICBbZnhTaG93Lmx0LXNtXSwgW2Z4U2hvdy5sdC1tZF0sIFtmeFNob3cubHQtbGddLCBbZnhTaG93Lmx0LXhsXSwgIFtmeFNob3cuZ3QteHNdLCBbZnhTaG93Lmd0LXNtXSwgW2Z4U2hvdy5ndC1tZF0sIFtmeFNob3cuZ3QtbGddLCAgW2Z4SGlkZV0sIFtmeEhpZGUucHJpbnRdLCAgW2Z4SGlkZS54c10sIFtmeEhpZGUuc21dLCBbZnhIaWRlLm1kXSwgW2Z4SGlkZS5sZ10sIFtmeEhpZGUueGxdLCAgW2Z4SGlkZS5sdC1zbV0sIFtmeEhpZGUubHQtbWRdLCBbZnhIaWRlLmx0LWxnXSwgW2Z4SGlkZS5sdC14bF0sICBbZnhIaWRlLmd0LXhzXSwgW2Z4SGlkZS5ndC1zbV0sIFtmeEhpZGUuZ3QtbWRdLCBbZnhIaWRlLmd0LWxnXSIsaW5wdXRzOlsiZnhTaG93IiwiZnhTaG93LnByaW50IiwiZnhTaG93LnhzIiwiZnhTaG93LnNtIiwiZnhTaG93Lm1kIiwiZnhTaG93LmxnIiwiZnhTaG93LnhsIiwiZnhTaG93Lmx0LXNtIiwiZnhTaG93Lmx0LW1kIiwiZnhTaG93Lmx0LWxnIiwiZnhTaG93Lmx0LXhsIiwiZnhTaG93Lmd0LXhzIiwiZnhTaG93Lmd0LXNtIiwiZnhTaG93Lmd0LW1kIiwiZnhTaG93Lmd0LWxnIiwiZnhIaWRlIiwiZnhIaWRlLnByaW50IiwiZnhIaWRlLnhzIiwiZnhIaWRlLnNtIiwiZnhIaWRlLm1kIiwiZnhIaWRlLmxnIiwiZnhIaWRlLnhsIiwiZnhIaWRlLmx0LXNtIiwiZnhIaWRlLmx0LW1kIiwiZnhIaWRlLmx0LWxnIiwiZnhIaWRlLmx0LXhsIiwiZnhIaWRlLmd0LXhzIiwiZnhIaWRlLmd0LXNtIiwiZnhIaWRlLmd0LW1kIiwiZnhIaWRlLmd0LWxnIl19LHtraW5kOiJwaXBlIix0eXBlOl8uRGF0ZVBpcGUsbmFtZToiZGF0ZSJ9LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV19KX19ZSgiR2F0ZXdheUxvZ3NDb21wb25lbnQiLGNhKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmNhLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1nYXRld2F5LWxvZ3MiLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG5hdiBtYXQtdGFiLW5hdi1iYXIgW3RhYlBhbmVsXT0idGFiUGFuZWwiPlxuICA8YSBtYXQtdGFiLWxpbmsgKm5nRm9yPSJsZXQgbGluayBvZiBsb2dMaW5rcyJcbiAgICAgKGNsaWNrKT0ib25UYWJDaGFuZ2VkKGxpbmspIlxuICAgICBbYWN0aXZlXT0iYWN0aXZlTGluay5uYW1lID09PSBsaW5rLm5hbWUiPiB7eyBsaW5rLm5hbWUgfX0gPC9hPlxuPC9uYXY+XG48bWF0LXRhYi1uYXYtcGFuZWwgI3RhYlBhbmVsPjwvbWF0LXRhYi1uYXYtcGFuZWw+XG48dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT0iZGF0YVNvdXJjZSIgW3RyYWNrQnldPSJ0cmFja0J5TG9nVHMiXG4gICAgICAgbWF0U29ydCBbbWF0U29ydEFjdGl2ZV09InBhZ2VMaW5rLnNvcnRPcmRlci5wcm9wZXJ0eSIgW21hdFNvcnREaXJlY3Rpb25dPSJwYWdlTGluay5zb3J0RGlyZWN0aW9uKCkiXG4gICAgICAgbWF0U29ydERpc2FibGVDbGVhcj5cbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9InRzIj5cbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDIwJSI+e3sgXCd3aWRnZXRzLmdhdGV3YXkuY3JlYXRlZC10aW1lXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiPlxuICAgICAge3sgYXR0cmlidXRlLnRzIHwgZGF0ZTpcJ3l5eXktTU0tZGQgSEg6bW06c3NcJyB9fVxuICAgIDwvbWF0LWNlbGw+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0ic3RhdHVzIj5cbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDEwJSI+e3sgXCd3aWRnZXRzLmdhdGV3YXkubGV2ZWxcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWhlYWRlci1jZWxsPlxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IGF0dHJpYnV0ZSI+XG4gICAgICA8c3BhbiBbY2xhc3NdPSJzdGF0dXNDbGFzcyhhdHRyaWJ1dGUuc3RhdHVzKSI+e3sgYXR0cmlidXRlLnN0YXR1cyB9fTwvc3Bhbj5cbiAgICA8L21hdC1jZWxsPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9Im1lc3NhZ2UiPlxuICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIHN0eWxlPSJ3aWR0aDogNzAlIj57eyBcJ3dpZGdldHMuZ2F0ZXdheS5tZXNzYWdlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIFtjbGFzc109InN0YXR1c0NsYXNzTXNnKGF0dHJpYnV0ZS5zdGF0dXMpIj5cbiAgICAgIHt7IGF0dHJpYnV0ZS5tZXNzYWdlIH19XG4gICAgPC9tYXQtY2VsbD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxtYXQtaGVhZGVyLXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiICptYXRIZWFkZXJSb3dEZWY9ImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTogdHJ1ZSI+PC9tYXQtaGVhZGVyLXJvdz5cbiAgPG1hdC1yb3cgY2xhc3M9Im1hdC1yb3ctc2VsZWN0IiAqbWF0Um93RGVmPSJsZXQgYXR0cmlidXRlOyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyI+PC9tYXQtcm93PlxuPC90YWJsZT5cbjxzcGFuIFtmeFNob3ddPSJkYXRhU291cmNlLmRhdGEubGVuZ3RoID09PSAwIlxuICAgICAgZnhGbGV4IGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiXG4gICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCI+e3sgXCdhdHRyaWJ1dGUubm8tdGVsZW1ldHJ5LXRleHRcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbjxzcGFuIGZ4RmxleCBbZnhTaG93XT0iZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCAhPT0gMCI+PC9zcGFuPlxuPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG48bWF0LXBhZ2luYXRvciBbbGVuZ3RoXT0iZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCJcbiAgICAgICAgICAgICAgIFtwYWdlSW5kZXhdPSJwYWdlTGluay5wYWdlIlxuICAgICAgICAgICAgICAgW3BhZ2VTaXplXT0icGFnZUxpbmsucGFnZVNpemUiXG4gICAgICAgICAgICAgICBbcGFnZVNpemVPcHRpb25zXT0iWzEwLCAyMCwgMzBdIj48L21hdC1wYWdpbmF0b3I+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3cteDphdXRvO3BhZGRpbmc6MH06aG9zdCAuc3RhdHVze2JvcmRlci1yYWRpdXM6MjBweDtmb250LXdlaWdodDo1MDA7cGFkZGluZzo1cHggMTVweH06aG9zdCAuc3RhdHVzLWRlYnVne2NvbG9yOmdyZWVuO2JhY2tncm91bmQ6IzAwODAwMDFhfTpob3N0IC5zdGF0dXMtd2FybmluZ3tjb2xvcjpvcmFuZ2U7YmFja2dyb3VuZDojZmZhNTAwMWF9Omhvc3QgLnN0YXR1cy1lcnJvcntjb2xvcjpyZWQ7YmFja2dyb3VuZDojZmYwMDAwMWF9Omhvc3QgLnN0YXR1cy1pbmZve2NvbG9yOiMwMGY7YmFja2dyb3VuZDojMDAwMDgwMWF9Omhvc3QgLm1zZy1zdGF0dXMtZXhjZXB0aW9ue2NvbG9yOnJlZH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W10scHJvcERlY29yYXRvcnM6e2N0eDpbe3R5cGU6YX1dLGRpYWxvZ1JlZjpbe3R5cGU6YX1dLHNlYXJjaElucHV0RmllbGQ6W3t0eXBlOm8sYXJnczpbInNlYXJjaElucHV0Il19XSxzb3J0Olt7dHlwZTpvLGFyZ3M6W2ddfV0scGFnaW5hdG9yOlt7dHlwZTpvLGFyZ3M6W2hdfV19fSk7Y2xhc3MgcGF7Y29uc3RydWN0b3IoZSx0LG4pe3RoaXMuZmI9ZSx0aGlzLmF0dHJpYnV0ZVNlcnZpY2U9dCx0aGlzLnV0aWxzPW4sdGhpcy5pc051bWVyaWNEYXRhPSExLHRoaXMuZGF0YVR5cGVEZWZpbmVkPSExLHRoaXMuc3RhdGlzdGljc0tleXM9W10sdGhpcy5jb21tYW5kcz1bXSx0aGlzLnN1YnNjcmlwdGlvbk9wdGlvbnM9e2NhbGxiYWNrczp7b25EYXRhVXBkYXRlZDooKT0+dGhpcy5jdHgubmdab25lLnJ1bigoKCk9Pnt0aGlzLm9uRGF0YVVwZGF0ZWQoKX0pKSxvbkRhdGFVcGRhdGVFcnJvcjooZSx0KT0+dGhpcy5jdHgubmdab25lLnJ1bigoKCk9Pnt0aGlzLm9uRGF0YVVwZGF0ZUVycm9yKHQpfSkpfSx1c2VEYXNoYm9hcmRUaW1ld2luZG93OiExLGxlZ2VuZENvbmZpZzp7cG9zaXRpb246Uy5ib3R0b219fSx0aGlzLmluaXQ9KCk9Pnt0aGlzLmZsb3RDdHg9eyRzY29wZTp0aGlzLmN0eC4kc2NvcGUsJGluamVjdG9yOnRoaXMuY3R4LiRpbmplY3Rvcix1dGlsczp0aGlzLmN0eC51dGlscyxpc01vYmlsZTp0aGlzLmN0eC5pc01vYmlsZSxpc0VkaXQ6dGhpcy5jdHguaXNFZGl0LHN1YnNjcmlwdGlvbkFwaTp0aGlzLmN0eC5zdWJzY3JpcHRpb25BcGksZGV0ZWN0Q2hhbmdlczp0aGlzLmN0eC5kZXRlY3RDaGFuZ2VzLHNldHRpbmdzOnRoaXMuY3R4LnNldHRpbmdzfX0sdGhpcy51cGRhdGVDaGFydD0oKT0+e30sdGhpcy5yZXNpemU9KCk9Pnt9O2NvbnN0IGE9e3Byb3BlcnR5OiIwIixkaXJlY3Rpb246dy5ERVNDfTt0aGlzLnBhZ2VMaW5rPW5ldyBDKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSwwLG51bGwsYSksdGhpcy5kaXNwbGF5ZWRDb2x1bW5zPVsiMCIsIjEiXSx0aGlzLmRhdGFTb3VyY2U9bmV3IHkoW10pLHRoaXMuc3RhdGlzdGljRm9ybT10aGlzLmZiLmdyb3VwKHtzdGF0aXN0aWNLZXk6W251bGwsW11dfSksdGhpcy5zdGF0aXN0aWNGb3JtLmdldCgic3RhdGlzdGljS2V5IikudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoZT0+e3RoaXMuY29tbWFuZE9iaj1udWxsLHRoaXMuY29tbWFuZHMubGVuZ3RoJiYodGhpcy5jb21tYW5kT2JqPXRoaXMuY29tbWFuZHMuZmluZCgodD0+dC5hdHRyaWJ1dGVPbkdhdGV3YXk9PT1lKSkpLHRoaXMuc3Vic2NyaXB0aW9uSW5mbyYmdGhpcy5jcmVhdGVDaGFydHNTdWJzY3JpcHRpb24odGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5kYXRhc291cmNlc1swXS5lbnRpdHksZSl9KSl9bmdBZnRlclZpZXdJbml0KCl7aWYodGhpcy5kYXRhU291cmNlLnNvcnQ9dGhpcy5zb3J0LHRoaXMuc29ydC5zb3J0Q2hhbmdlLnN1YnNjcmliZSgoKCk9PnRoaXMuc29ydERhdGEoKSkpLHRoaXMuaW5pdCgpLHRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24uZGF0YXNvdXJjZXMubGVuZ3RoKXtjb25zdCBlPXRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24uZGF0YXNvdXJjZXNbMF0uZW50aXR5O2lmKGUuaWQuaWQ9PT1rKXJldHVybjt0aGlzLmdlbmVyYWw/dGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLmdldEVudGl0eVRpbWVzZXJpZXNMYXRlc3QoZS5pZCkuc3Vic2NyaWJlKCh0PT57Y29uc3Qgbj1PYmplY3Qua2V5cyh0KS5maWx0ZXIoKGU9PmUuaW5jbHVkZXMoIkNvbm5lY3RvckV2ZW50c1Byb2R1Y2VkIil8fGUuaW5jbHVkZXMoIkNvbm5lY3RvckV2ZW50c1NlbnQiKSkpO3RoaXMuY3JlYXRlR2VuZXJhbENoYXJ0c1N1YnNjcmlwdGlvbihlLG4pfSkpOnRoaXMuYXR0cmlidXRlU2VydmljZS5nZXRFbnRpdHlBdHRyaWJ1dGVzKGUuaWQsTC5TSEFSRURfU0NPUEUsWyJnZW5lcmFsX2NvbmZpZ3VyYXRpb24iXSkuc3Vic2NyaWJlKCh0PT57dCYmdC5sZW5ndGgmJih0aGlzLmNvbW1hbmRzPXRbMF0udmFsdWUuc3RhdGlzdGljcy5jb21tYW5kcywhdGhpcy5zdGF0aXN0aWNGb3JtLmdldCgic3RhdGlzdGljS2V5IikudmFsdWUmJnRoaXMuY29tbWFuZHMmJnRoaXMuY29tbWFuZHMubGVuZ3RoJiYodGhpcy5zdGF0aXN0aWNGb3JtLmdldCgic3RhdGlzdGljS2V5Iikuc2V0VmFsdWUodGhpcy5jb21tYW5kc1swXS5hdHRyaWJ1dGVPbkdhdGV3YXkpLHRoaXMuY3JlYXRlQ2hhcnRzU3Vic2NyaXB0aW9uKGUsdGhpcy5jb21tYW5kc1swXS5hdHRyaWJ1dGVPbkdhdGV3YXkpKSl9KSl9fW5hdmlnYXRlVG9TdGF0aXN0aWNzKCl7Y29uc3QgZT1KKHRoaXMuY3R4LnN0YXRlQ29udHJvbGxlci5nZXRTdGF0ZVBhcmFtcygpKTt0aGlzLmN0eC5zdGF0ZUNvbnRyb2xsZXIub3BlblN0YXRlKCJjb25maWd1cmF0aW9uIixlKX1zb3J0RGF0YSgpe3RoaXMuZGF0YVNvdXJjZS5zb3J0RGF0YSh0aGlzLmRhdGFTb3VyY2UuZGF0YSx0aGlzLnNvcnQpfW9uTGVnZW5kS2V5SGlkZGVuQ2hhbmdlKGUpe3RoaXMubGVnZW5kRGF0YS5rZXlzW2VdLmRhdGFLZXkuaGlkZGVuPSF0aGlzLmxlZ2VuZERhdGEua2V5c1tlXS5kYXRhS2V5LmhpZGRlbix0aGlzLnN1YnNjcmlwdGlvbi51cGRhdGVEYXRhVmlzaWJpbGl0eShlKX1jcmVhdGVDaGFydHNTdWJzY3JpcHRpb24oZSx0KXtjb25zdCBuPVt7dHlwZTpGLmVudGl0eSxlbnRpdHlUeXBlOkkuREVWSUNFLGVudGl0eUlkOmUuaWQuaWQsZW50aXR5TmFtZTplLm5hbWUsdGltZXNlcmllczpbXX1dO25bMF0udGltZXNlcmllcz1be25hbWU6dCxsYWJlbDp0fV0sdGhpcy5zdWJzY3JpcHRpb25JbmZvPW4sdGhpcy5jaGFuZ2VTdWJzY3JpcHRpb24obiksdGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfWNyZWF0ZUdlbmVyYWxDaGFydHNTdWJzY3JpcHRpb24oZSx0KXtjb25zdCBuPVt7dHlwZTpGLmVudGl0eSxlbnRpdHlUeXBlOkkuREVWSUNFLGVudGl0eUlkOmUuaWQuaWQsZW50aXR5TmFtZTplLm5hbWUsdGltZXNlcmllczpbXX1dO25bMF0udGltZXNlcmllcz1bXSx0Py5sZW5ndGgmJnQuZm9yRWFjaCgoZT0+e25bMF0udGltZXNlcmllcy5wdXNoKHtuYW1lOmUsbGFiZWw6ZX0pfSkpLHRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24uZGF0YXNvdXJjZXNbMF0uZGF0YUtleXMuZm9yRWFjaCgoZT0+e25bMF0udGltZXNlcmllcy5wdXNoKHtuYW1lOmUubmFtZSxsYWJlbDplLmxhYmVsfSl9KSksdGhpcy5jaGFuZ2VTdWJzY3JpcHRpb24obiksdGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfXJlc2V0KCl7dGhpcy5yZXNpemUkJiZ0aGlzLnJlc2l6ZSQuZGlzY29ubmVjdCgpLHRoaXMuc3Vic2NyaXB0aW9uJiZ0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfW9uRGF0YVVwZGF0ZUVycm9yKGUpe2NvbnN0IHQ9dGhpcy51dGlscy5wYXJzZUV4Y2VwdGlvbihlKTtsZXQgbj10Lm5hbWU7dC5tZXNzYWdlJiYobis9IjogIit0Lm1lc3NhZ2UpLGNvbnNvbGUuZXJyb3Iobil9b25EYXRhVXBkYXRlZCgpe3RoaXMuaXNEYXRhT25seU51bWJlcnMoKSx0aGlzLmlzTnVtZXJpY0RhdGEmJih0aGlzLmNoYXJ0SW5pdGVkfHx0aGlzLmluaXRDaGFydCgpKX1pbml0Q2hhcnQoKXt0aGlzLmNoYXJ0SW5pdGVkPSEwLHRoaXMuZmxvdEN0eC4kY29udGFpbmVyPSQodGhpcy5zdGF0aXN0aWNDaGFydC5uYXRpdmVFbGVtZW50KSx0aGlzLnJlc2l6ZSQub2JzZXJ2ZSh0aGlzLnN0YXRpc3RpY0NoYXJ0Lm5hdGl2ZUVsZW1lbnQpfWlzRGF0YU9ubHlOdW1iZXJzKCl7dGhpcy5nZW5lcmFsP3RoaXMuaXNOdW1lcmljRGF0YT0hMDoodGhpcy5kYXRhU291cmNlLmRhdGE9dGhpcy5zdWJzY3JpcHRpb24uZGF0YS5sZW5ndGg/dGhpcy5zdWJzY3JpcHRpb24uZGF0YVswXS5kYXRhOltdLHRoaXMuZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCYmIXRoaXMuZGF0YVR5cGVEZWZpbmVkJiYodGhpcy5kYXRhVHlwZURlZmluZWQ9ITAsdGhpcy5pc051bWVyaWNEYXRhPXRoaXMuZGF0YVNvdXJjZS5kYXRhLmV2ZXJ5KChlPT4haXNOYU4oK2VbMV0pKSkpKX1jaGFuZ2VTdWJzY3JpcHRpb24oZSl7dGhpcy5zdWJzY3JpcHRpb24mJnRoaXMucmVzZXQoKSx0aGlzLmN0eC5kYXRhc291cmNlc1swXS5lbnRpdHkmJnRoaXMuY3R4LnN1YnNjcmlwdGlvbkFwaS5jcmVhdGVTdWJzY3JpcHRpb25Gcm9tSW5mbyhBLnRpbWVzZXJpZXMsZSx0aGlzLnN1YnNjcmlwdGlvbk9wdGlvbnMsITEsITApLnN1YnNjcmliZSgoZT0+e3RoaXMuZGF0YVR5cGVEZWZpbmVkPSExLHRoaXMuc3Vic2NyaXB0aW9uPWUsdGhpcy5pc0RhdGFPbmx5TnVtYmVycygpLHRoaXMubGVnZW5kRGF0YT10aGlzLnN1YnNjcmlwdGlvbi5sZWdlbmREYXRhLHRoaXMuZmxvdEN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uPWUsdGhpcy5yZXNpemUkPW5ldyBSZXNpemVPYnNlcnZlcigoKCk9Pnt0aGlzLnJlc2l6ZSgpfSkpLHRoaXMuY3R4LmRldGVjdENoYW5nZXMoKSx0aGlzLmlzTnVtZXJpY0RhdGEmJnRoaXMuaW5pdENoYXJ0KCl9KSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpwYSxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjpYLkF0dHJpYnV0ZVNlcnZpY2V9LHt0b2tlbjpYLlV0aWxzU2VydmljZX1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6cGEsc2VsZWN0b3I6InRiLWdhdGV3YXktc3RhdGlzdGljcyIsaW5wdXRzOntjdHg6ImN0eCIsZ2VuZXJhbDoiZ2VuZXJhbCJ9LHZpZXdRdWVyaWVzOlt7cHJvcGVydHlOYW1lOiJzb3J0IixmaXJzdDohMCxwcmVkaWNhdGU6ZyxkZXNjZW5kYW50czohMH0se3Byb3BlcnR5TmFtZToic3RhdGlzdGljQ2hhcnQiLGZpcnN0OiEwLHByZWRpY2F0ZTpbInN0YXRpc3RpY0NoYXJ0Il0sZGVzY2VuZGFudHM6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0ic3RhdGlzdGljcy1jb250YWluZXIiIGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0Lmx0LW1kPSJjb2x1bW4iPlxuICA8bWF0LWNhcmQgW2Zvcm1Hcm91cF09InN0YXRpc3RpY0Zvcm0iICpuZ0lmPSIhZ2VuZXJhbCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnN0YXRpc3RpY1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InN0YXRpc3RpY0tleSI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGtleSBvZiBzdGF0aXN0aWNzS2V5cyIgW3ZhbHVlXT0ia2V5Ij5cbiAgICAgICAgICB7eyBrZXkgfX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBjb21tYW5kIG9mIGNvbW1hbmRzIiBbdmFsdWVdPSJjb21tYW5kLmF0dHJpYnV0ZU9uR2F0ZXdheSI+XG4gICAgICAgICAge3sgY29tbWFuZC5hdHRyaWJ1dGVPbkdhdGV3YXkgfX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1lcnJvclxuICAgICAgKm5nSWY9IiFzdGF0aXN0aWNzS2V5cy5sZW5ndGggJiYgIWNvbW1hbmRzLmxlbmd0aCI+XG4gICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5zdGF0aXN0aWMtY29tbWFuZHMtZW1wdHlcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbWF0LWVycm9yPlxuICAgIDxkaXY+XG4gICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj0icHJpbWFyeSIgKGNsaWNrKT0ibmF2aWdhdGVUb1N0YXRpc3RpY3MoKSI+XG4gICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnN0YXRpc3RpY3MtYnV0dG9uXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIiAqbmdJZj0iY29tbWFuZE9iaiI+XG4gICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IG1hdElucHV0IFt2YWx1ZV09ImNvbW1hbmRPYmouY29tbWFuZCIgZGlzYWJsZWQ+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9tYXQtY2FyZD5cbiAgPGRpdiBjbGFzcz0iY2hhcnQtYm94IiBmeExheW91dD0iY29sdW1uIj5cbiAgICA8ZGl2IGNsYXNzPSJjaGFydC1jb250YWluZXIiICNzdGF0aXN0aWNDaGFydCBbZnhTaG93XT0iaXNOdW1lcmljRGF0YSI+PC9kaXY+XG4gICAgPHRhYmxlIFtmeFNob3ddPSIhaXNOdW1lcmljRGF0YSIgbWF0LXRhYmxlIFtkYXRhU291cmNlXT0iZGF0YVNvdXJjZSJcbiAgICAgICAgICAgbWF0U29ydCBbbWF0U29ydEFjdGl2ZV09InBhZ2VMaW5rLnNvcnRPcmRlci5wcm9wZXJ0eSIgW21hdFNvcnREaXJlY3Rpb25dPSJwYWdlTGluay5zb3J0RGlyZWN0aW9uKCkiXG4gICAgICAgICAgIG1hdFNvcnREaXNhYmxlQ2xlYXI+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iMCI+XG4gICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7IFwnd2lkZ2V0cy5nYXRld2F5LmNyZWF0ZWQtdGltZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCByb3c7IGxldCByb3dJbmRleCA9IGluZGV4Ij5cbiAgICAgICAgICB7eyByb3dbMF18IGRhdGU6XCd5eXl5LU1NLWRkIEhIOm1tOnNzXCcgfX1cbiAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9IjEiPlxuICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogNzAlIj57eyBcJ3dpZGdldHMuZ2F0ZXdheS5tZXNzYWdlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHJvdyI+XG4gICAgICAgICAge3sgcm93WzFdIH19XG4gICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxtYXQtaGVhZGVyLXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiXG4gICAgICAgICAgICAgICAgICAgICAgKm1hdEhlYWRlclJvd0RlZj0iZGlzcGxheWVkQ29sdW1uczsgc3RpY2t5OiB0cnVlIj48L21hdC1oZWFkZXItcm93PlxuICAgICAgPG1hdC1yb3cgY2xhc3M9Im1hdC1yb3ctc2VsZWN0IlxuICAgICAgICAgICAgICAgKm1hdFJvd0RlZj0ibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1uczsiPjwvbWF0LXJvdz5cbiAgICA8L3RhYmxlPlxuICAgIDxzcGFuIFtmeFNob3ddPSJkYXRhU291cmNlLmRhdGEubGVuZ3RoID09PSAwICYmICFpc051bWVyaWNEYXRhIlxuICAgICAgICAgIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiXG4gICAgICAgICAgY2xhc3M9Im5vLWRhdGEtZm91bmQiPnt7IFwnYXR0cmlidXRlLm5vLXRlbGVtZXRyeS10ZXh0XCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPGRpdiBmeEZsZXggY2xhc3M9ImxlZ2VuZCIgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciIgW2Z4U2hvd109ImlzTnVtZXJpY0RhdGEiPlxuICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLWtleXMiICpuZ0Zvcj0ibGV0IGxlZ2VuZEtleSBvZiBsZWdlbmREYXRhPy5rZXlzIiBmeExheW91dD0icm93IlxuICAgICAgICAgICBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9ImxlZ2VuZC1saW5lIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09ImxlZ2VuZEtleS5kYXRhS2V5LmNvbG9yIj48L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9ImxlZ2VuZC1sYWJlbCJcbiAgICAgICAgICAgICAoY2xpY2spPSJvbkxlZ2VuZEtleUhpZGRlbkNoYW5nZShsZWdlbmRLZXkuZGF0YUluZGV4KSJcbiAgICAgICAgICAgICBbY2xhc3NdPSJ7IFwnaGlkZGVuLWxhYmVsXCc6IGxlZ2VuZERhdGEua2V5c1tsZWdlbmRLZXkuZGF0YUluZGV4XS5kYXRhS2V5LmhpZGRlbiB9IlxuICAgICAgICAgICAgIFtpbm5lckhUTUxdPSJsZWdlbmRLZXkuZGF0YUtleS5sYWJlbCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3BhZGRpbmc6MH06aG9zdCAuc3RhdGlzdGljcy1jb250YWluZXJ7aGVpZ2h0OjEwMCU7b3ZlcmZsb3cteTphdXRvfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciBtYXQtY2FyZHt3aWR0aDo0MCU7aGVpZ2h0OjEwMCU7bWFyZ2luLXJpZ2h0OjM1cHg7cGFkZGluZzoxNXB4O2dhcDoyMnB4fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpezpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciBtYXQtY2FyZHt3aWR0aDoxMDAlfX06aG9zdCAuc3RhdGlzdGljcy1jb250YWluZXIgLmNoYXJ0LWJveCw6aG9zdCAuc3RhdGlzdGljcy1jb250YWluZXIgLmNoYXJ0LWNvbnRhaW5lcntoZWlnaHQ6MTAwJTtmbGV4LWdyb3c6MX06aG9zdCAuc3RhdGlzdGljcy1jb250YWluZXIgLmNoYXJ0LWJveHtvdmVyZmxvdzphdXRvfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lcj4qe2hlaWdodDoxMDAlfTpob3N0IC5sZWdlbmR7ZmxleC13cmFwOndyYXA7d2lkdGg6MTAwJTtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206NHB4O21hcmdpbi10b3A6MTVweH06aG9zdCAubGVnZW5kIC5sZWdlbmQta2V5cyAubGVnZW5kLWxhYmVse3BhZGRpbmc6MnB4IDIwcHggMnB4IDEwcHg7d2hpdGUtc3BhY2U6bm93cmFwfTpob3N0IC5sZWdlbmQgLmxlZ2VuZC1rZXlzIC5sZWdlbmQtbGFiZWwuaGlkZGVuLWxhYmVse3RleHQtZGVjb3JhdGlvbjpsaW5lLXRocm91Z2g7b3BhY2l0eTouNn06aG9zdCAubGVnZW5kIC5sZWdlbmQta2V5cyAubGVnZW5kLWxhYmVsOmZvY3Vze291dGxpbmU6bm9uZX06aG9zdCAubGVnZW5kIC5sZWdlbmQta2V5cyAubGVnZW5kLWxpbmV7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTVweDtoZWlnaHQ6M3B4O3RleHQtYWxpZ246bGVmdDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7b3V0bGluZTpub25lfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmhlLk1hdENhcmQsc2VsZWN0b3I6Im1hdC1jYXJkIixpbnB1dHM6WyJhcHBlYXJhbmNlIl0sZXhwb3J0QXM6WyJtYXRDYXJkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRFcnJvcixzZWxlY3RvcjoibWF0LWVycm9yLCBbbWF0RXJyb3JdIixpbnB1dHM6WyJpZCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOndlLk1hdFNlbGVjdCxzZWxlY3RvcjoibWF0LXNlbGVjdCIsaW5wdXRzOlsiYXJpYS1kZXNjcmliZWRieSIsInBhbmVsQ2xhc3MiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3IiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwibXVsdGlwbGUiLCJkaXNhYmxlT3B0aW9uQ2VudGVyaW5nIiwiY29tcGFyZVdpdGgiLCJ2YWx1ZSIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJlcnJvclN0YXRlTWF0Y2hlciIsInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLCJzb3J0Q29tcGFyYXRvciIsImlkIiwicGFuZWxXaWR0aCJdLG91dHB1dHM6WyJvcGVuZWRDaGFuZ2UiLCJvcGVuZWQiLCJjbG9zZWQiLCJzZWxlY3Rpb25DaGFuZ2UiLCJ2YWx1ZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2VsZWN0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmIuTWF0VGFibGUsc2VsZWN0b3I6Im1hdC10YWJsZSwgdGFibGVbbWF0LXRhYmxlXSIsZXhwb3J0QXM6WyJtYXRUYWJsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0SGVhZGVyQ2VsbERlZixzZWxlY3RvcjoiW21hdEhlYWRlckNlbGxEZWZdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlclJvd0RlZixzZWxlY3RvcjoiW21hdEhlYWRlclJvd0RlZl0iLGlucHV0czpbIm1hdEhlYWRlclJvd0RlZiIsIm1hdEhlYWRlclJvd0RlZlN0aWNreSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Q29sdW1uRGVmLHNlbGVjdG9yOiJbbWF0Q29sdW1uRGVmXSIsaW5wdXRzOlsibWF0Q29sdW1uRGVmIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsRGVmLHNlbGVjdG9yOiJbbWF0Q2VsbERlZl0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Um93RGVmLHNlbGVjdG9yOiJbbWF0Um93RGVmXSIsaW5wdXRzOlsibWF0Um93RGVmQ29sdW1ucyIsIm1hdFJvd0RlZldoZW4iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlckNlbGwsc2VsZWN0b3I6Im1hdC1oZWFkZXItY2VsbCwgdGhbbWF0LWhlYWRlci1jZWxsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsLHNlbGVjdG9yOiJtYXQtY2VsbCwgdGRbbWF0LWNlbGxdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdEhlYWRlclJvdyxzZWxlY3RvcjoibWF0LWhlYWRlci1yb3csIHRyW21hdC1oZWFkZXItcm93XSIsZXhwb3J0QXM6WyJtYXRIZWFkZXJSb3ciXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdFJvdyxzZWxlY3RvcjoibWF0LXJvdywgdHJbbWF0LXJvd10iLGV4cG9ydEFzOlsibWF0Um93Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Zi5NYXRTb3J0LHNlbGVjdG9yOiJbbWF0U29ydF0iLGlucHV0czpbIm1hdFNvcnRBY3RpdmUiLCJtYXRTb3J0U3RhcnQiLCJtYXRTb3J0RGlyZWN0aW9uIiwibWF0U29ydERpc2FibGVDbGVhciIsIm1hdFNvcnREaXNhYmxlZCJdLG91dHB1dHM6WyJtYXRTb3J0Q2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTb3J0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Zi5NYXRTb3J0SGVhZGVyLHNlbGVjdG9yOiJbbWF0LXNvcnQtaGVhZGVyXSIsaW5wdXRzOlsibWF0LXNvcnQtaGVhZGVyIiwiYXJyb3dQb3NpdGlvbiIsInN0YXJ0IiwiZGlzYWJsZWQiLCJzb3J0QWN0aW9uRGVzY3JpcHRpb24iLCJkaXNhYmxlQ2xlYXIiXSxleHBvcnRBczpbIm1hdFNvcnRIZWFkZXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRTaG93SGlkZURpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhTaG93XSwgW2Z4U2hvdy5wcmludF0sICBbZnhTaG93LnhzXSwgW2Z4U2hvdy5zbV0sIFtmeFNob3cubWRdLCBbZnhTaG93LmxnXSwgW2Z4U2hvdy54bF0sICBbZnhTaG93Lmx0LXNtXSwgW2Z4U2hvdy5sdC1tZF0sIFtmeFNob3cubHQtbGddLCBbZnhTaG93Lmx0LXhsXSwgIFtmeFNob3cuZ3QteHNdLCBbZnhTaG93Lmd0LXNtXSwgW2Z4U2hvdy5ndC1tZF0sIFtmeFNob3cuZ3QtbGddLCAgW2Z4SGlkZV0sIFtmeEhpZGUucHJpbnRdLCAgW2Z4SGlkZS54c10sIFtmeEhpZGUuc21dLCBbZnhIaWRlLm1kXSwgW2Z4SGlkZS5sZ10sIFtmeEhpZGUueGxdLCAgW2Z4SGlkZS5sdC1zbV0sIFtmeEhpZGUubHQtbWRdLCBbZnhIaWRlLmx0LWxnXSwgW2Z4SGlkZS5sdC14bF0sICBbZnhIaWRlLmd0LXhzXSwgW2Z4SGlkZS5ndC1zbV0sIFtmeEhpZGUuZ3QtbWRdLCBbZnhIaWRlLmd0LWxnXSIsaW5wdXRzOlsiZnhTaG93IiwiZnhTaG93LnByaW50IiwiZnhTaG93LnhzIiwiZnhTaG93LnNtIiwiZnhTaG93Lm1kIiwiZnhTaG93LmxnIiwiZnhTaG93LnhsIiwiZnhTaG93Lmx0LXNtIiwiZnhTaG93Lmx0LW1kIiwiZnhTaG93Lmx0LWxnIiwiZnhTaG93Lmx0LXhsIiwiZnhTaG93Lmd0LXhzIiwiZnhTaG93Lmd0LXNtIiwiZnhTaG93Lmd0LW1kIiwiZnhTaG93Lmd0LWxnIiwiZnhIaWRlIiwiZnhIaWRlLnByaW50IiwiZnhIaWRlLnhzIiwiZnhIaWRlLnNtIiwiZnhIaWRlLm1kIiwiZnhIaWRlLmxnIiwiZnhIaWRlLnhsIiwiZnhIaWRlLmx0LXNtIiwiZnhIaWRlLmx0LW1kIiwiZnhIaWRlLmx0LWxnIiwiZnhIaWRlLmx0LXhsIiwiZnhIaWRlLmd0LXhzIiwiZnhIaWRlLmd0LXNtIiwiZnhIaWRlLmd0LW1kIiwiZnhIaWRlLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6InBpcGUiLHR5cGU6Xy5EYXRlUGlwZSxuYW1lOiJkYXRlIn0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XX0pfX1lKCJHYXRld2F5U3RhdGlzdGljc0NvbXBvbmVudCIscGEpLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6cGEsZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktc3RhdGlzdGljcyIsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJzdGF0aXN0aWNzLWNvbnRhaW5lciIgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXQubHQtbWQ9ImNvbHVtbiI+XG4gIDxtYXQtY2FyZCBbZm9ybUdyb3VwXT0ic3RhdGlzdGljRm9ybSIgKm5nSWY9IiFnZW5lcmFsIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3Muc3RhdGlzdGljXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ic3RhdGlzdGljS2V5Ij5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQga2V5IG9mIHN0YXRpc3RpY3NLZXlzIiBbdmFsdWVdPSJrZXkiPlxuICAgICAgICAgIHt7IGtleSB9fVxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGNvbW1hbmQgb2YgY29tbWFuZHMiIFt2YWx1ZV09ImNvbW1hbmQuYXR0cmlidXRlT25HYXRld2F5Ij5cbiAgICAgICAgICB7eyBjb21tYW5kLmF0dHJpYnV0ZU9uR2F0ZXdheSB9fVxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWVycm9yXG4gICAgICAqbmdJZj0iIXN0YXRpc3RpY3NLZXlzLmxlbmd0aCAmJiAhY29tbWFuZHMubGVuZ3RoIj5cbiAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnN0YXRpc3RpYy1jb21tYW5kcy1lbXB0eVwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gICAgPGRpdj5cbiAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJuYXZpZ2F0ZVRvU3RhdGlzdGljcygpIj5cbiAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3Muc3RhdGlzdGljcy1idXR0b25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siICpuZ0lmPSJjb21tYW5kT2JqIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY29tbWFuZFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgW3ZhbHVlXT0iY29tbWFuZE9iai5jb21tYW5kIiBkaXNhYmxlZD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L21hdC1jYXJkPlxuICA8ZGl2IGNsYXNzPSJjaGFydC1ib3giIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgIDxkaXYgY2xhc3M9ImNoYXJ0LWNvbnRhaW5lciIgI3N0YXRpc3RpY0NoYXJ0IFtmeFNob3ddPSJpc051bWVyaWNEYXRhIj48L2Rpdj5cbiAgICA8dGFibGUgW2Z4U2hvd109IiFpc051bWVyaWNEYXRhIiBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPSJkYXRhU291cmNlIlxuICAgICAgICAgICBtYXRTb3J0IFttYXRTb3J0QWN0aXZlXT0icGFnZUxpbmsuc29ydE9yZGVyLnByb3BlcnR5IiBbbWF0U29ydERpcmVjdGlvbl09InBhZ2VMaW5rLnNvcnREaXJlY3Rpb24oKSJcbiAgICAgICAgICAgbWF0U29ydERpc2FibGVDbGVhcj5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPSIwIj5cbiAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3sgXCd3aWRnZXRzLmdhdGV3YXkuY3JlYXRlZC10aW1lXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHJvdzsgbGV0IHJvd0luZGV4ID0gaW5kZXgiPlxuICAgICAgICAgIHt7IHJvd1swXXwgZGF0ZTpcJ3l5eXktTU0tZGQgSEg6bW06c3NcJyB9fVxuICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iMSI+XG4gICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiA3MCUiPnt7IFwnd2lkZ2V0cy5nYXRld2F5Lm1lc3NhZ2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgcm93Ij5cbiAgICAgICAgICB7eyByb3dbMV0gfX1cbiAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG1hdC1oZWFkZXItcm93IGNsYXNzPSJtYXQtcm93LXNlbGVjdCJcbiAgICAgICAgICAgICAgICAgICAgICAqbWF0SGVhZGVyUm93RGVmPSJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWUiPjwvbWF0LWhlYWRlci1yb3c+XG4gICAgICA8bWF0LXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiXG4gICAgICAgICAgICAgICAqbWF0Um93RGVmPSJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyI+PC9tYXQtcm93PlxuICAgIDwvdGFibGU+XG4gICAgPHNwYW4gW2Z4U2hvd109ImRhdGFTb3VyY2UuZGF0YS5sZW5ndGggPT09IDAgJiYgIWlzTnVtZXJpY0RhdGEiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCI+e3sgXCdhdHRyaWJ1dGUubm8tdGVsZW1ldHJ5LXRleHRcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8ZGl2IGZ4RmxleCBjbGFzcz0ibGVnZW5kIiBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIiBbZnhTaG93XT0iaXNOdW1lcmljRGF0YSI+XG4gICAgICA8ZGl2IGNsYXNzPSJsZWdlbmQta2V5cyIgKm5nRm9yPSJsZXQgbGVnZW5kS2V5IG9mIGxlZ2VuZERhdGE/LmtleXMiIGZ4TGF5b3V0PSJyb3ciXG4gICAgICAgICAgIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiPlxuICAgICAgICA8c3BhbiBjbGFzcz0ibGVnZW5kLWxpbmUiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT0ibGVnZW5kS2V5LmRhdGFLZXkuY29sb3IiPjwvc3Bhbj5cbiAgICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLWxhYmVsIlxuICAgICAgICAgICAgIChjbGljayk9Im9uTGVnZW5kS2V5SGlkZGVuQ2hhbmdlKGxlZ2VuZEtleS5kYXRhSW5kZXgpIlxuICAgICAgICAgICAgIFtjbGFzc109InsgXCdoaWRkZW4tbGFiZWxcJzogbGVnZW5kRGF0YS5rZXlzW2xlZ2VuZEtleS5kYXRhSW5kZXhdLmRhdGFLZXkuaGlkZGVuIH0iXG4gICAgICAgICAgICAgW2lubmVySFRNTF09ImxlZ2VuZEtleS5kYXRhS2V5LmxhYmVsIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cGFkZGluZzowfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lcntoZWlnaHQ6MTAwJTtvdmVyZmxvdy15OmF1dG99Omhvc3QgLnN0YXRpc3RpY3MtY29udGFpbmVyIG1hdC1jYXJke3dpZHRoOjQwJTtoZWlnaHQ6MTAwJTttYXJnaW4tcmlnaHQ6MzVweDtwYWRkaW5nOjE1cHg7Z2FwOjIycHh9QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCl7Omhvc3QgLnN0YXRpc3RpY3MtY29udGFpbmVyIG1hdC1jYXJke3dpZHRoOjEwMCV9fTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciAuY2hhcnQtYm94LDpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciAuY2hhcnQtY29udGFpbmVye2hlaWdodDoxMDAlO2ZsZXgtZ3JvdzoxfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciAuY2hhcnQtYm94e292ZXJmbG93OmF1dG99Omhvc3QgLnN0YXRpc3RpY3MtY29udGFpbmVyPip7aGVpZ2h0OjEwMCV9Omhvc3QgLmxlZ2VuZHtmbGV4LXdyYXA6d3JhcDt3aWR0aDoxMDAlO3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo0cHg7bWFyZ2luLXRvcDoxNXB4fTpob3N0IC5sZWdlbmQgLmxlZ2VuZC1rZXlzIC5sZWdlbmQtbGFiZWx7cGFkZGluZzoycHggMjBweCAycHggMTBweDt3aGl0ZS1zcGFjZTpub3dyYXB9Omhvc3QgLmxlZ2VuZCAubGVnZW5kLWtleXMgLmxlZ2VuZC1sYWJlbC5oaWRkZW4tbGFiZWx7dGV4dC1kZWNvcmF0aW9uOmxpbmUtdGhyb3VnaDtvcGFjaXR5Oi42fTpob3N0IC5sZWdlbmQgLmxlZ2VuZC1rZXlzIC5sZWdlbmQtbGFiZWw6Zm9jdXN7b3V0bGluZTpub25lfTpob3N0IC5sZWdlbmQgLmxlZ2VuZC1rZXlzIC5sZWdlbmQtbGluZXtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxNXB4O2hlaWdodDozcHg7dGV4dC1hbGlnbjpsZWZ0O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtvdXRsaW5lOm5vbmV9XG4nXX1dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTptZS5Gb3JtQnVpbGRlcn0se3R5cGU6WC5BdHRyaWJ1dGVTZXJ2aWNlfSx7dHlwZTpYLlV0aWxzU2VydmljZX1dLHByb3BEZWNvcmF0b3JzOntzb3J0Olt7dHlwZTpvLGFyZ3M6W2ddfV0sc3RhdGlzdGljQ2hhcnQ6W3t0eXBlOm8sYXJnczpbInN0YXRpc3RpY0NoYXJ0Il19XSxjdHg6W3t0eXBlOmF9XSxnZW5lcmFsOlt7dHlwZTphfV19fSk7Y2xhc3MgbWF7c3RhdGlje3RoaXMubXF0dFJlcXVlc3RUeXBlS2V5cz1PYmplY3QudmFsdWVzKEluKX1zdGF0aWN7dGhpcy5tcXR0UmVxdWVzdE1hcHBpbmdPbGRGaWVsZHM9WyJhdHRyaWJ1dGVOYW1lSnNvbkV4cHJlc3Npb24iLCJkZXZpY2VOYW1lSnNvbkV4cHJlc3Npb24iLCJkZXZpY2VOYW1lVG9waWNFeHByZXNzaW9uIiwiZXh0ZW5zaW9uLWNvbmZpZyJdfXN0YXRpY3t0aGlzLm1xdHRSZXF1ZXN0TWFwcGluZ05ld0ZpZWxkcz1bImF0dHJpYnV0ZU5hbWVFeHByZXNzaW9uU291cmNlIiwicmVzcG9uc2VUb3BpY1FvUyIsImV4dGVuc2lvbkNvbmZpZyJdfXN0YXRpYyBtYXBNYXBwaW5nVG9VcGdyYWRlZFZlcnNpb24oZSl7cmV0dXJuIGU/Lm1hcCgoKHtjb252ZXJ0ZXI6ZSx0b3BpY0ZpbHRlcjp0LHN1YnNjcmlwdGlvblFvczpuPTF9KT0+e2NvbnN0IGE9ZS5kZXZpY2VJbmZvPz90aGlzLmV4dHJhY3RDb252ZXJ0ZXJEZXZpY2VJbmZvKGUpLG89ey4uLmUsZGV2aWNlSW5mbzphLGV4dGVuc2lvbkNvbmZpZzplLmV4dGVuc2lvbkNvbmZpZ3x8ZVsiZXh0ZW5zaW9uLWNvbmZpZyJdfHxudWxsfTtyZXR1cm4gdGhpcy5jbGVhblVwT2xkRmllbGRzKG8pLHtjb252ZXJ0ZXI6byx0b3BpY0ZpbHRlcjp0LHN1YnNjcmlwdGlvblFvczpufX0pKX1zdGF0aWMgbWFwUmVxdWVzdHNUb1VwZ3JhZGVkVmVyc2lvbihlKXtyZXR1cm4gdGhpcy5tcXR0UmVxdWVzdFR5cGVLZXlzLnJlZHVjZSgoKHQsbik9PmVbbl0/KHRbbl09ZVtuXS5tYXAoKGU9Pntjb25zdCB0PXRoaXMubWFwUmVxdWVzdFRvVXBncmFkZWRWZXJzaW9uKGUsbik7cmV0dXJuIHRoaXMuY2xlYW5VcE9sZEZpZWxkcyh0KSx0fSkpLHQpOnQpLHt9KX1zdGF0aWMgbWFwUmVxdWVzdHNUb0Rvd25ncmFkZWRWZXJzaW9uKGUpe3JldHVybiB0aGlzLm1xdHRSZXF1ZXN0VHlwZUtleXMucmVkdWNlKCgodCxuKT0+ZVtuXT8odFtuXT1lW25dLm1hcCgoZT0+e249PT1Jbi5TRVJWRVJfU0lERV9SUEMmJmRlbGV0ZSBlLnR5cGU7Y29uc3R7YXR0cmlidXRlTmFtZUV4cHJlc3Npb246dCxkZXZpY2VJbmZvOmEsLi4ub309ZSxpPXsuLi5vLGF0dHJpYnV0ZU5hbWVKc29uRXhwcmVzc2lvbjp0fHxudWxsLGRldmljZU5hbWVKc29uRXhwcmVzc2lvbjphPy5kZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZSE9PVRuLlRPUElDP2E/LmRldmljZU5hbWVFeHByZXNzaW9uOm51bGwsZGV2aWNlTmFtZVRvcGljRXhwcmVzc2lvbjphPy5kZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZT09PVRuLlRPUElDP2E/LmRldmljZU5hbWVFeHByZXNzaW9uOm51bGx9O3JldHVybiB0aGlzLmNsZWFuVXBOZXdGaWVsZHMoaSksaX0pKSx0KTp0KSx7fSl9c3RhdGljIG1hcE1hcHBpbmdUb0Rvd25ncmFkZWRWZXJzaW9uKGUpe3JldHVybiBlPy5tYXAoKGU9Pntjb25zdCB0PXRoaXMubWFwQ29udmVydGVyVG9Eb3duZ3JhZGVkVmVyc2lvbihlLmNvbnZlcnRlcik7cmV0dXJuIHRoaXMuY2xlYW5VcE5ld0ZpZWxkcyh0KSx7Y29udmVydGVyOnQsdG9waWNGaWx0ZXI6ZS50b3BpY0ZpbHRlcn19KSl9c3RhdGljIG1hcENvbnZlcnRlclRvRG93bmdyYWRlZFZlcnNpb24oZSl7Y29uc3R7ZGV2aWNlSW5mbzp0LC4uLm59PWU7cmV0dXJuIGUudHlwZSE9PXduLkJZVEVTP3suLi5uLGRldmljZU5hbWVKc29uRXhwcmVzc2lvbjp0Py5kZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZT09PVRuLk1TRz90LmRldmljZU5hbWVFeHByZXNzaW9uOm51bGwsZGV2aWNlVHlwZUpzb25FeHByZXNzaW9uOnQ/LmRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlPT09VG4uTVNHP3QuZGV2aWNlUHJvZmlsZUV4cHJlc3Npb246bnVsbCxkZXZpY2VOYW1lVG9waWNFeHByZXNzaW9uOnQ/LmRldmljZU5hbWVFeHByZXNzaW9uU291cmNlIT09VG4uTVNHP3Q/LmRldmljZU5hbWVFeHByZXNzaW9uOm51bGwsZGV2aWNlVHlwZVRvcGljRXhwcmVzc2lvbjp0Py5kZXZpY2VQcm9maWxlRXhwcmVzc2lvblNvdXJjZSE9PVRuLk1TRz90Py5kZXZpY2VQcm9maWxlRXhwcmVzc2lvbjpudWxsfTp7Li4ubixkZXZpY2VOYW1lRXhwcmVzc2lvbjp0LmRldmljZU5hbWVFeHByZXNzaW9uLGRldmljZVR5cGVFeHByZXNzaW9uOnQuZGV2aWNlUHJvZmlsZUV4cHJlc3Npb24sImV4dGVuc2lvbi1jb25maWciOmUuZXh0ZW5zaW9uQ29uZmlnfX1zdGF0aWMgY2xlYW5VcE9sZEZpZWxkcyhlKXt0aGlzLm1xdHRSZXF1ZXN0TWFwcGluZ09sZEZpZWxkcy5mb3JFYWNoKCh0PT5kZWxldGUgZVt0XSkpLFooZSl9c3RhdGljIGNsZWFuVXBOZXdGaWVsZHMoZSl7dGhpcy5tcXR0UmVxdWVzdE1hcHBpbmdOZXdGaWVsZHMuZm9yRWFjaCgodD0+ZGVsZXRlIGVbdF0pKSxaKGUpfXN0YXRpYyBnZXRUeXBlU291cmNlQnlWYWx1ZShlKXtyZXR1cm4gZS5pbmNsdWRlcygiJHsiKT9Ubi5NU0c6ZS5pbmNsdWRlcygiLyIpP1RuLlRPUElDOlRuLkNPTlNUfXN0YXRpYyBleHRyYWN0Q29udmVydGVyRGV2aWNlSW5mbyhlKXtjb25zdCB0PWUuZGV2aWNlTmFtZUV4cHJlc3Npb258fGUuZGV2aWNlTmFtZUpzb25FeHByZXNzaW9ufHxlLmRldmljZU5hbWVUb3BpY0V4cHJlc3Npb258fG51bGwsbj1lLmRldmljZU5hbWVFeHByZXNzaW9uU291cmNlP2UuZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2U6dD90aGlzLmdldFR5cGVTb3VyY2VCeVZhbHVlKHQpOm51bGwsYT1lLmRldmljZVByb2ZpbGVFeHByZXNzaW9ufHxlLmRldmljZVR5cGVUb3BpY0V4cHJlc3Npb258fGUuZGV2aWNlVHlwZUpzb25FeHByZXNzaW9ufHwiZGVmYXVsdCIsbz1lLmRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlP2UuZGV2aWNlUHJvZmlsZUV4cHJlc3Npb25Tb3VyY2U6YT90aGlzLmdldFR5cGVTb3VyY2VCeVZhbHVlKGEpOm51bGw7cmV0dXJuIHR8fGE/e2RldmljZU5hbWVFeHByZXNzaW9uOnQsZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2U6bixkZXZpY2VQcm9maWxlRXhwcmVzc2lvbjphLGRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlOm99Om51bGx9c3RhdGljIG1hcFJlcXVlc3RUb1VwZ3JhZGVkVmVyc2lvbihlLHQpe2NvbnN0IG49ZS5kZXZpY2VOYW1lSnNvbkV4cHJlc3Npb258fGUuZGV2aWNlTmFtZVRvcGljRXhwcmVzc2lvbnx8bnVsbCxhPWUuZGV2aWNlVHlwZVRvcGljRXhwcmVzc2lvbnx8ZS5kZXZpY2VUeXBlSnNvbkV4cHJlc3Npb258fCJkZWZhdWx0IixvPWE/dGhpcy5nZXRUeXBlU291cmNlQnlWYWx1ZShhKTpudWxsLGk9ZS5hdHRyaWJ1dGVOYW1lRXhwcmVzc2lvblNvdXJjZXx8ZS5hdHRyaWJ1dGVOYW1lSnNvbkV4cHJlc3Npb258fG51bGwscj10PT09SW4uU0VSVkVSX1NJREVfUlBDPzE6bnVsbCxzPXQ9PT1Jbi5TRVJWRVJfU0lERV9SUEM/ZS5yZXNwb25zZVRvcGljRXhwcmVzc2lvbj9Gbi5XaXRoUmVzcG9uc2U6Rm4uV2l0aG91dFJlc3BvbnNlOm51bGw7cmV0dXJuey4uLmUsYXR0cmlidXRlTmFtZUV4cHJlc3Npb246aSxhdHRyaWJ1dGVOYW1lRXhwcmVzc2lvblNvdXJjZTppP3RoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoaSk6bnVsbCxkZXZpY2VJbmZvOmUuZGV2aWNlSW5mbz9lLmRldmljZUluZm86bj97ZGV2aWNlTmFtZUV4cHJlc3Npb246bixkZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZTp0aGlzLmdldFR5cGVTb3VyY2VCeVZhbHVlKG4pLGRldmljZVByb2ZpbGVFeHByZXNzaW9uOmEsZGV2aWNlUHJvZmlsZUV4cHJlc3Npb25Tb3VyY2U6b306bnVsbCxyZXNwb25zZVRvcGljUW9TOnIsdHlwZTpzfX19ZSgiTXF0dFZlcnNpb25NYXBwaW5nVXRpbCIsbWEpO2NsYXNzIGRhe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5nYXRld2F5VmVyc2lvbkluPWUsdGhpcy5jb25uZWN0b3I9dCx0aGlzLmdhdGV3YXlWZXJzaW9uPWJhLnBhcnNlVmVyc2lvbih0aGlzLmdhdGV3YXlWZXJzaW9uSW4pLHRoaXMuY29uZmlnVmVyc2lvbj1iYS5wYXJzZVZlcnNpb24odGhpcy5jb25uZWN0b3IuY29uZmlnVmVyc2lvbil9Z2V0UHJvY2Vzc2VkQnlWZXJzaW9uKCl7cmV0dXJuIHRoaXMuaXNWZXJzaW9uVXBkYXRlTmVlZGVkKCk/dGhpcy5wcm9jZXNzVmVyc2lvblVwZGF0ZSgpOnRoaXMuY29ubmVjdG9yfXByb2Nlc3NWZXJzaW9uVXBkYXRlKCl7cmV0dXJuIHRoaXMuaXNWZXJzaW9uVXBncmFkZU5lZWRlZCgpP3RoaXMuZ2V0VXBncmFkZWRWZXJzaW9uKCk6dGhpcy5pc1ZlcnNpb25Eb3duZ3JhZGVOZWVkZWQoKT90aGlzLmdldERvd25ncmFkZWRWZXJzaW9uKCk6dGhpcy5jb25uZWN0b3J9aXNWZXJzaW9uVXBkYXRlTmVlZGVkKCl7cmV0dXJuISF0aGlzLmdhdGV3YXlWZXJzaW9uJiZ0aGlzLmNvbmZpZ1ZlcnNpb24hPT10aGlzLmdhdGV3YXlWZXJzaW9ufWlzVmVyc2lvblVwZ3JhZGVOZWVkZWQoKXtyZXR1cm4gdGhpcy5nYXRld2F5VmVyc2lvbj49YmEucGFyc2VWZXJzaW9uKFV0LkN1cnJlbnQpJiYoIXRoaXMuY29uZmlnVmVyc2lvbnx8dGhpcy5jb25maWdWZXJzaW9uPHRoaXMuZ2F0ZXdheVZlcnNpb24pfWlzVmVyc2lvbkRvd25ncmFkZU5lZWRlZCgpe3JldHVybiB0aGlzLmNvbmZpZ1ZlcnNpb24mJnRoaXMuY29uZmlnVmVyc2lvbj49YmEucGFyc2VWZXJzaW9uKFV0LkN1cnJlbnQpJiZ0aGlzLmNvbmZpZ1ZlcnNpb24+dGhpcy5nYXRld2F5VmVyc2lvbn19ZSgiR2F0ZXdheUNvbm5lY3RvclZlcnNpb25Qcm9jZXNzb3IiLGRhKTtjbGFzcyB1YSBleHRlbmRzIGRhe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLmdhdGV3YXlWZXJzaW9uSW49ZSx0aGlzLmNvbm5lY3Rvcj10LHRoaXMubXF0dFJlcXVlc3RUeXBlS2V5cz1PYmplY3QudmFsdWVzKEluKX1nZXRVcGdyYWRlZFZlcnNpb24oKXtjb25zdHtjb25uZWN0UmVxdWVzdHM6ZSxkaXNjb25uZWN0UmVxdWVzdHM6dCxhdHRyaWJ1dGVSZXF1ZXN0czpuLGF0dHJpYnV0ZVVwZGF0ZXM6YSxzZXJ2ZXJTaWRlUnBjOm99PXRoaXMuY29ubmVjdG9yLmNvbmZpZ3VyYXRpb25Kc29uO2xldCBpPXsuLi50aGlzLmNvbm5lY3Rvci5jb25maWd1cmF0aW9uSnNvbixyZXF1ZXN0c01hcHBpbmc6bWEubWFwUmVxdWVzdHNUb1VwZ3JhZGVkVmVyc2lvbih7Y29ubmVjdFJlcXVlc3RzOmUsZGlzY29ubmVjdFJlcXVlc3RzOnQsYXR0cmlidXRlUmVxdWVzdHM6bixhdHRyaWJ1dGVVcGRhdGVzOmEsc2VydmVyU2lkZVJwYzpvfSksbWFwcGluZzptYS5tYXBNYXBwaW5nVG9VcGdyYWRlZFZlcnNpb24odGhpcy5jb25uZWN0b3IuY29uZmlndXJhdGlvbkpzb24ubWFwcGluZyl9O3JldHVybiB0aGlzLm1xdHRSZXF1ZXN0VHlwZUtleXMuZm9yRWFjaCgoZT0+e2NvbnN0e1tlXTp0LC4uLm59PWk7aT17Li4ubn19KSksdGhpcy5jbGVhblVwQ29uZmlnSnNvbihpKSx7Li4udGhpcy5jb25uZWN0b3IsY29uZmlndXJhdGlvbkpzb246aSxjb25maWdWZXJzaW9uOnRoaXMuZ2F0ZXdheVZlcnNpb25Jbn19Z2V0RG93bmdyYWRlZFZlcnNpb24oKXtjb25zdHtyZXF1ZXN0c01hcHBpbmc6ZSxtYXBwaW5nOnQsLi4ubn09dGhpcy5jb25uZWN0b3IuY29uZmlndXJhdGlvbkpzb24sYT1lP21hLm1hcFJlcXVlc3RzVG9Eb3duZ3JhZGVkVmVyc2lvbihlKTp7fSxvPW1hLm1hcE1hcHBpbmdUb0Rvd25ncmFkZWRWZXJzaW9uKHQpO3JldHVybnsuLi50aGlzLmNvbm5lY3Rvcixjb25maWd1cmF0aW9uSnNvbjp7Li4ubiwuLi5hLG1hcHBpbmc6b30sY29uZmlnVmVyc2lvbjp0aGlzLmdhdGV3YXlWZXJzaW9uSW59fWNsZWFuVXBDb25maWdKc29uKGUpe2VlKGUucmVxdWVzdHNNYXBwaW5nLHt9KSYmZGVsZXRlIGUucmVxdWVzdHNNYXBwaW5nLGVlKGUubWFwcGluZyxbXSkmJmRlbGV0ZSBlLm1hcHBpbmd9fWUoIk1xdHRWZXJzaW9uUHJvY2Vzc29yIix1YSk7Y2xhc3MgZ2EgZXh0ZW5kcyBkYXtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5nYXRld2F5VmVyc2lvbkluPWUsdGhpcy5jb25uZWN0b3I9dH1nZXRVcGdyYWRlZFZlcnNpb24oKXtjb25zdCBlPXRoaXMuY29ubmVjdG9yLmNvbmZpZ3VyYXRpb25Kc29uO3JldHVybnsuLi50aGlzLmNvbm5lY3Rvcixjb25maWd1cmF0aW9uSnNvbjp7bWFzdGVyOmUubWFzdGVyPy5zbGF2ZXM/aGEubWFwTWFzdGVyVG9VcGdyYWRlZFZlcnNpb24oZS5tYXN0ZXIpOntzbGF2ZXM6W119LHNsYXZlOmUuc2xhdmU/aGEubWFwU2xhdmVUb1VwZ3JhZGVkVmVyc2lvbihlLnNsYXZlKTp7fX0sY29uZmlnVmVyc2lvbjp0aGlzLmdhdGV3YXlWZXJzaW9uSW59fWdldERvd25ncmFkZWRWZXJzaW9uKCl7Y29uc3QgZT10aGlzLmNvbm5lY3Rvci5jb25maWd1cmF0aW9uSnNvbjtyZXR1cm57Li4udGhpcy5jb25uZWN0b3IsY29uZmlndXJhdGlvbkpzb246ey4uLmUsc2xhdmU6ZS5zbGF2ZT9oYS5tYXBTbGF2ZVRvRG93bmdyYWRlZFZlcnNpb24oZS5zbGF2ZSk6e30sbWFzdGVyOmUubWFzdGVyPy5zbGF2ZXM/aGEubWFwTWFzdGVyVG9Eb3duZ3JhZGVkVmVyc2lvbihlLm1hc3Rlcik6e3NsYXZlczpbXX19LGNvbmZpZ1ZlcnNpb246dGhpcy5nYXRld2F5VmVyc2lvbklufX19ZSgiTW9kYnVzVmVyc2lvblByb2Nlc3NvciIsZ2EpO2NsYXNzIGZhIGV4dGVuZHMgZGF7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpLHRoaXMuZ2F0ZXdheVZlcnNpb25Jbj1lLHRoaXMuY29ubmVjdG9yPXR9Z2V0VXBncmFkZWRWZXJzaW9uKCl7Y29uc3QgZT10aGlzLmNvbm5lY3Rvci5jb25maWd1cmF0aW9uSnNvbi5zZXJ2ZXI7cmV0dXJuey4uLnRoaXMuY29ubmVjdG9yLGNvbmZpZ3VyYXRpb25Kc29uOntzZXJ2ZXI6ZT94YS5tYXBTZXJ2ZXJUb1VwZ3JhZGVkVmVyc2lvbihlKTp7fSxtYXBwaW5nOmU/Lm1hcHBpbmc/eGEubWFwTWFwcGluZ1RvVXBncmFkZWRWZXJzaW9uKGUubWFwcGluZyk6W119LGNvbmZpZ1ZlcnNpb246dGhpcy5nYXRld2F5VmVyc2lvbklufX1nZXREb3duZ3JhZGVkVmVyc2lvbigpe3JldHVybnsuLi50aGlzLmNvbm5lY3Rvcixjb25maWd1cmF0aW9uSnNvbjp7c2VydmVyOnhhLm1hcFNlcnZlclRvRG93bmdyYWRlZFZlcnNpb24odGhpcy5jb25uZWN0b3IuY29uZmlndXJhdGlvbkpzb24pfSxjb25maWdWZXJzaW9uOnRoaXMuZ2F0ZXdheVZlcnNpb25Jbn19fWUoIk9wY1ZlcnNpb25Qcm9jZXNzb3IiLGZhKTtjbGFzcyB5YXtjb25zdHJ1Y3Rvcigpe3RoaXMuaW5pdGlhbGl6ZWQ9bmV3IGksdGhpcy5mYj1yKGRlKSx0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLmJhc2ljRm9ybUdyb3VwPXRoaXMuaW5pdEJhc2ljRm9ybUdyb3VwKCksdGhpcy5iYXNpY0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT50aGlzLm9uQmFzaWNGb3JtR3JvdXBDaGFuZ2UoZSkpKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLmluaXRpYWxpemVkLmVtaXQoKX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLmJhc2ljRm9ybUdyb3VwLnZhbGlkP251bGw6e2Jhc2ljRm9ybUdyb3VwOnt2YWxpZDohMX19fXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9d3JpdGVWYWx1ZShlKXt0aGlzLmJhc2ljRm9ybUdyb3VwLnNldFZhbHVlKHRoaXMubWFwQ29uZmlnVG9Gb3JtVmFsdWUoZSkse2VtaXRFdmVudDohMX0pfW9uQmFzaWNGb3JtR3JvdXBDaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZSh0aGlzLmdldE1hcHBlZFZhbHVlKGUpKSx0aGlzLm9uVG91Y2hlZCgpfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6eWEsZGVwczpbXSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5EaXJlY3RpdmV9KX1zdGF0aWN7dGhpcy7JtWRpcj10Lsm1ybVuZ0RlY2xhcmVEaXJlY3RpdmUoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOnlhLGlucHV0czp7Z2VuZXJhbFRhYkNvbnRlbnQ6ImdlbmVyYWxUYWJDb250ZW50In0sb3V0cHV0czp7aW5pdGlhbGl6ZWQ6ImluaXRpYWxpemVkIn0sbmdJbXBvcnQ6dH0pfX1lKCJHYXRld2F5Q29ubmVjdG9yQmFzaWNDb25maWdEaXJlY3RpdmUiLHlhKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnlhLGRlY29yYXRvcnM6W3t0eXBlOnN9XSxjdG9yUGFyYW1ldGVyczooKT0+W10scHJvcERlY29yYXRvcnM6e2dlbmVyYWxUYWJDb250ZW50Olt7dHlwZTphfV0saW5pdGlhbGl6ZWQ6W3t0eXBlOmx9XX19KTtjbGFzcyBiYXtzdGF0aWMgZ2V0Q29uZmlnKGUsdCl7c3dpdGNoKGUudHlwZSl7Y2FzZSBfdC5NUVRUOnJldHVybiBuZXcgdWEodCxlKS5nZXRQcm9jZXNzZWRCeVZlcnNpb24oKTtjYXNlIF90Lk9QQ1VBOnJldHVybiBuZXcgZmEodCxlKS5nZXRQcm9jZXNzZWRCeVZlcnNpb24oKTtjYXNlIF90Lk1PREJVUzpyZXR1cm4gbmV3IGdhKHQsZSkuZ2V0UHJvY2Vzc2VkQnlWZXJzaW9uKCk7ZGVmYXVsdDpyZXR1cm4gZX19c3RhdGljIHBhcnNlVmVyc2lvbihlKXtyZXR1cm4gdGUoZSk/ZTpuZShlKT9wYXJzZUZsb2F0KGUucmVwbGFjZSgvXC4vZywiIikuc2xpY2UoMCwzKSkvMTAwOjB9fWUoIkdhdGV3YXlDb25uZWN0b3JWZXJzaW9uTWFwcGluZ1V0aWwiLGJhKTtjbGFzcyBoYXtzdGF0aWMgbWFwTWFzdGVyVG9VcGdyYWRlZFZlcnNpb24oZSl7cmV0dXJue3NsYXZlczplLnNsYXZlcy5tYXAoKGU9Pntjb25zdHtzZW5kRGF0YU9ubHlPbkNoYW5nZTp0LC4uLm59PWU7cmV0dXJuey4uLm4sZGV2aWNlVHlwZTplLmRldmljZVR5cGU/PyJkZWZhdWx0IixyZXBvcnRTdHJhdGVneTp0P3t0eXBlOnNuLk9uQ2hhbmdlfTp7dHlwZTpzbi5PblJlcG9ydFBlcmlvZCxyZXBvcnRQZXJpb2Q6ZS5wb2xsUGVyaW9kfX19KSl9fXN0YXRpYyBtYXBNYXN0ZXJUb0Rvd25ncmFkZWRWZXJzaW9uKGUpe3JldHVybntzbGF2ZXM6ZS5zbGF2ZXMubWFwKChlPT57Y29uc3R7cmVwb3J0U3RyYXRlZ3k6dCwuLi5ufT1lO3JldHVybnsuLi5uLHNlbmREYXRhT25seU9uQ2hhbmdlOnQ/LnR5cGUhPT1zbi5PblJlcG9ydFBlcmlvZH19KSl9fXN0YXRpYyBtYXBTbGF2ZVRvRG93bmdyYWRlZFZlcnNpb24oZSl7aWYoIWU/LnZhbHVlcylyZXR1cm4gZTtjb25zdCB0PU9iamVjdC5rZXlzKGUudmFsdWVzKS5yZWR1Y2UoKCh0LG4pPT50PXsuLi50LFtuXTpbZS52YWx1ZXNbbl1dfSkse30pO3JldHVybnsuLi5lLHZhbHVlczp0fX1zdGF0aWMgbWFwU2xhdmVUb1VwZ3JhZGVkVmVyc2lvbihlKXtpZighZT8udmFsdWVzKXJldHVybiBlO2NvbnN0IHQ9T2JqZWN0LmtleXMoZS52YWx1ZXMpLnJlZHVjZSgoKHQsbik9PnQ9ey4uLnQsW25dOnRoaXMubWFwVmFsdWVzVG9VcGdyYWRlZFZlcnNpb24oZS52YWx1ZXNbbl1bMF0pfSkse30pO3JldHVybnsuLi5lLHZhbHVlczp0fX1zdGF0aWMgbWFwVmFsdWVzVG9VcGdyYWRlZFZlcnNpb24oZSl7cmV0dXJuIE9iamVjdC5rZXlzKGUpLnJlZHVjZSgoKHQsbik9PnQ9ey4uLnQsW25dOmVbbl0ubWFwKChlPT4oey4uLmUsdHlwZToiaW50Ij09PWUudHlwZT9lYS5JTlQxNjplLnR5cGV9KSkpfSkse30pfX1lKCJNb2RidXNWZXJzaW9uTWFwcGluZ1V0aWwiLGhhKTtjbGFzcyB4YXtzdGF0aWMgbWFwU2VydmVyVG9VcGdyYWRlZFZlcnNpb24oZSl7Y29uc3R7bWFwcGluZzp0LGRpc2FibGVTdWJzY3JpcHRpb25zOm4scG9sbFBlcmlvZEluTWlsbGlzOmEsLi4ub309ZTtyZXR1cm57Li4ubyxwb2xsUGVyaW9kSW5NaWxsaXM6YT8/NWUzLGVuYWJsZVN1YnNjcmlwdGlvbnM6IW59fXN0YXRpYyBtYXBTZXJ2ZXJUb0Rvd25ncmFkZWRWZXJzaW9uKGUpe2NvbnN0e21hcHBpbmc6dCxzZXJ2ZXI6bn09ZSx7ZW5hYmxlU3Vic2NyaXB0aW9uczphLC4uLm99PW4/P3t9O3JldHVybnsuLi5vLG1hcHBpbmc6dD90aGlzLm1hcE1hcHBpbmdUb0Rvd25ncmFkZWRWZXJzaW9uKHQpOltdLGRpc2FibGVTdWJzY3JpcHRpb25zOiFhfX1zdGF0aWMgbWFwTWFwcGluZ1RvVXBncmFkZWRWZXJzaW9uKGUpe3JldHVybiBlLm1hcCgoZT0+KHsuLi5lLGRldmljZU5vZGVTb3VyY2U6dGhpcy5nZXREZXZpY2VOb2RlU291cmNlQnlWYWx1ZShlLmRldmljZU5vZGVQYXR0ZXJuKSxkZXZpY2VJbmZvOntkZXZpY2VOYW1lRXhwcmVzc2lvbjplLmRldmljZU5hbWVQYXR0ZXJuLGRldmljZU5hbWVFeHByZXNzaW9uU291cmNlOnRoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoZS5kZXZpY2VOYW1lUGF0dGVybiksZGV2aWNlUHJvZmlsZUV4cHJlc3Npb246ZS5kZXZpY2VUeXBlUGF0dGVybj8/ImRlZmF1bHQiLGRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlOnRoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoZS5kZXZpY2VUeXBlUGF0dGVybj8/ImRlZmF1bHQiKX0sYXR0cmlidXRlczplLmF0dHJpYnV0ZXMubWFwKChlPT4oe2tleTplLmtleSx0eXBlOnRoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoZS5wYXRoKSx2YWx1ZTplLnBhdGh9KSkpLGF0dHJpYnV0ZXNfdXBkYXRlczplLmF0dHJpYnV0ZXNfdXBkYXRlcy5tYXAoKGU9Pih7a2V5OmUuYXR0cmlidXRlT25UaGluZ3NCb2FyZCx0eXBlOnRoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoZS5hdHRyaWJ1dGVPbkRldmljZSksdmFsdWU6ZS5hdHRyaWJ1dGVPbkRldmljZX0pKSksdGltZXNlcmllczplLnRpbWVzZXJpZXMubWFwKChlPT4oe2tleTplLmtleSx0eXBlOnRoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoZS5wYXRoKSx2YWx1ZTplLnBhdGh9KSkpLHJwY19tZXRob2RzOmUucnBjX21ldGhvZHMubWFwKChlPT4oe21ldGhvZDplLm1ldGhvZCxhcmd1bWVudHM6ZS5hcmd1bWVudHMubWFwKChlPT4oe3ZhbHVlOmUsdHlwZTp0aGlzLmdldEFyZ3VtZW50VHlwZShlKX0pKSl9KSkpfSkpKX1zdGF0aWMgbWFwTWFwcGluZ1RvRG93bmdyYWRlZFZlcnNpb24oZSl7cmV0dXJuIGUubWFwKChlPT4oey4uLmUsZGV2aWNlTmFtZVBhdHRlcm46ZS5kZXZpY2VJbmZvLmRldmljZU5hbWVFeHByZXNzaW9uLGRldmljZVR5cGVQYXR0ZXJuOmUuZGV2aWNlSW5mby5kZXZpY2VQcm9maWxlRXhwcmVzc2lvbixhdHRyaWJ1dGVzOmUuYXR0cmlidXRlcy5tYXAoKGU9Pih7a2V5OmUua2V5LHBhdGg6ZS52YWx1ZX0pKSksYXR0cmlidXRlc191cGRhdGVzOmUuYXR0cmlidXRlc191cGRhdGVzLm1hcCgoZT0+KHthdHRyaWJ1dGVPblRoaW5nc0JvYXJkOmUua2V5LGF0dHJpYnV0ZU9uRGV2aWNlOmUudmFsdWV9KSkpLHRpbWVzZXJpZXM6ZS50aW1lc2VyaWVzLm1hcCgoZT0+KHtrZXk6ZS5rZXkscGF0aDplLnZhbHVlfSkpKSxycGNfbWV0aG9kczplLnJwY19tZXRob2RzLm1hcCgoZT0+KHttZXRob2Q6ZS5tZXRob2QsYXJndW1lbnRzOmUuYXJndW1lbnRzLm1hcCgoZT0+ZS52YWx1ZSkpfSkpKX0pKSl9c3RhdGljIGdldFR5cGVTb3VyY2VCeVZhbHVlKGUpe3JldHVybiBlLmluY2x1ZGVzKCIkeyIpP1NuLklERU5USUZJRVI6ZS5pbmNsdWRlcygiLyIpfHxlLmluY2x1ZGVzKCJcXCIpP1NuLlBBVEg6U24uQ09OU1R9c3RhdGljIGdldERldmljZU5vZGVTb3VyY2VCeVZhbHVlKGUpe3JldHVybiBlLmluY2x1ZGVzKCIkeyIpP1NuLklERU5USUZJRVI6U24uUEFUSH1zdGF0aWMgZ2V0QXJndW1lbnRUeXBlKGUpe3N3aXRjaCh0eXBlb2YgZSl7Y2FzZSJib29sZWFuIjpyZXR1cm4iYm9vbGVhbiI7Y2FzZSJudW1iZXIiOnJldHVybiBOdW1iZXIuaXNJbnRlZ2VyKGUpPyJpbnRlZ2VyIjoiZmxvYXQiO2RlZmF1bHQ6cmV0dXJuInN0cmluZyJ9fX1lKCJPcGNWZXJzaW9uTWFwcGluZ1V0aWwiLHhhKTtjbGFzcyB2YXt0cmFuc2Zvcm0oZSl7cmV0dXJuIGJhLnBhcnNlVmVyc2lvbihlKT49YmEucGFyc2VWZXJzaW9uKFV0LkN1cnJlbnQpfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6dmEsZGVwczpbXSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5QaXBlfSl9c3RhdGlje3RoaXMuybVwaXBlPXQuybXJtW5nRGVjbGFyZVBpcGUoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6dmEsaXNTdGFuZGFsb25lOiEwLG5hbWU6ImlzTGF0ZXN0VmVyc2lvbkNvbmZpZyJ9KX19ZSgiTGF0ZXN0VmVyc2lvbkNvbmZpZ1BpcGUiLHZhKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnZhLGRlY29yYXRvcnM6W3t0eXBlOmMsYXJnczpbe25hbWU6ImlzTGF0ZXN0VmVyc2lvbkNvbmZpZyIsc3RhbmRhbG9uZTohMH1dfV19KTtjbGFzcyB3YXtjb25zdHJ1Y3RvcihlKXt0aGlzLnRyYW5zbGF0ZT1lfXRyYW5zZm9ybShlKXtyZXR1cm4gZS5oYXNFcnJvcigicmVxdWlyZWQiKT90aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LnBvcnQtcmVxdWlyZWQiKTplLmhhc0Vycm9yKCJtaW4iKXx8ZS5oYXNFcnJvcigibWF4Iik/dGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5wb3J0LWxpbWl0cy1lcnJvciIse21pbjpFdC5NSU4sbWF4OkV0Lk1BWH0pOiIifXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6d2EsZGVwczpbe3Rva2VuOlkuVHJhbnNsYXRlU2VydmljZX1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LlBpcGV9KX1zdGF0aWN7dGhpcy7JtXBpcGU9dC7Jtcm1bmdEZWNsYXJlUGlwZSh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTp3YSxpc1N0YW5kYWxvbmU6ITAsbmFtZToiZ2V0R2F0ZXdheVBvcnRUb29sdGlwIn0pfX1lKCJHYXRld2F5UG9ydFRvb2x0aXBQaXBlIix3YSksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTp3YSxkZWNvcmF0b3JzOlt7dHlwZTpjLGFyZ3M6W3tuYW1lOiJnZXRHYXRld2F5UG9ydFRvb2x0aXAiLHN0YW5kYWxvbmU6ITB9XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6WS5UcmFuc2xhdGVTZXJ2aWNlfV19KTtjbGFzcyBDYXt0cmFuc2Zvcm0oZSl7cmV0dXJuIGUubWFwKCgoe3ZhbHVlOmV9KT0+ZS50b1N0cmluZygpKSkuam9pbigiLCAiKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkNhLGRlcHM6W10sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuUGlwZX0pfXN0YXRpY3t0aGlzLsm1cGlwZT10Lsm1ybVuZ0RlY2xhcmVQaXBlKHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkNhLGlzU3RhbmRhbG9uZTohMCxuYW1lOiJnZXRScGNUZW1wbGF0ZUFycmF5VmlldyJ9KX19ZSgiUnBjVGVtcGxhdGVBcnJheVZpZXdQaXBlIixDYSksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpDYSxkZWNvcmF0b3JzOlt7dHlwZTpjLGFyZ3M6W3tuYW1lOiJnZXRScGNUZW1wbGF0ZUFycmF5VmlldyIsc3RhbmRhbG9uZTohMH1dfV19KTtjbGFzcyBUYXt0cmFuc2Zvcm0oZSx0LG4pe3JldHVybiFufHxuPy5pbmNsdWRlcyhTbi5QQVRIKT90IT09U24uQ09OU1Q/YHdpZGdldC9saWIvZ2F0ZXdheS8ke2V9LSR7dH1fZm5gOnZvaWQgMDoiYXR0cmlidXRlcyI9PT1lfHwidGltZXNlcmllcyI9PT1lPyJ3aWRnZXQvbGliL2dhdGV3YXkvYXR0cmlidXRlc190aW1lc2VyaWVzX2V4cHJlc3Npb25zX2ZuIjoid2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuIn1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlRhLGRlcHM6W10sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuUGlwZX0pfXN0YXRpY3t0aGlzLsm1cGlwZT10Lsm1ybVuZ0RlY2xhcmVQaXBlKHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlRhLGlzU3RhbmRhbG9uZTohMCxuYW1lOiJnZXRHYXRld2F5SGVscExpbmsifSl9fWUoIkdhdGV3YXlIZWxwTGlua1BpcGUiLFRhKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlRhLGRlY29yYXRvcnM6W3t0eXBlOmMsYXJnczpbe25hbWU6ImdldEdhdGV3YXlIZWxwTGluayIsc3RhbmRhbG9uZTohMH1dfV19KTtjbGFzcyBTYXtjb25zdHJ1Y3RvcihlLHQsbil7dGhpcy5lbGVtZW50UmVmPWUsdGhpcy5yZW5kZXJlcj10LHRoaXMudG9vbHRpcD1uLHRoaXMudG9vbHRpcEVuYWJsZWQ9ITAsdGhpcy5wb3NpdGlvbj0iYWJvdmUiLHRoaXMuZGVzdHJveSQ9bmV3IFNlfW5nT25Jbml0KCl7dGhpcy5vYnNlcnZlTW91c2VFdmVudHMoKSx0aGlzLmFwcGx5VHJ1bmNhdGlvblN0eWxlcygpfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMudG9vbHRpcC5wb3NpdGlvbj10aGlzLnBvc2l0aW9ufW5nT25EZXN0cm95KCl7dGhpcy50b29sdGlwLl9pc1Rvb2x0aXBWaXNpYmxlKCkmJnRoaXMuaGlkZVRvb2x0aXAoKSx0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9b2JzZXJ2ZU1vdXNlRXZlbnRzKCl7a2UodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIm1vdXNlZW50ZXIiKS5waXBlKE1lKCgoKT0+dGhpcy50b29sdGlwRW5hYmxlZCkpLE1lKCgoKT0+dGhpcy5pc092ZXJmbG93bih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkpKSxFZSgoKCk9PnRoaXMuc2hvd1Rvb2x0aXAoKSkpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKSxrZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwibW91c2VsZWF2ZSIpLnBpcGUoTWUoKCgpPT50aGlzLnRvb2x0aXBFbmFibGVkKSksTWUoKCgpPT50aGlzLnRvb2x0aXAuX2lzVG9vbHRpcFZpc2libGUoKSkpLEVlKCgoKT0+dGhpcy5oaWRlVG9vbHRpcCgpKSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgpfWFwcGx5VHJ1bmNhdGlvblN0eWxlcygpe3RoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIndoaXRlLXNwYWNlIiwibm93cmFwIiksdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwib3ZlcmZsb3ciLCJoaWRkZW4iKSx0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCJ0ZXh0LW92ZXJmbG93IiwiZWxsaXBzaXMiKX1pc092ZXJmbG93bihlKXtyZXR1cm4gZS5jbGllbnRXaWR0aDxlLnNjcm9sbFdpZHRofXNob3dUb29sdGlwKCl7dGhpcy50b29sdGlwLm1lc3NhZ2U9dGhpcy50ZXh0fHx0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5pbm5lclRleHQsdGhpcy50b29sdGlwLnNob3coKX1oaWRlVG9vbHRpcCgpe3RoaXMudG9vbHRpcC5oaWRlKCl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpTYSxkZXBzOlt7dG9rZW46dC5FbGVtZW50UmVmfSx7dG9rZW46dC5SZW5kZXJlcjJ9LHt0b2tlbjp6ZS5NYXRUb29sdGlwfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuRGlyZWN0aXZlfSl9c3RhdGlje3RoaXMuybVkaXI9dC7Jtcm1bmdEZWNsYXJlRGlyZWN0aXZlKHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpTYSxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6e3RleHQ6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0ZXh0Il0sdG9vbHRpcEVuYWJsZWQ6InRvb2x0aXBFbmFibGVkIixwb3NpdGlvbjoicG9zaXRpb24ifSxwcm92aWRlcnM6W1dlXSxuZ0ltcG9ydDp0fSl9fWUoIlRydW5jYXRlV2l0aFRvb2x0aXBEaXJlY3RpdmUiLFNhKSxIZShbTigpXSxTYS5wcm90b3R5cGUsInRvb2x0aXBFbmFibGVkIix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6U2EsZGVjb3JhdG9yczpbe3R5cGU6cyxhcmdzOlt7c2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixwcm92aWRlcnM6W1dlXSxzdGFuZGFsb25lOiEwfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOnQuRWxlbWVudFJlZn0se3R5cGU6dC5SZW5kZXJlcjJ9LHt0eXBlOnplLk1hdFRvb2x0aXB9XSxwcm9wRGVjb3JhdG9yczp7dGV4dDpbe3R5cGU6YSxhcmdzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIl19XSx0b29sdGlwRW5hYmxlZDpbe3R5cGU6YX1dLHBvc2l0aW9uOlt7dHlwZTphfV19fSk7Y2xhc3Mga2F7c2V0IGNoaXBzKGUpe2VlKHRoaXMuY2hpcHNWYWx1ZSxlKXx8KHRoaXMuY2hpcHNWYWx1ZT1lLHNldFRpbWVvdXQoKCgpPT57dGhpcy5hZGp1c3RDaGlwcygpfSksMCkpfWNvbnN0cnVjdG9yKGUsdCxuLGEpe3RoaXMuZWw9ZSx0aGlzLnJlbmRlcmVyPXQsdGhpcy50cmFuc2xhdGU9bix0aGlzLndpbmRvdz1hLHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCJtYXgtaGVpZ2h0IiwiNDhweCIpLHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCJvdmVyZmxvdyIsImF1dG8iKSxrZShhLCJyZXNpemUiKS5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5hZGp1c3RDaGlwcygpfSkpLHRoaXMub2JzZXJ2ZUludGVyc2VjdGlvbigpfW9ic2VydmVJbnRlcnNlY3Rpb24oKXt0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZT0+e2UuZm9yRWFjaCgoZT0+e2UuaXNJbnRlcnNlY3RpbmcmJnRoaXMuYWRqdXN0Q2hpcHMoKX0pKX0pKSx0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyLm9ic2VydmUodGhpcy5lbC5uYXRpdmVFbGVtZW50KX1hZGp1c3RDaGlwcygpe2NvbnN0IGU9dGhpcy5lbC5uYXRpdmVFbGVtZW50LHQ9dGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi5lbGxpcHNpcy1jaGlwIiksbj1wYXJzZUZsb2F0KHRoaXMud2luZG93LmdldENvbXB1dGVkU3R5bGUodCkubWFyZ2luTGVmdCl8fDAsYT1lLnF1ZXJ5U2VsZWN0b3JBbGwoIm1hdC1jaGlwOm5vdCguZWxsaXBzaXMtY2hpcCkiKTtpZih0aGlzLmNoaXBzVmFsdWUubGVuZ3RoPjEpe2NvbnN0IG89dGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi5lbGxpcHNpcy10ZXh0Iik7dGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0LCJkaXNwbGF5IiwiaW5saW5lLWZsZXgiKSxvLmlubmVySFRNTD10aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LmVsbGlwc2lzLWNoaXBzLXRleHQiLHtjb3VudDp0aGlzLmNoaXBzVmFsdWUubGVuZ3RofSk7Y29uc3QgaT1lLm9mZnNldFdpZHRoLSh0Lm9mZnNldFdpZHRoK24pO2xldCByPTAscz0wO2EuZm9yRWFjaCgoZT0+e3RoaXMucmVuZGVyZXIuc2V0U3R5bGUoZSwiZGlzcGxheSIsImlubGluZS1mbGV4Iik7Y29uc3QgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5tZGMtZXZvbHV0aW9uLWNoaXBfX3RleHQtbGFiZWwiKTt0aGlzLmFwcGx5TWF4Q2hpcFRleHRXaWR0aCh0LGkvMykscisoZS5vZmZzZXRXaWR0aCtuKTw9aSYmczx0aGlzLmNoaXBzVmFsdWUubGVuZ3RoPyhzKysscis9ZS5vZmZzZXRXaWR0aCtuKTp0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGUsImRpc3BsYXkiLCJub25lIil9KSksby5pbm5lckhUTUw9dGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5lbGxpcHNpcy1jaGlwcy10ZXh0Iix7Y291bnQ6dGhpcy5jaGlwc1ZhbHVlLmxlbmd0aC1zfSkscz09PXRoaXMuY2hpcHNWYWx1ZT8ubGVuZ3RoJiZ0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHQsImRpc3BsYXkiLCJub25lIil9ZWxzZSBpZigxPT09dGhpcy5jaGlwc1ZhbHVlLmxlbmd0aCl7Y29uc3Qgbz1hWzBdLnF1ZXJ5U2VsZWN0b3IoIi5tZGMtZXZvbHV0aW9uLWNoaXBfX2FjdGlvbiIpLGk9by5xdWVyeVNlbGVjdG9yKCIubWRjLWV2b2x1dGlvbi1jaGlwX190ZXh0LWxhYmVsIikscj1wYXJzZUZsb2F0KHRoaXMud2luZG93LmdldENvbXB1dGVkU3R5bGUobykucGFkZGluZ0xlZnQpfHwwLHM9cGFyc2VGbG9hdCh0aGlzLndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG8pLnBhZGRpbmdSaWdodCl8fDAsbD1lLm9mZnNldFdpZHRoLW4tKHIrcyk7dGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0LCJkaXNwbGF5Iiwibm9uZSIpLHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoYVswXSwiZGlzcGxheSIsImlubGluZS1mbGV4IiksdGhpcy5hcHBseU1heENoaXBUZXh0V2lkdGgoaSxsKX1lbHNlIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodCwiZGlzcGxheSIsIm5vbmUiKX1hcHBseU1heENoaXBUZXh0V2lkdGgoZSx0KXt0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGUsIm1heC13aWR0aCIsdCsicHgiKSx0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGUsIm92ZXJmbG93IiwiaGlkZGVuIiksdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlLCJ0ZXh0LW92ZXJmbG93IiwiZWxsaXBzaXMiKSx0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGUsIndoaXRlLXNwYWNlIiwibm93cmFwIil9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCksdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlci5kaXNjb25uZWN0KCl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTprYSxkZXBzOlt7dG9rZW46dC5FbGVtZW50UmVmfSx7dG9rZW46dC5SZW5kZXJlcjJ9LHt0b2tlbjpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0b2tlbjphZX1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkRpcmVjdGl2ZX0pfXN0YXRpY3t0aGlzLsm1ZGlyPXQuybXJtW5nRGVjbGFyZURpcmVjdGl2ZSh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6a2EsaXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJbdGItZWxsaXBzaXMtY2hpcC1saXN0XSIsaW5wdXRzOntjaGlwczpbInRiLWVsbGlwc2lzLWNoaXAtbGlzdCIsImNoaXBzIl19LG5nSW1wb3J0OnR9KX19ZSgiRWxsaXBzaXNDaGlwTGlzdERpcmVjdGl2ZSIsa2EpLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6a2EsZGVjb3JhdG9yczpbe3R5cGU6cyxhcmdzOlt7c2VsZWN0b3I6Ilt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdIixzdGFuZGFsb25lOiEwfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOnQuRWxlbWVudFJlZn0se3R5cGU6dC5SZW5kZXJlcjJ9LHt0eXBlOlkuVHJhbnNsYXRlU2VydmljZX0se3R5cGU6V2luZG93LGRlY29yYXRvcnM6W3t0eXBlOnAsYXJnczpbYWVdfV19XSxwcm9wRGVjb3JhdG9yczp7Y2hpcHM6W3t0eXBlOmEsYXJnczpbInRiLWVsbGlwc2lzLWNoaXAtbGlzdCJdfV19fSk7Y2xhc3MgTGF7Y29uc3RydWN0b3IoZSx0LG4sYSl7dGhpcy5hdHRyaWJ1dGVTZXJ2aWNlPWUsdGhpcy50ZWxlbWV0cnlXc1NlcnZpY2U9dCx0aGlzLnpvbmU9bix0aGlzLnRyYW5zbGF0ZT1hLHRoaXMuYXR0cmlidXRlc1N1YmplY3Q9bmV3IExlKFtdKSx0aGlzLnBhZ2VEYXRhU3ViamVjdD1uZXcgTGUoTSgpKSx0aGlzLnBhZ2VEYXRhJD10aGlzLnBhZ2VEYXRhU3ViamVjdC5hc09ic2VydmFibGUoKSx0aGlzLnNlbGVjdGlvbj1uZXcgamUoITAsW10pfWNvbm5lY3QoZSl7cmV0dXJuIHRoaXMuYXR0cmlidXRlc1N1YmplY3QuYXNPYnNlcnZhYmxlKCl9ZGlzY29ubmVjdChlKXt0aGlzLmF0dHJpYnV0ZXNTdWJqZWN0LmNvbXBsZXRlKCksdGhpcy5wYWdlRGF0YVN1YmplY3QuY29tcGxldGUoKSx0aGlzLnRlbGVtZXRyeVN1YnNjcmliZXImJih0aGlzLnRlbGVtZXRyeVN1YnNjcmliZXIudW5zdWJzY3JpYmUoKSx0aGlzLnRlbGVtZXRyeVN1YnNjcmliZXI9bnVsbCl9bG9hZEF0dHJpYnV0ZXMoZSx0LG4sYT0hMSl7YSYmKHRoaXMuYWxsQXR0cmlidXRlcz1udWxsLHRoaXMudGVsZW1ldHJ5U3Vic2NyaWJlciYmKHRoaXMudGVsZW1ldHJ5U3Vic2NyaWJlci51bnN1YnNjcmliZSgpLHRoaXMudGVsZW1ldHJ5U3Vic2NyaWJlcj1udWxsKSksdGhpcy5zZWxlY3Rpb24uY2xlYXIoKTtjb25zdCBvPW5ldyBGZTtyZXR1cm4gdGhpcy5mZXRjaEF0dHJpYnV0ZXMoZSx0LG4pLnBpcGUocWUoKCgpPT5JZShNKCkpKSkpLnN1YnNjcmliZSgoZT0+e3RoaXMuYXR0cmlidXRlc1N1YmplY3QubmV4dChlLmRhdGEpLHRoaXMucGFnZURhdGFTdWJqZWN0Lm5leHQoZSksby5uZXh0KGUpfSkpLG99ZmV0Y2hBdHRyaWJ1dGVzKGUsdCxuKXtyZXR1cm4gdGhpcy5nZXRBbGxBdHRyaWJ1dGVzKGUsdCkucGlwZShEZSgoZT0+e2NvbnN0IHQ9ZS5maWx0ZXIoKGU9PjAhPT1lLmxhc3RVcGRhdGVUcykpO3JldHVybiBuLmZpbHRlckRhdGEodCl9KSkpfWdldEFsbEF0dHJpYnV0ZXMoZSx0KXtpZighdGhpcy5hbGxBdHRyaWJ1dGVzKXtsZXQgbjtFLmdldCh0KT8odGhpcy50ZWxlbWV0cnlTdWJzY3JpYmVyPXEuY3JlYXRlRW50aXR5QXR0cmlidXRlc1N1YnNjcmlwdGlvbih0aGlzLnRlbGVtZXRyeVdzU2VydmljZSxlLHQsdGhpcy56b25lKSx0aGlzLnRlbGVtZXRyeVN1YnNjcmliZXIuc3Vic2NyaWJlKCksbj10aGlzLnRlbGVtZXRyeVN1YnNjcmliZXIuYXR0cmlidXRlRGF0YSQoKSk6bj10aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0RW50aXR5QXR0cmlidXRlcyhlLHQpLHRoaXMuYWxsQXR0cmlidXRlcz1uLnBpcGUoUGUoMSksR2UoKSl9cmV0dXJuIHRoaXMuYWxsQXR0cmlidXRlc31pc0FsbFNlbGVjdGVkKCl7Y29uc3QgZT10aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGg7cmV0dXJuIHRoaXMuYXR0cmlidXRlc1N1YmplY3QucGlwZShEZSgodD0+ZT09PXQubGVuZ3RoKSkpfWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5hdHRyaWJ1dGVzU3ViamVjdC5waXBlKERlKChlPT4hZS5sZW5ndGgpKSl9dG90YWwoKXtyZXR1cm4gdGhpcy5wYWdlRGF0YVN1YmplY3QucGlwZShEZSgoZT0+ZS50b3RhbEVsZW1lbnRzKSkpfW1hc3RlclRvZ2dsZSgpe3RoaXMuYXR0cmlidXRlc1N1YmplY3QucGlwZShFZSgoZT0+e3RoaXMuc2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aD09PWUubGVuZ3RoP3RoaXMuc2VsZWN0aW9uLmNsZWFyKCk6ZS5mb3JFYWNoKChlPT57dGhpcy5zZWxlY3Rpb24uc2VsZWN0KGUpfSkpfSkpLE9lKDEpKS5zdWJzY3JpYmUoKX19ZSgiQXR0cmlidXRlRGF0YXNvdXJjZSIsTGEpO2NsYXNzIEZhe2NvbnN0cnVjdG9yKGUpe3RoaXMuYXR0cmlidXRlU2VydmljZT1lLHRoaXMuc2F2ZVRlbXBsYXRlPW5ldyBpLHRoaXMudXNlVGVtcGxhdGU9bmV3IGksdGhpcy5vcmlnaW5hbE9yZGVyPSgpPT4wLHRoaXMuaXNPYmplY3Q9ZT0+b2UoZSksdGhpcy5pc0FycmF5PWU9PkFycmF5LmlzQXJyYXkoZSksdGhpcy5TTk1QTWV0aG9kc1RyYW5zbGF0aW9ucz10bn1uZ09uSW5pdCgpe31hcHBseVRlbXBsYXRlKGUsdCl7ZS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLnVzZVRlbXBsYXRlLmVtaXQodCl9ZGVsZXRlVGVtcGxhdGUoZSx0KXtlLnN0b3BQcm9wYWdhdGlvbigpO2NvbnN0IG49dGhpcy5ycGNUZW1wbGF0ZXMuZmluZEluZGV4KChlPT5lLm5hbWU9PXQubmFtZSkpO3RoaXMucnBjVGVtcGxhdGVzLnNwbGljZShuLDEpO2NvbnN0IGE9YCR7dGhpcy5jb25uZWN0b3JUeXBlfV90ZW1wbGF0ZWA7dGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNhdmVFbnRpdHlBdHRyaWJ1dGVzKHtpZDp0aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLnRhcmdldERldmljZUlkLGVudGl0eVR5cGU6SS5ERVZJQ0V9LEwuU0VSVkVSX1NDT1BFLFt7a2V5OmEsdmFsdWU6dGhpcy5ycGNUZW1wbGF0ZXN9XSkuc3Vic2NyaWJlKCgoKT0+e30pKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkZhLGRlcHM6W3t0b2tlbjpYLkF0dHJpYnV0ZVNlcnZpY2V9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOkZhLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LXNlcnZpY2UtcnBjLWNvbm5lY3Rvci10ZW1wbGF0ZXMiLGlucHV0czp7Y29ubmVjdG9yVHlwZToiY29ubmVjdG9yVHlwZSIsY3R4OiJjdHgiLHJwY1RlbXBsYXRlczoicnBjVGVtcGxhdGVzIn0sb3V0cHV0czp7c2F2ZVRlbXBsYXRlOiJzYXZlVGVtcGxhdGUiLHVzZVRlbXBsYXRlOiJ1c2VUZW1wbGF0ZSJ9LG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJtYXQtc3VidGl0bGUtMSB0aXRsZSI+e3sgXCdnYXRld2F5LnJwYy50ZW1wbGF0ZXMtdGl0bGVcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuPG1hdC1leHBhbnNpb24tcGFuZWwgaGlkZVRvZ2dsZSAqbmdGb3I9ImxldCB0ZW1wbGF0ZSBvZiBycGNUZW1wbGF0ZXMiPlxuICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgPG1hdC1wYW5lbC10aXRsZSBjbGFzcz0idGVtcGxhdGUtbmFtZSI+XG4gICAgICA8c3BhbiBtYXRUb29sdGlwPSJ7e3RlbXBsYXRlLm5hbWV9fSIgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+e3t0ZW1wbGF0ZS5uYW1lfX08L3NwYW4+XG4gICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgPG1hdC1wYW5lbC1kZXNjcmlwdGlvbj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIG1hdFRvb2x0aXA9IkRlbGV0ZSIgKGNsaWNrKT0iZGVsZXRlVGVtcGxhdGUoJGV2ZW50LCB0ZW1wbGF0ZSkiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRUb29sdGlwPSJVc2UiIChjbGljayk9ImFwcGx5VGVtcGxhdGUoJGV2ZW50LCB0ZW1wbGF0ZSkiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5wbGF5X2Fycm93PC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LXBhbmVsLWRlc2NyaXB0aW9uPlxuICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuXG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdGb3I9ImxldCBjb25maWcgb2YgdGVtcGxhdGUuY29uZmlnIHwga2V5VmFsdWVJc05vdEVtcHR5IlxuICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT0iUlBDVGVtcGxhdGVSZWYiXG4gICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT0ieyAkaW1wbGljaXQ6IGNvbmZpZywgaW5uZXJWYWx1ZTogZmFsc2UgfSI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI1JQQ1RlbXBsYXRlUmVmIGxldC1jb25maWcgbGV0LWlubmVyVmFsdWU9XCdpbm5lclZhbHVlXCc+XG4gICAgPGRpdiBbZnhMYXlvdXRdPSJpc09iamVjdChjb25maWcudmFsdWUpID8gXCdjb2x1bW5cJzogXCdyb3dcJyJcbiAgICAgICAgIFtmeExheW91dEFsaWduXT0iIWlzT2JqZWN0KGNvbmZpZy52YWx1ZSkgPyBcJ3NwYWNlLWJldHdlZW4gY2VudGVyXCcgOiBcJ1wnIlxuICAgICAgICAgW25nU3R5bGVdPSJ7XCdwYWRkaW5nLWxlZnRcJzogaW5uZXJWYWx1ZSA/IFwnMTZweFwnOiBcJzBcJ30iXG4gICAgICAgICBjbGFzcz0icnBjLXBhcmFtcy1yb3ciPlxuICAgICAgPGRpdiBjbGFzcz0idGVtcGxhdGUta2V5Ij5cbiAgICAgICAge3shaW5uZXJWYWx1ZSA/IChcJ2dhdGV3YXkucnBjLlwnICsgY29uZmlnLmtleSB8IHRyYW5zbGF0ZSkgOiBjb25maWcua2V5fX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj0iaXNBcnJheShjb25maWcudmFsdWUpIiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgY2xhc3M9ImFycmF5LXZhbHVlIj5cbiAgICAgICAge3sgY29uZmlnLnZhbHVlIHwgZ2V0UnBjVGVtcGxhdGVBcnJheVZpZXcgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iaXNPYmplY3QoY29uZmlnLnZhbHVlKSIgW25nVGVtcGxhdGVPdXRsZXRdPSJSUENPYmplY3RSb3ciPjwvbmctY29udGFpbmVyPlxuICAgICAgPGRpdiAqbmdJZj0iIWlzT2JqZWN0KGNvbmZpZy52YWx1ZSkgJiYgIWlzQXJyYXkoY29uZmlnLnZhbHVlKSJcbiAgICAgICAgICAgW25nQ2xhc3NdPSJ7XCdib29sZWFuLXRydWVcJzogY29uZmlnLnZhbHVlID09PSB0cnVlLFxuICAgICAgICAgICAgICAgICAgIFwnYm9vbGVhbi1mYWxzZVwnOiBjb25maWcudmFsdWUgPT09IGZhbHNlICB9Ij5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iY29uZmlnLmtleSA9PT0gXCdtZXRob2RcJyBlbHNlIHZhbHVlIiBbbmdUZW1wbGF0ZU91dGxldF09IlNOTVBNZXRob2QiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctdGVtcGxhdGUgI3ZhbHVlPnt7IGNvbmZpZy52YWx1ZSB9fTwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgI1NOTVBNZXRob2Q+e3sgU05NUE1ldGhvZHNUcmFuc2xhdGlvbnMuZ2V0KGNvbmZpZy52YWx1ZSkgfCB0cmFuc2xhdGUgfX08L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlICNSUENPYmplY3RSb3c+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdGb3I9ImxldCBzdWJDb25maWcgb2YgY29uZmlnLnZhbHVlIHwga2V5dmFsdWUgOiBvcmlnaW5hbE9yZGVyIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT0iUlBDVGVtcGxhdGVSZWYiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT0ieyAkaW1wbGljaXQ6IHN1YkNvbmZpZywgaW5uZXJWYWx1ZTogdHJ1ZSB9Ij5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwYWRkaW5nOjB9Omhvc3QgLnRpdGxle2ZvbnQtd2VpZ2h0OjUwMH06aG9zdCAudGVtcGxhdGUta2V5e2NvbG9yOiMwMDAwMDA2MTtoZWlnaHQ6MzJweDtsaW5lLWhlaWdodDozMnB4fTpob3N0IC5ib29sZWFuLXRydWUsOmhvc3QgLmJvb2xlYW4tZmFsc2V7Ym9yZGVyLXJhZGl1czozcHg7aGVpZ2h0OjMycHg7bGluZS1oZWlnaHQ6MzJweDtwYWRkaW5nOjAgMTJweDt3aWR0aDpmaXQtY29udGVudDtmb250LXNpemU6MTRweDt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplfTpob3N0IC5ib29sZWFuLWZhbHNle2NvbG9yOiNkMTI3MzA7YmFja2dyb3VuZC1jb2xvcjojZDEyNzMwMTR9Omhvc3QgLmJvb2xlYW4tdHJ1ZXtjb2xvcjojMTk4MDM4O2JhY2tncm91bmQtY29sb3I6IzE5ODAzODE0fTpob3N0IG1hdC1leHBhbnNpb24tcGFuZWx7bWFyZ2luLXRvcDoxMHB4O292ZXJmbG93OnZpc2libGV9Omhvc3QgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9ue2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tcmlnaHQ6MDtmbGV4OjB9Omhvc3QgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9uPm1hdC1pY29ue21hcmdpbi1sZWZ0OjE1cHg7Y29sb3I6IzAwMDAwMDYxfTpob3N0IC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcntwYWRkaW5nOjAgMCAwIDEycHh9Omhvc3QgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLm1hdC1leHBhbmRlZHtoZWlnaHQ6NDhweH06aG9zdCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgLm1hdC1jb250ZW50Lm1hdC1jb250ZW50LWhpZGUtdG9nZ2xle21hcmdpbi1yaWdodDowfTpob3N0IC5ycGMtcGFyYW1zLXJvd3tvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwfTpob3N0IC5ycGMtcGFyYW1zLXJvdyA6bm90KDpmaXJzdC1jaGlsZCl7d2hpdGUtc3BhY2U6cHJlO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfTpob3N0IC50ZW1wbGF0ZS1uYW1le292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2t9Omhvc3QgOjpuZy1kZWVwIC5tYXQtY29udGVudHthbGlnbi1pdGVtczpjZW50ZXJ9Omhvc3QgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRpdGxle2ZsZXg6MTttYXJnaW46MH06aG9zdCAuYXJyYXktdmFsdWV7bWFyZ2luLWxlZnQ6MTBweH1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nQ2xhc3Msc2VsZWN0b3I6IltuZ0NsYXNzXSIsaW5wdXRzOlsiY2xhc3MiLCJuZ0NsYXNzIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdUZW1wbGF0ZU91dGxldCxzZWxlY3RvcjoiW25nVGVtcGxhdGVPdXRsZXRdIixpbnB1dHM6WyJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCIsIm5nVGVtcGxhdGVPdXRsZXQiLCJuZ1RlbXBsYXRlT3V0bGV0SW5qZWN0b3IiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3R5bGUsc2VsZWN0b3I6IltuZ1N0eWxlXSIsaW5wdXRzOlsibmdTdHlsZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbCxzZWxlY3RvcjoibWF0LWV4cGFuc2lvbi1wYW5lbCIsaW5wdXRzOlsiaGlkZVRvZ2dsZSIsInRvZ2dsZVBvc2l0aW9uIl0sb3V0cHV0czpbImFmdGVyRXhwYW5kIiwiYWZ0ZXJDb2xsYXBzZSJdLGV4cG9ydEFzOlsibWF0RXhwYW5zaW9uUGFuZWwiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbEhlYWRlcixzZWxlY3RvcjoibWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIiLGlucHV0czpbImV4cGFuZGVkSGVpZ2h0IiwiY29sbGFwc2VkSGVpZ2h0IiwidGFiSW5kZXgiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbFRpdGxlLHNlbGVjdG9yOiJtYXQtcGFuZWwtdGl0bGUifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsRGVzY3JpcHRpb24sc2VsZWN0b3I6Im1hdC1wYW5lbC1kZXNjcmlwdGlvbiJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRBbGlnbkRpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRBbGlnbl0sIFtmeExheW91dEFsaWduLnhzXSwgW2Z4TGF5b3V0QWxpZ24uc21dLCBbZnhMYXlvdXRBbGlnbi5tZF0sICBbZnhMYXlvdXRBbGlnbi5sZ10sIFtmeExheW91dEFsaWduLnhsXSwgW2Z4TGF5b3V0QWxpZ24ubHQtc21dLCBbZnhMYXlvdXRBbGlnbi5sdC1tZF0sICBbZnhMYXlvdXRBbGlnbi5sdC1sZ10sIFtmeExheW91dEFsaWduLmx0LXhsXSwgW2Z4TGF5b3V0QWxpZ24uZ3QteHNdLCBbZnhMYXlvdXRBbGlnbi5ndC1zbV0sICBbZnhMYXlvdXRBbGlnbi5ndC1tZF0sIFtmeExheW91dEFsaWduLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRBbGlnbiIsImZ4TGF5b3V0QWxpZ24ueHMiLCJmeExheW91dEFsaWduLnNtIiwiZnhMYXlvdXRBbGlnbi5tZCIsImZ4TGF5b3V0QWxpZ24ubGciLCJmeExheW91dEFsaWduLnhsIiwiZnhMYXlvdXRBbGlnbi5sdC1zbSIsImZ4TGF5b3V0QWxpZ24ubHQtbWQiLCJmeExheW91dEFsaWduLmx0LWxnIiwiZnhMYXlvdXRBbGlnbi5sdC14bCIsImZ4TGF5b3V0QWxpZ24uZ3QteHMiLCJmeExheW91dEFsaWduLmd0LXNtIiwiZnhMYXlvdXRBbGlnbi5ndC1tZCIsImZ4TGF5b3V0QWxpZ24uZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRDbGFzc0RpcmVjdGl2ZSxzZWxlY3RvcjoiICBbbmdDbGFzc10sIFtuZ0NsYXNzLnhzXSwgW25nQ2xhc3Muc21dLCBbbmdDbGFzcy5tZF0sIFtuZ0NsYXNzLmxnXSwgW25nQ2xhc3MueGxdLCAgW25nQ2xhc3MubHQtc21dLCBbbmdDbGFzcy5sdC1tZF0sIFtuZ0NsYXNzLmx0LWxnXSwgW25nQ2xhc3MubHQteGxdLCAgW25nQ2xhc3MuZ3QteHNdLCBbbmdDbGFzcy5ndC1zbV0sIFtuZ0NsYXNzLmd0LW1kXSwgW25nQ2xhc3MuZ3QtbGddIixpbnB1dHM6WyJuZ0NsYXNzIiwibmdDbGFzcy54cyIsIm5nQ2xhc3Muc20iLCJuZ0NsYXNzLm1kIiwibmdDbGFzcy5sZyIsIm5nQ2xhc3MueGwiLCJuZ0NsYXNzLmx0LXNtIiwibmdDbGFzcy5sdC1tZCIsIm5nQ2xhc3MubHQtbGciLCJuZ0NsYXNzLmx0LXhsIiwibmdDbGFzcy5ndC14cyIsIm5nQ2xhc3MuZ3Qtc20iLCJuZ0NsYXNzLmd0LW1kIiwibmdDbGFzcy5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOksuRGVmYXVsdFN0eWxlRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtuZ1N0eWxlXSwgIFtuZ1N0eWxlLnhzXSwgW25nU3R5bGUuc21dLCBbbmdTdHlsZS5tZF0sIFtuZ1N0eWxlLmxnXSwgW25nU3R5bGUueGxdLCAgW25nU3R5bGUubHQtc21dLCBbbmdTdHlsZS5sdC1tZF0sIFtuZ1N0eWxlLmx0LWxnXSwgW25nU3R5bGUubHQteGxdLCAgW25nU3R5bGUuZ3QteHNdLCBbbmdTdHlsZS5ndC1zbV0sIFtuZ1N0eWxlLmd0LW1kXSwgW25nU3R5bGUuZ3QtbGddIixpbnB1dHM6WyJuZ1N0eWxlIiwibmdTdHlsZS54cyIsIm5nU3R5bGUuc20iLCJuZ1N0eWxlLm1kIiwibmdTdHlsZS5sZyIsIm5nU3R5bGUueGwiLCJuZ1N0eWxlLmx0LXNtIiwibmdTdHlsZS5sdC1tZCIsIm5nU3R5bGUubHQtbGciLCJuZ1N0eWxlLmx0LXhsIiwibmdTdHlsZS5ndC14cyIsIm5nU3R5bGUuZ3Qtc20iLCJuZ1N0eWxlLmd0LW1kIiwibmdTdHlsZS5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlllLlRydW5jYXRlV2l0aFRvb2x0aXBEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0b29sdGlwRW5hYmxlZCIsInBvc2l0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6U2Esc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0b29sdGlwRW5hYmxlZCIsInBvc2l0aW9uIl19LHtraW5kOiJwaXBlIix0eXBlOl8uS2V5VmFsdWVQaXBlLG5hbWU6ImtleXZhbHVlIn0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJwaXBlIix0eXBlOkNhLG5hbWU6ImdldFJwY1RlbXBsYXRlQXJyYXlWaWV3In1dfSl9fWUoIkdhdGV3YXlTZXJ2aWNlUlBDQ29ubmVjdG9yVGVtcGxhdGVzQ29tcG9uZW50IixGYSksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpGYSxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItZ2F0ZXdheS1zZXJ2aWNlLXJwYy1jb25uZWN0b3ItdGVtcGxhdGVzIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9Im1hdC1zdWJ0aXRsZS0xIHRpdGxlIj57eyBcJ2dhdGV3YXkucnBjLnRlbXBsYXRlcy10aXRsZVwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG48bWF0LWV4cGFuc2lvbi1wYW5lbCBoaWRlVG9nZ2xlICpuZ0Zvcj0ibGV0IHRlbXBsYXRlIG9mIHJwY1RlbXBsYXRlcyI+XG4gIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICA8bWF0LXBhbmVsLXRpdGxlIGNsYXNzPSJ0ZW1wbGF0ZS1uYW1lIj5cbiAgICAgIDxzcGFuIG1hdFRvb2x0aXA9Int7dGVtcGxhdGUubmFtZX19IiBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj57e3RlbXBsYXRlLm5hbWV9fTwvc3Bhbj5cbiAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICA8bWF0LXBhbmVsLWRlc2NyaXB0aW9uPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gbWF0VG9vbHRpcD0iRGVsZXRlIiAoY2xpY2spPSJkZWxldGVUZW1wbGF0ZSgkZXZlbnQsIHRlbXBsYXRlKSI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIG1hdFRvb2x0aXA9IlVzZSIgKGNsaWNrKT0iYXBwbHlUZW1wbGF0ZSgkZXZlbnQsIHRlbXBsYXRlKSI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPnBsYXlfYXJyb3c8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9tYXQtcGFuZWwtZGVzY3JpcHRpb24+XG4gIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0Zvcj0ibGV0IGNvbmZpZyBvZiB0ZW1wbGF0ZS5jb25maWcgfCBrZXlWYWx1ZUlzTm90RW1wdHkiXG4gICAgW25nVGVtcGxhdGVPdXRsZXRdPSJSUENUZW1wbGF0ZVJlZiJcbiAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPSJ7ICRpbXBsaWNpdDogY29uZmlnLCBpbm5lclZhbHVlOiBmYWxzZSB9Ij5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjUlBDVGVtcGxhdGVSZWYgbGV0LWNvbmZpZyBsZXQtaW5uZXJWYWx1ZT1cJ2lubmVyVmFsdWVcJz5cbiAgICA8ZGl2IFtmeExheW91dF09ImlzT2JqZWN0KGNvbmZpZy52YWx1ZSkgPyBcJ2NvbHVtblwnOiBcJ3Jvd1wnIlxuICAgICAgICAgW2Z4TGF5b3V0QWxpZ25dPSIhaXNPYmplY3QoY29uZmlnLnZhbHVlKSA/IFwnc3BhY2UtYmV0d2VlbiBjZW50ZXJcJyA6IFwnXCciXG4gICAgICAgICBbbmdTdHlsZV09IntcJ3BhZGRpbmctbGVmdFwnOiBpbm5lclZhbHVlID8gXCcxNnB4XCc6IFwnMFwnfSJcbiAgICAgICAgIGNsYXNzPSJycGMtcGFyYW1zLXJvdyI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0ZW1wbGF0ZS1rZXkiPlxuICAgICAgICB7eyFpbm5lclZhbHVlID8gKFwnZ2F0ZXdheS5ycGMuXCcgKyBjb25maWcua2V5IHwgdHJhbnNsYXRlKSA6IGNvbmZpZy5rZXl9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPSJpc0FycmF5KGNvbmZpZy52YWx1ZSkiIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCBjbGFzcz0iYXJyYXktdmFsdWUiPlxuICAgICAgICB7eyBjb25maWcudmFsdWUgfCBnZXRScGNUZW1wbGF0ZUFycmF5VmlldyB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJpc09iamVjdChjb25maWcudmFsdWUpIiBbbmdUZW1wbGF0ZU91dGxldF09IlJQQ09iamVjdFJvdyI+PC9uZy1jb250YWluZXI+XG4gICAgICA8ZGl2ICpuZ0lmPSIhaXNPYmplY3QoY29uZmlnLnZhbHVlKSAmJiAhaXNBcnJheShjb25maWcudmFsdWUpIlxuICAgICAgICAgICBbbmdDbGFzc109IntcJ2Jvb2xlYW4tdHJ1ZVwnOiBjb25maWcudmFsdWUgPT09IHRydWUsXG4gICAgICAgICAgICAgICAgICAgXCdib29sZWFuLWZhbHNlXCc6IGNvbmZpZy52YWx1ZSA9PT0gZmFsc2UgIH0iPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJjb25maWcua2V5ID09PSBcJ21ldGhvZFwnIGVsc2UgdmFsdWUiIFtuZ1RlbXBsYXRlT3V0bGV0XT0iU05NUE1ldGhvZCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjdmFsdWU+e3sgY29uZmlnLnZhbHVlIH19PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjU05NUE1ldGhvZD57eyBTTk1QTWV0aG9kc1RyYW5zbGF0aW9ucy5nZXQoY29uZmlnLnZhbHVlKSB8IHRyYW5zbGF0ZSB9fTwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgI1JQQ09iamVjdFJvdz5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0Zvcj0ibGV0IHN1YkNvbmZpZyBvZiBjb25maWcudmFsdWUgfCBrZXl2YWx1ZSA6IG9yaWdpbmFsT3JkZXIiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPSJSUENUZW1wbGF0ZVJlZiJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPSJ7ICRpbXBsaWNpdDogc3ViQ29uZmlnLCBpbm5lclZhbHVlOiB0cnVlIH0iPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L21hdC1leHBhbnNpb24tcGFuZWw+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MH06aG9zdCAudGl0bGV7Zm9udC13ZWlnaHQ6NTAwfTpob3N0IC50ZW1wbGF0ZS1rZXl7Y29sb3I6IzAwMDAwMDYxO2hlaWdodDozMnB4O2xpbmUtaGVpZ2h0OjMycHh9Omhvc3QgLmJvb2xlYW4tdHJ1ZSw6aG9zdCAuYm9vbGVhbi1mYWxzZXtib3JkZXItcmFkaXVzOjNweDtoZWlnaHQ6MzJweDtsaW5lLWhlaWdodDozMnB4O3BhZGRpbmc6MCAxMnB4O3dpZHRoOmZpdC1jb250ZW50O2ZvbnQtc2l6ZToxNHB4O3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemV9Omhvc3QgLmJvb2xlYW4tZmFsc2V7Y29sb3I6I2QxMjczMDtiYWNrZ3JvdW5kLWNvbG9yOiNkMTI3MzAxNH06aG9zdCAuYm9vbGVhbi10cnVle2NvbG9yOiMxOTgwMzg7YmFja2dyb3VuZC1jb2xvcjojMTk4MDM4MTR9Omhvc3QgbWF0LWV4cGFuc2lvbi1wYW5lbHttYXJnaW4tdG9wOjEwcHg7b3ZlcmZsb3c6dmlzaWJsZX06aG9zdCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb257ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2U7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbi1yaWdodDowO2ZsZXg6MH06aG9zdCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24+bWF0LWljb257bWFyZ2luLWxlZnQ6MTVweDtjb2xvcjojMDAwMDAwNjF9Omhvc3QgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVye3BhZGRpbmc6MCAwIDAgMTJweH06aG9zdCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIubWF0LWV4cGFuZGVke2hlaWdodDo0OHB4fTpob3N0IC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciAubWF0LWNvbnRlbnQubWF0LWNvbnRlbnQtaGlkZS10b2dnbGV7bWFyZ2luLXJpZ2h0OjB9Omhvc3QgLnJwYy1wYXJhbXMtcm93e292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXB9Omhvc3QgLnJwYy1wYXJhbXMtcm93IDpub3QoOmZpcnN0LWNoaWxkKXt3aGl0ZS1zcGFjZTpwcmU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Omhvc3QgLnRlbXBsYXRlLW5hbWV7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9ja306aG9zdCA6Om5nLWRlZXAgLm1hdC1jb250ZW50e2FsaWduLWl0ZW1zOmNlbnRlcn06aG9zdCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGV7ZmxleDoxO21hcmdpbjowfTpob3N0IC5hcnJheS12YWx1ZXttYXJnaW4tbGVmdDoxMHB4fVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6WC5BdHRyaWJ1dGVTZXJ2aWNlfV0scHJvcERlY29yYXRvcnM6e2Nvbm5lY3RvclR5cGU6W3t0eXBlOmF9XSxjdHg6W3t0eXBlOmF9XSxzYXZlVGVtcGxhdGU6W3t0eXBlOmx9XSx1c2VUZW1wbGF0ZTpbe3R5cGU6bH1dLHJwY1RlbXBsYXRlczpbe3R5cGU6YX1dfX0pO2NsYXNzIElhe2NvbnN0cnVjdG9yKGUpe3RoaXMuZmI9ZSx0aGlzLkJyb2tlclNlY3VyaXR5VHlwZT1kbix0aGlzLnNlY3VyaXR5VHlwZXM9T2JqZWN0LnZhbHVlcyhkbiksdGhpcy5TZWN1cml0eVR5cGVUcmFuc2xhdGlvbnNNYXA9dW4sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5wcm9wYWdhdGVDaGFuZ2U9ZT0+e30sdGhpcy5zZWN1cml0eUZvcm1Hcm91cD10aGlzLmZiLmdyb3VwKHt0eXBlOltkbi5BTk9OWU1PVVMsW11dLHVzZXJuYW1lOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxwYXNzd29yZDpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV19KSx0aGlzLm9ic2VydmVTZWN1cml0eUZvcm0oKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMucHJvcGFnYXRlQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7fXdyaXRlVmFsdWUoZSl7ZS50eXBlfHwoZS50eXBlPWRuLkFOT05ZTU9VUyksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC5yZXNldChlKSx0aGlzLnVwZGF0ZVZpZXcoZSl9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5zZWN1cml0eUZvcm1Hcm91cC52YWxpZD9udWxsOntzZWN1cml0eUZvcm06e3ZhbGlkOiExfX19dXBkYXRlVmlldyhlKXt0aGlzLnByb3BhZ2F0ZUNoYW5nZShlKX11cGRhdGVWYWxpZGF0b3JzKGUpe2U9PT1kbi5CQVNJQz8odGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoInVzZXJuYW1lIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgicGFzc3dvcmQiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pKToodGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoInVzZXJuYW1lIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoInBhc3N3b3JkIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpfW9ic2VydmVTZWN1cml0eUZvcm0oKXt0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9PnRoaXMudXBkYXRlVmlldyhlKSkpLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+dGhpcy51cGRhdGVWYWxpZGF0b3JzKGUpKSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpJYSxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOklhLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHkiLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PklhKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5JYSkpLG11bHRpOiEwfV0sbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gc2FtZS1wYWRkaW5nIHRiLWZsZXggY29sdW1uIiBbZm9ybUdyb3VwXT0ic2VjdXJpdHlGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHJvdyBzcGFjZS1iZXR3ZWVuIGFsaWduLWNlbnRlciBuby1nYXAgZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZmllbGRzLWxhYmVsIiB0cmFuc2xhdGU+Z2F0ZXdheS5zZWN1cml0eTwvZGl2PlxuICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNlY3VyaXR5VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICB7eyBTZWN1cml0eVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj0ic2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gQnJva2VyU2VjdXJpdHlUeXBlLkJBU0lDIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudXNlcm5hbWU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idXNlcm5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnVzZXJuYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndXNlcm5hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJiBzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd1c2VybmFtZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucGFzc3dvcmQ8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhc3N3b3JkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5wYXNzd29yZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8ZGl2IFtjbGFzcy5oaWRlLXRvZ2dsZV09InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiIG1hdFN1ZmZpeD5cbiAgICAgICAgICAgIDx0Yi10b2dnbGUtcGFzc3dvcmQgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0Ij48L3RiLXRvZ2dsZS1wYXNzd29yZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjEwcHh9Omhvc3QgLmZpZWxkcy1sYWJlbHtmb250LXdlaWdodDo1MDB9Omhvc3QgLmhpZGUtdG9nZ2xle2Rpc3BsYXk6bm9uZX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp0dC5Ub2dnbGVQYXNzd29yZENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXBhc3N3b3JkIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpudC5Ub2dnbGVPcHRpb24sc2VsZWN0b3I6InRiLXRvZ2dsZS1vcHRpb24iLGlucHV0czpbInZhbHVlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YXQuVG9nZ2xlU2VsZWN0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi10b2dnbGUtc2VsZWN0IixpbnB1dHM6WyJkaXNhYmxlZCIsInNlbGVjdE1lZGlhQnJlYWtwb2ludCIsImFwcGVhcmFuY2UiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImZpbGxIZWlnaHQiLCJleHRyYVBhZGRpbmciLCJwcmltYXJ5QmFja2dyb3VuZCJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19dC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpJYSxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHkiLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5JYSkpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+SWEpKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbRCxIXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gc2FtZS1wYWRkaW5nIHRiLWZsZXggY29sdW1uIiBbZm9ybUdyb3VwXT0ic2VjdXJpdHlGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHJvdyBzcGFjZS1iZXR3ZWVuIGFsaWduLWNlbnRlciBuby1nYXAgZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZmllbGRzLWxhYmVsIiB0cmFuc2xhdGU+Z2F0ZXdheS5zZWN1cml0eTwvZGl2PlxuICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNlY3VyaXR5VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICB7eyBTZWN1cml0eVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj0ic2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gQnJva2VyU2VjdXJpdHlUeXBlLkJBU0lDIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudXNlcm5hbWU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idXNlcm5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnVzZXJuYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndXNlcm5hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJiBzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd1c2VybmFtZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucGFzc3dvcmQ8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhc3N3b3JkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5wYXNzd29yZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8ZGl2IFtjbGFzcy5oaWRlLXRvZ2dsZV09InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiIG1hdFN1ZmZpeD5cbiAgICAgICAgICAgIDx0Yi10b2dnbGUtcGFzc3dvcmQgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0Ij48L3RiLXRvZ2dsZS1wYXNzd29yZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjEwcHh9Omhvc3QgLmZpZWxkcy1sYWJlbHtmb250LXdlaWdodDo1MDB9Omhvc3QgLmhpZGUtdG9nZ2xle2Rpc3BsYXk6bm9uZX1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfV19KTtjbGFzcyBBYXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuZmI9ZSx0aGlzLmRpYWxvZz10LHRoaXMuc2VuZENvbW1hbmQ9bmV3IGksdGhpcy5zYXZlVGVtcGxhdGU9bmV3IGksdGhpcy5Db25uZWN0b3JUeXBlPV90LHRoaXMuYkFDbmV0UmVxdWVzdFR5cGVzPU9iamVjdC52YWx1ZXMoV3QpLHRoaXMuYkFDbmV0T2JqZWN0VHlwZXM9T2JqZWN0LnZhbHVlcyhLdCksdGhpcy5iTEVNZXRob2RzPU9iamVjdC52YWx1ZXMoWXQpLHRoaXMuY0FOQnl0ZU9yZGVycz1PYmplY3QudmFsdWVzKEp0KSx0aGlzLnNvY2tldE1ldGhvZFByb2Nlc3NpbmdzPU9iamVjdC52YWx1ZXMoWHQpLHRoaXMuc29ja2V0RW5jb2RpbmdzPU9iamVjdC52YWx1ZXMoYW4pLHRoaXMuc05NUE1ldGhvZHM9T2JqZWN0LnZhbHVlcyhlbiksdGhpcy5oVFRQTWV0aG9kcz1PYmplY3QudmFsdWVzKG5uKSx0aGlzLmJBQ25ldFJlcXVlc3RUeXBlc1RyYW5zbGF0ZXM9anQsdGhpcy5iQUNuZXRPYmplY3RUeXBlc1RyYW5zbGF0ZXM9JHQsdGhpcy5iTEVNZXRob2RzVHJhbnNsYXRlcz1RdCx0aGlzLlNvY2tldE1ldGhvZFByb2Nlc3NpbmdzVHJhbnNsYXRlcz1adCx0aGlzLlNOTVBNZXRob2RzVHJhbnNsYXRpb25zPXRuLHRoaXMuZ2F0ZXdheUNvbm5lY3RvckRlZmF1bHRUeXBlc1RyYW5zbGF0ZXM9SHQsdGhpcy51cmxQYXR0ZXJuPS9eWy1hLXpBLVpkXyQ6e30/fis9XC8uMC05LV0qJC8sdGhpcy5udW1iZXJzT25seVBhdHRlcm49L15bMC05XSokLyx0aGlzLmhleE9ubHlQYXR0ZXJuPS9eWzAtOUEtRmEtZiBdKyQvLHRoaXMucHJvcGFnYXRlQ2hhbmdlPWU9Pnt9LHRoaXMuZGVzdHJveSQ9bmV3IFNlfW5nT25Jbml0KCl7dGhpcy5jb21tYW5kRm9ybT10aGlzLmNvbm5lY3RvclBhcmFtc0Zvcm1Hcm91cEJ5VHlwZSh0aGlzLmNvbm5lY3RvclR5cGUpLHRoaXMuY29tbWFuZEZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoZT0+e2NvbnN0IHQ9e307c3dpdGNoKHRoaXMuY29ubmVjdG9yVHlwZSl7Y2FzZSBfdC5SRVNUOmNhc2UgX3QuUkVRVUVTVDplLmh0dHBIZWFkZXJzLmZvckVhY2goKGU9Pnt0W2UuaGVhZGVyTmFtZV09ZS52YWx1ZX0pKSxlLmh0dHBIZWFkZXJzPXR9dGhpcy5jb21tYW5kRm9ybS52YWxpZCYmdGhpcy5wcm9wYWdhdGVDaGFuZ2Uoey4uLnRoaXMuY29tbWFuZEZvcm0udmFsdWUsLi4uZX0pfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfWNvbm5lY3RvclBhcmFtc0Zvcm1Hcm91cEJ5VHlwZShlKXtsZXQgdDtzd2l0Y2goZSl7Y2FzZSBfdC5CQUNORVQ6dD10aGlzLmZiLmdyb3VwKHttZXRob2Q6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVxdWVzdFR5cGU6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVxdWVzdFRpbWVvdXQ6W251bGwsW3VlLnJlcXVpcmVkLHVlLm1pbigxMCksdWUucGF0dGVybih0aGlzLm51bWJlcnNPbmx5UGF0dGVybildXSxvYmplY3RUeXBlOltudWxsLFtdXSxpZGVudGlmaWVyOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybih0aGlzLm51bWJlcnNPbmx5UGF0dGVybildXSxwcm9wZXJ0eUlkOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dfSk7YnJlYWs7Y2FzZSBfdC5CTEU6dD10aGlzLmZiLmdyb3VwKHttZXRob2RSUEM6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sY2hhcmFjdGVyaXN0aWNVVUlEOlsiMDAwMDJBMDAtMDAwMC0xMDAwLTgwMDAtMDA4MDVGOUIzNEZCIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxtZXRob2RQcm9jZXNzaW5nOltudWxsLFt1ZS5yZXF1aXJlZF1dLHdpdGhSZXNwb25zZTpbITEsW11dfSk7YnJlYWs7Y2FzZSBfdC5DQU46dD10aGlzLmZiLmdyb3VwKHttZXRob2Q6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sbm9kZUlEOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMCksdWUucGF0dGVybih0aGlzLm51bWJlcnNPbmx5UGF0dGVybildXSxpc0V4dGVuZGVkSUQ6WyExLFtdXSxpc0ZEOlshMSxbXV0sYml0cmF0ZVN3aXRjaDpbITEsW11dLGRhdGFMZW5ndGg6W251bGwsW3VlLm1pbigxKSx1ZS5wYXR0ZXJuKHRoaXMubnVtYmVyc09ubHlQYXR0ZXJuKV1dLGRhdGFCeXRlb3JkZXI6W251bGwsW11dLGRhdGFCZWZvcmU6W251bGwsW3VlLnBhdHRlcm4oa3QpLHVlLnBhdHRlcm4odGhpcy5oZXhPbmx5UGF0dGVybildXSxkYXRhQWZ0ZXI6W251bGwsW3VlLnBhdHRlcm4oa3QpLHVlLnBhdHRlcm4odGhpcy5oZXhPbmx5UGF0dGVybildXSxkYXRhSW5IRVg6W251bGwsW3VlLnBhdHRlcm4oa3QpLHVlLnBhdHRlcm4odGhpcy5oZXhPbmx5UGF0dGVybildXSxkYXRhRXhwcmVzc2lvbjpbbnVsbCxbdWUucGF0dGVybihrdCldXX0pO2JyZWFrO2Nhc2UgX3QuRlRQOnQ9dGhpcy5mYi5ncm91cCh7bWV0aG9kRmlsdGVyOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHZhbHVlRXhwcmVzc2lvbjpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXX0pO2JyZWFrO2Nhc2UgX3QuT0NQUDp0PXRoaXMuZmIuZ3JvdXAoe21ldGhvZFJQQzpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx2YWx1ZUV4cHJlc3Npb246W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sd2l0aFJlc3BvbnNlOlshMSxbXV19KTticmVhaztjYXNlIF90LlNPQ0tFVDp0PXRoaXMuZmIuZ3JvdXAoe21ldGhvZFJQQzpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxtZXRob2RQcm9jZXNzaW5nOltudWxsLFt1ZS5yZXF1aXJlZF1dLGVuY29kaW5nOlthbi5VVEZfOCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx3aXRoUmVzcG9uc2U6WyExLFtdXX0pO2JyZWFrO2Nhc2UgX3QuWE1QUDp0PXRoaXMuZmIuZ3JvdXAoe21ldGhvZFJQQzpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx2YWx1ZUV4cHJlc3Npb246W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sd2l0aFJlc3BvbnNlOlshMSxbXV19KTticmVhaztjYXNlIF90LlNOTVA6dD10aGlzLmZiLmdyb3VwKHtyZXF1ZXN0RmlsdGVyOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLG1ldGhvZDpbbnVsbCxbdWUucmVxdWlyZWRdXSx3aXRoUmVzcG9uc2U6WyExLFtdXSxvaWQ6dGhpcy5mYi5hcnJheShbXSxbdWUucmVxdWlyZWRdKX0pO2JyZWFrO2Nhc2UgX3QuUkVTVDp0PXRoaXMuZmIuZ3JvdXAoe21ldGhvZEZpbHRlcjpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxodHRwTWV0aG9kOltudWxsLFt1ZS5yZXF1aXJlZF1dLHJlcXVlc3RVcmxFeHByZXNzaW9uOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKHRoaXMudXJsUGF0dGVybildXSxyZXNwb25zZVRpbWVvdXQ6W251bGwsW3VlLnJlcXVpcmVkLHVlLm1pbigxMCksdWUucGF0dGVybih0aGlzLm51bWJlcnNPbmx5UGF0dGVybildXSx0aW1lb3V0OltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMTApLHVlLnBhdHRlcm4odGhpcy5udW1iZXJzT25seVBhdHRlcm4pXV0sdHJpZXM6W251bGwsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5wYXR0ZXJuKHRoaXMubnVtYmVyc09ubHlQYXR0ZXJuKV1dLHZhbHVlRXhwcmVzc2lvbjpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxodHRwSGVhZGVyczp0aGlzLmZiLmFycmF5KFtdKSxzZWN1cml0eTpbe30sW3VlLnJlcXVpcmVkXV19KTticmVhaztjYXNlIF90LlJFUVVFU1Q6dD10aGlzLmZiLmdyb3VwKHttZXRob2RGaWx0ZXI6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0saHR0cE1ldGhvZDpbbnVsbCxbdWUucmVxdWlyZWRdXSxyZXF1ZXN0VXJsRXhwcmVzc2lvbjpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybih0aGlzLnVybFBhdHRlcm4pXV0scmVzcG9uc2VUaW1lb3V0OltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMTApLHVlLnBhdHRlcm4odGhpcy5udW1iZXJzT25seVBhdHRlcm4pXV0sdGltZW91dDpbbnVsbCxbdWUucmVxdWlyZWQsdWUubWluKDEwKSx1ZS5wYXR0ZXJuKHRoaXMubnVtYmVyc09ubHlQYXR0ZXJuKV1dLHRyaWVzOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybih0aGlzLm51bWJlcnNPbmx5UGF0dGVybildXSxyZXF1ZXN0VmFsdWVFeHByZXNzaW9uOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHJlc3BvbnNlVmFsdWVFeHByZXNzaW9uOltudWxsLFt1ZS5wYXR0ZXJuKGt0KV1dLGh0dHBIZWFkZXJzOnRoaXMuZmIuYXJyYXkoW10pfSk7YnJlYWs7ZGVmYXVsdDp0PXRoaXMuZmIuZ3JvdXAoe2NvbW1hbmQ6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scGFyYW1zOlt7fSxbSXRdXX0pfXJldHVybiB0fWFkZFNOTVBvaWQoZT1udWxsKXtjb25zdCB0PXRoaXMuY29tbWFuZEZvcm0uZ2V0KCJvaWQiKTt0JiZ0LnB1c2godGhpcy5mYi5jb250cm9sKGUsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXSkse2VtaXRFdmVudDohMX0pfXJlbW92ZVNOTVBvaWQoZSl7dGhpcy5jb21tYW5kRm9ybS5nZXQoIm9pZCIpLnJlbW92ZUF0KGUpfWFkZEhUVFBIZWFkZXIoZT17aGVhZGVyTmFtZTpudWxsLHZhbHVlOm51bGx9KXtjb25zdCB0PXRoaXMuY29tbWFuZEZvcm0uZ2V0KCJodHRwSGVhZGVycyIpLG49dGhpcy5mYi5ncm91cCh7aGVhZGVyTmFtZTpbZS5oZWFkZXJOYW1lLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHZhbHVlOltlLnZhbHVlLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dfSk7dCYmdC5wdXNoKG4se2VtaXRFdmVudDohMX0pfXJlbW92ZUhUVFBIZWFkZXIoZSl7dGhpcy5jb21tYW5kRm9ybS5nZXQoImh0dHBIZWFkZXJzIikucmVtb3ZlQXQoZSl9Z2V0Rm9ybUFycmF5Q29udHJvbHMoZSl7cmV0dXJuIHRoaXMuY29tbWFuZEZvcm0uZ2V0KGUpLmNvbnRyb2xzfW9wZW5FZGl0SlNPTkRpYWxvZyhlKXtlJiZlLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuZGlhbG9nLm9wZW4oUWUse2Rpc2FibGVDbG9zZTohMCxwYW5lbENsYXNzOlsidGItZGlhbG9nIiwidGItZnVsbHNjcmVlbi1kaWFsb2ciXSxkYXRhOntqc29uVmFsdWU6dGhpcy5jb21tYW5kRm9ybS5nZXQoInBhcmFtcyIpLnZhbHVlLHJlcXVpcmVkOiEwfX0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChlPT57ZSYmdGhpcy5jb21tYW5kRm9ybS5nZXQoInBhcmFtcyIpLnNldFZhbHVlKGUpfSkpfXNhdmUoKXt0aGlzLnNhdmVUZW1wbGF0ZS5lbWl0KCl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLnByb3BhZ2F0ZUNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe31jbGVhckZyb21BcnJheUJ5TmFtZShlKXtjb25zdCB0PXRoaXMuY29tbWFuZEZvcm0uZ2V0KGUpO2Zvcig7MCE9PXQubGVuZ3RoOyl0LnJlbW92ZUF0KDApfXdyaXRlVmFsdWUoZSl7aWYoIm9iamVjdCI9PXR5cGVvZiBlKXtzd2l0Y2goZT1KKGUpLHRoaXMuY29ubmVjdG9yVHlwZSl7Y2FzZSBfdC5TTk1QOnRoaXMuY2xlYXJGcm9tQXJyYXlCeU5hbWUoIm9pZCIpLGUub2lkLmZvckVhY2goKGU9Pnt0aGlzLmFkZFNOTVBvaWQoZSl9KSksZGVsZXRlIGUub2lkO2JyZWFrO2Nhc2UgX3QuUkVRVUVTVDpjYXNlIF90LlJFU1Q6dGhpcy5jbGVhckZyb21BcnJheUJ5TmFtZSgiaHR0cEhlYWRlcnMiKSxlLmh0dHBIZWFkZXJzJiZPYmplY3QuZW50cmllcyhlLmh0dHBIZWFkZXJzKS5mb3JFYWNoKChlPT57dGhpcy5hZGRIVFRQSGVhZGVyKHtoZWFkZXJOYW1lOmVbMF0sdmFsdWU6ZVsxXX0pfSkpLGRlbGV0ZSBlLmh0dHBIZWFkZXJzfXRoaXMuY29tbWFuZEZvcm0ucGF0Y2hWYWx1ZShlLHtvbmx5U2VsZjohMX0pfX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkFhLGRlcHM6W3t0b2tlbjptZS5Gb3JtQnVpbGRlcn0se3Rva2VuOkplLk1hdERpYWxvZ31dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6QWEsc2VsZWN0b3I6InRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yIixpbnB1dHM6e2Nvbm5lY3RvclR5cGU6ImNvbm5lY3RvclR5cGUifSxvdXRwdXRzOntzZW5kQ29tbWFuZDoic2VuZENvbW1hbmQiLHNhdmVUZW1wbGF0ZToic2F2ZVRlbXBsYXRlIn0scHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+QWEpKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iIGNsYXNzPSJjb21tYW5kLWZvcm0iIFtmb3JtR3JvdXBdPSJjb21tYW5kRm9ybSI+XG4gIDxkaXZcbiAgICBjbGFzcz0ibWF0LXN1YnRpdGxlLTEgdGl0bGUiPnt7IFwnZ2F0ZXdheS5ycGMudGl0bGVcJyB8IHRyYW5zbGF0ZToge3R5cGU6IGdhdGV3YXlDb25uZWN0b3JEZWZhdWx0VHlwZXNUcmFuc2xhdGVzLmdldChjb25uZWN0b3JUeXBlKX0gfX08L2Rpdj5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT0iY29ubmVjdG9yVHlwZSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJjb25uZWN0b3JUeXBlIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5CQUNORVQiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFJQQ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIiBwbGFjZWhvbGRlcj0ic2V0X3N0YXRlIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdFR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icmVxdWVzdFR5cGUiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBiQUNuZXRSZXF1ZXN0VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICB7e2JBQ25ldFJlcXVlc3RUeXBlc1RyYW5zbGF0ZXMuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdFRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RUaW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgIG1pbj0iMTAiIHN0ZXA9IjEiIHBsYWNlaG9sZGVyPSIxMDAwIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4Ij5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCIgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMub2JqZWN0VHlwZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9Im9iamVjdFR5cGUiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGJBQ25ldE9iamVjdFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICB7e2JBQ25ldE9iamVjdFR5cGVzVHJhbnNsYXRlcy5nZXQodHlwZSkgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuaWRlbnRpZmllclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJpZGVudGlmaWVyIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgbWluPSIxIiBzdGVwPSIxIiBwbGFjZWhvbGRlcj0iMSIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnByb3BlcnR5SWRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InByb3BlcnR5SWQiIHBsYWNlaG9sZGVyPSJwcmVzZW50VmFsdWUiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuQkxFIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RSUENcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZFJQQyIgcGxhY2Vob2xkZXI9InJwY01ldGhvZDEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5jaGFyYWN0ZXJpc3RpY1VVSURcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImNoYXJhY3RlcmlzdGljVVVJRCIgcGxhY2Vob2xkZXI9IjAwMDAyQTAwLTAwMDAtMTAwMC04MDAwLTAwODA1RjlCMzRGQiIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFByb2Nlc3NpbmdcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kUHJvY2Vzc2luZyI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGJMRU1ldGhvZHMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICB7e2JMRU1ldGhvZHNUcmFuc2xhdGVzLmdldCh0eXBlKSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLkNBTiI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiIHBsYWNlaG9sZGVyPSJzZW5kU2FtZURhdGEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5ub2RlSURcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im5vZGVJRCIgdHlwZT0ibnVtYmVyIiBwbGFjZWhvbGRlcj0iNCIgbWluPSIwIiBzdGVwPSIxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9ImlzRXh0ZW5kZWRJRCI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy5pc0V4dGVuZGVkSURcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9ImlzRkQiPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMuaXNGRFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0iYml0cmF0ZVN3aXRjaCI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy5iaXRyYXRlU3dpdGNoXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFMZW5ndGhcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUxlbmd0aCIgdHlwZT0ibnVtYmVyIiBwbGFjZWhvbGRlcj0iMiIgbWluPSIxIiBzdGVwPSIxIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayIgZnhGbGV4PSI1MCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuZGF0YUJ5dGVvcmRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRhdGFCeXRlb3JkZXIiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBvcmRlciBvZiBjQU5CeXRlT3JkZXJzIiBbdmFsdWVdPSJvcmRlciI+XG4gICAgICAgICAgICAgICAge3sgb3JkZXIgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFCZWZvcmVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUJlZm9yZSIgcGxhY2Vob2xkZXI9IjAwQUEiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjUwIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5kYXRhQWZ0ZXJcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUFmdGVyIiBwbGFjZWhvbGRlcj0iMDEwMiIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFJbkhFWFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUluSEVYIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iYWEgYmIgY2MgZGQgZWUgZmYgICBhYSBiYiBhYSBiYiBjYyBkIGVlIGZmIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuZGF0YUV4cHJlc3Npb25cJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImRhdGFFeHByZXNzaW9uIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0idXNlclNwZWVkIGlmIG1heEFsbG93ZWRTcGVlZCA+IHVzZXJTcGVlZCBlbHNlIG1heEFsbG93ZWRTcGVlZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5GVFAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIiBwbGFjZWhvbGRlcj0icmVhZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnZhbHVlRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLk9DUFAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFJQQ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kUlBDIiBwbGFjZWhvbGRlcj0icnBjMSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnZhbHVlRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLlNPQ0tFVCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RSUEMiIHBsYWNlaG9sZGVyPSJycGNNZXRob2QxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUHJvY2Vzc2luZ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RQcm9jZXNzaW5nIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBzb2NrZXRNZXRob2RQcm9jZXNzaW5ncyIgW3ZhbHVlXT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAge3sgU29ja2V0TWV0aG9kUHJvY2Vzc2luZ3NUcmFuc2xhdGVzLmdldChtZXRob2QpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmVuY29kaW5nXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJlbmNvZGluZyIgcGxhY2Vob2xkZXI9Int7c29ja2V0RW5jb2RpbmdzWzBdfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0id2l0aFJlc3BvbnNlIj5cbiAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLndpdGhSZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuWE1QUCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RSUEMiIHBsYWNlaG9sZGVyPSJycGMxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSIke3BhcmFtc30iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0id2l0aFJlc3BvbnNlIj5cbiAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLndpdGhSZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuU05NUCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVxdWVzdEZpbHRlciIgcGxhY2Vob2xkZXI9InNldERhdGEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBzTk1QTWV0aG9kcyIgW3ZhbHVlXT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAge3sgU05NUE1ldGhvZHNUcmFuc2xhdGlvbnMuZ2V0KG1ldGhvZCkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZmllbGRzIGJvcmRlciIgZnhMYXlvdXQ9ImNvbHVtbiIgZnhMYXlvdXRHYXA9IjEwcHgiIGZvcm1BcnJheU5hbWU9Im9pZCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkcy1sYWJlbCI+e3sgXCdnYXRld2F5LnJwYy5vaWRzXCcgfCB0cmFuc2xhdGUgfX0qPC9zcGFuPlxuICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgICAgICAgKm5nRm9yPSJsZXQgY29udHJvbCBvZiBnZXRGb3JtQXJyYXlDb250cm9scyhcJ29pZFwnKTsgbGV0IGkgPSBpbmRleCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWlubGluZS1maWVsZCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4IHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPSJjb250cm9sIiByZXF1aXJlZC8+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1pY29uIHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PSIzMHB4IlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9InJlbW92ZVNOTVBvaWQoaSkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LnJwYy5yZW1vdmVcJyB8IHRyYW5zbGF0ZSB9fSI+ZGVsZXRlXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgIGZ4RmxleEFsaWduPSJzdGFydCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9ImFkZFNOTVBvaWQoKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmFkZC1vaWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5SRVNUIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RGaWx0ZXJcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZEZpbHRlciIgcGxhY2Vob2xkZXI9InBvc3RfYXR0cmlidXRlcyIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmh0dHBNZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJodHRwTWV0aG9kIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbWV0aG9kIG9mIGhUVFBNZXRob2RzIiBbdmFsdWVdPSJtZXRob2QiPlxuICAgICAgICAgICAgICAgIHt7IG1ldGhvZCB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlcXVlc3RVcmxFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RVcmxFeHByZXNzaW9uIlxuICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJodHRwOi8vMTI3LjAuMC4xOjUwMDAvbXlfZGV2aWNlcyIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlc3BvbnNlVGltZW91dFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRpbWVvdXQiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgICAgICAgICBzdGVwPSIxIiBtaW49IjEwIiBwbGFjZWhvbGRlcj0iMTAiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudGltZW91dFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ0aW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgc3RlcD0iMSIgbWluPSIxMCIgcGxhY2Vob2xkZXI9IjEwMDAiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudHJpZXNcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idHJpZXMiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgICAgICAgICBzdGVwPSIxIiBtaW49IjEiIHBsYWNlaG9sZGVyPSIzIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSIke3BhcmFtc30iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmaWVsZHMgYm9yZGVyIiBmeExheW91dD0iY29sdW1uIiBmeExheW91dEdhcD0iMTBweCIgZm9ybUFycmF5TmFtZT0iaHR0cEhlYWRlcnMiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZHMtbGFiZWwiPnt7IFwnZ2F0ZXdheS5ycGMuaHR0cEhlYWRlcnNcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJib3JkZXIiIGZ4TGF5b3V0PSJjb2x1bW4iIGZ4TGF5b3V0R2FwPSIxMHB4IiAqbmdJZj0iZ2V0Rm9ybUFycmF5Q29udHJvbHMoXCdodHRwSGVhZGVyc1wnKS5sZW5ndGgiPlxuICAgICAgICAgICAgPGRpdiBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciI+XG4gICAgICAgICAgICAgIDxzcGFuIGZ4RmxleCBjbGFzcz0idGl0bGUiPnt7IFwnZ2F0ZXdheS5ycGMuaGVhZGVyLW5hbWVcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gZnhGbGV4IGNsYXNzPSJ0aXRsZSI+e3sgXCdnYXRld2F5LnJwYy52YWx1ZVwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBmeEZsZXg9IjMwcHgiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgICAgKm5nRm9yPSJsZXQgY29udHJvbCBvZiBnZXRGb3JtQXJyYXlDb250cm9scyhcJ2h0dHBIZWFkZXJzXCcpOyBsZXQgaSA9IGluZGV4Ij5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwTmFtZV09ImkiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBmeEZsZXg+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJoZWFkZXJOYW1lIi8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4PlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWUiIHBsYWNlaG9sZGVyPSJhcHBsaWNhdGlvbi9qc29uIi8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PSIzMHB4IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJyZW1vdmVIVFRQSGVhZGVyKGkpIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkucnBjLnJlbW92ZVwnIHwgdHJhbnNsYXRlIH19Ij5kZWxldGVcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgIGZ4RmxleEFsaWduPSJzdGFydCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9ImFkZEhUVFBIZWFkZXIoKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmFkZC1oZWFkZXJcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgICA8dGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHkgW2Zvcm1Db250cm9sXT0iY29tbWFuZEZvcm0uZ2V0KFwnc2VjdXJpdHlcJykiPjwvdGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHk+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLlJFUVVFU1QiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIiBwbGFjZWhvbGRlcj0iZWNobyIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmh0dHBNZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJodHRwTWV0aG9kIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbWV0aG9kIG9mIGhUVFBNZXRob2RzIiBbdmFsdWVdPSJtZXRob2QiPlxuICAgICAgICAgICAgICAgIHt7IG1ldGhvZCB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlcXVlc3RVcmxFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RVcmxFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iaHR0cDovLzEyNy4wLjAuMTo1MDAwL215X2RldmljZXMiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRHYXA9IjEwcHgiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjMzIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXNwb25zZVRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUaW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgc3RlcD0iMSIgbWluPSIxMCIgcGxhY2Vob2xkZXI9IjEwIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idGltZW91dCIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgIHN0ZXA9IjEiIG1pbj0iMTAiIHBsYWNlaG9sZGVyPSIxMCIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy50cmllc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ0cmllcyIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgIHN0ZXA9IjEiIG1pbj0iMSIgcGxhY2Vob2xkZXI9IjEiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXF1ZXN0VmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0VmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVzcG9uc2VWYWx1ZUV4cHJlc3Npb25cJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlc3BvbnNlVmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHt0ZW1wfSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZpZWxkcyBib3JkZXIiIGZ4TGF5b3V0PSJjb2x1bW4iIGZ4TGF5b3V0R2FwPSIxMHB4IiBmb3JtQXJyYXlOYW1lPSJodHRwSGVhZGVycyI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkcy1sYWJlbCI+e3sgXCdnYXRld2F5LnJwYy5odHRwSGVhZGVyc1wnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImJvcmRlciIgZnhMYXlvdXQ9ImNvbHVtbiIgZnhMYXlvdXRHYXA9IjEwcHgiICpuZ0lmPSJnZXRGb3JtQXJyYXlDb250cm9scyhcJ2h0dHBIZWFkZXJzXCcpLmxlbmd0aCI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIj5cbiAgICAgICAgICAgICAgPHNwYW4gZnhGbGV4IGNsYXNzPSJ0aXRsZSI+e3sgXCdnYXRld2F5LnJwYy5oZWFkZXItbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBmeEZsZXggY2xhc3M9InRpdGxlIj57eyBcJ2dhdGV3YXkucnBjLnZhbHVlXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGZ4RmxleD0iMzBweCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgICAgICAgICAqbmdGb3I9ImxldCBjb250cm9sIG9mIGdldEZvcm1BcnJheUNvbnRyb2xzKFwnaHR0cEhlYWRlcnNcJyk7IGxldCBpID0gaW5kZXgiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBOYW1lXT0iaSI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGZ4RmxleD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImhlYWRlck5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkucnBjLnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4PlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWUiLz5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBmeEZsZXg9IjMwcHgiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9InJlbW92ZUhUVFBIZWFkZXIoaSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5ycGMucmVtb3ZlXCcgfCB0cmFuc2xhdGUgfX0iPmRlbGV0ZVxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgZnhGbGV4QWxpZ249InN0YXJ0IlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iYWRkSFRUUEhlYWRlcigpIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMuYWRkLWhlYWRlclwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIG5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY29tbWFuZFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iY29tbWFuZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCd3aWRnZXQtY29uZmlnLmRhdGFzb3VyY2UtcGFyYW1ldGVyc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icGFyYW1zIiB0eXBlPSJKU09OIiB0Yi1qc29uLXRvLXN0cmluZy8+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCIgYXJpYS1oaWRkZW49ImZhbHNlIiBhcmlhLWxhYmVsPSJoZWxwLWljb24iXG4gICAgICAgICAgICAgICAgICAgIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ib3BlbkVkaXRKU09ORGlhbG9nKCRldmVudCkiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1lZGl0LXBhcmFtc1wnIHwgdHJhbnNsYXRlIH19Ij5lZGl0XG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb21tYW5kRm9ybS5nZXQoXCdwYXJhbXNcJykuaGFzRXJyb3IoXCdpbnZhbGlkSlNPTlwnKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmpzb24tdmFsdWUtaW52YWxpZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPSJ0ZW1wbGF0ZS1hY3Rpb25zIiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciIgZnhMYXlvdXRHYXA9IjEwcHgiPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9InNhdmUoKSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09ImNvbW1hbmRGb3JtLmludmFsaWQiPlxuICAgICAge3sgXCdnYXRld2F5LnJwYy1jb21tYW5kLXNhdmUtdGVtcGxhdGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0ic2VuZENvbW1hbmQuZW1pdCgpIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0iY29tbWFuZEZvcm0uaW52YWxpZCI+XG4gICAgICB7eyBcJ2dhdGV3YXkucnBjLWNvbW1hbmQtc2VuZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MH06aG9zdCAudGl0bGV7Zm9udC13ZWlnaHQ6NTAwfTpob3N0IC5jb21tYW5kLWZvcm17ZmxleC13cmFwOm5vd3JhcH06aG9zdCAuY29tbWFuZC1mb3JtPmJ1dHRvbnttYXJnaW4tdG9wOjEwcHh9Omhvc3QgLm1hdC1tZGMtc2xpZGUtdG9nZ2xlLm1hcmdpbnttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLWxlZnQ6MTBweH06aG9zdCAuZmllbGRzIC5maWVsZHMtbGFiZWx7Zm9udC13ZWlnaHQ6NTAwfTpob3N0IC5ib3JkZXJ7cGFkZGluZzoxNnB4O21hcmdpbi1ib3R0b206MTBweDtib3gtc2hhZG93OjAgMCAjMDAwMywwIDAgIzAwMDAwMDI0LDAgMCAjMDAwMDAwMWY7Ym9yZGVyOnNvbGlkIDFweCAjZTBlMGUwO2JvcmRlci1yYWRpdXM6NHB4fTpob3N0IC5ib3JkZXIgLnRpdGxle2NvbG9yOiMwMDAwMDA4YX06aG9zdCAuYm9yZGVyIC5tYXQtaWNvbntjb2xvcjojMDAwMDAwNjF9Omhvc3QgLmJvcmRlciAubWF0LWRpdmlkZXJ7bWFyZ2luLWxlZnQ6LTE2cHg7bWFyZ2luLXJpZ2h0Oi0xNnB4O21hcmdpbi1ib3R0b206MTZweH1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaCxzZWxlY3RvcjoiW25nU3dpdGNoXSIsaW5wdXRzOlsibmdTd2l0Y2giXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoQ2FzZSxzZWxlY3RvcjoiW25nU3dpdGNoQ2FzZV0iLGlucHV0czpbIm5nU3dpdGNoQ2FzZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdTd2l0Y2hEZWZhdWx0LHNlbGVjdG9yOiJbbmdTd2l0Y2hEZWZhdWx0XSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WmUuVGJKc29uVG9TdHJpbmdEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0Yi1qc29uLXRvLXN0cmluZ10ifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0RXJyb3Isc2VsZWN0b3I6Im1hdC1lcnJvciwgW21hdEVycm9yXSIsaW5wdXRzOlsiaWQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRTdWZmaXgsc2VsZWN0b3I6IlttYXRTdWZmaXhdLCBbbWF0SWNvblN1ZmZpeF0sIFttYXRUZXh0U3VmZml4XSIsaW5wdXRzOlsibWF0VGV4dFN1ZmZpeCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOndlLk1hdFNlbGVjdCxzZWxlY3RvcjoibWF0LXNlbGVjdCIsaW5wdXRzOlsiYXJpYS1kZXNjcmliZWRieSIsInBhbmVsQ2xhc3MiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3IiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwibXVsdGlwbGUiLCJkaXNhYmxlT3B0aW9uQ2VudGVyaW5nIiwiY29tcGFyZVdpdGgiLCJ2YWx1ZSIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJlcnJvclN0YXRlTWF0Y2hlciIsInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLCJzb3J0Q29tcGFyYXRvciIsImlkIiwicGFuZWxXaWR0aCJdLG91dHB1dHM6WyJvcGVuZWRDaGFuZ2UiLCJvcGVuZWQiLCJjbG9zZWQiLCJzZWxlY3Rpb25DaGFuZ2UiLCJ2YWx1ZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2VsZWN0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnouTWF0RGl2aWRlcixzZWxlY3RvcjoibWF0LWRpdmlkZXIiLGlucHV0czpbInZlcnRpY2FsIiwiaW5zZXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRHYXBEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0R2FwXSwgW2Z4TGF5b3V0R2FwLnhzXSwgW2Z4TGF5b3V0R2FwLnNtXSwgW2Z4TGF5b3V0R2FwLm1kXSwgIFtmeExheW91dEdhcC5sZ10sIFtmeExheW91dEdhcC54bF0sIFtmeExheW91dEdhcC5sdC1zbV0sIFtmeExheW91dEdhcC5sdC1tZF0sICBbZnhMYXlvdXRHYXAubHQtbGddLCBbZnhMYXlvdXRHYXAubHQteGxdLCBbZnhMYXlvdXRHYXAuZ3QteHNdLCBbZnhMYXlvdXRHYXAuZ3Qtc21dLCAgW2Z4TGF5b3V0R2FwLmd0LW1kXSwgW2Z4TGF5b3V0R2FwLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRHYXAiLCJmeExheW91dEdhcC54cyIsImZ4TGF5b3V0R2FwLnNtIiwiZnhMYXlvdXRHYXAubWQiLCJmeExheW91dEdhcC5sZyIsImZ4TGF5b3V0R2FwLnhsIiwiZnhMYXlvdXRHYXAubHQtc20iLCJmeExheW91dEdhcC5sdC1tZCIsImZ4TGF5b3V0R2FwLmx0LWxnIiwiZnhMYXlvdXRHYXAubHQteGwiLCJmeExheW91dEdhcC5ndC14cyIsImZ4TGF5b3V0R2FwLmd0LXNtIiwiZnhMYXlvdXRHYXAuZ3QtbWQiLCJmeExheW91dEdhcC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhBbGlnbkRpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4QWxpZ25dLCBbZnhGbGV4QWxpZ24ueHNdLCBbZnhGbGV4QWxpZ24uc21dLCBbZnhGbGV4QWxpZ24ubWRdLCAgW2Z4RmxleEFsaWduLmxnXSwgW2Z4RmxleEFsaWduLnhsXSwgW2Z4RmxleEFsaWduLmx0LXNtXSwgW2Z4RmxleEFsaWduLmx0LW1kXSwgIFtmeEZsZXhBbGlnbi5sdC1sZ10sIFtmeEZsZXhBbGlnbi5sdC14bF0sIFtmeEZsZXhBbGlnbi5ndC14c10sIFtmeEZsZXhBbGlnbi5ndC1zbV0sICBbZnhGbGV4QWxpZ24uZ3QtbWRdLCBbZnhGbGV4QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeEZsZXhBbGlnbiIsImZ4RmxleEFsaWduLnhzIiwiZnhGbGV4QWxpZ24uc20iLCJmeEZsZXhBbGlnbi5tZCIsImZ4RmxleEFsaWduLmxnIiwiZnhGbGV4QWxpZ24ueGwiLCJmeEZsZXhBbGlnbi5sdC1zbSIsImZ4RmxleEFsaWduLmx0LW1kIiwiZnhGbGV4QWxpZ24ubHQtbGciLCJmeEZsZXhBbGlnbi5sdC14bCIsImZ4RmxleEFsaWduLmd0LXhzIiwiZnhGbGV4QWxpZ24uZ3Qtc20iLCJmeEZsZXhBbGlnbi5ndC1tZCIsImZ4RmxleEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1pblZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLGlucHV0czpbIm1pbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwTmFtZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdIixpbnB1dHM6WyJmb3JtR3JvdXBOYW1lIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUFycmF5TmFtZSxzZWxlY3RvcjoiW2Zvcm1BcnJheU5hbWVdIixpbnB1dHM6WyJmb3JtQXJyYXlOYW1lIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6SWEsc2VsZWN0b3I6InRiLXJlc3QtY29ubmVjdG9yLXNlY3VyaXR5In0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XX0pfX1lKCJHYXRld2F5U2VydmljZVJQQ0Nvbm5lY3RvckNvbXBvbmVudCIsQWEpLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6QWEsZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yIixwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5BYSkpLG11bHRpOiEwfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iIGNsYXNzPSJjb21tYW5kLWZvcm0iIFtmb3JtR3JvdXBdPSJjb21tYW5kRm9ybSI+XG4gIDxkaXZcbiAgICBjbGFzcz0ibWF0LXN1YnRpdGxlLTEgdGl0bGUiPnt7IFwnZ2F0ZXdheS5ycGMudGl0bGVcJyB8IHRyYW5zbGF0ZToge3R5cGU6IGdhdGV3YXlDb25uZWN0b3JEZWZhdWx0VHlwZXNUcmFuc2xhdGVzLmdldChjb25uZWN0b3JUeXBlKX0gfX08L2Rpdj5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT0iY29ubmVjdG9yVHlwZSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJjb25uZWN0b3JUeXBlIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5CQUNORVQiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFJQQ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIiBwbGFjZWhvbGRlcj0ic2V0X3N0YXRlIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdFR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icmVxdWVzdFR5cGUiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBiQUNuZXRSZXF1ZXN0VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICB7e2JBQ25ldFJlcXVlc3RUeXBlc1RyYW5zbGF0ZXMuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdFRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RUaW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgIG1pbj0iMTAiIHN0ZXA9IjEiIHBsYWNlaG9sZGVyPSIxMDAwIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4Ij5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCIgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMub2JqZWN0VHlwZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9Im9iamVjdFR5cGUiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGJBQ25ldE9iamVjdFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICB7e2JBQ25ldE9iamVjdFR5cGVzVHJhbnNsYXRlcy5nZXQodHlwZSkgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuaWRlbnRpZmllclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJpZGVudGlmaWVyIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgbWluPSIxIiBzdGVwPSIxIiBwbGFjZWhvbGRlcj0iMSIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnByb3BlcnR5SWRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InByb3BlcnR5SWQiIHBsYWNlaG9sZGVyPSJwcmVzZW50VmFsdWUiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuQkxFIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RSUENcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZFJQQyIgcGxhY2Vob2xkZXI9InJwY01ldGhvZDEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5jaGFyYWN0ZXJpc3RpY1VVSURcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImNoYXJhY3RlcmlzdGljVVVJRCIgcGxhY2Vob2xkZXI9IjAwMDAyQTAwLTAwMDAtMTAwMC04MDAwLTAwODA1RjlCMzRGQiIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFByb2Nlc3NpbmdcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kUHJvY2Vzc2luZyI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGJMRU1ldGhvZHMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICB7e2JMRU1ldGhvZHNUcmFuc2xhdGVzLmdldCh0eXBlKSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLkNBTiI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiIHBsYWNlaG9sZGVyPSJzZW5kU2FtZURhdGEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5ub2RlSURcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im5vZGVJRCIgdHlwZT0ibnVtYmVyIiBwbGFjZWhvbGRlcj0iNCIgbWluPSIwIiBzdGVwPSIxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9ImlzRXh0ZW5kZWRJRCI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy5pc0V4dGVuZGVkSURcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9ImlzRkQiPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMuaXNGRFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0iYml0cmF0ZVN3aXRjaCI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy5iaXRyYXRlU3dpdGNoXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFMZW5ndGhcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUxlbmd0aCIgdHlwZT0ibnVtYmVyIiBwbGFjZWhvbGRlcj0iMiIgbWluPSIxIiBzdGVwPSIxIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayIgZnhGbGV4PSI1MCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuZGF0YUJ5dGVvcmRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRhdGFCeXRlb3JkZXIiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBvcmRlciBvZiBjQU5CeXRlT3JkZXJzIiBbdmFsdWVdPSJvcmRlciI+XG4gICAgICAgICAgICAgICAge3sgb3JkZXIgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFCZWZvcmVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUJlZm9yZSIgcGxhY2Vob2xkZXI9IjAwQUEiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjUwIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5kYXRhQWZ0ZXJcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUFmdGVyIiBwbGFjZWhvbGRlcj0iMDEwMiIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFJbkhFWFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUluSEVYIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iYWEgYmIgY2MgZGQgZWUgZmYgICBhYSBiYiBhYSBiYiBjYyBkIGVlIGZmIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuZGF0YUV4cHJlc3Npb25cJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImRhdGFFeHByZXNzaW9uIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0idXNlclNwZWVkIGlmIG1heEFsbG93ZWRTcGVlZCA+IHVzZXJTcGVlZCBlbHNlIG1heEFsbG93ZWRTcGVlZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5GVFAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIiBwbGFjZWhvbGRlcj0icmVhZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnZhbHVlRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLk9DUFAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFJQQ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kUlBDIiBwbGFjZWhvbGRlcj0icnBjMSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnZhbHVlRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLlNPQ0tFVCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RSUEMiIHBsYWNlaG9sZGVyPSJycGNNZXRob2QxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUHJvY2Vzc2luZ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RQcm9jZXNzaW5nIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBzb2NrZXRNZXRob2RQcm9jZXNzaW5ncyIgW3ZhbHVlXT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAge3sgU29ja2V0TWV0aG9kUHJvY2Vzc2luZ3NUcmFuc2xhdGVzLmdldChtZXRob2QpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmVuY29kaW5nXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJlbmNvZGluZyIgcGxhY2Vob2xkZXI9Int7c29ja2V0RW5jb2RpbmdzWzBdfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0id2l0aFJlc3BvbnNlIj5cbiAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLndpdGhSZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuWE1QUCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RSUEMiIHBsYWNlaG9sZGVyPSJycGMxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSIke3BhcmFtc30iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0id2l0aFJlc3BvbnNlIj5cbiAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLndpdGhSZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuU05NUCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVxdWVzdEZpbHRlciIgcGxhY2Vob2xkZXI9InNldERhdGEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBzTk1QTWV0aG9kcyIgW3ZhbHVlXT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAge3sgU05NUE1ldGhvZHNUcmFuc2xhdGlvbnMuZ2V0KG1ldGhvZCkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZmllbGRzIGJvcmRlciIgZnhMYXlvdXQ9ImNvbHVtbiIgZnhMYXlvdXRHYXA9IjEwcHgiIGZvcm1BcnJheU5hbWU9Im9pZCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkcy1sYWJlbCI+e3sgXCdnYXRld2F5LnJwYy5vaWRzXCcgfCB0cmFuc2xhdGUgfX0qPC9zcGFuPlxuICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgICAgICAgKm5nRm9yPSJsZXQgY29udHJvbCBvZiBnZXRGb3JtQXJyYXlDb250cm9scyhcJ29pZFwnKTsgbGV0IGkgPSBpbmRleCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWlubGluZS1maWVsZCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4IHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPSJjb250cm9sIiByZXF1aXJlZC8+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1pY29uIHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PSIzMHB4IlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9InJlbW92ZVNOTVBvaWQoaSkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LnJwYy5yZW1vdmVcJyB8IHRyYW5zbGF0ZSB9fSI+ZGVsZXRlXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgIGZ4RmxleEFsaWduPSJzdGFydCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9ImFkZFNOTVBvaWQoKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmFkZC1vaWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5SRVNUIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RGaWx0ZXJcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZEZpbHRlciIgcGxhY2Vob2xkZXI9InBvc3RfYXR0cmlidXRlcyIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmh0dHBNZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJodHRwTWV0aG9kIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbWV0aG9kIG9mIGhUVFBNZXRob2RzIiBbdmFsdWVdPSJtZXRob2QiPlxuICAgICAgICAgICAgICAgIHt7IG1ldGhvZCB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlcXVlc3RVcmxFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RVcmxFeHByZXNzaW9uIlxuICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJodHRwOi8vMTI3LjAuMC4xOjUwMDAvbXlfZGV2aWNlcyIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlc3BvbnNlVGltZW91dFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRpbWVvdXQiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgICAgICAgICBzdGVwPSIxIiBtaW49IjEwIiBwbGFjZWhvbGRlcj0iMTAiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudGltZW91dFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ0aW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgc3RlcD0iMSIgbWluPSIxMCIgcGxhY2Vob2xkZXI9IjEwMDAiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudHJpZXNcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idHJpZXMiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgICAgICAgICBzdGVwPSIxIiBtaW49IjEiIHBsYWNlaG9sZGVyPSIzIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSIke3BhcmFtc30iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmaWVsZHMgYm9yZGVyIiBmeExheW91dD0iY29sdW1uIiBmeExheW91dEdhcD0iMTBweCIgZm9ybUFycmF5TmFtZT0iaHR0cEhlYWRlcnMiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZHMtbGFiZWwiPnt7IFwnZ2F0ZXdheS5ycGMuaHR0cEhlYWRlcnNcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJib3JkZXIiIGZ4TGF5b3V0PSJjb2x1bW4iIGZ4TGF5b3V0R2FwPSIxMHB4IiAqbmdJZj0iZ2V0Rm9ybUFycmF5Q29udHJvbHMoXCdodHRwSGVhZGVyc1wnKS5sZW5ndGgiPlxuICAgICAgICAgICAgPGRpdiBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciI+XG4gICAgICAgICAgICAgIDxzcGFuIGZ4RmxleCBjbGFzcz0idGl0bGUiPnt7IFwnZ2F0ZXdheS5ycGMuaGVhZGVyLW5hbWVcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gZnhGbGV4IGNsYXNzPSJ0aXRsZSI+e3sgXCdnYXRld2F5LnJwYy52YWx1ZVwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBmeEZsZXg9IjMwcHgiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgICAgKm5nRm9yPSJsZXQgY29udHJvbCBvZiBnZXRGb3JtQXJyYXlDb250cm9scyhcJ2h0dHBIZWFkZXJzXCcpOyBsZXQgaSA9IGluZGV4Ij5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwTmFtZV09ImkiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBmeEZsZXg+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJoZWFkZXJOYW1lIi8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4PlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWUiIHBsYWNlaG9sZGVyPSJhcHBsaWNhdGlvbi9qc29uIi8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PSIzMHB4IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJyZW1vdmVIVFRQSGVhZGVyKGkpIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkucnBjLnJlbW92ZVwnIHwgdHJhbnNsYXRlIH19Ij5kZWxldGVcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgIGZ4RmxleEFsaWduPSJzdGFydCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9ImFkZEhUVFBIZWFkZXIoKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmFkZC1oZWFkZXJcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgICA8dGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHkgW2Zvcm1Db250cm9sXT0iY29tbWFuZEZvcm0uZ2V0KFwnc2VjdXJpdHlcJykiPjwvdGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHk+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLlJFUVVFU1QiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIiBwbGFjZWhvbGRlcj0iZWNobyIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmh0dHBNZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJodHRwTWV0aG9kIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbWV0aG9kIG9mIGhUVFBNZXRob2RzIiBbdmFsdWVdPSJtZXRob2QiPlxuICAgICAgICAgICAgICAgIHt7IG1ldGhvZCB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlcXVlc3RVcmxFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RVcmxFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iaHR0cDovLzEyNy4wLjAuMTo1MDAwL215X2RldmljZXMiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRHYXA9IjEwcHgiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjMzIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXNwb25zZVRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUaW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgc3RlcD0iMSIgbWluPSIxMCIgcGxhY2Vob2xkZXI9IjEwIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idGltZW91dCIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgIHN0ZXA9IjEiIG1pbj0iMTAiIHBsYWNlaG9sZGVyPSIxMCIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy50cmllc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ0cmllcyIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgIHN0ZXA9IjEiIG1pbj0iMSIgcGxhY2Vob2xkZXI9IjEiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXF1ZXN0VmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0VmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVzcG9uc2VWYWx1ZUV4cHJlc3Npb25cJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlc3BvbnNlVmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHt0ZW1wfSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZpZWxkcyBib3JkZXIiIGZ4TGF5b3V0PSJjb2x1bW4iIGZ4TGF5b3V0R2FwPSIxMHB4IiBmb3JtQXJyYXlOYW1lPSJodHRwSGVhZGVycyI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkcy1sYWJlbCI+e3sgXCdnYXRld2F5LnJwYy5odHRwSGVhZGVyc1wnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImJvcmRlciIgZnhMYXlvdXQ9ImNvbHVtbiIgZnhMYXlvdXRHYXA9IjEwcHgiICpuZ0lmPSJnZXRGb3JtQXJyYXlDb250cm9scyhcJ2h0dHBIZWFkZXJzXCcpLmxlbmd0aCI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIj5cbiAgICAgICAgICAgICAgPHNwYW4gZnhGbGV4IGNsYXNzPSJ0aXRsZSI+e3sgXCdnYXRld2F5LnJwYy5oZWFkZXItbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBmeEZsZXggY2xhc3M9InRpdGxlIj57eyBcJ2dhdGV3YXkucnBjLnZhbHVlXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGZ4RmxleD0iMzBweCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgICAgICAgICAqbmdGb3I9ImxldCBjb250cm9sIG9mIGdldEZvcm1BcnJheUNvbnRyb2xzKFwnaHR0cEhlYWRlcnNcJyk7IGxldCBpID0gaW5kZXgiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBOYW1lXT0iaSI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGZ4RmxleD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImhlYWRlck5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkucnBjLnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4PlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWUiLz5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBmeEZsZXg9IjMwcHgiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9InJlbW92ZUhUVFBIZWFkZXIoaSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5ycGMucmVtb3ZlXCcgfCB0cmFuc2xhdGUgfX0iPmRlbGV0ZVxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgZnhGbGV4QWxpZ249InN0YXJ0IlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iYWRkSFRUUEhlYWRlcigpIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMuYWRkLWhlYWRlclwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIG5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY29tbWFuZFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iY29tbWFuZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCd3aWRnZXQtY29uZmlnLmRhdGFzb3VyY2UtcGFyYW1ldGVyc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icGFyYW1zIiB0eXBlPSJKU09OIiB0Yi1qc29uLXRvLXN0cmluZy8+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCIgYXJpYS1oaWRkZW49ImZhbHNlIiBhcmlhLWxhYmVsPSJoZWxwLWljb24iXG4gICAgICAgICAgICAgICAgICAgIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ib3BlbkVkaXRKU09ORGlhbG9nKCRldmVudCkiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1lZGl0LXBhcmFtc1wnIHwgdHJhbnNsYXRlIH19Ij5lZGl0XG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb21tYW5kRm9ybS5nZXQoXCdwYXJhbXNcJykuaGFzRXJyb3IoXCdpbnZhbGlkSlNPTlwnKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmpzb24tdmFsdWUtaW52YWxpZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPSJ0ZW1wbGF0ZS1hY3Rpb25zIiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciIgZnhMYXlvdXRHYXA9IjEwcHgiPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9InNhdmUoKSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09ImNvbW1hbmRGb3JtLmludmFsaWQiPlxuICAgICAge3sgXCdnYXRld2F5LnJwYy1jb21tYW5kLXNhdmUtdGVtcGxhdGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0ic2VuZENvbW1hbmQuZW1pdCgpIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0iY29tbWFuZEZvcm0uaW52YWxpZCI+XG4gICAgICB7eyBcJ2dhdGV3YXkucnBjLWNvbW1hbmQtc2VuZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MH06aG9zdCAudGl0bGV7Zm9udC13ZWlnaHQ6NTAwfTpob3N0IC5jb21tYW5kLWZvcm17ZmxleC13cmFwOm5vd3JhcH06aG9zdCAuY29tbWFuZC1mb3JtPmJ1dHRvbnttYXJnaW4tdG9wOjEwcHh9Omhvc3QgLm1hdC1tZGMtc2xpZGUtdG9nZ2xlLm1hcmdpbnttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLWxlZnQ6MTBweH06aG9zdCAuZmllbGRzIC5maWVsZHMtbGFiZWx7Zm9udC13ZWlnaHQ6NTAwfTpob3N0IC5ib3JkZXJ7cGFkZGluZzoxNnB4O21hcmdpbi1ib3R0b206MTBweDtib3gtc2hhZG93OjAgMCAjMDAwMywwIDAgIzAwMDAwMDI0LDAgMCAjMDAwMDAwMWY7Ym9yZGVyOnNvbGlkIDFweCAjZTBlMGUwO2JvcmRlci1yYWRpdXM6NHB4fTpob3N0IC5ib3JkZXIgLnRpdGxle2NvbG9yOiMwMDAwMDA4YX06aG9zdCAuYm9yZGVyIC5tYXQtaWNvbntjb2xvcjojMDAwMDAwNjF9Omhvc3QgLmJvcmRlciAubWF0LWRpdmlkZXJ7bWFyZ2luLWxlZnQ6LTE2cHg7bWFyZ2luLXJpZ2h0Oi0xNnB4O21hcmdpbi1ib3R0b206MTZweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTpKZS5NYXREaWFsb2d9XSxwcm9wRGVjb3JhdG9yczp7Y29ubmVjdG9yVHlwZTpbe3R5cGU6YX1dLHNlbmRDb21tYW5kOlt7dHlwZTpsfV0sc2F2ZVRlbXBsYXRlOlt7dHlwZTpsfV19fSk7Y2xhc3MgTmEgZXh0ZW5kcyBQe2NvbnN0cnVjdG9yKGUsdCxuLGEsbyl7c3VwZXIoZSx0LGEpLHRoaXMuc3RvcmU9ZSx0aGlzLnJvdXRlcj10LHRoaXMuZGF0YT1uLHRoaXMuZGlhbG9nUmVmPWEsdGhpcy5mYj1vLHRoaXMuY29uZmlnPXRoaXMuZGF0YS5jb25maWcsdGhpcy50ZW1wbGF0ZXM9dGhpcy5kYXRhLnRlbXBsYXRlcyx0aGlzLnRlbXBsYXRlTmFtZUN0cmw9dGhpcy5mYi5jb250cm9sKCIiLFt1ZS5yZXF1aXJlZF0pfXZhbGlkYXRlRHVwbGljYXRlTmFtZShlKXtjb25zdCB0PWUudmFsdWUudHJpbSgpO3JldHVybiEhdGhpcy50ZW1wbGF0ZXMuZmluZCgoZT0+ZS5uYW1lPT09dCkpfWNsb3NlKCl7dGhpcy5kaWFsb2dSZWYuY2xvc2UoKX1zYXZlKCl7dGhpcy50ZW1wbGF0ZU5hbWVDdHJsLnNldFZhbHVlKHRoaXMudGVtcGxhdGVOYW1lQ3RybC52YWx1ZS50cmltKCkpLHRoaXMudGVtcGxhdGVOYW1lQ3RybC52YWxpZCYmdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy50ZW1wbGF0ZU5hbWVDdHJsLnZhbHVlKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOk5hLGRlcHM6W3t0b2tlbjpvdC5TdG9yZX0se3Rva2VuOml0LlJvdXRlcn0se3Rva2VuOlhlfSx7dG9rZW46SmUuTWF0RGlhbG9nUmVmfSx7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOk5hLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LXNlcnZpY2UtcnBjLWNvbm5lY3Rvci10ZW1wbGF0ZS1kaWFsb2ciLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10b29sYmFyIGNvbG9yPSJwcmltYXJ5Ij5cbiAgPGgyIHRyYW5zbGF0ZT5nYXRld2F5LnJwYy5zYXZlLXRlbXBsYXRlPC9oMj5cbiAgPHNwYW4gZnhGbGV4Pjwvc3Bhbj5cbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAoY2xpY2spPSJjbG9zZSgpIlxuICAgICAgICAgIHR5cGU9ImJ1dHRvbiI+XG4gICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+Y2xvc2U8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbjwvbWF0LXRvb2xiYXI+XG48ZGl2IG1hdC1kaWFsb2ctY29udGVudCBzdHlsZT0id2lkdGg6IDYwMHB4IiBjbGFzcz0ibWF0LWNvbnRlbnQiIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayB0Yi12YWx1ZS10eXBlIiBzdHlsZT0iZmxleC1ncm93OiAwIj5cbiAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnJwYy50ZW1wbGF0ZS1uYW1lPC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IFtmb3JtQ29udHJvbF09InRlbXBsYXRlTmFtZUN0cmwiIHJlcXVpcmVkLz5cbiAgICA8bWF0LWVycm9yXG4gICAgICAqbmdJZj0idGVtcGxhdGVOYW1lQ3RybC5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgIHt7IFwnZ2F0ZXdheS5ycGMudGVtcGxhdGUtbmFtZS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxkaXYgY2xhc3M9Im1hdC1tZGMtZm9ybS1maWVsZC1lcnJvciJcbiAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDogLTE1cHg7IHBhZGRpbmctbGVmdDogMTBweDsgZm9udC1zaXplOiAxNHB4OyJcbiAgICAgICAqbmdJZj0idmFsaWRhdGVEdXBsaWNhdGVOYW1lKHRlbXBsYXRlTmFtZUN0cmwpIj5cbiAgICB7eyBcJ2dhdGV3YXkucnBjLnRlbXBsYXRlLW5hbWUtZHVwbGljYXRlXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiPlxuICA8YnV0dG9uIG1hdC1idXR0b25cbiAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgKGNsaWNrKT0iY2xvc2UoKSI+XG4gICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG4gIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICBbZGlzYWJsZWRdPSIhdGVtcGxhdGVOYW1lQ3RybC52YWxpZCJcbiAgICAgICAgICAoY2xpY2spPSJzYXZlKCkiPlxuICAgIHt7IFwnYWN0aW9uLnNhdmVcJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbjwvZGl2PlxuJyxkZXBlbmRlbmNpZXM6W3traW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QnV0dG9uLHNlbGVjdG9yOiIgICAgYnV0dG9uW21hdC1idXR0b25dLCBidXR0b25bbWF0LXJhaXNlZC1idXR0b25dLCBidXR0b25bbWF0LWZsYXQtYnV0dG9uXSwgICAgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0gICIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRFcnJvcixzZWxlY3RvcjoibWF0LWVycm9yLCBbbWF0RXJyb3JdIixpbnB1dHM6WyJpZCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnJ0Lk1hdFRvb2xiYXIsc2VsZWN0b3I6Im1hdC10b29sYmFyIixpbnB1dHM6WyJjb2xvciJdLGV4cG9ydEFzOlsibWF0VG9vbGJhciJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOkplLk1hdERpYWxvZ0FjdGlvbnMsc2VsZWN0b3I6IlttYXQtZGlhbG9nLWFjdGlvbnNdLCBtYXQtZGlhbG9nLWFjdGlvbnMsIFttYXREaWFsb2dBY3Rpb25zXSIsaW5wdXRzOlsiYWxpZ24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpKZS5NYXREaWFsb2dDb250ZW50LHNlbGVjdG9yOiJbbWF0LWRpYWxvZy1jb250ZW50XSwgbWF0LWRpYWxvZy1jb250ZW50LCBbbWF0RGlhbG9nQ29udGVudF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRdLCBbZnhMYXlvdXQueHNdLCBbZnhMYXlvdXQuc21dLCBbZnhMYXlvdXQubWRdLCAgW2Z4TGF5b3V0LmxnXSwgW2Z4TGF5b3V0LnhsXSwgW2Z4TGF5b3V0Lmx0LXNtXSwgW2Z4TGF5b3V0Lmx0LW1kXSwgIFtmeExheW91dC5sdC1sZ10sIFtmeExheW91dC5sdC14bF0sIFtmeExheW91dC5ndC14c10sIFtmeExheW91dC5ndC1zbV0sICBbZnhMYXlvdXQuZ3QtbWRdLCBbZnhMYXlvdXQuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dCIsImZ4TGF5b3V0LnhzIiwiZnhMYXlvdXQuc20iLCJmeExheW91dC5tZCIsImZ4TGF5b3V0LmxnIiwiZnhMYXlvdXQueGwiLCJmeExheW91dC5sdC1zbSIsImZ4TGF5b3V0Lmx0LW1kIiwiZnhMYXlvdXQubHQtbGciLCJmeExheW91dC5sdC14bCIsImZ4TGF5b3V0Lmd0LXhzIiwiZnhMYXlvdXQuZ3Qtc20iLCJmeExheW91dC5ndC1tZCIsImZ4TGF5b3V0Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLlJlcXVpcmVkVmFsaWRhdG9yLHNlbGVjdG9yOiI6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sTmFtZV0sOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbF0sOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtuZ01vZGVsXSIsaW5wdXRzOlsicmVxdWlyZWQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2wiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV19KX19ZSgiR2F0ZXdheVNlcnZpY2VSUENDb25uZWN0b3JUZW1wbGF0ZURpYWxvZ0NvbXBvbmVudCIsTmEpLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6TmEsZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yLXRlbXBsYXRlLWRpYWxvZyIsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICA8aDIgdHJhbnNsYXRlPmdhdGV3YXkucnBjLnNhdmUtdGVtcGxhdGU8L2gyPlxuICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgIChjbGljayk9ImNsb3NlKCkiXG4gICAgICAgICAgdHlwZT0iYnV0dG9uIj5cbiAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9tYXQtdG9vbGJhcj5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IHN0eWxlPSJ3aWR0aDogNjAwcHgiIGNsYXNzPSJtYXQtY29udGVudCIgZnhMYXlvdXQ9ImNvbHVtbiI+XG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIHRiLXZhbHVlLXR5cGUiIHN0eWxlPSJmbGV4LWdyb3c6IDAiPlxuICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkucnBjLnRlbXBsYXRlLW5hbWU8L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT0idGVtcGxhdGVOYW1lQ3RybCIgcmVxdWlyZWQvPlxuICAgIDxtYXQtZXJyb3JcbiAgICAgICpuZ0lmPSJ0ZW1wbGF0ZU5hbWVDdHJsLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAge3sgXCdnYXRld2F5LnJwYy50ZW1wbGF0ZS1uYW1lLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPGRpdiBjbGFzcz0ibWF0LW1kYy1mb3JtLWZpZWxkLWVycm9yIlxuICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOiAtMTVweDsgcGFkZGluZy1sZWZ0OiAxMHB4OyBmb250LXNpemU6IDE0cHg7IlxuICAgICAgICpuZ0lmPSJ2YWxpZGF0ZUR1cGxpY2F0ZU5hbWUodGVtcGxhdGVOYW1lQ3RybCkiPlxuICAgIHt7IFwnZ2F0ZXdheS5ycGMudGVtcGxhdGUtbmFtZS1kdXBsaWNhdGVcJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gIDxidXR0b24gbWF0LWJ1dHRvblxuICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAoY2xpY2spPSJjbG9zZSgpIj5cbiAgICB7eyBcJ2FjdGlvbi5jYW5jZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgIFtkaXNhYmxlZF09IiF0ZW1wbGF0ZU5hbWVDdHJsLnZhbGlkIlxuICAgICAgICAgIChjbGljayk9InNhdmUoKSI+XG4gICAge3sgXCdhY3Rpb24uc2F2ZVwnIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4nfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm90LlN0b3JlfSx7dHlwZTppdC5Sb3V0ZXJ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpwLGFyZ3M6W1hlXX1dfSx7dHlwZTpKZS5NYXREaWFsb2dSZWZ9LHt0eXBlOm1lLkZvcm1CdWlsZGVyfV19KTtjbGFzcyBNYXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuZmI9ZSx0aGlzLmNkcj10LHRoaXMudmFsdWVUeXBlS2V5cz1PYmplY3QudmFsdWVzKEduKSx0aGlzLk1hcHBpbmdWYWx1ZVR5cGU9R24sdGhpcy52YWx1ZVR5cGVzPVZuLHRoaXMub25DaGFuZ2U9ZT0+e30sdGhpcy5vblRvdWNoZWQ9KCk9Pnt9LHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cD10aGlzLmZiLmdyb3VwKHttZXRob2Q6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sYXJndW1lbnRzOnRoaXMuZmIuYXJyYXkoW10pfSksdGhpcy5vYnNlcnZlVmFsdWVDaGFuZ2VzKCl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLm9uQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7dGhpcy5vblRvdWNoZWQ9ZX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAudmFsaWQ/bnVsbDp7cnBjUGFyYW1ldGVyc0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fX13cml0ZVZhbHVlKGUpe3RoaXMuY2xlYXJBcmd1bWVudHMoKSxlLmFyZ3VtZW50cz8ubWFwKCgoe3R5cGU6ZSx2YWx1ZTp0fSk9Pih7dHlwZTplLFtlXTp0fSkpKS5mb3JFYWNoKChlPT50aGlzLmFkZEFyZ3VtZW50KGUpKSksdGhpcy5jZHIubWFya0ZvckNoZWNrKCksdGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldCgibWV0aG9kIikucGF0Y2hWYWx1ZShlLm1ldGhvZCl9b2JzZXJ2ZVZhbHVlQ2hhbmdlcygpe3RoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57Y29uc3QgdD1lLmFyZ3VtZW50cy5tYXAoKCh7dHlwZTplLC4uLnR9KT0+KHt0eXBlOmUsdmFsdWU6dFtlXX0pKSk7dGhpcy5vbkNoYW5nZSh7bWV0aG9kOmUubWV0aG9kLGFyZ3VtZW50czp0fSksdGhpcy5vblRvdWNoZWQoKX0pKX1yZW1vdmVBcmd1bWVudChlKXt0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJhcmd1bWVudHMiKS5yZW1vdmVBdChlKX1hZGRBcmd1bWVudChlPXt9KXtjb25zdCB0PXRoaXMuZmIuZ3JvdXAoe3R5cGU6W2UudHlwZT8/R24uU1RSSU5HXSxzdHJpbmc6W2Uuc3RyaW5nPz97dmFsdWU6IiIsZGlzYWJsZWQ6IShlZShlLHt9KXx8ZS5zdHJpbmcpfSxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxpbnRlZ2VyOlt7dmFsdWU6ZS5pbnRlZ2VyPz8wLGRpc2FibGVkOiFpZShlLmludGVnZXIpfSxbdWUucmVxdWlyZWQsdWUucGF0dGVybihMdCldXSxkb3VibGU6W3t2YWx1ZTplLmRvdWJsZT8/MCxkaXNhYmxlZDohaWUoZS5kb3VibGUpfSxbdWUucmVxdWlyZWRdXSxib29sZWFuOlt7dmFsdWU6ZS5ib29sZWFuPz8hMSxkaXNhYmxlZDohaWUoZS5ib29sZWFuKX0sW3VlLnJlcXVpcmVkXV19KTt0aGlzLm9ic2VydmVUeXBlQ2hhbmdlKHQpLHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoImFyZ3VtZW50cyIpLnB1c2godCx7ZW1pdEV2ZW50OiExfSl9Y2xlYXJBcmd1bWVudHMoKXtjb25zdCBlPXRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoImFyZ3VtZW50cyIpO2Zvcig7MCE9PWUubGVuZ3RoOyllLnJlbW92ZUF0KDApfW9ic2VydmVUeXBlQ2hhbmdlKGUpe2UuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgodD0+e2UuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksZS5nZXQoInR5cGUiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLGUuZ2V0KHQpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSl9KSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpNYSxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjp0LkNoYW5nZURldGVjdG9yUmVmfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpNYSxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLWdhdGV3YXktb3BjLXJwYy1wYXJhbWV0ZXJzIixwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5NYSkpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+TWEpKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPSJycGNQYXJhbWV0ZXJzRm9ybUdyb3VwIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCB0Yi1mbGV4IG5vLXBhZGRpbmctdG9wIGhpbnQtY29udGFpbmVyIj5cbiAgICB7eyBcJ2dhdGV3YXkucnBjLmhpbnQub3BjLW1ldGhvZFwnIHwgdHJhbnNsYXRlIH19XG4gIDwvZGl2PlxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXgiPlxuICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZCIgcGxhY2Vob2xkZXI9Im11bHRpcGx5Ii8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxmaWVsZHNldCBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIGFyZ3VtZW50cy1jb250YWluZXIiIGZ4TGF5b3V0PSJjb2x1bW4iIGZvcm1BcnJheU5hbWU9ImFyZ3VtZW50cyI+XG4gICAgPHN0cm9uZz5cbiAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZHMtbGFiZWwiPnt7IFwnZ2F0ZXdheS5ycGMuYXJndW1lbnRzXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPC9zdHJvbmc+XG4gICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRHYXA9IjEwcHgiIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiXG4gICAgICAgICAqbmdGb3I9ImxldCBhcmd1bWVudEZvcm1Hcm91cCBvZiBycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ2FyZ3VtZW50c1wnKVtcJ2NvbnRyb2xzXCddOyBsZXQgaSA9IGluZGV4IiBbZm9ybUdyb3VwXT0iYXJndW1lbnRGb3JtR3JvdXAiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIHR5cGUtY29udGFpbmVyIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS50eXBlPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGZpbGwtd2lkdGgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICA8bWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0idGItbWF0LTE4IiBbc3ZnSWNvbl09InZhbHVlVHlwZXMuZ2V0KGFyZ3VtZW50Rm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUpPy5pY29uIj5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57eyB2YWx1ZVR5cGVzLmdldChhcmd1bWVudEZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8ubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHZhbHVlVHlwZSBvZiB2YWx1ZVR5cGVLZXlzIiBbdmFsdWVdPSJ2YWx1ZVR5cGUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0idGItbWF0LTIwIiBzdmdJY29uPSJ7eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLmljb24gfX0iPlxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgdmFsdWVUeXBlcy5nZXQodmFsdWVUeXBlKS5uYW1lIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyB2YWx1ZS1jb250YWluZXIiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnZhbHVlPC9kaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09ImFyZ3VtZW50Rm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUiPlxuICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuU1RSSU5HIiBtYXRJbnB1dCByZXF1aXJlZCBmb3JtQ29udHJvbE5hbWU9InN0cmluZyJcbiAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuSU5URUdFUiIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJpbnRlZ2VyIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIgLz5cbiAgICAgICAgICAgIDxpbnB1dCAqbmdTd2l0Y2hDYXNlPSJNYXBwaW5nVmFsdWVUeXBlLkRPVUJMRSIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJkb3VibGUiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgKm5nU3dpdGNoQ2FzZT0iTWFwcGluZ1ZhbHVlVHlwZS5CT09MRUFOIiBmb3JtQ29udHJvbE5hbWU9ImJvb2xlYW4iPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPSJ0cnVlIj50cnVlPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPSJmYWxzZSI+ZmFsc2U8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImFyZ3VtZW50Rm9ybUdyb3VwLmdldChhcmd1bWVudEZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBhcmd1bWVudEZvcm1Hcm91cC5nZXQoYXJndW1lbnRGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSkudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPSJyZW1vdmVBcmd1bWVudChpKSJcbiAgICAgICAgICAgICAgY2xhc3M9InRiLWJveC1idXR0b24iXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5ycGMucmVtb3ZlXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIGZ4RmxleEFsaWduPSJzdGFydCJcbiAgICAgICAgICAgIChjbGljayk9ImFkZEFyZ3VtZW50KCkiPlxuICAgICAge3sgXCdnYXRld2F5LnJwYy5hZGQtYXJndW1lbnRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2ZpZWxkc2V0PlxuPC9uZy1jb250YWluZXI+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCAuYXJndW1lbnRzLWNvbnRhaW5lcnttYXJnaW4tYm90dG9tOjEwcHh9Omhvc3QgLnR5cGUtY29udGFpbmVye3dpZHRoOjQwJX06aG9zdCAudmFsdWUtY29udGFpbmVye3dpZHRoOjUwJX06aG9zdCAuaGludC1jb250YWluZXJ7bWFyZ2luLWJvdHRvbToxMnB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaCxzZWxlY3RvcjoiW25nU3dpdGNoXSIsaW5wdXRzOlsibmdTd2l0Y2giXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoQ2FzZSxzZWxlY3RvcjoiW25nU3dpdGNoQ2FzZV0iLGlucHV0czpbIm5nU3dpdGNoQ2FzZSJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdFN1ZmZpeCxzZWxlY3RvcjoiW21hdFN1ZmZpeF0sIFttYXRJY29uU3VmZml4XSwgW21hdFRleHRTdWZmaXhdIixpbnB1dHM6WyJtYXRUZXh0U3VmZml4Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp3ZS5NYXRTZWxlY3RUcmlnZ2VyLHNlbGVjdG9yOiJtYXQtc2VsZWN0LXRyaWdnZXIifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEdhcERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRHYXBdLCBbZnhMYXlvdXRHYXAueHNdLCBbZnhMYXlvdXRHYXAuc21dLCBbZnhMYXlvdXRHYXAubWRdLCAgW2Z4TGF5b3V0R2FwLmxnXSwgW2Z4TGF5b3V0R2FwLnhsXSwgW2Z4TGF5b3V0R2FwLmx0LXNtXSwgW2Z4TGF5b3V0R2FwLmx0LW1kXSwgIFtmeExheW91dEdhcC5sdC1sZ10sIFtmeExheW91dEdhcC5sdC14bF0sIFtmeExheW91dEdhcC5ndC14c10sIFtmeExheW91dEdhcC5ndC1zbV0sICBbZnhMYXlvdXRHYXAuZ3QtbWRdLCBbZnhMYXlvdXRHYXAuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEdhcCIsImZ4TGF5b3V0R2FwLnhzIiwiZnhMYXlvdXRHYXAuc20iLCJmeExheW91dEdhcC5tZCIsImZ4TGF5b3V0R2FwLmxnIiwiZnhMYXlvdXRHYXAueGwiLCJmeExheW91dEdhcC5sdC1zbSIsImZ4TGF5b3V0R2FwLmx0LW1kIiwiZnhMYXlvdXRHYXAubHQtbGciLCJmeExheW91dEdhcC5sdC14bCIsImZ4TGF5b3V0R2FwLmd0LXhzIiwiZnhMYXlvdXRHYXAuZ3Qtc20iLCJmeExheW91dEdhcC5ndC1tZCIsImZ4TGF5b3V0R2FwLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeEZsZXhBbGlnbl0sIFtmeEZsZXhBbGlnbi54c10sIFtmeEZsZXhBbGlnbi5zbV0sIFtmeEZsZXhBbGlnbi5tZF0sICBbZnhGbGV4QWxpZ24ubGddLCBbZnhGbGV4QWxpZ24ueGxdLCBbZnhGbGV4QWxpZ24ubHQtc21dLCBbZnhGbGV4QWxpZ24ubHQtbWRdLCAgW2Z4RmxleEFsaWduLmx0LWxnXSwgW2Z4RmxleEFsaWduLmx0LXhsXSwgW2Z4RmxleEFsaWduLmd0LXhzXSwgW2Z4RmxleEFsaWduLmd0LXNtXSwgIFtmeEZsZXhBbGlnbi5ndC1tZF0sIFtmeEZsZXhBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4RmxleEFsaWduIiwiZnhGbGV4QWxpZ24ueHMiLCJmeEZsZXhBbGlnbi5zbSIsImZ4RmxleEFsaWduLm1kIiwiZnhGbGV4QWxpZ24ubGciLCJmeEZsZXhBbGlnbi54bCIsImZ4RmxleEFsaWduLmx0LXNtIiwiZnhGbGV4QWxpZ24ubHQtbWQiLCJmeEZsZXhBbGlnbi5sdC1sZyIsImZ4RmxleEFsaWduLmx0LXhsIiwiZnhGbGV4QWxpZ24uZ3QteHMiLCJmeEZsZXhBbGlnbi5ndC1zbSIsImZ4RmxleEFsaWduLmd0LW1kIiwiZnhGbGV4QWxpZ24uZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRGbGV4RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeEZsZXhdLCBbZnhGbGV4LnhzXSwgW2Z4RmxleC5zbV0sIFtmeEZsZXgubWRdLCAgW2Z4RmxleC5sZ10sIFtmeEZsZXgueGxdLCBbZnhGbGV4Lmx0LXNtXSwgW2Z4RmxleC5sdC1tZF0sICBbZnhGbGV4Lmx0LWxnXSwgW2Z4RmxleC5sdC14bF0sIFtmeEZsZXguZ3QteHNdLCBbZnhGbGV4Lmd0LXNtXSwgIFtmeEZsZXguZ3QtbWRdLCBbZnhGbGV4Lmd0LWxnXSIsaW5wdXRzOlsiZnhGbGV4IiwiZnhGbGV4LnhzIiwiZnhGbGV4LnNtIiwiZnhGbGV4Lm1kIiwiZnhGbGV4LmxnIiwiZnhGbGV4LnhsIiwiZnhGbGV4Lmx0LXNtIiwiZnhGbGV4Lmx0LW1kIiwiZnhGbGV4Lmx0LWxnIiwiZnhGbGV4Lmx0LXhsIiwiZnhGbGV4Lmd0LXhzIiwiZnhGbGV4Lmd0LXNtIiwiZnhGbGV4Lmd0LW1kIiwiZnhGbGV4Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTnVtYmVyVmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbmdNb2RlbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5SZXF1aXJlZFZhbGlkYXRvcixzZWxlY3RvcjoiOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbE5hbWVdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bbmdNb2RlbF0iLGlucHV0czpbInJlcXVpcmVkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1BcnJheU5hbWUsc2VsZWN0b3I6Iltmb3JtQXJyYXlOYW1lXSIsaW5wdXRzOlsiZm9ybUFycmF5TmFtZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX10Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOk1hLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1nYXRld2F5LW9wYy1ycGMtcGFyYW1ldGVycyIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9Pk1hKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5NYSkpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILERdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0icnBjUGFyYW1ldGVyc0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwgdGItZmxleCBuby1wYWRkaW5nLXRvcCBoaW50LWNvbnRhaW5lciI+XG4gICAge3sgXCdnYXRld2F5LnJwYy5oaW50Lm9wYy1tZXRob2RcJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2Rpdj5cbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiIHBsYWNlaG9sZGVyPSJtdWx0aXBseSIvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8ZmllbGRzZXQgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCBhcmd1bWVudHMtY29udGFpbmVyIiBmeExheW91dD0iY29sdW1uIiBmb3JtQXJyYXlOYW1lPSJhcmd1bWVudHMiPlxuICAgIDxzdHJvbmc+XG4gICAgICA8c3BhbiBjbGFzcz0iZmllbGRzLWxhYmVsIj57eyBcJ2dhdGV3YXkucnBjLmFyZ3VtZW50c1wnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgIDwvc3Ryb25nPlxuICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgKm5nRm9yPSJsZXQgYXJndW1lbnRGb3JtR3JvdXAgb2YgcnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCdhcmd1bWVudHNcJylbXCdjb250cm9sc1wnXTsgbGV0IGkgPSBpbmRleCIgW2Zvcm1Hcm91cF09ImFyZ3VtZW50Rm9ybUdyb3VwIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyB0eXBlLWNvbnRhaW5lciIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudHlwZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBmaWxsLXdpZHRoIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgICAgPG1hdC1zZWxlY3QtdHJpZ2dlcj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGFsaWduLWNlbnRlciI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0xOCIgW3N2Z0ljb25dPSJ2YWx1ZVR5cGVzLmdldChhcmd1bWVudEZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8uaWNvbiI+XG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgdmFsdWVUeXBlcy5nZXQoYXJndW1lbnRGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSk/Lm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB2YWx1ZVR5cGUgb2YgdmFsdWVUeXBlS2V5cyIgW3ZhbHVlXT0idmFsdWVUeXBlIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0yMCIgc3ZnSWNvbj0ie3sgdmFsdWVUeXBlcy5nZXQodmFsdWVUeXBlKS5pY29uIH19Ij5cbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7IHZhbHVlVHlwZXMuZ2V0KHZhbHVlVHlwZSkubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMgdmFsdWUtY29udGFpbmVyIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS52YWx1ZTwvZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4IGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyIgY2xhc3M9InRiLWlubGluZS1maWVsZCBmbGV4IHRiLXN1ZmZpeC1hYnNvbHV0ZSI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJhcmd1bWVudEZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlIj5cbiAgICAgICAgICAgIDxpbnB1dCAqbmdTd2l0Y2hDYXNlPSJNYXBwaW5nVmFsdWVUeXBlLlNUUklORyIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJzdHJpbmciXG4gICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIgLz5cbiAgICAgICAgICAgIDxpbnB1dCAqbmdTd2l0Y2hDYXNlPSJNYXBwaW5nVmFsdWVUeXBlLklOVEVHRVIiIG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0iaW50ZWdlciIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iIC8+XG4gICAgICAgICAgICA8aW5wdXQgKm5nU3dpdGNoQ2FzZT0iTWFwcGluZ1ZhbHVlVHlwZS5ET1VCTEUiIG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0iZG91YmxlIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIgLz5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuQk9PTEVBTiIgZm9ybUNvbnRyb2xOYW1lPSJib29sZWFuIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT0idHJ1ZSI+dHJ1ZTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT0iZmFsc2UiPmZhbHNlPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudmFsdWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJhcmd1bWVudEZvcm1Hcm91cC5nZXQoYXJndW1lbnRGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSkuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgYXJndW1lbnRGb3JtR3JvdXAuZ2V0KGFyZ3VtZW50Rm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0icmVtb3ZlQXJndW1lbnQoaSkiXG4gICAgICAgICAgICAgIGNsYXNzPSJ0Yi1ib3gtYnV0dG9uIlxuICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkucnBjLnJlbW92ZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICBmeEZsZXhBbGlnbj0ic3RhcnQiXG4gICAgICAgICAgICAoY2xpY2spPSJhZGRBcmd1bWVudCgpIj5cbiAgICAgIHt7IFwnZ2F0ZXdheS5ycGMuYWRkLWFyZ3VtZW50XCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9maWVsZHNldD5cbjwvbmctY29udGFpbmVyPlxuXG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLmFyZ3VtZW50cy1jb250YWluZXJ7bWFyZ2luLWJvdHRvbToxMHB4fTpob3N0IC50eXBlLWNvbnRhaW5lcnt3aWR0aDo0MCV9Omhvc3QgLnZhbHVlLWNvbnRhaW5lcnt3aWR0aDo1MCV9Omhvc3QgLmhpbnQtY29udGFpbmVye21hcmdpbi1ib3R0b206MTJweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTp0LkNoYW5nZURldGVjdG9yUmVmfV19KTtjbGFzcyBFYXtjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy5vbkNoYW5nZT1lPT57fSx0aGlzLm9uVG91Y2hlZD0oKT0+e30sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe21ldGhvZEZpbHRlcjpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxyZXF1ZXN0VG9waWNFeHByZXNzaW9uOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHJlc3BvbnNlVG9waWNFeHByZXNzaW9uOlt7dmFsdWU6bnVsbCxkaXNhYmxlZDohMH0sW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVzcG9uc2VUaW1lb3V0Olt7dmFsdWU6bnVsbCxkaXNhYmxlZDohMH0sW3VlLm1pbigxMCksdWUucGF0dGVybihMdCldXSx2YWx1ZUV4cHJlc3Npb246W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sd2l0aFJlc3BvbnNlOlshMSxbXV19KSx0aGlzLm9ic2VydmVWYWx1ZUNoYW5nZXMoKSx0aGlzLm9ic2VydmVXaXRoUmVzcG9uc2UoKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMub25DaGFuZ2U9ZX1yZWdpc3Rlck9uVG91Y2hlZChlKXt0aGlzLm9uVG91Y2hlZD1lfXZhbGlkYXRlKCl7cmV0dXJuIHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC52YWxpZD9udWxsOntycGNQYXJhbWV0ZXJzRm9ybUdyb3VwOnt2YWxpZDohMX19fXdyaXRlVmFsdWUoZSl7dGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLnBhdGNoVmFsdWUoZSx7ZW1pdEV2ZW50OiExfSksdGhpcy50b2dnbGVSZXNwb25zZUZpZWxkcyhlLndpdGhSZXNwb25zZSl9b2JzZXJ2ZVZhbHVlQ2hhbmdlcygpe3RoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpfW9ic2VydmVXaXRoUmVzcG9uc2UoKXt0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJ3aXRoUmVzcG9uc2UiKS52YWx1ZUNoYW5nZXMucGlwZShFZSgoZT0+dGhpcy50b2dnbGVSZXNwb25zZUZpZWxkcyhlKSkpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKX10b2dnbGVSZXNwb25zZUZpZWxkcyhlKXtjb25zdCB0PXRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoInJlc3BvbnNlVG9waWNFeHByZXNzaW9uIiksbj10aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJyZXNwb25zZVRpbWVvdXQiKTtlPyh0LmVuYWJsZSgpLG4uZW5hYmxlKCkpOih0LmRpc2FibGUoKSxuLmRpc2FibGUoKSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpFYSxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOkVhLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItZ2F0ZXdheS1tcXR0LXJwYy1wYXJhbWV0ZXJzIixwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5FYSkpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+RWEpKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPSJycGNQYXJhbWV0ZXJzRm9ybUdyb3VwIj5cbiAgPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2QtbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIlxuICAgICAgICAgICBwbGFjZWhvbGRlcj0iZWNobyIvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlcXVlc3RUb3BpY0V4cHJlc3Npb25cJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RUb3BpY0V4cHJlc3Npb24iXG4gICAgICAgICAgIHBsYWNlaG9sZGVyPSJzZW5zb3IvJHtkZXZpY2VOYW1lfS9yZXF1ZXN0LyR7bWV0aG9kTmFtZX0vJHtyZXF1ZXN0SWR9Ii8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXJnaW4iIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSIgZm9ybUNvbnRyb2xOYW1lPSJ3aXRoUmVzcG9uc2UiPlxuICAgIHt7IFwnZ2F0ZXdheS5ycGMud2l0aFJlc3BvbnNlXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9InJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwnd2l0aFJlc3BvbnNlXCcpPy52YWx1ZSI+XG4gICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlc3BvbnNlVG9waWNFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRvcGljRXhwcmVzc2lvbiJcbiAgICAgICAgICAgcGxhY2Vob2xkZXI9InNlbnNvci8ke2RldmljZU5hbWV9L3Jlc3BvbnNlLyR7bWV0aG9kTmFtZX0vJHtyZXF1ZXN0SWR9Ii8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtZm9ybS1maWVsZCAqbmdJZj0icnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCd3aXRoUmVzcG9uc2VcJyk/LnZhbHVlIj5cbiAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVzcG9uc2VUaW1lb3V0XCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRpbWVvdXQiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgcGxhY2Vob2xkZXI9IjEwMDAwIiBtaW49IjEwIiBzdGVwPSIxIi8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iXG4gICAgICAgICAgIHBsYWNlaG9sZGVyPSIke3BhcmFtc30iLz5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvbmctY29udGFpbmVyPlxuXG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn06aG9zdCAubWF0LW1kYy1zbGlkZS10b2dnbGUubWFyZ2lue21hcmdpbi1ib3R0b206MTBweDttYXJnaW4tbGVmdDoxMHB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTnVtYmVyVmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbmdNb2RlbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5NaW5WYWxpZGF0b3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW25nTW9kZWxdIixpbnB1dHM6WyJtaW4iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV0sY2hhbmdlRGV0ZWN0aW9uOnQuQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNofSl9fXQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6RWEsZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktbXF0dC1ycGMtcGFyYW1ldGVycyIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PkVhKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5FYSkpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILERdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0icnBjUGFyYW1ldGVyc0Zvcm1Hcm91cCI+XG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kLW5hbWVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZEZpbHRlciJcbiAgICAgICAgICAgcGxhY2Vob2xkZXI9ImVjaG8iLz5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXF1ZXN0VG9waWNFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0VG9waWNFeHByZXNzaW9uIlxuICAgICAgICAgICBwbGFjZWhvbGRlcj0ic2Vuc29yLyR7ZGV2aWNlTmFtZX0vcmVxdWVzdC8ke21ldGhvZE5hbWV9LyR7cmVxdWVzdElkfSIvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWFyZ2luIiAoY2xpY2spPSIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkiIGZvcm1Db250cm9sTmFtZT0id2l0aFJlc3BvbnNlIj5cbiAgICB7eyBcJ2dhdGV3YXkucnBjLndpdGhSZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPSJycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ3dpdGhSZXNwb25zZVwnKT8udmFsdWUiPlxuICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXNwb25zZVRvcGljRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUb3BpY0V4cHJlc3Npb24iXG4gICAgICAgICAgIHBsYWNlaG9sZGVyPSJzZW5zb3IvJHtkZXZpY2VOYW1lfS9yZXNwb25zZS8ke21ldGhvZE5hbWV9LyR7cmVxdWVzdElkfSIvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9InJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwnd2l0aFJlc3BvbnNlXCcpPy52YWx1ZSI+XG4gICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlc3BvbnNlVGltZW91dFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUaW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgIHBsYWNlaG9sZGVyPSIxMDAwMCIgbWluPSIxMCIgc3RlcD0iMSIvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnZhbHVlRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIlxuICAgICAgICAgICBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG48L25nLWNvbnRhaW5lcj5cblxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Omhvc3QgLm1hdC1tZGMtc2xpZGUtdG9nZ2xlLm1hcmdpbnttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLWxlZnQ6MTBweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfV19KTtjbGFzcyBxYXtjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy5Nb2RidXNFZGl0YWJsZURhdGFUeXBlcz10YSx0aGlzLk1vZGJ1c0Z1bmN0aW9uQ29kZVRyYW5zbGF0aW9uc01hcD16dCx0aGlzLm1vZGJ1c0RhdGFUeXBlcz1PYmplY3QudmFsdWVzKGVhKSx0aGlzLndyaXRlRnVuY3Rpb25Db2Rlcz1bNSw2LDE1LDE2XSx0aGlzLmRlZmF1bHRGdW5jdGlvbkNvZGVzPVszLDQsNiwxNl0sdGhpcy5yZWFkRnVuY3Rpb25Db2Rlcz1bMSwyLDMsNF0sdGhpcy5iaXRzRnVuY3Rpb25Db2Rlcz1bLi4udGhpcy5yZWFkRnVuY3Rpb25Db2RlcywuLi50aGlzLndyaXRlRnVuY3Rpb25Db2Rlc10sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe3R5cGU6W2VhLkJZVEVTLFt1ZS5yZXF1aXJlZF1dLGZ1bmN0aW9uQ29kZTpbdGhpcy5kZWZhdWx0RnVuY3Rpb25Db2Rlc1swXSxbdWUucmVxdWlyZWRdXSx2YWx1ZTpbe3ZhbHVlOiIiLGRpc2FibGVkOiEwfSxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxhZGRyZXNzOltudWxsLFt1ZS5yZXF1aXJlZF1dLG9iamVjdHNDb3VudDpbMSxbdWUucmVxdWlyZWRdXX0pLHRoaXMudXBkYXRlRnVuY3Rpb25Db2Rlcyh0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWUpLHRoaXMub2JzZXJ2ZVZhbHVlQ2hhbmdlcygpLHRoaXMub2JzZXJ2ZUtleURhdGFUeXBlKCksdGhpcy5vYnNlcnZlRnVuY3Rpb25Db2RlKCl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLm9uQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7dGhpcy5vblRvdWNoZWQ9ZX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAudmFsaWQ/bnVsbDp7cnBjUGFyYW1ldGVyc0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fX13cml0ZVZhbHVlKGUpe3RoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5wYXRjaFZhbHVlKGUse2VtaXRFdmVudDohMX0pfW9ic2VydmVWYWx1ZUNoYW5nZXMoKXt0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMub25DaGFuZ2UoZSksdGhpcy5vblRvdWNoZWQoKX0pKX1vYnNlcnZlS2V5RGF0YVR5cGUoKXt0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMuTW9kYnVzRWRpdGFibGVEYXRhVHlwZXMuaW5jbHVkZXMoZSl8fHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoIm9iamVjdHNDb3VudCIpLnBhdGNoVmFsdWUobmFbZV0se2VtaXRFdmVudDohMX0pLHRoaXMudXBkYXRlRnVuY3Rpb25Db2RlcyhlKX0pKX1vYnNlcnZlRnVuY3Rpb25Db2RlKCl7dGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldCgiZnVuY3Rpb25Db2RlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+dGhpcy51cGRhdGVWYWx1ZUVuYWJsaW5nKGUpKSl9dXBkYXRlVmFsdWVFbmFibGluZyhlKXt0aGlzLndyaXRlRnVuY3Rpb25Db2Rlcy5pbmNsdWRlcyhlKT90aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJ2YWx1ZSIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSk6KHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoInZhbHVlIikuc2V0VmFsdWUobnVsbCksdGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldCgidmFsdWUiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSl9dXBkYXRlRnVuY3Rpb25Db2RlcyhlKXt0aGlzLmZ1bmN0aW9uQ29kZXM9ZT09PWVhLkJJVFM/dGhpcy5iaXRzRnVuY3Rpb25Db2Rlczp0aGlzLmRlZmF1bHRGdW5jdGlvbkNvZGVzLHRoaXMuZnVuY3Rpb25Db2Rlcy5pbmNsdWRlcyh0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJmdW5jdGlvbkNvZGUiKS52YWx1ZSl8fHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoImZ1bmN0aW9uQ29kZSIpLnBhdGNoVmFsdWUodGhpcy5mdW5jdGlvbkNvZGVzWzBdLHtlbWl0RXZlbnQ6ITF9KX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnFhLGRlcHM6W3t0b2tlbjptZS5Gb3JtQnVpbGRlcn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6cWEsaXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LW1vZGJ1cy1ycGMtcGFyYW1ldGVycyIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+cWEpKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PnFhKSksbXVsdGk6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0icnBjUGFyYW1ldGVyc0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwgdGItZmxleCBuby1wYWRkaW5nLXRvcCBoaW50LWNvbnRhaW5lciI+XG4gICAge3sgXCdnYXRld2F5LnJwYy5oaW50Lm1vZGJ1cy1yZXNwb25zZS1yZWFkaW5nXCcgfCB0cmFuc2xhdGUgfX08YnI+XG4gICAge3sgXCdnYXRld2F5LnJwYy5oaW50Lm1vZGJ1cy13cml0aW5nLWZ1bmN0aW9uc1wnIHwgdHJhbnNsYXRlIH19XG4gIDwvZGl2PlxuICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBtb2RidXNEYXRhVHlwZXMiIFt2YWx1ZV09InR5cGUiPnt7IHR5cGUgfX08L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCIgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuZnVuY3Rpb25Db2RlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZnVuY3Rpb25Db2RlIj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgY29kZSBvZiBmdW5jdGlvbkNvZGVzIiBbdmFsdWVdPSJjb2RlIj57eyBNb2RidXNGdW5jdGlvbkNvZGVUcmFuc2xhdGlvbnNNYXAuZ2V0KGNvZGUpIHwgdHJhbnNsYXRlfX08L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9kaXY+XG4gIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4Ij5cbiAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCI+XG4gICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuYWRkcmVzc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG1heD0iNTAwMDAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImFkZHJlc3MiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuYWRkcmVzcy1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAqbmdJZj0icnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCdhZGRyZXNzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ2FkZHJlc3NcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICB3YXJuaW5nXG4gICAgICA8L21hdC1pY29uPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm9iamVjdHNDb3VudFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXRcbiAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgdHlwZT0ibnVtYmVyIlxuICAgICAgICBtaW49IjEiXG4gICAgICAgIG1heD0iNTAwMDAiXG4gICAgICAgIG5hbWU9InZhbHVlIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9Im9iamVjdHNDb3VudCJcbiAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgW3JlYWRvbmx5XT0iIU1vZGJ1c0VkaXRhYmxlRGF0YVR5cGVzLmluY2x1ZGVzKHJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSkiXG4gICAgICAvPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPSJ3cml0ZUZ1bmN0aW9uQ29kZXMuaW5jbHVkZXMocnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCdmdW5jdGlvbkNvZGVcJykudmFsdWUpIiBmeEZsZXggZnhMYXlvdXQ9InJvdyI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iMTAwIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy52YWx1ZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmFsdWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudmFsdWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgKm5nSWY9InJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwndmFsdWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJiBycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ3ZhbHVlXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIlxuICAgICAgPlxuICAgICAgICB3YXJuaW5nXG4gICAgICA8L21hdC1pY29uPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCAuaGludC1jb250YWluZXJ7bWFyZ2luLWJvdHRvbToxMnB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdFN1ZmZpeCxzZWxlY3RvcjoiW21hdFN1ZmZpeF0sIFttYXRJY29uU3VmZml4XSwgW21hdFRleHRTdWZmaXhdIixpbnB1dHM6WyJtYXRUZXh0U3VmZml4Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpDZS5NYXRPcHRpb24sc2VsZWN0b3I6Im1hdC1vcHRpb24iLGlucHV0czpbInZhbHVlIiwiaWQiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJvblNlbGVjdGlvbkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0T3B0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6emUuTWF0VG9vbHRpcCxzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixpbnB1dHM6WyJtYXRUb29sdGlwUG9zaXRpb24iLCJtYXRUb29sdGlwUG9zaXRpb25BdE9yaWdpbiIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBTaG93RGVsYXkiLCJtYXRUb29sdGlwSGlkZURlbGF5IiwibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcENsYXNzIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRHYXBEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0R2FwXSwgW2Z4TGF5b3V0R2FwLnhzXSwgW2Z4TGF5b3V0R2FwLnNtXSwgW2Z4TGF5b3V0R2FwLm1kXSwgIFtmeExheW91dEdhcC5sZ10sIFtmeExheW91dEdhcC54bF0sIFtmeExheW91dEdhcC5sdC1zbV0sIFtmeExheW91dEdhcC5sdC1tZF0sICBbZnhMYXlvdXRHYXAubHQtbGddLCBbZnhMYXlvdXRHYXAubHQteGxdLCBbZnhMYXlvdXRHYXAuZ3QteHNdLCBbZnhMYXlvdXRHYXAuZ3Qtc21dLCAgW2Z4TGF5b3V0R2FwLmd0LW1kXSwgW2Z4TGF5b3V0R2FwLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRHYXAiLCJmeExheW91dEdhcC54cyIsImZ4TGF5b3V0R2FwLnNtIiwiZnhMYXlvdXRHYXAubWQiLCJmeExheW91dEdhcC5sZyIsImZ4TGF5b3V0R2FwLnhsIiwiZnhMYXlvdXRHYXAubHQtc20iLCJmeExheW91dEdhcC5sdC1tZCIsImZ4TGF5b3V0R2FwLmx0LWxnIiwiZnhMYXlvdXRHYXAubHQteGwiLCJmeExheW91dEdhcC5ndC14cyIsImZ4TGF5b3V0R2FwLmd0LXNtIiwiZnhMYXlvdXRHYXAuZ3QtbWQiLCJmeExheW91dEdhcC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OdW1iZXJWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVtuZ01vZGVsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1pblZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLGlucHV0czpbIm1pbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1heFZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21heF1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21heF1bbmdNb2RlbF0iLGlucHV0czpbIm1heCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19dC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpxYSxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItZ2F0ZXdheS1tb2RidXMtcnBjLXBhcmFtZXRlcnMiLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5xYSkpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+cWEpKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxEXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09InJwY1BhcmFtZXRlcnNGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggbm8tcGFkZGluZy10b3AgaGludC1jb250YWluZXIiPlxuICAgIHt7IFwnZ2F0ZXdheS5ycGMuaGludC5tb2RidXMtcmVzcG9uc2UtcmVhZGluZ1wnIHwgdHJhbnNsYXRlIH19PGJyPlxuICAgIHt7IFwnZ2F0ZXdheS5ycGMuaGludC5tb2RidXMtd3JpdGluZy1mdW5jdGlvbnNcJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2Rpdj5cbiAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRHYXA9IjEwcHgiPlxuICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjUwIiBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy50eXBlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2YgbW9kYnVzRGF0YVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj57eyB0eXBlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmZ1bmN0aW9uQ29kZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImZ1bmN0aW9uQ29kZSI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGNvZGUgb2YgZnVuY3Rpb25Db2RlcyIgW3ZhbHVlXT0iY29kZSI+e3sgTW9kYnVzRnVuY3Rpb25Db2RlVHJhbnNsYXRpb25zTWFwLmdldChjb2RlKSB8IHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmFkZHJlc3NcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBtYXg9IjUwMDAwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJhZGRyZXNzIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmFkZHJlc3MtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgKm5nSWY9InJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwnYWRkcmVzc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCdhZGRyZXNzXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgd2FybmluZ1xuICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjUwIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5vYmplY3RzQ291bnRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0XG4gICAgICAgIG1hdElucHV0XG4gICAgICAgIHR5cGU9Im51bWJlciJcbiAgICAgICAgbWluPSIxIlxuICAgICAgICBtYXg9IjUwMDAwIlxuICAgICAgICBuYW1lPSJ2YWx1ZSJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJvYmplY3RzQ291bnQiXG4gICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgIFtyZWFkb25seV09IiFNb2RidXNFZGl0YWJsZURhdGFUeXBlcy5pbmNsdWRlcyhycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUpIlxuICAgICAgLz5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj0id3JpdGVGdW5jdGlvbkNvZGVzLmluY2x1ZGVzKHJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwnZnVuY3Rpb25Db2RlXCcpLnZhbHVlKSIgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciPlxuICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjEwMCI+XG4gICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InZhbHVlIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnZhbHVlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICpuZ0lmPSJycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ3ZhbHVlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYgcnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCd2YWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciJcbiAgICAgID5cbiAgICAgICAgd2FybmluZ1xuICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLmhpbnQtY29udGFpbmVye21hcmdpbi1ib3R0b206MTJweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfV19KTtjbGFzcyBEYXtjb25zdHJ1Y3RvcihlLHQsbixhLG8pe3RoaXMuZmI9ZSx0aGlzLmRpYWxvZz10LHRoaXMudXRpbHM9bix0aGlzLmNkPWEsdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlPW8sdGhpcy5jb250ZW50VHlwZXM9Ryx0aGlzLlJQQ0NvbW1hbmRzPVsiUGluZyIsIlN0YXRzIiwiRGV2aWNlcyIsIlVwZGF0ZSIsIlZlcnNpb24iLCJSZXN0YXJ0IiwiUmVib290Il0sdGhpcy50ZW1wbGF0ZXM9W10sdGhpcy5Db25uZWN0b3JUeXBlPV90LHRoaXMuZ2F0ZXdheUNvbm5lY3RvckRlZmF1bHRUeXBlc1RyYW5zbGF0ZXM9SHQsdGhpcy50eXBlc1dpdGhVcGRhdGVkUGFyYW1zPW5ldyBTZXQoW190Lk1RVFQsX3QuT1BDVUEsX3QuTU9EQlVTXSksdGhpcy5zdWJzY3JpcHRpb25PcHRpb25zPXtjYWxsYmFja3M6e29uRGF0YVVwZGF0ZWQ6KCk9PnRoaXMuY3R4Lm5nWm9uZS5ydW4oKCgpPT57dGhpcy51cGRhdGVUZW1wbGF0ZXMoKX0pKSxvbkRhdGFVcGRhdGVFcnJvcjooZSx0KT0+dGhpcy5jdHgubmdab25lLnJ1bigoKCk9Pnt0aGlzLm9uRGF0YVVwZGF0ZUVycm9yKHQpfSkpLGRhdGFMb2FkaW5nOigpPT57fX19LHRoaXMuY29tbWFuZEZvcm09dGhpcy5mYi5ncm91cCh7Y29tbWFuZDpbbnVsbCxbdWUucmVxdWlyZWRdXSx0aW1lOls2MCxbdWUucmVxdWlyZWQsdWUubWluKDEpXV0scGFyYW1zOlsie30iLFtJdF1dLHJlc3VsdDpbbnVsbF19KX1uZ09uSW5pdCgpe2lmKHRoaXMuaXNDb25uZWN0b3I9dGhpcy5jdHguc2V0dGluZ3MuaXNDb25uZWN0b3IsdGhpcy5pc0Nvbm5lY3Rvcil7dGhpcy5jb25uZWN0b3JUeXBlPXRoaXMuY3R4LnN0YXRlQ29udHJvbGxlci5nZXRTdGF0ZVBhcmFtcygpLmNvbm5lY3Rvcl9ycGMudmFsdWUudHlwZTtjb25zdCBlPVt7dHlwZTpGLmVudGl0eSxlbnRpdHlUeXBlOkkuREVWSUNFLGVudGl0eUlkOnRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24udGFyZ2V0RGV2aWNlSWQsZW50aXR5TmFtZToiQ29ubmVjdG9yIixhdHRyaWJ1dGVzOlt7bmFtZTpgJHt0aGlzLmNvbm5lY3RvclR5cGV9X3RlbXBsYXRlYH1dfV07dGhpcy5jdHguc3Vic2NyaXB0aW9uQXBpLmNyZWF0ZVN1YnNjcmlwdGlvbkZyb21JbmZvKEEubGF0ZXN0LGUsdGhpcy5zdWJzY3JpcHRpb25PcHRpb25zLCExLCEwKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLnN1YnNjcmlwdGlvbj1lfSkpfWVsc2UgdGhpcy5jb21tYW5kRm9ybS5nZXQoImNvbW1hbmQiKS5zZXRWYWx1ZSh0aGlzLlJQQ0NvbW1hbmRzWzBdKX1zZW5kQ29tbWFuZChlKXt0aGlzLnJlc3VsdFRpbWU9bnVsbDtjb25zdCB0PWV8fHRoaXMuY29tbWFuZEZvcm0udmFsdWUsbj10aGlzLmlzQ29ubmVjdG9yP2Ake3RoaXMuY29ubmVjdG9yVHlwZX1fYDoiZ2F0ZXdheV8iLGE9dGhpcy5pc0Nvbm5lY3Rvcj90aGlzLmdldENvbW1hbmRGcm9tUGFyYW1zQnlUeXBlKHQucGFyYW1zKTp0LmNvbW1hbmQudG9Mb3dlckNhc2UoKSxvPXQucGFyYW1zO3RoaXMuY3R4LmNvbnRyb2xBcGkuc2VuZFR3b1dheUNvbW1hbmQobithLG8sdC50aW1lKS5zdWJzY3JpYmUoe25leHQ6ZT0+e3RoaXMucmVzdWx0VGltZT0obmV3IERhdGUpLmdldFRpbWUoKSx0aGlzLmNvbW1hbmRGb3JtLmdldCgicmVzdWx0Iikuc2V0VmFsdWUoSlNPTi5zdHJpbmdpZnkoZSkpfSxlcnJvcjplPT57dGhpcy5yZXN1bHRUaW1lPShuZXcgRGF0ZSkuZ2V0VGltZSgpLGNvbnNvbGUuZXJyb3IoZSksdGhpcy5jb21tYW5kRm9ybS5nZXQoInJlc3VsdCIpLnNldFZhbHVlKEpTT04uc3RyaW5naWZ5KGUuZXJyb3IpKX19KX1nZXRDb21tYW5kRnJvbVBhcmFtc0J5VHlwZShlKXtzd2l0Y2godGhpcy5jb25uZWN0b3JUeXBlKXtjYXNlIF90Lk1RVFQ6Y2FzZSBfdC5GVFA6Y2FzZSBfdC5TTk1QOmNhc2UgX3QuUkVTVDpjYXNlIF90LlJFUVVFU1Q6cmV0dXJuIGUubWV0aG9kRmlsdGVyO2Nhc2UgX3QuTU9EQlVTOnJldHVybiBlLnRhZztjYXNlIF90LkJBQ05FVDpjYXNlIF90LkNBTjpjYXNlIF90Lk9QQ1VBOnJldHVybiBlLm1ldGhvZDtjYXNlIF90LkJMRTpjYXNlIF90Lk9DUFA6Y2FzZSBfdC5TT0NLRVQ6Y2FzZSBfdC5YTVBQOnJldHVybiBlLm1ldGhvZFJQQztkZWZhdWx0OnJldHVybiBlLmNvbW1hbmR9fXNhdmVUZW1wbGF0ZSgpe3RoaXMuZGlhbG9nLm9wZW4oTmEse2Rpc2FibGVDbG9zZTohMCxwYW5lbENsYXNzOlsidGItZGlhbG9nIiwidGItZnVsbHNjcmVlbi1kaWFsb2ciXSxkYXRhOntjb25maWc6dGhpcy5jb21tYW5kRm9ybS52YWx1ZS5wYXJhbXMsdGVtcGxhdGVzOnRoaXMudGVtcGxhdGVzfX0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChlPT57aWYoZSl7Y29uc3QgdD17bmFtZTplLGNvbmZpZzp0aGlzLmNvbW1hbmRGb3JtLnZhbHVlLnBhcmFtc30sbj10aGlzLnRlbXBsYXRlcyxhPW4uZmluZEluZGV4KChlPT5lLm5hbWU9PXQubmFtZSkpO2E+LTEmJm4uc3BsaWNlKGEsMSksbi5wdXNoKHQpO2NvbnN0IG89YCR7dGhpcy5jb25uZWN0b3JUeXBlfV90ZW1wbGF0ZWA7dGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNhdmVFbnRpdHlBdHRyaWJ1dGVzKHtpZDp0aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLnRhcmdldERldmljZUlkLGVudGl0eVR5cGU6SS5ERVZJQ0V9LEwuU0VSVkVSX1NDT1BFLFt7a2V5Om8sdmFsdWU6bn1dKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCl9KSl9fSkpfXVzZVRlbXBsYXRlKGUpe3RoaXMuY29tbWFuZEZvcm0uZ2V0KCJwYXJhbXMiKS5wYXRjaFZhbHVlKGUuY29uZmlnKX11cGRhdGVUZW1wbGF0ZXMoKXt0aGlzLnRlbXBsYXRlcz10aGlzLnN1YnNjcmlwdGlvbi5kYXRhWzBdLmRhdGFbMF1bMV0ubGVuZ3RoP0pTT04ucGFyc2UodGhpcy5zdWJzY3JpcHRpb24uZGF0YVswXS5kYXRhWzBdWzFdKTpbXSx0aGlzLmNkLmRldGVjdENoYW5nZXMoKX1vbkRhdGFVcGRhdGVFcnJvcihlKXtjb25zdCB0PXRoaXMudXRpbHMucGFyc2VFeGNlcHRpb24oZSk7bGV0IG49dC5uYW1lO3QubWVzc2FnZSYmKG4rPSI6ICIrdC5tZXNzYWdlKSxjb25zb2xlLmVycm9yKG4pfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6RGEsZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfSx7dG9rZW46SmUuTWF0RGlhbG9nfSx7dG9rZW46WC5VdGlsc1NlcnZpY2V9LHt0b2tlbjp0LkNoYW5nZURldGVjdG9yUmVmfSx7dG9rZW46WC5BdHRyaWJ1dGVTZXJ2aWNlfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpEYSxzZWxlY3RvcjoidGItZ2F0ZXdheS1zZXJ2aWNlLXJwYyIsaW5wdXRzOntjdHg6ImN0eCIsZGlhbG9nUmVmOiJkaWFsb2dSZWYifSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBmeExheW91dD0iY29sdW1uIiBmeEZsZXggW25nQ2xhc3NdPSJ7XCdib3JkZXJcJzogaXNDb25uZWN0b3J9Ij5cbiAgPGRpdiBmeExheW91dD0icm93IiBmeExheW91dC5sdC1zbT0iY29sdW1uIiBjbGFzcz0iY29tbWFuZC1mb3JtIiBmeExheW91dEdhcD0iMTBweCIgW2Zvcm1Hcm91cF09ImNvbW1hbmRGb3JtIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPSIhaXNDb25uZWN0b3I7IGVsc2UgY29ubmVjdG9yRm9ybSI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY29tbWFuZFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iY29tbWFuZCI+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgY29tbWFuZCBvZiBSUENDb21tYW5kcyIgW3ZhbHVlXT0iY29tbWFuZCI+XG4gICAgICAgICAgICB7eyBjb21tYW5kIH19XG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy50aW1lb3V0LW1zXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idGltZSIgdHlwZT0ibnVtYmVyIiBtaW49IjEiLz5cbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZEZvcm0uZ2V0KFwndGltZVwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MudGltZW91dC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAoY2xpY2spPSJzZW5kQ29tbWFuZCgpIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJjb21tYW5kRm9ybS5pbnZhbGlkIj5cbiAgICAgICAge3sgXCdnYXRld2F5LnJwYy1jb21tYW5kLXNlbmRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNjb25uZWN0b3JGb3JtPlxuICAgICAgPHRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yXG4gICAgICAgICpuZ0lmPSIhdHlwZXNXaXRoVXBkYXRlZFBhcmFtcy5oYXMoY29ubmVjdG9yVHlwZSkgZWxzZSB1cGRhdGVkUGFyYW1ldGVycyJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJwYXJhbXMiXG4gICAgICAgIFtjb25uZWN0b3JUeXBlXT0iY29ubmVjdG9yVHlwZSJcbiAgICAgICAgKHNlbmRDb21tYW5kKT0ic2VuZENvbW1hbmQoKSJcbiAgICAgICAgKHNhdmVUZW1wbGF0ZSk9InNhdmVUZW1wbGF0ZSgpIlxuICAgICAgLz5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjdXBkYXRlZFBhcmFtZXRlcnM+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9ImNvbHVtbiIgY2xhc3M9InJwYy1wYXJhbWV0ZXJzIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXQtc3VidGl0bGUtMSB0Yi1mb3JtLXBhbmVsLXRpdGxlIj57eyBcJ2dhdGV3YXkucnBjLnRpdGxlXCcgfCB0cmFuc2xhdGU6IHt0eXBlOiBnYXRld2F5Q29ubmVjdG9yRGVmYXVsdFR5cGVzVHJhbnNsYXRlcy5nZXQoY29ubmVjdG9yVHlwZSl9IH19PC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJjb25uZWN0b3JUeXBlIj5cbiAgICAgICAgICAgIDx0Yi1nYXRld2F5LW1vZGJ1cy1ycGMtcGFyYW1ldGVycyAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk1PREJVUyIgZm9ybUNvbnRyb2xOYW1lPSJwYXJhbXMiLz5cbiAgICAgICAgICAgIDx0Yi1nYXRld2F5LW1xdHQtcnBjLXBhcmFtZXRlcnMgKm5nU3dpdGNoQ2FzZT0iQ29ubmVjdG9yVHlwZS5NUVRUIiBmb3JtQ29udHJvbE5hbWU9InBhcmFtcyIvPlxuICAgICAgICAgICAgPHRiLWdhdGV3YXktb3BjLXJwYy1wYXJhbWV0ZXJzICpuZ1N3aXRjaENhc2U9IkNvbm5lY3RvclR5cGUuT1BDVUEiIGZvcm1Db250cm9sTmFtZT0icGFyYW1zIi8+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGVtcGxhdGUtYWN0aW9ucyIgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiIGZ4TGF5b3V0R2FwPSIxMHB4Ij5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ic2F2ZVRlbXBsYXRlKCkiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09ImNvbW1hbmRGb3JtLmdldChcJ3BhcmFtc1wnKS5pbnZhbGlkIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJwYy1jb21tYW5kLXNhdmUtdGVtcGxhdGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJzZW5kQ29tbWFuZCgpIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJjb21tYW5kRm9ybS5nZXQoXCdwYXJhbXNcJykuaW52YWxpZCI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1zZW5kXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG4gIDxzZWN0aW9uIGNsYXNzPSJyZXN1bHQtYmxvY2siIFtmb3JtR3JvdXBdPSJjb21tYW5kRm9ybSI+XG4gICAgPHNwYW4+e3sgXCdnYXRld2F5LnJwYy1jb21tYW5kLXJlc3VsdFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8ZGl2ICpuZ0lmPSJyZXN1bHRUaW1lIiBjbGFzcz0icmVzdWx0LXRpbWUiIGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+c2NoZWR1bGU8L21hdC1pY29uPlxuICAgICAgICA8c3Bhbj57eyByZXN1bHRUaW1lIHwgZGF0ZTogXCd5eXl5L01NL2RkIEhIOm1tOnNzXCcgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NwYW4+XG4gICAgPHRiLWpzb24tY29udGVudCBbY29udGVudFR5cGVdPSJjb250ZW50VHlwZXMuSlNPTiIgcmVhZG9ubHk9InRydWUiIGZvcm1Db250cm9sTmFtZT0icmVzdWx0Ij48L3RiLWpzb24tY29udGVudD5cbiAgPC9zZWN0aW9uPlxuPC9kaXY+XG48dGItZ2F0ZXdheS1zZXJ2aWNlLXJwYy1jb25uZWN0b3ItdGVtcGxhdGVzIGZ4RmxleD0iMzAiICpuZ0lmPSJpc0Nvbm5lY3RvciIgY2xhc3M9ImJvcmRlciIgW3JwY1RlbXBsYXRlc109InRlbXBsYXRlcyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2N0eF09ImN0eCIgW2Nvbm5lY3RvclR5cGVdPSJjb25uZWN0b3JUeXBlIiAodXNlVGVtcGxhdGUpPSJ1c2VUZW1wbGF0ZSgkZXZlbnQpIj5cbjwvdGItZ2F0ZXdheS1zZXJ2aWNlLXJwYy1jb25uZWN0b3ItdGVtcGxhdGVzPlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6YXV0bztkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O3BhZGRpbmc6MCA1cHh9Omhvc3Q+KntoZWlnaHQ6MTAwJTtvdmVyZmxvdzphdXRvfTpob3N0PnRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yLXRlbXBsYXRlczpsYXN0LWNoaWxke21hcmdpbi1sZWZ0OjEwcHh9Omhvc3QgLmNvbW1hbmQtZm9ybXtmbGV4LXdyYXA6bm93cmFwO3BhZGRpbmc6MCA1cHggNXB4fTpob3N0IC5jb21tYW5kLWZvcm0+YnV0dG9ue21hcmdpbi10b3A6MTBweH06aG9zdCAucnBjLXBhcmFtZXRlcnN7d2lkdGg6MTAwJX06aG9zdCAucmVzdWx0LWJsb2Nre3BhZGRpbmc6MCA1cHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4OjF9Omhvc3QgLnJlc3VsdC1ibG9jaz5zcGFue2ZvbnQtd2VpZ2h0OjYwMDtwb3NpdGlvbjpyZWxhdGl2ZTtmb250LXNpemU6MTRweDttYXJnaW4tYm90dG9tOjEwcHh9Omhvc3QgLnJlc3VsdC1ibG9jaz5zcGFuIC5yZXN1bHQtdGltZXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MzJweDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjI1cHg7ei1pbmRleDo1O2NvbG9yOiMwMDAwMDA4YX06aG9zdCAucmVzdWx0LWJsb2NrPnNwYW4gLnJlc3VsdC10aW1lIHNwYW57cGFkZGluZy1sZWZ0OjEwcHh9Omhvc3QgLnJlc3VsdC1ibG9jayB0Yi1qc29uLWNvbnRlbnR7ZmxleDoxfTpob3N0IC5ib3JkZXJ7cGFkZGluZzoxNnB4O2JveC1zaGFkb3c6MCAwICMwMDAzLDAgMCAjMDAwMDAwMjQsMCAwICMwMDAwMDAxZjtib3JkZXI6c29saWQgMXB4ICNlMGUwZTA7Ym9yZGVyLXJhZGl1czo0cHh9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0NsYXNzLHNlbGVjdG9yOiJbbmdDbGFzc10iLGlucHV0czpbImNsYXNzIiwibmdDbGFzcyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoLHNlbGVjdG9yOiJbbmdTd2l0Y2hdIixpbnB1dHM6WyJuZ1N3aXRjaCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdTd2l0Y2hDYXNlLHNlbGVjdG9yOiJbbmdTd2l0Y2hDYXNlXSIsaW5wdXRzOlsibmdTd2l0Y2hDYXNlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6c3QuSnNvbkNvbnRlbnRDb21wb25lbnQsc2VsZWN0b3I6InRiLWpzb24tY29udGVudCIsaW5wdXRzOlsibGFiZWwiLCJjb250ZW50VHlwZSIsImRpc2FibGVkIiwiZmlsbEhlaWdodCIsImVkaXRvclN0eWxlIiwidGJQbGFjZWhvbGRlciIsImhpZGVUb29sYmFyIiwicmVhZG9ubHkiLCJ2YWxpZGF0ZUNvbnRlbnQiLCJ2YWxpZGF0ZU9uQ2hhbmdlIiwicmVxdWlyZWQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdEVycm9yLHNlbGVjdG9yOiJtYXQtZXJyb3IsIFttYXRFcnJvcl0iLGlucHV0czpbImlkIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpDZS5NYXRPcHRpb24sc2VsZWN0b3I6Im1hdC1vcHRpb24iLGlucHV0czpbInZhbHVlIiwiaWQiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJvblNlbGVjdGlvbkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0T3B0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRHYXBEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0R2FwXSwgW2Z4TGF5b3V0R2FwLnhzXSwgW2Z4TGF5b3V0R2FwLnNtXSwgW2Z4TGF5b3V0R2FwLm1kXSwgIFtmeExheW91dEdhcC5sZ10sIFtmeExheW91dEdhcC54bF0sIFtmeExheW91dEdhcC5sdC1zbV0sIFtmeExheW91dEdhcC5sdC1tZF0sICBbZnhMYXlvdXRHYXAubHQtbGddLCBbZnhMYXlvdXRHYXAubHQteGxdLCBbZnhMYXlvdXRHYXAuZ3QteHNdLCBbZnhMYXlvdXRHYXAuZ3Qtc21dLCAgW2Z4TGF5b3V0R2FwLmd0LW1kXSwgW2Z4TGF5b3V0R2FwLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRHYXAiLCJmeExheW91dEdhcC54cyIsImZ4TGF5b3V0R2FwLnNtIiwiZnhMYXlvdXRHYXAubWQiLCJmeExheW91dEdhcC5sZyIsImZ4TGF5b3V0R2FwLnhsIiwiZnhMYXlvdXRHYXAubHQtc20iLCJmeExheW91dEdhcC5sdC1tZCIsImZ4TGF5b3V0R2FwLmx0LWxnIiwiZnhMYXlvdXRHYXAubHQteGwiLCJmeExheW91dEdhcC5ndC14cyIsImZ4TGF5b3V0R2FwLmd0LXNtIiwiZnhMYXlvdXRHYXAuZ3QtbWQiLCJmeExheW91dEdhcC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRDbGFzc0RpcmVjdGl2ZSxzZWxlY3RvcjoiICBbbmdDbGFzc10sIFtuZ0NsYXNzLnhzXSwgW25nQ2xhc3Muc21dLCBbbmdDbGFzcy5tZF0sIFtuZ0NsYXNzLmxnXSwgW25nQ2xhc3MueGxdLCAgW25nQ2xhc3MubHQtc21dLCBbbmdDbGFzcy5sdC1tZF0sIFtuZ0NsYXNzLmx0LWxnXSwgW25nQ2xhc3MubHQteGxdLCAgW25nQ2xhc3MuZ3QteHNdLCBbbmdDbGFzcy5ndC1zbV0sIFtuZ0NsYXNzLmd0LW1kXSwgW25nQ2xhc3MuZ3QtbGddIixpbnB1dHM6WyJuZ0NsYXNzIiwibmdDbGFzcy54cyIsIm5nQ2xhc3Muc20iLCJuZ0NsYXNzLm1kIiwibmdDbGFzcy5sZyIsIm5nQ2xhc3MueGwiLCJuZ0NsYXNzLmx0LXNtIiwibmdDbGFzcy5sdC1tZCIsIm5nQ2xhc3MubHQtbGciLCJuZ0NsYXNzLmx0LXhsIiwibmdDbGFzcy5ndC14cyIsIm5nQ2xhc3MuZ3Qtc20iLCJuZ0NsYXNzLmd0LW1kIiwibmdDbGFzcy5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOk1hLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LW9wYy1ycGMtcGFyYW1ldGVycyJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6RWEsc2VsZWN0b3I6InRiLWdhdGV3YXktbXF0dC1ycGMtcGFyYW1ldGVycyJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6cWEsc2VsZWN0b3I6InRiLWdhdGV3YXktbW9kYnVzLXJwYy1wYXJhbWV0ZXJzIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpGYSxzZWxlY3RvcjoidGItZ2F0ZXdheS1zZXJ2aWNlLXJwYy1jb25uZWN0b3ItdGVtcGxhdGVzIixpbnB1dHM6WyJjb25uZWN0b3JUeXBlIiwiY3R4IiwicnBjVGVtcGxhdGVzIl0sb3V0cHV0czpbInNhdmVUZW1wbGF0ZSIsInVzZVRlbXBsYXRlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6QWEsc2VsZWN0b3I6InRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yIixpbnB1dHM6WyJjb25uZWN0b3JUeXBlIl0sb3V0cHV0czpbInNlbmRDb21tYW5kIiwic2F2ZVRlbXBsYXRlIl19LHtraW5kOiJwaXBlIix0eXBlOl8uRGF0ZVBpcGUsbmFtZToiZGF0ZSJ9LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV19KX19ZSgiR2F0ZXdheVNlcnZpY2VSUENDb21wb25lbnQiLERhKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkRhLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1nYXRld2F5LXNlcnZpY2UtcnBjIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgZnhMYXlvdXQ9ImNvbHVtbiIgZnhGbGV4IFtuZ0NsYXNzXT0ie1wnYm9yZGVyXCc6IGlzQ29ubmVjdG9yfSI+XG4gIDxkaXYgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXQubHQtc209ImNvbHVtbiIgY2xhc3M9ImNvbW1hbmQtZm9ybSIgZnhMYXlvdXRHYXA9IjEwcHgiIFtmb3JtR3JvdXBdPSJjb21tYW5kRm9ybSI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iIWlzQ29ubmVjdG9yOyBlbHNlIGNvbm5lY3RvckZvcm0iPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImNvbW1hbmQiPlxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGNvbW1hbmQgb2YgUlBDQ29tbWFuZHMiIFt2YWx1ZV09ImNvbW1hbmQiPlxuICAgICAgICAgICAge3sgY29tbWFuZCB9fVxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3MudGltZW91dC1tc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InRpbWUiIHR5cGU9Im51bWJlciIgbWluPSIxIi8+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbW1hbmRGb3JtLmdldChcJ3RpbWVcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnRpbWVvdXQtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgKGNsaWNrKT0ic2VuZENvbW1hbmQoKSJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iY29tbWFuZEZvcm0uaW52YWxpZCI+XG4gICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1zZW5kXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjY29ubmVjdG9yRm9ybT5cbiAgICAgIDx0Yi1nYXRld2F5LXNlcnZpY2UtcnBjLWNvbm5lY3RvclxuICAgICAgICAqbmdJZj0iIXR5cGVzV2l0aFVwZGF0ZWRQYXJhbXMuaGFzKGNvbm5lY3RvclR5cGUpIGVsc2UgdXBkYXRlZFBhcmFtZXRlcnMiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT0icGFyYW1zIlxuICAgICAgICBbY29ubmVjdG9yVHlwZV09ImNvbm5lY3RvclR5cGUiXG4gICAgICAgIChzZW5kQ29tbWFuZCk9InNlbmRDb21tYW5kKCkiXG4gICAgICAgIChzYXZlVGVtcGxhdGUpPSJzYXZlVGVtcGxhdGUoKSJcbiAgICAgIC8+XG4gICAgICA8bmctdGVtcGxhdGUgI3VwZGF0ZWRQYXJhbWV0ZXJzPlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iIGNsYXNzPSJycGMtcGFyYW1ldGVycyI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0ibWF0LXN1YnRpdGxlLTEgdGItZm9ybS1wYW5lbC10aXRsZSI+e3sgXCdnYXRld2F5LnJwYy50aXRsZVwnIHwgdHJhbnNsYXRlOiB7dHlwZTogZ2F0ZXdheUNvbm5lY3RvckRlZmF1bHRUeXBlc1RyYW5zbGF0ZXMuZ2V0KGNvbm5lY3RvclR5cGUpfSB9fTwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT0iY29ubmVjdG9yVHlwZSI+XG4gICAgICAgICAgICA8dGItZ2F0ZXdheS1tb2RidXMtcnBjLXBhcmFtZXRlcnMgKm5nU3dpdGNoQ2FzZT0iQ29ubmVjdG9yVHlwZS5NT0RCVVMiIGZvcm1Db250cm9sTmFtZT0icGFyYW1zIi8+XG4gICAgICAgICAgICA8dGItZ2F0ZXdheS1tcXR0LXJwYy1wYXJhbWV0ZXJzICpuZ1N3aXRjaENhc2U9IkNvbm5lY3RvclR5cGUuTVFUVCIgZm9ybUNvbnRyb2xOYW1lPSJwYXJhbXMiLz5cbiAgICAgICAgICAgIDx0Yi1nYXRld2F5LW9wYy1ycGMtcGFyYW1ldGVycyAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk9QQ1VBIiBmb3JtQ29udHJvbE5hbWU9InBhcmFtcyIvPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRlbXBsYXRlLWFjdGlvbnMiIGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJlbmQgY2VudGVyIiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9InNhdmVUZW1wbGF0ZSgpIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJjb21tYW5kRm9ybS5nZXQoXCdwYXJhbXNcJykuaW52YWxpZCI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1zYXZlLXRlbXBsYXRlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ic2VuZENvbW1hbmQoKSJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iY29tbWFuZEZvcm0uZ2V0KFwncGFyYW1zXCcpLmludmFsaWQiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLWNvbW1hbmQtc2VuZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuICA8c2VjdGlvbiBjbGFzcz0icmVzdWx0LWJsb2NrIiBbZm9ybUdyb3VwXT0iY29tbWFuZEZvcm0iPlxuICAgIDxzcGFuPnt7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1yZXN1bHRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPGRpdiAqbmdJZj0icmVzdWx0VGltZSIgY2xhc3M9InJlc3VsdC10aW1lIiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPnNjaGVkdWxlPC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4+e3sgcmVzdWx0VGltZSB8IGRhdGU6IFwneXl5eS9NTS9kZCBISDptbTpzc1wnIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9zcGFuPlxuICAgIDx0Yi1qc29uLWNvbnRlbnQgW2NvbnRlbnRUeXBlXT0iY29udGVudFR5cGVzLkpTT04iIHJlYWRvbmx5PSJ0cnVlIiBmb3JtQ29udHJvbE5hbWU9InJlc3VsdCI+PC90Yi1qc29uLWNvbnRlbnQ+XG4gIDwvc2VjdGlvbj5cbjwvZGl2PlxuPHRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yLXRlbXBsYXRlcyBmeEZsZXg9IjMwIiAqbmdJZj0iaXNDb25uZWN0b3IiIGNsYXNzPSJib3JkZXIiIFtycGNUZW1wbGF0ZXNdPSJ0ZW1wbGF0ZXMiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjdHhdPSJjdHgiIFtjb25uZWN0b3JUeXBlXT0iY29ubmVjdG9yVHlwZSIgKHVzZVRlbXBsYXRlKT0idXNlVGVtcGxhdGUoJGV2ZW50KSI+XG48L3RiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yLXRlbXBsYXRlcz5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO292ZXJmbG93OmF1dG87ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztwYWRkaW5nOjAgNXB4fTpob3N0Pip7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6YXV0b306aG9zdD50Yi1nYXRld2F5LXNlcnZpY2UtcnBjLWNvbm5lY3Rvci10ZW1wbGF0ZXM6bGFzdC1jaGlsZHttYXJnaW4tbGVmdDoxMHB4fTpob3N0IC5jb21tYW5kLWZvcm17ZmxleC13cmFwOm5vd3JhcDtwYWRkaW5nOjAgNXB4IDVweH06aG9zdCAuY29tbWFuZC1mb3JtPmJ1dHRvbnttYXJnaW4tdG9wOjEwcHh9Omhvc3QgLnJwYy1wYXJhbWV0ZXJze3dpZHRoOjEwMCV9Omhvc3QgLnJlc3VsdC1ibG9ja3twYWRkaW5nOjAgNXB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleDoxfTpob3N0IC5yZXN1bHQtYmxvY2s+c3Bhbntmb250LXdlaWdodDo2MDA7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1zaXplOjE0cHg7bWFyZ2luLWJvdHRvbToxMHB4fTpob3N0IC5yZXN1bHQtYmxvY2s+c3BhbiAucmVzdWx0LXRpbWV7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjMycHg7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDoyNXB4O3otaW5kZXg6NTtjb2xvcjojMDAwMDAwOGF9Omhvc3QgLnJlc3VsdC1ibG9jaz5zcGFuIC5yZXN1bHQtdGltZSBzcGFue3BhZGRpbmctbGVmdDoxMHB4fTpob3N0IC5yZXN1bHQtYmxvY2sgdGItanNvbi1jb250ZW50e2ZsZXg6MX06aG9zdCAuYm9yZGVye3BhZGRpbmc6MTZweDtib3gtc2hhZG93OjAgMCAjMDAwMywwIDAgIzAwMDAwMDI0LDAgMCAjMDAwMDAwMWY7Ym9yZGVyOnNvbGlkIDFweCAjZTBlMGUwO2JvcmRlci1yYWRpdXM6NHB4fVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9LHt0eXBlOkplLk1hdERpYWxvZ30se3R5cGU6WC5VdGlsc1NlcnZpY2V9LHt0eXBlOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9LHt0eXBlOlguQXR0cmlidXRlU2VydmljZX1dLHByb3BEZWNvcmF0b3JzOntjdHg6W3t0eXBlOmF9XSxkaWFsb2dSZWY6W3t0eXBlOmF9XX19KTtjbGFzcyBQYSBleHRlbmRzIFB7Y29uc3RydWN0b3IoZSx0LG4sYSxvKXtzdXBlcihlLHQsYSksdGhpcy5zdG9yZT1lLHRoaXMucm91dGVyPXQsdGhpcy5kYXRhPW4sdGhpcy5kaWFsb2dSZWY9YSx0aGlzLmZiPW8sdGhpcy5nYXRld2F5TmFtZT10aGlzLmRhdGEuZ2F0ZXdheU5hbWUsdGhpcy5nYXRld2F5Q29udHJvbD10aGlzLmZiLmNvbnRyb2woIiIpfWNsb3NlKCl7dGhpcy5kaWFsb2dSZWYuY2xvc2UoKX10dXJuT2ZmKCl7dGhpcy5kaWFsb2dSZWYuY2xvc2UoITApfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6UGEsZGVwczpbe3Rva2VuOm90LlN0b3JlfSx7dG9rZW46aXQuUm91dGVyfSx7dG9rZW46WGV9LHt0b2tlbjpKZS5NYXREaWFsb2dSZWZ9LHt0b2tlbjptZS5Gb3JtQnVpbGRlcn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6UGEsc2VsZWN0b3I6InRiLWdhdGV3YXktcmVtb3RlLWNvbmZpZ3VyYXRpb24tZGlhbG9nIix1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdG9vbGJhciBjb2xvcj0id2FybiI+XG4gIDxtYXQtaWNvbj53YXJuaW5nPC9tYXQtaWNvbj5cbiAgPGgyIHRyYW5zbGF0ZT5nYXRld2F5LmNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1oZWFkZXI8L2gyPlxuICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgIChjbGljayk9ImNsb3NlKCkiXG4gICAgICAgICAgdHlwZT0iYnV0dG9uIj5cbiAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9tYXQtdG9vbGJhcj5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IHN0eWxlPSJtYXgtd2lkdGg6IDYwMHB4IiBjbGFzcz0ibWF0LWNvbnRlbnQiIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICA8c3BhbiBpbm5lckhUTUw9Int7IFwnZ2F0ZXdheS5jb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctYm9keVwnIHwgdHJhbnNsYXRlIH19IDxiPnt7IGdhdGV3YXlOYW1lIH19PC9iPiIgPjwvc3Bhbj5cbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2sgdGItdmFsdWUtdHlwZSIgc3R5bGU9ImZsZXgtZ3JvdzogMCI+XG4gICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5jb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaW5wdXQ8L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT0iZ2F0ZXdheUNvbnRyb2wiIHJlcXVpcmVkLz5cbiAgICA8bWF0LWVycm9yXG4gICAgICAqbmdJZj0iZ2F0ZXdheUNvbnRyb2wuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICB7eyBcJ2dhdGV3YXkuY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0id2FybiJcbiAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgKGNsaWNrKT0iY2xvc2UoKSI+XG4gICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG4gIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0id2FybiJcbiAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgW2Rpc2FibGVkXT0iZ2F0ZXdheUNvbnRyb2wudmFsdWUgIT09IGdhdGV3YXlOYW1lIlxuICAgICAgICAgIChjbGljayk9InR1cm5PZmYoKSI+XG4gICAge3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1jb25maXJtXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG48L2Rpdj5cbicsZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0RXJyb3Isc2VsZWN0b3I6Im1hdC1lcnJvciwgW21hdEVycm9yXSIsaW5wdXRzOlsiaWQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpKZS5NYXREaWFsb2dBY3Rpb25zLHNlbGVjdG9yOiJbbWF0LWRpYWxvZy1hY3Rpb25zXSwgbWF0LWRpYWxvZy1hY3Rpb25zLCBbbWF0RGlhbG9nQWN0aW9uc10iLGlucHV0czpbImFsaWduIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQ29udGVudCxzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5SZXF1aXJlZFZhbGlkYXRvcixzZWxlY3RvcjoiOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbE5hbWVdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bbmdNb2RlbF0iLGlucHV0czpbInJlcXVpcmVkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlkuVHJhbnNsYXRlRGlyZWN0aXZlLHNlbGVjdG9yOiJbdHJhbnNsYXRlXSxbbmd4LXRyYW5zbGF0ZV0iLGlucHV0czpbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZVBhcmFtcyJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn1dfSl9fXZhciBHYTtlKCJHYXRld2F5UmVtb3RlQ29uZmlndXJhdGlvbkRpYWxvZ0NvbXBvbmVudCIsUGEpLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6UGEsZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktcmVtb3RlLWNvbmZpZ3VyYXRpb24tZGlhbG9nIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdG9vbGJhciBjb2xvcj0id2FybiI+XG4gIDxtYXQtaWNvbj53YXJuaW5nPC9tYXQtaWNvbj5cbiAgPGgyIHRyYW5zbGF0ZT5nYXRld2F5LmNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1oZWFkZXI8L2gyPlxuICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgIChjbGljayk9ImNsb3NlKCkiXG4gICAgICAgICAgdHlwZT0iYnV0dG9uIj5cbiAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9tYXQtdG9vbGJhcj5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IHN0eWxlPSJtYXgtd2lkdGg6IDYwMHB4IiBjbGFzcz0ibWF0LWNvbnRlbnQiIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICA8c3BhbiBpbm5lckhUTUw9Int7IFwnZ2F0ZXdheS5jb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctYm9keVwnIHwgdHJhbnNsYXRlIH19IDxiPnt7IGdhdGV3YXlOYW1lIH19PC9iPiIgPjwvc3Bhbj5cbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2sgdGItdmFsdWUtdHlwZSIgc3R5bGU9ImZsZXgtZ3JvdzogMCI+XG4gICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5jb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaW5wdXQ8L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT0iZ2F0ZXdheUNvbnRyb2wiIHJlcXVpcmVkLz5cbiAgICA8bWF0LWVycm9yXG4gICAgICAqbmdJZj0iZ2F0ZXdheUNvbnRyb2wuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICB7eyBcJ2dhdGV3YXkuY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0id2FybiJcbiAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgKGNsaWNrKT0iY2xvc2UoKSI+XG4gICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG4gIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0id2FybiJcbiAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgW2Rpc2FibGVkXT0iZ2F0ZXdheUNvbnRyb2wudmFsdWUgIT09IGdhdGV3YXlOYW1lIlxuICAgICAgICAgIChjbGljayk9InR1cm5PZmYoKSI+XG4gICAge3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1jb25maXJtXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG48L2Rpdj5cbid9XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6b3QuU3RvcmV9LHt0eXBlOml0LlJvdXRlcn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOnAsYXJnczpbWGVdfV19LHt0eXBlOkplLk1hdERpYWxvZ1JlZn0se3R5cGU6bWUuRm9ybUJ1aWxkZXJ9XX0pLGZ1bmN0aW9uKGUpe2UudGxzPSJ0bHMiLGUuYWNjZXNzVG9rZW49ImFjY2Vzc1Rva2VuIn0oR2F8fChHYT17fSkpO2NvbnN0IE9hPSJjb25maWd1cmF0aW9uX2RyYWZ0cyIsUmE9IlJlbW90ZUxvZ2dpbmdMZXZlbCIsVmE9bmV3IE1hcChbW0dhLnRscywiZ2F0ZXdheS5zZWN1cml0eS10eXBlcy50bHMiXSxbR2EuYWNjZXNzVG9rZW4sImdhdGV3YXkuc2VjdXJpdHktdHlwZXMuYWNjZXNzLXRva2VuIl1dKTt2YXIgQmEsVWE7IWZ1bmN0aW9uKGUpe2Uubm9uZT0iTk9ORSIsZS5jcml0aWNhbD0iQ1JJVElDQUwiLGUuZXJyb3I9IkVSUk9SIixlLndhcm5pbmc9IldBUk5JTkciLGUuaW5mbz0iSU5GTyIsZS5kZWJ1Zz0iREVCVUcifShCYXx8KEJhPXt9KSksZnVuY3Rpb24oZSl7ZS5tZW1vcnk9Im1lbW9yeSIsZS5maWxlPSJmaWxlIn0oVWF8fChVYT17fSkpO2NvbnN0IF9hPW5ldyBNYXAoW1tVYS5tZW1vcnksImdhdGV3YXkuc3RvcmFnZS10eXBlcy5tZW1vcnktc3RvcmFnZSJdLFtVYS5maWxlLCJnYXRld2F5LnN0b3JhZ2UtdHlwZXMuZmlsZS1zdG9yYWdlIl1dKTt2YXIgSGE7IWZ1bmN0aW9uKGUpe2UubXF0dD0iTVFUVCIsZS5tb2RidXM9Ik1vZGJ1cyIsZS5vcGN1YT0iT1BDLVVBIixlLmJsZT0iQkxFIixlLnJlcXVlc3Q9IlJlcXVlc3QiLGUuY2FuPSJDQU4iLGUuYmFjbmV0PSJCQUNuZXQiLGUuY3VzdG9tPSJDdXN0b20ifShIYXx8KEhhPXt9KSk7Y29uc3QgemE9e2NvbmZpZzp7fSxuYW1lOiIiLGNvbmZpZ1R5cGU6bnVsbCxlbmFibGVkOiExfTtmdW5jdGlvbiBXYShlKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZS52YWx1ZSk9PT1KU09OLnN0cmluZ2lmeSh7fSk/e3ZhbGlkSlNPTjohMH06bnVsbH1jb25zdCBqYT0nW2xvZ2dlcnNdfX1rZXlzPXJvb3QsIHNlcnZpY2UsIGNvbm5lY3RvciwgY29udmVydGVyLCB0Yl9jb25uZWN0aW9uLCBzdG9yYWdlLCBleHRlbnNpb259fVtoYW5kbGVyc119fWtleXM9Y29uc29sZUhhbmRsZXIsIHNlcnZpY2VIYW5kbGVyLCBjb25uZWN0b3JIYW5kbGVyLCBjb252ZXJ0ZXJIYW5kbGVyLCB0Yl9jb25uZWN0aW9uSGFuZGxlciwgc3RvcmFnZUhhbmRsZXIsIGV4dGVuc2lvbkhhbmRsZXJ9fVtmb3JtYXR0ZXJzXX19a2V5cz1Mb2dGb3JtYXR0ZXJ9fVtsb2dnZXJfcm9vdF19fWxldmVsPUVSUk9SfX1oYW5kbGVycz1jb25zb2xlSGFuZGxlcn19W2xvZ2dlcl9jb25uZWN0b3JdfX1sZXZlbD17RVJST1J9fX1oYW5kbGVycz1jb25uZWN0b3JIYW5kbGVyfX1mb3JtYXR0ZXI9TG9nRm9ybWF0dGVyfX1xdWFsbmFtZT1jb25uZWN0b3J9fVtsb2dnZXJfc3RvcmFnZV19fWxldmVsPXtFUlJPUn19fWhhbmRsZXJzPXN0b3JhZ2VIYW5kbGVyfX1mb3JtYXR0ZXI9TG9nRm9ybWF0dGVyfX1xdWFsbmFtZT1zdG9yYWdlfX1bbG9nZ2VyX3RiX2Nvbm5lY3Rpb25dfX1sZXZlbD17RVJST1J9fX1oYW5kbGVycz10Yl9jb25uZWN0aW9uSGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19cXVhbG5hbWU9dGJfY29ubmVjdGlvbn19W2xvZ2dlcl9zZXJ2aWNlXX19bGV2ZWw9e0VSUk9SfX19aGFuZGxlcnM9c2VydmljZUhhbmRsZXJ9fWZvcm1hdHRlcj1Mb2dGb3JtYXR0ZXJ9fXF1YWxuYW1lPXNlcnZpY2V9fVtsb2dnZXJfY29udmVydGVyXX19bGV2ZWw9e0VSUk9SfX19aGFuZGxlcnM9Y29udmVydGVySGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19cXVhbG5hbWU9Y29udmVydGVyfX1bbG9nZ2VyX2V4dGVuc2lvbl19fWxldmVsPXtFUlJPUn19fWhhbmRsZXJzPWNvbm5lY3RvckhhbmRsZXJ9fWZvcm1hdHRlcj1Mb2dGb3JtYXR0ZXJ9fXF1YWxuYW1lPWV4dGVuc2lvbn19W2hhbmRsZXJfY29uc29sZUhhbmRsZXJdfX1jbGFzcz1TdHJlYW1IYW5kbGVyfX1sZXZlbD17RVJST1J9fX1mb3JtYXR0ZXI9TG9nRm9ybWF0dGVyfX1hcmdzPShzeXMuc3Rkb3V0LCl9fVtoYW5kbGVyX2Nvbm5lY3RvckhhbmRsZXJdfX1sZXZlbD17RVJST1J9fX1jbGFzcz1sb2dnaW5nLmhhbmRsZXJzLlRpbWVkUm90YXRpbmdGaWxlSGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19YXJncz0oInsuL2xvZ3MvfWNvbm5lY3Rvci5sb2ciLCAiZCIsIDEsIDcsKX19W2hhbmRsZXJfc3RvcmFnZUhhbmRsZXJdfX1sZXZlbD17RVJST1J9fX1jbGFzcz1sb2dnaW5nLmhhbmRsZXJzLlRpbWVkUm90YXRpbmdGaWxlSGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19YXJncz0oInsuL2xvZ3MvfXN0b3JhZ2UubG9nIiwgImQiLCAxLCA3LCl9fVtoYW5kbGVyX3NlcnZpY2VIYW5kbGVyXX19bGV2ZWw9e0VSUk9SfX19Y2xhc3M9bG9nZ2luZy5oYW5kbGVycy5UaW1lZFJvdGF0aW5nRmlsZUhhbmRsZXJ9fWZvcm1hdHRlcj1Mb2dGb3JtYXR0ZXJ9fWFyZ3M9KCJ7Li9sb2dzL31zZXJ2aWNlLmxvZyIsICJkIiwgMSwgNywpfX1baGFuZGxlcl9jb252ZXJ0ZXJIYW5kbGVyXX19bGV2ZWw9e0VSUk9SfX19Y2xhc3M9bG9nZ2luZy5oYW5kbGVycy5UaW1lZFJvdGF0aW5nRmlsZUhhbmRsZXJ9fWZvcm1hdHRlcj1Mb2dGb3JtYXR0ZXJ9fWFyZ3M9KCJ7Li9sb2dzL31jb252ZXJ0ZXIubG9nIiwgImQiLCAxLCAzLCl9fVtoYW5kbGVyX2V4dGVuc2lvbkhhbmRsZXJdfX1sZXZlbD17RVJST1J9fX1jbGFzcz1sb2dnaW5nLmhhbmRsZXJzLlRpbWVkUm90YXRpbmdGaWxlSGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19YXJncz0oInsuL2xvZ3MvfWV4dGVuc2lvbi5sb2ciLCAiZCIsIDEsIDMsKX19W2hhbmRsZXJfdGJfY29ubmVjdGlvbkhhbmRsZXJdfX1sZXZlbD17RVJST1J9fX1jbGFzcz1sb2dnaW5nLmhhbmRsZXJzLlRpbWVkUm90YXRpbmdGaWxlSGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19YXJncz0oInsuL2xvZ3MvfXRiX2Nvbm5lY3Rpb24ubG9nIiwgImQiLCAxLCAzLCl9fVtmb3JtYXR0ZXJfTG9nRm9ybWF0dGVyXX19Zm9ybWF0PSIlKGFzY3RpbWUpcyAtICUobGV2ZWxuYW1lKXMgLSBbJShmaWxlbmFtZSlzXSAtICUobW9kdWxlKXMgLSAlKGxpbmVubylkIC0gJShtZXNzYWdlKXMiIH19ZGF0ZWZtdD0iJVktJW0tJWQgJUg6JU06JVMiJztmdW5jdGlvbiBLYShlKXtyZXR1cm4gZS5yZXBsYWNlKCJfIiwiIikucmVwbGFjZSgiLSIsIiIpLnJlcGxhY2UoL15ccyt8XHMrL2csIiIpLnRvTG93ZXJDYXNlKCkrIi5qc29uIn1mdW5jdGlvbiAkYShlLHQpe3JldHVybiBqYS5yZXBsYWNlKC97RVJST1J9L2csZSkucmVwbGFjZSgvey5cL2xvZ3NcL30vZyx0KX1mdW5jdGlvbiBZYShlKXtyZXR1cm57aWQ6ZSxlbnRpdHlUeXBlOkkuREVWSUNFfX1mdW5jdGlvbiBRYShlKXtjb25zdCB0PXt9O3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwidGhpbmdzYm9hcmQiKSYmKHQuaG9zdD1lLnRoaW5nc2JvYXJkLmhvc3QsdC5wb3J0PWUudGhpbmdzYm9hcmQucG9ydCx0LnJlbW90ZUNvbmZpZ3VyYXRpb249ZS50aGluZ3Nib2FyZC5yZW1vdGVDb25maWd1cmF0aW9uLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLnRoaW5nc2JvYXJkLnNlY3VyaXR5LEdhLmFjY2Vzc1Rva2VuKT8odC5zZWN1cml0eVR5cGU9R2EuYWNjZXNzVG9rZW4sdC5hY2Nlc3NUb2tlbj1lLnRoaW5nc2JvYXJkLnNlY3VyaXR5LmFjY2Vzc1Rva2VuKToodC5zZWN1cml0eVR5cGU9R2EudGxzLHQuY2FDZXJ0UGF0aD1lLnRoaW5nc2JvYXJkLnNlY3VyaXR5LmNhQ2VydCx0LnByaXZhdGVLZXlQYXRoPWUudGhpbmdzYm9hcmQuc2VjdXJpdHkucHJpdmF0ZUtleSx0LmNlcnRQYXRoPWUudGhpbmdzYm9hcmQuc2VjdXJpdHkuY2VydCkpLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCJzdG9yYWdlIikmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLnN0b3JhZ2UsInR5cGUiKSYmKGUuc3RvcmFnZS50eXBlPT09VWEubWVtb3J5Pyh0LnN0b3JhZ2VUeXBlPVVhLm1lbW9yeSx0LnJlYWRSZWNvcmRzQ291bnQ9ZS5zdG9yYWdlLnJlYWRfcmVjb3Jkc19jb3VudCx0Lm1heFJlY29yZHNDb3VudD1lLnN0b3JhZ2UubWF4X3JlY29yZHNfY291bnQpOmUuc3RvcmFnZS50eXBlPT09VWEuZmlsZSYmKHQuc3RvcmFnZVR5cGU9VWEuZmlsZSx0LmRhdGFGb2xkZXJQYXRoPWUuc3RvcmFnZS5kYXRhX2ZvbGRlcl9wYXRoLHQubWF4RmlsZXNDb3VudD1lLnN0b3JhZ2UubWF4X2ZpbGVfY291bnQsdC5yZWFkUmVjb3Jkc0NvdW50PWUuc3RvcmFnZS5yZWFkX3JlY29yZHNfY291bnQsdC5tYXhSZWNvcmRzQ291bnQ9ZS5zdG9yYWdlLm1heF9yZWNvcmRzX2NvdW50KSksdH1mdW5jdGlvbiBKYShlKXtjb25zdCB0PXt9O2Zvcihjb25zdCBuIG9mIGUpbi5lbmFibGVkfHwodFtuLm5hbWVdPXtjb25uZWN0b3I6bi5jb25maWdUeXBlLGNvbmZpZzpuLmNvbmZpZ30pO3JldHVybiB0fWZ1bmN0aW9uIFhhKGUpe2NvbnN0IHQ9e3RoaW5nc2JvYXJkOlphKGUpfTtyZXR1cm4gZnVuY3Rpb24oZSx0KXtmb3IoY29uc3QgbiBvZiB0KWlmKG4uZW5hYmxlZCl7Y29uc3QgdD1uLmNvbmZpZ1R5cGU7QXJyYXkuaXNBcnJheShlW3RdKXx8KGVbdF09W10pO2NvbnN0IGE9e25hbWU6bi5uYW1lLGNvbmZpZzpuLmNvbmZpZ307ZVt0XS5wdXNoKGEpfX0odCxlLmNvbm5lY3RvcnMpLHR9ZnVuY3Rpb24gWmEoZSl7bGV0IHQ7dD1lLnNlY3VyaXR5VHlwZT09PUdhLmFjY2Vzc1Rva2VuP3thY2Nlc3NUb2tlbjplLmFjY2Vzc1Rva2VufTp7Y2FDZXJ0OmUuY2FDZXJ0UGF0aCxwcml2YXRlS2V5OmUucHJpdmF0ZUtleVBhdGgsY2VydDplLmNlcnRQYXRofTtjb25zdCBuPXtob3N0OmUuaG9zdCxyZW1vdGVDb25maWd1cmF0aW9uOmUucmVtb3RlQ29uZmlndXJhdGlvbixwb3J0OmUucG9ydCxzZWN1cml0eTp0fTtsZXQgYTthPWUuc3RvcmFnZVR5cGU9PT1VYS5tZW1vcnk/e3R5cGU6VWEubWVtb3J5LHJlYWRfcmVjb3Jkc19jb3VudDplLnJlYWRSZWNvcmRzQ291bnQsbWF4X3JlY29yZHNfY291bnQ6ZS5tYXhSZWNvcmRzQ291bnR9Ont0eXBlOlVhLmZpbGUsZGF0YV9mb2xkZXJfcGF0aDplLmRhdGFGb2xkZXJQYXRoLG1heF9maWxlX2NvdW50OmUubWF4RmlsZXNDb3VudCxtYXhfcmVhZF9yZWNvcmRzX2NvdW50OmUucmVhZFJlY29yZHNDb3VudCxtYXhfcmVjb3Jkc19wZXJfZmlsZTplLm1heFJlY29yZHNDb3VudH07Y29uc3Qgbz1bXTtmb3IoY29uc3QgdCBvZiBlLmNvbm5lY3RvcnMpaWYodC5lbmFibGVkKXtjb25zdCBlPXtjb25maWd1cmF0aW9uOkthKHQubmFtZSksbmFtZTp0Lm5hbWUsdHlwZTp0LmNvbmZpZ1R5cGV9O28ucHVzaChlKX1yZXR1cm57dGhpbmdzYm9hcmQ6bixjb25uZWN0b3JzOm8sc3RvcmFnZTphLGxvZ3M6d2luZG93LmJ0b2EoJGEoZS5yZW1vdGVMb2dnaW5nTGV2ZWwsZS5yZW1vdGVMb2dnaW5nUGF0aFRvTG9ncykpfX1jbGFzcyBlbyBleHRlbmRzIE97Y29uc3RydWN0b3IoZSx0LG4sYSxvLGkscixzLGwsYyxwKXtzdXBlcihlKSx0aGlzLnN0b3JlPWUsdGhpcy5lbGVtZW50UmVmPXQsdGhpcy51dGlscz1uLHRoaXMubmdab25lPWEsdGhpcy5mYj1vLHRoaXMud2luZG93PWksdGhpcy5kaWFsb2c9cix0aGlzLnRyYW5zbGF0ZT1zLHRoaXMuZGV2aWNlU2VydmljZT1sLHRoaXMuYXR0cmlidXRlU2VydmljZT1jLHRoaXMuaW1wb3J0RXhwb3J0PXAsdGhpcy5hbGlnbm1lbnQ9InJvdyIsdGhpcy5sYXlvdXRHYXA9IjVweCIsdGhpcy5zZWN1cml0eVR5cGVzPVZhLHRoaXMuZ2F0ZXdheUxvZ0xldmVscz1PYmplY3Qua2V5cyhCYSkubWFwKChlPT5CYVtlXSkpLHRoaXMuY29ubmVjdG9yVHlwZXM9T2JqZWN0LmtleXMoSGEpLHRoaXMuc3RvcmFnZVR5cGVzPV9hLHRoaXMudG9hc3RUYXJnZXRJZD0iZ2F0ZXdheS1jb25maWd1cmF0aW9uLXdpZGdldCIrdGhpcy51dGlscy5ndWlkKCksdGhpcy5pc1JlYWRPbmx5Rm9ybT0hMX1nZXQgY29ubmVjdG9ycygpe3JldHVybiB0aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KCJjb25uZWN0b3JzIil9bmdPbkluaXQoKXt0aGlzLmluaXRXaWRnZXRTZXR0aW5ncyh0aGlzLmN0eC5zZXR0aW5ncyksdGhpcy5jdHguZGF0YXNvdXJjZXMmJnRoaXMuY3R4LmRhdGFzb3VyY2VzLmxlbmd0aCYmKHRoaXMuZGV2aWNlTmFtZUZvcm09dGhpcy5jdHguZGF0YXNvdXJjZXNbMF0ubmFtZSksdGhpcy5idWlsZEZvcm0oKSx0aGlzLmN0eC51cGRhdGVXaWRnZXRQYXJhbXMoKSx0aGlzLmZvcm1SZXNpemUkPW5ldyBSZXNpemVPYnNlcnZlcigoKCk9Pnt0aGlzLnJlc2l6ZSgpfSkpLHRoaXMuZm9ybVJlc2l6ZSQub2JzZXJ2ZSh0aGlzLmZvcm1Db250YWluZXJSZWYubmF0aXZlRWxlbWVudCl9bmdPbkRlc3Ryb3koKXt0aGlzLmZvcm1SZXNpemUkJiZ0aGlzLmZvcm1SZXNpemUkLmRpc2Nvbm5lY3QoKSx0aGlzLnN1YnNjcmliZUdhdGV3YXkkLnVuc3Vic2NyaWJlKCksdGhpcy5zdWJzY3JpYmVTdG9yYWdlVHlwZSQudW5zdWJzY3JpYmUoKX1pbml0V2lkZ2V0U2V0dGluZ3MoZSl7bGV0IHQ7dD1lLmdhdGV3YXlUaXRsZSYmZS5nYXRld2F5VGl0bGUubGVuZ3RoP3RoaXMudXRpbHMuY3VzdG9tVHJhbnNsYXRpb24oZS5nYXRld2F5VGl0bGUsZS5nYXRld2F5VGl0bGUpOnRoaXMudHJhbnNsYXRlLmluc3RhbnQoImdhdGV3YXkuZ2F0ZXdheSIpLHRoaXMuY3R4LndpZGdldFRpdGxlPXQsdGhpcy5pc1JlYWRPbmx5Rm9ybT0hIWUucmVhZE9ubHkmJmUucmVhZE9ubHksdGhpcy5hcmNoaXZlRmlsZU5hbWU9ZS5hcmNoaXZlRmlsZU5hbWU/Lmxlbmd0aD9lLmFyY2hpdmVGaWxlTmFtZToiZ2F0ZXdheUNvbmZpZ3VyYXRpb24iLHRoaXMuZ2F0ZXdheVR5cGU9ZS5nYXRld2F5VHlwZT8ubGVuZ3RoP2UuZ2F0ZXdheVR5cGU6IkdhdGV3YXkiLHRoaXMuZ2F0ZXdheU5hbWVFeGlzdHM9dGhpcy51dGlscy5jdXN0b21UcmFuc2xhdGlvbihlLmdhdGV3YXlOYW1lRXhpc3RzLGUuZ2F0ZXdheU5hbWVFeGlzdHMpfHx0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LmdhdGV3YXktZXhpc3RzIiksdGhpcy5zdWNjZXNzZnVsU2F2ZWQ9dGhpcy51dGlscy5jdXN0b21UcmFuc2xhdGlvbihlLnN1Y2Nlc3NmdWxTYXZlLGUuc3VjY2Vzc2Z1bFNhdmUpfHx0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LmdhdGV3YXktc2F2ZWQiKSx0aGlzLnVwZGF0ZVdpZGdldERpc3BsYXlpbmcoKX1yZXNpemUoKXt0aGlzLm5nWm9uZS5ydW4oKCgpPT57dGhpcy51cGRhdGVXaWRnZXREaXNwbGF5aW5nKCksdGhpcy5jdHguZGV0ZWN0Q2hhbmdlcygpfSkpfXVwZGF0ZVdpZGdldERpc3BsYXlpbmcoKXt0aGlzLmN0eC4kY29udGFpbmVyJiZ0aGlzLmN0eC4kY29udGFpbmVyWzBdLm9mZnNldFdpZHRoPD00MjU/KHRoaXMubGF5b3V0R2FwPSIwIix0aGlzLmFsaWdubWVudD0iY29sdW1uIik6KHRoaXMubGF5b3V0R2FwPSI1cHgiLHRoaXMuYWxpZ25tZW50PSJyb3ciKX1zYXZlQXR0cmlidXRlKGUsdCxuKXtjb25zdCBhPXRoaXMuZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoImdhdGV3YXkiKS52YWx1ZSxvPXtrZXk6ZSx2YWx1ZTp0fTtyZXR1cm4gdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNhdmVFbnRpdHlBdHRyaWJ1dGVzKFlhKGEpLG4sW29dKX1jcmVhdGVDb25uZWN0b3IoZT16YSl7dGhpcy5jb25uZWN0b3JzLnB1c2godGhpcy5mYi5ncm91cCh7ZW5hYmxlZDpbZS5lbmFibGVkXSxjb25maWdUeXBlOltlLmNvbmZpZ1R5cGUsW3VlLnJlcXVpcmVkXV0sbmFtZTpbZS5uYW1lLFt1ZS5yZXF1aXJlZF1dLGNvbmZpZzpbZS5jb25maWcsW3VlLm51bGxWYWxpZGF0b3IsV2FdXX0pKX1nZXRGb3JtRmllbGQoZSl7cmV0dXJuIHRoaXMuZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoZSl9YnVpbGRGb3JtKCl7dGhpcy5nYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwPXRoaXMuZmIuZ3JvdXAoe2dhdGV3YXk6W251bGwsW11dLGFjY2Vzc1Rva2VuOltudWxsLFt1ZS5yZXF1aXJlZF1dLHNlY3VyaXR5VHlwZTpbR2EuYWNjZXNzVG9rZW5dLGhvc3Q6W3RoaXMud2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLFt1ZS5yZXF1aXJlZF1dLHBvcnQ6WzE4ODMsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5tYXgoNjU1MzUpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLHJlbW90ZUNvbmZpZ3VyYXRpb246WyEwXSxjYUNlcnRQYXRoOlsiL2V0Yy90aGluZ3Nib2FyZC1nYXRld2F5L2NhLnBlbSJdLHByaXZhdGVLZXlQYXRoOlsiL2V0Yy90aGluZ3Nib2FyZC1nYXRld2F5L3ByaXZhdGVLZXkucGVtIl0sY2VydFBhdGg6WyIvZXRjL3RoaW5nc2JvYXJkLWdhdGV3YXkvY2VydGlmaWNhdGUucGVtIl0scmVtb3RlTG9nZ2luZ0xldmVsOltCYS5kZWJ1Z10scmVtb3RlTG9nZ2luZ1BhdGhUb0xvZ3M6WyIuL2xvZ3MvIixbdWUucmVxdWlyZWRdXSxzdG9yYWdlVHlwZTpbVWEubWVtb3J5XSxyZWFkUmVjb3Jkc0NvdW50OlsxMDAsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxtYXhSZWNvcmRzQ291bnQ6WzFlNCxbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLG1heEZpbGVzQ291bnQ6WzUsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxkYXRhRm9sZGVyUGF0aDpbIi4vZGF0YS8iLFt1ZS5yZXF1aXJlZF1dLGNvbm5lY3RvcnM6dGhpcy5mYi5hcnJheShbXSl9KSx0aGlzLmlzUmVhZE9ubHlGb3JtJiZ0aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5zdWJzY3JpYmVTdG9yYWdlVHlwZSQ9dGhpcy5nZXRGb3JtRmllbGQoInN0b3JhZ2VUeXBlIikudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoZT0+e2U9PT1VYS5tZW1vcnk/KHRoaXMuZ2V0Rm9ybUZpZWxkKCJtYXhGaWxlc0NvdW50IikuZGlzYWJsZSgpLHRoaXMuZ2V0Rm9ybUZpZWxkKCJkYXRhRm9sZGVyUGF0aCIpLmRpc2FibGUoKSk6KHRoaXMuZ2V0Rm9ybUZpZWxkKCJtYXhGaWxlc0NvdW50IikuZW5hYmxlKCksdGhpcy5nZXRGb3JtRmllbGQoImRhdGFGb2xkZXJQYXRoIikuZW5hYmxlKCkpfSkpLHRoaXMuc3Vic2NyaWJlR2F0ZXdheSQ9dGhpcy5nZXRGb3JtRmllbGQoImdhdGV3YXkiKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChlPT57bnVsbCE9PWU/QWUoW3RoaXMuZGV2aWNlU2VydmljZS5nZXREZXZpY2VDcmVkZW50aWFscyhlKS5waXBlKEVlKChlPT57dGhpcy5nZXRGb3JtRmllbGQoImFjY2Vzc1Rva2VuIikucGF0Y2hWYWx1ZShlLmNyZWRlbnRpYWxzSWQpfSkpKSwuLi50aGlzLmdldEF0dHJpYnV0ZXMoZSldKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5nYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLm1hcmtBc1ByaXN0aW5lKCksdGhpcy5jdHguZGV0ZWN0Q2hhbmdlcygpfSkpOnRoaXMuZ2V0Rm9ybUZpZWxkKCJhY2Nlc3NUb2tlbiIpLnBhdGNoVmFsdWUoIiIpfSkpfWdhdGV3YXlFeGlzdCgpe3RoaXMuY3R4LnNob3dFcnJvclRvYXN0KHRoaXMuZ2F0ZXdheU5hbWVFeGlzdHMsInRvcCIsImxlZnQiLHRoaXMudG9hc3RUYXJnZXRJZCl9ZXhwb3J0Q29uZmlnKCl7Y29uc3QgZT10aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAudmFsdWUsdD17fTt2YXIgbixhLG87dFsidGJfZ2F0ZXdheS55YW1sIl09ZnVuY3Rpb24oZSl7bGV0IHQ7dD0idGhpbmdzYm9hcmQ6XG4iLHQrPSIgIGhvc3Q6ICIrZS5ob3N0KyJcbiIsdCs9IiAgcmVtb3RlQ29uZmlndXJhdGlvbjogIitlLnJlbW90ZUNvbmZpZ3VyYXRpb24rIlxuIix0Kz0iICBwb3J0OiAiK2UucG9ydCsiXG4iLHQrPSIgIHNlY3VyaXR5OlxuIixlLnNlY3VyaXR5VHlwZT09PUdhLmFjY2Vzc1Rva2VuP3QrPSIgICAgYWNjZXNzLXRva2VuOiAiK2UuYWNjZXNzVG9rZW4rIlxuIjoodCs9IiAgICBjYV9jZXJ0OiAiK2UuY2FDZXJ0UGF0aCsiXG4iLHQrPSIgICAgcHJpdmF0ZUtleTogIitlLnByaXZhdGVLZXlQYXRoKyJcbiIsdCs9IiAgICBjZXJ0OiAiK2UuY2VydFBhdGgrIlxuIiksdCs9InN0b3JhZ2U6XG4iLGUuc3RvcmFnZVR5cGU9PT1VYS5tZW1vcnk/KHQrPSIgIHR5cGU6IG1lbW9yeVxuIix0Kz0iICByZWFkX3JlY29yZHNfY291bnQ6ICIrZS5yZWFkUmVjb3Jkc0NvdW50KyJcbiIsdCs9IiAgbWF4X3JlY29yZHNfY291bnQ6ICIrZS5tYXhSZWNvcmRzQ291bnQrIlxuIik6KHQrPSIgIHR5cGU6IGZpbGVcbiIsdCs9IiAgZGF0YV9mb2xkZXJfcGF0aDogIitlLmRhdGFGb2xkZXJQYXRoKyJcbiIsdCs9IiAgbWF4X2ZpbGVfY291bnQ6ICIrZS5tYXhGaWxlc0NvdW50KyJcbiIsdCs9IiAgbWF4X3JlYWRfcmVjb3Jkc19jb3VudDogIitlLnJlYWRSZWNvcmRzQ291bnQrIlxuIix0Kz0iICBtYXhfcmVjb3Jkc19wZXJfZmlsZTogIitlLm1heFJlY29yZHNDb3VudCsiXG4iKSx0Kz0iY29ubmVjdG9yczpcbiI7Zm9yKGNvbnN0IG4gb2YgZS5jb25uZWN0b3JzKW4uZW5hYmxlZCYmKHQrPSIgIC1cbiIsdCs9IiAgICBuYW1lOiAiK24ubmFtZSsiXG4iLHQrPSIgICAgdHlwZTogIituLmNvbmZpZ1R5cGUrIlxuIix0Kz0iICAgIGNvbmZpZ3VyYXRpb246ICIrS2Eobi5uYW1lKSsiXG4iKTtyZXR1cm4gdH0oZSksZnVuY3Rpb24oZSx0KXtmb3IoY29uc3QgbiBvZiB0KW4uZW5hYmxlZCYmKGVbS2Eobi5uYW1lKV09SlNPTi5zdHJpbmdpZnkobi5jb25maWcpKX0odCxlLmNvbm5lY3RvcnMpLG49dCxhPWUucmVtb3RlTG9nZ2luZ0xldmVsLG89ZS5yZW1vdGVMb2dnaW5nUGF0aFRvTG9ncyxuWyJsb2dzLmNvbmYiXT0kYShhLG8pLHRoaXMuaW1wb3J0RXhwb3J0LmV4cG9ydEpTWmlwKHQsdGhpcy5hcmNoaXZlRmlsZU5hbWUpLHRoaXMuc2F2ZUF0dHJpYnV0ZShSYSx0aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAudmFsdWUucmVtb3RlTG9nZ2luZ0xldmVsLnRvVXBwZXJDYXNlKCksTC5TSEFSRURfU0NPUEUpfWFkZE5ld0Nvbm5lY3Rvcigpe3RoaXMuY3JlYXRlQ29ubmVjdG9yKCl9cmVtb3ZlQ29ubmVjdG9yKGUpe2U+LTEmJih0aGlzLmNvbm5lY3RvcnMucmVtb3ZlQXQoZSksdGhpcy5jb25uZWN0b3JzLm1hcmtBc0RpcnR5KCkpfW9wZW5Db25maWdEaWFsb2coZSx0LG4sYSl7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uKCksZS5wcmV2ZW50RGVmYXVsdCgpKSx0aGlzLmRpYWxvZy5vcGVuKFFlLHtkaXNhYmxlQ2xvc2U6ITAscGFuZWxDbGFzczpbInRiLWRpYWxvZyIsInRiLWZ1bGxzY3JlZW4tZGlhbG9nIl0sZGF0YTp7anNvblZhbHVlOm4scmVxdWlyZWQ6ITAsdGl0bGU6dGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS50aXRsZS1jb25uZWN0b3JzLWpzb24iLHt0eXBlTmFtZTphfSl9fSkuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKGU9PntlJiYodGhpcy5jb25uZWN0b3JzLmF0KHQpLmdldCgiY29uZmlnIikucGF0Y2hWYWx1ZShlKSx0aGlzLmN0eC5kZXRlY3RDaGFuZ2VzKCkpfSkpfWNyZWF0ZUNvbm5lY3Rvck5hbWUoZSx0LG49MCl7Y29uc3QgYT1uP3Qrbjp0O3JldHVybi0xPT09ZS5maW5kSW5kZXgoKGU9PmUubmFtZT09PWEpKT9hOnRoaXMuY3JlYXRlQ29ubmVjdG9yTmFtZShlLHQsKytuKX12YWxpZGF0ZUNvbm5lY3Rvck5hbWUoZSx0LG4sYT0wKXtmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rKyl7Y29uc3QgaT0wPT09YT90OnQrYTtvIT09biYmZVtvXS5uYW1lPT09aSYmdGhpcy52YWxpZGF0ZUNvbm5lY3Rvck5hbWUoZSx0LG4sKythKX1yZXR1cm4gMD09PWE/dDp0K2F9Y2hhbmdlQ29ubmVjdG9yVHlwZShlKXtpZighZS5nZXQoIm5hbWUiKS52YWx1ZSl7Y29uc3QgdD1lLmdldCgiY29uZmlnVHlwZSIpLnZhbHVlLG49dGhpcy5nYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLnZhbHVlLmNvbm5lY3RvcnM7ZS5nZXQoIm5hbWUiKS5wYXRjaFZhbHVlKHRoaXMuY3JlYXRlQ29ubmVjdG9yTmFtZShuLEhhW3RdKSl9fWNoYW5nZUNvbm5lY3Rvck5hbWUoZSx0KXtjb25zdCBuPXRoaXMuZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC52YWx1ZS5jb25uZWN0b3JzO2UuZ2V0KCJuYW1lIikucGF0Y2hWYWx1ZSh0aGlzLnZhbGlkYXRlQ29ubmVjdG9yTmFtZShuLGUuZ2V0KCJuYW1lIikudmFsdWUsdCkpfXNhdmUoKXtjb25zdCBlPXRoaXMuZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC52YWx1ZTtBZShbdGhpcy5zYXZlQXR0cmlidXRlKCJjb25maWd1cmF0aW9uIix3aW5kb3cuYnRvYShKU09OLnN0cmluZ2lmeShYYShlKSkpLEwuU0hBUkVEX1NDT1BFKSx0aGlzLnNhdmVBdHRyaWJ1dGUoT2Esd2luZG93LmJ0b2EoSlNPTi5zdHJpbmdpZnkoSmEoZS5jb25uZWN0b3JzKSkpLEwuU0VSVkVSX1NDT1BFKSx0aGlzLnNhdmVBdHRyaWJ1dGUoUmEsdGhpcy5nYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLnZhbHVlLnJlbW90ZUxvZ2dpbmdMZXZlbC50b1VwcGVyQ2FzZSgpLEwuU0hBUkVEX1NDT1BFKV0pLnN1YnNjcmliZSgoKCk9Pnt0aGlzLmN0eC5zaG93U3VjY2Vzc1RvYXN0KHRoaXMuc3VjY2Vzc2Z1bFNhdmVkLDJlMywidG9wIiwibGVmdCIsdGhpcy50b2FzdFRhcmdldElkKSx0aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAubWFya0FzUHJpc3RpbmUoKX0pKX1nZXRBdHRyaWJ1dGVzKGUpe2NvbnN0IHQ9W107cmV0dXJuIHQucHVzaChBZShbdGhpcy5nZXRBdHRyaWJ1dGUoImN1cnJlbnRfY29uZmlndXJhdGlvbiIsTC5DTElFTlRfU0NPUEUsZSksdGhpcy5nZXRBdHRyaWJ1dGUoT2EsTC5TRVJWRVJfU0NPUEUsZSldKS5waXBlKEVlKCgoW2UsdF0pPT57dGhpcy5zZXRGb3JtR2F0ZXdheVNldHRpbmdzKGUpLHRoaXMuc2V0Rm9ybUNvbm5lY3RvcnNEcmFmdCh0KSx0aGlzLmlzUmVhZE9ubHlGb3JtJiZ0aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSl9KSkpKSx0LnB1c2godGhpcy5nZXRBdHRyaWJ1dGUoUmEsTC5TSEFSRURfU0NPUEUsZSkucGlwZShFZSgoZT0+dGhpcy5wcm9jZXNzTG9nZ2luZ0xldmVsKGUpKSkpKSx0fWdldEF0dHJpYnV0ZShlLHQsbil7cmV0dXJuIHRoaXMuYXR0cmlidXRlU2VydmljZS5nZXRFbnRpdHlBdHRyaWJ1dGVzKFlhKG4pLHQsW2VdKX1zZXRGb3JtR2F0ZXdheVNldHRpbmdzKGUpe2lmKHRoaXMuY29ubmVjdG9ycy5jbGVhcigpLGUubGVuZ3RoPjApe2NvbnN0IHQ9SlNPTi5wYXJzZSh3aW5kb3cuYXRvYihlWzBdLnZhbHVlKSk7Zm9yKGNvbnN0IGUgb2YgT2JqZWN0LmtleXModCkpe2NvbnN0IG49dFtlXTtpZigidGhpbmdzYm9hcmQiPT09ZSludWxsIT09biYmT2JqZWN0LmtleXMobikubGVuZ3RoPjAmJnRoaXMuZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5wYXRjaFZhbHVlKFFhKG4pKTtlbHNlIGZvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKG4pKXtsZXQgYT0iTm8gbmFtZSI7T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG5bdF0sIm5hbWUiKSYmKGE9blt0XS5uYW1lKTtjb25zdCBvPXtlbmFibGVkOiEwLGNvbmZpZ1R5cGU6ZSxjb25maWc6blt0XS5jb25maWcsbmFtZTphfTt0aGlzLmNyZWF0ZUNvbm5lY3RvcihvKX19fX1zZXRGb3JtQ29ubmVjdG9yc0RyYWZ0KGUpe2lmKGUubGVuZ3RoPjApe2NvbnN0IHQ9SlNPTi5wYXJzZSh3aW5kb3cuYXRvYihlWzBdLnZhbHVlKSk7Zm9yKGNvbnN0IGUgb2YgT2JqZWN0LmtleXModCkpe2NvbnN0IG49e2VuYWJsZWQ6ITEsY29uZmlnVHlwZTp0W2VdLmNvbm5lY3Rvcixjb25maWc6dFtlXS5jb25maWcsbmFtZTplfTt0aGlzLmNyZWF0ZUNvbm5lY3RvcihuKX19fXByb2Nlc3NMb2dnaW5nTGV2ZWwoZSl7bGV0IHQ9QmEuZGVidWc7ZS5sZW5ndGg+MCYmQmFbZVswXS52YWx1ZS50b0xvd2VyQ2FzZSgpXSYmKHQ9QmFbZVswXS52YWx1ZS50b0xvd2VyQ2FzZSgpXSksdGhpcy5nZXRGb3JtRmllbGQoInJlbW90ZUxvZ2dpbmdMZXZlbCIpLnBhdGNoVmFsdWUodCl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTplbyxkZXBzOlt7dG9rZW46b3QuU3RvcmV9LHt0b2tlbjp0LkVsZW1lbnRSZWZ9LHt0b2tlbjpYLlV0aWxzU2VydmljZX0se3Rva2VuOnQuTmdab25lfSx7dG9rZW46bWUuVW50eXBlZEZvcm1CdWlsZGVyfSx7dG9rZW46YWV9LHt0b2tlbjpKZS5NYXREaWFsb2d9LHt0b2tlbjpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0b2tlbjpYLkRldmljZVNlcnZpY2V9LHt0b2tlbjpYLkF0dHJpYnV0ZVNlcnZpY2V9LHt0b2tlbjpsdC5JbXBvcnRFeHBvcnRTZXJ2aWNlfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTplbyxzZWxlY3RvcjoidGItZ2F0ZXdheS1mb3JtIixpbnB1dHM6e2N0eDoiY3R4Iixpc1N0YXRlRm9ybToiaXNTdGF0ZUZvcm0ifSx2aWV3UXVlcmllczpbe3Byb3BlcnR5TmFtZToiZm9ybUNvbnRhaW5lclJlZiIsZmlyc3Q6ITAscHJlZGljYXRlOlsiZm9ybUNvbnRhaW5lciJdLGRlc2NlbmRhbnRzOiEwLHN0YXRpYzohMH0se3Byb3BlcnR5TmFtZToibXVsdGlwbGVJbnB1dEZvcm0iLGZpcnN0OiEwLHByZWRpY2F0ZTpbImdhdGV3YXlDb25maWd1cmF0aW9uRm9ybSJdLGRlc2NlbmRhbnRzOiEwLHN0YXRpYzohMH1dLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGZvcm0gI2Zvcm1Db250YWluZXIgY2xhc3M9ImdhdGV3YXktZm9ybSJcbiAgICAgIFtmb3JtR3JvdXBdPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwIlxuICAgICAgdGItdG9hc3QgdG9hc3RUYXJnZXQ9Int7IHRvYXN0VGFyZ2V0SWQgfX0iXG4gICAgICAobmdTdWJtaXQpPSJzYXZlKCkiPlxuICA8bWF0LWFjY29yZGlvbiBtdWx0aT0idHJ1ZSIgY2xhc3M9Im1hdC1ib2R5LTIiPlxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLXBhbmVsLXRpdGxlIj57eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmRcJyB8IHRyYW5zbGF0ZSB8IHVwcGVyY2FzZSB9fTwvZGl2PlxuICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDx0Yi1lbnRpdHktZ2F0ZXdheS1zZWxlY3RcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9ImdhdGV3YXkiXG4gICAgICAgICAgW2RldmljZU5hbWVdPSJkZXZpY2VOYW1lRm9ybSJcbiAgICAgICAgICBbaXNTdGF0ZUZvcm1dPSJpc1N0YXRlRm9ybSJcbiAgICAgICAgICBbbmV3R2F0ZXdheVR5cGVdPSJnYXRld2F5VHlwZSJcbiAgICAgICAgICAoZ2F0ZXdheU5hbWVFeGlzdCk9ImdhdGV3YXlFeGlzdCgpIlxuICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgID5cbiAgICAgIDwvdGItZW50aXR5LWdhdGV3YXktc2VsZWN0PlxuICAgICAgPGRpdiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7XCdnYXRld2F5LnNlY3VyaXR5LXR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ic2VjdXJpdHlUeXBlIiA+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBzZWN1cml0eVR5cGUgb2Ygc2VjdXJpdHlUeXBlcyB8IGtleXZhbHVlIiBbdmFsdWVdPSJzZWN1cml0eVR5cGUua2V5Ij5cbiAgICAgICAgICAgICAge3sgc2VjdXJpdHlUeXBlLnZhbHVlLnRvU3RyaW5nKCkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgW2Z4TGF5b3V0XT0iYWxpZ25tZW50IiBbZnhMYXlvdXRHYXBdPSJsYXlvdXRHYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkLWhvc3RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJ0ZXh0IiBmb3JtQ29udHJvbE5hbWU9Imhvc3QiPlxuICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnaG9zdFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBnYXRld2F5LnRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWRcbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0XCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9InBvcnQiPlxuICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWRcbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdtaW5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgIGdhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1taW5cbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdtYXhcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgIGdhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1tYXhcbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtcGF0dGVyblxuICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnc2VjdXJpdHlUeXBlXCcpLnZhbHVlID09IFwndGxzXCciIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnRscy1wYXRoLWNhLWNlcnRpZmljYXRlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0idGV4dCIgZm9ybUNvbnRyb2xOYW1lPSJjYUNlcnRQYXRoIj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS50bHMtcGF0aC1wcml2YXRlLWtleVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InRleHQiIGZvcm1Db250cm9sTmFtZT0icHJpdmF0ZUtleVBhdGgiPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnRscy1wYXRoLWNsaWVudC1jZXJ0aWZpY2F0ZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InRleHQiIGZvcm1Db250cm9sTmFtZT0iY2VydFBhdGgiPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxtYXQtY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPSJyZW1vdGVDb25maWd1cmF0aW9uIj57eyBcJ2dhdGV3YXkucmVtb3RlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1jaGVja2JveD5cblxuICAgICAgPGRpdiBbZnhMYXlvdXRdPSJhbGlnbm1lbnQiIFtmeExheW91dEdhcF09ImxheW91dEdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgPG1hdC1sYWJlbD57e1wnZ2F0ZXdheS5yZW1vdGUtbG9nZ2luZy1sZXZlbFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJyZW1vdGVMb2dnaW5nTGV2ZWwiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbG9nTGV2ZWwgb2YgZ2F0ZXdheUxvZ0xldmVscyIgW3ZhbHVlXT0ibG9nTGV2ZWwiPlxuICAgICAgICAgICAgICB7eyBsb2dMZXZlbCB9fVxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnBhdGgtbG9nc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InRleHQiIGZvcm1Db250cm9sTmFtZT0icmVtb3RlTG9nZ2luZ1BhdGhUb0xvZ3MiPlxuICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwncmVtb3RlTG9nZ2luZ1BhdGhUb0xvZ3NcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgZ2F0ZXdheS5wYXRoLWxvZ3MtcmVxdWlyZWRcbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuXG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuXG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItcGFuZWwtdGl0bGUiPnt7IFwnZ2F0ZXdheS5zdG9yYWdlXCcgfCB0cmFuc2xhdGUgfCB1cHBlcmNhc2UgfX08L2Rpdj5cbiAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuXG4gICAgICA8ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3tcJ2dhdGV3YXkuc3RvcmFnZS10eXBlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InN0b3JhZ2VUeXBlIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHN0b3JhZ2VUeXBlIG9mIHN0b3JhZ2VUeXBlcyB8IGtleXZhbHVlIiBbdmFsdWVdPSJzdG9yYWdlVHlwZS5rZXkiPlxuICAgICAgICAgICAgICB7eyBzdG9yYWdlVHlwZS52YWx1ZS50b1N0cmluZygpIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPGRpdiBbZnhMYXlvdXRdPSJhbGlnbm1lbnQiIFtmeExheW91dEdhcF09ImxheW91dEdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0b3JhZ2UtcGFjay1zaXplXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIGZvcm1Db250cm9sTmFtZT0icmVhZFJlY29yZHNDb3VudCI+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlYWRSZWNvcmRzQ291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwncmVhZFJlY29yZHNDb3VudFwnKS5oYXNFcnJvcihcJ21pblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtcGFjay1zaXplLW1pblxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlYWRSZWNvcmRzQ291bnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgIGdhdGV3YXkuc3RvcmFnZS1wYWNrLXNpemUtcGF0dGVyblxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsID5cbiAgICAgICAgICAgICAge3sgKGdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnc3RvcmFnZVR5cGVcJykudmFsdWUgIT09IFwnZmlsZVwnID8gXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHNcJyA6IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlLXJlY29yZHNcJykgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1heFJlY29yZHNDb3VudCI+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ21heFJlY29yZHNDb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgIGdhdGV3YXkuc3RvcmFnZS1tYXgtcmVjb3Jkcy1yZXF1aXJlZFxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ21heFJlY29yZHNDb3VudFwnKS5oYXNFcnJvcihcJ21pblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtbWluXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnbWF4UmVjb3Jkc0NvdW50XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVyblxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBbZnhMYXlvdXRdPSJhbGlnbm1lbnQiIFtmeExheW91dEdhcF09ImxheW91dEdhcCIgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnc3RvcmFnZVR5cGVcJykudmFsdWUgPT0gXCdmaWxlXCciPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1heEZpbGVzQ291bnQiPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdtYXhGaWxlc0NvdW50XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZFxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ21heEZpbGVzQ291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlcy1taW5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdtYXhGaWxlc0NvdW50XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtbWF4LWZpbGVzLXBhdHRlcm5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkuc3RvcmFnZS1wYXRoXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJ0ZXh0IiBmb3JtQ29udHJvbE5hbWU9ImRhdGFGb2xkZXJQYXRoIj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnZGF0YUZvbGRlclBhdGhcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtcGF0aC1yZXF1aXJlZFxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG5cbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1wYW5lbC10aXRsZSI+e3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtY29uZmlnXCcgfCB0cmFuc2xhdGUgfCB1cHBlcmNhc2UgfX08L2Rpdj5cbiAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuXG4gICAgICA8ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iIGNsYXNzPSJnYXRld2F5LWNvbmZpZyI+XG4gICAgICAgIDxzZWN0aW9uIGZvcm1BcnJheU5hbWU9ImNvbm5lY3RvcnMiICpuZ0Zvcj0ibGV0IGNvbm5lY3RvciBvZiBjb25uZWN0b3JzLmNvbnRyb2xzOyBsZXQgaSA9IGluZGV4OyI+XG4gICAgICAgICAgPGRpdiBbZm9ybUdyb3VwTmFtZV09ImkiIGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gc3RyZXRjaCIgZnhMYXlvdXRHYXA9IjhweCI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBzdGFydCI+XG4gICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZvcm1Db250cm9sTmFtZT0iZW5hYmxlZCI+PC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IFtmeExheW91dF09ImFsaWdubWVudCIgW2Z4TGF5b3V0R2FwXT0ibGF5b3V0R2FwIiBmeEZsZXg+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57e1wnZ2F0ZXdheS5jb25uZWN0b3ItdHlwZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJjb25maWdUeXBlIiAoc2VsZWN0aW9uQ2hhbmdlKT0iY2hhbmdlQ29ubmVjdG9yVHlwZShjb25uZWN0b3IpIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGNvbm5lY3RvclR5cGUgb2YgY29ubmVjdG9yVHlwZXMiIFt2YWx1ZV09ImNvbm5lY3RvclR5cGUiPlxuICAgICAgICAgICAgICAgICAgICB7eyBjb25uZWN0b3JUeXBlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbm5lY3Rvci5nZXQoXCdjb25maWdUeXBlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgICAgIGdhdGV3YXkuY29ubmVjdG9yLXR5cGUtcmVxdWlyZWRcbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LmNvbm5lY3Rvci1uYW1lXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0idGV4dCIgZm9ybUNvbnRyb2xOYW1lPSJuYW1lIiAoYmx1cik9ImNoYW5nZUNvbm5lY3Rvck5hbWUoY29ubmVjdG9yLCBpKSI+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29ubmVjdG9yLmdldChcJ25hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgZ2F0ZXdheS5jb25uZWN0b3ItbmFtZS1yZXF1aXJlZFxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IFtmeExheW91dF09ImFsaWdubWVudCIgW2Z4TGF5b3V0R2FwXT0ibGF5b3V0R2FwIlxuICAgICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJ7e2FsaWdubWVudCA9PSBcJ3Jvd1wnID8gXCdlbmQgY2VudGVyXCcgOiBcJ3NwYWNlLWV2ZW5seSBjZW50ZXJcJ319IiBjbGFzcz0iYWN0aW9uLWJ1dHRvbnMiPlxuICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09ImlzUmVhZE9ubHlGb3JtIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0ib3BlbkNvbmZpZ0RpYWxvZygkZXZlbnQsIGksIGNvbm5lY3Rvci5nZXQoXCdjb25maWdcJykudmFsdWUsIGNvbm5lY3Rvci5nZXQoXCduYW1lXCcpLnZhbHVlKSJcbiAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkudXBkYXRlLWNvbmZpZ1wnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPSJ7XCdtYXQtd2FyblwnOiBjb25uZWN0b3IuZ2V0KFwnY29uZmlnXCcpLmludmFsaWR9Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+bW9yZV9ob3JpejwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09ImlzUmVhZE9ubHlGb3JtIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPSJyZW1vdmVDb25uZWN0b3IoaSkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmRlbGV0ZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPHNwYW4gW2Z4U2hvd109IiFjb25uZWN0b3JzLmxlbmd0aCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciIgY2xhc3M9Im5vLWRhdGEtZm91bmQiPnt7XCdnYXRld2F5Lm5vLWNvbm5lY3RvcnNcJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxidXR0b24gW2Z4U2hvd109IiFpc1JlYWRPbmx5Rm9ybSIgbWF0LXJhaXNlZC1idXR0b24gdHlwZT0iYnV0dG9uIiAoY2xpY2spPSJhZGROZXdDb25uZWN0b3IoKSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5jb25uZWN0b3ItYWRkXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICAgIHt7IFwnYWN0aW9uLmFkZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXYgPlxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgPC9tYXQtYWNjb3JkaW9uPlxuICA8c2VjdGlvbiBbZnhTaG93XT0iIWlzUmVhZE9ubHlGb3JtIlxuICAgICAgICAgICBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJlbmQgY2VudGVyIiBjbGFzcz0iZm9ybS1hY3Rpb24tYnV0dG9ucyI+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSIgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgKGNsaWNrKT0iZXhwb3J0Q29uZmlnKCkiXG4gICAgICAgICAgICAqbmdJZj0iIWdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwncmVtb3RlQ29uZmlndXJhdGlvblwnKS52YWx1ZSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09IiFnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmRpcnR5IHx8IGdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuaW52YWxpZCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7XCdnYXRld2F5LmRvd25sb2FkLXRpcFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIHt7XCdhY3Rpb24uZG93bmxvYWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSIgdHlwZT0ic3VibWl0IlxuICAgICAgICAgICAgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwncmVtb3RlQ29uZmlndXJhdGlvblwnKS52YWx1ZSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09IiFnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmRpcnR5IHx8IGdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuaW52YWxpZCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7XCdnYXRld2F5LnNhdmUtdGlwXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAge3tcJ2FjdGlvbi5zYXZlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9zZWN0aW9uPlxuPC9mb3JtPlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC5nYXRld2F5LWZvcm17aGVpZ2h0OjEwMCU7cGFkZGluZzo1cHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtvdmVyZmxvdy15OmF1dG87b3ZlcmZsb3cteDpoaWRkZW59Omhvc3QgLmdhdGV3YXktZm9ybSAuZm9ybS1hY3Rpb24tYnV0dG9uc3twYWRkaW5nLXRvcDo4cHh9Omhvc3QgLmdhdGV3YXktZm9ybSAuZ2F0ZXdheS1jb25maWcgLm5vLWRhdGEtZm91bmR7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpmbGV4O2hlaWdodDo0MHB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdDbGFzcyxzZWxlY3RvcjoiW25nQ2xhc3NdIixpbnB1dHM6WyJjbGFzcyIsIm5nQ2xhc3MiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Y3QuVG9hc3REaXJlY3RpdmUsc2VsZWN0b3I6Ilt0Yi10b2FzdF0iLGlucHV0czpbInRvYXN0VGFyZ2V0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QnV0dG9uLHNlbGVjdG9yOiIgICAgYnV0dG9uW21hdC1idXR0b25dLCBidXR0b25bbWF0LXJhaXNlZC1idXR0b25dLCBidXR0b25bbWF0LWZsYXQtYnV0dG9uXSwgICAgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0gICIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpwdC5NYXRDaGVja2JveCxzZWxlY3RvcjoibWF0LWNoZWNrYm94IixpbnB1dHM6WyJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsImlkIiwicmVxdWlyZWQiLCJsYWJlbFBvc2l0aW9uIiwibmFtZSIsInZhbHVlIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY29sb3IiLCJkaXNhYmxlZEludGVyYWN0aXZlIiwiY2hlY2tlZCIsImRpc2FibGVkIiwiaW5kZXRlcm1pbmF0ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJpbmRldGVybWluYXRlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRDaGVja2JveCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdEVycm9yLHNlbGVjdG9yOiJtYXQtZXJyb3IsIFttYXRFcnJvcl0iLGlucHV0czpbImlkIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpDZS5NYXRPcHRpb24sc2VsZWN0b3I6Im1hdC1vcHRpb24iLGlucHV0czpbInZhbHVlIiwiaWQiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJvblNlbGVjdGlvbkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0T3B0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6emUuTWF0VG9vbHRpcCxzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixpbnB1dHM6WyJtYXRUb29sdGlwUG9zaXRpb24iLCJtYXRUb29sdGlwUG9zaXRpb25BdE9yaWdpbiIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBTaG93RGVsYXkiLCJtYXRUb29sdGlwSGlkZURlbGF5IiwibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcENsYXNzIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6ZXQuTWF0U2xpZGVUb2dnbGUsc2VsZWN0b3I6Im1hdC1zbGlkZS10b2dnbGUiLGlucHV0czpbIm5hbWUiLCJpZCIsImxhYmVsUG9zaXRpb24iLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsInJlcXVpcmVkIiwiY29sb3IiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImNoZWNrZWQiLCJoaWRlSWNvbiIsImRpc2FibGVkSW50ZXJhY3RpdmUiXSxvdXRwdXRzOlsiY2hhbmdlIiwidG9nZ2xlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEFjY29yZGlvbixzZWxlY3RvcjoibWF0LWFjY29yZGlvbiIsaW5wdXRzOlsiaGlkZVRvZ2dsZSIsImRpc3BsYXlNb2RlIiwidG9nZ2xlUG9zaXRpb24iXSxleHBvcnRBczpbIm1hdEFjY29yZGlvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsIixpbnB1dHM6WyJoaWRlVG9nZ2xlIiwidG9nZ2xlUG9zaXRpb24iXSxvdXRwdXRzOlsiYWZ0ZXJFeHBhbmQiLCJhZnRlckNvbGxhcHNlIl0sZXhwb3J0QXM6WyJtYXRFeHBhbnNpb25QYW5lbCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsSGVhZGVyLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciIsaW5wdXRzOlsiZXhwYW5kZWRIZWlnaHQiLCJjb2xsYXBzZWRIZWlnaHQiLCJ0YWJJbmRleCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsVGl0bGUsc2VsZWN0b3I6Im1hdC1wYW5lbC10aXRsZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRHYXBEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0R2FwXSwgW2Z4TGF5b3V0R2FwLnhzXSwgW2Z4TGF5b3V0R2FwLnNtXSwgW2Z4TGF5b3V0R2FwLm1kXSwgIFtmeExheW91dEdhcC5sZ10sIFtmeExheW91dEdhcC54bF0sIFtmeExheW91dEdhcC5sdC1zbV0sIFtmeExheW91dEdhcC5sdC1tZF0sICBbZnhMYXlvdXRHYXAubHQtbGddLCBbZnhMYXlvdXRHYXAubHQteGxdLCBbZnhMYXlvdXRHYXAuZ3QteHNdLCBbZnhMYXlvdXRHYXAuZ3Qtc21dLCAgW2Z4TGF5b3V0R2FwLmd0LW1kXSwgW2Z4TGF5b3V0R2FwLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRHYXAiLCJmeExheW91dEdhcC54cyIsImZ4TGF5b3V0R2FwLnNtIiwiZnhMYXlvdXRHYXAubWQiLCJmeExheW91dEdhcC5sZyIsImZ4TGF5b3V0R2FwLnhsIiwiZnhMYXlvdXRHYXAubHQtc20iLCJmeExheW91dEdhcC5sdC1tZCIsImZ4TGF5b3V0R2FwLmx0LWxnIiwiZnhMYXlvdXRHYXAubHQteGwiLCJmeExheW91dEdhcC5ndC14cyIsImZ4TGF5b3V0R2FwLmd0LXNtIiwiZnhMYXlvdXRHYXAuZ3QtbWQiLCJmeExheW91dEdhcC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRTaG93SGlkZURpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhTaG93XSwgW2Z4U2hvdy5wcmludF0sICBbZnhTaG93LnhzXSwgW2Z4U2hvdy5zbV0sIFtmeFNob3cubWRdLCBbZnhTaG93LmxnXSwgW2Z4U2hvdy54bF0sICBbZnhTaG93Lmx0LXNtXSwgW2Z4U2hvdy5sdC1tZF0sIFtmeFNob3cubHQtbGddLCBbZnhTaG93Lmx0LXhsXSwgIFtmeFNob3cuZ3QteHNdLCBbZnhTaG93Lmd0LXNtXSwgW2Z4U2hvdy5ndC1tZF0sIFtmeFNob3cuZ3QtbGddLCAgW2Z4SGlkZV0sIFtmeEhpZGUucHJpbnRdLCAgW2Z4SGlkZS54c10sIFtmeEhpZGUuc21dLCBbZnhIaWRlLm1kXSwgW2Z4SGlkZS5sZ10sIFtmeEhpZGUueGxdLCAgW2Z4SGlkZS5sdC1zbV0sIFtmeEhpZGUubHQtbWRdLCBbZnhIaWRlLmx0LWxnXSwgW2Z4SGlkZS5sdC14bF0sICBbZnhIaWRlLmd0LXhzXSwgW2Z4SGlkZS5ndC1zbV0sIFtmeEhpZGUuZ3QtbWRdLCBbZnhIaWRlLmd0LWxnXSIsaW5wdXRzOlsiZnhTaG93IiwiZnhTaG93LnByaW50IiwiZnhTaG93LnhzIiwiZnhTaG93LnNtIiwiZnhTaG93Lm1kIiwiZnhTaG93LmxnIiwiZnhTaG93LnhsIiwiZnhTaG93Lmx0LXNtIiwiZnhTaG93Lmx0LW1kIiwiZnhTaG93Lmx0LWxnIiwiZnhTaG93Lmx0LXhsIiwiZnhTaG93Lmd0LXhzIiwiZnhTaG93Lmd0LXNtIiwiZnhTaG93Lmd0LW1kIiwiZnhTaG93Lmd0LWxnIiwiZnhIaWRlIiwiZnhIaWRlLnByaW50IiwiZnhIaWRlLnhzIiwiZnhIaWRlLnNtIiwiZnhIaWRlLm1kIiwiZnhIaWRlLmxnIiwiZnhIaWRlLnhsIiwiZnhIaWRlLmx0LXNtIiwiZnhIaWRlLmx0LW1kIiwiZnhIaWRlLmx0LWxnIiwiZnhIaWRlLmx0LXhsIiwiZnhIaWRlLmd0LXhzIiwiZnhIaWRlLmd0LXNtIiwiZnhIaWRlLmd0LW1kIiwiZnhIaWRlLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Sy5EZWZhdWx0Q2xhc3NEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW25nQ2xhc3NdLCBbbmdDbGFzcy54c10sIFtuZ0NsYXNzLnNtXSwgW25nQ2xhc3MubWRdLCBbbmdDbGFzcy5sZ10sIFtuZ0NsYXNzLnhsXSwgIFtuZ0NsYXNzLmx0LXNtXSwgW25nQ2xhc3MubHQtbWRdLCBbbmdDbGFzcy5sdC1sZ10sIFtuZ0NsYXNzLmx0LXhsXSwgIFtuZ0NsYXNzLmd0LXhzXSwgW25nQ2xhc3MuZ3Qtc21dLCBbbmdDbGFzcy5ndC1tZF0sIFtuZ0NsYXNzLmd0LWxnXSIsaW5wdXRzOlsibmdDbGFzcyIsIm5nQ2xhc3MueHMiLCJuZ0NsYXNzLnNtIiwibmdDbGFzcy5tZCIsIm5nQ2xhc3MubGciLCJuZ0NsYXNzLnhsIiwibmdDbGFzcy5sdC1zbSIsIm5nQ2xhc3MubHQtbWQiLCJuZ0NsYXNzLmx0LWxnIiwibmdDbGFzcy5sdC14bCIsIm5nQ2xhc3MuZ3QteHMiLCJuZ0NsYXNzLmd0LXNtIiwibmdDbGFzcy5ndC1tZCIsIm5nQ2xhc3MuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS7JtU5nTm9WYWxpZGF0ZSxzZWxlY3RvcjoiZm9ybTpub3QoW25nTm9Gb3JtXSk6bm90KFtuZ05hdGl2ZVZhbGlkYXRlXSkifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBOYW1lLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0iLGlucHV0czpbImZvcm1Hcm91cE5hbWUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQXJyYXlOYW1lLHNlbGVjdG9yOiJbZm9ybUFycmF5TmFtZV0iLGlucHV0czpbImZvcm1BcnJheU5hbWUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTptdC5FbnRpdHlHYXRld2F5U2VsZWN0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi1lbnRpdHktZ2F0ZXdheS1zZWxlY3QiLGlucHV0czpbInJlcXVpcmVkIiwibmV3R2F0ZXdheVR5cGUiLCJkZXZpY2VOYW1lIiwiaXNTdGF0ZUZvcm0iXSxvdXRwdXRzOlsiZ2F0ZXdheU5hbWVFeGlzdCJdfSx7a2luZDoicGlwZSIsdHlwZTpfLlVwcGVyQ2FzZVBpcGUsbmFtZToidXBwZXJjYXNlIn0se2tpbmQ6InBpcGUiLHR5cGU6Xy5LZXlWYWx1ZVBpcGUsbmFtZToia2V5dmFsdWUifSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn1dfSl9fWUoIkdhdGV3YXlGb3JtQ29tcG9uZW50IixlbyksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTplbyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItZ2F0ZXdheS1mb3JtIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2Vcbjxmb3JtICNmb3JtQ29udGFpbmVyIGNsYXNzPSJnYXRld2F5LWZvcm0iXG4gICAgICBbZm9ybUdyb3VwXT0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cCJcbiAgICAgIHRiLXRvYXN0IHRvYXN0VGFyZ2V0PSJ7eyB0b2FzdFRhcmdldElkIH19IlxuICAgICAgKG5nU3VibWl0KT0ic2F2ZSgpIj5cbiAgPG1hdC1hY2NvcmRpb24gbXVsdGk9InRydWUiIGNsYXNzPSJtYXQtYm9keS0yIj5cbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1wYW5lbC10aXRsZSI+e3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkXCcgfCB0cmFuc2xhdGUgfCB1cHBlcmNhc2UgfX08L2Rpdj5cbiAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICA8dGItZW50aXR5LWdhdGV3YXktc2VsZWN0XG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJnYXRld2F5IlxuICAgICAgICAgIFtkZXZpY2VOYW1lXT0iZGV2aWNlTmFtZUZvcm0iXG4gICAgICAgICAgW2lzU3RhdGVGb3JtXT0iaXNTdGF0ZUZvcm0iXG4gICAgICAgICAgW25ld0dhdGV3YXlUeXBlXT0iZ2F0ZXdheVR5cGUiXG4gICAgICAgICAgKGdhdGV3YXlOYW1lRXhpc3QpPSJnYXRld2F5RXhpc3QoKSJcbiAgICAgICAgICByZXF1aXJlZFxuICAgICAgICA+XG4gICAgICA8L3RiLWVudGl0eS1nYXRld2F5LXNlbGVjdD5cbiAgICAgIDxkaXYgZnhMYXlvdXQ9ImNvbHVtbiI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgPG1hdC1sYWJlbD57e1wnZ2F0ZXdheS5zZWN1cml0eS10eXBlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5VHlwZSIgPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgc2VjdXJpdHlUeXBlIG9mIHNlY3VyaXR5VHlwZXMgfCBrZXl2YWx1ZSIgW3ZhbHVlXT0ic2VjdXJpdHlUeXBlLmtleSI+XG4gICAgICAgICAgICAgIHt7IHNlY3VyaXR5VHlwZS52YWx1ZS50b1N0cmluZygpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IFtmeExheW91dF09ImFsaWdubWVudCIgW2Z4TGF5b3V0R2FwXT0ibGF5b3V0R2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1ob3N0XCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0idGV4dCIgZm9ybUNvbnRyb2xOYW1lPSJob3N0Ij5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgZ2F0ZXdheS50aGluZ3Nib2FyZC1ob3N0LXJlcXVpcmVkXG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0Ij5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkXG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtbWluXG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtbWF4XG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LXBhdHRlcm5cbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2ICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3NlY3VyaXR5VHlwZVwnKS52YWx1ZSA9PSBcJ3Rsc1wnIiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS50bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InRleHQiIGZvcm1Db250cm9sTmFtZT0iY2FDZXJ0UGF0aCI+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkudGxzLXBhdGgtcHJpdmF0ZS1rZXlcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJ0ZXh0IiBmb3JtQ29udHJvbE5hbWU9InByaXZhdGVLZXlQYXRoIj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS50bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJ0ZXh0IiBmb3JtQ29udHJvbE5hbWU9ImNlcnRQYXRoIj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8bWF0LWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT0icmVtb3RlQ29uZmlndXJhdGlvbiI+e3sgXCdnYXRld2F5LnJlbW90ZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtY2hlY2tib3g+XG5cbiAgICAgIDxkaXYgW2Z4TGF5b3V0XT0iYWxpZ25tZW50IiBbZnhMYXlvdXRHYXBdPSJsYXlvdXRHYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3tcJ2dhdGV3YXkucmVtb3RlLWxvZ2dpbmctbGV2ZWxcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icmVtb3RlTG9nZ2luZ0xldmVsIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGxvZ0xldmVsIG9mIGdhdGV3YXlMb2dMZXZlbHMiIFt2YWx1ZV09ImxvZ0xldmVsIj5cbiAgICAgICAgICAgICAge3sgbG9nTGV2ZWwgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5wYXRoLWxvZ3NcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJ0ZXh0IiBmb3JtQ29udHJvbE5hbWU9InJlbW90ZUxvZ2dpbmdQYXRoVG9Mb2dzIj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlbW90ZUxvZ2dpbmdQYXRoVG9Mb2dzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgIGdhdGV3YXkucGF0aC1sb2dzLXJlcXVpcmVkXG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cblxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cblxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLXBhbmVsLXRpdGxlIj57eyBcJ2dhdGV3YXkuc3RvcmFnZVwnIHwgdHJhbnNsYXRlIHwgdXBwZXJjYXNlIH19PC9kaXY+XG4gICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cblxuICAgICAgPGRpdiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7XCdnYXRld2F5LnN0b3JhZ2UtdHlwZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJzdG9yYWdlVHlwZSI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBzdG9yYWdlVHlwZSBvZiBzdG9yYWdlVHlwZXMgfCBrZXl2YWx1ZSIgW3ZhbHVlXT0ic3RvcmFnZVR5cGUua2V5Ij5cbiAgICAgICAgICAgICAge3sgc3RvcmFnZVR5cGUudmFsdWUudG9TdHJpbmcoKSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgIDxkaXYgW2Z4TGF5b3V0XT0iYWxpZ25tZW50IiBbZnhMYXlvdXRHYXBdPSJsYXlvdXRHYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5zdG9yYWdlLXBhY2stc2l6ZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9InJlYWRSZWNvcmRzQ291bnQiPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdyZWFkUmVjb3Jkc0NvdW50XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLXBhY2stc2l6ZS1yZXF1aXJlZFxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlYWRSZWNvcmRzQ291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLXBhY2stc2l6ZS1taW5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdyZWFkUmVjb3Jkc0NvdW50XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtcGFjay1zaXplLXBhdHRlcm5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbCA+XG4gICAgICAgICAgICAgIHt7IChnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3N0b3JhZ2VUeXBlXCcpLnZhbHVlICE9PSBcJ2ZpbGVcJyA/IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzXCcgOiBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzXCcpIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgZm9ybUNvbnRyb2xOYW1lPSJtYXhSZWNvcmRzQ291bnQiPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdtYXhSZWNvcmRzQ291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWRcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdtYXhSZWNvcmRzQ291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLW1pblxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ21heFJlY29yZHNDb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLXBhdHRlcm5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgW2Z4TGF5b3V0XT0iYWxpZ25tZW50IiBbZnhMYXlvdXRHYXBdPSJsYXlvdXRHYXAiICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3N0b3JhZ2VUeXBlXCcpLnZhbHVlID09IFwnZmlsZVwnIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXNcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgZm9ybUNvbnRyb2xOYW1lPSJtYXhGaWxlc0NvdW50Ij5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnbWF4RmlsZXNDb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgIGdhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWRcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdtYXhGaWxlc0NvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgIGdhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXMtbWluXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnbWF4RmlsZXNDb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0b3JhZ2UtcGF0aFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0idGV4dCIgZm9ybUNvbnRyb2xOYW1lPSJkYXRhRm9sZGVyUGF0aCI+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ2RhdGFGb2xkZXJQYXRoXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLXBhdGgtcmVxdWlyZWRcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuXG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItcGFuZWwtdGl0bGUiPnt7IFwnZ2F0ZXdheS5jb25uZWN0b3JzLWNvbmZpZ1wnIHwgdHJhbnNsYXRlIHwgdXBwZXJjYXNlIH19PC9kaXY+XG4gICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cblxuICAgICAgPGRpdiBmeExheW91dD0iY29sdW1uIiBjbGFzcz0iZ2F0ZXdheS1jb25maWciPlxuICAgICAgICA8c2VjdGlvbiBmb3JtQXJyYXlOYW1lPSJjb25uZWN0b3JzIiAqbmdGb3I9ImxldCBjb25uZWN0b3Igb2YgY29ubmVjdG9ycy5jb250cm9sczsgbGV0IGkgPSBpbmRleDsiPlxuICAgICAgICAgIDxkaXYgW2Zvcm1Hcm91cE5hbWVdPSJpIiBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIHN0cmV0Y2giIGZ4TGF5b3V0R2FwPSI4cHgiPlxuICAgICAgICAgICAgPGRpdiBmeExheW91dD0iY29sdW1uIiBmeExheW91dEFsaWduPSJjZW50ZXIgc3RhcnQiPlxuICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmb3JtQ29udHJvbE5hbWU9ImVuYWJsZWQiPjwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBbZnhMYXlvdXRdPSJhbGlnbm1lbnQiIFtmeExheW91dEdhcF09ImxheW91dEdhcCIgZnhGbGV4PlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3tcJ2dhdGV3YXkuY29ubmVjdG9yLXR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iY29uZmlnVHlwZSIgKHNlbGVjdGlvbkNoYW5nZSk9ImNoYW5nZUNvbm5lY3RvclR5cGUoY29ubmVjdG9yKSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBjb25uZWN0b3JUeXBlIG9mIGNvbm5lY3RvclR5cGVzIiBbdmFsdWVdPSJjb25uZWN0b3JUeXBlIj5cbiAgICAgICAgICAgICAgICAgICAge3sgY29ubmVjdG9yVHlwZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb25uZWN0b3IuZ2V0KFwnY29uZmlnVHlwZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICBnYXRld2F5LmNvbm5lY3Rvci10eXBlLXJlcXVpcmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5jb25uZWN0b3ItbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InRleHQiIGZvcm1Db250cm9sTmFtZT0ibmFtZSIgKGJsdXIpPSJjaGFuZ2VDb25uZWN0b3JOYW1lKGNvbm5lY3RvciwgaSkiPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbm5lY3Rvci5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgICAgIGdhdGV3YXkuY29ubmVjdG9yLW5hbWUtcmVxdWlyZWRcbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBbZnhMYXlvdXRdPSJhbGlnbm1lbnQiIFtmeExheW91dEdhcF09ImxheW91dEdhcCJcbiAgICAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj0ie3thbGlnbm1lbnQgPT0gXCdyb3dcJyA/IFwnZW5kIGNlbnRlclwnIDogXCdzcGFjZS1ldmVubHkgY2VudGVyXCd9fSIgY2xhc3M9ImFjdGlvbi1idXR0b25zIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPSJpc1JlYWRPbmx5Rm9ybSIgbWF0LWljb24tYnV0dG9uIChjbGljayk9Im9wZW5Db25maWdEaWFsb2coJGV2ZW50LCBpLCBjb25uZWN0b3IuZ2V0KFwnY29uZmlnXCcpLnZhbHVlLCBjb25uZWN0b3IuZ2V0KFwnbmFtZVwnKS52YWx1ZSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LnVwZGF0ZS1jb25maWdcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT0ie1wnbWF0LXdhcm5cJzogY29ubmVjdG9yLmdldChcJ2NvbmZpZ1wnKS5pbnZhbGlkfSI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPm1vcmVfaG9yaXo8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPSJpc1JlYWRPbmx5Rm9ybSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0icmVtb3ZlQ29ubmVjdG9yKGkpIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5kZWxldGVcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDxzcGFuIFtmeFNob3ddPSIhY29ubmVjdG9ycy5sZW5ndGgiIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiIGNsYXNzPSJuby1kYXRhLWZvdW5kIj57e1wnZ2F0ZXdheS5uby1jb25uZWN0b3JzXCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8YnV0dG9uIFtmeFNob3ddPSIhaXNSZWFkT25seUZvcm0iIG1hdC1yYWlzZWQtYnV0dG9uIHR5cGU9ImJ1dHRvbiIgKGNsaWNrKT0iYWRkTmV3Q29ubmVjdG9yKCkiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuY29ubmVjdG9yLWFkZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgICB7eyBcJ2FjdGlvbi5hZGRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2ID5cbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gIDwvbWF0LWFjY29yZGlvbj5cbiAgPHNlY3Rpb24gW2Z4U2hvd109IiFpc1JlYWRPbmx5Rm9ybSJcbiAgICAgICAgICAgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciIgY2xhc3M9ImZvcm0tYWN0aW9uLWJ1dHRvbnMiPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9InByaW1hcnkiIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIChjbGljayk9ImV4cG9ydENvbmZpZygpIlxuICAgICAgICAgICAgKm5nSWY9IiFnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlbW90ZUNvbmZpZ3VyYXRpb25cJykudmFsdWUiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSIhZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5kaXJ0eSB8fCBnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmludmFsaWQiXG4gICAgICAgICAgICBtYXRUb29sdGlwPSJ7e1wnZ2F0ZXdheS5kb3dubG9hZC10aXBcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICB7e1wnYWN0aW9uLmRvd25sb2FkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cblxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9InByaW1hcnkiIHR5cGU9InN1Ym1pdCJcbiAgICAgICAgICAgICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlbW90ZUNvbmZpZ3VyYXRpb25cJykudmFsdWUiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSIhZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5kaXJ0eSB8fCBnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmludmFsaWQiXG4gICAgICAgICAgICBtYXRUb29sdGlwPSJ7e1wnZ2F0ZXdheS5zYXZlLXRpcFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIHt7XCdhY3Rpb24uc2F2ZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvc2VjdGlvbj5cbjwvZm9ybT5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCAuZ2F0ZXdheS1mb3Jte2hlaWdodDoxMDAlO3BhZGRpbmc6NXB4O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7b3ZlcmZsb3cteTphdXRvO292ZXJmbG93LXg6aGlkZGVufTpob3N0IC5nYXRld2F5LWZvcm0gLmZvcm0tYWN0aW9uLWJ1dHRvbnN7cGFkZGluZy10b3A6OHB4fTpob3N0IC5nYXRld2F5LWZvcm0gLmdhdGV3YXktY29uZmlnIC5uby1kYXRhLWZvdW5ke3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6NDBweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm90LlN0b3JlfSx7dHlwZTp0LkVsZW1lbnRSZWZ9LHt0eXBlOlguVXRpbHNTZXJ2aWNlfSx7dHlwZTp0Lk5nWm9uZX0se3R5cGU6bWUuVW50eXBlZEZvcm1CdWlsZGVyfSx7dHlwZTpXaW5kb3csZGVjb3JhdG9yczpbe3R5cGU6cCxhcmdzOlthZV19XX0se3R5cGU6SmUuTWF0RGlhbG9nfSx7dHlwZTpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0eXBlOlguRGV2aWNlU2VydmljZX0se3R5cGU6WC5BdHRyaWJ1dGVTZXJ2aWNlfSx7dHlwZTpsdC5JbXBvcnRFeHBvcnRTZXJ2aWNlfV0scHJvcERlY29yYXRvcnM6e2Zvcm1Db250YWluZXJSZWY6W3t0eXBlOm8sYXJnczpbImZvcm1Db250YWluZXIiLHtzdGF0aWM6ITB9XX1dLG11bHRpcGxlSW5wdXRGb3JtOlt7dHlwZTpvLGFyZ3M6WyJnYXRld2F5Q29uZmlndXJhdGlvbkZvcm0iLHtzdGF0aWM6ITB9XX1dLGN0eDpbe3R5cGU6YX1dLGlzU3RhdGVGb3JtOlt7dHlwZTphfV19fSk7Y2xhc3MgdG8gZXh0ZW5kcyBQe2NvbnN0cnVjdG9yKGUsdCxuLGEsbyxpLHIpe3N1cGVyKGUsdCxhKSx0aGlzLnN0b3JlPWUsdGhpcy5yb3V0ZXI9dCx0aGlzLmRhdGE9bix0aGlzLmRpYWxvZ1JlZj1hLHRoaXMuZmI9byx0aGlzLmlzTGF0ZXN0VmVyc2lvbkNvbmZpZz1pLHRoaXMucmVzb3VyY2VzU2VydmljZT1yLHRoaXMuY29ubmVjdG9yVHlwZT1fdCx0aGlzLmdhdGV3YXlDb25uZWN0b3JEZWZhdWx0VHlwZXNUcmFuc2xhdGVzTWFwPUh0LHRoaXMuZ2F0ZXdheUxvZ0xldmVsPU9iamVjdC52YWx1ZXMoTXQpLHRoaXMuc3VibWl0dGVkPSExLHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMuY29ubmVjdG9yRm9ybT10aGlzLmZiLmdyb3VwKHt0eXBlOltfdC5NUVRULFtdXSxuYW1lOlsiIixbdWUucmVxdWlyZWQsdGhpcy51bmlxTmFtZVJlcXVpcmVkKCksdWUucGF0dGVybihrdCldXSxsb2dMZXZlbDpbTXQuSU5GTyxbXV0sdXNlRGVmYXVsdHM6WyEwLFtdXSxzZW5kRGF0YU9ubHlPbkNoYW5nZTpbITEsW11dLGNsYXNzOlsiIixbXV0sa2V5OlsiYXV0byIsW11dfSl9bmdPbkluaXQoKXt0aGlzLm9ic2VydmVUeXBlQ2hhbmdlKCl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCksc3VwZXIubmdPbkRlc3Ryb3koKX1oZWxwTGlua0lkKCl7cmV0dXJuIHYrIi9kb2NzL2lvdC1nYXRld2F5L2NvbmZpZ3VyYXRpb24vIn1jYW5jZWwoKXt0aGlzLmRpYWxvZ1JlZi5jbG9zZShudWxsKX1hZGQoKXt0aGlzLnN1Ym1pdHRlZD0hMDtjb25zdCBlPXRoaXMuY29ubmVjdG9yRm9ybS5nZXRSYXdWYWx1ZSgpO2UudXNlRGVmYXVsdHM/dGhpcy5nZXREZWZhdWx0Q29uZmlnKGUudHlwZSkuc3Vic2NyaWJlKCh0PT57Y29uc3Qgbj10aGlzLmRhdGEuZ2F0ZXdheVZlcnNpb247biYmKGUuY29uZmlnVmVyc2lvbj1uKSxlLmNvbmZpZ3VyYXRpb25Kc29uPSh0aGlzLmlzTGF0ZXN0VmVyc2lvbkNvbmZpZy50cmFuc2Zvcm0obik/dFtVdC5DdXJyZW50XTp0W1V0LkxlZ2FjeV0pPz90LHRoaXMuY29ubmVjdG9yRm9ybS52YWxpZCYmdGhpcy5kaWFsb2dSZWYuY2xvc2UoZSl9KSk6dGhpcy5jb25uZWN0b3JGb3JtLnZhbGlkJiZ0aGlzLmRpYWxvZ1JlZi5jbG9zZShlKX11bmlxTmFtZVJlcXVpcmVkKCl7cmV0dXJuIGU9Pntjb25zdCB0PWUudmFsdWUudHJpbSgpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIHRoaXMuZGF0YS5kYXRhU291cmNlRGF0YS5zb21lKCgoe3ZhbHVlOntuYW1lOmV9fSk9PmUudG9Mb3dlckNhc2UoKT09PXQpKT97ZHVwbGljYXRlTmFtZTp7dmFsaWQ6ITF9fTpudWxsfX1vYnNlcnZlVHlwZUNoYW5nZSgpe3RoaXMuY29ubmVjdG9yRm9ybS5nZXQoInR5cGUiKS52YWx1ZUNoYW5nZXMucGlwZShFZSgoZT0+e2NvbnN0IHQ9dGhpcy5jb25uZWN0b3JGb3JtLmdldCgidXNlRGVmYXVsdHMiKTtlPT09X3QuR1JQQ3x8ZT09PV90LkNVU1RPTT90LnNldFZhbHVlKCExKTp0LnZhbHVlfHx0LnNldFZhbHVlKCEwKX0pKSxOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCl9Z2V0RGVmYXVsdENvbmZpZyhlKXtyZXR1cm4gdGhpcy5yZXNvdXJjZXNTZXJ2aWNlLmxvYWRKc29uUmVzb3VyY2UoYC9hc3NldHMvbWV0YWRhdGEvY29ubmVjdG9yLWRlZmF1bHQtY29uZmlncy8ke2V9Lmpzb25gKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnRvLGRlcHM6W3t0b2tlbjpvdC5TdG9yZX0se3Rva2VuOml0LlJvdXRlcn0se3Rva2VuOlhlfSx7dG9rZW46SmUuTWF0RGlhbG9nUmVmfSx7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjp2YX0se3Rva2VuOlguUmVzb3VyY2VzU2VydmljZX1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6dG8sc2VsZWN0b3I6InRiLWFkZC1jb25uZWN0b3ItZGlhbG9nIixwcm92aWRlcnM6W10sdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IFtmb3JtR3JvdXBdPSJjb25uZWN0b3JGb3JtIiBjbGFzcz0iYWRkLWNvbm5lY3RvciI+XG4gIDxtYXQtdG9vbGJhciBjb2xvcj0icHJpbWFyeSI+XG4gICAgPGgyPnt7ICJnYXRld2F5LmFkZC1jb25uZWN0b3IiIHwgdHJhbnNsYXRlfX08L2gyPlxuICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgPGRpdiBbdGItaGVscF09ImhlbHBMaW5rSWQoKSI+PC9kaXY+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9ImNhbmNlbCgpIlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIj5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPmNsb3NlPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9tYXQtdG9vbGJhcj5cbiAgPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyIgZnhMYXlvdXQ9ImNvbHVtbiI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnR5cGU8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGdhdGV3YXlDb25uZWN0b3JEZWZhdWx0VHlwZXNUcmFuc2xhdGVzTWFwIHwga2V5dmFsdWUiIFt2YWx1ZV09InR5cGUua2V5Ij5cbiAgICAgICAgICAgICAgICB7eyB0eXBlLnZhbHVlIH19XG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5uYW1lPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGF1dG9jb21wbGV0ZT0ib2ZmIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJuYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwnZHVwbGljYXRlTmFtZVwnKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcJ2dhdGV3YXkuY29ubmVjdG9yLWR1cGxpY2F0ZS1uYW1lXCcgOlwnZ2F0ZXdheS5uYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSIoY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYgY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLnRvdWNoZWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwnZHVwbGljYXRlTmFtZVwnKSJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IGNvbm5lY3RvclR5cGUuQ1VTVE9NIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWNsYXNzPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImNsYXNzIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gY29ubmVjdG9yVHlwZS5HUlBDIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWtleTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJrZXkiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5yZW1vdGUtbG9nZ2luZy1sZXZlbDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibG9nTGV2ZWwiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBsb2dMZXZlbCBvZiBnYXRld2F5TG9nTGV2ZWwiIFt2YWx1ZV09ImxvZ0xldmVsIj57eyBsb2dMZXZlbCB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlICE9PSBjb25uZWN0b3JUeXBlLkdSUEMgJiYgY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlICE9PSBjb25uZWN0b3JUeXBlLkNVU1RPTSJcbiAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIGZpeGVkLXRpdGxlLXdpZHRoIiBmb3JtQ29udHJvbE5hbWU9InVzZURlZmF1bHRzIj5cbiAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuZmlsbC1jb25uZWN0b3ItZGVmYXVsdHMtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5maWxsLWNvbm5lY3Rvci1kZWZhdWx0c1wnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlID09PSBjb25uZWN0b3JUeXBlLk1RVFQiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBmaXhlZC10aXRsZS13aWR0aCIgZm9ybUNvbnRyb2xOYW1lPSJzZW5kRGF0YU9ubHlPbkNoYW5nZSI+XG4gICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LnNlbmQtY2hhbmdlLWRhdGEtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWNoYW5nZS1kYXRhXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucyBmeExheW91dEFsaWduPSJlbmQgY2VudGVyIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICBjZGtGb2N1c0luaXRpYWxcbiAgICAgICAgICAgIChjbGljayk9ImNhbmNlbCgpIj5cbiAgICAgIHt7IFwnYWN0aW9uLmNhbmNlbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIChjbGljayk9ImFkZCgpIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0iY29ubmVjdG9yRm9ybS5pbnZhbGlkIHx8ICFjb25uZWN0b3JGb3JtLmRpcnR5Ij5cbiAgICAgIHt7IFwnYWN0aW9uLmFkZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLmFkZC1jb25uZWN0b3J7bWluLXdpZHRoOjQwMHB4O3dpZHRoOjUwMHB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpkdC5IZWxwQ29tcG9uZW50LHNlbGVjdG9yOiJbdGItaGVscF0iLGlucHV0czpbInRiLWhlbHAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdFN1ZmZpeCxzZWxlY3RvcjoiW21hdFN1ZmZpeF0sIFttYXRJY29uU3VmZml4XSwgW21hdFRleHRTdWZmaXhdIixpbnB1dHM6WyJtYXRUZXh0U3VmZml4Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6cnQuTWF0VG9vbGJhcixzZWxlY3RvcjoibWF0LXRvb2xiYXIiLGlucHV0czpbImNvbG9yIl0sZXhwb3J0QXM6WyJtYXRUb29sYmFyIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQWN0aW9ucyxzZWxlY3RvcjoiW21hdC1kaWFsb2ctYWN0aW9uc10sIG1hdC1kaWFsb2ctYWN0aW9ucywgW21hdERpYWxvZ0FjdGlvbnNdIixpbnB1dHM6WyJhbGlnbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOkplLk1hdERpYWxvZ0NvbnRlbnQsc2VsZWN0b3I6IlttYXQtZGlhbG9nLWNvbnRlbnRdLCBtYXQtZGlhbG9nLWNvbnRlbnQsIFttYXREaWFsb2dDb250ZW50XSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpDZS5NYXRPcHRpb24sc2VsZWN0b3I6Im1hdC1vcHRpb24iLGlucHV0czpbInZhbHVlIiwiaWQiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJvblNlbGVjdGlvbkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0T3B0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6emUuTWF0VG9vbHRpcCxzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixpbnB1dHM6WyJtYXRUb29sdGlwUG9zaXRpb24iLCJtYXRUb29sdGlwUG9zaXRpb25BdE9yaWdpbiIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBTaG93RGVsYXkiLCJtYXRUb29sdGlwSGlkZURlbGF5IiwibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcENsYXNzIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6ZXQuTWF0U2xpZGVUb2dnbGUsc2VsZWN0b3I6Im1hdC1zbGlkZS10b2dnbGUiLGlucHV0czpbIm5hbWUiLCJpZCIsImxhYmVsUG9zaXRpb24iLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsInJlcXVpcmVkIiwiY29sb3IiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImNoZWNrZWQiLCJoaWRlSWNvbiIsImRpc2FibGVkSW50ZXJhY3RpdmUiXSxvdXRwdXRzOlsiY2hhbmdlIiwidG9nZ2xlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRdLCBbZnhMYXlvdXQueHNdLCBbZnhMYXlvdXQuc21dLCBbZnhMYXlvdXQubWRdLCAgW2Z4TGF5b3V0LmxnXSwgW2Z4TGF5b3V0LnhsXSwgW2Z4TGF5b3V0Lmx0LXNtXSwgW2Z4TGF5b3V0Lmx0LW1kXSwgIFtmeExheW91dC5sdC1sZ10sIFtmeExheW91dC5sdC14bF0sIFtmeExheW91dC5ndC14c10sIFtmeExheW91dC5ndC1zbV0sICBbZnhMYXlvdXQuZ3QtbWRdLCBbZnhMYXlvdXQuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dCIsImZ4TGF5b3V0LnhzIiwiZnhMYXlvdXQuc20iLCJmeExheW91dC5tZCIsImZ4TGF5b3V0LmxnIiwiZnhMYXlvdXQueGwiLCJmeExheW91dC5sdC1zbSIsImZ4TGF5b3V0Lmx0LW1kIiwiZnhMYXlvdXQubHQtbGciLCJmeExheW91dC5sdC14bCIsImZ4TGF5b3V0Lmd0LXhzIiwiZnhMYXlvdXQuZ3Qtc20iLCJmeExheW91dC5ndC1tZCIsImZ4TGF5b3V0Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dXQuSGludFRvb2x0aXBJY29uQ29tcG9uZW50LHNlbGVjdG9yOiJbdGItaGludC10b29sdGlwLWljb25dIixpbnB1dHM6WyJ0Yi1oaW50LXRvb2x0aXAtaWNvbiIsInRvb2x0aXBQb3NpdGlvbiIsImhpbnRJY29uIl19LHtraW5kOiJwaXBlIix0eXBlOl8uS2V5VmFsdWVQaXBlLG5hbWU6ImtleXZhbHVlIn0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XX0pfX1lKCJBZGRDb25uZWN0b3JEaWFsb2dDb21wb25lbnQiLHRvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnRvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1hZGQtY29ubmVjdG9yLWRpYWxvZyIscHJvdmlkZXJzOltdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBbZm9ybUdyb3VwXT0iY29ubmVjdG9yRm9ybSIgY2xhc3M9ImFkZC1jb25uZWN0b3IiPlxuICA8bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICAgIDxoMj57eyAiZ2F0ZXdheS5hZGQtY29ubmVjdG9yIiB8IHRyYW5zbGF0ZX19PC9oMj5cbiAgICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICAgIDxkaXYgW3RiLWhlbHBdPSJoZWxwTGlua0lkKCkiPjwvZGl2PlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvbWF0LXRvb2xiYXI+XG4gIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50eXBlPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBnYXRld2F5Q29ubmVjdG9yRGVmYXVsdFR5cGVzVHJhbnNsYXRlc01hcCB8IGtleXZhbHVlIiBbdmFsdWVdPSJ0eXBlLmtleSI+XG4gICAgICAgICAgICAgICAge3sgdHlwZS52YWx1ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkubmFtZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBhdXRvY29tcGxldGU9Im9mZiIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ibmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS5oYXNFcnJvcihcJ2R1cGxpY2F0ZU5hbWVcJykgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCdnYXRld2F5LmNvbm5lY3Rvci1kdXBsaWNhdGUtbmFtZVwnIDpcJ2dhdGV3YXkubmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iKGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS50b3VjaGVkKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS5oYXNFcnJvcihcJ2R1cGxpY2F0ZU5hbWVcJykiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlID09PSBjb25uZWN0b3JUeXBlLkNVU1RPTSIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1jbGFzczwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJjbGFzcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IGNvbm5lY3RvclR5cGUuR1JQQyIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1rZXk8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ia2V5IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucmVtb3RlLWxvZ2dpbmctbGV2ZWw8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImxvZ0xldmVsIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbG9nTGV2ZWwgb2YgZ2F0ZXdheUxvZ0xldmVsIiBbdmFsdWVdPSJsb2dMZXZlbCI+e3sgbG9nTGV2ZWwgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSAhPT0gY29ubmVjdG9yVHlwZS5HUlBDICYmIGNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSAhPT0gY29ubmVjdG9yVHlwZS5DVVNUT00iXG4gICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBmaXhlZC10aXRsZS13aWR0aCIgZm9ybUNvbnRyb2xOYW1lPSJ1c2VEZWZhdWx0cyI+XG4gICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmZpbGwtY29ubmVjdG9yLWRlZmF1bHRzLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZmlsbC1jb25uZWN0b3ItZGVmYXVsdHNcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gY29ubmVjdG9yVHlwZS5NUVRUIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgZml4ZWQtdGl0bGUtd2lkdGgiIGZvcm1Db250cm9sTmFtZT0ic2VuZERhdGFPbmx5T25DaGFuZ2UiPlxuICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5zZW5kLWNoYW5nZS1kYXRhLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc2VuZC1jaGFuZ2UtZGF0YVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5jYW5jZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAoY2xpY2spPSJhZGQoKSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09ImNvbm5lY3RvckZvcm0uaW52YWxpZCB8fCAhY29ubmVjdG9yRm9ybS5kaXJ0eSI+XG4gICAgICB7eyBcJ2FjdGlvbi5hZGRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC5hZGQtY29ubmVjdG9ye21pbi13aWR0aDo0MDBweDt3aWR0aDo1MDBweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm90LlN0b3JlfSx7dHlwZTppdC5Sb3V0ZXJ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpwLGFyZ3M6W1hlXX1dfSx7dHlwZTpKZS5NYXREaWFsb2dSZWZ9LHt0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTp2YX0se3R5cGU6WC5SZXNvdXJjZXNTZXJ2aWNlfV19KTtjbGFzcyBub3tjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy52YWx1ZVR5cGVLZXlzPU9iamVjdC52YWx1ZXMoR24pLHRoaXMudmFsdWVUeXBlcz1Wbix0aGlzLk1hcHBpbmdWYWx1ZVR5cGU9R24sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5wcm9wYWdhdGVDaGFuZ2U9ZT0+e319bmdPbkluaXQoKXt0aGlzLnZhbHVlTGlzdEZvcm1BcnJheT10aGlzLmZiLmFycmF5KFtdKSx0aGlzLnZhbHVlTGlzdEZvcm1BcnJheS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy51cGRhdGVWaWV3KGUpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfXRyYWNrQnlLZXkoZSx0KXtyZXR1cm4gdH1hZGRLZXkoKXtjb25zdCBlPXRoaXMuZmIuZ3JvdXAoe3R5cGU6W0duLlNUUklOR10sc3RyaW5nOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxpbnRlZ2VyOlt7dmFsdWU6MCxkaXNhYmxlZDohMH0sW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oTHQpXV0sZG91YmxlOlt7dmFsdWU6MCxkaXNhYmxlZDohMH0sW3VlLnJlcXVpcmVkXV0sYm9vbGVhbjpbe3ZhbHVlOiExLGRpc2FibGVkOiEwfSxbdWUucmVxdWlyZWRdXX0pO3RoaXMub2JzZXJ2ZVR5cGVDaGFuZ2UoZSksdGhpcy52YWx1ZUxpc3RGb3JtQXJyYXkucHVzaChlKX1vYnNlcnZlVHlwZUNoYW5nZShlKXtlLmdldCgidHlwZSIpLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHQ9PntlLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLGUuZ2V0KCJ0eXBlIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSxlLmdldCh0KS5lbmFibGUoe2VtaXRFdmVudDohMX0pfSkpfWRlbGV0ZUtleShlLHQpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy52YWx1ZUxpc3RGb3JtQXJyYXkucmVtb3ZlQXQodCksdGhpcy52YWx1ZUxpc3RGb3JtQXJyYXkubWFya0FzRGlydHkoKX12YWx1ZVRpdGxlKGUpe3JldHVybiBpZShlKT8ib2JqZWN0Ij09dHlwZW9mIGU/SlNPTi5zdHJpbmdpZnkoZSk6ZToiIn1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMucHJvcGFnYXRlQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7fXdyaXRlVmFsdWUoZSl7Zm9yKGNvbnN0IHQgb2YgZSl7Y29uc3QgZT17dHlwZTpbdC50eXBlXSxzdHJpbmc6W3t2YWx1ZToiIixkaXNhYmxlZDohMH0sW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0saW50ZWdlcjpbe3ZhbHVlOjAsZGlzYWJsZWQ6ITB9LFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKEx0KV1dLGRvdWJsZTpbe3ZhbHVlOjAsZGlzYWJsZWQ6ITB9LFt1ZS5yZXF1aXJlZF1dLGJvb2xlYW46W3t2YWx1ZTohMSxkaXNhYmxlZDohMH0sW3VlLnJlcXVpcmVkXV19O2VbdC50eXBlXVswXT17dmFsdWU6dC52YWx1ZSxkaXNhYmxlZDohMX07Y29uc3Qgbj10aGlzLmZiLmdyb3VwKGUpO3RoaXMub2JzZXJ2ZVR5cGVDaGFuZ2UobiksdGhpcy52YWx1ZUxpc3RGb3JtQXJyYXkucHVzaChuKX19dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy52YWx1ZUxpc3RGb3JtQXJyYXkudmFsaWQ/bnVsbDp7dmFsdWVMaXN0Rm9ybTp7dmFsaWQ6ITF9fX11cGRhdGVWaWV3KGUpe3RoaXMucHJvcGFnYXRlQ2hhbmdlKGUubWFwKCgoe3R5cGU6ZSwuLi50fSk9Pih7dHlwZTplLHZhbHVlOnRbZV19KSkpKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOm5vLGRlcHM6W3t0b2tlbjptZS5VbnR5cGVkRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOm5vLHNlbGVjdG9yOiJ0Yi10eXBlLXZhbHVlLXBhbmVsIixwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5ubykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+bm8pKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBrZXktcGFuZWwiICpuZ0lmPSJ2YWx1ZUxpc3RGb3JtQXJyYXkuY29udHJvbHMubGVuZ3RoOyBlbHNlIG5vS2V5cyI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1mbGV4IG5vLWZsZXggcm93IGNlbnRlciBmaWxsLXdpZHRoIlxuICAgICAgICAgKm5nRm9yPSJsZXQga2V5Q29udHJvbCBvZiB2YWx1ZUxpc3RGb3JtQXJyYXkuY29udHJvbHM7IHRyYWNrQnk6IHRyYWNrQnlLZXk7IGxldCAkaW5kZXggPSBpbmRleDsgbGV0IGxhc3QgPSBsYXN0OyI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQgdGItZmxleCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09ImtleUNvbnRyb2wiPlxuICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ibGFzdCI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZS1jb250YWluZXIiIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyB2YWx1ZVRpdGxlKGtleUNvbnRyb2wuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkudmFsdWUpIH19PC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudHlwZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGZpbGwtd2lkdGgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0xOCIgW3N2Z0ljb25dPSJ2YWx1ZVR5cGVzLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpPy5pY29uIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8ubmFtZSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdmFsdWVUeXBlIG9mIHZhbHVlVHlwZUtleXMiIFt2YWx1ZV09InZhbHVlVHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0idGItbWF0LTIwIiBzdmdJY29uPSJ7eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLmljb24gfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUiPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCAqbmdTd2l0Y2hDYXNlPSJNYXBwaW5nVmFsdWVUeXBlLlNUUklORyIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJzdHJpbmciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuSU5URUdFUiIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJpbnRlZ2VyIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuRE9VQkxFIiBtYXRJbnB1dCByZXF1aXJlZCBmb3JtQ29udHJvbE5hbWU9ImRvdWJsZSIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuQk9PTEVBTiIgZm9ybUNvbnRyb2xOYW1lPSJib29sZWFuIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09InRydWUiPnRydWU8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPSJmYWxzZSI+ZmFsc2U8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIGtleUNvbnRyb2wuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJkZWxldGVLZXkoJGV2ZW50LCAkaW5kZXgpIlxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IlwnZ2F0ZXdheS5kZWxldGUtdmFsdWVcJyB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2PlxuICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9InByaW1hcnkiIChjbGljayk9ImFkZEtleSgpIj5cbiAgICAgIHt7IFwnZ2F0ZXdheS5hZGQtdmFsdWVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNub0tleXM+XG4gIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIGtleS1wYW5lbCI+XG4gICAgPHNwYW4gY2xhc3M9InRiLXByb21wdCIgdHJhbnNsYXRlPnt7IFwnZ2F0ZXdheS5uby12YWx1ZVwnIH19PC9zcGFuPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnRpdGxlLWNvbnRhaW5lcnttYXgtd2lkdGg6MTF2d306aG9zdCAua2V5LXBhbmVse2hlaWdodDoyNTBweDtvdmVyZmxvdzphdXRvfTpob3N0IC50Yi1mb3JtLXBhbmVsIC5tYXQtbWRjLWljb24tYnV0dG9ue3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHg7cGFkZGluZzoxNnB4O2NvbG9yOiMwMDAwMDA4YX06aG9zdCAuc2VlLWV4YW1wbGV7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDttYXJnaW46NHB4fTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaCxzZWxlY3RvcjoiW25nU3dpdGNoXSIsaW5wdXRzOlsibmdTd2l0Y2giXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoQ2FzZSxzZWxlY3RvcjoiW25nU3dpdGNoQ2FzZV0iLGlucHV0czpbIm5nU3dpdGNoQ2FzZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOndlLk1hdFNlbGVjdFRyaWdnZXIsc2VsZWN0b3I6Im1hdC1zZWxlY3QtdHJpZ2dlciJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsIixpbnB1dHM6WyJoaWRlVG9nZ2xlIiwidG9nZ2xlUG9zaXRpb24iXSxvdXRwdXRzOlsiYWZ0ZXJFeHBhbmQiLCJhZnRlckNvbGxhcHNlIl0sZXhwb3J0QXM6WyJtYXRFeHBhbnNpb25QYW5lbCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsSGVhZGVyLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciIsaW5wdXRzOlsiZXhwYW5kZWRIZWlnaHQiLCJjb2xsYXBzZWRIZWlnaHQiLCJ0YWJJbmRleCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsVGl0bGUsc2VsZWN0b3I6Im1hdC1wYW5lbC10aXRsZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxDb250ZW50LHNlbGVjdG9yOiJuZy10ZW1wbGF0ZVttYXRFeHBhbnNpb25QYW5lbENvbnRlbnRdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OdW1iZXJWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVtuZ01vZGVsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLlJlcXVpcmVkVmFsaWRhdG9yLHNlbGVjdG9yOiI6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sTmFtZV0sOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbF0sOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtuZ01vZGVsXSIsaW5wdXRzOlsicmVxdWlyZWQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WWUuVHJ1bmNhdGVXaXRoVG9vbHRpcERpcmVjdGl2ZSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XX0pfX1lKCJUeXBlVmFsdWVQYW5lbENvbXBvbmVudCIsbm8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6bm8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLXR5cGUtdmFsdWUtcGFuZWwiLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9Pm5vKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5ubykpLG11bHRpOiEwfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBrZXktcGFuZWwiICpuZ0lmPSJ2YWx1ZUxpc3RGb3JtQXJyYXkuY29udHJvbHMubGVuZ3RoOyBlbHNlIG5vS2V5cyI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1mbGV4IG5vLWZsZXggcm93IGNlbnRlciBmaWxsLXdpZHRoIlxuICAgICAgICAgKm5nRm9yPSJsZXQga2V5Q29udHJvbCBvZiB2YWx1ZUxpc3RGb3JtQXJyYXkuY29udHJvbHM7IHRyYWNrQnk6IHRyYWNrQnlLZXk7IGxldCAkaW5kZXggPSBpbmRleDsgbGV0IGxhc3QgPSBsYXN0OyI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQgdGItZmxleCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09ImtleUNvbnRyb2wiPlxuICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ibGFzdCI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZS1jb250YWluZXIiIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyB2YWx1ZVRpdGxlKGtleUNvbnRyb2wuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkudmFsdWUpIH19PC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudHlwZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGZpbGwtd2lkdGgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0xOCIgW3N2Z0ljb25dPSJ2YWx1ZVR5cGVzLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpPy5pY29uIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8ubmFtZSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdmFsdWVUeXBlIG9mIHZhbHVlVHlwZUtleXMiIFt2YWx1ZV09InZhbHVlVHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0idGItbWF0LTIwIiBzdmdJY29uPSJ7eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLmljb24gfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUiPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCAqbmdTd2l0Y2hDYXNlPSJNYXBwaW5nVmFsdWVUeXBlLlNUUklORyIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJzdHJpbmciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuSU5URUdFUiIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJpbnRlZ2VyIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuRE9VQkxFIiBtYXRJbnB1dCByZXF1aXJlZCBmb3JtQ29udHJvbE5hbWU9ImRvdWJsZSIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuQk9PTEVBTiIgZm9ybUNvbnRyb2xOYW1lPSJib29sZWFuIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09InRydWUiPnRydWU8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPSJmYWxzZSI+ZmFsc2U8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIGtleUNvbnRyb2wuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJkZWxldGVLZXkoJGV2ZW50LCAkaW5kZXgpIlxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IlwnZ2F0ZXdheS5kZWxldGUtdmFsdWVcJyB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2PlxuICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9InByaW1hcnkiIChjbGljayk9ImFkZEtleSgpIj5cbiAgICAgIHt7IFwnZ2F0ZXdheS5hZGQtdmFsdWVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNub0tleXM+XG4gIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIGtleS1wYW5lbCI+XG4gICAgPHNwYW4gY2xhc3M9InRiLXByb21wdCIgdHJhbnNsYXRlPnt7IFwnZ2F0ZXdheS5uby12YWx1ZVwnIH19PC9zcGFuPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnRpdGxlLWNvbnRhaW5lcnttYXgtd2lkdGg6MTF2d306aG9zdCAua2V5LXBhbmVse2hlaWdodDoyNTBweDtvdmVyZmxvdzphdXRvfTpob3N0IC50Yi1mb3JtLXBhbmVsIC5tYXQtbWRjLWljb24tYnV0dG9ue3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHg7cGFkZGluZzoxNnB4O2NvbG9yOiMwMDAwMDA4YX06aG9zdCAuc2VlLWV4YW1wbGV7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDttYXJnaW46NHB4fTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLlVudHlwZWRGb3JtQnVpbGRlcn1dfSk7Y2xhc3MgYW8gZXh0ZW5kcyBPe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIodCksdGhpcy5mYj1lLHRoaXMuc3RvcmU9dCx0aGlzLnZhbHVlVHlwZUtleXM9T2JqZWN0LnZhbHVlcyhHbiksdGhpcy52YWx1ZVR5cGVFbnVtPUduLHRoaXMudmFsdWVUeXBlcz1Wbix0aGlzLnJhd0RhdGE9ITEsdGhpcy5rZXlzRGF0YUFwcGxpZWQ9bmV3IGksdGhpcy5NYXBwaW5nS2V5c1R5cGU9Tm4sdGhpcy5lcnJvclRleHQ9IiJ9bmdPbkluaXQoKXt0aGlzLmtleXNMaXN0Rm9ybUFycmF5PXRoaXMucHJlcGFyZUtleXNGb3JtQXJyYXkodGhpcy5rZXlzKX10cmFja0J5S2V5KGUsdCl7cmV0dXJuIHR9YWRkS2V5KCl7bGV0IGU7aWYoZT10aGlzLmtleXNUeXBlPT09Tm4uUlBDX01FVEhPRFM/dGhpcy5mYi5ncm91cCh7bWV0aG9kOlsiIixbdWUucmVxdWlyZWRdXSxhcmd1bWVudHM6W1tdLFtdXX0pOnRoaXMuZmIuZ3JvdXAoe2tleTpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sdmFsdWU6WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dfSksdGhpcy5rZXlzVHlwZSE9PU5uLkNVU1RPTSYmdGhpcy5rZXlzVHlwZSE9PU5uLlJQQ19NRVRIT0RTKXtjb25zdCB0PXRoaXMucmF3RGF0YT8icmF3Ijp0aGlzLnZhbHVlVHlwZUtleXNbMF07ZS5hZGRDb250cm9sKCJ0eXBlIix0aGlzLmZiLmNvbnRyb2wodCkpfXRoaXMua2V5c0xpc3RGb3JtQXJyYXkucHVzaChlKX1kZWxldGVLZXkoZSx0KXtlJiZlLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMua2V5c0xpc3RGb3JtQXJyYXkucmVtb3ZlQXQodCksdGhpcy5rZXlzTGlzdEZvcm1BcnJheS5tYXJrQXNEaXJ0eSgpfWNhbmNlbCgpe3RoaXMucG9wb3Zlcj8uaGlkZSgpfWFwcGx5S2V5c0RhdGEoKXtsZXQgZT10aGlzLmtleXNMaXN0Rm9ybUFycmF5LnZhbHVlO2lmKHRoaXMua2V5c1R5cGU9PT1Obi5DVVNUT00pe2U9e307Zm9yKGxldCB0IG9mIHRoaXMua2V5c0xpc3RGb3JtQXJyYXkudmFsdWUpZVt0LmtleV09dC52YWx1ZX10aGlzLmtleXNEYXRhQXBwbGllZC5lbWl0KGUpfXByZXBhcmVLZXlzRm9ybUFycmF5KGUpe2NvbnN0IHQ9W107cmV0dXJuIGUmJih0aGlzLmtleXNUeXBlPT09Tm4uQ1VTVE9NJiYoZT1PYmplY3Qua2V5cyhlKS5tYXAoKHQ9Pih7a2V5OnQsdmFsdWU6ZVt0XSx0eXBlOiIifSkpKSksZS5mb3JFYWNoKChlPT57bGV0IG47aWYodGhpcy5rZXlzVHlwZT09PU5uLlJQQ19NRVRIT0RTKW49dGhpcy5mYi5ncm91cCh7bWV0aG9kOltlLm1ldGhvZCxbdWUucmVxdWlyZWRdXSxhcmd1bWVudHM6W1suLi5lLmFyZ3VtZW50c10sW11dfSk7ZWxzZXtjb25zdHtrZXk6dCx2YWx1ZTphLHR5cGU6b309ZTtuPXRoaXMuZmIuZ3JvdXAoe2tleTpbdCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx2YWx1ZTpbYSxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx0eXBlOltvLFtdXX0pfXQucHVzaChuKX0pKSksdGhpcy5mYi5hcnJheSh0KX12YWx1ZVRpdGxlKGUpe2NvbnN0IHQ9ZS5nZXQodGhpcy5rZXlzVHlwZT09PU5uLlJQQ19NRVRIT0RTPyJtZXRob2QiOiJ2YWx1ZSIpLnZhbHVlO3JldHVybiBpZSh0KT8ib2JqZWN0Ij09dHlwZW9mIHQ/SlNPTi5zdHJpbmdpZnkodCk6dDoiIn1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmFvLGRlcHM6W3t0b2tlbjptZS5VbnR5cGVkRm9ybUJ1aWxkZXJ9LHt0b2tlbjpvdC5TdG9yZX1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6YW8sc2VsZWN0b3I6InRiLW1hcHBpbmctZGF0YS1rZXlzLXBhbmVsIixpbnB1dHM6e3BhbmVsVGl0bGU6InBhbmVsVGl0bGUiLGFkZEtleVRpdGxlOiJhZGRLZXlUaXRsZSIsZGVsZXRlS2V5VGl0bGU6ImRlbGV0ZUtleVRpdGxlIixub0tleXNUZXh0OiJub0tleXNUZXh0IixrZXlzOiJrZXlzIixrZXlzVHlwZToia2V5c1R5cGUiLHZhbHVlVHlwZUtleXM6InZhbHVlVHlwZUtleXMiLHZhbHVlVHlwZUVudW06InZhbHVlVHlwZUVudW0iLHZhbHVlVHlwZXM6InZhbHVlVHlwZXMiLHJhd0RhdGE6InJhd0RhdGEiLHBvcG92ZXI6InBvcG92ZXIifSxvdXRwdXRzOntrZXlzRGF0YUFwcGxpZWQ6ImtleXNEYXRhQXBwbGllZCJ9LHByb3ZpZGVyczpbXSx1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLW1hcHBpbmcta2V5cy1wYW5lbCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPnt7IHBhbmVsVGl0bGUgIHwgdHJhbnNsYXRlIH19e3tcJyAoXCcgKyBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGggKyBcJylcJ319PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBrZXktcGFuZWwiICpuZ0lmPSJrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGg7IGVsc2Ugbm9LZXlzIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItZmxleCBuby1mbGV4IHJvdyBjZW50ZXIgZmlsbC13aWR0aCJcbiAgICAgICAgICAgKm5nRm9yPSJsZXQga2V5Q29udHJvbCBvZiBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9sczsgdHJhY2tCeTogdHJhY2tCeUtleTsgbGV0ICRpbmRleCA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3Q7Ij5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLWZsZXgiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09ImtleUNvbnRyb2wiPlxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJsYXN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9ImtleXNUeXBlICE9PSBNYXBwaW5nS2V5c1R5cGUuUlBDX01FVEhPRFMiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCBjbGFzcz0idGl0bGUtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBrZXlDb250cm9sLmdldChcJ2tleVwnKS52YWx1ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCctXCcgfX1cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgY2xhc3M9InRpdGxlLWNvbnRhaW5lciI+e3sgdmFsdWVUaXRsZShrZXlDb250cm9sKSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0RXhwYW5zaW9uUGFuZWxDb250ZW50PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciXG4gICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5c1R5cGUgIT09IE1hcHBpbmdLZXlzVHlwZS5DVVNUT00gJiYga2V5c1R5cGUgIT09IE1hcHBpbmdLZXlzVHlwZS5SUENfTUVUSE9EUyI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5wbGF0Zm9ybS1zaWRlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5KU09OUGF0aC1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmtleVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImtleSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmtleS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ2tleVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCdrZXlcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LmNvbm5lY3Rvci1zaWRlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93Ij5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudHlwZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAgZmlsbC13aWR0aCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IG5hbWU9InZhbHVlVHlwZSIgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QtdHJpZ2dlciAqbmdJZj0iIXJhd0RhdGEiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj0idmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8uaWNvbiIgY2xhc3M9InRiLW1hdC0xOCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3ZnSWNvbl09InZhbHVlVHlwZXMuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSk/Lmljb24iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPSIhcmF3RGF0YTsgZWxzZSByYXdUZXh0Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgKHZhbHVlVHlwZXMuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSk/Lm5hbWUgfHwgdmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcmF3VGV4dD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgXCdnYXRld2F5LnJhd1wnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9IiFyYXdEYXRhOyBlbHNlIHJhd09wdGlvbiI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdmFsdWVUeXBlIG9mIHZhbHVlVHlwZUtleXMiIFt2YWx1ZV09InZhbHVlVHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9InZhbHVlVHlwZXMuZ2V0KHZhbHVlVHlwZSkuaWNvbiIgY2xhc3M9InRiLW1hdC0yMCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdmdJY29uPSJ7eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLmljb24gfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLm5hbWUgfHwgdmFsdWVUeXBlcy5nZXQodmFsdWVUeXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcmF3T3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09IlwncmF3XCciPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgXCdnYXRld2F5LnJhd1wnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LkpTT05QYXRoLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudmFsdWVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0idmFsdWUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleUNvbnRyb2wuZ2V0KFwndmFsdWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0idGhpcy5rZXlzVHlwZSB8IGdldEdhdGV3YXlIZWxwTGluayA6IGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSA6IHZhbHVlVHlwZUtleXMiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0idGhpcy5rZXlzVHlwZSB8IGdldEdhdGV3YXlIZWxwTGluayA6IGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSA6IHZhbHVlVHlwZUtleXMiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciICpuZ0lmPSJrZXlzVHlwZSA9PT0gTWFwcGluZ0tleXNUeXBlLkNVU1RPTSI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmtleTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJrZXkiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkua2V5LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ2tleVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIGtleUNvbnRyb2wuZ2V0KFwna2V5XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS52YWx1ZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4IGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyIgY2xhc3M9InRiLWlubGluZS1maWVsZCBmbGV4IHRiLXN1ZmZpeC1hYnNvbHV0ZSI+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0idmFsdWUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnZhbHVlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIGtleUNvbnRyb2wuZ2V0KFwndmFsdWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyIgKm5nSWY9ImtleXNUeXBlID09PSBNYXBwaW5nS2V5c1R5cGUuUlBDX01FVEhPRFMiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1ldGhvZC1uYW1lXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXRob2QtbmFtZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkubWV0aG9kLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ21ldGhvZFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIGtleUNvbnRyb2wuZ2V0KFwnbWV0aG9kXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCBjbGFzcz0idGItc2V0dGluZ3MiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciBmeExheW91dD0icm93IHdyYXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUtY29udGFpbmVyIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLmFyZ3VtZW50c1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuYXJndW1lbnRzXCcgfCB0cmFuc2xhdGUgfX17e1wnIChcJyArIGtleUNvbnRyb2wuZ2V0KFwnYXJndW1lbnRzXCcpLnZhbHVlPy5sZW5ndGggKyBcJylcJ319XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0RXhwYW5zaW9uUGFuZWxDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRiLXR5cGUtdmFsdWUtcGFuZWwgZm9ybUNvbnRyb2xOYW1lPSJhcmd1bWVudHMiPjwvdGItdHlwZS12YWx1ZS1wYW5lbD5cbiAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9ImRlbGV0ZUtleSgkZXZlbnQsICRpbmRleCkiXG4gICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJkZWxldGVLZXlUaXRsZSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSIgKGNsaWNrKT0iYWRkS2V5KCkiPlxuICAgICAgICB7eyBhZGRLZXlUaXRsZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI25vS2V5cz5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWZsZXggY2VudGVyIGFsaWduLWNlbnRlciBrZXktcGFuZWwiPlxuICAgICAgPHNwYW4gY2xhc3M9InRiLXByb21wdCIgdHJhbnNsYXRlPnt7IG5vS2V5c1RleHQgfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9InRiLWZsZXggZmxleC1lbmQiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5jYW5jZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgKGNsaWNrKT0iYXBwbHlLZXlzRGF0YSgpIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0ia2V5c0xpc3RGb3JtQXJyYXkuaW52YWxpZCB8fCAha2V5c0xpc3RGb3JtQXJyYXkuZGlydHkiPlxuICAgICAge3sgXCdhY3Rpb24uYXBwbHlcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC50Yi1tYXBwaW5nLWtleXMtcGFuZWx7d2lkdGg6Nzd2dzttYXgtd2lkdGg6NzAwcHh9Omhvc3QgLnRiLW1hcHBpbmcta2V5cy1wYW5lbCAudGl0bGUtY29udGFpbmVye21heC13aWR0aDoxMXZ3O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH06aG9zdCAudGItbWFwcGluZy1rZXlzLXBhbmVsIC5rZXktcGFuZWx7aGVpZ2h0OjUwMHB4O292ZXJmbG93OmF1dG99Omhvc3QgLnRiLW1hcHBpbmcta2V5cy1wYW5lbCB0Yi12YWx1ZS1pbnB1dHt3aWR0aDoxMDAlfTpob3N0IC50Yi1tYXBwaW5nLWtleXMtcGFuZWwgLnRiLWZvcm0tcGFuZWwgLm1hdC1tZGMtaWNvbi1idXR0b257d2lkdGg6NTZweDtoZWlnaHQ6NTZweDtwYWRkaW5nOjE2cHg7Y29sb3I6IzAwMDAwMDhhfTpob3N0IC50Yi1tYXBwaW5nLWtleXMtcGFuZWwgLnNlZS1leGFtcGxle3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7bWFyZ2luOjRweH06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtZm9ybS1maWVsZC1pY29uLXN1ZmZpeHtkaXNwbGF5OmZsZXh9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmd0LkhlbHBQb3B1cENvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhlbHAtcG9wdXBdLCBbdGItaGVscC1wb3B1cC1jb250ZW50XSIsaW5wdXRzOlsidGItaGVscC1wb3B1cCIsInRiLWhlbHAtcG9wdXAtY29udGVudCIsInRyaWdnZXItdGV4dCIsInRyaWdnZXItc3R5bGUiLCJ0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudCIsInRiLWhlbHAtcG9wdXAtc3R5bGUiLCJoaW50TW9kZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOndlLk1hdFNlbGVjdFRyaWdnZXIsc2VsZWN0b3I6Im1hdC1zZWxlY3QtdHJpZ2dlciJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsIixpbnB1dHM6WyJoaWRlVG9nZ2xlIiwidG9nZ2xlUG9zaXRpb24iXSxvdXRwdXRzOlsiYWZ0ZXJFeHBhbmQiLCJhZnRlckNvbGxhcHNlIl0sZXhwb3J0QXM6WyJtYXRFeHBhbnNpb25QYW5lbCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsSGVhZGVyLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciIsaW5wdXRzOlsiZXhwYW5kZWRIZWlnaHQiLCJjb2xsYXBzZWRIZWlnaHQiLCJ0YWJJbmRleCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsVGl0bGUsc2VsZWN0b3I6Im1hdC1wYW5lbC10aXRsZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxDb250ZW50LHNlbGVjdG9yOiJuZy10ZW1wbGF0ZVttYXRFeHBhbnNpb25QYW5lbENvbnRlbnRdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlkuVHJhbnNsYXRlRGlyZWN0aXZlLHNlbGVjdG9yOiJbdHJhbnNsYXRlXSxbbmd4LXRyYW5zbGF0ZV0iLGlucHV0czpbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZVBhcmFtcyJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnV0LkhpbnRUb29sdGlwSWNvbkNvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhpbnQtdG9vbHRpcC1pY29uXSIsaW5wdXRzOlsidGItaGludC10b29sdGlwLWljb24iLCJ0b29sdGlwUG9zaXRpb24iLCJoaW50SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlNhLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOm5vLHNlbGVjdG9yOiJ0Yi10eXBlLXZhbHVlLXBhbmVsIn0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJwaXBlIix0eXBlOlRhLG5hbWU6ImdldEdhdGV3YXlIZWxwTGluayJ9XX0pfX1lKCJNYXBwaW5nRGF0YUtleXNQYW5lbENvbXBvbmVudCIsYW8pLEhlKFtOKCldLGFvLnByb3RvdHlwZSwicmF3RGF0YSIsdm9pZCAwKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmFvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1tYXBwaW5nLWRhdGEta2V5cy1wYW5lbCIscHJvdmlkZXJzOltdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItbWFwcGluZy1rZXlzLXBhbmVsIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSI+e3sgcGFuZWxUaXRsZSAgfCB0cmFuc2xhdGUgfX17e1wnIChcJyArIGtleXNMaXN0Rm9ybUFycmF5LmNvbnRyb2xzLmxlbmd0aCArIFwnKVwnfX08L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIGtleS1wYW5lbCIgKm5nSWY9ImtleXNMaXN0Rm9ybUFycmF5LmNvbnRyb2xzLmxlbmd0aDsgZWxzZSBub0tleXMiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1mbGV4IG5vLWZsZXggcm93IGNlbnRlciBmaWxsLXdpZHRoIlxuICAgICAgICAgICAqbmdGb3I9ImxldCBrZXlDb250cm9sIG9mIGtleXNMaXN0Rm9ybUFycmF5LmNvbnRyb2xzOyB0cmFja0J5OiB0cmFja0J5S2V5OyBsZXQgJGluZGV4ID0gaW5kZXg7IGxldCBsYXN0ID0gbGFzdDsiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQgdGItZmxleCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0ia2V5Q29udHJvbCI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCBjbGFzcz0idGItc2V0dGluZ3MiIFtleHBhbmRlZF09Imxhc3QiPlxuICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0ia2V5c1R5cGUgIT09IE1hcHBpbmdLZXlzVHlwZS5SUENfTUVUSE9EUyI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwIGNsYXNzPSJ0aXRsZS1jb250YWluZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IGtleUNvbnRyb2wuZ2V0KFwna2V5XCcpLnZhbHVlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB7eyBcJy1cJyB9fVxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCBjbGFzcz0idGl0bGUtY29udGFpbmVyIj57eyB2YWx1ZVRpdGxlKGtleUNvbnRyb2wpIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyJcbiAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlzVHlwZSAhPT0gTWFwcGluZ0tleXNUeXBlLkNVU1RPTSAmJiBrZXlzVHlwZSAhPT0gTWFwcGluZ0tleXNUeXBlLlJQQ19NRVRIT0RTIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LnBsYXRmb3JtLXNpZGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LkpTT05QYXRoLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkua2V5XCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ia2V5IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkua2V5LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImtleUNvbnRyb2wuZ2V0KFwna2V5XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlDb250cm9sLmdldChcJ2tleVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9yLXNpZGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS50eXBlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBmaWxsLXdpZHRoIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgbmFtZT0idmFsdWVUeXBlIiBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdC10cmlnZ2VyICpuZ0lmPSIhcmF3RGF0YSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBhbGlnbi1jZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPSJ2YWx1ZVR5cGVzLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpPy5pY29uIiBjbGFzcz0idGItbWF0LTE4IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdmdJY29uXT0idmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8uaWNvbiI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9IiFyYXdEYXRhOyBlbHNlIHJhd1RleHQiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAodmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8ubmFtZSB8fCB2YWx1ZVR5cGVzLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyYXdUZXh0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBcJ2dhdGV3YXkucmF3XCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3QtdHJpZ2dlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iIXJhd0RhdGE7IGVsc2UgcmF3T3B0aW9uIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB2YWx1ZVR5cGUgb2YgdmFsdWVUeXBlS2V5cyIgW3ZhbHVlXT0idmFsdWVUeXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj0idmFsdWVUeXBlcy5nZXQodmFsdWVUeXBlKS5pY29uIiBjbGFzcz0idGItbWF0LTIwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2Z0ljb249Int7IHZhbHVlVHlwZXMuZ2V0KHZhbHVlVHlwZSkuaWNvbiB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHZhbHVlVHlwZXMuZ2V0KHZhbHVlVHlwZSkubmFtZSB8fCB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyYXdPcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT0iXCdyYXdcJyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBcJ2dhdGV3YXkucmF3XCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuSlNPTlBhdGgtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS52YWx1ZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnZhbHVlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ3ZhbHVlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJ0aGlzLmtleXNUeXBlIHwgZ2V0R2F0ZXdheUhlbHBMaW5rIDoga2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlIDogdmFsdWVUeXBlS2V5cyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJ0aGlzLmtleXNUeXBlIHwgZ2V0R2F0ZXdheUhlbHBMaW5rIDoga2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlIDogdmFsdWVUeXBlS2V5cyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyIgKm5nSWY9ImtleXNUeXBlID09PSBNYXBwaW5nS2V5c1R5cGUuQ1VTVE9NIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkua2V5PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImtleSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5rZXktcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImtleUNvbnRyb2wuZ2V0KFwna2V5XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYga2V5Q29udHJvbC5nZXQoXCdrZXlcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnZhbHVlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudmFsdWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ3ZhbHVlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIiAqbmdJZj0ia2V5c1R5cGUgPT09IE1hcHBpbmdLZXlzVHlwZS5SUENfTUVUSE9EUyI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubWV0aG9kLW5hbWVcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1ldGhvZC1uYW1lXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5tZXRob2QtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImtleUNvbnRyb2wuZ2V0KFwnbWV0aG9kXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYga2V5Q29udHJvbC5nZXQoXCdtZXRob2RcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQgdGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZS1jb250YWluZXIiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMuYXJndW1lbnRzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5hcmd1bWVudHNcJyB8IHRyYW5zbGF0ZSB9fXt7XCcgKFwnICsga2V5Q29udHJvbC5nZXQoXCdhcmd1bWVudHNcJykudmFsdWU/Lmxlbmd0aCArIFwnKVwnfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGItdHlwZS12YWx1ZS1wYW5lbCBmb3JtQ29udHJvbE5hbWU9ImFyZ3VtZW50cyI+PC90Yi10eXBlLXZhbHVlLXBhbmVsPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlS2V5KCRldmVudCwgJGluZGV4KSJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09ImRlbGV0ZUtleVRpdGxlIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXY+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJhZGRLZXkoKSI+XG4gICAgICAgIHt7IGFkZEtleVRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjbm9LZXlzPlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIGtleS1wYW5lbCI+XG4gICAgICA8c3BhbiBjbGFzcz0idGItcHJvbXB0IiB0cmFuc2xhdGU+e3sgbm9LZXlzVGV4dCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz0idGItZmxleCBmbGV4LWVuZCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uXG4gICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIChjbGljayk9ImNhbmNlbCgpIj5cbiAgICAgIHt7IFwnYWN0aW9uLmNhbmNlbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAoY2xpY2spPSJhcHBseUtleXNEYXRhKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJrZXlzTGlzdEZvcm1BcnJheS5pbnZhbGlkIHx8ICFrZXlzTGlzdEZvcm1BcnJheS5kaXJ0eSI+XG4gICAgICB7eyBcJ2FjdGlvbi5hcHBseVwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnRiLW1hcHBpbmcta2V5cy1wYW5lbHt3aWR0aDo3N3Z3O21heC13aWR0aDo3MDBweH06aG9zdCAudGItbWFwcGluZy1rZXlzLXBhbmVsIC50aXRsZS1jb250YWluZXJ7bWF4LXdpZHRoOjExdnc7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfTpob3N0IC50Yi1tYXBwaW5nLWtleXMtcGFuZWwgLmtleS1wYW5lbHtoZWlnaHQ6NTAwcHg7b3ZlcmZsb3c6YXV0b306aG9zdCAudGItbWFwcGluZy1rZXlzLXBhbmVsIHRiLXZhbHVlLWlucHV0e3dpZHRoOjEwMCV9Omhvc3QgLnRiLW1hcHBpbmcta2V5cy1wYW5lbCAudGItZm9ybS1wYW5lbCAubWF0LW1kYy1pY29uLWJ1dHRvbnt3aWR0aDo1NnB4O2hlaWdodDo1NnB4O3BhZGRpbmc6MTZweDtjb2xvcjojMDAwMDAwOGF9Omhvc3QgLnRiLW1hcHBpbmcta2V5cy1wYW5lbCAuc2VlLWV4YW1wbGV7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDttYXJnaW46NHB4fTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLlVudHlwZWRGb3JtQnVpbGRlcn0se3R5cGU6b3QuU3RvcmV9XSxwcm9wRGVjb3JhdG9yczp7cGFuZWxUaXRsZTpbe3R5cGU6YX1dLGFkZEtleVRpdGxlOlt7dHlwZTphfV0sZGVsZXRlS2V5VGl0bGU6W3t0eXBlOmF9XSxub0tleXNUZXh0Olt7dHlwZTphfV0sa2V5czpbe3R5cGU6YX1dLGtleXNUeXBlOlt7dHlwZTphfV0sdmFsdWVUeXBlS2V5czpbe3R5cGU6YX1dLHZhbHVlVHlwZUVudW06W3t0eXBlOmF9XSx2YWx1ZVR5cGVzOlt7dHlwZTphfV0scmF3RGF0YTpbe3R5cGU6YX1dLHBvcG92ZXI6W3t0eXBlOmF9XSxrZXlzRGF0YUFwcGxpZWQ6W3t0eXBlOmx9XX19KTtjbGFzcyBvbyBleHRlbmRzIE97Z2V0IGRldmljZUluZm9UeXBlKCl7cmV0dXJuIHRoaXMuZGV2aWNlSW5mb1R5cGVWYWx1ZX1zZXQgZGV2aWNlSW5mb1R5cGUoZSl7dGhpcy5kZXZpY2VJbmZvVHlwZVZhbHVlIT09ZSYmKHRoaXMuZGV2aWNlSW5mb1R5cGVWYWx1ZT1lKX1jb25zdHJ1Y3RvcihlLHQsbixhKXtzdXBlcihlKSx0aGlzLnN0b3JlPWUsdGhpcy50cmFuc2xhdGU9dCx0aGlzLmRpYWxvZz1uLHRoaXMuZmI9YSx0aGlzLlNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXA9TG4sdGhpcy5EZXZpY2VJbmZvVHlwZT1rbix0aGlzLnVzZVNvdXJjZT0hMCx0aGlzLnJlcXVpcmVkPSExLHRoaXMuc291cmNlVHlwZXM9T2JqZWN0LnZhbHVlcyhUbiksdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5wcm9wYWdhdGVDaGFuZ2U9ZT0+e319bmdPbkluaXQoKXt0aGlzLm1hcHBpbmdGb3JtR3JvdXA9dGhpcy5mYi5ncm91cCh7ZGV2aWNlTmFtZUV4cHJlc3Npb246WyIiLHRoaXMucmVxdWlyZWQ/W3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXTpbdWUucGF0dGVybihrdCldXX0pLHRoaXMudXNlU291cmNlJiZ0aGlzLm1hcHBpbmdGb3JtR3JvdXAuYWRkQ29udHJvbCgiZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2UiLHRoaXMuZmIuY29udHJvbCh0aGlzLnNvdXJjZVR5cGVzWzBdLFtdKSksdGhpcy5kZXZpY2VJbmZvVHlwZT09PWtuLkZVTEwmJih0aGlzLnVzZVNvdXJjZSYmdGhpcy5tYXBwaW5nRm9ybUdyb3VwLmFkZENvbnRyb2woImRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlIix0aGlzLmZiLmNvbnRyb2wodGhpcy5zb3VyY2VUeXBlc1swXSxbXSkpLHRoaXMubWFwcGluZ0Zvcm1Hcm91cC5hZGRDb250cm9sKCJkZXZpY2VQcm9maWxlRXhwcmVzc2lvbiIsdGhpcy5mYi5jb250cm9sKCIiLHRoaXMucmVxdWlyZWQ/W3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXTpbdWUucGF0dGVybihrdCldKSkpLHRoaXMubWFwcGluZ0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy51cGRhdGVWaWV3KGUpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpLHN1cGVyLm5nT25EZXN0cm95KCl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLnByb3BhZ2F0ZUNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe313cml0ZVZhbHVlKGUpe3RoaXMubWFwcGluZ0Zvcm1Hcm91cC5wYXRjaFZhbHVlKGUse2VtaXRFdmVudDohMX0pfXZhbGlkYXRlKCl7cmV0dXJuIHRoaXMubWFwcGluZ0Zvcm1Hcm91cC52YWxpZD9udWxsOnttYXBwaW5nRm9ybTp7dmFsaWQ6ITF9fX11cGRhdGVWaWV3KGUpe3RoaXMucHJvcGFnYXRlQ2hhbmdlKGUpfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6b28sZGVwczpbe3Rva2VuOm90LlN0b3JlfSx7dG9rZW46WS5UcmFuc2xhdGVTZXJ2aWNlfSx7dG9rZW46SmUuTWF0RGlhbG9nfSx7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOm9vLHNlbGVjdG9yOiJ0Yi1kZXZpY2UtaW5mby10YWJsZSIsaW5wdXRzOnt1c2VTb3VyY2U6InVzZVNvdXJjZSIscmVxdWlyZWQ6InJlcXVpcmVkIixzb3VyY2VUeXBlczoic291cmNlVHlwZXMiLGRldmljZUluZm9UeXBlOiJkZXZpY2VJbmZvVHlwZSJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9Pm9vKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5vbykpLG11bHRpOiEwfV0sdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG5cbjxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCIgW2Zvcm1Hcm91cF09Im1hcHBpbmdGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiBbY2xhc3MudGItcmVxdWlyZWRdPSJyZXF1aXJlZCIgdHJhbnNsYXRlPmRldmljZS5kZXZpY2U8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZSBuby1wYWRkaW5nIG5vLWdhcCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1oZWFkZXIiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1oZWFkZXItY2VsbCB0YWJsZS1uYW1lLWNvbHVtbiIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLWluZm8uZW50aXR5LWZpZWxkPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPSJ1c2VTb3VyY2UiIGNsYXNzPSJ0Yi1mb3JtLXRhYmxlLWhlYWRlci1jZWxsIHRhYmxlLWNvbHVtbiIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLWluZm8uc291cmNlPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXRhYmxlLWhlYWRlci1jZWxsIHRhYmxlLWNvbHVtbiIgdHJhbnNsYXRlPlxuICAgICAgICBnYXRld2F5LmRldmljZS1pbmZvLmV4cHJlc3Npb25cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtYm9keSBuby1nYXAiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1yb3cgdGItZm9ybS1yb3cgbm8tYm9yZGVyIHNhbWUtcGFkZGluZyB0b3Atc2FtZS1wYWRkaW5nIlxuICAgICAgICAgICBbY2xhc3MuYm90dG9tLXNhbWUtcGFkZGluZ109ImRldmljZUluZm9UeXBlICE9PSBEZXZpY2VJbmZvVHlwZS5GVUxMIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1pbmZvLm5hbWU8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAgcmF3LXZhbHVlLW9wdGlvbiIgKm5nSWY9InVzZVNvdXJjZSI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2UiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNvdXJjZVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICB7eyBTb3VyY2VUeXBlVHJhbnNsYXRpb25zTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtcm93LWNlbGwgdGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLWluZm8uZGV2aWNlLW5hbWUtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lRXhwcmVzc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlTmFtZUV4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj0iXCduYW1lLWZpZWxkXCcgfCBnZXRHYXRld2F5SGVscExpbmsgOiBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVFeHByZXNzaW9uU291cmNlXCcpLnZhbHVlIDogc291cmNlVHlwZXMiXG4gICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCduYW1lLWZpZWxkXCcgfCBnZXRHYXRld2F5SGVscExpbmsgOiBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVFeHByZXNzaW9uU291cmNlXCcpLnZhbHVlIDogc291cmNlVHlwZXMiXG4gICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1yb3cgdGItZm9ybS1yb3cgbm8tYm9yZGVyIHNhbWUtcGFkZGluZyBib3R0b20tc2FtZS1wYWRkaW5nIlxuICAgICAgICAgICAqbmdJZj0iZGV2aWNlSW5mb1R5cGUgPT09IERldmljZUluZm9UeXBlLkZVTEwiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLWluZm8ucHJvZmlsZS1uYW1lPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIHJhdy12YWx1ZS1vcHRpb24iICpuZ0lmPSJ1c2VTb3VyY2UiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBzb3VyY2VUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAge3sgU291cmNlVHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXRhYmxlLXJvdy1jZWxsIHRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZVByb2ZpbGVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1pbmZvLmRldmljZS1wcm9maWxlLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlUHJvZmlsZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZVByb2ZpbGVFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9IlwncHJvZmlsZS1uYW1lXCcgfCBnZXRHYXRld2F5SGVscExpbms6IG1hcHBpbmdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlUHJvZmlsZUV4cHJlc3Npb25Tb3VyY2VcJykudmFsdWUgOiBzb3VyY2VUeXBlcyJcbiAgICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3Byb2ZpbGUtbmFtZVwnIHwgZ2V0R2F0ZXdheUhlbHBMaW5rOiBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlXCcpLnZhbHVlIDogc291cmNlVHlwZXMiXG4gICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9ja306aG9zdCAudGItZm9ybS1yb3cuYm90dG9tLXNhbWUtcGFkZGluZ3twYWRkaW5nLWJvdHRvbToxNnB4fTpob3N0IC50Yi1mb3JtLXJvdy50b3Atc2FtZS1wYWRkaW5ne3BhZGRpbmctdG9wOjE2cHh9Omhvc3QgLnRiLWZvcm0tcm93IC5maXhlZC10aXRsZS13aWR0aHt3aWR0aDoxOSV9Omhvc3QgLnRhYmxlLWNvbHVtbnt3aWR0aDo0MCV9Omhvc3QgLnRhYmxlLW5hbWUtY29sdW1ue3dpZHRoOjIwJX06aG9zdCAucmF3LW5hbWV7d2lkdGg6MTklfTpob3N0IC5yYXctdmFsdWUtb3B0aW9ue21heC13aWR0aDo0MCV9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLWZvcm0tZmllbGQtaWNvbi1zdWZmaXh7ZGlzcGxheTpmbGV4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpndC5IZWxwUG9wdXBDb21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oZWxwLXBvcHVwXSwgW3RiLWhlbHAtcG9wdXAtY29udGVudF0iLGlucHV0czpbInRiLWhlbHAtcG9wdXAiLCJ0Yi1oZWxwLXBvcHVwLWNvbnRlbnQiLCJ0cmlnZ2VyLXRleHQiLCJ0cmlnZ2VyLXN0eWxlIiwidGItaGVscC1wb3B1cC1wbGFjZW1lbnQiLCJ0Yi1oZWxwLXBvcHVwLXN0eWxlIiwiaGludE1vZGUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRTdWZmaXgsc2VsZWN0b3I6IlttYXRTdWZmaXhdLCBbbWF0SWNvblN1ZmZpeF0sIFttYXRUZXh0U3VmZml4XSIsaW5wdXRzOlsibWF0VGV4dFN1ZmZpeCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOndlLk1hdFNlbGVjdCxzZWxlY3RvcjoibWF0LXNlbGVjdCIsaW5wdXRzOlsiYXJpYS1kZXNjcmliZWRieSIsInBhbmVsQ2xhc3MiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3IiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwibXVsdGlwbGUiLCJkaXNhYmxlT3B0aW9uQ2VudGVyaW5nIiwiY29tcGFyZVdpdGgiLCJ2YWx1ZSIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJlcnJvclN0YXRlTWF0Y2hlciIsInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLCJzb3J0Q29tcGFyYXRvciIsImlkIiwicGFuZWxXaWR0aCJdLG91dHB1dHM6WyJvcGVuZWRDaGFuZ2UiLCJvcGVuZWQiLCJjbG9zZWQiLCJzZWxlY3Rpb25DaGFuZ2UiLCJ2YWx1ZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2VsZWN0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoicGlwZSIsdHlwZTpUYSxuYW1lOiJnZXRHYXRld2F5SGVscExpbmsifV0sY2hhbmdlRGV0ZWN0aW9uOnQuQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNofSl9fWUoIkRldmljZUluZm9UYWJsZUNvbXBvbmVudCIsb28pLEhlKFtOKCldLG9vLnByb3RvdHlwZSwidXNlU291cmNlIix2b2lkIDApLEhlKFtOKCldLG9vLnByb3RvdHlwZSwicmVxdWlyZWQiLHZvaWQgMCksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpvbyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItZGV2aWNlLWluZm8tdGFibGUiLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5vbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+b28pKSxtdWx0aTohMH1dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuXG48ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiIFtmb3JtR3JvdXBdPSJtYXBwaW5nRm9ybUdyb3VwIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgW2NsYXNzLnRiLXJlcXVpcmVkXT0icmVxdWlyZWQiIHRyYW5zbGF0ZT5kZXZpY2UuZGV2aWNlPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUgbm8tcGFkZGluZyBuby1nYXAiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtaGVhZGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtaGVhZGVyLWNlbGwgdGFibGUtbmFtZS1jb2x1bW4iIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1pbmZvLmVudGl0eS1maWVsZDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj0idXNlU291cmNlIiBjbGFzcz0idGItZm9ybS10YWJsZS1oZWFkZXItY2VsbCB0YWJsZS1jb2x1bW4iIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1pbmZvLnNvdXJjZTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1oZWFkZXItY2VsbCB0YWJsZS1jb2x1bW4iIHRyYW5zbGF0ZT5cbiAgICAgICAgZ2F0ZXdheS5kZXZpY2UtaW5mby5leHByZXNzaW9uXG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXRhYmxlLWJvZHkgbm8tZ2FwIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtcm93IHRiLWZvcm0tcm93IG5vLWJvcmRlciBzYW1lLXBhZGRpbmcgdG9wLXNhbWUtcGFkZGluZyJcbiAgICAgICAgICAgW2NsYXNzLmJvdHRvbS1zYW1lLXBhZGRpbmddPSJkZXZpY2VJbmZvVHlwZSAhPT0gRGV2aWNlSW5mb1R5cGUuRlVMTCI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5kZXZpY2UtaW5mby5uYW1lPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIHJhdy12YWx1ZS1vcHRpb24iICpuZ0lmPSJ1c2VTb3VyY2UiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVFeHByZXNzaW9uU291cmNlIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBzb3VyY2VUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAge3sgU291cmNlVHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXRhYmxlLXJvdy1jZWxsIHRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1pbmZvLmRldmljZS1uYW1lLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlTmFtZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9IlwnbmFtZS1maWVsZFwnIHwgZ2V0R2F0ZXdheUhlbHBMaW5rIDogbWFwcGluZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZVwnKS52YWx1ZSA6IHNvdXJjZVR5cGVzIlxuICAgICAgICAgICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09IlwnbmFtZS1maWVsZFwnIHwgZ2V0R2F0ZXdheUhlbHBMaW5rIDogbWFwcGluZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZVwnKS52YWx1ZSA6IHNvdXJjZVR5cGVzIlxuICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtcm93IHRiLWZvcm0tcm93IG5vLWJvcmRlciBzYW1lLXBhZGRpbmcgYm90dG9tLXNhbWUtcGFkZGluZyJcbiAgICAgICAgICAgKm5nSWY9ImRldmljZUluZm9UeXBlID09PSBEZXZpY2VJbmZvVHlwZS5GVUxMIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1pbmZvLnByb2ZpbGUtbmFtZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCByYXctdmFsdWUtb3B0aW9uIiAqbmdJZj0idXNlU291cmNlIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VQcm9maWxlRXhwcmVzc2lvblNvdXJjZSI+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2Ygc291cmNlVHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgIHt7IFNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1yb3ctY2VsbCB0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VQcm9maWxlRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2UtaW5mby5kZXZpY2UtcHJvZmlsZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZVByb2ZpbGVFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VQcm9maWxlRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPSJcJ3Byb2ZpbGUtbmFtZVwnIHwgZ2V0R2F0ZXdheUhlbHBMaW5rOiBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlXCcpLnZhbHVlIDogc291cmNlVHlwZXMiXG4gICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCdwcm9maWxlLW5hbWVcJyB8IGdldEdhdGV3YXlIZWxwTGluazogbWFwcGluZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VQcm9maWxlRXhwcmVzc2lvblNvdXJjZVwnKS52YWx1ZSA6IHNvdXJjZVR5cGVzIlxuICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6YmxvY2t9Omhvc3QgLnRiLWZvcm0tcm93LmJvdHRvbS1zYW1lLXBhZGRpbmd7cGFkZGluZy1ib3R0b206MTZweH06aG9zdCAudGItZm9ybS1yb3cudG9wLXNhbWUtcGFkZGluZ3twYWRkaW5nLXRvcDoxNnB4fTpob3N0IC50Yi1mb3JtLXJvdyAuZml4ZWQtdGl0bGUtd2lkdGh7d2lkdGg6MTklfTpob3N0IC50YWJsZS1jb2x1bW57d2lkdGg6NDAlfTpob3N0IC50YWJsZS1uYW1lLWNvbHVtbnt3aWR0aDoyMCV9Omhvc3QgLnJhdy1uYW1le3dpZHRoOjE5JX06aG9zdCAucmF3LXZhbHVlLW9wdGlvbnttYXgtd2lkdGg6NDAlfTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm90LlN0b3JlfSx7dHlwZTpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0eXBlOkplLk1hdERpYWxvZ30se3R5cGU6bWUuRm9ybUJ1aWxkZXJ9XSxwcm9wRGVjb3JhdG9yczp7dXNlU291cmNlOlt7dHlwZTphfV0scmVxdWlyZWQ6W3t0eXBlOmF9XSxzb3VyY2VUeXBlczpbe3R5cGU6YX1dLGRldmljZUluZm9UeXBlOlt7dHlwZTphfV19fSk7Y2xhc3MgaW8gZXh0ZW5kcyBQe2NvbnN0cnVjdG9yKGUsdCxuLGEsbyxpLHIscyxsKXtzdXBlcihlLHQsYSksdGhpcy5zdG9yZT1lLHRoaXMucm91dGVyPXQsdGhpcy5kYXRhPW4sdGhpcy5kaWFsb2dSZWY9YSx0aGlzLmZiPW8sdGhpcy5wb3BvdmVyU2VydmljZT1pLHRoaXMucmVuZGVyZXI9cix0aGlzLnZpZXdDb250YWluZXJSZWY9cyx0aGlzLnRyYW5zbGF0ZT1sLHRoaXMuTWFwcGluZ1R5cGU9Zm4sdGhpcy5xdWFsaXR5VHlwZXM9eG4sdGhpcy5RdWFsaXR5VHJhbnNsYXRpb25zTWFwPXZuLHRoaXMuY29udmVydG9yVHlwZXM9T2JqZWN0LnZhbHVlcyh3biksdGhpcy5Db252ZXJ0b3JUeXBlRW51bT13bix0aGlzLkNvbnZlcnRvclR5cGVUcmFuc2xhdGlvbnNNYXA9Q24sdGhpcy5zb3VyY2VUeXBlcz1PYmplY3QudmFsdWVzKFRuKSx0aGlzLk9QQ1VhU291cmNlVHlwZXM9T2JqZWN0LnZhbHVlcyhTbiksdGhpcy5PUENVYVNvdXJjZVR5cGVzRW51bT1Tbix0aGlzLnNvdXJjZVR5cGVzRW51bT1Ubix0aGlzLlNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXA9TG4sdGhpcy5yZXF1ZXN0VHlwZXM9T2JqZWN0LnZhbHVlcyhJbiksdGhpcy5SZXF1ZXN0VHlwZUVudW09SW4sdGhpcy5SZXF1ZXN0VHlwZXNUcmFuc2xhdGlvbnNNYXA9QW4sdGhpcy5EZXZpY2VJbmZvVHlwZT1rbix0aGlzLlNlcnZlclNpZGVSUENUeXBlPVBuLHRoaXMuTWFwcGluZ0tleXNUeXBlPU5uLHRoaXMuTWFwcGluZ0hpbnRUcmFuc2xhdGlvbnNNYXA9Ym4sdGhpcy5NYXBwaW5nVHlwZVRyYW5zbGF0aW9uc01hcD15bix0aGlzLkRhdGFDb252ZXJzaW9uVHJhbnNsYXRpb25zTWFwPUJuLHRoaXMuSGVscExpbmtCeU1hcHBpbmdUeXBlTWFwPWhuLHRoaXMua2V5c1BvcHVwQ2xvc2VkPSEwLHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMuY3JlYXRlTWFwcGluZ0Zvcm0oKX1nZXQgY29udmVydGVyQXR0cmlidXRlcygpe2lmKHRoaXMuY29udmVydGVyVHlwZSlyZXR1cm4gdGhpcy5tYXBwaW5nRm9ybS5nZXQoImNvbnZlcnRlciIpLmdldCh0aGlzLmNvbnZlcnRlclR5cGUpLnZhbHVlLmF0dHJpYnV0ZXMubWFwKChlPT5lLmtleSkpfWdldCBjb252ZXJ0ZXJUZWxlbWV0cnkoKXtpZih0aGlzLmNvbnZlcnRlclR5cGUpcmV0dXJuIHRoaXMubWFwcGluZ0Zvcm0uZ2V0KCJjb252ZXJ0ZXIiKS5nZXQodGhpcy5jb252ZXJ0ZXJUeXBlKS52YWx1ZS50aW1lc2VyaWVzLm1hcCgoZT0+ZS5rZXkpKX1nZXQgb3BjQXR0cmlidXRlcygpe3JldHVybiB0aGlzLm1hcHBpbmdGb3JtLmdldCgiYXR0cmlidXRlcyIpLnZhbHVlPy5tYXAoKGU9PmUua2V5KSl8fFtdfWdldCBvcGNUZWxlbWV0cnkoKXtyZXR1cm4gdGhpcy5tYXBwaW5nRm9ybS5nZXQoInRpbWVzZXJpZXMiKS52YWx1ZT8ubWFwKChlPT5lLmtleSkpfHxbXX1nZXQgb3BjUnBjTWV0aG9kcygpe3JldHVybiB0aGlzLm1hcHBpbmdGb3JtLmdldCgicnBjX21ldGhvZHMiKS52YWx1ZT8ubWFwKChlPT5lLm1ldGhvZCkpfHxbXX1nZXQgb3BjQXR0cmlidXRlc1VwZGF0ZXMoKXtyZXR1cm4gdGhpcy5tYXBwaW5nRm9ybS5nZXQoImF0dHJpYnV0ZXNfdXBkYXRlcyIpPy52YWx1ZT8ubWFwKChlPT5lLmtleSkpfHxbXX1nZXQgY29udmVydGVyVHlwZSgpe3JldHVybiB0aGlzLm1hcHBpbmdGb3JtLmdldCgiY29udmVydGVyIikuZ2V0KCJ0eXBlIikudmFsdWV9Z2V0IGN1c3RvbUtleXMoKXtyZXR1cm4gT2JqZWN0LmtleXModGhpcy5tYXBwaW5nRm9ybS5nZXQoImNvbnZlcnRlciIpLmdldCgiY3VzdG9tIikudmFsdWUuZXh0ZW5zaW9uQ29uZmlnKX1nZXQgcmVxdWVzdE1hcHBpbmdUeXBlKCl7cmV0dXJuIHRoaXMubWFwcGluZ0Zvcm0uZ2V0KCJyZXF1ZXN0VHlwZSIpLnZhbHVlfWdldCByZXNwb25zZVRpbWVvdXRFcnJvclRvb2x0aXAoKXtjb25zdCBlPXRoaXMubWFwcGluZ0Zvcm0uZ2V0KCJyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5yZXNwb25zZVRpbWVvdXQiKTtyZXR1cm4gZS5oYXNFcnJvcigicmVxdWlyZWQiKT90aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LnJlc3BvbnNlLXRpbWVvdXQtcmVxdWlyZWQiKTplLmhhc0Vycm9yKCJtaW4iKT90aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LnJlc3BvbnNlLXRpbWVvdXQtbGltaXRzLWVycm9yIix7bWluOjF9KToiIn1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKSxzdXBlci5uZ09uRGVzdHJveSgpfWNyZWF0ZU1hcHBpbmdGb3JtKCl7c3dpdGNoKHRoaXMuZGF0YS5tYXBwaW5nVHlwZSl7Y2FzZSBmbi5EQVRBOnRoaXMubWFwcGluZ0Zvcm09dGhpcy5mYi5ncm91cCh7fSksdGhpcy5jcmVhdGVEYXRhTWFwcGluZ0Zvcm0oKTticmVhaztjYXNlIGZuLlJFUVVFU1RTOnRoaXMubWFwcGluZ0Zvcm09dGhpcy5mYi5ncm91cCh7fSksdGhpcy5jcmVhdGVSZXF1ZXN0TWFwcGluZ0Zvcm0oKTticmVhaztjYXNlIGZuLk9QQ1VBOnRoaXMuY3JlYXRlT1BDVUFNYXBwaW5nRm9ybSgpfX1jYW5jZWwoKXt0aGlzLmtleXNQb3B1cENsb3NlZCYmdGhpcy5kaWFsb2dSZWYuY2xvc2UobnVsbCl9YWRkKCl7dGhpcy5tYXBwaW5nRm9ybS52YWxpZCYmdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5wcmVwYXJlTWFwcGluZ0RhdGEoKSl9bWFuYWdlS2V5cyhlLHQsbil7ZSYmZS5zdG9wUHJvcGFnYXRpb24oKTtjb25zdCBhPXQuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtpZih0aGlzLnBvcG92ZXJTZXJ2aWNlLmhhc1BvcG92ZXIoYSkpdGhpcy5wb3BvdmVyU2VydmljZS5oaWRlUG9wb3ZlcihhKTtlbHNle2NvbnN0IGU9KHRoaXMuZGF0YS5tYXBwaW5nVHlwZSE9PWZuLk9QQ1VBP3RoaXMubWFwcGluZ0Zvcm0uZ2V0KCJjb252ZXJ0ZXIiKS5nZXQodGhpcy5jb252ZXJ0ZXJUeXBlKTp0aGlzLm1hcHBpbmdGb3JtKS5nZXQobiksdD17a2V5czplLnZhbHVlLGtleXNUeXBlOm4scmF3RGF0YTp0aGlzLm1hcHBpbmdGb3JtLmdldCgiY29udmVydGVyLnR5cGUiKT8udmFsdWU9PT13bi5CWVRFUyxwYW5lbFRpdGxlOk1uLmdldChuKSxhZGRLZXlUaXRsZTpFbi5nZXQobiksZGVsZXRlS2V5VGl0bGU6cW4uZ2V0KG4pLG5vS2V5c1RleHQ6RG4uZ2V0KG4pfTt0aGlzLmRhdGEubWFwcGluZ1R5cGU9PT1mbi5PUENVQSYmKHQudmFsdWVUeXBlS2V5cz1PYmplY3QudmFsdWVzKFNuKSx0LnZhbHVlVHlwZUVudW09U24sdC52YWx1ZVR5cGVzPUxuKSx0aGlzLmtleXNQb3B1cENsb3NlZD0hMTtjb25zdCBvPXRoaXMucG9wb3ZlclNlcnZpY2UuZGlzcGxheVBvcG92ZXIoYSx0aGlzLnJlbmRlcmVyLHRoaXMudmlld0NvbnRhaW5lclJlZixhbywibGVmdEJvdHRvbSIsITEsbnVsbCx0LHt9LHt9LHt9LCEwKTtvLnRiQ29tcG9uZW50UmVmLmluc3RhbmNlLnBvcG92ZXI9byxvLnRiQ29tcG9uZW50UmVmLmluc3RhbmNlLmtleXNEYXRhQXBwbGllZC5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHQ9PntvLmhpZGUoKSxlLnBhdGNoVmFsdWUodCksZS5tYXJrQXNEaXJ0eSgpfSkpLG8udGJIaWRlU3RhcnQucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMua2V5c1BvcHVwQ2xvc2VkPSEwfSkpfX1wcmVwYXJlTWFwcGluZ0RhdGEoKXtjb25zdCBlPXRoaXMubWFwcGluZ0Zvcm0udmFsdWU7c3dpdGNoKHRoaXMuZGF0YS5tYXBwaW5nVHlwZSl7Y2FzZSBmbi5EQVRBOmNvbnN0e2NvbnZlcnRlcjp0LHRvcGljRmlsdGVyOm4sc3Vic2NyaXB0aW9uUW9zOmF9PWU7cmV0dXJue3RvcGljRmlsdGVyOm4sc3Vic2NyaXB0aW9uUW9zOmEsY29udmVydGVyOnt0eXBlOnQudHlwZSwuLi50W3QudHlwZV19fTtjYXNlIGZuLlJFUVVFU1RTOnJldHVybntyZXF1ZXN0VHlwZTplLnJlcXVlc3RUeXBlLHJlcXVlc3RWYWx1ZTplLnJlcXVlc3RWYWx1ZVtlLnJlcXVlc3RUeXBlXX07ZGVmYXVsdDpyZXR1cm4gZX19Z2V0Rm9ybVZhbHVlRGF0YSgpe2lmKHRoaXMuZGF0YS52YWx1ZSYmT2JqZWN0LmtleXModGhpcy5kYXRhLnZhbHVlKS5sZW5ndGgpc3dpdGNoKHRoaXMuZGF0YS5tYXBwaW5nVHlwZSl7Y2FzZSBmbi5EQVRBOmNvbnN0e2NvbnZlcnRlcjplLHRvcGljRmlsdGVyOnQsc3Vic2NyaXB0aW9uUW9zOm59PXRoaXMuZGF0YS52YWx1ZTtyZXR1cm57dG9waWNGaWx0ZXI6dCxzdWJzY3JpcHRpb25Rb3M6bixjb252ZXJ0ZXI6e3R5cGU6ZS50eXBlLFtlLnR5cGVdOnsuLi5lfX19O2Nhc2UgZm4uUkVRVUVTVFM6cmV0dXJue3JlcXVlc3RUeXBlOnRoaXMuZGF0YS52YWx1ZS5yZXF1ZXN0VHlwZSxyZXF1ZXN0VmFsdWU6e1t0aGlzLmRhdGEudmFsdWUucmVxdWVzdFR5cGVdOnRoaXMuZGF0YS52YWx1ZS5yZXF1ZXN0VmFsdWV9fTtkZWZhdWx0OnJldHVybiB0aGlzLmRhdGEudmFsdWV9fWNyZWF0ZURhdGFNYXBwaW5nRm9ybSgpe3RoaXMubWFwcGluZ0Zvcm0uYWRkQ29udHJvbCgidG9waWNGaWx0ZXIiLHRoaXMuZmIuY29udHJvbCgiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldKSksdGhpcy5tYXBwaW5nRm9ybS5hZGRDb250cm9sKCJzdWJzY3JpcHRpb25Rb3MiLHRoaXMuZmIuY29udHJvbCgwKSksdGhpcy5tYXBwaW5nRm9ybS5hZGRDb250cm9sKCJjb252ZXJ0ZXIiLHRoaXMuZmIuZ3JvdXAoe3R5cGU6W3duLkpTT04sW11dLGpzb246dGhpcy5mYi5ncm91cCh7ZGV2aWNlSW5mbzpbe30sW11dLGF0dHJpYnV0ZXM6W1tdLFtdXSx0aW1lc2VyaWVzOltbXSxbXV19KSxieXRlczp0aGlzLmZiLmdyb3VwKHtkZXZpY2VJbmZvOlt7fSxbXV0sYXR0cmlidXRlczpbW10sW11dLHRpbWVzZXJpZXM6W1tdLFtdXX0pLGN1c3RvbTp0aGlzLmZiLmdyb3VwKHtleHRlbnNpb246WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLGV4dGVuc2lvbkNvbmZpZzpbe30sW11dfSl9KSksdGhpcy5tYXBwaW5nRm9ybS5wYXRjaFZhbHVlKHRoaXMuZ2V0Rm9ybVZhbHVlRGF0YSgpKSx0aGlzLm1hcHBpbmdGb3JtLmdldCgiY29udmVydGVyLnR5cGUiKS52YWx1ZUNoYW5nZXMucGlwZShSZSh0aGlzLm1hcHBpbmdGb3JtLmdldCgiY29udmVydGVyLnR5cGUiKS52YWx1ZSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2NvbnN0IHQ9dGhpcy5tYXBwaW5nRm9ybS5nZXQoImNvbnZlcnRlciIpO3QuZ2V0KCJqc29uIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoImJ5dGVzIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoImN1c3RvbSIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KGUpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSl9KSl9Y3JlYXRlUmVxdWVzdE1hcHBpbmdGb3JtKCl7dGhpcy5tYXBwaW5nRm9ybS5hZGRDb250cm9sKCJyZXF1ZXN0VHlwZSIsdGhpcy5mYi5jb250cm9sKEluLkNPTk5FQ1RfUkVRVUVTVCxbXSkpLHRoaXMubWFwcGluZ0Zvcm0uYWRkQ29udHJvbCgicmVxdWVzdFZhbHVlIix0aGlzLmZiLmdyb3VwKHtjb25uZWN0UmVxdWVzdHM6dGhpcy5mYi5ncm91cCh7dG9waWNGaWx0ZXI6WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLGRldmljZUluZm86W3t9LFtdXX0pLGRpc2Nvbm5lY3RSZXF1ZXN0czp0aGlzLmZiLmdyb3VwKHt0b3BpY0ZpbHRlcjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sZGV2aWNlSW5mbzpbe30sW11dfSksYXR0cmlidXRlUmVxdWVzdHM6dGhpcy5mYi5ncm91cCh7dG9waWNGaWx0ZXI6WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLGRldmljZUluZm86dGhpcy5mYi5ncm91cCh7ZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2U6W1RuLk1TRyxbXV0sZGV2aWNlTmFtZUV4cHJlc3Npb246WyIiLFt1ZS5yZXF1aXJlZF1dfSksYXR0cmlidXRlTmFtZUV4cHJlc3Npb25Tb3VyY2U6W1RuLk1TRyxbXV0sYXR0cmlidXRlTmFtZUV4cHJlc3Npb246WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHRvcGljRXhwcmVzc2lvbjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sdmFsdWVFeHByZXNzaW9uOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxyZXRhaW46WyExLFtdXX0pLGF0dHJpYnV0ZVVwZGF0ZXM6dGhpcy5mYi5ncm91cCh7ZGV2aWNlTmFtZUZpbHRlcjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sYXR0cmlidXRlRmlsdGVyOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx0b3BpY0V4cHJlc3Npb246WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHZhbHVlRXhwcmVzc2lvbjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmV0YWluOlshMCxbXV19KSxzZXJ2ZXJTaWRlUnBjOnRoaXMuZmIuZ3JvdXAoe3R5cGU6W1BuLlRXT19XQVksW11dLGRldmljZU5hbWVGaWx0ZXI6WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLG1ldGhvZEZpbHRlcjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVxdWVzdFRvcGljRXhwcmVzc2lvbjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVzcG9uc2VUb3BpY0V4cHJlc3Npb246WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHZhbHVlRXhwcmVzc2lvbjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVzcG9uc2VUb3BpY1FvUzpbMCxbXV0scmVzcG9uc2VUaW1lb3V0OlsxZTQsW3VlLnJlcXVpcmVkLHVlLm1pbigxKV1dfSl9KSksdGhpcy5tYXBwaW5nRm9ybS5nZXQoInJlcXVlc3RUeXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoUmUodGhpcy5tYXBwaW5nRm9ybS5nZXQoInJlcXVlc3RUeXBlIikudmFsdWUpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pntjb25zdCB0PXRoaXMubWFwcGluZ0Zvcm0uZ2V0KCJyZXF1ZXN0VmFsdWUiKTt0LmdldCgiY29ubmVjdFJlcXVlc3RzIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoImRpc2Nvbm5lY3RSZXF1ZXN0cyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJhdHRyaWJ1dGVSZXF1ZXN0cyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJhdHRyaWJ1dGVVcGRhdGVzIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoInNlcnZlclNpZGVScGMiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSx0LmdldChlKS5lbmFibGUoKX0pKSx0aGlzLm1hcHBpbmdGb3JtLmdldCgicmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMudHlwZSIpLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pntjb25zdCB0PXRoaXMubWFwcGluZ0Zvcm0uZ2V0KCJyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYyIpO2U9PT1Qbi5PTkVfV0FZPyh0LmdldCgicmVzcG9uc2VUb3BpY0V4cHJlc3Npb24iKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSx0LmdldCgicmVzcG9uc2VUb3BpY1FvUyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJyZXNwb25zZVRpbWVvdXQiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSk6KHQuZ2V0KCJyZXNwb25zZVRvcGljRXhwcmVzc2lvbiIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoInJlc3BvbnNlVG9waWNRb1MiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJyZXNwb25zZVRpbWVvdXQiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pKX0pKSx0aGlzLm1hcHBpbmdGb3JtLnBhdGNoVmFsdWUodGhpcy5nZXRGb3JtVmFsdWVEYXRhKCkpfWNyZWF0ZU9QQ1VBTWFwcGluZ0Zvcm0oKXt0aGlzLm1hcHBpbmdGb3JtPXRoaXMuZmIuZ3JvdXAoe2RldmljZU5vZGVTb3VyY2U6W1NuLlBBVEgsW11dLGRldmljZU5vZGVQYXR0ZXJuOlsiIixbdWUucmVxdWlyZWRdXSxkZXZpY2VJbmZvOlt7fSxbXV0sYXR0cmlidXRlczpbW10sW11dLHRpbWVzZXJpZXM6W1tdLFtdXSxycGNfbWV0aG9kczpbW10sW11dLGF0dHJpYnV0ZXNfdXBkYXRlczpbW10sW11dfSksdGhpcy5tYXBwaW5nRm9ybS5wYXRjaFZhbHVlKHRoaXMuZ2V0Rm9ybVZhbHVlRGF0YSgpKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmlvLGRlcHM6W3t0b2tlbjpvdC5TdG9yZX0se3Rva2VuOml0LlJvdXRlcn0se3Rva2VuOlhlfSx7dG9rZW46SmUuTWF0RGlhbG9nUmVmfSx7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjpmdC5UYlBvcG92ZXJTZXJ2aWNlfSx7dG9rZW46dC5SZW5kZXJlcjJ9LHt0b2tlbjp0LlZpZXdDb250YWluZXJSZWZ9LHt0b2tlbjpZLlRyYW5zbGF0ZVNlcnZpY2V9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOmlvLHNlbGVjdG9yOiJ0Yi1tYXBwaW5nLWRpYWxvZyIsdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG5cbjxkaXYgW2Zvcm1Hcm91cF09Im1hcHBpbmdGb3JtIiBjbGFzcz0ia2V5LW1hcHBpbmciPlxuICA8bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICAgIDxoMj57eyBNYXBwaW5nVHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodGhpcy5kYXRhPy5tYXBwaW5nVHlwZSkgfCB0cmFuc2xhdGV9fTwvaDI+XG4gICAgPHNwYW4gZnhGbGV4Pjwvc3Bhbj5cbiAgICA8ZGl2IFt0Yi1oZWxwXT0iSGVscExpbmtCeU1hcHBpbmdUeXBlTWFwLmdldCh0aGlzLmRhdGEubWFwcGluZ1R5cGUpIj48L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L21hdC10b29sYmFyPlxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwiPlxuICAgICAgICB7eyBNYXBwaW5nSGludFRyYW5zbGF0aW9uc01hcC5nZXQodGhpcy5kYXRhPy5tYXBwaW5nVHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJkYXRhLm1hcHBpbmdUeXBlIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJNYXBwaW5nVHlwZS5EQVRBIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS50b3BpYy1maWx0ZXI8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idG9waWNGaWx0ZXIiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnRvcGljLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwndG9waWNGaWx0ZXJcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwndG9waWNGaWx0ZXJcJykudG91Y2hlZDsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS90b3BpYy1maWx0ZXJfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5yZXNwb25zZS10b3BpYy1Rb3MtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1xdHQtcW9zXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ic3Vic2NyaXB0aW9uUW9zIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2YgcXVhbGl0eVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAge3sgUXVhbGl0eVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIGZvcm1Hcm91cE5hbWU9ImNvbnZlcnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucGF5bG9hZC10eXBlPC9kaXY+XG4gICAgICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBjb252ZXJ0b3JUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAgICB7eyBDb252ZXJ0b3JUeXBlVHJhbnNsYXRpb25zTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5kYXRhLWNvbnZlcnNpb248L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCI+XG4gICAgICAgICAgICAgICAge3sgRGF0YUNvbnZlcnNpb25UcmFuc2xhdGlvbnNNYXAuZ2V0KGNvbnZlcnRlclR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBOYW1lXT0iY29udmVydGVyVHlwZSIgW25nU3dpdGNoXT0iY29udmVydGVyVHlwZSI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb252ZXJ0b3JUeXBlRW51bS5KU09OIj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1kZXZpY2UtaW5mby10YWJsZSBmb3JtQ29udHJvbE5hbWU9ImRldmljZUluZm8iIFtkZXZpY2VJbmZvVHlwZV09IkRldmljZUluZm9UeXBlLkZVTEwiIHJlcXVpcmVkPSJ0cnVlIj5cbiAgICAgICAgICAgICAgICAgIDwvdGItZGV2aWNlLWluZm8tdGFibGU+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbnZlcnRvclR5cGVFbnVtLkJZVEVTIj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1kZXZpY2UtaW5mby10YWJsZSBmb3JtQ29udHJvbE5hbWU9ImRldmljZUluZm8iIFtkZXZpY2VJbmZvVHlwZV09IkRldmljZUluZm9UeXBlLkZVTEwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NvdXJjZVR5cGVzXT0iW3NvdXJjZVR5cGVzRW51bS5NU0csIHNvdXJjZVR5cGVzRW51bS5DT05TVF0iIHJlcXVpcmVkPSJ0cnVlIj5cbiAgICAgICAgICAgICAgICAgIDwvdGItZGV2aWNlLWluZm8tdGFibGU+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIlxuICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImNvbnZlcnRlclR5cGUgPT09IENvbnZlcnRvclR5cGVFbnVtLkJZVEVTIHx8IGNvbnZlcnRlclR5cGUgPT09IENvbnZlcnRvclR5cGVFbnVtLkpTT04iPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZXM8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0Ym94IFt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdPSJjb252ZXJ0ZXJBdHRyaWJ1dGVzIiBjbGFzcz0idGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCBhdHRyaWJ1dGUgb2YgY29udmVydGVyQXR0cmlidXRlcyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgYXR0cmlidXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNhdHRyaWJ1dGVzQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgYXR0cmlidXRlc0J1dHRvbiwgTWFwcGluZ0tleXNUeXBlLkFUVFJJQlVURVMpIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50aW1lc2VyaWVzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggZWxsaXBzaXMtY2hpcHMtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoaXAtbGlzdGJveCBjbGFzcz0idGItZmxleCIgW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09ImNvbnZlcnRlclRlbGVtZXRyeSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgdGVsZW1ldHJ5IG9mIGNvbnZlcnRlclRlbGVtZXRyeSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRlbGVtZXRyeSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3RlbGVtZXRyeUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIHRlbGVtZXRyeUJ1dHRvbiwgTWFwcGluZ0tleXNUeXBlLlRJTUVTRVJJRVMpIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIiAqbmdJZj0iY29udmVydGVyVHlwZSA9PT0gQ29udmVydG9yVHlwZUVudW0uQ1VTVE9NIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmV4dGVuc2lvbi1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5leHRlbnNpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZXh0ZW5zaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmV4dGVuc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwnY29udmVydGVyLmN1c3RvbS5leHRlbnNpb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdjb252ZXJ0ZXIuY3VzdG9tLmV4dGVuc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gc2FtZS1wYWRkaW5nIHRiLWZsZXggY29sdW1uIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuZXh0ZW5zaW9uLWNvbmZpZ3VyYXRpb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCI+e3sgXCdnYXRld2F5LmV4dGVuc2lvbi1jb25maWd1cmF0aW9uLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5rZXlzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09ImN1c3RvbUtleXMiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IHRlbGVtZXRyeSBvZiBjdXN0b21LZXlzIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB0ZWxlbWV0cnkgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAja2V5c0J1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwga2V5c0J1dHRvbiwgTWFwcGluZ0tleXNUeXBlLkNVU1RPTSkiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGItaWNvbiBtYXRCdXR0b25JY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJNYXBwaW5nVHlwZS5SRVFVRVNUUyI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnJlcXVlc3QtdHlwZTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icmVxdWVzdFR5cGUiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHJlcXVlc3RUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgUmVxdWVzdFR5cGVzVHJhbnNsYXRpb25zTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgZm9ybUdyb3VwTmFtZT0icmVxdWVzdFZhbHVlIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlXCcpLmdldChyZXF1ZXN0TWFwcGluZ1R5cGUpIiBbbmdTd2l0Y2hdPSJyZXF1ZXN0TWFwcGluZ1R5cGUiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiXG4gICAgICAgICAgICAgICAgICAgICAqbmdJZj0icmVxdWVzdE1hcHBpbmdUeXBlID09PSBSZXF1ZXN0VHlwZUVudW0uQVRUUklCVVRFX1JFUVVFU1QgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0TWFwcGluZ1R5cGUgPT09IFJlcXVlc3RUeXBlRW51bS5DT05ORUNUX1JFUVVFU1QgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0TWFwcGluZ1R5cGUgPT09IFJlcXVlc3RUeXBlRW51bS5ESVNDT05ORUNUX1JFUVVFU1QiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnRvcGljLWZpbHRlcjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgW2Zvcm1Db250cm9sXT0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlXCcpLmdldChyZXF1ZXN0TWFwcGluZ1R5cGUpLmdldChcJ3RvcGljRmlsdGVyXCcpIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS50b3BpYy1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZVwnKS5nZXQocmVxdWVzdE1hcHBpbmdUeXBlKS5nZXQoXCd0b3BpY0ZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWVcJykuZ2V0KHJlcXVlc3RNYXBwaW5nVHlwZSkuZ2V0KFwndG9waWNGaWx0ZXJcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L3RvcGljLWZpbHRlcl9mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IlJlcXVlc3RUeXBlRW51bS5DT05ORUNUX1JFUVVFU1QiPlxuICAgICAgICAgICAgICAgICAgPHRiLWRldmljZS1pbmZvLXRhYmxlIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlSW5mbyIgW2RldmljZUluZm9UeXBlXT0iRGV2aWNlSW5mb1R5cGUuRlVMTCIgcmVxdWlyZWQ9InRydWUiPlxuICAgICAgICAgICAgICAgICAgPC90Yi1kZXZpY2UtaW5mby10YWJsZT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iUmVxdWVzdFR5cGVFbnVtLkRJU0NPTk5FQ1RfUkVRVUVTVCI+XG4gICAgICAgICAgICAgICAgICA8dGItZGV2aWNlLWluZm8tdGFibGUgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VJbmZvIiBbZGV2aWNlSW5mb1R5cGVdPSJEZXZpY2VJbmZvVHlwZS5QQVJUSUFMIiByZXF1aXJlZD0idHJ1ZSI+XG4gICAgICAgICAgICAgICAgICA8L3RiLWRldmljZS1pbmZvLXRhYmxlPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJSZXF1ZXN0VHlwZUVudW0uQVRUUklCVVRFX1JFUVVFU1QiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZnJvbS1kZXZpY2UtcmVxdWVzdC1zZXR0aW5nczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgZ2F0ZXdheS5mcm9tLWRldmljZS1yZXF1ZXN0LXNldHRpbmdzLWhpbnRcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiIGZvcm1Hcm91cE5hbWU9ImRldmljZUluZm8iPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLWZsZXggbm8tZmxleCBhbGlnbi1jZW50ZXIiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5kZXZpY2UtaW5mby5kZXZpY2UtbmFtZS1leHByZXNzaW9uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVFeHByZXNzaW9uU291cmNlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNvdXJjZVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2UtaW5mby5kZXZpY2UtbmFtZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iKG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy5kZXZpY2VJbmZvLmRldmljZU5hbWVFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy5kZXZpY2VJbmZvLmRldmljZU5hbWVFeHByZXNzaW9uXCcpLnRvdWNoZWQpIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5hdHRyaWJ1dGUtbmFtZS1leHByZXNzaW9uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImF0dHJpYnV0ZU5hbWVFeHByZXNzaW9uU291cmNlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNvdXJjZVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImF0dHJpYnV0ZU5hbWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuYXR0cmlidXRlLW5hbWUtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlUmVxdWVzdHMuYXR0cmlidXRlTmFtZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy5hdHRyaWJ1dGVOYW1lRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUgdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnRvLWRldmljZS1yZXNwb25zZS1zZXR0aW5nczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgZ2F0ZXdheS50by1kZXZpY2UtcmVzcG9uc2Utc2V0dGluZ3MtaGludFxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlc3BvbnNlLXZhbHVlLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkucmVzcG9uc2UtdmFsdWUtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlUmVxdWVzdHMudmFsdWVFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlUmVxdWVzdHMudmFsdWVFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlc3BvbnNlLXRvcGljLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idG9waWNFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkucmVzcG9uc2UtdG9waWMtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlUmVxdWVzdHMudG9waWNFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlUmVxdWVzdHMudG9waWNFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXRhaW4iPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LnJldGFpbi1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0YWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iUmVxdWVzdFR5cGVFbnVtLkFUVFJJQlVURV9VUERBVEUiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmRldmljZS1uYW1lLWZpbHRlclwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VOYW1lRmlsdGVyIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1uYW1lLWZpbHRlci1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVVwZGF0ZXMuZGV2aWNlTmFtZUZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLmRldmljZU5hbWVGaWx0ZXJcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuYXR0cmlidXRlLWZpbHRlci1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5hdHRyaWJ1dGUtZmlsdGVyXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImF0dHJpYnV0ZUZpbHRlciIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5hdHRyaWJ1dGUtZmlsdGVyLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy5hdHRyaWJ1dGVGaWx0ZXJcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLmF0dHJpYnV0ZUZpbHRlclwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkucmVzcG9uc2UtdmFsdWUtZXhwcmVzc2lvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkucmVzcG9uc2UtdmFsdWUtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVVwZGF0ZXMudmFsdWVFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy52YWx1ZUV4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5yZXNwb25zZS10b3BpYy1leHByZXNzaW9uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRvcGljRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXNwb25zZS10b3BpYy1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy50b3BpY0V4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy50b3BpY0V4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgZml4ZWQtdGl0bGUtd2lkdGgiIGZvcm1Db250cm9sTmFtZT0icmV0YWluIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkucmV0YWluLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0YWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IlJlcXVlc3RUeXBlRW51bS5TRVJWRVJfU0lERV9SUEMiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCByb3cgY2VudGVyIGFsaWduLWNlbnRlciBuby1nYXAgZmlsbC13aWR0aCI+XG4gICAgICAgICAgICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gW3ZhbHVlXT0iU2VydmVyU2lkZVJQQ1R5cGUuVFdPX1dBWSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkud2l0aC1yZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uIFt2YWx1ZV09IlNlcnZlclNpZGVSUENUeXBlLk9ORV9XQVkiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LndpdGhvdXQtcmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmRldmljZS1uYW1lLWZpbHRlclwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VOYW1lRmlsdGVyIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1uYW1lLWZpbHRlci1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMuZGV2aWNlTmFtZUZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMuZGV2aWNlTmFtZUZpbHRlclwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5tZXRob2QtZmlsdGVyLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1ldGhvZC1maWx0ZXJcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lm1ldGhvZC1maWx0ZXItcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLm1ldGhvZEZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMubWV0aG9kRmlsdGVyXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5yZXF1ZXN0LXRvcGljLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icmVxdWVzdFRvcGljRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXF1ZXN0LXRvcGljLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlcXVlc3RUb3BpY0V4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlcXVlc3RUb3BpY0V4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS52YWx1ZS1leHByZXNzaW9uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InZhbHVlRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy52YWx1ZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnZhbHVlRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy50eXBlXCcpLnZhbHVlID09PSBTZXJ2ZXJTaWRlUlBDVHlwZS5UV09fV0FZIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlc3BvbnNlLXRvcGljLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUb3BpY0V4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXNwb25zZS10b3BpYy1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlc3BvbnNlVG9waWNFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5yZXNwb25zZVRvcGljRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LnJlc3BvbnNlLXRvcGljLVFvcy1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJlc3BvbnNlLXRvcGljLVFvc1wnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRvcGljUW9TIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBxdWFsaXR5VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFF1YWxpdHlUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlc3BvbnNlLXRpbWVvdXQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIHR5cGU9Im51bWJlciIgbWluPSIxIiBmb3JtQ29udHJvbE5hbWU9InJlc3BvbnNlVGltZW91dCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0icmVzcG9uc2VUaW1lb3V0RXJyb3JUb29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5yZXNwb25zZVRpbWVvdXRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5yZXNwb25zZVRpbWVvdXRcJykuaGFzRXJyb3IoXCdtaW5cJykpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlc3BvbnNlVGltZW91dFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iTWFwcGluZ1R5cGUuT1BDVUEiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBhbGlnbi1jZW50ZXIiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuZGV2aWNlLW5vZGUtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZGV2aWNlLW5vZGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBkZXZpY2UtY29uZmlnIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5vZGVTb3VyY2UiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBbT1BDVWFTb3VyY2VUeXBlc0VudW0uUEFUSCwgT1BDVWFTb3VyY2VUeXBlc0VudW0uSURFTlRJRklFUl0iIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICB7eyBTb3VyY2VUeXBlVHJhbnNsYXRpb25zTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBkZXZpY2Utbm9kZS1wYXR0ZXJuLWZpZWxkIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VOb2RlUGF0dGVybiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLW5vZGUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSIobWFwcGluZ0Zvcm0uZ2V0KFwnZGV2aWNlTm9kZVBhdHRlcm5cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ2RldmljZU5vZGVQYXR0ZXJuXCcpLnRvdWNoZWQpIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCdkZXZpY2Utbm9kZVwnIHwgZ2V0R2F0ZXdheUhlbHBMaW5rOiBtYXBwaW5nRm9ybS5nZXQoXCdkZXZpY2VOb2RlU291cmNlXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dGItZGV2aWNlLWluZm8tdGFibGUgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VJbmZvIiBbc291cmNlVHlwZXNdPSJPUENVYVNvdXJjZVR5cGVzIiBbZGV2aWNlSW5mb1R5cGVdPSJEZXZpY2VJbmZvVHlwZS5GVUxMIiByZXF1aXJlZD0idHJ1ZSI+XG4gICAgICAgICAgPC90Yi1kZXZpY2UtaW5mby10YWJsZT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZXM8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggZWxsaXBzaXMtY2hpcHMtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09Im9wY0F0dHJpYnV0ZXMiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgYXR0cmlidXRlIG9mIG9wY0F0dHJpYnV0ZXMiPlxuICAgICAgICAgICAgICAgICAge3sgYXR0cmlidXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICNvcGNBdHRyaWJ1dGVzQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIG9wY0F0dHJpYnV0ZXNCdXR0b24sIE1hcHBpbmdLZXlzVHlwZS5BVFRSSUJVVEVTKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudGltZXNlcmllczwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgICAgICAgICA8bWF0LWNoaXAtbGlzdGJveCBjbGFzcz0idGItZmxleCIgW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09Im9wY1RlbGVtZXRyeSI+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IHRlbGVtZXRyeSBvZiBvcGNUZWxlbWV0cnkiPlxuICAgICAgICAgICAgICAgICAge3sgdGVsZW1ldHJ5IH19XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICNvcGNUZWxlbWV0cnlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgb3BjVGVsZW1ldHJ5QnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuVElNRVNFUklFUykiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZS11cGRhdGVzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0Ym94IFt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdPSJvcGNBdHRyaWJ1dGVzVXBkYXRlcyIgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCBhdHRyaWJ1dGUgb2Ygb3BjQXR0cmlidXRlc1VwZGF0ZXMiPlxuICAgICAgICAgICAgICAgICAge3sgYXR0cmlidXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICNhdHRyaWJ1dGVzVXBkYXRlc0J1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZUtleXMoJGV2ZW50LCBhdHRyaWJ1dGVzVXBkYXRlc0J1dHRvbiwgTWFwcGluZ0tleXNUeXBlLkFUVFJJQlVURVNfVVBEQVRFUykiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnJwYy1tZXRob2RzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0Ym94IFt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdPSJvcGNScGNNZXRob2RzIiBjbGFzcz0idGItZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZSBvZiBvcGNScGNNZXRob2RzIj5cbiAgICAgICAgICAgICAgICAgIHt7IGF0dHJpYnV0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAjcnBjTWV0aG9kc0J1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZUtleXMoJGV2ZW50LCBycGNNZXRob2RzQnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuUlBDX01FVEhPRFMpIj5cbiAgICAgICAgICAgICAgICA8dGItaWNvbiBtYXRCdXR0b25JY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIGNka0ZvY3VzSW5pdGlhbFxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0iYWRkKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJtYXBwaW5nRm9ybS5pbnZhbGlkIHx8ICFtYXBwaW5nRm9ybS5kaXJ0eSB8fCAha2V5c1BvcHVwQ2xvc2VkIj5cbiAgICAgIHt7IHRoaXMuZGF0YS5idXR0b25UaXRsZSB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e2Rpc3BsYXk6Z3JpZDtoZWlnaHQ6MTAwJX06aG9zdCAua2V5LW1hcHBpbmd7bWF4LXdpZHRoOjkwMHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Omhvc3QgLmtleS1tYXBwaW5nIC5tYXQtdG9vbGJhcnttaW4taGVpZ2h0OjY0cHh9Omhvc3QgLmtleS1tYXBwaW5nIHRiLXRvZ2dsZS1zZWxlY3R7cGFkZGluZzo0cHggMH06aG9zdCAubWF0LW1kYy1kaWFsb2ctY29udGVudHtoZWlnaHQ6NjcwcHh9Omhvc3QgLmVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lcnttYXgtd2lkdGg6NzAlfTpob3N0IDo6bmctZGVlcCAua2V5LW1hcHBpbmcgLm1hdC1tZGMtY2hpcC1saXN0Ym94IC5tZGMtZXZvbHV0aW9uLWNoaXAtc2V0X19jaGlwc3tqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXgtd3JhcDpub3dyYXB9Omhvc3QgOjpuZy1kZWVwIC50Yi1mb3JtLXJvdyAuZml4ZWQtdGl0bGUtd2lkdGh7bWluLXdpZHRoOjQwcHg7d2lkdGg6MzUlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306aG9zdCA6Om5nLWRlZXAgLnRiLWZvcm0tcm93IC5tYXQtbWRjLWZvcm0tZmllbGR7d2lkdGg6MH06aG9zdCA6Om5nLWRlZXAgLnNlZS1leGFtcGxle3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7bWFyZ2luOjRweH06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtZm9ybS1maWVsZC1pY29uLXN1ZmZpeHtkaXNwbGF5OmZsZXh9Omhvc3QgOjpuZy1kZWVwIC5kZXZpY2UtY29uZmlne2dhcDoxMnB4O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6MTBweH06aG9zdCA6Om5nLWRlZXAgLmRldmljZS1ub2RlLXBhdHRlcm4tZmllbGR7ZmxleC1iYXNpczozJX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaCxzZWxlY3RvcjoiW25nU3dpdGNoXSIsaW5wdXRzOlsibmdTd2l0Y2giXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoQ2FzZSxzZWxlY3RvcjoiW25nU3dpdGNoQ2FzZV0iLGlucHV0czpbIm5nU3dpdGNoQ2FzZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmR0LkhlbHBDb21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oZWxwXSIsaW5wdXRzOlsidGItaGVscCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmd0LkhlbHBQb3B1cENvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhlbHAtcG9wdXBdLCBbdGItaGVscC1wb3B1cC1jb250ZW50XSIsaW5wdXRzOlsidGItaGVscC1wb3B1cCIsInRiLWhlbHAtcG9wdXAtY29udGVudCIsInRyaWdnZXItdGV4dCIsInRyaWdnZXItc3R5bGUiLCJ0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudCIsInRiLWhlbHAtcG9wdXAtc3R5bGUiLCJoaW50TW9kZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpKZS5NYXREaWFsb2dBY3Rpb25zLHNlbGVjdG9yOiJbbWF0LWRpYWxvZy1hY3Rpb25zXSwgbWF0LWRpYWxvZy1hY3Rpb25zLCBbbWF0RGlhbG9nQWN0aW9uc10iLGlucHV0czpbImFsaWduIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQ29udGVudCxzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6eXQuTWF0Q2hpcCxzZWxlY3RvcjoibWF0LWJhc2ljLWNoaXAsIFttYXQtYmFzaWMtY2hpcF0sIG1hdC1jaGlwLCBbbWF0LWNoaXBdIixpbnB1dHM6WyJyb2xlIiwiaWQiLCJhcmlhLWxhYmVsIiwiYXJpYS1kZXNjcmlwdGlvbiIsInZhbHVlIiwiY29sb3IiLCJyZW1vdmFibGUiLCJoaWdobGlnaHRlZCIsImRpc2FibGVSaXBwbGUiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJyZW1vdmVkIiwiZGVzdHJveWVkIl0sZXhwb3J0QXM6WyJtYXRDaGlwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6eXQuTWF0Q2hpcExpc3Rib3gsc2VsZWN0b3I6Im1hdC1jaGlwLWxpc3Rib3giLGlucHV0czpbIm11bHRpcGxlIiwiYXJpYS1vcmllbnRhdGlvbiIsInNlbGVjdGFibGUiLCJjb21wYXJlV2l0aCIsInJlcXVpcmVkIiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInZhbHVlIl0sb3V0cHV0czpbImNoYW5nZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRdLCBbZnhMYXlvdXQueHNdLCBbZnhMYXlvdXQuc21dLCBbZnhMYXlvdXQubWRdLCAgW2Z4TGF5b3V0LmxnXSwgW2Z4TGF5b3V0LnhsXSwgW2Z4TGF5b3V0Lmx0LXNtXSwgW2Z4TGF5b3V0Lmx0LW1kXSwgIFtmeExheW91dC5sdC1sZ10sIFtmeExheW91dC5sdC14bF0sIFtmeExheW91dC5ndC14c10sIFtmeExheW91dC5ndC1zbV0sICBbZnhMYXlvdXQuZ3QtbWRdLCBbZnhMYXlvdXQuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dCIsImZ4TGF5b3V0LnhzIiwiZnhMYXlvdXQuc20iLCJmeExheW91dC5tZCIsImZ4TGF5b3V0LmxnIiwiZnhMYXlvdXQueGwiLCJmeExheW91dC5sdC1zbSIsImZ4TGF5b3V0Lmx0LW1kIiwiZnhMYXlvdXQubHQtbGciLCJmeExheW91dC5sdC14bCIsImZ4TGF5b3V0Lmd0LXhzIiwiZnhMYXlvdXQuZ3Qtc20iLCJmeExheW91dC5ndC1tZCIsImZ4TGF5b3V0Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1pblZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLGlucHV0czpbIm1pbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwTmFtZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdIixpbnB1dHM6WyJmb3JtR3JvdXBOYW1lIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bnQuVG9nZ2xlT3B0aW9uLHNlbGVjdG9yOiJ0Yi10b2dnbGUtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmF0LlRvZ2dsZVNlbGVjdENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXNlbGVjdCIsaW5wdXRzOlsiZGlzYWJsZWQiLCJzZWxlY3RNZWRpYUJyZWFrcG9pbnQiLCJhcHBlYXJhbmNlIiwiZGlzYWJsZVBhZ2luYXRpb24iLCJmaWxsSGVpZ2h0IiwiZXh0cmFQYWRkaW5nIiwicHJpbWFyeUJhY2tncm91bmQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpidC5UYkljb25Db21wb25lbnQsc2VsZWN0b3I6InRiLWljb24iLGlucHV0czpbImNvbG9yIl0sZXhwb3J0QXM6WyJ0Ykljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTprYSxzZWxlY3RvcjoiW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF0iLGlucHV0czpbInRiLWVsbGlwc2lzLWNoaXAtbGlzdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOm9vLHNlbGVjdG9yOiJ0Yi1kZXZpY2UtaW5mby10YWJsZSIsaW5wdXRzOlsidXNlU291cmNlIiwicmVxdWlyZWQiLCJzb3VyY2VUeXBlcyIsImRldmljZUluZm9UeXBlIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoicGlwZSIsdHlwZTpUYSxuYW1lOiJnZXRHYXRld2F5SGVscExpbmsifV19KX19ZSgiTWFwcGluZ0RpYWxvZ0NvbXBvbmVudCIsaW8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6aW8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1hcHBpbmctZGlhbG9nIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcblxuPGRpdiBbZm9ybUdyb3VwXT0ibWFwcGluZ0Zvcm0iIGNsYXNzPSJrZXktbWFwcGluZyI+XG4gIDxtYXQtdG9vbGJhciBjb2xvcj0icHJpbWFyeSI+XG4gICAgPGgyPnt7IE1hcHBpbmdUeXBlVHJhbnNsYXRpb25zTWFwLmdldCh0aGlzLmRhdGE/Lm1hcHBpbmdUeXBlKSB8IHRyYW5zbGF0ZX19PC9oMj5cbiAgICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICAgIDxkaXYgW3RiLWhlbHBdPSJIZWxwTGlua0J5TWFwcGluZ1R5cGVNYXAuZ2V0KHRoaXMuZGF0YS5tYXBwaW5nVHlwZSkiPjwvZGl2PlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvbWF0LXRvb2xiYXI+XG4gIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCI+XG4gICAgICAgIHt7IE1hcHBpbmdIaW50VHJhbnNsYXRpb25zTWFwLmdldCh0aGlzLmRhdGE/Lm1hcHBpbmdUeXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09ImRhdGEubWFwcGluZ1R5cGUiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09Ik1hcHBpbmdUeXBlLkRBVEEiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnRvcGljLWZpbHRlcjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ0b3BpY0ZpbHRlciIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudG9waWMtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCd0b3BpY0ZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCd0b3BpY0ZpbHRlclwnKS50b3VjaGVkOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L3RvcGljLWZpbHRlcl9mblwnIlxuICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LnJlc3BvbnNlLXRvcGljLVFvcy1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubXF0dC1xb3NcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJzdWJzY3JpcHRpb25Rb3MiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBxdWFsaXR5VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICB7eyBRdWFsaXR5VHJhbnNsYXRpb25zTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgZm9ybUdyb3VwTmFtZT0iY29udmVydGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5wYXlsb2FkLXR5cGU8L2Rpdj5cbiAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIiBhcHBlYXJhbmNlPSJmaWxsIj5cbiAgICAgICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGNvbnZlcnRvclR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgIHt7IENvbnZlcnRvclR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LmRhdGEtY29udmVyc2lvbjwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIj5cbiAgICAgICAgICAgICAgICB7eyBEYXRhQ29udmVyc2lvblRyYW5zbGF0aW9uc01hcC5nZXQoY29udmVydGVyVHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cE5hbWVdPSJjb252ZXJ0ZXJUeXBlIiBbbmdTd2l0Y2hdPSJjb252ZXJ0ZXJUeXBlIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbnZlcnRvclR5cGVFbnVtLkpTT04iPlxuICAgICAgICAgICAgICAgICAgPHRiLWRldmljZS1pbmZvLXRhYmxlIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlSW5mbyIgW2RldmljZUluZm9UeXBlXT0iRGV2aWNlSW5mb1R5cGUuRlVMTCIgcmVxdWlyZWQ9InRydWUiPlxuICAgICAgICAgICAgICAgICAgPC90Yi1kZXZpY2UtaW5mby10YWJsZT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29udmVydG9yVHlwZUVudW0uQllURVMiPlxuICAgICAgICAgICAgICAgICAgPHRiLWRldmljZS1pbmZvLXRhYmxlIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlSW5mbyIgW2RldmljZUluZm9UeXBlXT0iRGV2aWNlSW5mb1R5cGUuRlVMTCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc291cmNlVHlwZXNdPSJbc291cmNlVHlwZXNFbnVtLk1TRywgc291cmNlVHlwZXNFbnVtLkNPTlNUXSIgcmVxdWlyZWQ9InRydWUiPlxuICAgICAgICAgICAgICAgICAgPC90Yi1kZXZpY2UtaW5mby10YWJsZT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciXG4gICAgICAgICAgICAgICAgICAgICAqbmdJZj0iY29udmVydGVyVHlwZSA9PT0gQ29udmVydG9yVHlwZUVudW0uQllURVMgfHwgY29udmVydGVyVHlwZSA9PT0gQ29udmVydG9yVHlwZUVudW0uSlNPTiI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuYXR0cmlidXRlczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09ImNvbnZlcnRlckF0dHJpYnV0ZXMiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZSBvZiBjb252ZXJ0ZXJBdHRyaWJ1dGVzIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBhdHRyaWJ1dGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2F0dHJpYnV0ZXNCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZUtleXMoJGV2ZW50LCBhdHRyaWJ1dGVzQnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuQVRUUklCVVRFUykiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnRpbWVzZXJpZXM8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0Ym94IGNsYXNzPSJ0Yi1mbGV4IiBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iY29udmVydGVyVGVsZW1ldHJ5Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCB0ZWxlbWV0cnkgb2YgY29udmVydGVyVGVsZW1ldHJ5Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdGVsZW1ldHJ5IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjdGVsZW1ldHJ5QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgdGVsZW1ldHJ5QnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuVElNRVNFUklFUykiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciICpuZ0lmPSJjb252ZXJ0ZXJUeXBlID09PSBDb252ZXJ0b3JUeXBlRW51bS5DVVNUT00iPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuZXh0ZW5zaW9uLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmV4dGVuc2lvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJleHRlbnNpb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZXh0ZW5zaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdjb252ZXJ0ZXIuY3VzdG9tLmV4dGVuc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ2NvbnZlcnRlci5jdXN0b20uZXh0ZW5zaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiBzYW1lLXBhZGRpbmcgdGItZmxleCBjb2x1bW4iPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5leHRlbnNpb24tY29uZmlndXJhdGlvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIj57eyBcJ2dhdGV3YXkuZXh0ZW5zaW9uLWNvbmZpZ3VyYXRpb24taGludFwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmtleXM8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iY3VzdG9tS2V5cyIgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgdGVsZW1ldHJ5IG9mIGN1c3RvbUtleXMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRlbGVtZXRyeSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNrZXlzQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZUtleXMoJGV2ZW50LCBrZXlzQnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuQ1VTVE9NKSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09Ik1hcHBpbmdUeXBlLlJFUVVFU1RTIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucmVxdWVzdC10eXBlPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0VHlwZSI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2YgcmVxdWVzdFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBSZXF1ZXN0VHlwZXNUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBmb3JtR3JvdXBOYW1lPSJyZXF1ZXN0VmFsdWUiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWVcJykuZ2V0KHJlcXVlc3RNYXBwaW5nVHlwZSkiIFtuZ1N3aXRjaF09InJlcXVlc3RNYXBwaW5nVHlwZSI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJyZXF1ZXN0TWFwcGluZ1R5cGUgPT09IFJlcXVlc3RUeXBlRW51bS5BVFRSSUJVVEVfUkVRVUVTVCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RNYXBwaW5nVHlwZSA9PT0gUmVxdWVzdFR5cGVFbnVtLkNPTk5FQ1RfUkVRVUVTVCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RNYXBwaW5nVHlwZSA9PT0gUmVxdWVzdFR5cGVFbnVtLkRJU0NPTk5FQ1RfUkVRVUVTVCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudG9waWMtZmlsdGVyPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBbZm9ybUNvbnRyb2xdPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWVcJykuZ2V0KHJlcXVlc3RNYXBwaW5nVHlwZSkuZ2V0KFwndG9waWNGaWx0ZXJcJykiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnRvcGljLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlXCcpLmdldChyZXF1ZXN0TWFwcGluZ1R5cGUpLmdldChcJ3RvcGljRmlsdGVyXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZVwnKS5nZXQocmVxdWVzdE1hcHBpbmdUeXBlKS5nZXQoXCd0b3BpY0ZpbHRlclwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvdG9waWMtZmlsdGVyX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iUmVxdWVzdFR5cGVFbnVtLkNPTk5FQ1RfUkVRVUVTVCI+XG4gICAgICAgICAgICAgICAgICA8dGItZGV2aWNlLWluZm8tdGFibGUgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VJbmZvIiBbZGV2aWNlSW5mb1R5cGVdPSJEZXZpY2VJbmZvVHlwZS5GVUxMIiByZXF1aXJlZD0idHJ1ZSI+XG4gICAgICAgICAgICAgICAgICA8L3RiLWRldmljZS1pbmZvLXRhYmxlPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJSZXF1ZXN0VHlwZUVudW0uRElTQ09OTkVDVF9SRVFVRVNUIj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1kZXZpY2UtaW5mby10YWJsZSBmb3JtQ29udHJvbE5hbWU9ImRldmljZUluZm8iIFtkZXZpY2VJbmZvVHlwZV09IkRldmljZUluZm9UeXBlLlBBUlRJQUwiIHJlcXVpcmVkPSJ0cnVlIj5cbiAgICAgICAgICAgICAgICAgIDwvdGItZGV2aWNlLWluZm8tdGFibGU+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IlJlcXVlc3RUeXBlRW51bS5BVFRSSUJVVEVfUkVRVUVTVCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5mcm9tLWRldmljZS1yZXF1ZXN0LXNldHRpbmdzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICBnYXRld2F5LmZyb20tZGV2aWNlLXJlcXVlc3Qtc2V0dGluZ3MtaGludFxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciIgZm9ybUdyb3VwTmFtZT0iZGV2aWNlSW5mbyI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItZmxleCBuby1mbGV4IGFsaWduLWNlbnRlciIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1pbmZvLmRldmljZS1uYW1lLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2UiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2Ygc291cmNlVHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgU291cmNlVHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1pbmZvLmRldmljZS1uYW1lLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSIobWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVJlcXVlc3RzLmRldmljZUluZm8uZGV2aWNlTmFtZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVJlcXVlc3RzLmRldmljZUluZm8uZGV2aWNlTmFtZUV4cHJlc3Npb25cJykudG91Y2hlZCkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZS1uYW1lLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYXR0cmlidXRlTmFtZUV4cHJlc3Npb25Tb3VyY2UiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2Ygc291cmNlVHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgU291cmNlVHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iYXR0cmlidXRlTmFtZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5hdHRyaWJ1dGUtbmFtZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy5hdHRyaWJ1dGVOYW1lRXhwcmVzc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVJlcXVlc3RzLmF0dHJpYnV0ZU5hbWVFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudG8tZGV2aWNlLXJlc3BvbnNlLXNldHRpbmdzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICBnYXRld2F5LnRvLWRldmljZS1yZXNwb25zZS1zZXR0aW5ncy1oaW50XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkucmVzcG9uc2UtdmFsdWUtZXhwcmVzc2lvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXNwb25zZS12YWx1ZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy52YWx1ZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy52YWx1ZUV4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkucmVzcG9uc2UtdG9waWMtZXhwcmVzc2lvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ0b3BpY0V4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXNwb25zZS10b3BpYy1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy50b3BpY0V4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy50b3BpY0V4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldGFpbiI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkucmV0YWluLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5yZXRhaW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJSZXF1ZXN0VHlwZUVudW0uQVRUUklCVVRFX1VQREFURSI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5kZXZpY2UtbmFtZS1maWx0ZXItaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVGaWx0ZXIiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy5kZXZpY2VOYW1lRmlsdGVyXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVVwZGF0ZXMuZGV2aWNlTmFtZUZpbHRlclwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5hdHRyaWJ1dGUtZmlsdGVyLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmF0dHJpYnV0ZS1maWx0ZXJcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iYXR0cmlidXRlRmlsdGVyIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmF0dHJpYnV0ZS1maWx0ZXItcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLmF0dHJpYnV0ZUZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVVwZGF0ZXMuYXR0cmlidXRlRmlsdGVyXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5yZXNwb25zZS12YWx1ZS1leHByZXNzaW9uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InZhbHVlRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXNwb25zZS12YWx1ZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy52YWx1ZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLnZhbHVlRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlc3BvbnNlLXRvcGljLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idG9waWNFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnJlc3BvbnNlLXRvcGljLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLnRvcGljRXhwcmVzc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLnRvcGljRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBmaXhlZC10aXRsZS13aWR0aCIgZm9ybUNvbnRyb2xOYW1lPSJyZXRhaW4iPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5yZXRhaW4taGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5yZXRhaW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iUmVxdWVzdFR5cGVFbnVtLlNFUlZFUl9TSURFX1JQQyI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHJvdyBjZW50ZXIgYWxpZ24tY2VudGVyIG5vLWdhcCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIiBhcHBlYXJhbmNlPSJmaWxsIj5cbiAgICAgICAgICAgICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiBbdmFsdWVdPSJTZXJ2ZXJTaWRlUlBDVHlwZS5UV09fV0FZIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS53aXRoLXJlc3BvbnNlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gW3ZhbHVlXT0iU2VydmVyU2lkZVJQQ1R5cGUuT05FX1dBWSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkud2l0aG91dC1yZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5kZXZpY2UtbmFtZS1maWx0ZXItaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVGaWx0ZXIiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5kZXZpY2VOYW1lRmlsdGVyXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5kZXZpY2VOYW1lRmlsdGVyXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5Lm1ldGhvZC1maWx0ZXItaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubWV0aG9kLWZpbHRlclwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RGaWx0ZXIiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkubWV0aG9kLWZpbHRlci1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMubWV0aG9kRmlsdGVyXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5tZXRob2RGaWx0ZXJcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlcXVlc3QtdG9waWMtZXhwcmVzc2lvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0VG9waWNFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnJlcXVlc3QtdG9waWMtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMucmVxdWVzdFRvcGljRXhwcmVzc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMucmVxdWVzdFRvcGljRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnZhbHVlLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnZhbHVlLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnZhbHVlRXhwcmVzc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMudmFsdWVFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnR5cGVcJykudmFsdWUgPT09IFNlcnZlclNpZGVSUENUeXBlLlRXT19XQVkiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkucmVzcG9uc2UtdG9waWMtZXhwcmVzc2lvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRvcGljRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnJlc3BvbnNlLXRvcGljLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMucmVzcG9uc2VUb3BpY0V4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlc3BvbnNlVG9waWNFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkucmVzcG9uc2UtdG9waWMtUW9zLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmVzcG9uc2UtdG9waWMtUW9zXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InJlc3BvbnNlVG9waWNRb1MiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHF1YWxpdHlUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgUXVhbGl0eVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkucmVzcG9uc2UtdGltZW91dDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgdHlwZT0ibnVtYmVyIiBtaW49IjEiIGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUaW1lb3V0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJyZXNwb25zZVRpbWVvdXRFcnJvclRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iKG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlc3BvbnNlVGltZW91dFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlc3BvbnNlVGltZW91dFwnKS5oYXNFcnJvcihcJ21pblwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMucmVzcG9uc2VUaW1lb3V0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJNYXBwaW5nVHlwZS5PUENVQSI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1mbGV4IGFsaWduLWNlbnRlciIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5kZXZpY2Utbm9kZS1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5kZXZpY2Utbm9kZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGRldmljZS1jb25maWciPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTm9kZVNvdXJjZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIFtPUENVYVNvdXJjZVR5cGVzRW51bS5QQVRILCBPUENVYVNvdXJjZVR5cGVzRW51bS5JREVOVElGSUVSXSIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGRldmljZS1ub2RlLXBhdHRlcm4tZmllbGQiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5vZGVQYXR0ZXJuIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2Utbm9kZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihtYXBwaW5nRm9ybS5nZXQoXCdkZXZpY2VOb2RlUGF0dGVyblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwnZGV2aWNlTm9kZVBhdHRlcm5cJykudG91Y2hlZCkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ2RldmljZS1ub2RlXCcgfCBnZXRHYXRld2F5SGVscExpbms6IG1hcHBpbmdGb3JtLmdldChcJ2RldmljZU5vZGVTb3VyY2VcJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDx0Yi1kZXZpY2UtaW5mby10YWJsZSBmb3JtQ29udHJvbE5hbWU9ImRldmljZUluZm8iIFtzb3VyY2VUeXBlc109Ik9QQ1VhU291cmNlVHlwZXMiIFtkZXZpY2VJbmZvVHlwZV09IkRldmljZUluZm9UeXBlLkZVTEwiIHJlcXVpcmVkPSJ0cnVlIj5cbiAgICAgICAgICA8L3RiLWRldmljZS1pbmZvLXRhYmxlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuYXR0cmlidXRlczwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgICAgICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0ib3BjQXR0cmlidXRlcyIgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCBhdHRyaWJ1dGUgb2Ygb3BjQXR0cmlidXRlcyI+XG4gICAgICAgICAgICAgICAgICB7eyBhdHRyaWJ1dGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgI29wY0F0dHJpYnV0ZXNCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgb3BjQXR0cmlidXRlc0J1dHRvbiwgTWFwcGluZ0tleXNUeXBlLkFUVFJJQlVURVMpIj5cbiAgICAgICAgICAgICAgICA8dGItaWNvbiBtYXRCdXR0b25JY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4Ij5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50aW1lc2VyaWVzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0Ym94IGNsYXNzPSJ0Yi1mbGV4IiBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0ib3BjVGVsZW1ldHJ5Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgdGVsZW1ldHJ5IG9mIG9wY1RlbGVtZXRyeSI+XG4gICAgICAgICAgICAgICAgICB7eyB0ZWxlbWV0cnkgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgI29wY1RlbGVtZXRyeUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZUtleXMoJGV2ZW50LCBvcGNUZWxlbWV0cnlCdXR0b24sIE1hcHBpbmdLZXlzVHlwZS5USU1FU0VSSUVTKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuYXR0cmlidXRlLXVwZGF0ZXM8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggZWxsaXBzaXMtY2hpcHMtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09Im9wY0F0dHJpYnV0ZXNVcGRhdGVzIiBjbGFzcz0idGItZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZSBvZiBvcGNBdHRyaWJ1dGVzVXBkYXRlcyI+XG4gICAgICAgICAgICAgICAgICB7eyBhdHRyaWJ1dGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgI2F0dHJpYnV0ZXNVcGRhdGVzQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIGF0dHJpYnV0ZXNVcGRhdGVzQnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuQVRUUklCVVRFU19VUERBVEVTKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucnBjLW1ldGhvZHM8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggZWxsaXBzaXMtY2hpcHMtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09Im9wY1JwY01ldGhvZHMiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgYXR0cmlidXRlIG9mIG9wY1JwY01ldGhvZHMiPlxuICAgICAgICAgICAgICAgICAge3sgYXR0cmlidXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICNycGNNZXRob2RzQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIHJwY01ldGhvZHNCdXR0b24sIE1hcHBpbmdLZXlzVHlwZS5SUENfTUVUSE9EUykiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5jYW5jZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAoY2xpY2spPSJhZGQoKSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09Im1hcHBpbmdGb3JtLmludmFsaWQgfHwgIW1hcHBpbmdGb3JtLmRpcnR5IHx8ICFrZXlzUG9wdXBDbG9zZWQiPlxuICAgICAge3sgdGhpcy5kYXRhLmJ1dHRvblRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7ZGlzcGxheTpncmlkO2hlaWdodDoxMDAlfTpob3N0IC5rZXktbWFwcGluZ3ttYXgtd2lkdGg6OTAwcHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn06aG9zdCAua2V5LW1hcHBpbmcgLm1hdC10b29sYmFye21pbi1oZWlnaHQ6NjRweH06aG9zdCAua2V5LW1hcHBpbmcgdGItdG9nZ2xlLXNlbGVjdHtwYWRkaW5nOjRweCAwfTpob3N0IC5tYXQtbWRjLWRpYWxvZy1jb250ZW50e2hlaWdodDo2NzBweH06aG9zdCAuZWxsaXBzaXMtY2hpcHMtY29udGFpbmVye21heC13aWR0aDo3MCV9Omhvc3QgOjpuZy1kZWVwIC5rZXktbWFwcGluZyAubWF0LW1kYy1jaGlwLWxpc3Rib3ggLm1kYy1ldm9sdXRpb24tY2hpcC1zZXRfX2NoaXBze2p1c3RpZnktY29udGVudDpmbGV4LWVuZDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleC13cmFwOm5vd3JhcH06aG9zdCA6Om5nLWRlZXAgLnRiLWZvcm0tcm93IC5maXhlZC10aXRsZS13aWR0aHttaW4td2lkdGg6NDBweDt3aWR0aDozNSU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfTpob3N0IDo6bmctZGVlcCAudGItZm9ybS1yb3cgLm1hdC1tZGMtZm9ybS1maWVsZHt3aWR0aDowfTpob3N0IDo6bmctZGVlcCAuc2VlLWV4YW1wbGV7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDttYXJnaW46NHB4fTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH06aG9zdCA6Om5nLWRlZXAgLmRldmljZS1jb25maWd7Z2FwOjEycHg7cGFkZGluZy1sZWZ0OjEwcHg7cGFkZGluZy1yaWdodDoxMHB4fTpob3N0IDo6bmctZGVlcCAuZGV2aWNlLW5vZGUtcGF0dGVybi1maWVsZHtmbGV4LWJhc2lzOjMlfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6b3QuU3RvcmV9LHt0eXBlOml0LlJvdXRlcn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOnAsYXJnczpbWGVdfV19LHt0eXBlOkplLk1hdERpYWxvZ1JlZn0se3R5cGU6bWUuRm9ybUJ1aWxkZXJ9LHt0eXBlOmZ0LlRiUG9wb3ZlclNlcnZpY2V9LHt0eXBlOnQuUmVuZGVyZXIyfSx7dHlwZTp0LlZpZXdDb250YWluZXJSZWZ9LHt0eXBlOlkuVHJhbnNsYXRlU2VydmljZX1dfSk7Y2xhc3Mgcm97c2V0IG1hcHBpbmdUeXBlKGUpe3RoaXMubWFwcGluZ1R5cGVWYWx1ZSE9PWUmJih0aGlzLm1hcHBpbmdUeXBlVmFsdWU9ZSl9Z2V0IG1hcHBpbmdUeXBlKCl7cmV0dXJuIHRoaXMubWFwcGluZ1R5cGVWYWx1ZX1jb25zdHJ1Y3RvcihlLHQsbixhKXt0aGlzLnRyYW5zbGF0ZT1lLHRoaXMuZGlhbG9nPXQsdGhpcy5kaWFsb2dTZXJ2aWNlPW4sdGhpcy5mYj1hLHRoaXMucmVxdWlyZWQ9ITEsdGhpcy5tYXBwaW5nVHlwZVRyYW5zbGF0aW9uc01hcD15bix0aGlzLm1hcHBpbmdUeXBlRW51bT1mbix0aGlzLmRpc3BsYXllZENvbHVtbnM9W10sdGhpcy5tYXBwaW5nQ29sdW1ucz1bXSx0aGlzLnRleHRTZWFyY2hNb2RlPSExLHRoaXMuaGlkZVBhZ2VTaXplPSExLHRoaXMuYWN0aXZlVmFsdWU9ITEsdGhpcy5kaXJ0eVZhbHVlPSExLHRoaXMudGV4dFNlYXJjaD10aGlzLmZiLmNvbnRyb2woIiIse25vbk51bGxhYmxlOiEwfSksdGhpcy5vbkNoYW5nZT0oKT0+e30sdGhpcy5vblRvdWNoZWQ9KCk9Pnt9LHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMubWFwcGluZ0Zvcm1Hcm91cD10aGlzLmZiLmFycmF5KFtdKSx0aGlzLmRpcnR5VmFsdWU9IXRoaXMuYWN0aXZlVmFsdWUsdGhpcy5kYXRhU291cmNlPW5ldyBzb31uZ09uSW5pdCgpe3RoaXMuc2V0TWFwcGluZ0NvbHVtbnMoKSx0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaCguLi50aGlzLm1hcHBpbmdDb2x1bW5zLm1hcCgoZT0+ZS5kZWYpKSwiYWN0aW9ucyIpLHRoaXMubWFwcGluZ0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy51cGRhdGVUYWJsZURhdGEoZSksdGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMudGV4dFNlYXJjaC52YWx1ZUNoYW5nZXMucGlwZShWZSgxNTApLEJlKCgoZSx0KT0+KGU/PyIiKT09PXQudHJpbSgpKSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2NvbnN0IHQ9ZS50cmltKCk7dGhpcy51cGRhdGVUYWJsZURhdGEodGhpcy5tYXBwaW5nRm9ybUdyb3VwLnZhbHVlLHQudHJpbSgpKX0pKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMub25DaGFuZ2U9ZX1yZWdpc3Rlck9uVG91Y2hlZChlKXt0aGlzLm9uVG91Y2hlZD1lfXdyaXRlVmFsdWUoZSl7dGhpcy5tYXBwaW5nRm9ybUdyb3VwLmNsZWFyKCksdGhpcy5wdXNoRGF0YUFzRm9ybUFycmF5cyhlKX12YWxpZGF0ZSgpe3JldHVybiF0aGlzLnJlcXVpcmVkfHx0aGlzLm1hcHBpbmdGb3JtR3JvdXAuY29udHJvbHMubGVuZ3RoP251bGw6e21hcHBpbmdGb3JtR3JvdXA6e3ZhbGlkOiExfX19ZW50ZXJGaWx0ZXJNb2RlKCl7dGhpcy50ZXh0U2VhcmNoTW9kZT0hMCxzZXRUaW1lb3V0KCgoKT0+e3RoaXMuc2VhcmNoSW5wdXRGaWVsZC5uYXRpdmVFbGVtZW50LmZvY3VzKCksdGhpcy5zZWFyY2hJbnB1dEZpZWxkLm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoMCwwKX0pLDEwKX1leGl0RmlsdGVyTW9kZSgpe3RoaXMudXBkYXRlVGFibGVEYXRhKHRoaXMubWFwcGluZ0Zvcm1Hcm91cC52YWx1ZSksdGhpcy50ZXh0U2VhcmNoTW9kZT0hMSx0aGlzLnRleHRTZWFyY2gucmVzZXQoKX1tYW5hZ2VNYXBwaW5nKGUsdCl7ZSYmZS5zdG9wUHJvcGFnYXRpb24oKTtjb25zdCBuPWllKHQpP3RoaXMubWFwcGluZ0Zvcm1Hcm91cC5hdCh0KS52YWx1ZTp7fTt0aGlzLmRpYWxvZy5vcGVuKGlvLHtkaXNhYmxlQ2xvc2U6ITAscGFuZWxDbGFzczpbInRiLWRpYWxvZyIsInRiLWZ1bGxzY3JlZW4tZGlhbG9nIl0sZGF0YTp7bWFwcGluZ1R5cGU6dGhpcy5tYXBwaW5nVHlwZSx2YWx1ZTpuLGJ1dHRvblRpdGxlOnJlKHQpPyJhY3Rpb24uYWRkIjoiYWN0aW9uLmFwcGx5In19KS5hZnRlckNsb3NlZCgpLnBpcGUoT2UoMSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2UmJihpZSh0KT90aGlzLm1hcHBpbmdGb3JtR3JvdXAuYXQodCkucGF0Y2hWYWx1ZShlKTp0aGlzLnB1c2hEYXRhQXNGb3JtQXJyYXlzKFtlXSksdGhpcy5tYXBwaW5nRm9ybUdyb3VwLm1hcmtBc0RpcnR5KCkpfSkpfXVwZGF0ZVRhYmxlRGF0YShlLHQpe2xldCBuPWUubWFwKChlPT50aGlzLmdldE1hcHBpbmdWYWx1ZShlKSkpO3QmJihuPW4uZmlsdGVyKChlPT5PYmplY3QudmFsdWVzKGUpLnNvbWUoKGU9PmUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHQudG9Mb3dlckNhc2UoKSkpKSkpKSx0aGlzLmRhdGFTb3VyY2UubG9hZERhdGEobil9ZGVsZXRlTWFwcGluZyhlLHQpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0odGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5kZWxldGUtbWFwcGluZy10aXRsZSIpLCIiLHRoaXMudHJhbnNsYXRlLmluc3RhbnQoImFjdGlvbi5ubyIpLHRoaXMudHJhbnNsYXRlLmluc3RhbnQoImFjdGlvbi55ZXMiKSwhMCkuc3Vic2NyaWJlKChlPT57ZSYmKHRoaXMubWFwcGluZ0Zvcm1Hcm91cC5yZW1vdmVBdCh0KSx0aGlzLm1hcHBpbmdGb3JtR3JvdXAubWFya0FzRGlydHkoKSl9KSl9cHVzaERhdGFBc0Zvcm1BcnJheXMoZSl7ZT8ubGVuZ3RoJiZlLmZvckVhY2goKGU9PnRoaXMubWFwcGluZ0Zvcm1Hcm91cC5wdXNoKHRoaXMuZmIuY29udHJvbChlKSkpKX1nZXRNYXBwaW5nVmFsdWUoZSl7c3dpdGNoKHRoaXMubWFwcGluZ1R5cGUpe2Nhc2UgZm4uREFUQTpjb25zdCB0PUNuLmdldChlLmNvbnZlcnRlcj8udHlwZSk7cmV0dXJue3RvcGljRmlsdGVyOmUudG9waWNGaWx0ZXIsUW9TOmUuc3Vic2NyaXB0aW9uUW9zLGNvbnZlcnRlcjp0P3RoaXMudHJhbnNsYXRlLmluc3RhbnQodCk6IiJ9O2Nhc2UgZm4uUkVRVUVTVFM6bGV0IG47Y29uc3QgYT1lO3JldHVybiBuPWEucmVxdWVzdFR5cGU9PT1Jbi5BVFRSSUJVVEVfVVBEQVRFP2EucmVxdWVzdFZhbHVlLmF0dHJpYnV0ZUZpbHRlcjphLnJlcXVlc3RUeXBlPT09SW4uU0VSVkVSX1NJREVfUlBDP2EucmVxdWVzdFZhbHVlLm1ldGhvZEZpbHRlcjphLnJlcXVlc3RWYWx1ZS50b3BpY0ZpbHRlcix7cmVxdWVzdFR5cGU6ZS5yZXF1ZXN0VHlwZSx0eXBlOnRoaXMudHJhbnNsYXRlLmluc3RhbnQoQW4uZ2V0KGUucmVxdWVzdFR5cGUpKSxkZXRhaWxzOm59O2Nhc2UgZm4uT1BDVUE6Y29uc3Qgbz1lLmRldmljZUluZm8/LmRldmljZU5hbWVFeHByZXNzaW9uLGk9ZS5kZXZpY2VJbmZvPy5kZXZpY2VQcm9maWxlRXhwcmVzc2lvbix7ZGV2aWNlTm9kZVBhdHRlcm46cn09ZTtyZXR1cm57ZGV2aWNlTm9kZVBhdHRlcm46cixkZXZpY2VOYW1lUGF0dGVybjpvLGRldmljZVByb2ZpbGVFeHByZXNzaW9uOml9O2RlZmF1bHQ6cmV0dXJue319fXNldE1hcHBpbmdDb2x1bW5zKCl7c3dpdGNoKHRoaXMubWFwcGluZ1R5cGUpe2Nhc2UgZm4uREFUQTp0aGlzLm1hcHBpbmdDb2x1bW5zLnB1c2goe2RlZjoidG9waWNGaWx0ZXIiLHRpdGxlOiJnYXRld2F5LnRvcGljLWZpbHRlciJ9LHtkZWY6IlFvUyIsdGl0bGU6ImdhdGV3YXkubXF0dC1xb3MifSx7ZGVmOiJjb252ZXJ0ZXIiLHRpdGxlOiJnYXRld2F5LnBheWxvYWQtdHlwZSJ9KTticmVhaztjYXNlIGZuLlJFUVVFU1RTOnRoaXMubWFwcGluZ0NvbHVtbnMucHVzaCh7ZGVmOiJ0eXBlIix0aXRsZToiZ2F0ZXdheS50eXBlIn0se2RlZjoiZGV0YWlscyIsdGl0bGU6ImdhdGV3YXkuZGV0YWlscyJ9KTticmVhaztjYXNlIGZuLk9QQ1VBOnRoaXMubWFwcGluZ0NvbHVtbnMucHVzaCh7ZGVmOiJkZXZpY2VOb2RlUGF0dGVybiIsdGl0bGU6ImdhdGV3YXkuZGV2aWNlLW5vZGUifSx7ZGVmOiJkZXZpY2VOYW1lUGF0dGVybiIsdGl0bGU6ImdhdGV3YXkuZGV2aWNlLW5hbWUifSx7ZGVmOiJkZXZpY2VQcm9maWxlRXhwcmVzc2lvbiIsdGl0bGU6ImdhdGV3YXkuZGV2aWNlLXByb2ZpbGUifSl9fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6cm8sZGVwczpbe3Rva2VuOlkuVHJhbnNsYXRlU2VydmljZX0se3Rva2VuOkplLk1hdERpYWxvZ30se3Rva2VuOlguRGlhbG9nU2VydmljZX0se3Rva2VuOm1lLkZvcm1CdWlsZGVyfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpybyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1hcHBpbmctdGFibGUiLGlucHV0czp7cmVxdWlyZWQ6InJlcXVpcmVkIixtYXBwaW5nVHlwZToibWFwcGluZ1R5cGUifSxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5ybykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+cm8pKSxtdWx0aTohMH1dLHZpZXdRdWVyaWVzOlt7cHJvcGVydHlOYW1lOiJzZWFyY2hJbnB1dEZpZWxkIixmaXJzdDohMCxwcmVkaWNhdGU6WyJzZWFyY2hJbnB1dCJdLGRlc2NlbmRhbnRzOiEwfV0sbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLW1hcHBpbmctdGFibGUgdGItYWJzb2x1dGUtZmlsbCI+XG4gIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJjb2x1bW4iIGNsYXNzPSJ0Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQiPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIiBbZnhTaG93XT0iIXRleHRTZWFyY2hNb2RlIj5cbiAgICAgIDxkaXYgY2xhc3M9Im1hdC10b29sYmFyLXRvb2xzIiAqbmdJZj0iKGRhdGFTb3VyY2UuaXNFbXB0eSgpIHwgYXN5bmMpID09PSBmYWxzZSI+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0ic3RhcnQgY2VudGVyIiBmeExheW91dC54cz0iY29sdW1uIiBmeExheW91dEFsaWduLnhzPSJjZW50ZXIgc3RhcnQiIGNsYXNzPSJ0aXRsZS1jb250YWluZXIiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Yi1tYXBwaW5nLXRhYmxlLXRpdGxlIj57e21hcHBpbmdUeXBlVHJhbnNsYXRpb25zTWFwLmdldChtYXBwaW5nVHlwZSkgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlTWFwcGluZygkZXZlbnQpIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmFkZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPSJlbnRlckZpbHRlck1vZGUoKSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5zZWFyY2hcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICA8bWF0LWljb24+c2VhcmNoPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC10b29sYmFyPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIiBbZnhTaG93XT0idGV4dFNlYXJjaE1vZGUiPlxuICAgICAgPGRpdiBjbGFzcz0ibWF0LXRvb2xiYXItdG9vbHMiPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLnNlYXJjaFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPiZuYnNwOzwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCAjc2VhcmNoSW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT0idGV4dFNlYXJjaCJcbiAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnY29tbW9uLmVudGVyLXNlYXJjaFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9ImV4aXRGaWx0ZXJNb2RlKCkiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uY2xvc2VcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXRvb2xiYXI+XG4gICAgPGRpdiBjbGFzcz0idGFibGUtY29udGFpbmVyIj5cbiAgICAgIDx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPSJkYXRhU291cmNlIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT0iY29sdW1uLmRlZiIgKm5nRm9yPSJsZXQgY29sdW1uIG9mIG1hcHBpbmdDb2x1bW5zOyBsZXQgaSA9IGluZGV4Ij5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MucmVxdWVzdC1jb2x1bW5dPSJtYXBwaW5nVHlwZSA9PT0gbWFwcGluZ1R5cGVFbnVtLlJFUVVFU1RTIj5cbiAgICAgICAgICAgIHt7IGNvbHVtbi50aXRsZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCB0YlRydW5jYXRlV2l0aFRvb2x0aXAgKm1hdENlbGxEZWY9ImxldCBtYXBwaW5nIiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MucmVxdWVzdC1jb2x1bW5dPSJtYXBwaW5nVHlwZSA9PT0gbWFwcGluZ1R5cGVFbnVtLlJFUVVFU1RTIj5cbiAgICAgICAgICAgIHt7IG1hcHBpbmdbY29sdW1uLmRlZl0gfX1cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9ImFjdGlvbnMiIHN0aWNreUVuZD5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZS5ndC1tZF09InsgbWluV2lkdGg6IFwnOTZweFwnLCBtYXhXaWR0aDogXCc5NnB4XCcsIHdpZHRoOiBcJzk2cHhcJywgdGV4dEFsaWduOiBcJ2NlbnRlclwnfSI+XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgbWFwcGluZzsgbGV0IGkgPSBpbmRleCJcbiAgICAgICAgICAgICAgICAgICAgW25nU3R5bGUuZ3QtbWRdPSJ7IG1pbldpZHRoOiBcJzk2cHhcJywgbWF4V2lkdGg6IFwnOTZweFwnLCB3aWR0aDogXCc5NnB4XCd9Ij5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcm93QWN0aW9ucz5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VNYXBwaW5nKCRldmVudCwgaSkiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmRlbGV0ZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlTWFwcGluZygkZXZlbnQsIGkpIj5cbiAgICAgICAgICAgICAgICA8dGItaWNvbj5kZWxldGU8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxkaXYgZnhIaWRlIGZ4U2hvdy5ndC1tZCBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09InJvd0FjdGlvbnMiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGZ4SGlkZSBmeFNob3cubHQtbGcgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0QWxpZ249ImVuZCI+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09ImNlbGxBY3Rpb25zTWVudSI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxtYXQtbWVudSAjY2VsbEFjdGlvbnNNZW51PSJtYXRNZW51IiB4UG9zaXRpb249ImJlZm9yZSI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09InJvd0FjdGlvbnMiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxtYXQtaGVhZGVyLXJvdyBbbmdDbGFzc109IntcJ21hdC1yb3ctc2VsZWN0XCc6IHRydWV9IiAqbWF0SGVhZGVyUm93RGVmPSJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWUiPjwvbWF0LWhlYWRlci1yb3c+XG4gICAgICAgIDxtYXQtcm93ICptYXRSb3dEZWY9ImxldCBtYXBwaW5nOyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyI+PC9tYXQtcm93PlxuICAgICAgPC90YWJsZT5cbiAgICAgIDxzZWN0aW9uIFtmeFNob3ddPSIhdGV4dFNlYXJjaE1vZGUgJiYgKGRhdGFTb3VyY2UuaXNFbXB0eSgpIHwgYXN5bmMpIiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgICAgICAgY2xhc3M9Im1hdC1oZWFkbGluZS01IHRiLWFic29sdXRlLWZpbGwgdGItYWRkLW5ldyI+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjbGFzcz0iY29ubmVjdG9yIlxuICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZU1hcHBpbmcoJGV2ZW50KSI+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJ0Yi1tYXQtOTYiPmFkZDwvbWF0LWljb24+XG4gICAgICAgICAgPHNwYW4+e3sgXCdnYXRld2F5LmFkZC1tYXBwaW5nXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9zZWN0aW9uPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSAmJiAoZGF0YVNvdXJjZS5pc0VtcHR5KCkgfCBhc3luYykiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCIgdHJhbnNsYXRlPlxuICAgICAgd2lkZ2V0Lm5vLWRhdGEtZm91bmRcbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnR7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOiNmZmY7b3ZlcmZsb3c6aGlkZGVufTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQudGItb3V0bGluZWQtYm9yZGVye2JveC1zaGFkb3c6MCAwICMwMDAzLDAgMCAjMDAwMDAwMjQsMCAwICMwMDAwMDAxZjtib3JkZXI6c29saWQgMXB4ICNlMGUwZTA7Ym9yZGVyLXJhZGl1czo0cHh9Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAubWF0LXRvb2xiYXItdG9vbHN7bWluLWhlaWdodDphdXRvfTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQgLnRpdGxlLWNvbnRhaW5lcntvdmVyZmxvdzpoaWRkZW59Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAudGItbWFwcGluZy10YWJsZS10aXRsZXtwYWRkaW5nLXJpZ2h0OjIwcHg7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lcntvdmVyZmxvdzphdXRvfTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lciAubWF0LW1kYy10YWJsZXt0YWJsZS1sYXlvdXQ6Zml4ZWQ7bWluLXdpZHRoOjQ1MHB4fTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lciAubWF0LW1kYy10YWJsZSAudGFibGUtdmFsdWUtY29sdW1ue3BhZGRpbmc6MCAxMnB4O3dpZHRoOjIzJX06aG9zdCAudGItbWFwcGluZy10YWJsZSAudGItbWFwcGluZy10YWJsZS1jb250ZW50IC50YWJsZS1jb250YWluZXIgLm1hdC1tZGMtdGFibGUgLnRhYmxlLXZhbHVlLWNvbHVtbi5yZXF1ZXN0LWNvbHVtbnt3aWR0aDozOCV9Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAuZWxsaXBzaXN7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Omhvc3QgLm5vLWRhdGEtZm91bmR7aGVpZ2h0OmNhbGMoMTAwJSAtIDEyMHB4KX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCl7Omhvc3QgLm1hdC10b29sYmFye2hlaWdodDphdXRvO21pbi1oZWlnaHQ6MTAwcHh9Omhvc3QgLm1hdC10b29sYmFyIC50Yi1tYXBwaW5nLXRhYmxlLXRpdGxle3BhZGRpbmctYm90dG9tOjVweDt3aWR0aDoxMDAlfX06aG9zdCA6Om5nLWRlZXAgbWF0LWNlbGwudGItdmFsdWUtY2VsbHtjdXJzb3I6cG9pbnRlcn06aG9zdCA6Om5nLWRlZXAgbWF0LWNlbGwudGItdmFsdWUtY2VsbCAubWF0LWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDtmb250LXNpemU6MjRweDtjb2xvcjojNzU3NTc1fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nQ2xhc3Msc2VsZWN0b3I6IltuZ0NsYXNzXSIsaW5wdXRzOlsiY2xhc3MiLCJuZ0NsYXNzIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdUZW1wbGF0ZU91dGxldCxzZWxlY3RvcjoiW25nVGVtcGxhdGVPdXRsZXRdIixpbnB1dHM6WyJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCIsIm5nVGVtcGxhdGVPdXRsZXQiLCJuZ1RlbXBsYXRlT3V0bGV0SW5qZWN0b3IiXX0se2tpbmQ6InBpcGUiLHR5cGU6Xy5Bc3luY1BpcGUsbmFtZToiYXN5bmMifSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnJ0Lk1hdFRvb2xiYXIsc2VsZWN0b3I6Im1hdC10b29sYmFyIixpbnB1dHM6WyJjb2xvciJdLGV4cG9ydEFzOlsibWF0VG9vbGJhciJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmh0Lk1hdE1lbnUsc2VsZWN0b3I6Im1hdC1tZW51IixpbnB1dHM6WyJiYWNrZHJvcENsYXNzIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImFyaWEtZGVzY3JpYmVkYnkiLCJ4UG9zaXRpb24iLCJ5UG9zaXRpb24iLCJvdmVybGFwVHJpZ2dlciIsImhhc0JhY2tkcm9wIiwiY2xhc3MiLCJjbGFzc0xpc3QiXSxvdXRwdXRzOlsiY2xvc2VkIiwiY2xvc2UiXSxleHBvcnRBczpbIm1hdE1lbnUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpodC5NYXRNZW51VHJpZ2dlcixzZWxlY3RvcjoiW21hdC1tZW51LXRyaWdnZXItZm9yXSwgW21hdE1lbnVUcmlnZ2VyRm9yXSIsaW5wdXRzOlsibWF0LW1lbnUtdHJpZ2dlci1mb3IiLCJtYXRNZW51VHJpZ2dlckZvciIsIm1hdE1lbnVUcmlnZ2VyRGF0YSIsIm1hdE1lbnVUcmlnZ2VyUmVzdG9yZUZvY3VzIl0sb3V0cHV0czpbIm1lbnVPcGVuZWQiLCJvbk1lbnVPcGVuIiwibWVudUNsb3NlZCIsIm9uTWVudUNsb3NlIl0sZXhwb3J0QXM6WyJtYXRNZW51VHJpZ2dlciJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmIuTWF0VGFibGUsc2VsZWN0b3I6Im1hdC10YWJsZSwgdGFibGVbbWF0LXRhYmxlXSIsZXhwb3J0QXM6WyJtYXRUYWJsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0SGVhZGVyQ2VsbERlZixzZWxlY3RvcjoiW21hdEhlYWRlckNlbGxEZWZdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlclJvd0RlZixzZWxlY3RvcjoiW21hdEhlYWRlclJvd0RlZl0iLGlucHV0czpbIm1hdEhlYWRlclJvd0RlZiIsIm1hdEhlYWRlclJvd0RlZlN0aWNreSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Q29sdW1uRGVmLHNlbGVjdG9yOiJbbWF0Q29sdW1uRGVmXSIsaW5wdXRzOlsibWF0Q29sdW1uRGVmIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsRGVmLHNlbGVjdG9yOiJbbWF0Q2VsbERlZl0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Um93RGVmLHNlbGVjdG9yOiJbbWF0Um93RGVmXSIsaW5wdXRzOlsibWF0Um93RGVmQ29sdW1ucyIsIm1hdFJvd0RlZldoZW4iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlckNlbGwsc2VsZWN0b3I6Im1hdC1oZWFkZXItY2VsbCwgdGhbbWF0LWhlYWRlci1jZWxsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsLHNlbGVjdG9yOiJtYXQtY2VsbCwgdGRbbWF0LWNlbGxdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdEhlYWRlclJvdyxzZWxlY3RvcjoibWF0LWhlYWRlci1yb3csIHRyW21hdC1oZWFkZXItcm93XSIsZXhwb3J0QXM6WyJtYXRIZWFkZXJSb3ciXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdFJvdyxzZWxlY3RvcjoibWF0LXJvdywgdHJbbWF0LXJvd10iLGV4cG9ydEFzOlsibWF0Um93Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRBbGlnbkRpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRBbGlnbl0sIFtmeExheW91dEFsaWduLnhzXSwgW2Z4TGF5b3V0QWxpZ24uc21dLCBbZnhMYXlvdXRBbGlnbi5tZF0sICBbZnhMYXlvdXRBbGlnbi5sZ10sIFtmeExheW91dEFsaWduLnhsXSwgW2Z4TGF5b3V0QWxpZ24ubHQtc21dLCBbZnhMYXlvdXRBbGlnbi5sdC1tZF0sICBbZnhMYXlvdXRBbGlnbi5sdC1sZ10sIFtmeExheW91dEFsaWduLmx0LXhsXSwgW2Z4TGF5b3V0QWxpZ24uZ3QteHNdLCBbZnhMYXlvdXRBbGlnbi5ndC1zbV0sICBbZnhMYXlvdXRBbGlnbi5ndC1tZF0sIFtmeExheW91dEFsaWduLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRBbGlnbiIsImZ4TGF5b3V0QWxpZ24ueHMiLCJmeExheW91dEFsaWduLnNtIiwiZnhMYXlvdXRBbGlnbi5tZCIsImZ4TGF5b3V0QWxpZ24ubGciLCJmeExheW91dEFsaWduLnhsIiwiZnhMYXlvdXRBbGlnbi5sdC1zbSIsImZ4TGF5b3V0QWxpZ24ubHQtbWQiLCJmeExheW91dEFsaWduLmx0LWxnIiwiZnhMYXlvdXRBbGlnbi5sdC14bCIsImZ4TGF5b3V0QWxpZ24uZ3QteHMiLCJmeExheW91dEFsaWduLmd0LXNtIiwiZnhMYXlvdXRBbGlnbi5ndC1tZCIsImZ4TGF5b3V0QWxpZ24uZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRGbGV4RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeEZsZXhdLCBbZnhGbGV4LnhzXSwgW2Z4RmxleC5zbV0sIFtmeEZsZXgubWRdLCAgW2Z4RmxleC5sZ10sIFtmeEZsZXgueGxdLCBbZnhGbGV4Lmx0LXNtXSwgW2Z4RmxleC5sdC1tZF0sICBbZnhGbGV4Lmx0LWxnXSwgW2Z4RmxleC5sdC14bF0sIFtmeEZsZXguZ3QteHNdLCBbZnhGbGV4Lmd0LXNtXSwgIFtmeEZsZXguZ3QtbWRdLCBbZnhGbGV4Lmd0LWxnXSIsaW5wdXRzOlsiZnhGbGV4IiwiZnhGbGV4LnhzIiwiZnhGbGV4LnNtIiwiZnhGbGV4Lm1kIiwiZnhGbGV4LmxnIiwiZnhGbGV4LnhsIiwiZnhGbGV4Lmx0LXNtIiwiZnhGbGV4Lmx0LW1kIiwiZnhGbGV4Lmx0LWxnIiwiZnhGbGV4Lmx0LXhsIiwiZnhGbGV4Lmd0LXhzIiwiZnhGbGV4Lmd0LXNtIiwiZnhGbGV4Lmd0LW1kIiwiZnhGbGV4Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Sy5EZWZhdWx0U2hvd0hpZGVEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4U2hvd10sIFtmeFNob3cucHJpbnRdLCAgW2Z4U2hvdy54c10sIFtmeFNob3cuc21dLCBbZnhTaG93Lm1kXSwgW2Z4U2hvdy5sZ10sIFtmeFNob3cueGxdLCAgW2Z4U2hvdy5sdC1zbV0sIFtmeFNob3cubHQtbWRdLCBbZnhTaG93Lmx0LWxnXSwgW2Z4U2hvdy5sdC14bF0sICBbZnhTaG93Lmd0LXhzXSwgW2Z4U2hvdy5ndC1zbV0sIFtmeFNob3cuZ3QtbWRdLCBbZnhTaG93Lmd0LWxnXSwgIFtmeEhpZGVdLCBbZnhIaWRlLnByaW50XSwgIFtmeEhpZGUueHNdLCBbZnhIaWRlLnNtXSwgW2Z4SGlkZS5tZF0sIFtmeEhpZGUubGddLCBbZnhIaWRlLnhsXSwgIFtmeEhpZGUubHQtc21dLCBbZnhIaWRlLmx0LW1kXSwgW2Z4SGlkZS5sdC1sZ10sIFtmeEhpZGUubHQteGxdLCAgW2Z4SGlkZS5ndC14c10sIFtmeEhpZGUuZ3Qtc21dLCBbZnhIaWRlLmd0LW1kXSwgW2Z4SGlkZS5ndC1sZ10iLGlucHV0czpbImZ4U2hvdyIsImZ4U2hvdy5wcmludCIsImZ4U2hvdy54cyIsImZ4U2hvdy5zbSIsImZ4U2hvdy5tZCIsImZ4U2hvdy5sZyIsImZ4U2hvdy54bCIsImZ4U2hvdy5sdC1zbSIsImZ4U2hvdy5sdC1tZCIsImZ4U2hvdy5sdC1sZyIsImZ4U2hvdy5sdC14bCIsImZ4U2hvdy5ndC14cyIsImZ4U2hvdy5ndC1zbSIsImZ4U2hvdy5ndC1tZCIsImZ4U2hvdy5ndC1sZyIsImZ4SGlkZSIsImZ4SGlkZS5wcmludCIsImZ4SGlkZS54cyIsImZ4SGlkZS5zbSIsImZ4SGlkZS5tZCIsImZ4SGlkZS5sZyIsImZ4SGlkZS54bCIsImZ4SGlkZS5sdC1zbSIsImZ4SGlkZS5sdC1tZCIsImZ4SGlkZS5sdC1sZyIsImZ4SGlkZS5sdC14bCIsImZ4SGlkZS5ndC14cyIsImZ4SGlkZS5ndC1zbSIsImZ4SGlkZS5ndC1tZCIsImZ4SGlkZS5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOksuRGVmYXVsdENsYXNzRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtuZ0NsYXNzXSwgW25nQ2xhc3MueHNdLCBbbmdDbGFzcy5zbV0sIFtuZ0NsYXNzLm1kXSwgW25nQ2xhc3MubGddLCBbbmdDbGFzcy54bF0sICBbbmdDbGFzcy5sdC1zbV0sIFtuZ0NsYXNzLmx0LW1kXSwgW25nQ2xhc3MubHQtbGddLCBbbmdDbGFzcy5sdC14bF0sICBbbmdDbGFzcy5ndC14c10sIFtuZ0NsYXNzLmd0LXNtXSwgW25nQ2xhc3MuZ3QtbWRdLCBbbmdDbGFzcy5ndC1sZ10iLGlucHV0czpbIm5nQ2xhc3MiLCJuZ0NsYXNzLnhzIiwibmdDbGFzcy5zbSIsIm5nQ2xhc3MubWQiLCJuZ0NsYXNzLmxnIiwibmdDbGFzcy54bCIsIm5nQ2xhc3MubHQtc20iLCJuZ0NsYXNzLmx0LW1kIiwibmdDbGFzcy5sdC1sZyIsIm5nQ2xhc3MubHQteGwiLCJuZ0NsYXNzLmd0LXhzIiwibmdDbGFzcy5ndC1zbSIsIm5nQ2xhc3MuZ3QtbWQiLCJuZ0NsYXNzLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Sy5EZWZhdWx0U3R5bGVEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW25nU3R5bGVdLCAgW25nU3R5bGUueHNdLCBbbmdTdHlsZS5zbV0sIFtuZ1N0eWxlLm1kXSwgW25nU3R5bGUubGddLCBbbmdTdHlsZS54bF0sICBbbmdTdHlsZS5sdC1zbV0sIFtuZ1N0eWxlLmx0LW1kXSwgW25nU3R5bGUubHQtbGddLCBbbmdTdHlsZS5sdC14bF0sICBbbmdTdHlsZS5ndC14c10sIFtuZ1N0eWxlLmd0LXNtXSwgW25nU3R5bGUuZ3QtbWRdLCBbbmdTdHlsZS5ndC1sZ10iLGlucHV0czpbIm5nU3R5bGUiLCJuZ1N0eWxlLnhzIiwibmdTdHlsZS5zbSIsIm5nU3R5bGUubWQiLCJuZ1N0eWxlLmxnIiwibmdTdHlsZS54bCIsIm5nU3R5bGUubHQtc20iLCJuZ1N0eWxlLmx0LW1kIiwibmdTdHlsZS5sdC1sZyIsIm5nU3R5bGUubHQteGwiLCJuZ1N0eWxlLmd0LXhzIiwibmdTdHlsZS5ndC1zbSIsIm5nU3R5bGUuZ3QtbWQiLCJuZ1N0eWxlLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlllLlRydW5jYXRlV2l0aFRvb2x0aXBEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0b29sdGlwRW5hYmxlZCIsInBvc2l0aW9uIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlkuVHJhbnNsYXRlRGlyZWN0aXZlLHNlbGVjdG9yOiJbdHJhbnNsYXRlXSxbbmd4LXRyYW5zbGF0ZV0iLGlucHV0czpbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZVBhcmFtcyJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJ0LlRiSWNvbkNvbXBvbmVudCxzZWxlY3RvcjoidGItaWNvbiIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbInRiSWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlNhLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfV0sY2hhbmdlRGV0ZWN0aW9uOnQuQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNofSl9fWUoIk1hcHBpbmdUYWJsZUNvbXBvbmVudCIscm8pLEhlKFtOKCldLHJvLnByb3RvdHlwZSwicmVxdWlyZWQiLHZvaWQgMCksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpybyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItbWFwcGluZy10YWJsZSIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PnJvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5ybykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsU2FdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItbWFwcGluZy10YWJsZSB0Yi1hYnNvbHV0ZS1maWxsIj5cbiAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9ImNvbHVtbiIgY2xhc3M9InRiLW1hcHBpbmctdGFibGUtY29udGVudCI+XG4gICAgPG1hdC10b29sYmFyIGNsYXNzPSJtYXQtbWRjLXRhYmxlLXRvb2xiYXIiIFtmeFNob3ddPSIhdGV4dFNlYXJjaE1vZGUiPlxuICAgICAgPGRpdiBjbGFzcz0ibWF0LXRvb2xiYXItdG9vbHMiICpuZ0lmPSIoZGF0YVNvdXJjZS5pc0VtcHR5KCkgfCBhc3luYykgPT09IGZhbHNlIj5cbiAgICAgICAgPGRpdiBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJzdGFydCBjZW50ZXIiIGZ4TGF5b3V0LnhzPSJjb2x1bW4iIGZ4TGF5b3V0QWxpZ24ueHM9ImNlbnRlciBzdGFydCIgY2xhc3M9InRpdGxlLWNvbnRhaW5lciI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9InRiLW1hcHBpbmctdGFibGUtdGl0bGUiPnt7bWFwcGluZ1R5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KG1hcHBpbmdUeXBlKSB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gZnhGbGV4Pjwvc3Bhbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VNYXBwaW5nKCRldmVudCkiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uYWRkXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9ImVudGVyRmlsdGVyTW9kZSgpIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLnNlYXJjaFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXRvb2xiYXI+XG4gICAgPG1hdC10b29sYmFyIGNsYXNzPSJtYXQtbWRjLXRhYmxlLXRvb2xiYXIiIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSI+XG4gICAgICA8ZGl2IGNsYXNzPSJtYXQtdG9vbGJhci10b29scyI+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+Jm5ic3A7PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0ICNzZWFyY2hJbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPSJ0ZXh0U2VhcmNoIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdjb21tb24uZW50ZXItc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0iZXhpdEZpbHRlck1vZGUoKSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5jbG9zZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1jb250YWluZXIiPlxuICAgICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09ImRhdGFTb3VyY2UiPlxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPSJjb2x1bW4uZGVmIiAqbmdGb3I9ImxldCBjb2x1bW4gb2YgbWFwcGluZ0NvbHVtbnM7IGxldCBpID0gaW5kZXgiPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgY2xhc3M9InRhYmxlLXZhbHVlLWNvbHVtbiJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5yZXF1ZXN0LWNvbHVtbl09Im1hcHBpbmdUeXBlID09PSBtYXBwaW5nVHlwZUVudW0uUkVRVUVTVFMiPlxuICAgICAgICAgICAge3sgY29sdW1uLnRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCAqbWF0Q2VsbERlZj0ibGV0IG1hcHBpbmciIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5yZXF1ZXN0LWNvbHVtbl09Im1hcHBpbmdUeXBlID09PSBtYXBwaW5nVHlwZUVudW0uUkVRVUVTVFMiPlxuICAgICAgICAgICAge3sgbWFwcGluZ1tjb2x1bW4uZGVmXSB9fVxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iYWN0aW9ucyIgc3RpY2t5RW5kPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlLmd0LW1kXT0ieyBtaW5XaWR0aDogXCc5NnB4XCcsIG1heFdpZHRoOiBcJzk2cHhcJywgd2lkdGg6IFwnOTZweFwnLCB0ZXh0QWxpZ246IFwnY2VudGVyXCd9Ij5cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBtYXBwaW5nOyBsZXQgaSA9IGluZGV4IlxuICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZS5ndC1tZF09InsgbWluV2lkdGg6IFwnOTZweFwnLCBtYXhXaWR0aDogXCc5NnB4XCcsIHdpZHRoOiBcJzk2cHhcJ30iPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyb3dBY3Rpb25zPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZU1hcHBpbmcoJGV2ZW50LCBpKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZGVsZXRlXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJkZWxldGVNYXBwaW5nKCRldmVudCwgaSkiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uPmRlbGV0ZTwvdGItaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPGRpdiBmeEhpZGUgZnhTaG93Lmd0LW1kIGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJlbmQiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0icm93QWN0aW9ucyI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgZnhIaWRlIGZ4U2hvdy5sdC1sZyBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT0iY2VsbEFjdGlvbnNNZW51Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPG1hdC1tZW51ICNjZWxsQWN0aW9uc01lbnU9Im1hdE1lbnUiIHhQb3NpdGlvbj0iYmVmb3JlIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0icm93QWN0aW9ucyI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG1hdC1oZWFkZXItcm93IFtuZ0NsYXNzXT0ie1wnbWF0LXJvdy1zZWxlY3RcJzogdHJ1ZX0iICptYXRIZWFkZXJSb3dEZWY9ImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTogdHJ1ZSI+PC9tYXQtaGVhZGVyLXJvdz5cbiAgICAgICAgPG1hdC1yb3cgKm1hdFJvd0RlZj0ibGV0IG1hcHBpbmc7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7Ij48L21hdC1yb3c+XG4gICAgICA8L3RhYmxlPlxuICAgICAgPHNlY3Rpb24gW2Z4U2hvd109IiF0ZXh0U2VhcmNoTW9kZSAmJiAoZGF0YVNvdXJjZS5pc0VtcHR5KCkgfCBhc3luYykiIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiXG4gICAgICAgICAgICAgICBjbGFzcz0ibWF0LWhlYWRsaW5lLTUgdGItYWJzb2x1dGUtZmlsbCB0Yi1hZGQtbmV3Ij5cbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNsYXNzPSJjb25uZWN0b3IiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlTWFwcGluZygkZXZlbnQpIj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC05NiI+YWRkPC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3Bhbj57eyBcJ2dhdGV3YXkuYWRkLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gW2Z4U2hvd109InRleHRTZWFyY2hNb2RlICYmIChkYXRhU291cmNlLmlzRW1wdHkoKSB8IGFzeW5jKSJcbiAgICAgICAgICBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgIGNsYXNzPSJuby1kYXRhLWZvdW5kIiB0cmFuc2xhdGU+XG4gICAgICB3aWRnZXQubm8tZGF0YS1mb3VuZFxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6YmxvY2t9Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6I2ZmZjtvdmVyZmxvdzpoaWRkZW59Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudC50Yi1vdXRsaW5lZC1ib3JkZXJ7Ym94LXNoYWRvdzowIDAgIzAwMDMsMCAwICMwMDAwMDAyNCwwIDAgIzAwMDAwMDFmO2JvcmRlcjpzb2xpZCAxcHggI2UwZTBlMDtib3JkZXItcmFkaXVzOjRweH06aG9zdCAudGItbWFwcGluZy10YWJsZSAudGItbWFwcGluZy10YWJsZS1jb250ZW50IC5tYXQtdG9vbGJhci10b29sc3ttaW4taGVpZ2h0OmF1dG99Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAudGl0bGUtY29udGFpbmVye292ZXJmbG93OmhpZGRlbn06aG9zdCAudGItbWFwcGluZy10YWJsZSAudGItbWFwcGluZy10YWJsZS1jb250ZW50IC50Yi1tYXBwaW5nLXRhYmxlLXRpdGxle3BhZGRpbmctcmlnaHQ6MjBweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAudGFibGUtY29udGFpbmVye292ZXJmbG93OmF1dG99Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAudGFibGUtY29udGFpbmVyIC5tYXQtbWRjLXRhYmxle3RhYmxlLWxheW91dDpmaXhlZDttaW4td2lkdGg6NDUwcHh9Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAudGFibGUtY29udGFpbmVyIC5tYXQtbWRjLXRhYmxlIC50YWJsZS12YWx1ZS1jb2x1bW57cGFkZGluZzowIDEycHg7d2lkdGg6MjMlfTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lciAubWF0LW1kYy10YWJsZSAudGFibGUtdmFsdWUtY29sdW1uLnJlcXVlc3QtY29sdW1ue3dpZHRoOjM4JX06aG9zdCAudGItbWFwcGluZy10YWJsZSAudGItbWFwcGluZy10YWJsZS1jb250ZW50IC5lbGxpcHNpc3tvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306aG9zdCAubm8tZGF0YS1mb3VuZHtoZWlnaHQ6Y2FsYygxMDAlIC0gMTIwcHgpfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KXs6aG9zdCAubWF0LXRvb2xiYXJ7aGVpZ2h0OmF1dG87bWluLWhlaWdodDoxMDBweH06aG9zdCAubWF0LXRvb2xiYXIgLnRiLW1hcHBpbmctdGFibGUtdGl0bGV7cGFkZGluZy1ib3R0b206NXB4O3dpZHRoOjEwMCV9fTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxse2N1cnNvcjpwb2ludGVyfTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxsIC5tYXQtaWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4O2ZvbnQtc2l6ZToyNHB4O2NvbG9yOiM3NTc1NzV9XG4nXX1dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0eXBlOkplLk1hdERpYWxvZ30se3R5cGU6WC5EaWFsb2dTZXJ2aWNlfSx7dHlwZTptZS5Gb3JtQnVpbGRlcn1dLHByb3BEZWNvcmF0b3JzOntyZXF1aXJlZDpbe3R5cGU6YX1dLG1hcHBpbmdUeXBlOlt7dHlwZTphfV0sc2VhcmNoSW5wdXRGaWVsZDpbe3R5cGU6byxhcmdzOlsic2VhcmNoSW5wdXQiXX1dfX0pO2NsYXNzIHNvIGV4dGVuZHMgUntjb25zdHJ1Y3Rvcigpe3N1cGVyKCl9fWUoIk1hcHBpbmdEYXRhc291cmNlIixzbyk7Y2xhc3MgbG97Y29uc3RydWN0b3IoZSx0KXt0aGlzLmZiPWUsdGhpcy5jZHI9dCx0aGlzLnRpdGxlPSJnYXRld2F5LnNlY3VyaXR5Iix0aGlzLmV4dGVuZENlcnRpZmljYXRlc01vZGVsPSExLHRoaXMuQnJva2VyU2VjdXJpdHlUeXBlPXJuLHRoaXMuc2VjdXJpdHlUeXBlcz1PYmplY3QudmFsdWVzKHJuKSx0aGlzLm1vZGVUeXBlcz1PYmplY3QudmFsdWVzKHBuKSx0aGlzLlNlY3VyaXR5VHlwZVRyYW5zbGF0aW9uc01hcD1tbix0aGlzLmRlc3Ryb3kkPW5ldyBTZX1uZ09uSW5pdCgpe3RoaXMuc2VjdXJpdHlGb3JtR3JvdXA9dGhpcy5mYi5ncm91cCh7dHlwZTpbcm4uQU5PTllNT1VTLFtdXSx1c2VybmFtZTpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scGFzc3dvcmQ6WyIiLFt1ZS5wYXR0ZXJuKGt0KV1dLHBhdGhUb0NBQ2VydDpbIiIsW3VlLnBhdHRlcm4oa3QpXV0scGF0aFRvUHJpdmF0ZUtleTpbIiIsW3VlLnBhdHRlcm4oa3QpXV0scGF0aFRvQ2xpZW50Q2VydDpbIiIsW3VlLnBhdHRlcm4oa3QpXV19KSx0aGlzLmV4dGVuZENlcnRpZmljYXRlc01vZGVsJiZ0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmFkZENvbnRyb2woIm1vZGUiLHRoaXMuZmIuY29udHJvbChwbi5OT05FLFtdKSksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+dGhpcy51cGRhdGVWYWxpZGF0b3JzKGUpKSl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9d3JpdGVWYWx1ZShlKXtpZihlKWUudHlwZXx8KGUudHlwZT1ybi5BTk9OWU1PVVMpLHRoaXMudXBkYXRlVmFsaWRhdG9ycyhlLnR5cGUpLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAucmVzZXQoZSx7ZW1pdEV2ZW50OiExfSk7ZWxzZXtjb25zdCBlPXt0eXBlOnJuLkFOT05ZTU9VU307dGhpcy5zZWN1cml0eUZvcm1Hcm91cC5yZXNldChlLHtlbWl0RXZlbnQ6ITF9KX10aGlzLmNkci5tYXJrRm9yQ2hlY2soKX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgidHlwZSIpLnZhbHVlIT09cm4uQkFTSUN8fHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAudmFsaWQ/bnVsbDp7c2VjdXJpdHlGb3JtOnt2YWxpZDohMX19fXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9dXBkYXRlVmFsaWRhdG9ycyhlKXtpZihlKWlmKHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJ1c2VybmFtZSIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJwYXNzd29yZCIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJwYXRoVG9DQUNlcnQiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgicGF0aFRvUHJpdmF0ZUtleSIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJwYXRoVG9DbGllbnRDZXJ0IikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoIm1vZGUiKT8uZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksZT09PXJuLkJBU0lDKXRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJ1c2VybmFtZSIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoInBhc3N3b3JkIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KTtlbHNlIGlmKGU9PT1ybi5DRVJUSUZJQ0FURVMmJih0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgicGF0aFRvQ0FDZXJ0IikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgicGF0aFRvUHJpdmF0ZUtleSIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoInBhdGhUb0NsaWVudENlcnQiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuZXh0ZW5kQ2VydGlmaWNhdGVzTW9kZWwpKXtjb25zdCBlPXRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJtb2RlIik7ZSYmIWUudmFsdWUmJmUuc2V0VmFsdWUocG4uTk9ORSx7ZW1pdEV2ZW50OiExfSksZT8uZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgidXNlcm5hbWUiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJwYXNzd29yZCIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSl9fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6bG8sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfSx7dG9rZW46dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6bG8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1zZWN1cml0eS1jb25maWciLGlucHV0czp7dGl0bGU6InRpdGxlIixleHRlbmRDZXJ0aWZpY2F0ZXNNb2RlbDoiZXh0ZW5kQ2VydGlmaWNhdGVzTW9kZWwifSxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5sbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+bG8pKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHNhbWUtcGFkZGluZyB0Yi1mbGV4IGNvbHVtbiIgW2Zvcm1Hcm91cF09InNlY3VyaXR5Rm9ybUdyb3VwIj5cbiAgPGRpdiBjbGFzcz0idGItZmxleCByb3cgc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIgbm8tZ2FwIGZpbGwtd2lkdGgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIj57eyB0aXRsZSB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNlY3VyaXR5VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICB7eyBTZWN1cml0eVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlIj5cbiAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkJyb2tlclNlY3VyaXR5VHlwZS5CQVNJQyI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS51c2VybmFtZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ1c2VybmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS51c2VybmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndXNlcm5hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndXNlcm5hbWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5wYXNzd29yZDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJwYXNzd29yZCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icGFzc3dvcmQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAgYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0IiBtYXRTdWZmaXg+XG4gICAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1wYXNzd29yZCBjbGFzcz0idGItZmxleCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiPjwvdGItdG9nZ2xlLXBhc3N3b3JkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJCcm9rZXJTZWN1cml0eVR5cGUuQ0VSVElGSUNBVEVTIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwiPnt7IFwnZ2F0ZXdheS5wYXRoLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuQ0EtY2VydGlmaWNhdGUtcGF0aDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwYXRoVG9DQUNlcnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucHJpdmF0ZS1rZXktcGF0aDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwYXRoVG9Qcml2YXRlS2V5IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmNsaWVudC1jZXJ0LXBhdGg8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icGF0aFRvQ2xpZW50Q2VydCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJleHRlbmRDZXJ0aWZpY2F0ZXNNb2RlbCI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkubW9kZTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibW9kZSI+XG4gICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBtb2RlVHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAge3sgdHlwZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudXNlcm5hbWU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idXNlcm5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS51c2VybmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd1c2VybmFtZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3VzZXJuYW1lXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnBhc3N3b3JkPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwYXNzd29yZCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiIG1hdFN1ZmZpeD5cbiAgICAgICAgICAgICAgICA8dGItdG9nZ2xlLXBhc3N3b3JkIGNsYXNzPSJ0Yi1mbGV4IGFsaWduLWNlbnRlciBmaWxsLWhlaWdodCI+PC90Yi10b2dnbGUtcGFzc3dvcmQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9ja31cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdTd2l0Y2gsc2VsZWN0b3I6IltuZ1N3aXRjaF0iLGlucHV0czpbIm5nU3dpdGNoIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaENhc2Usc2VsZWN0b3I6IltuZ1N3aXRjaENhc2VdIixpbnB1dHM6WyJuZ1N3aXRjaENhc2UiXX0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp0dC5Ub2dnbGVQYXNzd29yZENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXBhc3N3b3JkIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpudC5Ub2dnbGVPcHRpb24sc2VsZWN0b3I6InRiLXRvZ2dsZS1vcHRpb24iLGlucHV0czpbInZhbHVlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YXQuVG9nZ2xlU2VsZWN0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi10b2dnbGUtc2VsZWN0IixpbnB1dHM6WyJkaXNhYmxlZCIsInNlbGVjdE1lZGlhQnJlYWtwb2ludCIsImFwcGVhcmFuY2UiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImZpbGxIZWlnaHQiLCJleHRyYVBhZGRpbmciLCJwcmltYXJ5QmFja2dyb3VuZCJdfV0sY2hhbmdlRGV0ZWN0aW9uOnQuQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNofSl9fWUoIlNlY3VyaXR5Q29uZmlnQ29tcG9uZW50IixsbyksSGUoW04oKV0sbG8ucHJvdG90eXBlLCJleHRlbmRDZXJ0aWZpY2F0ZXNNb2RlbCIsdm9pZCAwKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmxvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1zZWN1cml0eS1jb25maWciLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5sbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+bG8pKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxEXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gc2FtZS1wYWRkaW5nIHRiLWZsZXggY29sdW1uIiBbZm9ybUdyb3VwXT0ic2VjdXJpdHlGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHJvdyBzcGFjZS1iZXR3ZWVuIGFsaWduLWNlbnRlciBuby1nYXAgZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiPnt7IHRpdGxlIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgPHRiLXRvZ2dsZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIiBhcHBlYXJhbmNlPSJmaWxsIj5cbiAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2Ygc2VjdXJpdHlUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgIHt7IFNlY3VyaXR5VHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQnJva2VyU2VjdXJpdHlUeXBlLkJBU0lDIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnVzZXJuYW1lPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InVzZXJuYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnVzZXJuYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd1c2VybmFtZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd1c2VybmFtZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnBhc3N3b3JkPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwYXNzd29yZCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiIG1hdFN1ZmZpeD5cbiAgICAgICAgICAgICAgICA8dGItdG9nZ2xlLXBhc3N3b3JkIGNsYXNzPSJ0Yi1mbGV4IGFsaWduLWNlbnRlciBmaWxsLWhlaWdodCI+PC90Yi10b2dnbGUtcGFzc3dvcmQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkJyb2tlclNlY3VyaXR5VHlwZS5DRVJUSUZJQ0FURVMiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCI+e3sgXCdnYXRld2F5LnBhdGgtaGludFwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5DQS1jZXJ0aWZpY2F0ZS1wYXRoPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhdGhUb0NBQ2VydCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5wcml2YXRlLWtleS1wYXRoPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhdGhUb1ByaXZhdGVLZXkiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuY2xpZW50LWNlcnQtcGF0aDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwYXRoVG9DbGllbnRDZXJ0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9ImV4dGVuZENlcnRpZmljYXRlc01vZGVsIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5tb2RlPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtb2RlIj5cbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIG1vZGVUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAgICB7eyB0eXBlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS51c2VybmFtZTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ1c2VybmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnVzZXJuYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3VzZXJuYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndXNlcm5hbWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucGFzc3dvcmQ8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhc3N3b3JkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGFsaWduLWNlbnRlciBmaWxsLWhlaWdodCIgbWF0U3VmZml4PlxuICAgICAgICAgICAgICAgIDx0Yi10b2dnbGUtcGFzc3dvcmQgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0Ij48L3RiLXRvZ2dsZS1wYXNzd29yZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9LHt0eXBlOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9XSxwcm9wRGVjb3JhdG9yczp7dGl0bGU6W3t0eXBlOmF9XSxleHRlbmRDZXJ0aWZpY2F0ZXNNb2RlbDpbe3R5cGU6YX1dfX0pO2NsYXNzIGNve2NvbnN0cnVjdG9yKGUpe3RoaXMuZmI9ZSx0aGlzLmhpZGVOZXdGaWVsZHM9ITEsdGhpcy5zZWN1cml0eVBvbGljeVR5cGVzPV9uLHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMuc2VydmVyQ29uZmlnRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe3VybDpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sdGltZW91dEluTWlsbGlzOlsxZTMsW3VlLnJlcXVpcmVkLHVlLm1pbigxZTMpXV0sc2NhblBlcmlvZEluTWlsbGlzOltWLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMWUzKV1dLHBvbGxQZXJpb2RJbk1pbGxpczpbNWUzLFt1ZS5yZXF1aXJlZCx1ZS5taW4oNTApXV0sZW5hYmxlU3Vic2NyaXB0aW9uczpbITAsW11dLHN1YkNoZWNrUGVyaW9kSW5NaWxsaXM6WzEwMCxbdWUucmVxdWlyZWQsdWUubWluKDEwMCldXSxzaG93TWFwOlshMSxbXV0sc2VjdXJpdHk6W1VuLkJBU0lDMTI4LFtdXSxpZGVudGl0eTpbXX0pLHRoaXMuc2VydmVyQ29uZmlnRm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLm9uQ2hhbmdlKGUpLHRoaXMub25Ub3VjaGVkKCl9KSl9bmdBZnRlclZpZXdJbml0KCl7dGhpcy5oaWRlTmV3RmllbGRzJiZ0aGlzLnNlcnZlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoInBvbGxQZXJpb2RJbk1pbGxpcyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5zZXJ2ZXJDb25maWdGb3JtR3JvdXAudmFsaWQ/bnVsbDp7c2VydmVyQ29uZmlnRm9ybUdyb3VwOnt2YWxpZDohMX19fXdyaXRlVmFsdWUoZSl7Y29uc3R7dGltZW91dEluTWlsbGlzOnQ9MWUzLHNjYW5QZXJpb2RJbk1pbGxpczpuPVYscG9sbFBlcmlvZEluTWlsbGlzOmE9NWUzLGVuYWJsZVN1YnNjcmlwdGlvbnM6bz0hMCxzdWJDaGVja1BlcmlvZEluTWlsbGlzOmk9MTAwLHNob3dNYXA6cj0hMSxzZWN1cml0eTpzPVVuLkJBU0lDMTI4LGlkZW50aXR5Omw9e319PWU7dGhpcy5zZXJ2ZXJDb25maWdGb3JtR3JvdXAucmVzZXQoey4uLmUsdGltZW91dEluTWlsbGlzOnQsc2NhblBlcmlvZEluTWlsbGlzOm4scG9sbFBlcmlvZEluTWlsbGlzOmEsZW5hYmxlU3Vic2NyaXB0aW9uczpvLHN1YkNoZWNrUGVyaW9kSW5NaWxsaXM6aSxzaG93TWFwOnIsc2VjdXJpdHk6cyxpZGVudGl0eTpsfSx7ZW1pdEV2ZW50OiExfSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpjbyxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOmNvLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItb3BjLXNlcnZlci1jb25maWciLGlucHV0czp7aGlkZU5ld0ZpZWxkczoiaGlkZU5ld0ZpZWxkcyJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PmNvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5jbykpLG11bHRpOiEwfV0sbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiIFtmb3JtR3JvdXBdPSJzZXJ2ZXJDb25maWdGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGJUcnVuY2F0ZVdpdGhUb29sdGlwIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci11cmw8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idXJsIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuc2VydmVyLXVybC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndXJsXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndXJsXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5vcGMtdGltZW91dFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS50aW1lb3V0XCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjEwMDAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRpbWVvdXRJbk1pbGxpcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkudGltZW91dC1lcnJvclwnIHwgdHJhbnNsYXRlOiB7bWluOiAxMDAwfSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSIoc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3RpbWVvdXRJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3RpbWVvdXRJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ21pblwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndGltZW91dEluTWlsbGlzXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5zZWN1cml0eS1wb2xpY3lcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkuc2VjdXJpdHktcG9saWN5XCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5Ij5cbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB2ZXJzaW9uIG9mIHNlY3VyaXR5UG9saWN5VHlwZXMiIFt2YWx1ZV09InZlcnNpb24udmFsdWUiPnt7IHZlcnNpb24ubmFtZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLnNjYW4tcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgXCdnYXRld2F5LnNjYW4tcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjEwMDAiIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJzY2FuUGVyaW9kSW5NaWxsaXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iXCdnYXRld2F5LnNjYW4tcGVyaW9kLWVycm9yXCcgfCB0cmFuc2xhdGU6IHttaW46IDEwMDB9IlxuICAgICAgICAgICAgICAgICAgKm5nSWY9IihzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2NhblBlcmlvZEluTWlsbGlzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2NhblBlcmlvZEluTWlsbGlzXCcpLmhhc0Vycm9yKFwnbWluXCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzY2FuUGVyaW9kSW5NaWxsaXNcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgd2FybmluZ1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9IiFoaWRlTmV3RmllbGRzIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iNTAiIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJwb2xsUGVyaW9kSW5NaWxsaXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iXCdnYXRld2F5LnBvbGwtcGVyaW9kLWVycm9yXCcgfCB0cmFuc2xhdGU6IHttaW46IDUwfSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSIoc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvbGxQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvbGxQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ21pblwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9sbFBlcmlvZEluTWlsbGlzXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5zdWItY2hlY2stcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgXCdnYXRld2F5LnN1Yi1jaGVjay1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMTAwIiBuYW1lPSJ2YWx1ZSJcbiAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0ic3ViQ2hlY2tQZXJpb2RJbk1pbGxpcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkuc3ViLWNoZWNrLXBlcmlvZC1lcnJvclwnIHwgdHJhbnNsYXRlOiB7bWluOiAxMDB9IlxuICAgICAgICAgICAgICAgICAgKm5nSWY9IihzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc3ViQ2hlY2tQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3N1YkNoZWNrUGVyaW9kSW5NaWxsaXNcJykuaGFzRXJyb3IoXCdtaW5cJykpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3N1YkNoZWNrUGVyaW9kSW5NaWxsaXNcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgd2FybmluZ1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJlbmFibGVTdWJzY3JpcHRpb25zIj5cbiAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5lbmFibGUtc3Vic2NyaXB0aW9uXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkuZW5hYmxlLXN1YnNjcmlwdGlvblwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8L21hdC1sYWJlbD5cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic2hvd01hcCI+XG4gICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMuc2hvdy1tYXBcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgIHt7IFwnZ2F0ZXdheS5zaG93LW1hcFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1sYWJlbD5cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvZGl2PlxuICA8dGItc2VjdXJpdHktY29uZmlnIGZvcm1Db250cm9sTmFtZT0iaWRlbnRpdHkiXG4gICAgICAgICAgICAgICAgICAgICAgW2V4dGVuZENlcnRpZmljYXRlc01vZGVsXT0idHJ1ZSI+XG4gIDwvdGItc2VjdXJpdHktY29uZmlnPlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdFN1ZmZpeCxzZWxlY3RvcjoiW21hdFN1ZmZpeF0sIFttYXRJY29uU3VmZml4XSwgW21hdFRleHRTdWZmaXhdIixpbnB1dHM6WyJtYXRUZXh0U3VmZml4Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpDZS5NYXRPcHRpb24sc2VsZWN0b3I6Im1hdC1vcHRpb24iLGlucHV0czpbInZhbHVlIiwiaWQiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJvblNlbGVjdGlvbkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0T3B0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6emUuTWF0VG9vbHRpcCxzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixpbnB1dHM6WyJtYXRUb29sdGlwUG9zaXRpb24iLCJtYXRUb29sdGlwUG9zaXRpb25BdE9yaWdpbiIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBTaG93RGVsYXkiLCJtYXRUb29sdGlwSGlkZURlbGF5IiwibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcENsYXNzIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6ZXQuTWF0U2xpZGVUb2dnbGUsc2VsZWN0b3I6Im1hdC1zbGlkZS10b2dnbGUiLGlucHV0czpbIm5hbWUiLCJpZCIsImxhYmVsUG9zaXRpb24iLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsInJlcXVpcmVkIiwiY29sb3IiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImNoZWNrZWQiLCJoaWRlSWNvbiIsImRpc2FibGVkSW50ZXJhY3RpdmUiXSxvdXRwdXRzOlsiY2hhbmdlIiwidG9nZ2xlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlllLlRydW5jYXRlV2l0aFRvb2x0aXBEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0b29sdGlwRW5hYmxlZCIsInBvc2l0aW9uIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlkuVHJhbnNsYXRlRGlyZWN0aXZlLHNlbGVjdG9yOiJbdHJhbnNsYXRlXSxbbmd4LXRyYW5zbGF0ZV0iLGlucHV0czpbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZVBhcmFtcyJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnV0LkhpbnRUb29sdGlwSWNvbkNvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhpbnQtdG9vbHRpcC1pY29uXSIsaW5wdXRzOlsidGItaGludC10b29sdGlwLWljb24iLCJ0b29sdGlwUG9zaXRpb24iLCJoaW50SWNvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmxvLHNlbGVjdG9yOiJ0Yi1zZWN1cml0eS1jb25maWciLGlucHV0czpbInRpdGxlIiwiZXh0ZW5kQ2VydGlmaWNhdGVzTW9kZWwiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJPcGNTZXJ2ZXJDb25maWdDb21wb25lbnQiLGNvKSxIZShbTigpXSxjby5wcm90b3R5cGUsImhpZGVOZXdGaWVsZHMiLHZvaWQgMCksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpjbyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItb3BjLXNlcnZlci1jb25maWciLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5jbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+Y28pKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxELGxvLFNhXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiIFtmb3JtR3JvdXBdPSJzZXJ2ZXJDb25maWdGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGJUcnVuY2F0ZVdpdGhUb29sdGlwIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci11cmw8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idXJsIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuc2VydmVyLXVybC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndXJsXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndXJsXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5vcGMtdGltZW91dFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS50aW1lb3V0XCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjEwMDAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRpbWVvdXRJbk1pbGxpcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkudGltZW91dC1lcnJvclwnIHwgdHJhbnNsYXRlOiB7bWluOiAxMDAwfSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSIoc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3RpbWVvdXRJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3RpbWVvdXRJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ21pblwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndGltZW91dEluTWlsbGlzXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5zZWN1cml0eS1wb2xpY3lcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkuc2VjdXJpdHktcG9saWN5XCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5Ij5cbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB2ZXJzaW9uIG9mIHNlY3VyaXR5UG9saWN5VHlwZXMiIFt2YWx1ZV09InZlcnNpb24udmFsdWUiPnt7IHZlcnNpb24ubmFtZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLnNjYW4tcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgXCdnYXRld2F5LnNjYW4tcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjEwMDAiIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJzY2FuUGVyaW9kSW5NaWxsaXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iXCdnYXRld2F5LnNjYW4tcGVyaW9kLWVycm9yXCcgfCB0cmFuc2xhdGU6IHttaW46IDEwMDB9IlxuICAgICAgICAgICAgICAgICAgKm5nSWY9IihzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2NhblBlcmlvZEluTWlsbGlzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2NhblBlcmlvZEluTWlsbGlzXCcpLmhhc0Vycm9yKFwnbWluXCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzY2FuUGVyaW9kSW5NaWxsaXNcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgd2FybmluZ1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9IiFoaWRlTmV3RmllbGRzIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iNTAiIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJwb2xsUGVyaW9kSW5NaWxsaXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iXCdnYXRld2F5LnBvbGwtcGVyaW9kLWVycm9yXCcgfCB0cmFuc2xhdGU6IHttaW46IDUwfSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSIoc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvbGxQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvbGxQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ21pblwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9sbFBlcmlvZEluTWlsbGlzXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5zdWItY2hlY2stcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgXCdnYXRld2F5LnN1Yi1jaGVjay1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMTAwIiBuYW1lPSJ2YWx1ZSJcbiAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0ic3ViQ2hlY2tQZXJpb2RJbk1pbGxpcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkuc3ViLWNoZWNrLXBlcmlvZC1lcnJvclwnIHwgdHJhbnNsYXRlOiB7bWluOiAxMDB9IlxuICAgICAgICAgICAgICAgICAgKm5nSWY9IihzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc3ViQ2hlY2tQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3N1YkNoZWNrUGVyaW9kSW5NaWxsaXNcJykuaGFzRXJyb3IoXCdtaW5cJykpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3N1YkNoZWNrUGVyaW9kSW5NaWxsaXNcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgd2FybmluZ1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJlbmFibGVTdWJzY3JpcHRpb25zIj5cbiAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5lbmFibGUtc3Vic2NyaXB0aW9uXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkuZW5hYmxlLXN1YnNjcmlwdGlvblwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8L21hdC1sYWJlbD5cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic2hvd01hcCI+XG4gICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMuc2hvdy1tYXBcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgIHt7IFwnZ2F0ZXdheS5zaG93LW1hcFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1sYWJlbD5cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvZGl2PlxuICA8dGItc2VjdXJpdHktY29uZmlnIGZvcm1Db250cm9sTmFtZT0iaWRlbnRpdHkiXG4gICAgICAgICAgICAgICAgICAgICAgW2V4dGVuZENlcnRpZmljYXRlc01vZGVsXT0idHJ1ZSI+XG4gIDwvdGItc2VjdXJpdHktY29uZmlnPlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9XSxwcm9wRGVjb3JhdG9yczp7aGlkZU5ld0ZpZWxkczpbe3R5cGU6YX1dfX0pO2NsYXNzIHBvIGV4dGVuZHMgeWF7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubWFwcGluZ1R5cGVzPWZuLHRoaXMuaXNMZWdhY3k9ITF9aW5pdEJhc2ljRm9ybUdyb3VwKCl7cmV0dXJuIHRoaXMuZmIuZ3JvdXAoe21hcHBpbmc6W10sc2VydmVyOltdfSl9bWFwQ29uZmlnVG9Gb3JtVmFsdWUoZSl7cmV0dXJue3NlcnZlcjplLnNlcnZlcj8/e30sbWFwcGluZzplLm1hcHBpbmc/P1tdfX1nZXRNYXBwZWRWYWx1ZShlKXtyZXR1cm57c2VydmVyOmUuc2VydmVyLG1hcHBpbmc6ZS5tYXBwaW5nfX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnBvLGRlcHM6bnVsbCx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOnBvLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItb3BjLXVhLWJhc2ljLWNvbmZpZyIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+cG8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PnBvKSksbXVsdGk6ITB9XSx1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdGFiLWdyb3VwIFtmb3JtR3JvdXBdPSJiYXNpY0Zvcm1Hcm91cCI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZ2VuZXJhbFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuc2VydmVyXCcgfCB0cmFuc2xhdGUgfX0qIj5cbiAgICA8dGItb3BjLXNlcnZlci1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZXJ2ZXIiIFtoaWRlTmV3RmllbGRzXT0iaXNMZWdhY3kiPjwvdGItb3BjLXNlcnZlci1jb25maWc+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5kYXRhLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AgdGItZmxleCBmaWxsLWhlaWdodCI+XG4gICAgICA8dGItbWFwcGluZy10YWJsZSBmb3JtQ29udHJvbE5hbWU9Im1hcHBpbmciIFtyZXF1aXJlZF09InRydWUiIFttYXBwaW5nVHlwZV09Im1hcHBpbmdUeXBlcy5PUENVQSI+PC90Yi1tYXBwaW5nLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLXRhYi1ncm91cCw6aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWJvZHktd3JhcHBlcntoZWlnaHQ6MTAwJX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1RlbXBsYXRlT3V0bGV0LHNlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0iLGlucHV0czpbIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IiwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRJbmplY3RvciJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6cm8sc2VsZWN0b3I6InRiLW1hcHBpbmctdGFibGUiLGlucHV0czpbInJlcXVpcmVkIiwibWFwcGluZ1R5cGUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpjbyxzZWxlY3RvcjoidGItb3BjLXNlcnZlci1jb25maWciLGlucHV0czpbImhpZGVOZXdGaWVsZHMiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJPcGNVYUJhc2ljQ29uZmlnQ29tcG9uZW50IixwbyksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpwbyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItb3BjLXVhLWJhc2ljLWNvbmZpZyIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PnBvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5wbykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsbG8scm8sY29dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10YWItZ3JvdXAgW2Zvcm1Hcm91cF09ImJhc2ljRm9ybUdyb3VwIj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5nZW5lcmFsXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJnZW5lcmFsVGFiQ29udGVudCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5zZXJ2ZXJcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDx0Yi1vcGMtc2VydmVyLWNvbmZpZyBmb3JtQ29udHJvbE5hbWU9InNlcnZlciIgW2hpZGVOZXdGaWVsZHNdPSJpc0xlZ2FjeSI+PC90Yi1vcGMtc2VydmVyLWNvbmZpZz5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmRhdGEtbWFwcGluZ1wnIHwgdHJhbnNsYXRlIH19KiI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCB0Yi1mbGV4IGZpbGwtaGVpZ2h0Ij5cbiAgICAgIDx0Yi1tYXBwaW5nLXRhYmxlIGZvcm1Db250cm9sTmFtZT0ibWFwcGluZyIgW3JlcXVpcmVkXT0idHJ1ZSIgW21hcHBpbmdUeXBlXT0ibWFwcGluZ1R5cGVzLk9QQ1VBIj48L3RiLW1hcHBpbmctdGFibGU+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHtoZWlnaHQ6MTAwJX06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWdyb3VwLDpob3N0IDo6bmctZGVlcCAubWF0LW1kYy10YWItYm9keS13cmFwcGVye2hlaWdodDoxMDAlfVxuJ119XX1dfSk7Y2xhc3MgbW97Y29uc3RydWN0b3IoZSx0KXt0aGlzLmZiPWUsdGhpcy5jZHI9dCx0aGlzLm1xdHRWZXJzaW9ucz1nbix0aGlzLnBvcnRMaW1pdHM9RXQsdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5icm9rZXJDb25maWdGb3JtR3JvdXA9dGhpcy5mYi5ncm91cCh7aG9zdDpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scG9ydDpbbnVsbCxbdWUucmVxdWlyZWQsdWUubWluKEV0Lk1JTiksdWUubWF4KEV0Lk1BWCldXSx2ZXJzaW9uOls1LFtdXSxjbGllbnRJZDpbInRiX2d3XyIrc2UoNSksW3VlLnBhdHRlcm4oa3QpXV0sc2VjdXJpdHk6W119KSx0aGlzLmJyb2tlckNvbmZpZ0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfWdlbmVyYXRlKGUpe3RoaXMuYnJva2VyQ29uZmlnRm9ybUdyb3VwLmdldChlKT8ucGF0Y2hWYWx1ZSgidGJfZ3dfIitzZSg1KSl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLm9uQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7dGhpcy5vblRvdWNoZWQ9ZX13cml0ZVZhbHVlKGUpe2NvbnN0e3ZlcnNpb246dD01LGNsaWVudElkOm49YHRiX2d3XyR7c2UoNSl9YCxzZWN1cml0eTphPXt9fT1lO3RoaXMuYnJva2VyQ29uZmlnRm9ybUdyb3VwLnJlc2V0KHsuLi5lLHZlcnNpb246dCxjbGllbnRJZDpuLHNlY3VyaXR5OmF9LHtlbWl0RXZlbnQ6ITF9KSx0aGlzLmNkci5tYXJrRm9yQ2hlY2soKX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLmJyb2tlckNvbmZpZ0Zvcm1Hcm91cC52YWxpZD9udWxsOnticm9rZXJDb25maWdGb3JtR3JvdXA6e3ZhbGlkOiExfX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTptbyxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjp0LkNoYW5nZURldGVjdG9yUmVmfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTptbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLWJyb2tlci1jb25maWctY29udHJvbCIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+bW8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9Pm1vKSksbXVsdGk6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCIgW2Zvcm1Hcm91cF09ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5ob3N0PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9Imhvc3QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5ob3N0LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdob3N0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICB3YXJuaW5nXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnBvcnQ8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49Int7cG9ydExpbWl0cy5NSU59fSIgbWF4PSJ7e3BvcnRMaW1pdHMuTUFYfX0iXG4gICAgICAgICAgICAgICBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpIHwgZ2V0R2F0ZXdheVBvcnRUb29sdGlwIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9Iihicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICB3YXJuaW5nXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5Lm1xdHQtdmVyc2lvbjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idmVyc2lvbiI+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdmVyc2lvbiBvZiBtcXR0VmVyc2lvbnMiIFt2YWx1ZV09InZlcnNpb24udmFsdWUiPnt7IHZlcnNpb24ubmFtZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jbGllbnQtaWQ8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY2xpZW50SWQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0iR2VuZXJhdGUiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmdlbmVyYXRlLWNsaWVudC1pZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0iZ2VuZXJhdGUoXCdjbGllbnRJZFwnKSJcbiAgICAgICAgICAgICAgICAqbmdJZj0iIWJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdjbGllbnRJZFwnKS52YWx1ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPmF1dG9yZW5ldzwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDx0Yi1zZWN1cml0eS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZWN1cml0eSI+XG4gIDwvdGItc2VjdXJpdHktY29uZmlnPlxuPC9kaXY+XG4nLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRTdWZmaXgsc2VsZWN0b3I6IlttYXRTdWZmaXhdLCBbbWF0SWNvblN1ZmZpeF0sIFttYXRUZXh0U3VmZml4XSIsaW5wdXRzOlsibWF0VGV4dFN1ZmZpeCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOndlLk1hdFNlbGVjdCxzZWxlY3RvcjoibWF0LXNlbGVjdCIsaW5wdXRzOlsiYXJpYS1kZXNjcmliZWRieSIsInBhbmVsQ2xhc3MiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3IiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwibXVsdGlwbGUiLCJkaXNhYmxlT3B0aW9uQ2VudGVyaW5nIiwiY29tcGFyZVdpdGgiLCJ2YWx1ZSIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJlcnJvclN0YXRlTWF0Y2hlciIsInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLCJzb3J0Q29tcGFyYXRvciIsImlkIiwicGFuZWxXaWR0aCJdLG91dHB1dHM6WyJvcGVuZWRDaGFuZ2UiLCJvcGVuZWQiLCJjbG9zZWQiLCJzZWxlY3Rpb25DaGFuZ2UiLCJ2YWx1ZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2VsZWN0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWF4VmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttYXhdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtuZ01vZGVsXSIsaW5wdXRzOlsibWF4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpsbyxzZWxlY3RvcjoidGItc2VjdXJpdHktY29uZmlnIixpbnB1dHM6WyJ0aXRsZSIsImV4dGVuZENlcnRpZmljYXRlc01vZGVsIl19LHtraW5kOiJwaXBlIix0eXBlOndhLG5hbWU6ImdldEdhdGV3YXlQb3J0VG9vbHRpcCJ9XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19ZSgiQnJva2VyQ29uZmlnQ29udHJvbENvbXBvbmVudCIsbW8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6bW8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWJyb2tlci1jb25maWctY29udHJvbCIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxELGxvLHdhXSxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5tbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+bW8pKSxtdWx0aTohMH1dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCIgW2Zvcm1Hcm91cF09ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5ob3N0PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9Imhvc3QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5ob3N0LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdob3N0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICB3YXJuaW5nXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnBvcnQ8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49Int7cG9ydExpbWl0cy5NSU59fSIgbWF4PSJ7e3BvcnRMaW1pdHMuTUFYfX0iXG4gICAgICAgICAgICAgICBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpIHwgZ2V0R2F0ZXdheVBvcnRUb29sdGlwIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9Iihicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICB3YXJuaW5nXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5Lm1xdHQtdmVyc2lvbjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idmVyc2lvbiI+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdmVyc2lvbiBvZiBtcXR0VmVyc2lvbnMiIFt2YWx1ZV09InZlcnNpb24udmFsdWUiPnt7IHZlcnNpb24ubmFtZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jbGllbnQtaWQ8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY2xpZW50SWQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0iR2VuZXJhdGUiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmdlbmVyYXRlLWNsaWVudC1pZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0iZ2VuZXJhdGUoXCdjbGllbnRJZFwnKSJcbiAgICAgICAgICAgICAgICAqbmdJZj0iIWJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdjbGllbnRJZFwnKS52YWx1ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPmF1dG9yZW5ldzwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDx0Yi1zZWN1cml0eS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZWN1cml0eSI+XG4gIDwvdGItc2VjdXJpdHktY29uZmlnPlxuPC9kaXY+XG4nfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTp0LkNoYW5nZURldGVjdG9yUmVmfV19KTtjbGFzcyB1b3tjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy53b3JrZXJzQ29uZmlnRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe21heE51bWJlck9mV29ya2VyczpbMTAwLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSldXSxtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyOlsxMCxbdWUucmVxdWlyZWQsdWUubWluKDEpXV19KSx0aGlzLndvcmtlcnNDb25maWdGb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMub25DaGFuZ2UoZSksdGhpcy5vblRvdWNoZWQoKX0pKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMub25DaGFuZ2U9ZX1yZWdpc3Rlck9uVG91Y2hlZChlKXt0aGlzLm9uVG91Y2hlZD1lfXdyaXRlVmFsdWUoZSl7Y29uc3R7bWF4TnVtYmVyT2ZXb3JrZXJzOnQsbWF4TWVzc2FnZU51bWJlclBlcldvcmtlcjpufT1lO3RoaXMud29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cC5yZXNldCh7bWF4TnVtYmVyT2ZXb3JrZXJzOnR8fDEwMCxtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyOm58fDEwfSx7ZW1pdEV2ZW50OiExfSl9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy53b3JrZXJzQ29uZmlnRm9ybUdyb3VwLnZhbGlkP251bGw6e3dvcmtlcnNDb25maWdGb3JtR3JvdXA6e3ZhbGlkOiExfX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTp1byxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOnVvLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItd29ya2Vycy1jb25maWctY29udHJvbCIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+dW8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PnVvKSksbXVsdGk6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCIgW2Zvcm1Hcm91cF09IndvcmtlcnNDb25maWdGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgW3N0eWxlLndpZHRoLiVdPSI1MCJcbiAgICAgICAgIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkubWF4LW51bWJlci1vZi13b3JrZXJzLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkubWF4LW51bWJlci1vZi13b3JrZXJzXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIHR5cGU9Im51bWJlciIgbWluPSIxIiBmb3JtQ29udHJvbE5hbWU9Im1heE51bWJlck9mV29ya2VycyJcbiAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5tYXgtbnVtYmVyLW9mLXdvcmtlcnMtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAqbmdJZj0id29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdtYXhOdW1iZXJPZldvcmtlcnNcJykuaGFzRXJyb3IoXCdtaW5cJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAod29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdtYXhOdW1iZXJPZldvcmtlcnNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcnNDb25maWdGb3JtR3JvdXAuZ2V0KFwnbWF4TnVtYmVyT2ZXb3JrZXJzXCcpLnRvdWNoZWQpIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICB3YXJuaW5nXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIFtzdHlsZS53aWR0aC4lXT0iNTAiXG4gICAgICAgICB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5Lm1heC1tZXNzYWdlcy1xdWV1ZS1mb3Itd29ya2VyLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkubWF4LW1lc3NhZ2VzLXF1ZXVlLWZvci13b3JrZXJcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgdHlwZT0ibnVtYmVyIiBtaW49IjEiIGZvcm1Db250cm9sTmFtZT0ibWF4TWVzc2FnZU51bWJlclBlcldvcmtlciJcbiAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5tYXgtbWVzc2FnZXMtcXVldWUtZm9yLXdvcmtlci1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJ3b3JrZXJzQ29uZmlnRm9ybUdyb3VwLmdldChcJ21heE1lc3NhZ2VOdW1iZXJQZXJXb3JrZXJcJykuaGFzRXJyb3IoXCdtaW5cJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAod29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JrZXJzQ29uZmlnRm9ybUdyb3VwLmdldChcJ21heE1lc3NhZ2VOdW1iZXJQZXJXb3JrZXJcJykudG91Y2hlZCkiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdFN1ZmZpeCxzZWxlY3RvcjoiW21hdFN1ZmZpeF0sIFttYXRJY29uU3VmZml4XSwgW21hdFRleHRTdWZmaXhdIixpbnB1dHM6WyJtYXRUZXh0U3VmZml4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6emUuTWF0VG9vbHRpcCxzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixpbnB1dHM6WyJtYXRUb29sdGlwUG9zaXRpb24iLCJtYXRUb29sdGlwUG9zaXRpb25BdE9yaWdpbiIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBTaG93RGVsYXkiLCJtYXRUb29sdGlwSGlkZURlbGF5IiwibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcENsYXNzIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTnVtYmVyVmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbmdNb2RlbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5NaW5WYWxpZGF0b3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW25nTW9kZWxdIixpbnB1dHM6WyJtaW4iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WWUuVHJ1bmNhdGVXaXRoVG9vbHRpcERpcmVjdGl2ZSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dXQuSGludFRvb2x0aXBJY29uQ29tcG9uZW50LHNlbGVjdG9yOiJbdGItaGludC10b29sdGlwLWljb25dIixpbnB1dHM6WyJ0Yi1oaW50LXRvb2x0aXAtaWNvbiIsInRvb2x0aXBQb3NpdGlvbiIsImhpbnRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6U2Esc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0b29sdGlwRW5hYmxlZCIsInBvc2l0aW9uIl19XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19ZSgiV29ya2Vyc0NvbmZpZ0NvbnRyb2xDb21wb25lbnQiLHVvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnVvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi13b3JrZXJzLWNvbmZpZy1jb250cm9sIixjaGFuZ2VEZXRlY3Rpb246ZC5PblB1c2gsc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsU2FdLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PnVvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT51bykpLG11bHRpOiEwfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIiBbZm9ybUdyb3VwXT0id29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiBbc3R5bGUud2lkdGguJV09IjUwIlxuICAgICAgICAgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5tYXgtbnVtYmVyLW9mLXdvcmtlcnMtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS5tYXgtbnVtYmVyLW9mLXdvcmtlcnNcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgdHlwZT0ibnVtYmVyIiBtaW49IjEiIGZvcm1Db250cm9sTmFtZT0ibWF4TnVtYmVyT2ZXb3JrZXJzIlxuICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lm1heC1udW1iZXItb2Ytd29ya2Vycy1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJ3b3JrZXJzQ29uZmlnRm9ybUdyb3VwLmdldChcJ21heE51bWJlck9mV29ya2Vyc1wnKS5oYXNFcnJvcihcJ21pblwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3b3JrZXJzQ29uZmlnRm9ybUdyb3VwLmdldChcJ21heE51bWJlck9mV29ya2Vyc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdtYXhOdW1iZXJPZldvcmtlcnNcJykudG91Y2hlZCkiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgW3N0eWxlLndpZHRoLiVdPSI1MCJcbiAgICAgICAgIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkubWF4LW1lc3NhZ2VzLXF1ZXVlLWZvci13b3JrZXItaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS5tYXgtbWVzc2FnZXMtcXVldWUtZm9yLXdvcmtlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiB0eXBlPSJudW1iZXIiIG1pbj0iMSIgZm9ybUNvbnRyb2xOYW1lPSJtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyIlxuICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lm1heC1tZXNzYWdlcy1xdWV1ZS1mb3Itd29ya2VyLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9IndvcmtlcnNDb25maWdGb3JtR3JvdXAuZ2V0KFwnbWF4TWVzc2FnZU51bWJlclBlcldvcmtlclwnKS5oYXNFcnJvcihcJ21pblwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3b3JrZXJzQ29uZmlnRm9ybUdyb3VwLmdldChcJ21heE1lc3NhZ2VOdW1iZXJQZXJXb3JrZXJcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcnNDb25maWdGb3JtR3JvdXAuZ2V0KFwnbWF4TWVzc2FnZU51bWJlclBlcldvcmtlclwnKS50b3VjaGVkKSJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgd2FybmluZ1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbid9XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9XX0pO2NsYXNzIGdve2NvbnN0cnVjdG9yKGUpe3RoaXMuZmI9ZSx0aGlzLmlzRXhwYW5zaW9uTW9kZT0hMSx0aGlzLmRlZmF1bHRWYWx1ZT1sbi5LZXksdGhpcy5yZXBvcnRTdHJhdGVneVR5cGVzPU9iamVjdC52YWx1ZXMoc24pLHRoaXMuUmVwb3J0VHlwZVRyYW5zbGF0ZU1hcD1jbix0aGlzLlJlcG9ydFN0cmF0ZWd5VHlwZT1zbix0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLnNob3dTdHJhdGVneUNvbnRyb2w9dGhpcy5mYi5jb250cm9sKCExKSx0aGlzLnJlcG9ydFN0cmF0ZWd5Rm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe3R5cGU6W3t2YWx1ZTpzbi5PblJlcG9ydFBlcmlvZCxkaXNhYmxlZDohMH0sW11dLHJlcG9ydFBlcmlvZDpbe3ZhbHVlOnRoaXMuZGVmYXVsdFZhbHVlLGRpc2FibGVkOiEwfSxbdWUucmVxdWlyZWRdXX0pLHRoaXMub2JzZXJ2ZVN0cmF0ZWd5Rm9ybUNoYW5nZSgpLHRoaXMub2JzZXJ2ZVN0cmF0ZWd5VG9nZ2xlKCl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9d3JpdGVWYWx1ZShlKXt0aGlzLmlzRXhwYW5zaW9uTW9kZSYmdGhpcy5zaG93U3RyYXRlZ3lDb250cm9sLnNldFZhbHVlKCEhZSx7ZW1pdEV2ZW50OiExfSksZSYmdGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC5lbmFibGUoe2VtaXRFdmVudDohMX0pO2NvbnN0e3R5cGU6dD1zbi5PblJlcG9ydFBlcmlvZCxyZXBvcnRQZXJpb2Q6bj10aGlzLmRlZmF1bHRWYWx1ZX09ZT8/e307dGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC5zZXRWYWx1ZSh7dHlwZTp0LHJlcG9ydFBlcmlvZDpufSx7ZW1pdEV2ZW50OiExfSksdGhpcy5vblR5cGVDaGFuZ2UodCl9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC52YWxpZHx8dGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC5kaXNhYmxlZD9udWxsOntyZXBvcnRTdHJhdGVneUZvcm06e3ZhbGlkOiExfX19cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLm9uQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7dGhpcy5vblRvdWNoZWQ9ZX1vYnNlcnZlU3RyYXRlZ3lGb3JtQ2hhbmdlKCl7dGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpLHRoaXMucmVwb3J0U3RyYXRlZ3lGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+dGhpcy5vblR5cGVDaGFuZ2UoZSkpKX1vYnNlcnZlU3RyYXRlZ3lUb2dnbGUoKXt0aGlzLnNob3dTdHJhdGVneUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCksTWUoKCgpPT50aGlzLmlzRXhwYW5zaW9uTW9kZSkpKS5zdWJzY3JpYmUoKGU9PntlPyh0aGlzLnJlcG9ydFN0cmF0ZWd5Rm9ybUdyb3VwLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC5nZXQoInJlcG9ydFBlcmlvZCIpLmFkZFZhbGlkYXRvcnModWUucmVxdWlyZWQpLHRoaXMub25DaGFuZ2UodGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC52YWx1ZSkpOih0aGlzLnJlcG9ydFN0cmF0ZWd5Rm9ybUdyb3VwLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHRoaXMucmVwb3J0U3RyYXRlZ3lGb3JtR3JvdXAuZ2V0KCJyZXBvcnRQZXJpb2QiKS5yZW1vdmVWYWxpZGF0b3JzKHVlLnJlcXVpcmVkKSx0aGlzLm9uQ2hhbmdlKG51bGwpKSx0aGlzLnJlcG9ydFN0cmF0ZWd5Rm9ybUdyb3VwLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohMX0pfSkpfW9uVHlwZUNoYW5nZShlKXtjb25zdCB0PXRoaXMucmVwb3J0U3RyYXRlZ3lGb3JtR3JvdXAuZ2V0KCJyZXBvcnRQZXJpb2QiKTtlPT09c24uT25DaGFuZ2U/dC5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KTp0aGlzLmlzRXhwYW5zaW9uTW9kZSYmIXRoaXMuc2hvd1N0cmF0ZWd5Q29udHJvbC52YWx1ZXx8dC5lbmFibGUoe2VtaXRFdmVudDohMX0pfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Z28sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpnbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLXJlcG9ydC1zdHJhdGVneSIsaW5wdXRzOntpc0V4cGFuc2lvbk1vZGU6ImlzRXhwYW5zaW9uTW9kZSIsZGVmYXVsdFZhbHVlOiJkZWZhdWx0VmFsdWUifSxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5nbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+Z28pKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IFtmb3JtR3JvdXBdPSJyZXBvcnRTdHJhdGVneUZvcm1Hcm91cCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gIDxtYXQtZXhwYW5zaW9uLXBhbmVsICpuZ0lmPSJpc0V4cGFuc2lvbk1vZGUgZWxzZSBkZWZhdWx0TW9kZSIgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJzaG93U3RyYXRlZ3lDb250cm9sLnZhbHVlIj5cbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZ4TGF5b3V0QWxpZ249ImNlbnRlciIgW2Zvcm1Db250cm9sXT0ic2hvd1N0cmF0ZWd5Q29udHJvbCIgY2xhc3M9Im1hdC1zbGlkZSIgKGNsaWNrKT0iJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LnJlcG9ydC1zdHJhdGVneS5sYWJlbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09InN0cmF0ZWd5RmllbGRzIj48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHRNb2RlPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LnJlcG9ydC1zdHJhdGVneS5sYWJlbDwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJzdHJhdGVneUZpZWxkcyI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSAjc3RyYXRlZ3lGaWVsZHM+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCI+e3sgXCdnYXRld2F5LnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHJlcG9ydFN0cmF0ZWd5VHlwZXMiIFt2YWx1ZV09InR5cGUiPnt7IFJlcG9ydFR5cGVUcmFuc2xhdGVNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9InJlcG9ydFN0cmF0ZWd5Rm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUgIT09IFJlcG9ydFN0cmF0ZWd5VHlwZS5PbkNoYW5nZSIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiPlxuICAgICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPlxuICAgICAgICAgIGdhdGV3YXkucmVwb3J0LXN0cmF0ZWd5LnJlcG9ydC1wZXJpb2RcbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXBvcnRQZXJpb2QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4nLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdUZW1wbGF0ZU91dGxldCxzZWxlY3RvcjoiW25nVGVtcGxhdGVPdXRsZXRdIixpbnB1dHM6WyJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCIsIm5nVGVtcGxhdGVPdXRsZXQiLCJuZ1RlbXBsYXRlT3V0bGV0SW5qZWN0b3IiXX0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWwsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwiLGlucHV0czpbImhpZGVUb2dnbGUiLCJ0b2dnbGVQb3NpdGlvbiJdLG91dHB1dHM6WyJhZnRlckV4cGFuZCIsImFmdGVyQ29sbGFwc2UiXSxleHBvcnRBczpbIm1hdEV4cGFuc2lvblBhbmVsIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIixpbnB1dHM6WyJleHBhbmRlZEhlaWdodCIsImNvbGxhcHNlZEhlaWdodCIsInRhYkluZGV4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxUaXRsZSxzZWxlY3RvcjoibWF0LXBhbmVsLXRpdGxlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJSZXBvcnRTdHJhdGVneUNvbXBvbmVudCIsZ28pLEhlKFtOKCldLGdvLnByb3RvdHlwZSwiaXNFeHBhbnNpb25Nb2RlIix2b2lkIDApLEhlKFtCKCldLGdvLnByb3RvdHlwZSwiZGVmYXVsdFZhbHVlIix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Z28sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLXJlcG9ydC1zdHJhdGVneSIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PmdvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5nbykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsU2FdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBbZm9ybUdyb3VwXT0icmVwb3J0U3RyYXRlZ3lGb3JtR3JvdXAiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICA8bWF0LWV4cGFuc2lvbi1wYW5lbCAqbmdJZj0iaXNFeHBhbnNpb25Nb2RlIGVsc2UgZGVmYXVsdE1vZGUiIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ic2hvd1N0cmF0ZWd5Q29udHJvbC52YWx1ZSI+XG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmeExheW91dEFsaWduPSJjZW50ZXIiIFtmb3JtQ29udHJvbF09InNob3dTdHJhdGVneUNvbnRyb2wiIGNsYXNzPSJtYXQtc2xpZGUiIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5yZXBvcnQtc3RyYXRlZ3kubGFiZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJzdHJhdGVneUZpZWxkcyI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgPG5nLXRlbXBsYXRlICNkZWZhdWx0TW9kZT5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5yZXBvcnQtc3RyYXRlZ3kubGFiZWw8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0ic3RyYXRlZ3lGaWVsZHMiPjwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI3N0cmF0ZWd5RmllbGRzPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiPnt7IFwnZ2F0ZXdheS50eXBlXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSI+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiByZXBvcnRTdHJhdGVneVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj57eyBSZXBvcnRUeXBlVHJhbnNsYXRlTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJyZXBvcnRTdHJhdGVneUZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlICE9PSBSZXBvcnRTdHJhdGVneVR5cGUuT25DaGFuZ2UiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIj5cbiAgICAgICAgPHNwYW4gdGJUcnVuY2F0ZVdpdGhUb29sdGlwIHRyYW5zbGF0ZT5cbiAgICAgICAgICBnYXRld2F5LnJlcG9ydC1zdHJhdGVneS5yZXBvcnQtcGVyaW9kXG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icmVwb3J0UGVyaW9kIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuJ31dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTptZS5Gb3JtQnVpbGRlcn1dLHByb3BEZWNvcmF0b3JzOntpc0V4cGFuc2lvbk1vZGU6W3t0eXBlOmF9XSxkZWZhdWx0VmFsdWU6W3t0eXBlOmF9XX19KTtjbGFzcyBmb3tjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy5pc01hc3Rlcj0hMSx0aGlzLmhpZGVOZXdGaWVsZHM9ITEsdGhpcy5rZXlzRGF0YUFwcGxpZWQ9bmV3IGksdGhpcy5tb2RidXNEYXRhVHlwZXM9T2JqZWN0LnZhbHVlcyhlYSksdGhpcy5tb2RpZmllclR5cGVzPU9iamVjdC52YWx1ZXMoT24pLHRoaXMud2l0aEZ1bmN0aW9uQ29kZT0hMCx0aGlzLndpdGhSZXBvcnRTdHJhdGVneT0hMCx0aGlzLmVuYWJsZU1vZGlmaWVyc0NvbnRyb2xNYXA9bmV3IE1hcCx0aGlzLnNob3dNb2RpZmllcnNNYXA9bmV3IE1hcCx0aGlzLmZ1bmN0aW9uQ29kZXNNYXA9bmV3IE1hcCx0aGlzLmRlZmF1bHRGdW5jdGlvbkNvZGVzPVtdLHRoaXMuTW9kYnVzRWRpdGFibGVEYXRhVHlwZXM9dGEsdGhpcy5Nb2RidXNGdW5jdGlvbkNvZGVUcmFuc2xhdGlvbnNNYXA9enQsdGhpcy5Nb2RpZmllclR5cGVzTWFwPVJuLHRoaXMuUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWU9bG4sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5kZWZhdWx0UmVhZEZ1bmN0aW9uQ29kZXM9WzMsNF0sdGhpcy5iaXRzUmVhZEZ1bmN0aW9uQ29kZXM9WzEsMl0sdGhpcy5kZWZhdWx0V3JpdGVGdW5jdGlvbkNvZGVzPVs2LDE2XSx0aGlzLmJpdHNXcml0ZUZ1bmN0aW9uQ29kZXM9WzUsMTVdfW5nT25Jbml0KCl7dGhpcy53aXRoRnVuY3Rpb25Db2RlPSF0aGlzLmlzTWFzdGVyfHx0aGlzLmtleXNUeXBlIT09YWEuQVRUUklCVVRFUyYmdGhpcy5rZXlzVHlwZSE9PWFhLlRJTUVTRVJJRVMsdGhpcy53aXRoUmVwb3J0U3RyYXRlZ3k9ISh0aGlzLmlzTWFzdGVyfHx0aGlzLmtleXNUeXBlIT09YWEuQVRUUklCVVRFUyYmdGhpcy5rZXlzVHlwZSE9PWFhLlRJTUVTRVJJRVN8fHRoaXMuaGlkZU5ld0ZpZWxkcyksdGhpcy5rZXlzTGlzdEZvcm1BcnJheT10aGlzLnByZXBhcmVLZXlzRm9ybUFycmF5KHRoaXMudmFsdWVzKSx0aGlzLmRlZmF1bHRGdW5jdGlvbkNvZGVzPXRoaXMuZ2V0RGVmYXVsdEZ1bmN0aW9uQ29kZXMoKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX10cmFja0J5Q29udHJvbElkKGUsdCl7cmV0dXJuIHQudmFsdWUuaWR9YWRkS2V5KCl7Y29uc3QgZT1zZSg1KSx0PXRoaXMuZmIuZ3JvdXAoe3RhZzpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sdmFsdWU6W3t2YWx1ZToiIixkaXNhYmxlZDohdGhpcy5pc01hc3Rlcn0sW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sdHlwZTpbZWEuQllURVMsW3VlLnJlcXVpcmVkXV0sYWRkcmVzczpbbnVsbCxbdWUucmVxdWlyZWRdXSxvYmplY3RzQ291bnQ6WzEsW3VlLnJlcXVpcmVkXV0sZnVuY3Rpb25Db2RlOlt7dmFsdWU6dGhpcy5nZXREZWZhdWx0RnVuY3Rpb25Db2RlcygpWzBdLGRpc2FibGVkOiF0aGlzLndpdGhGdW5jdGlvbkNvZGV9LFt1ZS5yZXF1aXJlZF1dLHJlcG9ydFN0cmF0ZWd5Olt7dmFsdWU6bnVsbCxkaXNhYmxlZDohdGhpcy53aXRoUmVwb3J0U3RyYXRlZ3l9XSxtb2RpZmllclR5cGU6W3t2YWx1ZTpPbi5NVUxUSVBMSUVSLGRpc2FibGVkOiEwfV0sbW9kaWZpZXJWYWx1ZTpbe3ZhbHVlOjEsZGlzYWJsZWQ6ITB9LFt1ZS5wYXR0ZXJuKEZ0KV1dLGlkOlt7dmFsdWU6ZSxkaXNhYmxlZDohMH1dfSk7dGhpcy5zaG93TW9kaWZpZXJzTWFwLnNldChlLCExKSx0aGlzLmVuYWJsZU1vZGlmaWVyc0NvbnRyb2xNYXAuc2V0KGUsdGhpcy5mYi5jb250cm9sKCExKSksdGhpcy5vYnNlcnZlS2V5RGF0YVR5cGUodCksdGhpcy5vYnNlcnZlRW5hYmxlTW9kaWZpZXIodCksdGhpcy5rZXlzTGlzdEZvcm1BcnJheS5wdXNoKHQpfWRlbGV0ZUtleShlLHQpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5rZXlzTGlzdEZvcm1BcnJheS5yZW1vdmVBdCh0KSx0aGlzLmtleXNMaXN0Rm9ybUFycmF5Lm1hcmtBc0RpcnR5KCl9Y2FuY2VsKCl7dGhpcy5wb3BvdmVyLmhpZGUoKX1hcHBseUtleXNEYXRhKCl7dGhpcy5rZXlzRGF0YUFwcGxpZWQuZW1pdCh0aGlzLmdldEZvcm1WYWx1ZSgpKX1nZXRGb3JtVmFsdWUoKXtyZXR1cm4gdGhpcy5tYXBLZXlzV2l0aE1vZGlmaWVyKHRoaXMud2l0aFJlcG9ydFN0cmF0ZWd5P3RoaXMuY2xlYW5VcEVtcHR5U3RyYXRlZ2llcyh0aGlzLmtleXNMaXN0Rm9ybUFycmF5LnZhbHVlKTp0aGlzLmtleXNMaXN0Rm9ybUFycmF5LnZhbHVlKX1jbGVhblVwRW1wdHlTdHJhdGVnaWVzKGUpe3JldHVybiBlLm1hcCgoZT0+e2NvbnN0e3JlcG9ydFN0cmF0ZWd5OnQsLi4ubn09ZTtyZXR1cm4gdD9lOm59KSl9bWFwS2V5c1dpdGhNb2RpZmllcihlKXtyZXR1cm4gZS5tYXAoKChlLHQpPT57aWYodGhpcy5zaG93TW9kaWZpZXJzTWFwLmdldCh0aGlzLmtleXNMaXN0Rm9ybUFycmF5LmNvbnRyb2xzW3RdLmdldCgiaWQiKS52YWx1ZSkpe2NvbnN0e21vZGlmaWVyVHlwZTp0LG1vZGlmaWVyVmFsdWU6biwuLi5hfT1lO3JldHVybiB0P3suLi5hLFt0XTpufTphfXJldHVybiBlfSkpfXByZXBhcmVLZXlzRm9ybUFycmF5KGUpe2NvbnN0IHQ9W107cmV0dXJuIGUmJmUuZm9yRWFjaCgoZT0+e2NvbnN0IG49dGhpcy5jcmVhdGVEYXRhS2V5Rm9ybUdyb3VwKGUpO3RoaXMub2JzZXJ2ZUtleURhdGFUeXBlKG4pLHRoaXMub2JzZXJ2ZUVuYWJsZU1vZGlmaWVyKG4pLHRoaXMuZnVuY3Rpb25Db2Rlc01hcC5zZXQobi5nZXQoImlkIikudmFsdWUsdGhpcy5nZXRGdW5jdGlvbkNvZGVzKGUudHlwZSkpLHQucHVzaChuKX0pKSx0aGlzLmZiLmFycmF5KHQpfWNyZWF0ZURhdGFLZXlGb3JtR3JvdXAoZSl7Y29uc3R7dGFnOnQsdmFsdWU6bix0eXBlOmEsYWRkcmVzczpvLG9iamVjdHNDb3VudDppLGZ1bmN0aW9uQ29kZTpyLG11bHRpcGxpZXI6cyxkaXZpZGVyOmwscmVwb3J0U3RyYXRlZ3k6Y309ZSxwPXNlKDUpLG09dGhpcy5zaG91bGRTaG93TW9kaWZpZXIoYSk7cmV0dXJuIHRoaXMuc2hvd01vZGlmaWVyc01hcC5zZXQocCxtKSx0aGlzLmVuYWJsZU1vZGlmaWVyc0NvbnRyb2xNYXAuc2V0KHAsdGhpcy5mYi5jb250cm9sKChzfHxsKSYmbSkpLHRoaXMuZmIuZ3JvdXAoe3RhZzpbdCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx2YWx1ZTpbe3ZhbHVlOm4sZGlzYWJsZWQ6IXRoaXMuaXNNYXN0ZXJ9LFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHR5cGU6W2EsW3VlLnJlcXVpcmVkXV0sYWRkcmVzczpbbyxbdWUucmVxdWlyZWRdXSxvYmplY3RzQ291bnQ6W2ksW3VlLnJlcXVpcmVkXV0sZnVuY3Rpb25Db2RlOlt7dmFsdWU6cixkaXNhYmxlZDohdGhpcy53aXRoRnVuY3Rpb25Db2RlfSxbdWUucmVxdWlyZWRdXSxtb2RpZmllclR5cGU6W3t2YWx1ZTpsP09uLkRJVklERVI6T24uTVVMVElQTElFUixkaXNhYmxlZDohdGhpcy5lbmFibGVNb2RpZmllcnNDb250cm9sTWFwLmdldChwKS52YWx1ZX1dLG1vZGlmaWVyVmFsdWU6W3t2YWx1ZTpzPz9sPz8xLGRpc2FibGVkOiF0aGlzLmVuYWJsZU1vZGlmaWVyc0NvbnRyb2xNYXAuZ2V0KHApLnZhbHVlfSxbdWUucGF0dGVybihGdCldXSxpZDpbe3ZhbHVlOnAsZGlzYWJsZWQ6ITB9XSxyZXBvcnRTdHJhdGVneTpbe3ZhbHVlOmMsZGlzYWJsZWQ6IXRoaXMud2l0aFJlcG9ydFN0cmF0ZWd5fV19KX1zaG91bGRTaG93TW9kaWZpZXIoZSl7cmV0dXJuISh0aGlzLmlzTWFzdGVyfHx0aGlzLmtleXNUeXBlIT09YWEuQVRUUklCVVRFUyYmdGhpcy5rZXlzVHlwZSE9PWFhLlRJTUVTRVJJRVN8fHRoaXMuTW9kYnVzRWRpdGFibGVEYXRhVHlwZXMuaW5jbHVkZXMoZSkpfW9ic2VydmVLZXlEYXRhVHlwZShlKXtlLmdldCgidHlwZSIpLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHQ9Pnt0aGlzLk1vZGJ1c0VkaXRhYmxlRGF0YVR5cGVzLmluY2x1ZGVzKHQpfHxlLmdldCgib2JqZWN0c0NvdW50IikucGF0Y2hWYWx1ZShuYVt0XSx7ZW1pdEV2ZW50OiExfSk7Y29uc3Qgbj10aGlzLnNob3VsZFNob3dNb2RpZmllcih0KTt0aGlzLnNob3dNb2RpZmllcnNNYXAuc2V0KGUuZ2V0KCJpZCIpLnZhbHVlLG4pLHRoaXMudXBkYXRlRnVuY3Rpb25Db2RlcyhlLHQpfSkpfW9ic2VydmVFbmFibGVNb2RpZmllcihlKXt0aGlzLmVuYWJsZU1vZGlmaWVyc0NvbnRyb2xNYXAuZ2V0KGUuZ2V0KCJpZCIpLnZhbHVlKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh0PT50aGlzLnRvZ2dsZU1vZGlmaWVyQ29udHJvbHMoZSx0KSkpfXRvZ2dsZU1vZGlmaWVyQ29udHJvbHMoZSx0KXtjb25zdCBuPWUuZ2V0KCJtb2RpZmllclR5cGUiKSxhPWUuZ2V0KCJtb2RpZmllclZhbHVlIik7dD8obi5lbmFibGUoKSxhLmVuYWJsZSgpKToobi5kaXNhYmxlKCksYS5kaXNhYmxlKCkpfXVwZGF0ZUZ1bmN0aW9uQ29kZXMoZSx0KXtjb25zdCBuPXRoaXMuZ2V0RnVuY3Rpb25Db2Rlcyh0KTt0aGlzLmZ1bmN0aW9uQ29kZXNNYXAuc2V0KGUuZ2V0KCJpZCIpLnZhbHVlLG4pLG4uaW5jbHVkZXMoZS5nZXQoImZ1bmN0aW9uQ29kZSIpLnZhbHVlKXx8ZS5nZXQoImZ1bmN0aW9uQ29kZSIpLnBhdGNoVmFsdWUoblswXSx7ZW1pdEV2ZW50OiExfSl9Z2V0RnVuY3Rpb25Db2RlcyhlKXtjb25zdCB0PVsuLi5lPT09ZWEuQklUUz90aGlzLmJpdHNXcml0ZUZ1bmN0aW9uQ29kZXM6W10sLi4udGhpcy5kZWZhdWx0V3JpdGVGdW5jdGlvbkNvZGVzXTtpZih0aGlzLmtleXNUeXBlPT09YWEuQVRUUklCVVRFU19VUERBVEVTKXJldHVybiB0LnNvcnQoKChlLHQpPT5lLXQpKTtjb25zdCBuPVsuLi50aGlzLmRlZmF1bHRSZWFkRnVuY3Rpb25Db2Rlc107cmV0dXJuIGU9PT1lYS5CSVRTJiZuLnB1c2goLi4udGhpcy5iaXRzUmVhZEZ1bmN0aW9uQ29kZXMpLHRoaXMua2V5c1R5cGU9PT1hYS5SUENfUkVRVUVTVFMmJm4ucHVzaCguLi50KSxuLnNvcnQoKChlLHQpPT5lLXQpKX1nZXREZWZhdWx0RnVuY3Rpb25Db2Rlcygpe3JldHVybiB0aGlzLmtleXNUeXBlPT09YWEuQVRUUklCVVRFU19VUERBVEVTP3RoaXMuZGVmYXVsdFdyaXRlRnVuY3Rpb25Db2Rlczp0aGlzLmtleXNUeXBlPT09YWEuUlBDX1JFUVVFU1RTP1suLi50aGlzLmRlZmF1bHRSZWFkRnVuY3Rpb25Db2RlcywuLi50aGlzLmRlZmF1bHRXcml0ZUZ1bmN0aW9uQ29kZXNdOnRoaXMuZGVmYXVsdFJlYWRGdW5jdGlvbkNvZGVzfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Zm8sZGVwczpbe3Rva2VuOm1lLlVudHlwZWRGb3JtQnVpbGRlcn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6Zm8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1tb2RidXMtZGF0YS1rZXlzLXBhbmVsIixpbnB1dHM6e2lzTWFzdGVyOiJpc01hc3RlciIsaGlkZU5ld0ZpZWxkczoiaGlkZU5ld0ZpZWxkcyIscGFuZWxUaXRsZToicGFuZWxUaXRsZSIsYWRkS2V5VGl0bGU6ImFkZEtleVRpdGxlIixkZWxldGVLZXlUaXRsZToiZGVsZXRlS2V5VGl0bGUiLG5vS2V5c1RleHQ6Im5vS2V5c1RleHQiLGtleXNUeXBlOiJrZXlzVHlwZSIsdmFsdWVzOiJ2YWx1ZXMiLHBvcG92ZXI6InBvcG92ZXIifSxvdXRwdXRzOntrZXlzRGF0YUFwcGxpZWQ6ImtleXNEYXRhQXBwbGllZCJ9LG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1tb2RidXMta2V5cy1wYW5lbCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPnt7IHBhbmVsVGl0bGUgIHwgdHJhbnNsYXRlIH19e3tcJyAoXCcgKyBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGggKyBcJylcJ319PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBrZXktcGFuZWwiICpuZ0lmPSJrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGg7IGVsc2Ugbm9LZXlzIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItZmxleCBuby1mbGV4IHJvdyBjZW50ZXIgZmlsbC13aWR0aCJcbiAgICAgICAgICAgKm5nRm9yPSJsZXQga2V5Q29udHJvbCBvZiBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9sczsgdHJhY2tCeTogdHJhY2tCeUNvbnRyb2xJZDsgbGV0ICRpbmRleCA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3Q7Ij5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLWZsZXgiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09ImtleUNvbnRyb2wiPlxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJsYXN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9ImlzTWFzdGVyIGVsc2UgdGFnTmFtZSIgY2xhc3M9InRpdGxlLWNvbnRhaW5lciIgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPlxuICAgICAgICAgICAgICAgICAgICB7eyBrZXlDb250cm9sLmdldChcJ3RhZ1wnKS52YWx1ZSB9fXt7IFwnLVwnIH19e3sga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS52YWx1ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3RhZ05hbWU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlLWNvbnRhaW5lciB0Yi1mbGV4Ij57eyBcJ2dhdGV3YXkua2V5XCcgfCB0cmFuc2xhdGUgfX06XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ia2V5LWxhYmVsIiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sga2V5Q29udHJvbC5nZXQoXCd0YWdcJykudmFsdWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUtY29udGFpbmVyIj57eyBcJ2dhdGV3YXkuYWRkcmVzc1wnIHwgdHJhbnNsYXRlIH19OlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImtleS1sYWJlbCI+e3sga2V5Q29udHJvbC5nZXQoXCdhZGRyZXNzXCcpLnZhbHVlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlLWNvbnRhaW5lciI+e3sgXCdnYXRld2F5LnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTpcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrZXktbGFiZWwiPnt7IGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0RXhwYW5zaW9uUGFuZWxDb250ZW50PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwgdGItZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuZGF0YS1rZXlzXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9tb2RidXMtZnVuY3Rpb25zLWRhdGEtdHlwZXNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5wbGF0Zm9ybS1zaWRlPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmtleVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgZ2F0ZXdheS5rZXlcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRhZyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5rZXktcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImtleUNvbnRyb2wuZ2V0KFwndGFnXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlDb250cm9sLmdldChcJ3RhZ1wnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9yLXNpZGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgIGdhdGV3YXkudHlwZVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIG1vZGJ1c0RhdGFUeXBlcyIgW3ZhbHVlXT0idHlwZSI+e3sgdHlwZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj0id2l0aEZ1bmN0aW9uQ29kZSIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuZnVuY3Rpb24tY29kZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZnVuY3Rpb25Db2RlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9ImxldCBjb2RlIG9mIGZ1bmN0aW9uQ29kZXNNYXAuZ2V0KGtleUNvbnRyb2wuZ2V0KFwnaWRcJykudmFsdWUpIHx8IGRlZmF1bHRGdW5jdGlvbkNvZGVzIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09ImNvZGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBNb2RidXNGdW5jdGlvbkNvZGVUcmFuc2xhdGlvbnNNYXAuZ2V0KGNvZGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5vYmplY3RzLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5Lm9iamVjdHMtY291bnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtaW49IjEiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1heD0iNTAwMDAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9Im9iamVjdHNDb3VudCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT0iIU1vZGJ1c0VkaXRhYmxlRGF0YVR5cGVzLmluY2x1ZGVzKGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5vYmplY3RzLWNvdW50LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ29iamVjdHNDb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCdvYmplY3RzQ291bnRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmFkZHJlc3NcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuYWRkcmVzczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbWF4PSI1MDAwMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iYWRkcmVzcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5hZGRyZXNzLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ2FkZHJlc3NcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleUNvbnRyb2wuZ2V0KFwnYWRkcmVzc1wnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9InNob3dNb2RpZmllcnNNYXAuZ2V0KGtleUNvbnRyb2wuZ2V0KFwnaWRcJykudmFsdWUpIiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLXNsaWRlLXRvZ2dsZSI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0iZW5hYmxlTW9kaWZpZXJzQ29udHJvbE1hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdpZFwnKS52YWx1ZSkudmFsdWUiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciBmeExheW91dD0icm93IHdyYXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJjZW50ZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT0iZW5hYmxlTW9kaWZpZXJzQ29udHJvbE1hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdpZFwnKS52YWx1ZSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1hdC1zbGlkZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLm1vZGlmaWVyXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1vZGlmaWVyXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMgdGItZmxleCBmdWxsLXdpZHRoIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50eXBlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGZpbGwtd2lkdGgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9Im1vZGlmaWVyVHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBhbGlnbi1jZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJ0Yi1tYXQtMTgiIFtzdmdJY29uXT0iTW9kaWZpZXJUeXBlc01hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclR5cGVcJykudmFsdWUpPy5pY29uIj48L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgTW9kaWZpZXJUeXBlc01hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclR5cGVcJykudmFsdWUpPy5uYW1lIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBtb2RpZmllclR5cGUgb2YgbW9kaWZpZXJUeXBlcyIgW3ZhbHVlXT0ibW9kaWZpZXJUeXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0yMCIgc3ZnSWNvbj0ie3sgTW9kaWZpZXJUeXBlc01hcC5nZXQobW9kaWZpZXJUeXBlKS5pY29uIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IE1vZGlmaWVyVHlwZXNNYXAuZ2V0KG1vZGlmaWVyVHlwZSkubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0ibW9kaWZpZXJWYWx1ZSIgc3RlcD0iMC4xIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lm1vZGlmaWVyLWludmFsaWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclZhbHVlXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleUNvbnRyb2wuZ2V0KFwnbW9kaWZpZXJWYWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9ImlzTWFzdGVyIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS52YWx1ZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1yZXBvcnQtc3RyYXRlZ3lcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9IndpdGhSZXBvcnRTdHJhdGVneSJcbiAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRWYWx1ZV09IlJlcG9ydFN0cmF0ZWd5RGVmYXVsdFZhbHVlLktleSJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJyZXBvcnRTdHJhdGVneSJcbiAgICAgICAgICAgICAgICAgICAgW2lzRXhwYW5zaW9uTW9kZV09InRydWUiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlS2V5KCRldmVudCwgJGluZGV4KSJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09ImRlbGV0ZUtleVRpdGxlIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXY+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJhZGRLZXkoKSI+XG4gICAgICAgIHt7IGFkZEtleVRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjbm9LZXlzPlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIGtleS1wYW5lbCI+XG4gICAgICA8c3BhbiBjbGFzcz0idGItcHJvbXB0IiB0cmFuc2xhdGU+e3sgbm9LZXlzVGV4dCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz0idGItZmxleCBmbGV4LWVuZCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uXG4gICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIChjbGljayk9ImNhbmNlbCgpIj5cbiAgICAgIHt7IFwnYWN0aW9uLmNhbmNlbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAoY2xpY2spPSJhcHBseUtleXNEYXRhKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJrZXlzTGlzdEZvcm1BcnJheS5pbnZhbGlkIHx8ICFrZXlzTGlzdEZvcm1BcnJheS5kaXJ0eSI+XG4gICAgICB7eyBcJ2FjdGlvbi5hcHBseVwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnRiLW1vZGJ1cy1rZXlzLXBhbmVse3dpZHRoOjc3dnc7bWF4LXdpZHRoOjcwMHB4fTpob3N0IC50Yi1tb2RidXMta2V5cy1wYW5lbCAudGl0bGUtY29udGFpbmVye3dpZHRoOjE4MHB4fTpob3N0IC50Yi1tb2RidXMta2V5cy1wYW5lbCAua2V5LWxhYmVse2ZvbnQtd2VpZ2h0OjQwMH06aG9zdCAudGItbW9kYnVzLWtleXMtcGFuZWwgLmtleS1wYW5lbHtoZWlnaHQ6NTAwcHg7b3ZlcmZsb3c6YXV0b306aG9zdCAudGItbW9kYnVzLWtleXMtcGFuZWwgLnRiLWZvcm0tcGFuZWwgLm1hdC1tZGMtaWNvbi1idXR0b257d2lkdGg6NTZweDtoZWlnaHQ6NTZweDtwYWRkaW5nOjE2cHg7Y29sb3I6IzAwMDAwMDhhfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmd0LkhlbHBQb3B1cENvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhlbHAtcG9wdXBdLCBbdGItaGVscC1wb3B1cC1jb250ZW50XSIsaW5wdXRzOlsidGItaGVscC1wb3B1cCIsInRiLWhlbHAtcG9wdXAtY29udGVudCIsInRyaWdnZXItdGV4dCIsInRyaWdnZXItc3R5bGUiLCJ0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudCIsInRiLWhlbHAtcG9wdXAtc3R5bGUiLCJoaW50TW9kZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOndlLk1hdFNlbGVjdFRyaWdnZXIsc2VsZWN0b3I6Im1hdC1zZWxlY3QtdHJpZ2dlciJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmV0Lk1hdFNsaWRlVG9nZ2xlLHNlbGVjdG9yOiJtYXQtc2xpZGUtdG9nZ2xlIixpbnB1dHM6WyJuYW1lIiwiaWQiLCJsYWJlbFBvc2l0aW9uIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImFyaWEtZGVzY3JpYmVkYnkiLCJyZXF1aXJlZCIsImNvbG9yIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJjaGVja2VkIiwiaGlkZUljb24iLCJkaXNhYmxlZEludGVyYWN0aXZlIl0sb3V0cHV0czpbImNoYW5nZSIsInRvZ2dsZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2xpZGVUb2dnbGUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbCxzZWxlY3RvcjoibWF0LWV4cGFuc2lvbi1wYW5lbCIsaW5wdXRzOlsiaGlkZVRvZ2dsZSIsInRvZ2dsZVBvc2l0aW9uIl0sb3V0cHV0czpbImFmdGVyRXhwYW5kIiwiYWZ0ZXJDb2xsYXBzZSJdLGV4cG9ydEFzOlsibWF0RXhwYW5zaW9uUGFuZWwiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbEhlYWRlcixzZWxlY3RvcjoibWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIiLGlucHV0czpbImV4cGFuZGVkSGVpZ2h0IiwiY29sbGFwc2VkSGVpZ2h0IiwidGFiSW5kZXgiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbFRpdGxlLHNlbGVjdG9yOiJtYXQtcGFuZWwtdGl0bGUifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsQ29udGVudCxzZWxlY3RvcjoibmctdGVtcGxhdGVbbWF0RXhwYW5zaW9uUGFuZWxDb250ZW50XSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRBbGlnbkRpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRBbGlnbl0sIFtmeExheW91dEFsaWduLnhzXSwgW2Z4TGF5b3V0QWxpZ24uc21dLCBbZnhMYXlvdXRBbGlnbi5tZF0sICBbZnhMYXlvdXRBbGlnbi5sZ10sIFtmeExheW91dEFsaWduLnhsXSwgW2Z4TGF5b3V0QWxpZ24ubHQtc21dLCBbZnhMYXlvdXRBbGlnbi5sdC1tZF0sICBbZnhMYXlvdXRBbGlnbi5sdC1sZ10sIFtmeExheW91dEFsaWduLmx0LXhsXSwgW2Z4TGF5b3V0QWxpZ24uZ3QteHNdLCBbZnhMYXlvdXRBbGlnbi5ndC1zbV0sICBbZnhMYXlvdXRBbGlnbi5ndC1tZF0sIFtmeExheW91dEFsaWduLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRBbGlnbiIsImZ4TGF5b3V0QWxpZ24ueHMiLCJmeExheW91dEFsaWduLnNtIiwiZnhMYXlvdXRBbGlnbi5tZCIsImZ4TGF5b3V0QWxpZ24ubGciLCJmeExheW91dEFsaWduLnhsIiwiZnhMYXlvdXRBbGlnbi5sdC1zbSIsImZ4TGF5b3V0QWxpZ24ubHQtbWQiLCJmeExheW91dEFsaWduLmx0LWxnIiwiZnhMYXlvdXRBbGlnbi5sdC14bCIsImZ4TGF5b3V0QWxpZ24uZ3QteHMiLCJmeExheW91dEFsaWduLmd0LXNtIiwiZnhMYXlvdXRBbGlnbi5ndC1tZCIsImZ4TGF5b3V0QWxpZ24uZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRGbGV4RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeEZsZXhdLCBbZnhGbGV4LnhzXSwgW2Z4RmxleC5zbV0sIFtmeEZsZXgubWRdLCAgW2Z4RmxleC5sZ10sIFtmeEZsZXgueGxdLCBbZnhGbGV4Lmx0LXNtXSwgW2Z4RmxleC5sdC1tZF0sICBbZnhGbGV4Lmx0LWxnXSwgW2Z4RmxleC5sdC14bF0sIFtmeEZsZXguZ3QteHNdLCBbZnhGbGV4Lmd0LXNtXSwgIFtmeEZsZXguZ3QtbWRdLCBbZnhGbGV4Lmd0LWxnXSIsaW5wdXRzOlsiZnhGbGV4IiwiZnhGbGV4LnhzIiwiZnhGbGV4LnNtIiwiZnhGbGV4Lm1kIiwiZnhGbGV4LmxnIiwiZnhGbGV4LnhsIiwiZnhGbGV4Lmx0LXNtIiwiZnhGbGV4Lmx0LW1kIiwiZnhGbGV4Lmx0LWxnIiwiZnhGbGV4Lmx0LXhsIiwiZnhGbGV4Lmd0LXhzIiwiZnhGbGV4Lmd0LXNtIiwiZnhGbGV4Lmd0LW1kIiwiZnhGbGV4Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTnVtYmVyVmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbmdNb2RlbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5SZXF1aXJlZFZhbGlkYXRvcixzZWxlY3RvcjoiOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbE5hbWVdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bbmdNb2RlbF0iLGlucHV0czpbInJlcXVpcmVkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWF4VmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttYXhdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtuZ01vZGVsXSIsaW5wdXRzOlsibWF4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpnbyxzZWxlY3RvcjoidGItcmVwb3J0LXN0cmF0ZWd5IixpbnB1dHM6WyJpc0V4cGFuc2lvbk1vZGUiLCJkZWZhdWx0VmFsdWUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dfSl9fWUoIk1vZGJ1c0RhdGFLZXlzUGFuZWxDb21wb25lbnQiLGZvKSxIZShbTigpXSxmby5wcm90b3R5cGUsImlzTWFzdGVyIix2b2lkIDApLEhlKFtOKCldLGZvLnByb3RvdHlwZSwiaGlkZU5ld0ZpZWxkcyIsdm9pZCAwKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmZvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1tb2RidXMtZGF0YS1rZXlzLXBhbmVsIixzdGFuZGFsb25lOiEwLGltcG9ydHM6W0gsRCxUYSxnbyxTYV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1tb2RidXMta2V5cy1wYW5lbCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPnt7IHBhbmVsVGl0bGUgIHwgdHJhbnNsYXRlIH19e3tcJyAoXCcgKyBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGggKyBcJylcJ319PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBrZXktcGFuZWwiICpuZ0lmPSJrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGg7IGVsc2Ugbm9LZXlzIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItZmxleCBuby1mbGV4IHJvdyBjZW50ZXIgZmlsbC13aWR0aCJcbiAgICAgICAgICAgKm5nRm9yPSJsZXQga2V5Q29udHJvbCBvZiBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9sczsgdHJhY2tCeTogdHJhY2tCeUNvbnRyb2xJZDsgbGV0ICRpbmRleCA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3Q7Ij5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLWZsZXgiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09ImtleUNvbnRyb2wiPlxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJsYXN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9ImlzTWFzdGVyIGVsc2UgdGFnTmFtZSIgY2xhc3M9InRpdGxlLWNvbnRhaW5lciIgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPlxuICAgICAgICAgICAgICAgICAgICB7eyBrZXlDb250cm9sLmdldChcJ3RhZ1wnKS52YWx1ZSB9fXt7IFwnLVwnIH19e3sga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS52YWx1ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3RhZ05hbWU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlLWNvbnRhaW5lciB0Yi1mbGV4Ij57eyBcJ2dhdGV3YXkua2V5XCcgfCB0cmFuc2xhdGUgfX06XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ia2V5LWxhYmVsIiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sga2V5Q29udHJvbC5nZXQoXCd0YWdcJykudmFsdWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUtY29udGFpbmVyIj57eyBcJ2dhdGV3YXkuYWRkcmVzc1wnIHwgdHJhbnNsYXRlIH19OlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImtleS1sYWJlbCI+e3sga2V5Q29udHJvbC5nZXQoXCdhZGRyZXNzXCcpLnZhbHVlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlLWNvbnRhaW5lciI+e3sgXCdnYXRld2F5LnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTpcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrZXktbGFiZWwiPnt7IGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0RXhwYW5zaW9uUGFuZWxDb250ZW50PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwgdGItZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuZGF0YS1rZXlzXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9tb2RidXMtZnVuY3Rpb25zLWRhdGEtdHlwZXNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5wbGF0Zm9ybS1zaWRlPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmtleVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgZ2F0ZXdheS5rZXlcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRhZyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5rZXktcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImtleUNvbnRyb2wuZ2V0KFwndGFnXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlDb250cm9sLmdldChcJ3RhZ1wnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9yLXNpZGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgIGdhdGV3YXkudHlwZVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIG1vZGJ1c0RhdGFUeXBlcyIgW3ZhbHVlXT0idHlwZSI+e3sgdHlwZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj0id2l0aEZ1bmN0aW9uQ29kZSIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuZnVuY3Rpb24tY29kZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZnVuY3Rpb25Db2RlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9ImxldCBjb2RlIG9mIGZ1bmN0aW9uQ29kZXNNYXAuZ2V0KGtleUNvbnRyb2wuZ2V0KFwnaWRcJykudmFsdWUpIHx8IGRlZmF1bHRGdW5jdGlvbkNvZGVzIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09ImNvZGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBNb2RidXNGdW5jdGlvbkNvZGVUcmFuc2xhdGlvbnNNYXAuZ2V0KGNvZGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5vYmplY3RzLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5Lm9iamVjdHMtY291bnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtaW49IjEiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1heD0iNTAwMDAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9Im9iamVjdHNDb3VudCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT0iIU1vZGJ1c0VkaXRhYmxlRGF0YVR5cGVzLmluY2x1ZGVzKGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5vYmplY3RzLWNvdW50LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ29iamVjdHNDb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCdvYmplY3RzQ291bnRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmFkZHJlc3NcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuYWRkcmVzczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbWF4PSI1MDAwMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iYWRkcmVzcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5hZGRyZXNzLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ2FkZHJlc3NcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleUNvbnRyb2wuZ2V0KFwnYWRkcmVzc1wnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9InNob3dNb2RpZmllcnNNYXAuZ2V0KGtleUNvbnRyb2wuZ2V0KFwnaWRcJykudmFsdWUpIiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLXNsaWRlLXRvZ2dsZSI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0iZW5hYmxlTW9kaWZpZXJzQ29udHJvbE1hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdpZFwnKS52YWx1ZSkudmFsdWUiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciBmeExheW91dD0icm93IHdyYXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJjZW50ZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT0iZW5hYmxlTW9kaWZpZXJzQ29udHJvbE1hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdpZFwnKS52YWx1ZSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1hdC1zbGlkZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLm1vZGlmaWVyXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1vZGlmaWVyXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMgdGItZmxleCBmdWxsLXdpZHRoIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50eXBlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGZpbGwtd2lkdGgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9Im1vZGlmaWVyVHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBhbGlnbi1jZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJ0Yi1tYXQtMTgiIFtzdmdJY29uXT0iTW9kaWZpZXJUeXBlc01hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclR5cGVcJykudmFsdWUpPy5pY29uIj48L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgTW9kaWZpZXJUeXBlc01hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclR5cGVcJykudmFsdWUpPy5uYW1lIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBtb2RpZmllclR5cGUgb2YgbW9kaWZpZXJUeXBlcyIgW3ZhbHVlXT0ibW9kaWZpZXJUeXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0yMCIgc3ZnSWNvbj0ie3sgTW9kaWZpZXJUeXBlc01hcC5nZXQobW9kaWZpZXJUeXBlKS5pY29uIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IE1vZGlmaWVyVHlwZXNNYXAuZ2V0KG1vZGlmaWVyVHlwZSkubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0ibW9kaWZpZXJWYWx1ZSIgc3RlcD0iMC4xIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lm1vZGlmaWVyLWludmFsaWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclZhbHVlXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleUNvbnRyb2wuZ2V0KFwnbW9kaWZpZXJWYWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9ImlzTWFzdGVyIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS52YWx1ZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1yZXBvcnQtc3RyYXRlZ3lcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9IndpdGhSZXBvcnRTdHJhdGVneSJcbiAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRWYWx1ZV09IlJlcG9ydFN0cmF0ZWd5RGVmYXVsdFZhbHVlLktleSJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJyZXBvcnRTdHJhdGVneSJcbiAgICAgICAgICAgICAgICAgICAgW2lzRXhwYW5zaW9uTW9kZV09InRydWUiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlS2V5KCRldmVudCwgJGluZGV4KSJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09ImRlbGV0ZUtleVRpdGxlIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXY+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJhZGRLZXkoKSI+XG4gICAgICAgIHt7IGFkZEtleVRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjbm9LZXlzPlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIGtleS1wYW5lbCI+XG4gICAgICA8c3BhbiBjbGFzcz0idGItcHJvbXB0IiB0cmFuc2xhdGU+e3sgbm9LZXlzVGV4dCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz0idGItZmxleCBmbGV4LWVuZCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uXG4gICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIChjbGljayk9ImNhbmNlbCgpIj5cbiAgICAgIHt7IFwnYWN0aW9uLmNhbmNlbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAoY2xpY2spPSJhcHBseUtleXNEYXRhKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJrZXlzTGlzdEZvcm1BcnJheS5pbnZhbGlkIHx8ICFrZXlzTGlzdEZvcm1BcnJheS5kaXJ0eSI+XG4gICAgICB7eyBcJ2FjdGlvbi5hcHBseVwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnRiLW1vZGJ1cy1rZXlzLXBhbmVse3dpZHRoOjc3dnc7bWF4LXdpZHRoOjcwMHB4fTpob3N0IC50Yi1tb2RidXMta2V5cy1wYW5lbCAudGl0bGUtY29udGFpbmVye3dpZHRoOjE4MHB4fTpob3N0IC50Yi1tb2RidXMta2V5cy1wYW5lbCAua2V5LWxhYmVse2ZvbnQtd2VpZ2h0OjQwMH06aG9zdCAudGItbW9kYnVzLWtleXMtcGFuZWwgLmtleS1wYW5lbHtoZWlnaHQ6NTAwcHg7b3ZlcmZsb3c6YXV0b306aG9zdCAudGItbW9kYnVzLWtleXMtcGFuZWwgLnRiLWZvcm0tcGFuZWwgLm1hdC1tZGMtaWNvbi1idXR0b257d2lkdGg6NTZweDtoZWlnaHQ6NTZweDtwYWRkaW5nOjE2cHg7Y29sb3I6IzAwMDAwMDhhfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuVW50eXBlZEZvcm1CdWlsZGVyfV0scHJvcERlY29yYXRvcnM6e2lzTWFzdGVyOlt7dHlwZTphfV0saGlkZU5ld0ZpZWxkczpbe3R5cGU6YX1dLHBhbmVsVGl0bGU6W3t0eXBlOmF9XSxhZGRLZXlUaXRsZTpbe3R5cGU6YX1dLGRlbGV0ZUtleVRpdGxlOlt7dHlwZTphfV0sbm9LZXlzVGV4dDpbe3R5cGU6YX1dLGtleXNUeXBlOlt7dHlwZTphfV0sdmFsdWVzOlt7dHlwZTphfV0scG9wb3Zlcjpbe3R5cGU6YX1dLGtleXNEYXRhQXBwbGllZDpbe3R5cGU6bH1dfX0pO2NsYXNzIHlve2NvbnN0cnVjdG9yKGUsdCxuLGEsbyl7dGhpcy5mYj1lLHRoaXMucG9wb3ZlclNlcnZpY2U9dCx0aGlzLnJlbmRlcmVyPW4sdGhpcy52aWV3Q29udGFpbmVyUmVmPWEsdGhpcy5jZHI9byx0aGlzLnNpbmdsZU1vZGU9ITEsdGhpcy5oaWRlTmV3RmllbGRzPSExLHRoaXMuZGlzYWJsZWQ9ITEsdGhpcy5tb2RidXNSZWdpc3RlclR5cGVzPU9iamVjdC52YWx1ZXMoWG4pLHRoaXMubW9kYnVzVmFsdWVLZXlzPU9iamVjdC52YWx1ZXMoYWEpLHRoaXMuTW9kYnVzVmFsdWVzVHJhbnNsYXRpb25zTWFwPVpuLHRoaXMuTW9kYnVzVmFsdWVLZXk9YWEsdGhpcy5kZXN0cm95JD1uZXcgU2V9bmdPbkluaXQoKXt0aGlzLmluaXRpYWxpemVWYWx1ZXNGb3JtR3JvdXAoKSx0aGlzLm9ic2VydmVWYWx1ZXNDaGFuZ2VzKCl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLm9uQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7dGhpcy5vblRvdWNoZWQ9ZX13cml0ZVZhbHVlKGUpe2lmKHRoaXMuc2luZ2xlTW9kZSl0aGlzLnZhbHVlc0Zvcm1Hcm91cC5zZXRWYWx1ZSh0aGlzLmdldFNpbmdsZVJlZ2lzdGVyU3RhdGUoZSkse2VtaXRFdmVudDohMX0pO2Vsc2V7Y29uc3R7aG9sZGluZ19yZWdpc3RlcnM6dCxjb2lsc19pbml0aWFsaXplcjpuLGlucHV0X3JlZ2lzdGVyczphLGRpc2NyZXRlX2lucHV0czpvfT1lO3RoaXMudmFsdWVzRm9ybUdyb3VwLnNldFZhbHVlKHtob2xkaW5nX3JlZ2lzdGVyczp0aGlzLmdldFNpbmdsZVJlZ2lzdGVyU3RhdGUodCksY29pbHNfaW5pdGlhbGl6ZXI6dGhpcy5nZXRTaW5nbGVSZWdpc3RlclN0YXRlKG4pLGlucHV0X3JlZ2lzdGVyczp0aGlzLmdldFNpbmdsZVJlZ2lzdGVyU3RhdGUoYSksZGlzY3JldGVfaW5wdXRzOnRoaXMuZ2V0U2luZ2xlUmVnaXN0ZXJTdGF0ZShvKX0se2VtaXRFdmVudDohMX0pfXRoaXMuY2RyLm1hcmtGb3JDaGVjaygpfXZhbGlkYXRlKCl7cmV0dXJuIHRoaXMudmFsdWVzRm9ybUdyb3VwLnZhbGlkP251bGw6e3ZhbHVlc0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fX1zZXREaXNhYmxlZFN0YXRlKGUpe3RoaXMuZGlzYWJsZWQ9ZSx0aGlzLmNkci5tYXJrRm9yQ2hlY2soKX1nZXRWYWx1ZUdyb3VwKGUsdCl7cmV0dXJuIHQ/dGhpcy52YWx1ZXNGb3JtR3JvdXAuZ2V0KHQpLmdldChlKTp0aGlzLnZhbHVlc0Zvcm1Hcm91cC5nZXQoZSl9bWFuYWdlS2V5cyhlLHQsbixhKXtlLnN0b3BQcm9wYWdhdGlvbigpO2NvbnN0IG89dC5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O2lmKHRoaXMucG9wb3ZlclNlcnZpY2UuaGFzUG9wb3ZlcihvKSlyZXR1cm4gdm9pZCB0aGlzLnBvcG92ZXJTZXJ2aWNlLmhpZGVQb3BvdmVyKG8pO2NvbnN0IGk9dGhpcy5nZXRWYWx1ZUdyb3VwKG4sYSkscj17dmFsdWVzOmkudmFsdWUsaXNNYXN0ZXI6IXRoaXMuc2luZ2xlTW9kZSxrZXlzVHlwZTpuLHBhbmVsVGl0bGU6b2EuZ2V0KG4pLGFkZEtleVRpdGxlOmlhLmdldChuKSxkZWxldGVLZXlUaXRsZTpyYS5nZXQobiksbm9LZXlzVGV4dDpzYS5nZXQobiksaGlkZU5ld0ZpZWxkczp0aGlzLmhpZGVOZXdGaWVsZHN9LHM9dGhpcy5wb3BvdmVyU2VydmljZS5kaXNwbGF5UG9wb3ZlcihvLHRoaXMucmVuZGVyZXIsdGhpcy52aWV3Q29udGFpbmVyUmVmLGZvLCJsZWZ0Qm90dG9tIiwhMSxudWxsLHIse30se30se30sITApO3MudGJDb21wb25lbnRSZWYuaW5zdGFuY2UucG9wb3Zlcj1zLHMudGJDb21wb25lbnRSZWYuaW5zdGFuY2Uua2V5c0RhdGFBcHBsaWVkLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3MuaGlkZSgpLGkucGF0Y2hWYWx1ZShlKSxpLm1hcmtBc0RpcnR5KCksdGhpcy5jZHIubWFya0ZvckNoZWNrKCl9KSl9aW5pdGlhbGl6ZVZhbHVlc0Zvcm1Hcm91cCgpe2NvbnN0IGU9KCk9PnRoaXMuZmIuZ3JvdXAodGhpcy5tb2RidXNWYWx1ZUtleXMucmVkdWNlKCgoZSx0KT0+KGVbdF09dGhpcy5mYi5jb250cm9sKFtbXSxbXV0pLGUpKSx7fSkpO3RoaXMuc2luZ2xlTW9kZT90aGlzLnZhbHVlc0Zvcm1Hcm91cD1lKCk6dGhpcy52YWx1ZXNGb3JtR3JvdXA9dGhpcy5mYi5ncm91cCh0aGlzLm1vZGJ1c1JlZ2lzdGVyVHlwZXMucmVkdWNlKCgodCxuKT0+KHRbbl09ZSgpLHQpKSx7fSkpfW9ic2VydmVWYWx1ZXNDaGFuZ2VzKCl7dGhpcy52YWx1ZXNGb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMub25DaGFuZ2UoZSksdGhpcy5vblRvdWNoZWQoKX0pKX1nZXRTaW5nbGVSZWdpc3RlclN0YXRlKGUpe3JldHVybnthdHRyaWJ1dGVzOmU/LmF0dHJpYnV0ZXM/P1tdLHRpbWVzZXJpZXM6ZT8udGltZXNlcmllcz8/W10sYXR0cmlidXRlVXBkYXRlczplPy5hdHRyaWJ1dGVVcGRhdGVzPz9bXSxycGM6ZT8ucnBjPz9bXX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTp5byxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjpmdC5UYlBvcG92ZXJTZXJ2aWNlfSx7dG9rZW46dC5SZW5kZXJlcjJ9LHt0b2tlbjp0LlZpZXdDb250YWluZXJSZWZ9LHt0b2tlbjp0LkNoYW5nZURldGVjdG9yUmVmfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTp5byxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1vZGJ1cy12YWx1ZXMiLGlucHV0czp7c2luZ2xlTW9kZToic2luZ2xlTW9kZSIsaGlkZU5ld0ZpZWxkczoiaGlkZU5ld0ZpZWxkcyJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PnlvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT55bykpLG11bHRpOiEwfV0sbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcblxuPG5nLWNvbnRhaW5lciAqbmdJZj0ic2luZ2xlTW9kZSBlbHNlIG11bHRpcGxlVmlldyI+XG4gIDxkaXYgW2Zvcm1Hcm91cF09InZhbHVlc0Zvcm1Hcm91cCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJzaW5nbGVWaWV3IiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPSJ7JGltcGxpY2l0OiBudWxsfSI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjbXVsdGlwbGVWaWV3PlxuICA8bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0idmFsdWVzRm9ybUdyb3VwIj5cbiAgICA8bWF0LXRhYiAqbmdGb3I9ImxldCByZWdpc3RlciBvZiBtb2RidXNSZWdpc3RlclR5cGVzIiBsYWJlbD0ie3sgTW9kYnVzVmFsdWVzVHJhbnNsYXRpb25zTWFwLmdldChyZWdpc3RlcikgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiBbZm9ybUdyb3VwXT0idmFsdWVzRm9ybUdyb3VwLmdldChyZWdpc3RlcikiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09InNpbmdsZVZpZXciIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09InskaW1wbGljaXQ6IHJlZ2lzdGVyfSI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC10YWI+XG4gIDwvbWF0LXRhYi1ncm91cD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2luZ2xlVmlldyBsZXQtcmVnaXN0ZXI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZXM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5BVFRSSUJVVEVTLCByZWdpc3RlcikudmFsdWUiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZSBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVMsIHJlZ2lzdGVyKS52YWx1ZSI+XG4gICAgICAgICAge3sgYXR0cmlidXRlLnRhZyB9fVxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJkaXNhYmxlZCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAjYXR0cmlidXRlc0J1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgYXR0cmlidXRlc0J1dHRvbiwgTW9kYnVzVmFsdWVLZXkuQVRUUklCVVRFUywgcmVnaXN0ZXIpIj5cbiAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50aW1lc2VyaWVzPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggY2xhc3M9InRiLWZsZXgiIFt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdPSJnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LlRJTUVTRVJJRVMsIHJlZ2lzdGVyKS52YWx1ZSI+XG4gICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCB0ZWxlbWV0cnkgb2YgZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5USU1FU0VSSUVTLCByZWdpc3RlcikudmFsdWUiPlxuICAgICAgICAgIHt7IHRlbGVtZXRyeS50YWcgfX1cbiAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iZGlzYWJsZWQiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgI3RlbGVtZXRyeUJ1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgdGVsZW1ldHJ5QnV0dG9uLCBNb2RidXNWYWx1ZUtleS5USU1FU0VSSUVTLCByZWdpc3RlcikiPlxuICAgICAgICA8dGItaWNvbiBtYXRCdXR0b25JY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZS11cGRhdGVzPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09ImdldFZhbHVlR3JvdXAoTW9kYnVzVmFsdWVLZXkuQVRUUklCVVRFU19VUERBVEVTLCByZWdpc3RlcikudmFsdWUiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZVVwZGF0ZSBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVNfVVBEQVRFUywgcmVnaXN0ZXIpLnZhbHVlIj5cbiAgICAgICAgICB7eyBhdHRyaWJ1dGVVcGRhdGUudGFnIH19XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iZGlzYWJsZWQiXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICNhdHRyaWJ1dGVzVXBkYXRlc0J1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgYXR0cmlidXRlc1VwZGF0ZXNCdXR0b24sIE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVNfVVBEQVRFUywgcmVnaXN0ZXIpIj5cbiAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5ycGMtcmVxdWVzdHM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5SUENfUkVRVUVTVFMsIHJlZ2lzdGVyKS52YWx1ZSIgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgcnBjUmVxdWVzdCBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LlJQQ19SRVFVRVNUUywgcmVnaXN0ZXIpLnZhbHVlIj5cbiAgICAgICAgICB7eyBycGNSZXF1ZXN0LnRhZyB9fVxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJkaXNhYmxlZCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAjcnBjUmVxdWVzdHNCdXR0b25cbiAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIHJwY1JlcXVlc3RzQnV0dG9uLCBNb2RidXNWYWx1ZUtleS5SUENfUkVRVUVTVFMsIHJlZ2lzdGVyKSI+XG4gICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWJvZHktd3JhcHBlcnttaW4taGVpZ2h0OjMyMHB4fTo6bmctZGVlcCAubWRjLWV2b2x1dGlvbi1jaGlwLXNldF9fY2hpcHN7YWxpZ24taXRlbXM6Y2VudGVyfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1RlbXBsYXRlT3V0bGV0LHNlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0iLGlucHV0czpbIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IiwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRJbmplY3RvciJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp5dC5NYXRDaGlwLHNlbGVjdG9yOiJtYXQtYmFzaWMtY2hpcCwgW21hdC1iYXNpYy1jaGlwXSwgbWF0LWNoaXAsIFttYXQtY2hpcF0iLGlucHV0czpbInJvbGUiLCJpZCIsImFyaWEtbGFiZWwiLCJhcmlhLWRlc2NyaXB0aW9uIiwidmFsdWUiLCJjb2xvciIsInJlbW92YWJsZSIsImhpZ2hsaWdodGVkIiwiZGlzYWJsZVJpcHBsZSIsImRpc2FibGVkIl0sb3V0cHV0czpbInJlbW92ZWQiLCJkZXN0cm95ZWQiXSxleHBvcnRBczpbIm1hdENoaXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp5dC5NYXRDaGlwTGlzdGJveCxzZWxlY3RvcjoibWF0LWNoaXAtbGlzdGJveCIsaW5wdXRzOlsibXVsdGlwbGUiLCJhcmlhLW9yaWVudGF0aW9uIiwic2VsZWN0YWJsZSIsImNvbXBhcmVXaXRoIiwicmVxdWlyZWQiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwidmFsdWUiXSxvdXRwdXRzOlsiY2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YnQuVGJJY29uQ29tcG9uZW50LHNlbGVjdG9yOiJ0Yi1pY29uIixpbnB1dHM6WyJjb2xvciJdLGV4cG9ydEFzOlsidGJJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6a2Esc2VsZWN0b3I6Ilt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdIixpbnB1dHM6WyJ0Yi1lbGxpcHNpcy1jaGlwLWxpc3QiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJNb2RidXNWYWx1ZXNDb21wb25lbnQiLHlvKSxIZShbTigpXSx5by5wcm90b3R5cGUsInNpbmdsZU1vZGUiLHZvaWQgMCksSGUoW04oKV0seW8ucHJvdG90eXBlLCJoaWRlTmV3RmllbGRzIix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6eW8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy12YWx1ZXMiLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT55bykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+eW8pKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxELGthXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcblxuPG5nLWNvbnRhaW5lciAqbmdJZj0ic2luZ2xlTW9kZSBlbHNlIG11bHRpcGxlVmlldyI+XG4gIDxkaXYgW2Zvcm1Hcm91cF09InZhbHVlc0Zvcm1Hcm91cCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJzaW5nbGVWaWV3IiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPSJ7JGltcGxpY2l0OiBudWxsfSI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjbXVsdGlwbGVWaWV3PlxuICA8bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0idmFsdWVzRm9ybUdyb3VwIj5cbiAgICA8bWF0LXRhYiAqbmdGb3I9ImxldCByZWdpc3RlciBvZiBtb2RidXNSZWdpc3RlclR5cGVzIiBsYWJlbD0ie3sgTW9kYnVzVmFsdWVzVHJhbnNsYXRpb25zTWFwLmdldChyZWdpc3RlcikgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiBbZm9ybUdyb3VwXT0idmFsdWVzRm9ybUdyb3VwLmdldChyZWdpc3RlcikiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09InNpbmdsZVZpZXciIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09InskaW1wbGljaXQ6IHJlZ2lzdGVyfSI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC10YWI+XG4gIDwvbWF0LXRhYi1ncm91cD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2luZ2xlVmlldyBsZXQtcmVnaXN0ZXI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZXM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5BVFRSSUJVVEVTLCByZWdpc3RlcikudmFsdWUiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZSBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVMsIHJlZ2lzdGVyKS52YWx1ZSI+XG4gICAgICAgICAge3sgYXR0cmlidXRlLnRhZyB9fVxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJkaXNhYmxlZCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAjYXR0cmlidXRlc0J1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgYXR0cmlidXRlc0J1dHRvbiwgTW9kYnVzVmFsdWVLZXkuQVRUUklCVVRFUywgcmVnaXN0ZXIpIj5cbiAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50aW1lc2VyaWVzPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggY2xhc3M9InRiLWZsZXgiIFt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdPSJnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LlRJTUVTRVJJRVMsIHJlZ2lzdGVyKS52YWx1ZSI+XG4gICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCB0ZWxlbWV0cnkgb2YgZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5USU1FU0VSSUVTLCByZWdpc3RlcikudmFsdWUiPlxuICAgICAgICAgIHt7IHRlbGVtZXRyeS50YWcgfX1cbiAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iZGlzYWJsZWQiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgI3RlbGVtZXRyeUJ1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgdGVsZW1ldHJ5QnV0dG9uLCBNb2RidXNWYWx1ZUtleS5USU1FU0VSSUVTLCByZWdpc3RlcikiPlxuICAgICAgICA8dGItaWNvbiBtYXRCdXR0b25JY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZS11cGRhdGVzPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09ImdldFZhbHVlR3JvdXAoTW9kYnVzVmFsdWVLZXkuQVRUUklCVVRFU19VUERBVEVTLCByZWdpc3RlcikudmFsdWUiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZVVwZGF0ZSBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVNfVVBEQVRFUywgcmVnaXN0ZXIpLnZhbHVlIj5cbiAgICAgICAgICB7eyBhdHRyaWJ1dGVVcGRhdGUudGFnIH19XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iZGlzYWJsZWQiXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICNhdHRyaWJ1dGVzVXBkYXRlc0J1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgYXR0cmlidXRlc1VwZGF0ZXNCdXR0b24sIE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVNfVVBEQVRFUywgcmVnaXN0ZXIpIj5cbiAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5ycGMtcmVxdWVzdHM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5SUENfUkVRVUVTVFMsIHJlZ2lzdGVyKS52YWx1ZSIgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgcnBjUmVxdWVzdCBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LlJQQ19SRVFVRVNUUywgcmVnaXN0ZXIpLnZhbHVlIj5cbiAgICAgICAgICB7eyBycGNSZXF1ZXN0LnRhZyB9fVxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJkaXNhYmxlZCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAjcnBjUmVxdWVzdHNCdXR0b25cbiAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIHJwY1JlcXVlc3RzQnV0dG9uLCBNb2RidXNWYWx1ZUtleS5SUENfUkVRVUVTVFMsIHJlZ2lzdGVyKSI+XG4gICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWJvZHktd3JhcHBlcnttaW4taGVpZ2h0OjMyMHB4fTo6bmctZGVlcCAubWRjLWV2b2x1dGlvbi1jaGlwLXNldF9fY2hpcHN7YWxpZ24taXRlbXM6Y2VudGVyfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9LHt0eXBlOmZ0LlRiUG9wb3ZlclNlcnZpY2V9LHt0eXBlOnQuUmVuZGVyZXIyfSx7dHlwZTp0LlZpZXdDb250YWluZXJSZWZ9LHt0eXBlOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9XSxwcm9wRGVjb3JhdG9yczp7c2luZ2xlTW9kZTpbe3R5cGU6YX1dLGhpZGVOZXdGaWVsZHM6W3t0eXBlOmF9XX19KTtjbGFzcyBib3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuZmI9ZSx0aGlzLmNkcj10LHRoaXMuaXNNYXN0ZXI9ITEsdGhpcy5kaXNhYmxlZD0hMSx0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLnNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe2NlcnRmaWxlOlsiIixbdWUucGF0dGVybihrdCldXSxrZXlmaWxlOlsiIixbdWUucGF0dGVybihrdCldXSxwYXNzd29yZDpbIiIsW3VlLnBhdHRlcm4oa3QpXV0sc2VydmVyX2hvc3RuYW1lOlsiIixbdWUucGF0dGVybihrdCldXSxyZXFjbGljZXJ0Olt7dmFsdWU6ITEsZGlzYWJsZWQ6ITB9XX0pLHRoaXMub2JzZXJ2ZVZhbHVlQ2hhbmdlcygpfW5nT25DaGFuZ2VzKCl7dGhpcy51cGRhdGVNYXN0ZXJFbmFibGluZygpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9c2V0RGlzYWJsZWRTdGF0ZShlKXt0aGlzLmRpc2FibGVkPWUsdGhpcy5kaXNhYmxlZD90aGlzLnNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwLmRpc2FibGUoe2VtaXRFdmVudDohMX0pOnRoaXMuc2VjdXJpdHlDb25maWdGb3JtR3JvdXAuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnVwZGF0ZU1hc3RlckVuYWJsaW5nKCksdGhpcy5jZHIubWFya0ZvckNoZWNrKCl9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5zZWN1cml0eUNvbmZpZ0Zvcm1Hcm91cC52YWxpZD9udWxsOntzZWN1cml0eUNvbmZpZ0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fX13cml0ZVZhbHVlKGUpe2NvbnN0e2NlcnRmaWxlOnQscGFzc3dvcmQ6bixrZXlmaWxlOmEsc2VydmVyX2hvc3RuYW1lOm99PWUsaT17Y2VydGZpbGU6dD8/IiIscGFzc3dvcmQ6bj8/IiIsa2V5ZmlsZTphPz8iIixzZXJ2ZXJfaG9zdG5hbWU6bz8/IiIscmVxY2xpY2VydDohIWUucmVxY2xpY2VydH07dGhpcy5zZWN1cml0eUNvbmZpZ0Zvcm1Hcm91cC5yZXNldChpLHtlbWl0RXZlbnQ6ITF9KX11cGRhdGVNYXN0ZXJFbmFibGluZygpe3RoaXMuaXNNYXN0ZXI/KHRoaXMuZGlzYWJsZWR8fHRoaXMuc2VjdXJpdHlDb25maWdGb3JtR3JvdXAuZ2V0KCJyZXFjbGljZXJ0IikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwLmdldCgic2VydmVyX2hvc3RuYW1lIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpOih0aGlzLmRpc2FibGVkfHx0aGlzLnNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwLmdldCgic2VydmVyX2hvc3RuYW1lIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwLmdldCgicmVxY2xpY2VydCIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pKX1vYnNlcnZlVmFsdWVDaGFuZ2VzKCl7dGhpcy5zZWN1cml0eUNvbmZpZ0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Ym8sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfSx7dG9rZW46dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6Ym8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1tb2RidXMtc2VjdXJpdHktY29uZmlnIixpbnB1dHM6e2lzTWFzdGVyOiJpc01hc3RlciJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PmJvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5ibykpLG11bHRpOiEwfV0sdXNlc09uQ2hhbmdlczohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyIgW2Zvcm1Hcm91cF09InNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCI+e3sgXCdnYXRld2F5LmhpbnRzLnBhdGgtaW4tb3NcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLmNhLWNlcnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPmdhdGV3YXkuY2xpZW50LWNlcnQtcGF0aDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY2VydGZpbGUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkucHJpdmF0ZS1rZXktcGF0aFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIDxzcGFuIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCB0cmFuc2xhdGU+Z2F0ZXdheS5wcml2YXRlLWtleS1wYXRoPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJrZXlmaWxlIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5wYXNzd29yZDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJwYXNzd29yZCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icGFzc3dvcmQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAgYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0IiBtYXRTdWZmaXg+XG4gICAgICAgICAgPHRiLXRvZ2dsZS1wYXNzd29yZCBjbGFzcz0idGItZmxleCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiPjwvdGItdG9nZ2xlLXBhc3N3b3JkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPSIhaXNNYXN0ZXIiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci1ob3N0bmFtZTwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJ2ZXJfaG9zdG5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPSJpc01hc3RlciIgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXFjbGljZXJ0Ij5cbiAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgIHt7IFwnZ2F0ZXdheS5yZXF1ZXN0LWNsaWVudC1jZXJ0aWZpY2F0ZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1sYWJlbD5cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp0dC5Ub2dnbGVQYXNzd29yZENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXBhc3N3b3JkIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1IZShbTigpXSxiby5wcm90b3R5cGUsImlzTWFzdGVyIix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Ym8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1zZWN1cml0eS1jb25maWciLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5ibykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+Ym8pKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxELFNhXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciIFtmb3JtR3JvdXBdPSJzZWN1cml0eUNvbmZpZ0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwiPnt7IFwnZ2F0ZXdheS5oaW50cy5wYXRoLWluLW9zXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5jYS1jZXJ0XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPHNwYW4gdGJUcnVuY2F0ZVdpdGhUb29sdGlwIHRyYW5zbGF0ZT5nYXRld2F5LmNsaWVudC1jZXJ0LXBhdGg8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImNlcnRmaWxlIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LnByaXZhdGUta2V5LXBhdGhcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPmdhdGV3YXkucHJpdmF0ZS1rZXktcGF0aDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ia2V5ZmlsZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucGFzc3dvcmQ8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhc3N3b3JkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGFsaWduLWNlbnRlciBmaWxsLWhlaWdodCIgbWF0U3VmZml4PlxuICAgICAgICAgIDx0Yi10b2dnbGUtcGFzc3dvcmQgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0Ij48L3RiLXRvZ2dsZS1wYXNzd29yZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj0iIWlzTWFzdGVyIiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5zZXJ2ZXItaG9zdG5hbWU8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ic2VydmVyX2hvc3RuYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj0iaXNNYXN0ZXIiIGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmVxY2xpY2VydCI+XG4gICAgICA8bWF0LWxhYmVsPlxuICAgICAgICB7eyBcJ2dhdGV3YXkucmVxdWVzdC1jbGllbnQtY2VydGlmaWNhdGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9tYXQtbGFiZWw+XG4gICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICA8L2Rpdj5cbjwvZGl2PlxuJ31dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTptZS5Gb3JtQnVpbGRlcn0se3R5cGU6dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHByb3BEZWNvcmF0b3JzOntpc01hc3Rlcjpbe3R5cGU6YX1dfX0pO2NsYXNzIGhvIGV4dGVuZHMgUHtjb25zdHJ1Y3RvcihlLHQsbixhLG8pe3N1cGVyKHQsbixvKSx0aGlzLmZiPWUsdGhpcy5zdG9yZT10LHRoaXMucm91dGVyPW4sdGhpcy5kYXRhPWEsdGhpcy5kaWFsb2dSZWY9byx0aGlzLnBvcnRMaW1pdHM9RXQsdGhpcy5tb2RidXNQcm90b2NvbFR5cGVzPU9iamVjdC52YWx1ZXMoSG4pLHRoaXMubW9kYnVzTWV0aG9kVHlwZXM9T2JqZWN0LnZhbHVlcyhXbiksdGhpcy5tb2RidXNTZXJpYWxNZXRob2RUeXBlcz1PYmplY3QudmFsdWVzKGpuKSx0aGlzLm1vZGJ1c1Bhcml0aWVzPU9iamVjdC52YWx1ZXMoWW4pLHRoaXMubW9kYnVzQnl0ZVNpemVzPSRuLHRoaXMubW9kYnVzQmF1ZHJhdGVzPWxhLHRoaXMubW9kYnVzT3JkZXJUeXBlPU9iamVjdC52YWx1ZXMoSm4pLHRoaXMuTW9kYnVzUHJvdG9jb2xUeXBlPUhuLHRoaXMuTW9kYnVzUGFyaXR5TGFiZWxzTWFwPVFuLHRoaXMuTW9kYnVzUHJvdG9jb2xMYWJlbHNNYXA9em4sdGhpcy5Nb2RidXNNZXRob2RMYWJlbHNNYXA9S24sdGhpcy5SZXBvcnRTdHJhdGVneURlZmF1bHRWYWx1ZT1sbix0aGlzLm1vZGJ1c0hlbHBMaW5rPXYrIi9kb2NzL2lvdC1nYXRld2F5L2NvbmZpZy9tb2RidXMvI3NlY3Rpb24tbWFzdGVyLWRlc2NyaXB0aW9uLWFuZC1jb25maWd1cmF0aW9uLXBhcmFtZXRlcnMiLHRoaXMuc2VyaWFsU3BlY2lmaWNDb250cm9sS2V5cz1bInNlcmlhbFBvcnQiLCJiYXVkcmF0ZSIsInN0b3BiaXRzIiwiYnl0ZXNpemUiLCJwYXJpdHkiLCJzdHJpY3QiXSx0aGlzLnRjcFVkcFNwZWNpZmljQ29udHJvbEtleXM9WyJwb3J0Iiwic2VjdXJpdHkiLCJob3N0Il0sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5zaG93U2VjdXJpdHlDb250cm9sPXRoaXMuZmIuY29udHJvbCghMSksdGhpcy5pbml0aWFsaXplU2xhdmVGb3JtR3JvdXAoKSx0aGlzLnVwZGF0ZVNsYXZlRm9ybUdyb3VwKCksdGhpcy51cGRhdGVDb250cm9sc0VuYWJsaW5nKHRoaXMuZGF0YS52YWx1ZS50eXBlKSx0aGlzLm9ic2VydmVUeXBlQ2hhbmdlKCksdGhpcy5vYnNlcnZlU2hvd1NlY3VyaXR5KCksdGhpcy5zaG93U2VjdXJpdHlDb250cm9sLnBhdGNoVmFsdWUoISF0aGlzLmRhdGEudmFsdWUuc2VjdXJpdHkmJiFlZSh0aGlzLmRhdGEudmFsdWUuc2VjdXJpdHkse30pKX1nZXQgcHJvdG9jb2xUeXBlKCl7cmV0dXJuIHRoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWV9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9Y2FuY2VsKCl7dGhpcy5kaWFsb2dSZWYuY2xvc2UobnVsbCl9YWRkKCl7dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC52YWxpZCYmdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5nZXRTbGF2ZVJlc3VsdERhdGEoKSl9aW5pdGlhbGl6ZVNsYXZlRm9ybUdyb3VwKCl7dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cD10aGlzLmZiLmdyb3VwKHt0eXBlOltIbi5UQ1BdLGhvc3Q6WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHBvcnQ6W251bGwsW3VlLnJlcXVpcmVkLHVlLm1pbihFdC5NSU4pLHVlLm1heChFdC5NQVgpXV0sc2VyaWFsUG9ydDpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sbWV0aG9kOltXbi5TT0NLRVQsW3VlLnJlcXVpcmVkXV0sYmF1ZHJhdGU6W3RoaXMubW9kYnVzQmF1ZHJhdGVzWzBdXSxzdG9wYml0czpbMV0sYnl0ZXNpemU6WyRuWzBdXSxwYXJpdHk6W1luLk5vbmVdLHN0cmljdDpbITBdLHVuaXRJZDpbbnVsbCxbdWUucmVxdWlyZWRdXSxkZXZpY2VOYW1lOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxkZXZpY2VUeXBlOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx0aW1lb3V0OlszNV0sYnl0ZU9yZGVyOltKbi5CSUddLHdvcmRPcmRlcjpbSm4uQklHXSxyZXRyaWVzOlshMF0scmV0cnlPbkVtcHR5OlshMF0scmV0cnlPbkludmFsaWQ6WyEwXSxwb2xsUGVyaW9kOls1ZTMsW3VlLnJlcXVpcmVkXV0sY29ubmVjdEF0dGVtcHRUaW1lTXM6WzVlMyxbdWUucmVxdWlyZWRdXSxjb25uZWN0QXR0ZW1wdENvdW50Ols1LFt1ZS5yZXF1aXJlZF1dLHdhaXRBZnRlckZhaWxlZEF0dGVtcHRzTXM6WzNlNSxbdWUucmVxdWlyZWRdXSx2YWx1ZXM6W3t9XSxzZWN1cml0eTpbe31dfSksdGhpcy5hZGRGaWVsZHNUb0Zvcm1Hcm91cCgpfXVwZGF0ZVNsYXZlRm9ybUdyb3VwKCl7dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5wYXRjaFZhbHVlKHsuLi50aGlzLmRhdGEudmFsdWUscG9ydDp0aGlzLmRhdGEudmFsdWUudHlwZT09PUhuLlNlcmlhbD9udWxsOnRoaXMuZGF0YS52YWx1ZS5wb3J0LHNlcmlhbFBvcnQ6dGhpcy5kYXRhLnZhbHVlLnR5cGU9PT1Ibi5TZXJpYWw/dGhpcy5kYXRhLnZhbHVlLnBvcnQ6IiIsdmFsdWVzOnthdHRyaWJ1dGVzOnRoaXMuZGF0YS52YWx1ZS5hdHRyaWJ1dGVzPz9bXSx0aW1lc2VyaWVzOnRoaXMuZGF0YS52YWx1ZS50aW1lc2VyaWVzPz9bXSxhdHRyaWJ1dGVVcGRhdGVzOnRoaXMuZGF0YS52YWx1ZS5hdHRyaWJ1dGVVcGRhdGVzPz9bXSxycGM6dGhpcy5kYXRhLnZhbHVlLnJwYz8/W119fSl9b2JzZXJ2ZVR5cGVDaGFuZ2UoKXt0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldCgidHlwZSIpLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLnVwZGF0ZUNvbnRyb2xzRW5hYmxpbmcoZSksdGhpcy51cGRhdGVNZXRob2RUeXBlKGUpfSkpfXVwZGF0ZU1ldGhvZFR5cGUoZSl7dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoIm1ldGhvZCIpLnZhbHVlIT09V24uUlRVJiZ0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldCgibWV0aG9kIikucGF0Y2hWYWx1ZShlPT09SG4uU2VyaWFsP2puLkFTQ0lJOlduLlNPQ0tFVCx7ZW1pdEV2ZW50OiExfSl9dXBkYXRlQ29udHJvbHNFbmFibGluZyhlKXtjb25zdFt0LG5dPWU9PT1Ibi5TZXJpYWw/W3RoaXMuc2VyaWFsU3BlY2lmaWNDb250cm9sS2V5cyx0aGlzLnRjcFVkcFNwZWNpZmljQ29udHJvbEtleXNdOlt0aGlzLnRjcFVkcFNwZWNpZmljQ29udHJvbEtleXMsdGhpcy5zZXJpYWxTcGVjaWZpY0NvbnRyb2xLZXlzXTt0LmZvckVhY2goKGU9PnRoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KGUpPy5lbmFibGUoe2VtaXRFdmVudDohMX0pKSksbi5mb3JFYWNoKChlPT50aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChlKT8uZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpKSx0aGlzLnVwZGF0ZVNlY3VyaXR5RW5hYmxpbmcodGhpcy5zaG93U2VjdXJpdHlDb250cm9sLnZhbHVlKX1vYnNlcnZlU2hvd1NlY3VyaXR5KCl7dGhpcy5zaG93U2VjdXJpdHlDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9PnRoaXMudXBkYXRlU2VjdXJpdHlFbmFibGluZyhlKSkpfXVwZGF0ZVNlY3VyaXR5RW5hYmxpbmcoZSl7ZSYmdGhpcy5wcm90b2NvbFR5cGUhPT1Ibi5TZXJpYWw/dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoInNlY3VyaXR5IikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KTp0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldCgic2VjdXJpdHkiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmhvLGRlcHM6W3t0b2tlbjptZS5Gb3JtQnVpbGRlcn0se3Rva2VuOm90LlN0b3JlfSx7dG9rZW46aXQuUm91dGVyfSx7dG9rZW46WGV9LHt0b2tlbjpKZS5NYXREaWFsb2dSZWZ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5EaXJlY3RpdmV9KX1zdGF0aWN7dGhpcy7JtWRpcj10Lsm1ybVuZ0RlY2xhcmVEaXJlY3RpdmUoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOmhvLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0fSl9fWUoIk1vZGJ1c1NsYXZlRGlhbG9nQWJzdHJhY3QiLGhvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmhvLGRlY29yYXRvcnM6W3t0eXBlOnN9XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTpvdC5TdG9yZX0se3R5cGU6aXQuUm91dGVyfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6cCxhcmdzOltYZV19XX0se3R5cGU6SmUuTWF0RGlhbG9nUmVmfV19KTtjbGFzcyB4byBleHRlbmRzIGhve2NvbnN0cnVjdG9yKGUsdCxuLGEsbyl7c3VwZXIoZSx0LG4sYSxvKSx0aGlzLmZiPWUsdGhpcy5zdG9yZT10LHRoaXMucm91dGVyPW4sdGhpcy5kYXRhPWEsdGhpcy5kaWFsb2dSZWY9b31nZXRTbGF2ZVJlc3VsdERhdGEoKXtjb25zdHt2YWx1ZXM6ZSx0eXBlOnQsc2VyaWFsUG9ydDpuLC4uLmF9PXRoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAudmFsdWUsbz17Li4uYSx0eXBlOnQsLi4uZX07cmV0dXJuIHQ9PT1Ibi5TZXJpYWwmJihvLnBvcnQ9biksby5yZXBvcnRTdHJhdGVneXx8ZGVsZXRlIG8ucmVwb3J0U3RyYXRlZ3ksb31hZGRGaWVsZHNUb0Zvcm1Hcm91cCgpe3RoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuYWRkQ29udHJvbCgicmVwb3J0U3RyYXRlZ3kiLHRoaXMuZmIuY29udHJvbChudWxsKSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTp4byxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjpvdC5TdG9yZX0se3Rva2VuOml0LlJvdXRlcn0se3Rva2VuOlhlfSx7dG9rZW46SmUuTWF0RGlhbG9nUmVmfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTp4byxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1vZGJ1cy1zbGF2ZS1kaWFsb2ciLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0ic2xhdmVzLWNvbmZpZy1jb250YWluZXIiPlxuICA8bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICAgIDxoMj57eyBcJ2dhdGV3YXkuc2VydmVyLXNsYXZlXCcgfCB0cmFuc2xhdGUgfX08L2gyPlxuICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgPGRpdiBbdGItaGVscF09Im1vZGJ1c0hlbHBMaW5rIj48L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L21hdC10b29sYmFyPlxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBbZm9ybUdyb3VwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIj5cbiAgICA8ZGl2IGNsYXNzPSJzdHJva2VkIHRiLWZvcm0tcGFuZWwiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggcm93IHNwYWNlLWJldHdlZW4gYWxpZ24tY2VudGVyIG5vLWdhcCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuc2VydmVyLWNvbm5lY3Rpb248L2Rpdj5cbiAgICAgICAgICA8dGItdG9nZ2xlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiIGFwcGVhcmFuY2U9ImZpbGwiPlxuICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBtb2RidXNQcm90b2NvbFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj57eyBNb2RidXNQcm90b2NvbExhYmVsc01hcC5nZXQodHlwZSkgfX08L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyJcbiAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ob3N0XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5Lmhvc3Q8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iaG9zdCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuaG9zdC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIGVsc2Ugc2VyaWFsUG9ydCJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiXG4gICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSJ7e3BvcnRMaW1pdHMuTUlOfX0iIG1heD0ie3twb3J0TGltaXRzLk1BWH19IlxuICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKSB8IGdldEdhdGV3YXlQb3J0VG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ21pblwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2VyaWFsUG9ydD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc2VyaWFsLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucG9ydDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJpYWxQb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkucG9ydC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzZXJpYWxQb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2VyaWFsUG9ydFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmZyYW1lci10eXBlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5tZXRob2RcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwgPyBtb2RidXNTZXJpYWxNZXRob2RUeXBlcyA6IG1vZGJ1c01ldGhvZFR5cGVzIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT0ibWV0aG9kIj57eyBNb2RidXNNZXRob2RMYWJlbHNNYXAuZ2V0KG1ldGhvZCkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJhdWRyYXRlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJhdWRyYXRlPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJiYXVkcmF0ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCByYXRlIG9mIG1vZGJ1c0JhdWRyYXRlcyIgW3ZhbHVlXT0icmF0ZSI+e3sgcmF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ieXRlc2l6ZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlc2l6ZTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYnl0ZXNpemUiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgc2l6ZSBvZiBtb2RidXNCeXRlU2l6ZXMiIFt2YWx1ZV09InNpemUiPnt7IHNpemUgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc3RvcGJpdHNcJyB8IHRyYW5zbGF0ZSB9fSIgIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3BiaXRzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzdG9wYml0cyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucGFyaXR5XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnBhcml0eTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icGFyaXR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHBhcml0eSBvZiBtb2RidXNQYXJpdGllcyIgW3ZhbHVlXT0icGFyaXR5Ij57eyBNb2RidXNQYXJpdHlMYWJlbHNNYXAuZ2V0KHBhcml0eSkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic3RyaWN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5zdHJpY3RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0cmljdFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLnVuaXQtaWRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkudW5pdC1pZDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idW5pdElkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudW5pdC1pZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCd1bml0SWRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1uYW1lPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2UtbmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLXByb2ZpbGU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlVHlwZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1wcm9maWxlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9ImRhdGEuaGlkZU5ld0ZpZWxkcyBlbHNlIHJlcG9ydFN0cmF0ZWd5IiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InNlbmREYXRhT25seU9uQ2hhbmdlIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWRhdGEtb24tY2hhbmdlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcmVwb3J0U3RyYXRlZ3k+XG4gICAgICAgICAgPHRiLXJlcG9ydC1zdHJhdGVneSBbZGVmYXVsdFZhbHVlXT0iUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWUuRGV2aWNlIiBmb3JtQ29udHJvbE5hbWU9InJlcG9ydFN0cmF0ZWd5IiBbaXNFeHBhbnNpb25Nb2RlXT0idHJ1ZSIvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuYWR2YW5jZWQtY29ubmVjdGlvbi1zZXR0aW5nczwvZGl2PlxuICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3Rpb24tdGltZW91dFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0aW9uLXRpbWVvdXQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRpbWVvdXQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuYnl0ZS1vcmRlclwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlLW9yZGVyPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJieXRlT3JkZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndvcmQtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud29yZC1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0id29yZE9yZGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBvcmRlciBvZiBtb2RidXNPcmRlclR5cGUiIFt2YWx1ZV09Im9yZGVyIj57eyBvcmRlciB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCB0Yi1zbGlkZS10b2dnbGUiPlxuICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ic2hvd1NlY3VyaXR5Q29udHJvbC52YWx1ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmeExheW91dEFsaWduPSJjZW50ZXIiIFtmb3JtQ29udHJvbF09InNob3dTZWN1cml0eUNvbnRyb2wiIGNsYXNzPSJtYXQtc2xpZGUiIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGxzLWNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICA8dGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZyBjbGFzcz0ic2VjdXJpdHktY29uZmlnIiBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5Ij48L3RiLW1vZGJ1cy1zZWN1cml0eS1jb25maWc+XG4gICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJpZXMiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5yZXRyaWVzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllc1wnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmV0cnlPbkVtcHR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1lbXB0eVwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJldHJpZXMtb24tZW1wdHlcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJ5T25JbnZhbGlkIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoLTI2MCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICBnYXRld2F5LnBvbGwtcGVyaW9kXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb2xsUGVyaW9kIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgtMjYwIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5jb25uZWN0LWF0dGVtcHQtdGltZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtdGltZTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY29ubmVjdEF0dGVtcHRUaW1lTXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3QtYXR0ZW1wdC1jb3VudFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtY291bnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImNvbm5lY3RBdHRlbXB0Q291bnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ3YWl0QWZ0ZXJGYWlsZWRBdHRlbXB0c01zIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgPHRiLW1vZGJ1cy12YWx1ZXMgW3NpbmdsZU1vZGVdPSJ0cnVlIiBbaGlkZU5ld0ZpZWxkc109ImRhdGEuaGlkZU5ld0ZpZWxkcyIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZXMiPjwvdGItbW9kYnVzLXZhbHVlcz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIGNka0ZvY3VzSW5pdGlhbFxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0iYWRkKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5pbnZhbGlkIHx8ICFzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5kaXJ0eSI+XG4gICAgICB7eyBkYXRhLmJ1dHRvblRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnNsYXZlcy1jb25maWctY29udGFpbmVye3dpZHRoOjgwdnc7bWF4LXdpZHRoOjkwMHB4fTpob3N0IC5zbGF2ZS1uYW1lLWxhYmVse21hcmdpbi1yaWdodDoxNnB4O2NvbG9yOiMwMDAwMDBkZX06aG9zdCAuZml4ZWQtdGl0bGUtd2lkdGgtMjYwe21pbi13aWR0aDoyNjBweH06aG9zdCA6Om5nLWRlZXAgLnNlY3VyaXR5LWNvbmZpZyAuZml4ZWQtdGl0bGUtd2lkdGh7bWluLXdpZHRoOjIzMHB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmR0LkhlbHBDb21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oZWxwXSIsaW5wdXRzOlsidGItaGVscCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpKZS5NYXREaWFsb2dBY3Rpb25zLHNlbGVjdG9yOiJbbWF0LWRpYWxvZy1hY3Rpb25zXSwgbWF0LWRpYWxvZy1hY3Rpb25zLCBbbWF0RGlhbG9nQWN0aW9uc10iLGlucHV0czpbImFsaWduIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQ29udGVudCxzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWwsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwiLGlucHV0czpbImhpZGVUb2dnbGUiLCJ0b2dnbGVQb3NpdGlvbiJdLG91dHB1dHM6WyJhZnRlckV4cGFuZCIsImFmdGVyQ29sbGFwc2UiXSxleHBvcnRBczpbIm1hdEV4cGFuc2lvblBhbmVsIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIixpbnB1dHM6WyJleHBhbmRlZEhlaWdodCIsImNvbGxhcHNlZEhlaWdodCIsInRhYkluZGV4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxUaXRsZSxzZWxlY3RvcjoibWF0LXBhbmVsLXRpdGxlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OdW1iZXJWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVtuZ01vZGVsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1pblZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLGlucHV0czpbIm1pbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1heFZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21heF1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21heF1bbmdNb2RlbF0iLGlucHV0czpbIm1heCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WWUuVHJ1bmNhdGVXaXRoVG9vbHRpcERpcmVjdGl2ZSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bnQuVG9nZ2xlT3B0aW9uLHNlbGVjdG9yOiJ0Yi10b2dnbGUtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmF0LlRvZ2dsZVNlbGVjdENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXNlbGVjdCIsaW5wdXRzOlsiZGlzYWJsZWQiLCJzZWxlY3RNZWRpYUJyZWFrcG9pbnQiLCJhcHBlYXJhbmNlIiwiZGlzYWJsZVBhZ2luYXRpb24iLCJmaWxsSGVpZ2h0IiwiZXh0cmFQYWRkaW5nIiwicHJpbWFyeUJhY2tncm91bmQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp5byxzZWxlY3RvcjoidGItbW9kYnVzLXZhbHVlcyIsaW5wdXRzOlsic2luZ2xlTW9kZSIsImhpZGVOZXdGaWVsZHMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpibyxzZWxlY3RvcjoidGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZyIsaW5wdXRzOlsiaXNNYXN0ZXIiXX0se2tpbmQ6InBpcGUiLHR5cGU6d2EsbmFtZToiZ2V0R2F0ZXdheVBvcnRUb29sdGlwIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpnbyxzZWxlY3RvcjoidGItcmVwb3J0LXN0cmF0ZWd5IixpbnB1dHM6WyJpc0V4cGFuc2lvbk1vZGUiLCJkZWZhdWx0VmFsdWUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJNb2RidXNTbGF2ZURpYWxvZ0NvbXBvbmVudCIseG8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6eG8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1zbGF2ZS1kaWFsb2ciLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxzdGFuZGFsb25lOiEwLGltcG9ydHM6W0gsRCx5byxibyx3YSxnbyxTYV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJzbGF2ZXMtY29uZmlnLWNvbnRhaW5lciI+XG4gIDxtYXQtdG9vbGJhciBjb2xvcj0icHJpbWFyeSI+XG4gICAgPGgyPnt7IFwnZ2F0ZXdheS5zZXJ2ZXItc2xhdmVcJyB8IHRyYW5zbGF0ZSB9fTwvaDI+XG4gICAgPHNwYW4gZnhGbGV4Pjwvc3Bhbj5cbiAgICA8ZGl2IFt0Yi1oZWxwXT0ibW9kYnVzSGVscExpbmsiPjwvZGl2PlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvbWF0LXRvb2xiYXI+XG4gIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50IFtmb3JtR3JvdXBdPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cCIgY2xhc3M9InRiLWZvcm0tcGFuZWwiPlxuICAgIDxkaXYgY2xhc3M9InN0cm9rZWQgdGItZm9ybS1wYW5lbCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCByb3cgc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIgbm8tZ2FwIGZpbGwtd2lkdGgiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5zZXJ2ZXItY29ubmVjdGlvbjwvZGl2PlxuICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIG1vZGJ1c1Byb3RvY29sVHlwZXMiIFt2YWx1ZV09InR5cGUiPnt7IE1vZGJ1c1Byb3RvY29sTGFiZWxzTWFwLmdldCh0eXBlKSB9fTwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPSJwcm90b2NvbFR5cGUgIT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwiXG4gICAgICAgICAgICAgICBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIlxuICAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmhvc3RcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuaG9zdDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJob3N0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5ob3N0LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPSJwcm90b2NvbFR5cGUgIT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwgZWxzZSBzZXJpYWxQb3J0IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyJcbiAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5wb3J0XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnBvcnQ8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49Int7cG9ydExpbWl0cy5NSU59fSIgbWF4PSJ7e3BvcnRMaW1pdHMuTUFYfX0iXG4gICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvcnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpIHwgZ2V0R2F0ZXdheVBvcnRUb29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iKHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdtYXhcJykpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNzZXJpYWxQb3J0PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5zZXJpYWwtcG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InNlcmlhbFBvcnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IlwnZ2F0ZXdheS5wb3J0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3NlcmlhbFBvcnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzZXJpYWxQb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuZnJhbWVyLXR5cGVcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5Lm1ldGhvZFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbWV0aG9kIG9mIHByb3RvY29sVHlwZSA9PT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCA/IG1vZGJ1c1NlcmlhbE1ldGhvZFR5cGVzIDogbW9kYnVzTWV0aG9kVHlwZXMiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPSJtZXRob2QiPnt7IE1vZGJ1c01ldGhvZExhYmVsc01hcC5nZXQobWV0aG9kKSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9InByb3RvY29sVHlwZSA9PT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuYmF1ZHJhdGVcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuYmF1ZHJhdGU8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImJhdWRyYXRlIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHJhdGUgb2YgbW9kYnVzQmF1ZHJhdGVzIiBbdmFsdWVdPSJyYXRlIj57eyByYXRlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJ5dGVzaXplXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJ5dGVzaXplPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJieXRlc2l6ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBzaXplIG9mIG1vZGJ1c0J5dGVTaXplcyIgW3ZhbHVlXT0ic2l6ZSI+e3sgc2l6ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5zdG9wYml0c1wnIHwgdHJhbnNsYXRlIH19IiAgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcGJpdHM8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InN0b3BiaXRzIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5wYXJpdHlcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucGFyaXR5PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJwYXJpdHkiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgcGFyaXR5IG9mIG1vZGJ1c1Bhcml0aWVzIiBbdmFsdWVdPSJwYXJpdHkiPnt7IE1vZGJ1c1Bhcml0eUxhYmVsc01hcC5nZXQocGFyaXR5KSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJzdHJpY3QiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLnN0cmljdFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RyaWN0XCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMudW5pdC1pZFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS51bml0LWlkPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ1bml0SWQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS51bml0LWlkLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwndW5pdElkXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLW5hbWU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1uYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5kZXZpY2UtcHJvZmlsZTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VUeXBlIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLXByb2ZpbGUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlVHlwZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlVHlwZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj0iZGF0YS5oaWRlTmV3RmllbGRzIGVsc2UgcmVwb3J0U3RyYXRlZ3kiIGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic2VuZERhdGFPbmx5T25DaGFuZ2UiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnNlbmQtZGF0YS1vbi1jaGFuZ2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNyZXBvcnRTdHJhdGVneT5cbiAgICAgICAgICA8dGItcmVwb3J0LXN0cmF0ZWd5IFtkZWZhdWx0VmFsdWVdPSJSZXBvcnRTdHJhdGVneURlZmF1bHRWYWx1ZS5EZXZpY2UiIGZvcm1Db250cm9sTmFtZT0icmVwb3J0U3RyYXRlZ3kiIFtpc0V4cGFuc2lvbk1vZGVdPSJ0cnVlIi8+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIj5cbiAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5hZHZhbmNlZC1jb25uZWN0aW9uLXNldHRpbmdzPC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuY29ubmVjdGlvbi10aW1lb3V0XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmNvbm5lY3Rpb24tdGltZW91dDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idGltZW91dCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ieXRlLW9yZGVyXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJ5dGUtb3JkZXI8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImJ5dGVPcmRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgb3JkZXIgb2YgbW9kYnVzT3JkZXJUeXBlIiBbdmFsdWVdPSJvcmRlciI+e3sgb3JkZXIgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMud29yZC1vcmRlclwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS53b3JkLW9yZGVyPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ3b3JkT3JkZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLXNsaWRlLXRvZ2dsZSI+XG4gICAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJzaG93U2VjdXJpdHlDb250cm9sLnZhbHVlIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciBmeExheW91dD0icm93IHdyYXAiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZ4TGF5b3V0QWxpZ249ImNlbnRlciIgW2Zvcm1Db250cm9sXT0ic2hvd1NlY3VyaXR5Q29udHJvbCIgY2xhc3M9Im1hdC1zbGlkZSIgKGNsaWNrKT0iJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50bHMtY29ubmVjdGlvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1tb2RidXMtc2VjdXJpdHktY29uZmlnIGNsYXNzPSJzZWN1cml0eS1jb25maWciIGZvcm1Db250cm9sTmFtZT0ic2VjdXJpdHkiPjwvdGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZz5cbiAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmV0cmllcyI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLnJldHJpZXNcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5yZXRyaWVzXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXRyeU9uRW1wdHkiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5yZXRyaWVzLW9uLWVtcHR5XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllcy1vbi1lbXB0eVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmV0cnlPbkludmFsaWQiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5yZXRyaWVzLW9uLWludmFsaWRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5yZXRyaWVzLW9uLWludmFsaWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgtMjYwIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5wb2xsLXBlcmlvZFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICAgIGdhdGV3YXkucG9sbC1wZXJpb2RcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvbGxQZXJpb2QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3QtYXR0ZW1wdC10aW1lXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmNvbm5lY3QtYXR0ZW1wdC10aW1lPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJjb25uZWN0QXR0ZW1wdFRpbWVNcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoLTI2MCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuY29ubmVjdC1hdHRlbXB0LWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmNvbm5lY3QtYXR0ZW1wdC1jb3VudDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY29ubmVjdEF0dGVtcHRDb3VudCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoLTI2MCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMud2FpdC1hZnRlci1mYWlsZWQtYXR0ZW1wdHNcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud2FpdC1hZnRlci1mYWlsZWQtYXR0ZW1wdHM8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9IndhaXRBZnRlckZhaWxlZEF0dGVtcHRzTXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICAgICAgICA8dGItbW9kYnVzLXZhbHVlcyBbc2luZ2xlTW9kZV09InRydWUiIFtoaWRlTmV3RmllbGRzXT0iZGF0YS5oaWRlTmV3RmllbGRzIiBmb3JtQ29udHJvbE5hbWU9InZhbHVlcyI+PC90Yi1tb2RidXMtdmFsdWVzPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5jYW5jZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAoY2xpY2spPSJhZGQoKSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09InNsYXZlQ29uZmlnRm9ybUdyb3VwLmludmFsaWQgfHwgIXNsYXZlQ29uZmlnRm9ybUdyb3VwLmRpcnR5Ij5cbiAgICAgIHt7IGRhdGEuYnV0dG9uVGl0bGUgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCAuc2xhdmVzLWNvbmZpZy1jb250YWluZXJ7d2lkdGg6ODB2dzttYXgtd2lkdGg6OTAwcHh9Omhvc3QgLnNsYXZlLW5hbWUtbGFiZWx7bWFyZ2luLXJpZ2h0OjE2cHg7Y29sb3I6IzAwMDAwMGRlfTpob3N0IC5maXhlZC10aXRsZS13aWR0aC0yNjB7bWluLXdpZHRoOjI2MHB4fTpob3N0IDo6bmctZGVlcCAuc2VjdXJpdHktY29uZmlnIC5maXhlZC10aXRsZS13aWR0aHttaW4td2lkdGg6MjMwcHh9XG4nXX1dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTptZS5Gb3JtQnVpbGRlcn0se3R5cGU6b3QuU3RvcmV9LHt0eXBlOml0LlJvdXRlcn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOnAsYXJnczpbWGVdfV19LHt0eXBlOkplLk1hdERpYWxvZ1JlZn1dfSk7Y2xhc3Mgdm8gZXh0ZW5kcyBob3tjb25zdHJ1Y3RvcihlLHQsbixhLG8pe3N1cGVyKGUsdCxuLGEsbyksdGhpcy5mYj1lLHRoaXMuc3RvcmU9dCx0aGlzLnJvdXRlcj1uLHRoaXMuZGF0YT1hLHRoaXMuZGlhbG9nUmVmPW99Z2V0U2xhdmVSZXN1bHREYXRhKCl7Y29uc3R7dmFsdWVzOmUsdHlwZTp0LHNlcmlhbFBvcnQ6biwuLi5hfT10aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLnZhbHVlLG89ey4uLmEsdHlwZTp0LC4uLmV9O3JldHVybiB0PT09SG4uU2VyaWFsJiYoby5wb3J0PW4pLG99YWRkRmllbGRzVG9Gb3JtR3JvdXAoKXt0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmFkZENvbnRyb2woInNlbmREYXRhT25seU9uQ2hhbmdlIix0aGlzLmZiLmNvbnRyb2woITEpKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnZvLGRlcHM6W3t0b2tlbjptZS5Gb3JtQnVpbGRlcn0se3Rva2VuOm90LlN0b3JlfSx7dG9rZW46aXQuUm91dGVyfSx7dG9rZW46WGV9LHt0b2tlbjpKZS5NYXREaWFsb2dSZWZ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOnZvLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItbW9kYnVzLWxlZ2FjeS1zbGF2ZS1kaWFsb2ciLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0ic2xhdmVzLWNvbmZpZy1jb250YWluZXIiPlxuICA8bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICAgIDxoMj57eyBcJ2dhdGV3YXkuc2VydmVyLXNsYXZlXCcgfCB0cmFuc2xhdGUgfX08L2gyPlxuICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgPGRpdiBbdGItaGVscF09Im1vZGJ1c0hlbHBMaW5rIj48L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L21hdC10b29sYmFyPlxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBbZm9ybUdyb3VwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIj5cbiAgICA8ZGl2IGNsYXNzPSJzdHJva2VkIHRiLWZvcm0tcGFuZWwiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggcm93IHNwYWNlLWJldHdlZW4gYWxpZ24tY2VudGVyIG5vLWdhcCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuc2VydmVyLWNvbm5lY3Rpb248L2Rpdj5cbiAgICAgICAgICA8dGItdG9nZ2xlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiIGFwcGVhcmFuY2U9ImZpbGwiPlxuICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBtb2RidXNQcm90b2NvbFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj57eyBNb2RidXNQcm90b2NvbExhYmVsc01hcC5nZXQodHlwZSkgfX08L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyJcbiAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ob3N0XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5Lmhvc3Q8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iaG9zdCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuaG9zdC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIGVsc2Ugc2VyaWFsUG9ydCJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiXG4gICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSJ7e3BvcnRMaW1pdHMuTUlOfX0iIG1heD0ie3twb3J0TGltaXRzLk1BWH19IlxuICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKSB8IGdldEdhdGV3YXlQb3J0VG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ21pblwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2VyaWFsUG9ydD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc2VyaWFsLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucG9ydDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJpYWxQb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkucG9ydC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzZXJpYWxQb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2VyaWFsUG9ydFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmZyYW1lci10eXBlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5tZXRob2RcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwgPyBtb2RidXNTZXJpYWxNZXRob2RUeXBlcyA6IG1vZGJ1c01ldGhvZFR5cGVzIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT0ibWV0aG9kIj57eyBNb2RidXNNZXRob2RMYWJlbHNNYXAuZ2V0KG1ldGhvZCkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJhdWRyYXRlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJhdWRyYXRlPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJiYXVkcmF0ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCByYXRlIG9mIG1vZGJ1c0JhdWRyYXRlcyIgW3ZhbHVlXT0icmF0ZSI+e3sgcmF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ieXRlc2l6ZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlc2l6ZTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYnl0ZXNpemUiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgc2l6ZSBvZiBtb2RidXNCeXRlU2l6ZXMiIFt2YWx1ZV09InNpemUiPnt7IHNpemUgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc3RvcGJpdHNcJyB8IHRyYW5zbGF0ZSB9fSIgIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3BiaXRzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzdG9wYml0cyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucGFyaXR5XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnBhcml0eTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icGFyaXR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHBhcml0eSBvZiBtb2RidXNQYXJpdGllcyIgW3ZhbHVlXT0icGFyaXR5Ij57eyBNb2RidXNQYXJpdHlMYWJlbHNNYXAuZ2V0KHBhcml0eSkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic3RyaWN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5zdHJpY3RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0cmljdFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLnVuaXQtaWRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkudW5pdC1pZDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idW5pdElkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudW5pdC1pZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCd1bml0SWRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1uYW1lPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2UtbmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLXByb2ZpbGU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlVHlwZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1wcm9maWxlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9ImRhdGEuaGlkZU5ld0ZpZWxkcyBlbHNlIHJlcG9ydFN0cmF0ZWd5IiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InNlbmREYXRhT25seU9uQ2hhbmdlIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWRhdGEtb24tY2hhbmdlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcmVwb3J0U3RyYXRlZ3k+XG4gICAgICAgICAgPHRiLXJlcG9ydC1zdHJhdGVneSBbZGVmYXVsdFZhbHVlXT0iUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWUuRGV2aWNlIiBmb3JtQ29udHJvbE5hbWU9InJlcG9ydFN0cmF0ZWd5IiBbaXNFeHBhbnNpb25Nb2RlXT0idHJ1ZSIvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuYWR2YW5jZWQtY29ubmVjdGlvbi1zZXR0aW5nczwvZGl2PlxuICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3Rpb24tdGltZW91dFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0aW9uLXRpbWVvdXQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRpbWVvdXQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuYnl0ZS1vcmRlclwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlLW9yZGVyPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJieXRlT3JkZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndvcmQtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud29yZC1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0id29yZE9yZGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBvcmRlciBvZiBtb2RidXNPcmRlclR5cGUiIFt2YWx1ZV09Im9yZGVyIj57eyBvcmRlciB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCB0Yi1zbGlkZS10b2dnbGUiPlxuICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ic2hvd1NlY3VyaXR5Q29udHJvbC52YWx1ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmeExheW91dEFsaWduPSJjZW50ZXIiIFtmb3JtQ29udHJvbF09InNob3dTZWN1cml0eUNvbnRyb2wiIGNsYXNzPSJtYXQtc2xpZGUiIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGxzLWNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICA8dGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZyBjbGFzcz0ic2VjdXJpdHktY29uZmlnIiBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5Ij48L3RiLW1vZGJ1cy1zZWN1cml0eS1jb25maWc+XG4gICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJpZXMiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5yZXRyaWVzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllc1wnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmV0cnlPbkVtcHR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1lbXB0eVwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJldHJpZXMtb24tZW1wdHlcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJ5T25JbnZhbGlkIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoLTI2MCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICBnYXRld2F5LnBvbGwtcGVyaW9kXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb2xsUGVyaW9kIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgtMjYwIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5jb25uZWN0LWF0dGVtcHQtdGltZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtdGltZTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY29ubmVjdEF0dGVtcHRUaW1lTXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3QtYXR0ZW1wdC1jb3VudFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtY291bnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImNvbm5lY3RBdHRlbXB0Q291bnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ3YWl0QWZ0ZXJGYWlsZWRBdHRlbXB0c01zIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgPHRiLW1vZGJ1cy12YWx1ZXMgW3NpbmdsZU1vZGVdPSJ0cnVlIiBbaGlkZU5ld0ZpZWxkc109ImRhdGEuaGlkZU5ld0ZpZWxkcyIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZXMiPjwvdGItbW9kYnVzLXZhbHVlcz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIGNka0ZvY3VzSW5pdGlhbFxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0iYWRkKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5pbnZhbGlkIHx8ICFzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5kaXJ0eSI+XG4gICAgICB7eyBkYXRhLmJ1dHRvblRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnNsYXZlcy1jb25maWctY29udGFpbmVye3dpZHRoOjgwdnc7bWF4LXdpZHRoOjkwMHB4fTpob3N0IC5zbGF2ZS1uYW1lLWxhYmVse21hcmdpbi1yaWdodDoxNnB4O2NvbG9yOiMwMDAwMDBkZX06aG9zdCAuZml4ZWQtdGl0bGUtd2lkdGgtMjYwe21pbi13aWR0aDoyNjBweH06aG9zdCA6Om5nLWRlZXAgLnNlY3VyaXR5LWNvbmZpZyAuZml4ZWQtdGl0bGUtd2lkdGh7bWluLXdpZHRoOjIzMHB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmR0LkhlbHBDb21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oZWxwXSIsaW5wdXRzOlsidGItaGVscCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpKZS5NYXREaWFsb2dBY3Rpb25zLHNlbGVjdG9yOiJbbWF0LWRpYWxvZy1hY3Rpb25zXSwgbWF0LWRpYWxvZy1hY3Rpb25zLCBbbWF0RGlhbG9nQWN0aW9uc10iLGlucHV0czpbImFsaWduIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQ29udGVudCxzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWwsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwiLGlucHV0czpbImhpZGVUb2dnbGUiLCJ0b2dnbGVQb3NpdGlvbiJdLG91dHB1dHM6WyJhZnRlckV4cGFuZCIsImFmdGVyQ29sbGFwc2UiXSxleHBvcnRBczpbIm1hdEV4cGFuc2lvblBhbmVsIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIixpbnB1dHM6WyJleHBhbmRlZEhlaWdodCIsImNvbGxhcHNlZEhlaWdodCIsInRhYkluZGV4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxUaXRsZSxzZWxlY3RvcjoibWF0LXBhbmVsLXRpdGxlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OdW1iZXJWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVtuZ01vZGVsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1pblZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLGlucHV0czpbIm1pbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1heFZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21heF1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21heF1bbmdNb2RlbF0iLGlucHV0czpbIm1heCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WWUuVHJ1bmNhdGVXaXRoVG9vbHRpcERpcmVjdGl2ZSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bnQuVG9nZ2xlT3B0aW9uLHNlbGVjdG9yOiJ0Yi10b2dnbGUtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmF0LlRvZ2dsZVNlbGVjdENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXNlbGVjdCIsaW5wdXRzOlsiZGlzYWJsZWQiLCJzZWxlY3RNZWRpYUJyZWFrcG9pbnQiLCJhcHBlYXJhbmNlIiwiZGlzYWJsZVBhZ2luYXRpb24iLCJmaWxsSGVpZ2h0IiwiZXh0cmFQYWRkaW5nIiwicHJpbWFyeUJhY2tncm91bmQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp5byxzZWxlY3RvcjoidGItbW9kYnVzLXZhbHVlcyIsaW5wdXRzOlsic2luZ2xlTW9kZSIsImhpZGVOZXdGaWVsZHMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpibyxzZWxlY3RvcjoidGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZyIsaW5wdXRzOlsiaXNNYXN0ZXIiXX0se2tpbmQ6InBpcGUiLHR5cGU6d2EsbmFtZToiZ2V0R2F0ZXdheVBvcnRUb29sdGlwIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpnbyxzZWxlY3RvcjoidGItcmVwb3J0LXN0cmF0ZWd5IixpbnB1dHM6WyJpc0V4cGFuc2lvbk1vZGUiLCJkZWZhdWx0VmFsdWUiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJNb2RidXNMZWdhY3lTbGF2ZURpYWxvZ0NvbXBvbmVudCIsdm8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6dm8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1sZWdhY3ktc2xhdmUtZGlhbG9nIixjaGFuZ2VEZXRlY3Rpb246ZC5PblB1c2gsc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQseW8sYm8sd2EsZ29dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0ic2xhdmVzLWNvbmZpZy1jb250YWluZXIiPlxuICA8bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICAgIDxoMj57eyBcJ2dhdGV3YXkuc2VydmVyLXNsYXZlXCcgfCB0cmFuc2xhdGUgfX08L2gyPlxuICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgPGRpdiBbdGItaGVscF09Im1vZGJ1c0hlbHBMaW5rIj48L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L21hdC10b29sYmFyPlxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBbZm9ybUdyb3VwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIj5cbiAgICA8ZGl2IGNsYXNzPSJzdHJva2VkIHRiLWZvcm0tcGFuZWwiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggcm93IHNwYWNlLWJldHdlZW4gYWxpZ24tY2VudGVyIG5vLWdhcCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuc2VydmVyLWNvbm5lY3Rpb248L2Rpdj5cbiAgICAgICAgICA8dGItdG9nZ2xlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiIGFwcGVhcmFuY2U9ImZpbGwiPlxuICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBtb2RidXNQcm90b2NvbFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj57eyBNb2RidXNQcm90b2NvbExhYmVsc01hcC5nZXQodHlwZSkgfX08L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyJcbiAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ob3N0XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5Lmhvc3Q8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iaG9zdCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuaG9zdC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIGVsc2Ugc2VyaWFsUG9ydCJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiXG4gICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSJ7e3BvcnRMaW1pdHMuTUlOfX0iIG1heD0ie3twb3J0TGltaXRzLk1BWH19IlxuICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKSB8IGdldEdhdGV3YXlQb3J0VG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ21pblwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2VyaWFsUG9ydD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc2VyaWFsLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucG9ydDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJpYWxQb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkucG9ydC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzZXJpYWxQb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2VyaWFsUG9ydFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmZyYW1lci10eXBlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5tZXRob2RcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwgPyBtb2RidXNTZXJpYWxNZXRob2RUeXBlcyA6IG1vZGJ1c01ldGhvZFR5cGVzIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT0ibWV0aG9kIj57eyBNb2RidXNNZXRob2RMYWJlbHNNYXAuZ2V0KG1ldGhvZCkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJhdWRyYXRlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJhdWRyYXRlPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJiYXVkcmF0ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCByYXRlIG9mIG1vZGJ1c0JhdWRyYXRlcyIgW3ZhbHVlXT0icmF0ZSI+e3sgcmF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ieXRlc2l6ZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlc2l6ZTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYnl0ZXNpemUiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgc2l6ZSBvZiBtb2RidXNCeXRlU2l6ZXMiIFt2YWx1ZV09InNpemUiPnt7IHNpemUgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc3RvcGJpdHNcJyB8IHRyYW5zbGF0ZSB9fSIgIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3BiaXRzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzdG9wYml0cyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucGFyaXR5XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnBhcml0eTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icGFyaXR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHBhcml0eSBvZiBtb2RidXNQYXJpdGllcyIgW3ZhbHVlXT0icGFyaXR5Ij57eyBNb2RidXNQYXJpdHlMYWJlbHNNYXAuZ2V0KHBhcml0eSkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic3RyaWN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5zdHJpY3RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0cmljdFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLnVuaXQtaWRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkudW5pdC1pZDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idW5pdElkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudW5pdC1pZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCd1bml0SWRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1uYW1lPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2UtbmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLXByb2ZpbGU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlVHlwZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1wcm9maWxlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9ImRhdGEuaGlkZU5ld0ZpZWxkcyBlbHNlIHJlcG9ydFN0cmF0ZWd5IiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InNlbmREYXRhT25seU9uQ2hhbmdlIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWRhdGEtb24tY2hhbmdlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcmVwb3J0U3RyYXRlZ3k+XG4gICAgICAgICAgPHRiLXJlcG9ydC1zdHJhdGVneSBbZGVmYXVsdFZhbHVlXT0iUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWUuRGV2aWNlIiBmb3JtQ29udHJvbE5hbWU9InJlcG9ydFN0cmF0ZWd5IiBbaXNFeHBhbnNpb25Nb2RlXT0idHJ1ZSIvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuYWR2YW5jZWQtY29ubmVjdGlvbi1zZXR0aW5nczwvZGl2PlxuICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3Rpb24tdGltZW91dFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0aW9uLXRpbWVvdXQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRpbWVvdXQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuYnl0ZS1vcmRlclwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlLW9yZGVyPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJieXRlT3JkZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndvcmQtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud29yZC1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0id29yZE9yZGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBvcmRlciBvZiBtb2RidXNPcmRlclR5cGUiIFt2YWx1ZV09Im9yZGVyIj57eyBvcmRlciB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCB0Yi1zbGlkZS10b2dnbGUiPlxuICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ic2hvd1NlY3VyaXR5Q29udHJvbC52YWx1ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmeExheW91dEFsaWduPSJjZW50ZXIiIFtmb3JtQ29udHJvbF09InNob3dTZWN1cml0eUNvbnRyb2wiIGNsYXNzPSJtYXQtc2xpZGUiIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGxzLWNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICA8dGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZyBjbGFzcz0ic2VjdXJpdHktY29uZmlnIiBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5Ij48L3RiLW1vZGJ1cy1zZWN1cml0eS1jb25maWc+XG4gICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJpZXMiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5yZXRyaWVzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllc1wnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmV0cnlPbkVtcHR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1lbXB0eVwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJldHJpZXMtb24tZW1wdHlcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJ5T25JbnZhbGlkIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoLTI2MCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICBnYXRld2F5LnBvbGwtcGVyaW9kXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb2xsUGVyaW9kIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgtMjYwIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5jb25uZWN0LWF0dGVtcHQtdGltZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtdGltZTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY29ubmVjdEF0dGVtcHRUaW1lTXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3QtYXR0ZW1wdC1jb3VudFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtY291bnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImNvbm5lY3RBdHRlbXB0Q291bnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ3YWl0QWZ0ZXJGYWlsZWRBdHRlbXB0c01zIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgPHRiLW1vZGJ1cy12YWx1ZXMgW3NpbmdsZU1vZGVdPSJ0cnVlIiBbaGlkZU5ld0ZpZWxkc109ImRhdGEuaGlkZU5ld0ZpZWxkcyIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZXMiPjwvdGItbW9kYnVzLXZhbHVlcz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIGNka0ZvY3VzSW5pdGlhbFxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0iYWRkKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5pbnZhbGlkIHx8ICFzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5kaXJ0eSI+XG4gICAgICB7eyBkYXRhLmJ1dHRvblRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnNsYXZlcy1jb25maWctY29udGFpbmVye3dpZHRoOjgwdnc7bWF4LXdpZHRoOjkwMHB4fTpob3N0IC5zbGF2ZS1uYW1lLWxhYmVse21hcmdpbi1yaWdodDoxNnB4O2NvbG9yOiMwMDAwMDBkZX06aG9zdCAuZml4ZWQtdGl0bGUtd2lkdGgtMjYwe21pbi13aWR0aDoyNjBweH06aG9zdCA6Om5nLWRlZXAgLnNlY3VyaXR5LWNvbmZpZyAuZml4ZWQtdGl0bGUtd2lkdGh7bWluLXdpZHRoOjIzMHB4fVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9LHt0eXBlOm90LlN0b3JlfSx7dHlwZTppdC5Sb3V0ZXJ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpwLGFyZ3M6W1hlXX1dfSx7dHlwZTpKZS5NYXREaWFsb2dSZWZ9XX0pO2NsYXNzIHdve2NvbnN0cnVjdG9yKGUsdCxuLGEsbyl7dGhpcy50cmFuc2xhdGU9ZSx0aGlzLmRpYWxvZz10LHRoaXMuZGlhbG9nU2VydmljZT1uLHRoaXMuZmI9YSx0aGlzLmNkcj1vLHRoaXMuaXNMZWdhY3k9ITEsdGhpcy50ZXh0U2VhcmNoTW9kZT0hMSx0aGlzLnRleHRTZWFyY2g9dGhpcy5mYi5jb250cm9sKCIiLHtub25OdWxsYWJsZTohMH0pLHRoaXMuTW9kYnVzUHJvdG9jb2xMYWJlbHNNYXA9em4sdGhpcy5vbkNoYW5nZT0oKT0+e30sdGhpcy5vblRvdWNoZWQ9KCk9Pnt9LHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMubWFzdGVyRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe3NsYXZlczp0aGlzLmZiLmFycmF5KFtdKX0pLHRoaXMuZGF0YVNvdXJjZT1uZXcgQ299Z2V0IHNsYXZlcygpe3JldHVybiB0aGlzLm1hc3RlckZvcm1Hcm91cC5nZXQoInNsYXZlcyIpfW5nT25Jbml0KCl7dGhpcy5tYXN0ZXJGb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMudXBkYXRlVGFibGVEYXRhKGUuc2xhdmVzKSx0aGlzLm9uQ2hhbmdlKGUpLHRoaXMub25Ub3VjaGVkKCl9KSl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9bmdBZnRlclZpZXdJbml0KCl7dGhpcy50ZXh0U2VhcmNoLnZhbHVlQ2hhbmdlcy5waXBlKFZlKDE1MCksQmUoKChlLHQpPT4oZT8/IiIpPT09dC50cmltKCkpKSxOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT50aGlzLnVwZGF0ZVRhYmxlRGF0YSh0aGlzLnNsYXZlcy52YWx1ZSxlLnRyaW0oKSkpKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMub25DaGFuZ2U9ZX1yZWdpc3Rlck9uVG91Y2hlZChlKXt0aGlzLm9uVG91Y2hlZD1lfXdyaXRlVmFsdWUoZSl7dGhpcy5zbGF2ZXMuY2xlYXIoKSx0aGlzLnB1c2hEYXRhQXNGb3JtQXJyYXlzKGUuc2xhdmVzKX1lbnRlckZpbHRlck1vZGUoKXt0aGlzLnRleHRTZWFyY2hNb2RlPSEwLHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtjb25zdCBlPXRoaXMuc2VhcmNoSW5wdXRGaWVsZC5uYXRpdmVFbGVtZW50O2UuZm9jdXMoKSxlLnNldFNlbGVjdGlvblJhbmdlKDAsMCl9ZXhpdEZpbHRlck1vZGUoKXt0aGlzLnVwZGF0ZVRhYmxlRGF0YSh0aGlzLnNsYXZlcy52YWx1ZSksdGhpcy50ZXh0U2VhcmNoTW9kZT0hMSx0aGlzLnRleHRTZWFyY2gucmVzZXQoKX1tYW5hZ2VTbGF2ZShlLHQpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCk7Y29uc3Qgbj1pZSh0KSxhPW4/dGhpcy5zbGF2ZXMuYXQodCkudmFsdWU6e307dGhpcy5nZXRTbGF2ZURpYWxvZyhhLG4/ImFjdGlvbi5hcHBseSI6ImFjdGlvbi5hZGQiKS5hZnRlckNsb3NlZCgpLnBpcGUoT2UoMSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2UmJihuP3RoaXMuc2xhdmVzLmF0KHQpLnBhdGNoVmFsdWUoZSk6dGhpcy5zbGF2ZXMucHVzaCh0aGlzLmZiLmNvbnRyb2woZSkpLHRoaXMubWFzdGVyRm9ybUdyb3VwLm1hcmtBc0RpcnR5KCkpfSkpfWdldFNsYXZlRGlhbG9nKGUsdCl7cmV0dXJuIHRoaXMuaXNMZWdhY3k/dGhpcy5kaWFsb2cub3Blbih2byx7ZGlzYWJsZUNsb3NlOiEwLHBhbmVsQ2xhc3M6WyJ0Yi1kaWFsb2ciLCJ0Yi1mdWxsc2NyZWVuLWRpYWxvZyJdLGRhdGE6e3ZhbHVlOmUsaGlkZU5ld0ZpZWxkczohMCxidXR0b25UaXRsZTp0fX0pOnRoaXMuZGlhbG9nLm9wZW4oeG8se2Rpc2FibGVDbG9zZTohMCxwYW5lbENsYXNzOlsidGItZGlhbG9nIiwidGItZnVsbHNjcmVlbi1kaWFsb2ciXSxkYXRhOnt2YWx1ZTplLGJ1dHRvblRpdGxlOnQsaGlkZU5ld0ZpZWxkczohMX19KX1kZWxldGVTbGF2ZShlLHQpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0odGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5kZWxldGUtc2xhdmUtdGl0bGUiKSwiIix0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJhY3Rpb24ubm8iKSx0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJhY3Rpb24ueWVzIiksITApLnBpcGUoT2UoMSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2UmJih0aGlzLnNsYXZlcy5yZW1vdmVBdCh0KSx0aGlzLm1hc3RlckZvcm1Hcm91cC5tYXJrQXNEaXJ0eSgpKX0pKX11cGRhdGVUYWJsZURhdGEoZSx0KXt0JiYoZT1lLmZpbHRlcigoZT0+T2JqZWN0LnZhbHVlcyhlKS5zb21lKChlPT5lLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0LnRvTG93ZXJDYXNlKCkpKSkpKSksdGhpcy5kYXRhU291cmNlLmxvYWREYXRhKGUpfXB1c2hEYXRhQXNGb3JtQXJyYXlzKGUpe2U/Lmxlbmd0aCYmZS5mb3JFYWNoKChlPT50aGlzLnNsYXZlcy5wdXNoKHRoaXMuZmIuY29udHJvbChlKSkpKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOndvLGRlcHM6W3t0b2tlbjpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0b2tlbjpKZS5NYXREaWFsb2d9LHt0b2tlbjpYLkRpYWxvZ1NlcnZpY2V9LHt0b2tlbjptZS5Gb3JtQnVpbGRlcn0se3Rva2VuOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOndvLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItbW9kYnVzLW1hc3Rlci10YWJsZSIsaW5wdXRzOntpc0xlZ2FjeToiaXNMZWdhY3kifSxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT53bykpLG11bHRpOiEwfV0sdmlld1F1ZXJpZXM6W3twcm9wZXJ0eU5hbWU6InNlYXJjaElucHV0RmllbGQiLGZpcnN0OiEwLHByZWRpY2F0ZTpbInNlYXJjaElucHV0Il0sZGVzY2VuZGFudHM6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItbWFzdGVyLXRhYmxlIHRiLWFic29sdXRlLWZpbGwiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggY2VudGVyIj57eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLW1hc3RlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGZ4RmxleCBmeExheW91dD0iY29sdW1uIiBjbGFzcz0idGItbWFzdGVyLXRhYmxlLWNvbnRlbnQiPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIiBbZnhTaG93XT0iIXRleHRTZWFyY2hNb2RlIj5cbiAgICAgIDxkaXYgY2xhc3M9Im1hdC10b29sYmFyLXRvb2xzIiAqbmdJZj0iKGRhdGFTb3VyY2UuaXNFbXB0eSgpIHwgYXN5bmMpID09PSBmYWxzZSI+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0ic3RhcnQgY2VudGVyIiBmeExheW91dC54cz0iY29sdW1uIiBmeExheW91dEFsaWduLnhzPSJjZW50ZXIgc3RhcnQiIGNsYXNzPSJ0aXRsZS1jb250YWluZXIiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Yi1tYXN0ZXItdGFibGUtdGl0bGUiPnt7IFwnZ2F0ZXdheS5zZXJ2ZXJzLXNsYXZlc1wnIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZVNsYXZlKCRldmVudCkiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uYWRkXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9ImVudGVyRmlsdGVyTW9kZSgpIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLnNlYXJjaFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXRvb2xiYXI+XG4gICAgPG1hdC10b29sYmFyIGNsYXNzPSJtYXQtbWRjLXRhYmxlLXRvb2xiYXIiIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSI+XG4gICAgICA8ZGl2IGNsYXNzPSJtYXQtdG9vbGJhci10b29scyI+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+Jm5ic3A7PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0ICNzZWFyY2hJbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPSJ0ZXh0U2VhcmNoIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdjb21tb24uZW50ZXItc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0iZXhpdEZpbHRlck1vZGUoKSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5jbG9zZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1jb250YWluZXIiPlxuICAgICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09ImRhdGFTb3VyY2UiPlxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPSJcJ2RldmljZU5hbWVcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS5kZXZpY2UtbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgc2xhdmUiIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iPlxuICAgICAgICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgc2xhdmVbXCdkZXZpY2VOYW1lXCddIH19PC9kaXY+XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW21hdENvbHVtbkRlZl09IlwnaW5mb1wnIj5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmluZm9cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlIiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IHNsYXZlW1wnaG9zdFwnXSA/PyBzbGF2ZVtcJ3BvcnRcJ10gfX08L2Rpdj5cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT0iXCd1bml0SWRcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS51bml0LWlkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBzbGF2ZSIgY2xhc3M9InRhYmxlLXZhbHVlLWNvbHVtbiI+XG4gICAgICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBzbGF2ZVtcJ3VuaXRJZFwnXSB9fTwvZGl2PlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPSJcJ3R5cGVcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXY+e3sgXCdnYXRld2F5LnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlIiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIHt7IE1vZGJ1c1Byb3RvY29sTGFiZWxzTWFwLmdldChzbGF2ZVtcJ3R5cGVcJ10pIH19XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPSJhY3Rpb25zIiBzdGlja3lFbmQ+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGUuZ3QtbWRdPSJ7IG1pbldpZHRoOiBcJzk2cHhcJywgbWF4V2lkdGg6IFwnOTZweFwnLCB3aWR0aDogXCc5NnB4XCcsIHRleHRBbGlnbjogXCdjZW50ZXJcJ30iPlxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlOyBsZXQgaSA9IGluZGV4IlxuICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZS5ndC1tZF09InsgbWluV2lkdGg6IFwnOTZweFwnLCBtYXhXaWR0aDogXCc5NnB4XCcsIHdpZHRoOiBcJzk2cHhcJ30iPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyb3dBY3Rpb25zPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZVNsYXZlKCRldmVudCwgaSkiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmRlbGV0ZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlU2xhdmUoJGV2ZW50LCBpKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24+ZGVsZXRlPC90Yi1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8ZGl2IGZ4SGlkZSBmeFNob3cuZ3QtbWQgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0QWxpZ249ImVuZCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJyb3dBY3Rpb25zIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmeEhpZGUgZnhTaG93Lmx0LWxnIGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJlbmQiPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPSJjZWxsQWN0aW9uc01lbnUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8bWF0LW1lbnUgI2NlbGxBY3Rpb25zTWVudT0ibWF0TWVudSIgeFBvc2l0aW9uPSJiZWZvcmUiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJyb3dBY3Rpb25zIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bWF0LWhlYWRlci1yb3cgW25nQ2xhc3NdPSJ7XCdtYXQtcm93LXNlbGVjdFwnOiB0cnVlfSIgKm1hdEhlYWRlclJvd0RlZj0iW1wnZGV2aWNlTmFtZVwnLCBcJ2luZm9cJywgXCd1bml0SWRcJywgXCd0eXBlXCcsIFwnYWN0aW9uc1wnXTsgc3RpY2t5OiB0cnVlIj48L21hdC1oZWFkZXItcm93PlxuICAgICAgICA8bWF0LXJvdyAqbWF0Um93RGVmPSJsZXQgc2xhdmU7IGNvbHVtbnM6IFtcJ2RldmljZU5hbWVcJywgXCdpbmZvXCcsIFwndW5pdElkXCcsIFwndHlwZVwnLCBcJ2FjdGlvbnNcJ10iPjwvbWF0LXJvdz5cbiAgICAgIDwvdGFibGU+XG4gICAgICA8c2VjdGlvbiBbZnhTaG93XT0iIXRleHRTZWFyY2hNb2RlICYmIChkYXRhU291cmNlLmlzRW1wdHkoKSB8IGFzeW5jKSIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgIGNsYXNzPSJtYXQtaGVhZGxpbmUtNSB0Yi1hYnNvbHV0ZS1maWxsIHRiLWFkZC1uZXciPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9ImNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VTbGF2ZSgkZXZlbnQpIj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC05NiI+YWRkPC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3Bhbj57eyBcJ2dhdGV3YXkuYWRkLXNsYXZlXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9zZWN0aW9uPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSAmJiAoZGF0YVNvdXJjZS5pc0VtcHR5KCkgfCBhc3luYykiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCIgdHJhbnNsYXRlPlxuICAgICAgd2lkZ2V0Lm5vLWRhdGEtZm91bmRcbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojZmZmO292ZXJmbG93OmhpZGRlbn06aG9zdCAudGItbWFzdGVyLXRhYmxlIC50Yi1tYXN0ZXItdGFibGUtY29udGVudCAubWF0LXRvb2xiYXItdG9vbHN7bWluLWhlaWdodDphdXRvfTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50aXRsZS1jb250YWluZXJ7b3ZlcmZsb3c6aGlkZGVufTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50Yi1tYXN0ZXItdGFibGUtdGl0bGV7cGFkZGluZy1yaWdodDoyMHB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306aG9zdCAudGItbWFzdGVyLXRhYmxlIC50Yi1tYXN0ZXItdGFibGUtY29udGVudCAudGFibGUtY29udGFpbmVye292ZXJmbG93OmF1dG99Omhvc3QgLnRiLW1hc3Rlci10YWJsZSAudGItbWFzdGVyLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lciAubWF0LW1kYy10YWJsZXt0YWJsZS1sYXlvdXQ6Zml4ZWQ7bWluLXdpZHRoOjQ1MHB4fTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50YWJsZS1jb250YWluZXIgLm1hdC1tZGMtdGFibGUgLnRhYmxlLXZhbHVlLWNvbHVtbntwYWRkaW5nOjAgMTJweDt3aWR0aDozOCV9Omhvc3QgLm5vLWRhdGEtZm91bmR7aGVpZ2h0OmNhbGMoMTAwJSAtIDEyMHB4KX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCl7Omhvc3QgLm1hdC10b29sYmFye2hlaWdodDphdXRvO21pbi1oZWlnaHQ6MTAwcHh9Omhvc3QgLm1hdC10b29sYmFyIC50Yi1tYXN0ZXItdGFibGUtdGl0bGV7cGFkZGluZy1ib3R0b206NXB4O3dpZHRoOjEwMCV9fTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxse2N1cnNvcjpwb2ludGVyfTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxsIC5tYXQtaWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4O2ZvbnQtc2l6ZToyNHB4O2NvbG9yOiM3NTc1NzV9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJuZ21vZHVsZSIsdHlwZTpIfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdDbGFzcyxzZWxlY3RvcjoiW25nQ2xhc3NdIixpbnB1dHM6WyJjbGFzcyIsIm5nQ2xhc3MiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nVGVtcGxhdGVPdXRsZXQsc2VsZWN0b3I6IltuZ1RlbXBsYXRlT3V0bGV0XSIsaW5wdXRzOlsibmdUZW1wbGF0ZU91dGxldENvbnRleHQiLCJuZ1RlbXBsYXRlT3V0bGV0IiwibmdUZW1wbGF0ZU91dGxldEluamVjdG9yIl19LHtraW5kOiJwaXBlIix0eXBlOl8uQXN5bmNQaXBlLG5hbWU6ImFzeW5jIn0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QnV0dG9uLHNlbGVjdG9yOiIgICAgYnV0dG9uW21hdC1idXR0b25dLCBidXR0b25bbWF0LXJhaXNlZC1idXR0b25dLCBidXR0b25bbWF0LWZsYXQtYnV0dG9uXSwgICAgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0gICIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpodC5NYXRNZW51LHNlbGVjdG9yOiJtYXQtbWVudSIsaW5wdXRzOlsiYmFja2Ryb3BDbGFzcyIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwieFBvc2l0aW9uIiwieVBvc2l0aW9uIiwib3ZlcmxhcFRyaWdnZXIiLCJoYXNCYWNrZHJvcCIsImNsYXNzIiwiY2xhc3NMaXN0Il0sb3V0cHV0czpbImNsb3NlZCIsImNsb3NlIl0sZXhwb3J0QXM6WyJtYXRNZW51Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6aHQuTWF0TWVudVRyaWdnZXIsc2VsZWN0b3I6IlttYXQtbWVudS10cmlnZ2VyLWZvcl0sIFttYXRNZW51VHJpZ2dlckZvcl0iLGlucHV0czpbIm1hdC1tZW51LXRyaWdnZXItZm9yIiwibWF0TWVudVRyaWdnZXJGb3IiLCJtYXRNZW51VHJpZ2dlckRhdGEiLCJtYXRNZW51VHJpZ2dlclJlc3RvcmVGb2N1cyJdLG91dHB1dHM6WyJtZW51T3BlbmVkIiwib25NZW51T3BlbiIsIm1lbnVDbG9zZWQiLCJvbk1lbnVDbG9zZSJdLGV4cG9ydEFzOlsibWF0TWVudVRyaWdnZXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdFRhYmxlLHNlbGVjdG9yOiJtYXQtdGFibGUsIHRhYmxlW21hdC10YWJsZV0iLGV4cG9ydEFzOlsibWF0VGFibGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlckNlbGxEZWYsc2VsZWN0b3I6IlttYXRIZWFkZXJDZWxsRGVmXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRIZWFkZXJSb3dEZWYsc2VsZWN0b3I6IlttYXRIZWFkZXJSb3dEZWZdIixpbnB1dHM6WyJtYXRIZWFkZXJSb3dEZWYiLCJtYXRIZWFkZXJSb3dEZWZTdGlja3kiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdENvbHVtbkRlZixzZWxlY3RvcjoiW21hdENvbHVtbkRlZl0iLGlucHV0czpbIm1hdENvbHVtbkRlZiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Q2VsbERlZixzZWxlY3RvcjoiW21hdENlbGxEZWZdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdFJvd0RlZixzZWxlY3RvcjoiW21hdFJvd0RlZl0iLGlucHV0czpbIm1hdFJvd0RlZkNvbHVtbnMiLCJtYXRSb3dEZWZXaGVuIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRIZWFkZXJDZWxsLHNlbGVjdG9yOiJtYXQtaGVhZGVyLWNlbGwsIHRoW21hdC1oZWFkZXItY2VsbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Q2VsbCxzZWxlY3RvcjoibWF0LWNlbGwsIHRkW21hdC1jZWxsXSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Yi5NYXRIZWFkZXJSb3csc2VsZWN0b3I6Im1hdC1oZWFkZXItcm93LCB0clttYXQtaGVhZGVyLXJvd10iLGV4cG9ydEFzOlsibWF0SGVhZGVyUm93Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Yi5NYXRSb3csc2VsZWN0b3I6Im1hdC1yb3csIHRyW21hdC1yb3ddIixleHBvcnRBczpbIm1hdFJvdyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRdLCBbZnhMYXlvdXQueHNdLCBbZnhMYXlvdXQuc21dLCBbZnhMYXlvdXQubWRdLCAgW2Z4TGF5b3V0LmxnXSwgW2Z4TGF5b3V0LnhsXSwgW2Z4TGF5b3V0Lmx0LXNtXSwgW2Z4TGF5b3V0Lmx0LW1kXSwgIFtmeExheW91dC5sdC1sZ10sIFtmeExheW91dC5sdC14bF0sIFtmeExheW91dC5ndC14c10sIFtmeExheW91dC5ndC1zbV0sICBbZnhMYXlvdXQuZ3QtbWRdLCBbZnhMYXlvdXQuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dCIsImZ4TGF5b3V0LnhzIiwiZnhMYXlvdXQuc20iLCJmeExheW91dC5tZCIsImZ4TGF5b3V0LmxnIiwiZnhMYXlvdXQueGwiLCJmeExheW91dC5sdC1zbSIsImZ4TGF5b3V0Lmx0LW1kIiwiZnhMYXlvdXQubHQtbGciLCJmeExheW91dC5sdC14bCIsImZ4TGF5b3V0Lmd0LXhzIiwiZnhMYXlvdXQuZ3Qtc20iLCJmeExheW91dC5ndC1tZCIsImZ4TGF5b3V0Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOksuRGVmYXVsdFNob3dIaWRlRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeFNob3ddLCBbZnhTaG93LnByaW50XSwgIFtmeFNob3cueHNdLCBbZnhTaG93LnNtXSwgW2Z4U2hvdy5tZF0sIFtmeFNob3cubGddLCBbZnhTaG93LnhsXSwgIFtmeFNob3cubHQtc21dLCBbZnhTaG93Lmx0LW1kXSwgW2Z4U2hvdy5sdC1sZ10sIFtmeFNob3cubHQteGxdLCAgW2Z4U2hvdy5ndC14c10sIFtmeFNob3cuZ3Qtc21dLCBbZnhTaG93Lmd0LW1kXSwgW2Z4U2hvdy5ndC1sZ10sICBbZnhIaWRlXSwgW2Z4SGlkZS5wcmludF0sICBbZnhIaWRlLnhzXSwgW2Z4SGlkZS5zbV0sIFtmeEhpZGUubWRdLCBbZnhIaWRlLmxnXSwgW2Z4SGlkZS54bF0sICBbZnhIaWRlLmx0LXNtXSwgW2Z4SGlkZS5sdC1tZF0sIFtmeEhpZGUubHQtbGddLCBbZnhIaWRlLmx0LXhsXSwgIFtmeEhpZGUuZ3QteHNdLCBbZnhIaWRlLmd0LXNtXSwgW2Z4SGlkZS5ndC1tZF0sIFtmeEhpZGUuZ3QtbGddIixpbnB1dHM6WyJmeFNob3ciLCJmeFNob3cucHJpbnQiLCJmeFNob3cueHMiLCJmeFNob3cuc20iLCJmeFNob3cubWQiLCJmeFNob3cubGciLCJmeFNob3cueGwiLCJmeFNob3cubHQtc20iLCJmeFNob3cubHQtbWQiLCJmeFNob3cubHQtbGciLCJmeFNob3cubHQteGwiLCJmeFNob3cuZ3QteHMiLCJmeFNob3cuZ3Qtc20iLCJmeFNob3cuZ3QtbWQiLCJmeFNob3cuZ3QtbGciLCJmeEhpZGUiLCJmeEhpZGUucHJpbnQiLCJmeEhpZGUueHMiLCJmeEhpZGUuc20iLCJmeEhpZGUubWQiLCJmeEhpZGUubGciLCJmeEhpZGUueGwiLCJmeEhpZGUubHQtc20iLCJmeEhpZGUubHQtbWQiLCJmeEhpZGUubHQtbGciLCJmeEhpZGUubHQteGwiLCJmeEhpZGUuZ3QteHMiLCJmeEhpZGUuZ3Qtc20iLCJmeEhpZGUuZ3QtbWQiLCJmeEhpZGUuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRDbGFzc0RpcmVjdGl2ZSxzZWxlY3RvcjoiICBbbmdDbGFzc10sIFtuZ0NsYXNzLnhzXSwgW25nQ2xhc3Muc21dLCBbbmdDbGFzcy5tZF0sIFtuZ0NsYXNzLmxnXSwgW25nQ2xhc3MueGxdLCAgW25nQ2xhc3MubHQtc21dLCBbbmdDbGFzcy5sdC1tZF0sIFtuZ0NsYXNzLmx0LWxnXSwgW25nQ2xhc3MubHQteGxdLCAgW25nQ2xhc3MuZ3QteHNdLCBbbmdDbGFzcy5ndC1zbV0sIFtuZ0NsYXNzLmd0LW1kXSwgW25nQ2xhc3MuZ3QtbGddIixpbnB1dHM6WyJuZ0NsYXNzIiwibmdDbGFzcy54cyIsIm5nQ2xhc3Muc20iLCJuZ0NsYXNzLm1kIiwibmdDbGFzcy5sZyIsIm5nQ2xhc3MueGwiLCJuZ0NsYXNzLmx0LXNtIiwibmdDbGFzcy5sdC1tZCIsIm5nQ2xhc3MubHQtbGciLCJuZ0NsYXNzLmx0LXhsIiwibmdDbGFzcy5ndC14cyIsIm5nQ2xhc3MuZ3Qtc20iLCJuZ0NsYXNzLmd0LW1kIiwibmdDbGFzcy5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOksuRGVmYXVsdFN0eWxlRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtuZ1N0eWxlXSwgIFtuZ1N0eWxlLnhzXSwgW25nU3R5bGUuc21dLCBbbmdTdHlsZS5tZF0sIFtuZ1N0eWxlLmxnXSwgW25nU3R5bGUueGxdLCAgW25nU3R5bGUubHQtc21dLCBbbmdTdHlsZS5sdC1tZF0sIFtuZ1N0eWxlLmx0LWxnXSwgW25nU3R5bGUubHQteGxdLCAgW25nU3R5bGUuZ3QteHNdLCBbbmdTdHlsZS5ndC1zbV0sIFtuZ1N0eWxlLmd0LW1kXSwgW25nU3R5bGUuZ3QtbGddIixpbnB1dHM6WyJuZ1N0eWxlIiwibmdTdHlsZS54cyIsIm5nU3R5bGUuc20iLCJuZ1N0eWxlLm1kIiwibmdTdHlsZS5sZyIsIm5nU3R5bGUueGwiLCJuZ1N0eWxlLmx0LXNtIiwibmdTdHlsZS5sdC1tZCIsIm5nU3R5bGUubHQtbGciLCJuZ1N0eWxlLmx0LXhsIiwibmdTdHlsZS5ndC14cyIsIm5nU3R5bGUuZ3Qtc20iLCJuZ1N0eWxlLmd0LW1kIiwibmdTdHlsZS5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpidC5UYkljb25Db21wb25lbnQsc2VsZWN0b3I6InRiLWljb24iLGlucHV0czpbImNvbG9yIl0sZXhwb3J0QXM6WyJ0Ykljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJNb2RidXNNYXN0ZXJUYWJsZUNvbXBvbmVudCIsd28pLEhlKFt4dCgpXSx3by5wcm90b3R5cGUsImlzTGVnYWN5Iix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6d28sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1tYXN0ZXItdGFibGUiLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT53bykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsU2FdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItbWFzdGVyLXRhYmxlIHRiLWFic29sdXRlLWZpbGwiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggY2VudGVyIj57eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLW1hc3RlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGZ4RmxleCBmeExheW91dD0iY29sdW1uIiBjbGFzcz0idGItbWFzdGVyLXRhYmxlLWNvbnRlbnQiPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIiBbZnhTaG93XT0iIXRleHRTZWFyY2hNb2RlIj5cbiAgICAgIDxkaXYgY2xhc3M9Im1hdC10b29sYmFyLXRvb2xzIiAqbmdJZj0iKGRhdGFTb3VyY2UuaXNFbXB0eSgpIHwgYXN5bmMpID09PSBmYWxzZSI+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0ic3RhcnQgY2VudGVyIiBmeExheW91dC54cz0iY29sdW1uIiBmeExheW91dEFsaWduLnhzPSJjZW50ZXIgc3RhcnQiIGNsYXNzPSJ0aXRsZS1jb250YWluZXIiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Yi1tYXN0ZXItdGFibGUtdGl0bGUiPnt7IFwnZ2F0ZXdheS5zZXJ2ZXJzLXNsYXZlc1wnIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZVNsYXZlKCRldmVudCkiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uYWRkXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9ImVudGVyRmlsdGVyTW9kZSgpIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLnNlYXJjaFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXRvb2xiYXI+XG4gICAgPG1hdC10b29sYmFyIGNsYXNzPSJtYXQtbWRjLXRhYmxlLXRvb2xiYXIiIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSI+XG4gICAgICA8ZGl2IGNsYXNzPSJtYXQtdG9vbGJhci10b29scyI+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+Jm5ic3A7PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0ICNzZWFyY2hJbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPSJ0ZXh0U2VhcmNoIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdjb21tb24uZW50ZXItc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0iZXhpdEZpbHRlck1vZGUoKSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5jbG9zZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1jb250YWluZXIiPlxuICAgICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09ImRhdGFTb3VyY2UiPlxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPSJcJ2RldmljZU5hbWVcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS5kZXZpY2UtbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgc2xhdmUiIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iPlxuICAgICAgICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgc2xhdmVbXCdkZXZpY2VOYW1lXCddIH19PC9kaXY+XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW21hdENvbHVtbkRlZl09IlwnaW5mb1wnIj5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmluZm9cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlIiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IHNsYXZlW1wnaG9zdFwnXSA/PyBzbGF2ZVtcJ3BvcnRcJ10gfX08L2Rpdj5cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT0iXCd1bml0SWRcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS51bml0LWlkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBzbGF2ZSIgY2xhc3M9InRhYmxlLXZhbHVlLWNvbHVtbiI+XG4gICAgICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBzbGF2ZVtcJ3VuaXRJZFwnXSB9fTwvZGl2PlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPSJcJ3R5cGVcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXY+e3sgXCdnYXRld2F5LnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlIiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIHt7IE1vZGJ1c1Byb3RvY29sTGFiZWxzTWFwLmdldChzbGF2ZVtcJ3R5cGVcJ10pIH19XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPSJhY3Rpb25zIiBzdGlja3lFbmQ+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGUuZ3QtbWRdPSJ7IG1pbldpZHRoOiBcJzk2cHhcJywgbWF4V2lkdGg6IFwnOTZweFwnLCB3aWR0aDogXCc5NnB4XCcsIHRleHRBbGlnbjogXCdjZW50ZXJcJ30iPlxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlOyBsZXQgaSA9IGluZGV4IlxuICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZS5ndC1tZF09InsgbWluV2lkdGg6IFwnOTZweFwnLCBtYXhXaWR0aDogXCc5NnB4XCcsIHdpZHRoOiBcJzk2cHhcJ30iPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyb3dBY3Rpb25zPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZVNsYXZlKCRldmVudCwgaSkiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmRlbGV0ZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlU2xhdmUoJGV2ZW50LCBpKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24+ZGVsZXRlPC90Yi1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8ZGl2IGZ4SGlkZSBmeFNob3cuZ3QtbWQgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0QWxpZ249ImVuZCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJyb3dBY3Rpb25zIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmeEhpZGUgZnhTaG93Lmx0LWxnIGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJlbmQiPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPSJjZWxsQWN0aW9uc01lbnUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8bWF0LW1lbnUgI2NlbGxBY3Rpb25zTWVudT0ibWF0TWVudSIgeFBvc2l0aW9uPSJiZWZvcmUiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJyb3dBY3Rpb25zIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bWF0LWhlYWRlci1yb3cgW25nQ2xhc3NdPSJ7XCdtYXQtcm93LXNlbGVjdFwnOiB0cnVlfSIgKm1hdEhlYWRlclJvd0RlZj0iW1wnZGV2aWNlTmFtZVwnLCBcJ2luZm9cJywgXCd1bml0SWRcJywgXCd0eXBlXCcsIFwnYWN0aW9uc1wnXTsgc3RpY2t5OiB0cnVlIj48L21hdC1oZWFkZXItcm93PlxuICAgICAgICA8bWF0LXJvdyAqbWF0Um93RGVmPSJsZXQgc2xhdmU7IGNvbHVtbnM6IFtcJ2RldmljZU5hbWVcJywgXCdpbmZvXCcsIFwndW5pdElkXCcsIFwndHlwZVwnLCBcJ2FjdGlvbnNcJ10iPjwvbWF0LXJvdz5cbiAgICAgIDwvdGFibGU+XG4gICAgICA8c2VjdGlvbiBbZnhTaG93XT0iIXRleHRTZWFyY2hNb2RlICYmIChkYXRhU291cmNlLmlzRW1wdHkoKSB8IGFzeW5jKSIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgIGNsYXNzPSJtYXQtaGVhZGxpbmUtNSB0Yi1hYnNvbHV0ZS1maWxsIHRiLWFkZC1uZXciPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9ImNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VTbGF2ZSgkZXZlbnQpIj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC05NiI+YWRkPC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3Bhbj57eyBcJ2dhdGV3YXkuYWRkLXNsYXZlXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9zZWN0aW9uPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSAmJiAoZGF0YVNvdXJjZS5pc0VtcHR5KCkgfCBhc3luYykiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCIgdHJhbnNsYXRlPlxuICAgICAgd2lkZ2V0Lm5vLWRhdGEtZm91bmRcbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojZmZmO292ZXJmbG93OmhpZGRlbn06aG9zdCAudGItbWFzdGVyLXRhYmxlIC50Yi1tYXN0ZXItdGFibGUtY29udGVudCAubWF0LXRvb2xiYXItdG9vbHN7bWluLWhlaWdodDphdXRvfTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50aXRsZS1jb250YWluZXJ7b3ZlcmZsb3c6aGlkZGVufTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50Yi1tYXN0ZXItdGFibGUtdGl0bGV7cGFkZGluZy1yaWdodDoyMHB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306aG9zdCAudGItbWFzdGVyLXRhYmxlIC50Yi1tYXN0ZXItdGFibGUtY29udGVudCAudGFibGUtY29udGFpbmVye292ZXJmbG93OmF1dG99Omhvc3QgLnRiLW1hc3Rlci10YWJsZSAudGItbWFzdGVyLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lciAubWF0LW1kYy10YWJsZXt0YWJsZS1sYXlvdXQ6Zml4ZWQ7bWluLXdpZHRoOjQ1MHB4fTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50YWJsZS1jb250YWluZXIgLm1hdC1tZGMtdGFibGUgLnRhYmxlLXZhbHVlLWNvbHVtbntwYWRkaW5nOjAgMTJweDt3aWR0aDozOCV9Omhvc3QgLm5vLWRhdGEtZm91bmR7aGVpZ2h0OmNhbGMoMTAwJSAtIDEyMHB4KX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCl7Omhvc3QgLm1hdC10b29sYmFye2hlaWdodDphdXRvO21pbi1oZWlnaHQ6MTAwcHh9Omhvc3QgLm1hdC10b29sYmFyIC50Yi1tYXN0ZXItdGFibGUtdGl0bGV7cGFkZGluZy1ib3R0b206NXB4O3dpZHRoOjEwMCV9fTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxse2N1cnNvcjpwb2ludGVyfTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxsIC5tYXQtaWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4O2ZvbnQtc2l6ZToyNHB4O2NvbG9yOiM3NTc1NzV9XG4nXX1dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0eXBlOkplLk1hdERpYWxvZ30se3R5cGU6WC5EaWFsb2dTZXJ2aWNlfSx7dHlwZTptZS5Gb3JtQnVpbGRlcn0se3R5cGU6dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHByb3BEZWNvcmF0b3JzOntzZWFyY2hJbnB1dEZpZWxkOlt7dHlwZTpvLGFyZ3M6WyJzZWFyY2hJbnB1dCJdfV0saXNMZWdhY3k6W3t0eXBlOmF9XX19KTtjbGFzcyBDbyBleHRlbmRzIFJ7Y29uc3RydWN0b3IoKXtzdXBlcigpfX1lKCJTbGF2ZXNEYXRhc291cmNlIixDbyk7Y2xhc3MgVG8gZXh0ZW5kcyB5YXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5lbmFibGVTbGF2ZUNvbnRyb2w9bmV3IHllKCExKSx0aGlzLmVuYWJsZVNsYXZlQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy51cGRhdGVTbGF2ZUVuYWJsaW5nKGUpLHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJzbGF2ZSIpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohIXRoaXMub25DaGFuZ2V9KX0pKX13cml0ZVZhbHVlKGUpe3N1cGVyLndyaXRlVmFsdWUoZSksdGhpcy5vbkVuYWJsZVNsYXZlQ29udHJvbChlKX12YWxpZGF0ZSgpe2NvbnN0e21hc3RlcjplLHNsYXZlOnR9PXRoaXMuYmFzaWNGb3JtR3JvdXAudmFsdWUsbj0hZT8uc2xhdmVzPy5sZW5ndGgmJihlZSh0LHt9KXx8IXQpO3JldHVybiF0aGlzLmJhc2ljRm9ybUdyb3VwLnZhbGlkfHxuP3tiYXNpY0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fTpudWxsfWluaXRCYXNpY0Zvcm1Hcm91cCgpe3JldHVybiB0aGlzLmZiLmdyb3VwKHttYXN0ZXI6W10sc2xhdmU6W119KX11cGRhdGVTbGF2ZUVuYWJsaW5nKGUpe2U/dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInNsYXZlIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KTp0aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgic2xhdmUiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KX1vbkVuYWJsZVNsYXZlQ29udHJvbChlKXt0aGlzLmVuYWJsZVNsYXZlQ29udHJvbC5zZXRWYWx1ZSghIWUuc2xhdmUmJiFlZShlLnNsYXZlLHt9KSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpUbyxkZXBzOltdLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkRpcmVjdGl2ZX0pfXN0YXRpY3t0aGlzLsm1ZGlyPXQuybXJtW5nRGVjbGFyZURpcmVjdGl2ZSh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6VG8sdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnR9KX19ZSgiTW9kYnVzQmFzaWNDb25maWdEaXJlY3RpdmUiLFRvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlRvLGRlY29yYXRvcnM6W3t0eXBlOnN9XSxjdG9yUGFyYW1ldGVyczooKT0+W119KTtjbGFzcyBTb3tjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy5Nb2RidXNQcm90b2NvbExhYmVsc01hcD16bix0aGlzLk1vZGJ1c01ldGhvZExhYmVsc01hcD1Lbix0aGlzLnBvcnRMaW1pdHM9RXQsdGhpcy5tb2RidXNQcm90b2NvbFR5cGVzPU9iamVjdC52YWx1ZXMoSG4pLHRoaXMubW9kYnVzTWV0aG9kVHlwZXM9T2JqZWN0LnZhbHVlcyhXbiksdGhpcy5tb2RidXNTZXJpYWxNZXRob2RUeXBlcz1PYmplY3QudmFsdWVzKGpuKSx0aGlzLm1vZGJ1c09yZGVyVHlwZT1PYmplY3QudmFsdWVzKEpuKSx0aGlzLk1vZGJ1c1Byb3RvY29sVHlwZT1Ibix0aGlzLm1vZGJ1c0JhdWRyYXRlcz1sYSx0aGlzLmlzU2xhdmVFbmFibGVkPSExLHRoaXMuc2VyaWFsU3BlY2lmaWNDb250cm9sS2V5cz1bInNlcmlhbFBvcnQiLCJiYXVkcmF0ZSJdLHRoaXMudGNwVWRwU3BlY2lmaWNDb250cm9sS2V5cz1bInBvcnQiLCJzZWN1cml0eSIsImhvc3QiXSx0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLnNob3dTZWN1cml0eUNvbnRyb2w9dGhpcy5mYi5jb250cm9sKCExKSx0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe3R5cGU6W0huLlRDUF0saG9zdDpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scG9ydDpbbnVsbCxbdWUucmVxdWlyZWQsdWUubWluKEV0Lk1JTiksdWUubWF4KEV0Lk1BWCldXSxzZXJpYWxQb3J0OlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxtZXRob2Q6W1duLlNPQ0tFVF0sdW5pdElkOltudWxsLFt1ZS5yZXF1aXJlZF1dLGJhdWRyYXRlOlt0aGlzLm1vZGJ1c0JhdWRyYXRlc1swXV0sZGV2aWNlTmFtZTpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sZGV2aWNlVHlwZTpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scG9sbFBlcmlvZDpbNWUzLFt1ZS5yZXF1aXJlZF1dLHNlbmREYXRhVG9UaGluZ3NCb2FyZDpbITFdLGJ5dGVPcmRlcjpbSm4uQklHXSx3b3JkT3JkZXI6W0puLkJJR10sc2VjdXJpdHk6W10saWRlbnRpdHk6dGhpcy5mYi5ncm91cCh7dmVuZG9yTmFtZTpbIiIsW3VlLnBhdHRlcm4oa3QpXV0scHJvZHVjdENvZGU6WyIiLFt1ZS5wYXR0ZXJuKGt0KV1dLHZlbmRvclVybDpbIiIsW3VlLnBhdHRlcm4oa3QpXV0scHJvZHVjdE5hbWU6WyIiLFt1ZS5wYXR0ZXJuKGt0KV1dLG1vZGVsTmFtZTpbIiIsW3VlLnBhdHRlcm4oa3QpXV19KSx2YWx1ZXM6W119KSx0aGlzLm9ic2VydmVWYWx1ZUNoYW5nZXMoKSx0aGlzLm9ic2VydmVUeXBlQ2hhbmdlKCksdGhpcy5vYnNlcnZlU2hvd1NlY3VyaXR5KCl9Z2V0IHByb3RvY29sVHlwZSgpe3JldHVybiB0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldCgidHlwZSIpLnZhbHVlfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC52YWxpZD9udWxsOntzbGF2ZUNvbmZpZ0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fX13cml0ZVZhbHVlKGUpe3RoaXMuc2hvd1NlY3VyaXR5Q29udHJvbC5wYXRjaFZhbHVlKCEhZS5zZWN1cml0eSYmIWVlKGUuc2VjdXJpdHkse30pKSx0aGlzLnVwZGF0ZVNsYXZlQ29uZmlnKGUpfXNldERpc2FibGVkU3RhdGUoZSl7dGhpcy5pc1NsYXZlRW5hYmxlZD0hZSx0aGlzLnVwZGF0ZUZvcm1FbmFibGVTdGF0ZSgpfW9ic2VydmVWYWx1ZUNoYW5nZXMoKXt0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9PntlLnR5cGU9PT1Ibi5TZXJpYWwmJihlLnBvcnQ9ZS5zZXJpYWxQb3J0LGRlbGV0ZSBlLnNlcmlhbFBvcnQpLHRoaXMub25DaGFuZ2UoZSksdGhpcy5vblRvdWNoZWQoKX0pKX1vYnNlcnZlVHlwZUNoYW5nZSgpe3RoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMudXBkYXRlRm9ybUVuYWJsZVN0YXRlKCksdGhpcy51cGRhdGVNZXRob2RUeXBlKGUpfSkpfXVwZGF0ZU1ldGhvZFR5cGUoZSl7dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoIm1ldGhvZCIpLnZhbHVlIT09V24uUlRVJiZ0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldCgibWV0aG9kIikucGF0Y2hWYWx1ZShlPT09SG4uU2VyaWFsP2puLkFTQ0lJOlduLlNPQ0tFVCx7ZW1pdEV2ZW50OiExfSl9dXBkYXRlRm9ybUVuYWJsZVN0YXRlKCl7dGhpcy5pc1NsYXZlRW5hYmxlZD8odGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5lbmFibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuc2hvd1NlY3VyaXR5Q29udHJvbC5lbmFibGUoe2VtaXRFdmVudDohMX0pKToodGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNob3dTZWN1cml0eUNvbnRyb2wuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpLHRoaXMudXBkYXRlRW5hYmxpbmdCeVByb3RvY29sKCksdGhpcy51cGRhdGVTZWN1cml0eUVuYWJsZSh0aGlzLnNob3dTZWN1cml0eUNvbnRyb2wudmFsdWUpfW9ic2VydmVTaG93U2VjdXJpdHkoKXt0aGlzLnNob3dTZWN1cml0eUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+dGhpcy51cGRhdGVTZWN1cml0eUVuYWJsZShlKSkpfXVwZGF0ZVNlY3VyaXR5RW5hYmxlKGUpe2UmJnRoaXMuaXNTbGF2ZUVuYWJsZWQmJnRoaXMucHJvdG9jb2xUeXBlIT09SG4uU2VyaWFsP3RoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KCJzZWN1cml0eSIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSk6dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoInNlY3VyaXR5IikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSl9dXBkYXRlRW5hYmxpbmdCeVByb3RvY29sKCl7Y29uc3QgZT10aGlzLnByb3RvY29sVHlwZT09PUhuLlNlcmlhbCx0PWU/dGhpcy5zZXJpYWxTcGVjaWZpY0NvbnRyb2xLZXlzOnRoaXMudGNwVWRwU3BlY2lmaWNDb250cm9sS2V5cyxuPWU/dGhpcy50Y3BVZHBTcGVjaWZpY0NvbnRyb2xLZXlzOnRoaXMuc2VyaWFsU3BlY2lmaWNDb250cm9sS2V5czt0aGlzLmlzU2xhdmVFbmFibGVkJiZ0LmZvckVhY2goKGU9PnRoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KGUpPy5lbmFibGUoe2VtaXRFdmVudDohMX0pKSksbi5mb3JFYWNoKChlPT50aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChlKT8uZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpKX11cGRhdGVTbGF2ZUNvbmZpZyhlKXtjb25zdHt0eXBlOnQ9SG4uVENQLG1ldGhvZDpuPVduLlJUVSx1bml0SWQ6YT0wLGRldmljZU5hbWU6bz0iIixkZXZpY2VUeXBlOmk9IiIscG9sbFBlcmlvZDpyPTVlMyxzZW5kRGF0YVRvVGhpbmdzQm9hcmQ6cz0hMSxieXRlT3JkZXI6bD1Kbi5CSUcsd29yZE9yZGVyOmM9Sm4uQklHLHNlY3VyaXR5OnA9e30saWRlbnRpdHk6bT17dmVuZG9yTmFtZToiIixwcm9kdWN0Q29kZToiIix2ZW5kb3JVcmw6IiIscHJvZHVjdE5hbWU6IiIsbW9kZWxOYW1lOiIifSx2YWx1ZXM6ZD17fSxiYXVkcmF0ZTp1PXRoaXMubW9kYnVzQmF1ZHJhdGVzWzBdLGhvc3Q6Zz0iIixwb3J0OmY9bnVsbH09ZSx5PXt0eXBlOnQsbWV0aG9kOm4sdW5pdElkOmEsZGV2aWNlTmFtZTpvLGRldmljZVR5cGU6aSxwb2xsUGVyaW9kOnIsc2VuZERhdGFUb1RoaW5nc0JvYXJkOiEhcyxieXRlT3JkZXI6bCx3b3JkT3JkZXI6YyxzZWN1cml0eTpwLGlkZW50aXR5Om0sdmFsdWVzOmQsYmF1ZHJhdGU6dSxob3N0OnQ9PT1Ibi5TZXJpYWw/IiI6Zyxwb3J0OnQ9PT1Ibi5TZXJpYWw/bnVsbDpmLHNlcmlhbFBvcnQ6dD09PUhuLlNlcmlhbD9mOiIifTt0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLnNldFZhbHVlKHkse2VtaXRFdmVudDohMX0pfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6U28sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpTbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1vZGJ1cy1zbGF2ZS1jb25maWciLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PlNvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5TbykpLG11bHRpOiEwfV0sbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgW2Zvcm1Hcm91cF09InNsYXZlQ29uZmlnRm9ybUdyb3VwIiBjbGFzcz0ic2xhdmUtY29udGFpbmVyIj5cbiAgPGRpdiBjbGFzcz0ic2xhdmUtY29udGVudCB0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIiA+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCByb3cgc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIgbm8tZ2FwIGZpbGwtd2lkdGgiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci1zbGF2ZS1jb25maWc8L2Rpdj5cbiAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2YgbW9kYnVzUHJvdG9jb2xUeXBlcyIgW3ZhbHVlXT0idHlwZSI+e3sgTW9kYnVzUHJvdG9jb2xMYWJlbHNNYXAuZ2V0KHR5cGUpIH19PC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiPlxuICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIlxuICAgICAgICAgICBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIlxuICAgICAgICAgICBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmhvc3RcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuaG9zdDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJob3N0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lmhvc3QtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCBlbHNlIHNlcmlhbFBvcnQiXG4gICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiXG4gICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSJ7e3BvcnRMaW1pdHMuTUlOfX0iIG1heD0ie3twb3J0TGltaXRzLk1BWH19IlxuICAgICAgICAgICAgICAgICAgIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvcnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykgfCBnZXRHYXRld2F5UG9ydFRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ21heFwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLXRlbXBsYXRlICNzZXJpYWxQb3J0PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc2VyaWFsLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucG9ydDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJpYWxQb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IlwnZ2F0ZXdheS5wb3J0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5mcmFtZXItdHlwZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+XG4gICAgICAgICAgZ2F0ZXdheS5tZXRob2RcbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBtZXRob2Qgb2YgcHJvdG9jb2xUeXBlID09PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsID8gbW9kYnVzU2VyaWFsTWV0aG9kVHlwZXMgOiBtb2RidXNNZXRob2RUeXBlcyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT0ibWV0aG9kIj57eyBNb2RidXNNZXRob2RMYWJlbHNNYXAuZ2V0KG1ldGhvZCkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy51bml0LWlkXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnVuaXQtaWQ8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InVuaXRJZCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudW5pdC1pZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCd1bml0SWRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLW5hbWU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLXByb2ZpbGU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlVHlwZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLXByb2ZpbGUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VUeXBlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgIDxzcGFuIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCB0cmFuc2xhdGU+XG4gICAgICAgICAgZ2F0ZXdheS5wb2xsLXBlcmlvZFxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvbGxQZXJpb2QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSA9PT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJhdWRyYXRlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJhdWRyYXRlPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJiYXVkcmF0ZSI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCByYXRlIG9mIG1vZGJ1c0JhdWRyYXRlcyIgW3ZhbHVlXT0icmF0ZSI+e3sgcmF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJzZW5kRGF0YVRvVGhpbmdzQm9hcmQiPlxuICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWRhdGEtdG8tcGxhdGZvcm1cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIj5cbiAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5hZHZhbmNlZC1jb25uZWN0aW9uLXNldHRpbmdzPC9kaXY+XG4gICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJ5dGUtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuYnl0ZS1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYnl0ZU9yZGVyIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndvcmQtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud29yZC1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0id29yZE9yZGVyIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCB0Yi1zbGlkZS10b2dnbGUiPlxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJzaG93U2VjdXJpdHlDb250cm9sLnZhbHVlIj5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZ4TGF5b3V0QWxpZ249ImNlbnRlciIgW2Zvcm1Db250cm9sXT0ic2hvd1NlY3VyaXR5Q29udHJvbCIgY2xhc3M9Im1hdC1zbGlkZSIgKGNsaWNrKT0iJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGxzLWNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgPHRiLW1vZGJ1cy1zZWN1cml0eS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZWN1cml0eSI+PC90Yi1tb2RidXMtc2VjdXJpdHktY29uZmlnPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2lkZW50aXR5XCcpIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudmVuZG9yLW5hbWU8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmVuZG9yTmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnByb2R1Y3QtY29kZTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwcm9kdWN0Q29kZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnZlbmRvci11cmw8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmVuZG9yVXJsIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucHJvZHVjdC1uYW1lPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InByb2R1Y3ROYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkubW9kZWwtbmFtZTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJtb2RlbE5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWVzPC9kaXY+XG4gICAgICA8dGItbW9kYnVzLXZhbHVlcyBmb3JtQ29udHJvbE5hbWU9InZhbHVlcyI+PC90Yi1tb2RidXMtdmFsdWVzPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxkZXBlbmRlbmNpZXM6W3traW5kOiJuZ21vZHVsZSIsdHlwZTpIfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWwsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwiLGlucHV0czpbImhpZGVUb2dnbGUiLCJ0b2dnbGVQb3NpdGlvbiJdLG91dHB1dHM6WyJhZnRlckV4cGFuZCIsImFmdGVyQ29sbGFwc2UiXSxleHBvcnRBczpbIm1hdEV4cGFuc2lvblBhbmVsIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIixpbnB1dHM6WyJleHBhbmRlZEhlaWdodCIsImNvbGxhcHNlZEhlaWdodCIsInRhYkluZGV4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxUaXRsZSxzZWxlY3RvcjoibWF0LXBhbmVsLXRpdGxlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWF4VmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttYXhdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtuZ01vZGVsXSIsaW5wdXRzOlsibWF4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpudC5Ub2dnbGVPcHRpb24sc2VsZWN0b3I6InRiLXRvZ2dsZS1vcHRpb24iLGlucHV0czpbInZhbHVlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YXQuVG9nZ2xlU2VsZWN0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi10b2dnbGUtc2VsZWN0IixpbnB1dHM6WyJkaXNhYmxlZCIsInNlbGVjdE1lZGlhQnJlYWtwb2ludCIsImFwcGVhcmFuY2UiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImZpbGxIZWlnaHQiLCJleHRyYVBhZGRpbmciLCJwcmltYXJ5QmFja2dyb3VuZCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnV0LkhpbnRUb29sdGlwSWNvbkNvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhpbnQtdG9vbHRpcC1pY29uXSIsaW5wdXRzOlsidGItaGludC10b29sdGlwLWljb24iLCJ0b29sdGlwUG9zaXRpb24iLCJoaW50SWNvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnlvLHNlbGVjdG9yOiJ0Yi1tb2RidXMtdmFsdWVzIixpbnB1dHM6WyJzaW5nbGVNb2RlIiwiaGlkZU5ld0ZpZWxkcyJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJvLHNlbGVjdG9yOiJ0Yi1tb2RidXMtc2VjdXJpdHktY29uZmlnIixpbnB1dHM6WyJpc01hc3RlciJdfSx7a2luZDoicGlwZSIsdHlwZTp3YSxuYW1lOiJnZXRHYXRld2F5UG9ydFRvb2x0aXAifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlNhLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfV0sY2hhbmdlRGV0ZWN0aW9uOnQuQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNofSl9fXQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6U28sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1zbGF2ZS1jb25maWciLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5TbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+U28pKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxELHlvLGJvLHdhLFNhXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgW2Zvcm1Hcm91cF09InNsYXZlQ29uZmlnRm9ybUdyb3VwIiBjbGFzcz0ic2xhdmUtY29udGFpbmVyIj5cbiAgPGRpdiBjbGFzcz0ic2xhdmUtY29udGVudCB0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIiA+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCByb3cgc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIgbm8tZ2FwIGZpbGwtd2lkdGgiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci1zbGF2ZS1jb25maWc8L2Rpdj5cbiAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2YgbW9kYnVzUHJvdG9jb2xUeXBlcyIgW3ZhbHVlXT0idHlwZSI+e3sgTW9kYnVzUHJvdG9jb2xMYWJlbHNNYXAuZ2V0KHR5cGUpIH19PC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiPlxuICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIlxuICAgICAgICAgICBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIlxuICAgICAgICAgICBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmhvc3RcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuaG9zdDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJob3N0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lmhvc3QtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCBlbHNlIHNlcmlhbFBvcnQiXG4gICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiXG4gICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSJ7e3BvcnRMaW1pdHMuTUlOfX0iIG1heD0ie3twb3J0TGltaXRzLk1BWH19IlxuICAgICAgICAgICAgICAgICAgIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvcnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykgfCBnZXRHYXRld2F5UG9ydFRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ21heFwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLXRlbXBsYXRlICNzZXJpYWxQb3J0PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc2VyaWFsLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucG9ydDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJpYWxQb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IlwnZ2F0ZXdheS5wb3J0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5mcmFtZXItdHlwZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+XG4gICAgICAgICAgZ2F0ZXdheS5tZXRob2RcbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBtZXRob2Qgb2YgcHJvdG9jb2xUeXBlID09PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsID8gbW9kYnVzU2VyaWFsTWV0aG9kVHlwZXMgOiBtb2RidXNNZXRob2RUeXBlcyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT0ibWV0aG9kIj57eyBNb2RidXNNZXRob2RMYWJlbHNNYXAuZ2V0KG1ldGhvZCkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy51bml0LWlkXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnVuaXQtaWQ8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InVuaXRJZCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudW5pdC1pZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCd1bml0SWRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLW5hbWU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLXByb2ZpbGU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlVHlwZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLXByb2ZpbGUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VUeXBlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgIDxzcGFuIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCB0cmFuc2xhdGU+XG4gICAgICAgICAgZ2F0ZXdheS5wb2xsLXBlcmlvZFxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvbGxQZXJpb2QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSA9PT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJhdWRyYXRlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJhdWRyYXRlPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJiYXVkcmF0ZSI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCByYXRlIG9mIG1vZGJ1c0JhdWRyYXRlcyIgW3ZhbHVlXT0icmF0ZSI+e3sgcmF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJzZW5kRGF0YVRvVGhpbmdzQm9hcmQiPlxuICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWRhdGEtdG8tcGxhdGZvcm1cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIj5cbiAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5hZHZhbmNlZC1jb25uZWN0aW9uLXNldHRpbmdzPC9kaXY+XG4gICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJ5dGUtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuYnl0ZS1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYnl0ZU9yZGVyIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndvcmQtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud29yZC1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0id29yZE9yZGVyIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCB0Yi1zbGlkZS10b2dnbGUiPlxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJzaG93U2VjdXJpdHlDb250cm9sLnZhbHVlIj5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZ4TGF5b3V0QWxpZ249ImNlbnRlciIgW2Zvcm1Db250cm9sXT0ic2hvd1NlY3VyaXR5Q29udHJvbCIgY2xhc3M9Im1hdC1zbGlkZSIgKGNsaWNrKT0iJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGxzLWNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgPHRiLW1vZGJ1cy1zZWN1cml0eS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZWN1cml0eSI+PC90Yi1tb2RidXMtc2VjdXJpdHktY29uZmlnPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2lkZW50aXR5XCcpIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudmVuZG9yLW5hbWU8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmVuZG9yTmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnByb2R1Y3QtY29kZTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwcm9kdWN0Q29kZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnZlbmRvci11cmw8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmVuZG9yVXJsIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucHJvZHVjdC1uYW1lPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InByb2R1Y3ROYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkubW9kZWwtbmFtZTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJtb2RlbE5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWVzPC9kaXY+XG4gICAgICA8dGItbW9kYnVzLXZhbHVlcyBmb3JtQ29udHJvbE5hbWU9InZhbHVlcyI+PC90Yi1tb2RidXMtdmFsdWVzPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuJ31dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTptZS5Gb3JtQnVpbGRlcn1dfSk7Y2xhc3Mga28gZXh0ZW5kcyBUb3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5pc0xlZ2FjeT0hMX1tYXBDb25maWdUb0Zvcm1WYWx1ZSh7bWFzdGVyOmUsc2xhdmU6dH0pe3JldHVybnttYXN0ZXI6ZT8uc2xhdmVzP2U6e3NsYXZlczpbXX0sc2xhdmU6dD8/e319fWdldE1hcHBlZFZhbHVlKGUpe3JldHVybnttYXN0ZXI6ZS5tYXN0ZXIsc2xhdmU6ZS5zbGF2ZX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTprbyxkZXBzOm51bGwsdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTprbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1vZGJ1cy1iYXNpYy1jb25maWciLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PmtvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5rbykpLG11bHRpOiEwfV0sdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0iYmFzaWNGb3JtR3JvdXAiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09ImdlbmVyYWxUYWJDb250ZW50Ij48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5Lm1hc3Rlci1jb25uZWN0aW9uc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8dGItbW9kYnVzLW1hc3Rlci10YWJsZSBbaXNMZWdhY3ldPSJpc0xlZ2FjeSIgZm9ybUNvbnRyb2xOYW1lPSJtYXN0ZXIiPjwvdGItbW9kYnVzLW1hc3Rlci10YWJsZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnNlcnZlci1jb25maWdcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggY2VudGVyIj57eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLXNlcnZlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBbZm9ybUNvbnRyb2xdPSJlbmFibGVTbGF2ZUNvbnRyb2wiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZW5hYmxlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPHRiLW1vZGJ1cy1zbGF2ZS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzbGF2ZSI+PC90Yi1tb2RidXMtc2xhdmUtY29uZmlnPlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJuZ21vZHVsZSIsdHlwZTpIfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdUZW1wbGF0ZU91dGxldCxzZWxlY3RvcjoiW25nVGVtcGxhdGVPdXRsZXRdIixpbnB1dHM6WyJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCIsIm5nVGVtcGxhdGVPdXRsZXQiLCJuZ1RlbXBsYXRlT3V0bGV0SW5qZWN0b3IiXX0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWIsc2VsZWN0b3I6Im1hdC10YWIiLGlucHV0czpbImRpc2FibGVkIiwibGFiZWwiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwibGFiZWxDbGFzcyIsImJvZHlDbGFzcyJdLGV4cG9ydEFzOlsibWF0VGFiIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWJHcm91cCxzZWxlY3RvcjoibWF0LXRhYi1ncm91cCIsaW5wdXRzOlsiY29sb3IiLCJmaXRJbmtCYXJUb0NvbnRlbnQiLCJtYXQtc3RyZXRjaC10YWJzIiwiZHluYW1pY0hlaWdodCIsInNlbGVjdGVkSW5kZXgiLCJoZWFkZXJQb3NpdGlvbiIsImFuaW1hdGlvbkR1cmF0aW9uIiwiY29udGVudFRhYkluZGV4IiwiZGlzYWJsZVBhZ2luYXRpb24iLCJkaXNhYmxlUmlwcGxlIiwicHJlc2VydmVDb250ZW50IiwiYmFja2dyb3VuZENvbG9yIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSJdLG91dHB1dHM6WyJzZWxlY3RlZEluZGV4Q2hhbmdlIiwiZm9jdXNDaGFuZ2UiLCJhbmltYXRpb25Eb25lIiwic2VsZWN0ZWRUYWJDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFRhYkdyb3VwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6ZXQuTWF0U2xpZGVUb2dnbGUsc2VsZWN0b3I6Im1hdC1zbGlkZS10b2dnbGUiLGlucHV0czpbIm5hbWUiLCJpZCIsImxhYmVsUG9zaXRpb24iLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsInJlcXVpcmVkIiwiY29sb3IiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImNoZWNrZWQiLCJoaWRlSWNvbiIsImRpc2FibGVkSW50ZXJhY3RpdmUiXSxvdXRwdXRzOlsiY2hhbmdlIiwidG9nZ2xlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2wiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpTbyxzZWxlY3RvcjoidGItbW9kYnVzLXNsYXZlLWNvbmZpZyJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d28sc2VsZWN0b3I6InRiLW1vZGJ1cy1tYXN0ZXItdGFibGUiLGlucHV0czpbImlzTGVnYWN5Il19XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19ZSgiTW9kYnVzQmFzaWNDb25maWdDb21wb25lbnQiLGtvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmtvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1tb2RidXMtYmFzaWMtY29uZmlnIixjaGFuZ2VEZXRlY3Rpb246ZC5PblB1c2gscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+a28pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PmtvKSksbXVsdGk6ITB9XSxzdGFuZGFsb25lOiEwLGltcG9ydHM6W0gsRCxTbyx3byxrYV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0iYmFzaWNGb3JtR3JvdXAiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09ImdlbmVyYWxUYWJDb250ZW50Ij48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5Lm1hc3Rlci1jb25uZWN0aW9uc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8dGItbW9kYnVzLW1hc3Rlci10YWJsZSBbaXNMZWdhY3ldPSJpc0xlZ2FjeSIgZm9ybUNvbnRyb2xOYW1lPSJtYXN0ZXIiPjwvdGItbW9kYnVzLW1hc3Rlci10YWJsZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnNlcnZlci1jb25maWdcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggY2VudGVyIj57eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLXNlcnZlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBbZm9ybUNvbnRyb2xdPSJlbmFibGVTbGF2ZUNvbnRyb2wiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZW5hYmxlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPHRiLW1vZGJ1cy1zbGF2ZS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzbGF2ZSI+PC90Yi1tb2RidXMtc2xhdmUtY29uZmlnPlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9XG4nXX1dfV19KTtjbGFzcyBMbyBleHRlbmRzIFRve2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmlzTGVnYWN5PSEwfW1hcENvbmZpZ1RvRm9ybVZhbHVlKGUpe3JldHVybnttYXN0ZXI6ZS5tYXN0ZXI/LnNsYXZlcz9lLm1hc3Rlcjp7c2xhdmVzOltdfSxzbGF2ZTplLnNsYXZlP2hhLm1hcFNsYXZlVG9VcGdyYWRlZFZlcnNpb24oZS5zbGF2ZSk6e319fWdldE1hcHBlZFZhbHVlKGUpe3JldHVybnttYXN0ZXI6ZS5tYXN0ZXIsc2xhdmU6ZS5zbGF2ZT9oYS5tYXBTbGF2ZVRvRG93bmdyYWRlZFZlcnNpb24oZS5zbGF2ZSk6e319fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6TG8sZGVwczpudWxsLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6TG8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1tb2RidXMtbGVnYWN5LWJhc2ljLWNvbmZpZyIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+TG8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkxvKSksbXVsdGk6ITB9XSx1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdGFiLWdyb3VwIFtmb3JtR3JvdXBdPSJiYXNpY0Zvcm1Hcm91cCI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZ2VuZXJhbFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkubWFzdGVyLWNvbm5lY3Rpb25zXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDx0Yi1tb2RidXMtbWFzdGVyLXRhYmxlIFtpc0xlZ2FjeV09ImlzTGVnYWN5IiBmb3JtQ29udHJvbE5hbWU9Im1hc3RlciI+PC90Yi1tb2RidXMtbWFzdGVyLXRhYmxlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuc2VydmVyLWNvbmZpZ1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwgdGItZmxleCBjZW50ZXIiPnt7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMtc2VydmVyXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIFtmb3JtQ29udHJvbF09ImVuYWJsZVNsYXZlQ29udHJvbCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5lbmFibGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8dGItbW9kYnVzLXNsYXZlLWNvbmZpZyBmb3JtQ29udHJvbE5hbWU9InNsYXZlIj48L3RiLW1vZGJ1cy1zbGF2ZS1jb25maWc+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHtoZWlnaHQ6MTAwJX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1RlbXBsYXRlT3V0bGV0LHNlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0iLGlucHV0czpbIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IiwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRJbmplY3RvciJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOlNvLHNlbGVjdG9yOiJ0Yi1tb2RidXMtc2xhdmUtY29uZmlnIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3byxzZWxlY3RvcjoidGItbW9kYnVzLW1hc3Rlci10YWJsZSIsaW5wdXRzOlsiaXNMZWdhY3kiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJNb2RidXNMZWdhY3lCYXNpY0NvbmZpZ0NvbXBvbmVudCIsTG8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6TG8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1sZWdhY3ktYmFzaWMtY29uZmlnIixjaGFuZ2VEZXRlY3Rpb246ZC5PblB1c2gscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+TG8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkxvKSksbXVsdGk6ITB9XSxzdGFuZGFsb25lOiEwLGltcG9ydHM6W0gsRCxTbyx3byxrYV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0iYmFzaWNGb3JtR3JvdXAiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09ImdlbmVyYWxUYWJDb250ZW50Ij48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5Lm1hc3Rlci1jb25uZWN0aW9uc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8dGItbW9kYnVzLW1hc3Rlci10YWJsZSBbaXNMZWdhY3ldPSJpc0xlZ2FjeSIgZm9ybUNvbnRyb2xOYW1lPSJtYXN0ZXIiPjwvdGItbW9kYnVzLW1hc3Rlci10YWJsZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnNlcnZlci1jb25maWdcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggY2VudGVyIj57eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLXNlcnZlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBbZm9ybUNvbnRyb2xdPSJlbmFibGVTbGF2ZUNvbnRyb2wiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZW5hYmxlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPHRiLW1vZGJ1cy1zbGF2ZS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzbGF2ZSI+PC90Yi1tb2RidXMtc2xhdmUtY29uZmlnPlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9XG4nXX1dfV19KTtjbGFzcyBGbyBleHRlbmRzIHlhe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm1hcHBpbmdUeXBlcz1mbix0aGlzLmlzTGVnYWN5PSEwfWluaXRCYXNpY0Zvcm1Hcm91cCgpe3JldHVybiB0aGlzLmZiLmdyb3VwKHttYXBwaW5nOltdLHNlcnZlcjpbXX0pfW1hcENvbmZpZ1RvRm9ybVZhbHVlKGUpe3JldHVybntzZXJ2ZXI6ZS5zZXJ2ZXI/eGEubWFwU2VydmVyVG9VcGdyYWRlZFZlcnNpb24oZS5zZXJ2ZXIpOnt9LG1hcHBpbmc6ZS5zZXJ2ZXI/Lm1hcHBpbmc/eGEubWFwTWFwcGluZ1RvVXBncmFkZWRWZXJzaW9uKGUuc2VydmVyLm1hcHBpbmcpOltdfX1nZXRNYXBwZWRWYWx1ZShlKXtyZXR1cm57c2VydmVyOnhhLm1hcFNlcnZlclRvRG93bmdyYWRlZFZlcnNpb24oZSl9fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Rm8sZGVwczpudWxsLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6Rm8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1vcGMtdWEtbGVnYWN5LWJhc2ljLWNvbmZpZyIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+Rm8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkZvKSksbXVsdGk6ITB9XSx1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdGFiLWdyb3VwIFtmb3JtR3JvdXBdPSJiYXNpY0Zvcm1Hcm91cCI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZ2VuZXJhbFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuc2VydmVyXCcgfCB0cmFuc2xhdGUgfX0qIj5cbiAgICA8dGItb3BjLXNlcnZlci1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZXJ2ZXIiIFtoaWRlTmV3RmllbGRzXT0iaXNMZWdhY3kiPjwvdGItb3BjLXNlcnZlci1jb25maWc+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5kYXRhLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AgdGItZmxleCBmaWxsLWhlaWdodCI+XG4gICAgICA8dGItbWFwcGluZy10YWJsZSBmb3JtQ29udHJvbE5hbWU9Im1hcHBpbmciIFtyZXF1aXJlZF09InRydWUiIFttYXBwaW5nVHlwZV09Im1hcHBpbmdUeXBlcy5PUENVQSI+PC90Yi1tYXBwaW5nLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLXRhYi1ncm91cCw6aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWJvZHktd3JhcHBlcntoZWlnaHQ6MTAwJX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1RlbXBsYXRlT3V0bGV0LHNlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0iLGlucHV0czpbIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IiwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRJbmplY3RvciJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6cm8sc2VsZWN0b3I6InRiLW1hcHBpbmctdGFibGUiLGlucHV0czpbInJlcXVpcmVkIiwibWFwcGluZ1R5cGUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpjbyxzZWxlY3RvcjoidGItb3BjLXNlcnZlci1jb25maWciLGlucHV0czpbImhpZGVOZXdGaWVsZHMiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX10Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkZvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1vcGMtdWEtbGVnYWN5LWJhc2ljLWNvbmZpZyIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PkZvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5GbykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsbG8scm8sY29dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10YWItZ3JvdXAgW2Zvcm1Hcm91cF09ImJhc2ljRm9ybUdyb3VwIj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5nZW5lcmFsXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJnZW5lcmFsVGFiQ29udGVudCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5zZXJ2ZXJcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDx0Yi1vcGMtc2VydmVyLWNvbmZpZyBmb3JtQ29udHJvbE5hbWU9InNlcnZlciIgW2hpZGVOZXdGaWVsZHNdPSJpc0xlZ2FjeSI+PC90Yi1vcGMtc2VydmVyLWNvbmZpZz5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmRhdGEtbWFwcGluZ1wnIHwgdHJhbnNsYXRlIH19KiI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCB0Yi1mbGV4IGZpbGwtaGVpZ2h0Ij5cbiAgICAgIDx0Yi1tYXBwaW5nLXRhYmxlIGZvcm1Db250cm9sTmFtZT0ibWFwcGluZyIgW3JlcXVpcmVkXT0idHJ1ZSIgW21hcHBpbmdUeXBlXT0ibWFwcGluZ1R5cGVzLk9QQ1VBIj48L3RiLW1hcHBpbmctdGFibGU+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHtoZWlnaHQ6MTAwJX06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWdyb3VwLDpob3N0IDo6bmctZGVlcCAubWF0LW1kYy10YWItYm9keS13cmFwcGVye2hlaWdodDoxMDAlfVxuJ119XX1dfSk7Y2xhc3MgSW8gZXh0ZW5kcyB5YXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5NYXBwaW5nVHlwZT1mbn1pbml0QmFzaWNGb3JtR3JvdXAoKXtyZXR1cm4gdGhpcy5mYi5ncm91cCh7bWFwcGluZzpbXSxyZXF1ZXN0c01hcHBpbmc6W10sYnJva2VyOltdLHdvcmtlcnM6W119KX1nZXRSZXF1ZXN0RGF0YUFycmF5KGUpe2NvbnN0IHQ9W107cmV0dXJuIGxlKGUpJiZPYmplY3Qua2V5cyhlKS5mb3JFYWNoKChuPT57Zm9yKGNvbnN0IGEgb2YgZVtuXSl0LnB1c2goe3JlcXVlc3RUeXBlOm4scmVxdWVzdFZhbHVlOmF9KX0pKSx0fWdldFJlcXVlc3REYXRhT2JqZWN0KGUpe3JldHVybiBlLnJlZHVjZSgoKGUse3JlcXVlc3RUeXBlOnQscmVxdWVzdFZhbHVlOm59KT0+KGVbdF0ucHVzaChuKSxlKSkse2Nvbm5lY3RSZXF1ZXN0czpbXSxkaXNjb25uZWN0UmVxdWVzdHM6W10sYXR0cmlidXRlUmVxdWVzdHM6W10sYXR0cmlidXRlVXBkYXRlczpbXSxzZXJ2ZXJTaWRlUnBjOltdfSl9Z2V0QnJva2VyTWFwcGVkVmFsdWUoZSx0KXtyZXR1cm57Li4uZSxtYXhOdW1iZXJPZldvcmtlcnM6dC5tYXhOdW1iZXJPZldvcmtlcnM/PzEwMCxtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyOnQubWF4TWVzc2FnZU51bWJlclBlcldvcmtlcj8/MTB9fXdyaXRlVmFsdWUoZSl7dGhpcy5iYXNpY0Zvcm1Hcm91cC5zZXRWYWx1ZSh0aGlzLm1hcENvbmZpZ1RvRm9ybVZhbHVlKGUpLHtlbWl0RXZlbnQ6ITF9KX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOklvLGRlcHM6bnVsbCx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5EaXJlY3RpdmV9KX1zdGF0aWN7dGhpcy7JtWRpcj10Lsm1ybVuZ0RlY2xhcmVEaXJlY3RpdmUoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOklvLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0fSl9fXQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6SW8sZGVjb3JhdG9yczpbe3R5cGU6c31dfSk7Y2xhc3MgQW8gZXh0ZW5kcyBJb3ttYXBDb25maWdUb0Zvcm1WYWx1ZShlKXtjb25zdHticm9rZXI6dCxtYXBwaW5nOm49W10sY29ubmVjdFJlcXVlc3RzOmE9W10sZGlzY29ubmVjdFJlcXVlc3RzOm89W10sYXR0cmlidXRlUmVxdWVzdHM6aT1bXSxhdHRyaWJ1dGVVcGRhdGVzOnI9W10sc2VydmVyU2lkZVJwYzpzPVtdfT1lLGw9bWEubWFwUmVxdWVzdHNUb1VwZ3JhZGVkVmVyc2lvbih7Y29ubmVjdFJlcXVlc3RzOmEsZGlzY29ubmVjdFJlcXVlc3RzOm8sYXR0cmlidXRlUmVxdWVzdHM6aSxhdHRyaWJ1dGVVcGRhdGVzOnIsc2VydmVyU2lkZVJwYzpzfSk7cmV0dXJue3dvcmtlcnM6dCYmKHQubWF4TnVtYmVyT2ZXb3JrZXJzfHx0Lm1heE1lc3NhZ2VOdW1iZXJQZXJXb3JrZXIpP3ttYXhOdW1iZXJPZldvcmtlcnM6dC5tYXhOdW1iZXJPZldvcmtlcnMsbWF4TWVzc2FnZU51bWJlclBlcldvcmtlcjp0Lm1heE1lc3NhZ2VOdW1iZXJQZXJXb3JrZXJ9Ont9LG1hcHBpbmc6bWEubWFwTWFwcGluZ1RvVXBncmFkZWRWZXJzaW9uKG4pfHxbXSxicm9rZXI6dHx8e30scmVxdWVzdHNNYXBwaW5nOnRoaXMuZ2V0UmVxdWVzdERhdGFBcnJheShsKX19Z2V0TWFwcGVkVmFsdWUoZSl7Y29uc3R7YnJva2VyOnQsd29ya2VyczpuLG1hcHBpbmc6YSxyZXF1ZXN0c01hcHBpbmc6b309ZXx8e30saT1vPy5sZW5ndGg/dGhpcy5nZXRSZXF1ZXN0RGF0YU9iamVjdChvKTp7fTtyZXR1cm57YnJva2VyOnRoaXMuZ2V0QnJva2VyTWFwcGVkVmFsdWUodCxuKSxtYXBwaW5nOm1hLm1hcE1hcHBpbmdUb0Rvd25ncmFkZWRWZXJzaW9uKGEpLC4uLm1hLm1hcFJlcXVlc3RzVG9Eb3duZ3JhZGVkVmVyc2lvbihpKX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpBbyxkZXBzOm51bGwsdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpBbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1xdHQtbGVnYWN5LWJhc2ljLWNvbmZpZyIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+QW8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkFvKSksbXVsdGk6ITB9XSx1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdGFiLWdyb3VwIFtmb3JtR3JvdXBdPSJiYXNpY0Zvcm1Hcm91cCI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZ2VuZXJhbFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuYnJva2VyLmNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDx0Yi1icm9rZXItY29uZmlnLWNvbnRyb2wgZm9ybUNvbnRyb2xOYW1lPSJicm9rZXIiPjwvdGItYnJva2VyLWNvbmZpZy1jb250cm9sPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZGF0YS1tYXBwaW5nXCcgfCB0cmFuc2xhdGUgfX0qIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIHRiLWZsZXggZmlsbC1oZWlnaHQiPlxuICAgICAgPHRiLW1hcHBpbmctdGFibGUgZm9ybUNvbnRyb2xOYW1lPSJtYXBwaW5nIiBbcmVxdWlyZWRdPSJ0cnVlIiBbbWFwcGluZ1R5cGVdPSJNYXBwaW5nVHlwZS5EQVRBIj48L3RiLW1hcHBpbmctdGFibGU+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5yZXF1ZXN0cy1tYXBwaW5nXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AgdGItZmxleCBmaWxsLWhlaWdodCI+XG4gICAgICA8dGItbWFwcGluZy10YWJsZSBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RzTWFwcGluZyIgW21hcHBpbmdUeXBlXT0iTWFwcGluZ1R5cGUuUkVRVUVTVFMiPjwvdGItbWFwcGluZy10YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LndvcmtlcnMtc2V0dGluZ3NcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgICA8dGItd29ya2Vycy1jb25maWctY29udHJvbCBmb3JtQ29udHJvbE5hbWU9IndvcmtlcnMiPjwvdGItd29ya2Vycy1jb25maWctY29udHJvbD5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtdGFiPlxuPC9tYXQtdGFiLWdyb3VwPlxuXG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLXRhYi1ncm91cCw6aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWJvZHktd3JhcHBlcntoZWlnaHQ6MTAwJX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1RlbXBsYXRlT3V0bGV0LHNlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0iLGlucHV0czpbIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IiwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRJbmplY3RvciJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dW8sc2VsZWN0b3I6InRiLXdvcmtlcnMtY29uZmlnLWNvbnRyb2wifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOm1vLHNlbGVjdG9yOiJ0Yi1icm9rZXItY29uZmlnLWNvbnRyb2wifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnJvLHNlbGVjdG9yOiJ0Yi1tYXBwaW5nLXRhYmxlIixpbnB1dHM6WyJyZXF1aXJlZCIsIm1hcHBpbmdUeXBlIl19XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19dC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpBbyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItbXF0dC1sZWdhY3ktYmFzaWMtY29uZmlnIixjaGFuZ2VEZXRlY3Rpb246ZC5PblB1c2gscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+QW8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkFvKSksbXVsdGk6ITB9XSxzdGFuZGFsb25lOiEwLGltcG9ydHM6W0gsRCxsbyx1byxtbyxyb10sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0iYmFzaWNGb3JtR3JvdXAiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09ImdlbmVyYWxUYWJDb250ZW50Ij48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmJyb2tlci5jb25uZWN0aW9uXCcgfCB0cmFuc2xhdGUgfX0qIj5cbiAgICA8dGItYnJva2VyLWNvbmZpZy1jb250cm9sIGZvcm1Db250cm9sTmFtZT0iYnJva2VyIj48L3RiLWJyb2tlci1jb25maWctY29udHJvbD5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmRhdGEtbWFwcGluZ1wnIHwgdHJhbnNsYXRlIH19KiI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCB0Yi1mbGV4IGZpbGwtaGVpZ2h0Ij5cbiAgICAgIDx0Yi1tYXBwaW5nLXRhYmxlIGZvcm1Db250cm9sTmFtZT0ibWFwcGluZyIgW3JlcXVpcmVkXT0idHJ1ZSIgW21hcHBpbmdUeXBlXT0iTWFwcGluZ1R5cGUuREFUQSI+PC90Yi1tYXBwaW5nLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkucmVxdWVzdHMtbWFwcGluZ1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIHRiLWZsZXggZmlsbC1oZWlnaHQiPlxuICAgICAgPHRiLW1hcHBpbmctdGFibGUgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0c01hcHBpbmciIFttYXBwaW5nVHlwZV09Ik1hcHBpbmdUeXBlLlJFUVVFU1RTIj48L3RiLW1hcHBpbmctdGFibGU+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS53b3JrZXJzLXNldHRpbmdzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciPlxuICAgICAgPHRiLXdvcmtlcnMtY29uZmlnLWNvbnRyb2wgZm9ybUNvbnRyb2xOYW1lPSJ3b3JrZXJzIj48L3RiLXdvcmtlcnMtY29uZmlnLWNvbnRyb2w+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cblxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e2hlaWdodDoxMDAlfTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy10YWItZ3JvdXAsOmhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLXRhYi1ib2R5LXdyYXBwZXJ7aGVpZ2h0OjEwMCV9XG4nXX1dfV19KTtjbGFzcyBObyBleHRlbmRzIElve21hcENvbmZpZ1RvRm9ybVZhbHVlKGUpe2NvbnN0e2Jyb2tlcjp0LG1hcHBpbmc6bj1bXSxyZXF1ZXN0c01hcHBpbmc6YX09ZTtyZXR1cm57d29ya2Vyczp0JiYodC5tYXhOdW1iZXJPZldvcmtlcnN8fHQubWF4TWVzc2FnZU51bWJlclBlcldvcmtlcik/e21heE51bWJlck9mV29ya2Vyczp0Lm1heE51bWJlck9mV29ya2VycyxtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyOnQubWF4TWVzc2FnZU51bWJlclBlcldvcmtlcn06e30sbWFwcGluZzpuPz9bXSxicm9rZXI6dD8/e30scmVxdWVzdHNNYXBwaW5nOnRoaXMuZ2V0UmVxdWVzdERhdGFBcnJheShhKX19Z2V0TWFwcGVkVmFsdWUoZSl7Y29uc3R7YnJva2VyOnQsd29ya2VyczpuLG1hcHBpbmc6YSxyZXF1ZXN0c01hcHBpbmc6b309ZXx8e307cmV0dXJue2Jyb2tlcjp0aGlzLmdldEJyb2tlck1hcHBlZFZhbHVlKHQsbiksbWFwcGluZzphLHJlcXVlc3RzTWFwcGluZzpvPy5sZW5ndGg/dGhpcy5nZXRSZXF1ZXN0RGF0YU9iamVjdChvKTp7fX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpObyxkZXBzOm51bGwsdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpObyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1xdHQtYmFzaWMtY29uZmlnIixwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5ObykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+Tm8pKSxtdWx0aTohMH1dLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10YWItZ3JvdXAgW2Zvcm1Hcm91cF09ImJhc2ljRm9ybUdyb3VwIj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5nZW5lcmFsXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJnZW5lcmFsVGFiQ29udGVudCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5icm9rZXIuY29ubmVjdGlvblwnIHwgdHJhbnNsYXRlIH19KiI+XG4gICAgPHRiLWJyb2tlci1jb25maWctY29udHJvbCBmb3JtQ29udHJvbE5hbWU9ImJyb2tlciI+PC90Yi1icm9rZXItY29uZmlnLWNvbnRyb2w+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5kYXRhLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AgdGItZmxleCBmaWxsLWhlaWdodCI+XG4gICAgICA8dGItbWFwcGluZy10YWJsZSBmb3JtQ29udHJvbE5hbWU9Im1hcHBpbmciIFtyZXF1aXJlZF09InRydWUiIFttYXBwaW5nVHlwZV09Ik1hcHBpbmdUeXBlLkRBVEEiPjwvdGItbWFwcGluZy10YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnJlcXVlc3RzLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCB0Yi1mbGV4IGZpbGwtaGVpZ2h0Ij5cbiAgICAgIDx0Yi1tYXBwaW5nLXRhYmxlIGZvcm1Db250cm9sTmFtZT0icmVxdWVzdHNNYXBwaW5nIiBbbWFwcGluZ1R5cGVdPSJNYXBwaW5nVHlwZS5SRVFVRVNUUyI+PC90Yi1tYXBwaW5nLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkud29ya2Vycy1zZXR0aW5nc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgIDx0Yi13b3JrZXJzLWNvbmZpZy1jb250cm9sIGZvcm1Db250cm9sTmFtZT0id29ya2VycyI+PC90Yi13b3JrZXJzLWNvbmZpZy1jb250cm9sPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHtoZWlnaHQ6MTAwJX06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWdyb3VwLDpob3N0IDo6bmctZGVlcCAubWF0LW1kYy10YWItYm9keS13cmFwcGVye2hlaWdodDoxMDAlfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nVGVtcGxhdGVPdXRsZXQsc2VsZWN0b3I6IltuZ1RlbXBsYXRlT3V0bGV0XSIsaW5wdXRzOlsibmdUZW1wbGF0ZU91dGxldENvbnRleHQiLCJuZ1RlbXBsYXRlT3V0bGV0IiwibmdUZW1wbGF0ZU91dGxldEluamVjdG9yIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOlcuTWF0VGFiLHNlbGVjdG9yOiJtYXQtdGFiIixpbnB1dHM6WyJkaXNhYmxlZCIsImxhYmVsIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImxhYmVsQ2xhc3MiLCJib2R5Q2xhc3MiXSxleHBvcnRBczpbIm1hdFRhYiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOlcuTWF0VGFiR3JvdXAsc2VsZWN0b3I6Im1hdC10YWItZ3JvdXAiLGlucHV0czpbImNvbG9yIiwiZml0SW5rQmFyVG9Db250ZW50IiwibWF0LXN0cmV0Y2gtdGFicyIsImR5bmFtaWNIZWlnaHQiLCJzZWxlY3RlZEluZGV4IiwiaGVhZGVyUG9zaXRpb24iLCJhbmltYXRpb25EdXJhdGlvbiIsImNvbnRlbnRUYWJJbmRleCIsImRpc2FibGVQYWdpbmF0aW9uIiwiZGlzYWJsZVJpcHBsZSIsInByZXNlcnZlQ29udGVudCIsImJhY2tncm91bmRDb2xvciIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiXSxvdXRwdXRzOlsic2VsZWN0ZWRJbmRleENoYW5nZSIsImZvY3VzQ2hhbmdlIiwiYW5pbWF0aW9uRG9uZSIsInNlbGVjdGVkVGFiQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRUYWJHcm91cCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5SZXF1aXJlZFZhbGlkYXRvcixzZWxlY3RvcjoiOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbE5hbWVdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bbmdNb2RlbF0iLGlucHV0czpbInJlcXVpcmVkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1byxzZWxlY3RvcjoidGItd29ya2Vycy1jb25maWctY29udHJvbCJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6bW8sc2VsZWN0b3I6InRiLWJyb2tlci1jb25maWctY29udHJvbCJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6cm8sc2VsZWN0b3I6InRiLW1hcHBpbmctdGFibGUiLGlucHV0czpbInJlcXVpcmVkIiwibWFwcGluZ1R5cGUiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX10Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOk5vLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1tcXR0LWJhc2ljLWNvbmZpZyIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9Pk5vKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5ObykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsbG8sdW8sbW8scm9dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10YWItZ3JvdXAgW2Zvcm1Hcm91cF09ImJhc2ljRm9ybUdyb3VwIj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5nZW5lcmFsXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJnZW5lcmFsVGFiQ29udGVudCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5icm9rZXIuY29ubmVjdGlvblwnIHwgdHJhbnNsYXRlIH19KiI+XG4gICAgPHRiLWJyb2tlci1jb25maWctY29udHJvbCBmb3JtQ29udHJvbE5hbWU9ImJyb2tlciI+PC90Yi1icm9rZXItY29uZmlnLWNvbnRyb2w+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5kYXRhLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AgdGItZmxleCBmaWxsLWhlaWdodCI+XG4gICAgICA8dGItbWFwcGluZy10YWJsZSBmb3JtQ29udHJvbE5hbWU9Im1hcHBpbmciIFtyZXF1aXJlZF09InRydWUiIFttYXBwaW5nVHlwZV09Ik1hcHBpbmdUeXBlLkRBVEEiPjwvdGItbWFwcGluZy10YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnJlcXVlc3RzLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCB0Yi1mbGV4IGZpbGwtaGVpZ2h0Ij5cbiAgICAgIDx0Yi1tYXBwaW5nLXRhYmxlIGZvcm1Db250cm9sTmFtZT0icmVxdWVzdHNNYXBwaW5nIiBbbWFwcGluZ1R5cGVdPSJNYXBwaW5nVHlwZS5SRVFVRVNUUyI+PC90Yi1tYXBwaW5nLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkud29ya2Vycy1zZXR0aW5nc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgIDx0Yi13b3JrZXJzLWNvbmZpZy1jb250cm9sIGZvcm1Db250cm9sTmFtZT0id29ya2VycyI+PC90Yi13b3JrZXJzLWNvbmZpZy1jb250cm9sPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHtoZWlnaHQ6MTAwJX06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWdyb3VwLDpob3N0IDo6bmctZGVlcCAubWF0LW1kYy10YWItYm9keS13cmFwcGVye2hlaWdodDoxMDAlfVxuJ119XX1dfSk7Y2xhc3MgTW97aXNFcnJvclN0YXRlKGUpe3JldHVybiBlJiZlLmludmFsaWR9fWUoIkZvcmNlRXJyb3JTdGF0ZU1hdGNoZXIiLE1vKTtjbGFzcyBFbyBleHRlbmRzIE97Y29uc3RydWN0b3IoZSx0LG4sYSxvLGkscixzLGwsYyxwKXtzdXBlcihlKSx0aGlzLnN0b3JlPWUsdGhpcy5mYj10LHRoaXMudHJhbnNsYXRlPW4sdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlPWEsdGhpcy5kaWFsb2dTZXJ2aWNlPW8sdGhpcy5kaWFsb2c9aSx0aGlzLnRlbGVtZXRyeVdzU2VydmljZT1yLHRoaXMuem9uZT1zLHRoaXMudXRpbHM9bCx0aGlzLmlzTGF0ZXN0VmVyc2lvbkNvbmZpZz1jLHRoaXMuY2Q9cCx0aGlzLkNvbm5lY3RvclR5cGU9X3QsdGhpcy5hbGxvd0Jhc2ljQ29uZmlnPW5ldyBTZXQoW190Lk1RVFQsX3QuT1BDVUEsX3QuTU9EQlVTXSksdGhpcy5nYXRld2F5TG9nTGV2ZWw9T2JqZWN0LnZhbHVlcyhNdCksdGhpcy5kaXNwbGF5ZWRDb2x1bW5zPVsiZW5hYmxlZCIsImtleSIsInR5cGUiLCJzeW5jU3RhdHVzIiwiZXJyb3JzIiwiYWN0aW9ucyJdLHRoaXMuR2F0ZXdheUNvbm5lY3RvclR5cGVzVHJhbnNsYXRlc01hcD1IdCx0aGlzLkNvbm5lY3RvckNvbmZpZ3VyYXRpb25Nb2Rlcz1vbix0aGlzLlJlcG9ydFN0cmF0ZWd5RGVmYXVsdFZhbHVlPWxuLHRoaXMubW9kZT10aGlzLkNvbm5lY3RvckNvbmZpZ3VyYXRpb25Nb2Rlcy5CQVNJQyx0aGlzLmJhc2ljQ29uZmlnSW5pdFN1YmplY3Q9bmV3IFNlLHRoaXMuYWN0aXZlRGF0YT1bXSx0aGlzLmluYWN0aXZlRGF0YT1bXSx0aGlzLnNoYXJlZEF0dHJpYnV0ZURhdGE9W10sdGhpcy5zdWJzY3JpcHRpb25PcHRpb25zPXtjYWxsYmFja3M6e29uRGF0YVVwZGF0ZWQ6KCk9PnRoaXMuY3R4Lm5nWm9uZS5ydW4oKCgpPT57dGhpcy5vbkVycm9yc1VwZGF0ZWQoKX0pKSxvbkRhdGFVcGRhdGVFcnJvcjooZSx0KT0+dGhpcy5jdHgubmdab25lLnJ1bigoKCk9Pnt0aGlzLm9uRGF0YVVwZGF0ZUVycm9yKHQpfSkpfX0sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5hdHRyaWJ1dGVVcGRhdGVTdWJqZWN0PW5ldyBTZSx0aGlzLmluaXREYXRhU291cmNlcygpLHRoaXMuaW5pdENvbm5lY3RvckZvcm0oKSx0aGlzLm9ic2VydmVBdHRyaWJ1dGVDaGFuZ2UoKX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLmRhdGFTb3VyY2Uuc29ydD10aGlzLnNvcnQsdGhpcy5kYXRhU291cmNlLnNvcnRpbmdEYXRhQWNjZXNzb3I9dGhpcy5nZXRTb3J0aW5nRGF0YUFjY2Vzc29yKCksdGhpcy5jdHguJHNjb3BlLmdhdGV3YXlDb25uZWN0b3JzPXRoaXMsdGhpcy5sb2FkQ29ubmVjdG9ycygpLHRoaXMubG9hZEdhdGV3YXlTdGF0ZSgpLHRoaXMub2JzZXJ2ZU1vZGVDaGFuZ2UoKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKSxzdXBlci5uZ09uRGVzdHJveSgpfW9uU2F2ZUNvbm5lY3Rvcigpe3RoaXMuc2F2ZUNvbm5lY3Rvcih0aGlzLmdldFVwZGF0ZWRDb25uZWN0b3JEYXRhKHRoaXMuY29ubmVjdG9yRm9ybS52YWx1ZSksITEpfXNhdmVDb25uZWN0b3IoZSx0PSEwKXtjb25zdCBuPXR8fHRoaXMuYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyh0aGlzLmluaXRpYWxDb25uZWN0b3IubmFtZSk/TC5TSEFSRURfU0NPUEU6TC5TRVJWRVJfU0NPUEU7QWUodGhpcy5nZXRFbnRpdHlBdHRyaWJ1dGVUYXNrcyhlLG4pKS5waXBlKE9lKDEpKS5zdWJzY3JpYmUoKG49Pnt0aGlzLnNob3dUb2FzdCh0P3RoaXMudHJhbnNsYXRlLmluc3RhbnQoImdhdGV3YXkuY29ubmVjdG9yLWNyZWF0ZWQiKTp0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LmNvbm5lY3Rvci11cGRhdGVkIikpLHRoaXMuaW5pdGlhbENvbm5lY3Rvcj1lLHRoaXMudXBkYXRlRGF0YSghMCksdGhpcy5jb25uZWN0b3JGb3JtLm1hcmtBc1ByaXN0aW5lKCl9KSl9Z2V0RW50aXR5QXR0cmlidXRlVGFza3MoZSx0KXtjb25zdCBuPVtdLGE9W3trZXk6ZS5uYW1lLHZhbHVlOmV9XSxvPVtdLGk9IXRoaXMuYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyhlLm5hbWUpJiZ0PT09TC5TSEFSRURfU0NPUEV8fCF0aGlzLmluYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyhlLm5hbWUpJiZ0PT09TC5TRVJWRVJfU0NPUEUscj10aGlzLmluaXRpYWxDb25uZWN0b3ImJnRoaXMuaW5pdGlhbENvbm5lY3Rvci5uYW1lIT09ZS5uYW1lO3JldHVybiByJiYoby5wdXNoKHtrZXk6dGhpcy5pbml0aWFsQ29ubmVjdG9yLm5hbWV9KSx0aGlzLnJlbW92ZUNvbm5lY3RvckZyb21MaXN0KHRoaXMuaW5pdGlhbENvbm5lY3Rvci5uYW1lLCEwKSx0aGlzLnJlbW92ZUNvbm5lY3RvckZyb21MaXN0KHRoaXMuaW5pdGlhbENvbm5lY3Rvci5uYW1lLCExKSksaSYmKHQ9PT1MLlNIQVJFRF9TQ09QRT90aGlzLmFjdGl2ZUNvbm5lY3RvcnMucHVzaChlLm5hbWUpOnRoaXMuaW5hY3RpdmVDb25uZWN0b3JzLnB1c2goZS5uYW1lKSksKHJ8fGkpJiZuLnB1c2godGhpcy5nZXRTYXZlRW50aXR5QXR0cmlidXRlc1Rhc2sodCkpLG4ucHVzaCh0aGlzLmF0dHJpYnV0ZVNlcnZpY2Uuc2F2ZUVudGl0eUF0dHJpYnV0ZXModGhpcy5kZXZpY2UsdCxhKSksby5sZW5ndGgmJm4ucHVzaCh0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZGVsZXRlRW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSx0LG8pKSxufWdldFNhdmVFbnRpdHlBdHRyaWJ1dGVzVGFzayhlKXtjb25zdCB0PWU9PT1MLlNIQVJFRF9TQ09QRT8iYWN0aXZlX2Nvbm5lY3RvcnMiOiJpbmFjdGl2ZV9jb25uZWN0b3JzIixuPWU9PT1MLlNIQVJFRF9TQ09QRT90aGlzLmFjdGl2ZUNvbm5lY3RvcnM6dGhpcy5pbmFjdGl2ZUNvbm5lY3RvcnM7cmV0dXJuIHRoaXMuYXR0cmlidXRlU2VydmljZS5zYXZlRW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSxlLFt7a2V5OnQsdmFsdWU6bn1dKX1yZW1vdmVDb25uZWN0b3JGcm9tTGlzdChlLHQpe2NvbnN0IG49dD90aGlzLmFjdGl2ZUNvbm5lY3RvcnM6dGhpcy5pbmFjdGl2ZUNvbm5lY3RvcnMsYT1uLmluZGV4T2YoZSk7LTEhPT1hJiZuLnNwbGljZShhLDEpfWdldFVwZGF0ZWRDb25uZWN0b3JEYXRhKGUpe2NvbnN0IHQ9ey4uLmV9O3JldHVybiB0LmNvbmZpZ3VyYXRpb249YCR7Y2UodC5uYW1lKX0uanNvbmAsZGVsZXRlIHQuYmFzaWNDb25maWcsdC50eXBlIT09X3QuR1JQQyYmZGVsZXRlIHQua2V5LHQudHlwZSE9PV90LkNVU1RPTSYmZGVsZXRlIHQuY2xhc3MsdC50eXBlPT09X3QuTU9EQlVTJiZ0aGlzLmlzTGF0ZXN0VmVyc2lvbkNvbmZpZy50cmFuc2Zvcm0odC5jb25maWdWZXJzaW9uKSYmKHQucmVwb3J0U3RyYXRlZ3l8fCh0LnJlcG9ydFN0cmF0ZWd5PXt0eXBlOnNuLk9uUmVwb3J0UGVyaW9kLHJlcG9ydFBlcmlvZDpsbi5Db25uZWN0b3J9LGRlbGV0ZSB0LnNlbmREYXRhT25seU9uQ2hhbmdlKSksdGhpcy5nYXRld2F5VmVyc2lvbiYmIXQuY29uZmlnVmVyc2lvbiYmKHQuY29uZmlnVmVyc2lvbj10aGlzLmdhdGV3YXlWZXJzaW9uKSx0LnRzPURhdGUubm93KCksdH11cGRhdGVEYXRhKGU9ITEpe3RoaXMucGFnZUxpbmsuc29ydE9yZGVyLnByb3BlcnR5PXRoaXMuc29ydC5hY3RpdmUsdGhpcy5wYWdlTGluay5zb3J0T3JkZXIuZGlyZWN0aW9uPXdbdGhpcy5zb3J0LmRpcmVjdGlvbi50b1VwcGVyQ2FzZSgpXSx0aGlzLmF0dHJpYnV0ZURhdGFTb3VyY2UubG9hZEF0dHJpYnV0ZXModGhpcy5kZXZpY2UsTC5DTElFTlRfU0NPUEUsdGhpcy5wYWdlTGluayxlKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLmFjdGl2ZURhdGE9ZS5kYXRhLmZpbHRlcigoZT0+dGhpcy5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKGUua2V5KSkpLHRoaXMuY29tYmluZURhdGEoKSx0aGlzLmdlbmVyYXRlU3Vic2NyaXB0aW9uKCksdGhpcy5zZXRDbGllbnREYXRhKGUpfSkpLHRoaXMuaW5hY3RpdmVDb25uZWN0b3JzRGF0YVNvdXJjZS5sb2FkQXR0cmlidXRlcyh0aGlzLmRldmljZSxMLlNIQVJFRF9TQ09QRSx0aGlzLnBhZ2VMaW5rLGUpLnN1YnNjcmliZSgoZT0+e3RoaXMuc2hhcmVkQXR0cmlidXRlRGF0YT1lLmRhdGEuZmlsdGVyKChlPT50aGlzLmFjdGl2ZUNvbm5lY3RvcnMuaW5jbHVkZXMoZS5rZXkpKSksdGhpcy5jb21iaW5lRGF0YSgpfSkpLHRoaXMuc2VydmVyRGF0YVNvdXJjZS5sb2FkQXR0cmlidXRlcyh0aGlzLmRldmljZSxMLlNFUlZFUl9TQ09QRSx0aGlzLnBhZ2VMaW5rLGUpLnN1YnNjcmliZSgoZT0+e3RoaXMuaW5hY3RpdmVEYXRhPWUuZGF0YS5maWx0ZXIoKGU9PnRoaXMuaW5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKGUua2V5KSkpLHRoaXMuY29tYmluZURhdGEoKX0pKX1pc0Nvbm5lY3RvclN5bmNlZChlKXtjb25zdCB0PWUudmFsdWU7aWYoIXQudHN8fGUuc2tpcFN5bmN8fCF0aGlzLmlzR2F0ZXdheUFjdGl2ZSlyZXR1cm4hMTtpZigtMT09PXRoaXMuYWN0aXZlRGF0YS5maW5kSW5kZXgoKGU9Pigic3RyaW5nIj09dHlwZW9mIGUudmFsdWU/SlNPTi5wYXJzZShlLnZhbHVlKTplLnZhbHVlKS5uYW1lPT09dC5uYW1lKSkpcmV0dXJuITE7cmV0dXJuLTEhPT10aGlzLnNoYXJlZEF0dHJpYnV0ZURhdGEuZmluZEluZGV4KChlPT57Y29uc3Qgbj1lLnZhbHVlLGE9bi5uYW1lPT09dC5uYW1lLG89ZWUobi5jb25maWd1cmF0aW9uSnNvbix7fSkmJmEsaT10aGlzLmhhc1NhbWVDb25maWcobi5jb25maWd1cmF0aW9uSnNvbix0LmNvbmZpZ3VyYXRpb25Kc29uKSxyPW4udHMmJm4udHM8PXQudHM7cmV0dXJuIGEmJnImJihpfHxvKX0pKX1oYXNTYW1lQ29uZmlnKGUsdCl7Y29uc3R7bmFtZTpuLGlkOmEsZW5hYmxlUmVtb3RlTG9nZ2luZzpvLGxvZ0xldmVsOmkscmVwb3J0U3RyYXRlZ3k6cixjb25maWdWZXJzaW9uOnMsLi4ubH09ZSx7bmFtZTpjLGlkOnAsZW5hYmxlUmVtb3RlTG9nZ2luZzptLGxvZ0xldmVsOmQscmVwb3J0U3RyYXRlZ3k6dSxjb25maWdWZXJzaW9uOmcsLi4uZn09dDtyZXR1cm4gZWUobCxmKX1jb21iaW5lRGF0YSgpe2NvbnN0IGU9Wy4uLnRoaXMuYWN0aXZlRGF0YSwuLi50aGlzLmluYWN0aXZlRGF0YSwuLi50aGlzLnNoYXJlZEF0dHJpYnV0ZURhdGFdLnJlZHVjZSgoKGUsdCk9Pntjb25zdCBuPWUuZmluZEluZGV4KChlPT5lLmtleT09PXQua2V5KSk7cmV0dXJuLTE9PT1uP2UucHVzaCh0KTp0Lmxhc3RVcGRhdGVUcz5lW25dLmxhc3RVcGRhdGVUcyYmIXRoaXMuaXNDb25uZWN0b3JTeW5jZWQoZVtuXSkmJihlW25dPXsuLi50LHNraXBTeW5jOiEwfSksZX0pLFtdKTt0aGlzLmRhdGFTb3VyY2UuZGF0YT1lLm1hcCgoZT0+KHsuLi5lLHZhbHVlOiJzdHJpbmciPT10eXBlb2YgZS52YWx1ZT9KU09OLnBhcnNlKGUudmFsdWUpOmUudmFsdWV9KSkpfWNsZWFyT3V0Q29ubmVjdG9yRm9ybSgpe3RoaXMuaW5pdGlhbENvbm5lY3Rvcj1udWxsLHRoaXMuY29ubmVjdG9yRm9ybS5zZXRWYWx1ZSh7bW9kZTpvbi5CQVNJQyxuYW1lOiIiLHR5cGU6X3QuTVFUVCxzZW5kRGF0YU9ubHlPbkNoYW5nZTohMSxlbmFibGVSZW1vdGVMb2dnaW5nOiExLGxvZ0xldmVsOk10LklORk8sa2V5OiJhdXRvIixjbGFzczoiIixjb25maWd1cmF0aW9uOiIiLGNvbmZpZ3VyYXRpb25Kc29uOnt9LGJhc2ljQ29uZmlnOnt9LGNvbmZpZ1ZlcnNpb246IiIscmVwb3J0U3RyYXRlZ3k6W3t2YWx1ZTp7fSxkaXNhYmxlZDohMH1dfSx7ZW1pdEV2ZW50OiExfSksdGhpcy5jb25uZWN0b3JGb3JtLm1hcmtBc1ByaXN0aW5lKCl9c2VsZWN0Q29ubmVjdG9yKGUsdCl7ZSYmZS5zdG9wUHJvcGFnYXRpb24oKTtjb25zdCBuPXQudmFsdWU7bj8ubmFtZSE9PXRoaXMuaW5pdGlhbENvbm5lY3Rvcj8ubmFtZSYmdGhpcy5jb25maXJtQ29ubmVjdG9yQ2hhbmdlKCkuc3Vic2NyaWJlKChlPT57ZSYmdGhpcy5zZXRGb3JtVmFsdWUobil9KSl9aXNTYW1lQ29ubmVjdG9yKGUpe2lmKCF0aGlzLmluaXRpYWxDb25uZWN0b3IpcmV0dXJuITE7Y29uc3QgdD1lLnZhbHVlO3JldHVybiB0aGlzLmluaXRpYWxDb25uZWN0b3IubmFtZT09PXQubmFtZX1zaG93VG9hc3QoZSl7dGhpcy5zdG9yZS5kaXNwYXRjaCh7dHlwZToiW05vdGlmaWNhdGlvbl0gU2hvdyIsbm90aWZpY2F0aW9uOnttZXNzYWdlOmUsdHlwZToic3VjY2VzcyIsZHVyYXRpb246MWUzLHZlcnRpY2FsUG9zaXRpb246InRvcCIsaG9yaXpvbnRhbFBvc2l0aW9uOiJsZWZ0Iix0YXJnZXQ6ImRhc2hib2FyZFJvb3QiLGZvcmNlRGlzbWlzczohMH19KX1yZXR1cm5UeXBlKGUpe2NvbnN0IHQ9ZS52YWx1ZTtyZXR1cm4gdGhpcy5HYXRld2F5Q29ubmVjdG9yVHlwZXNUcmFuc2xhdGVzTWFwLmdldCh0LnR5cGUpfWRlbGV0ZUNvbm5lY3RvcihlLHQpe3Q/LnN0b3BQcm9wYWdhdGlvbigpO2NvbnN0IG49YERlbGV0ZSBjb25uZWN0b3IgIiR7ZS5rZXl9Ij9gO3RoaXMuZGlhbG9nU2VydmljZS5jb25maXJtKG4sIkFsbCBjb25uZWN0b3IgZGF0YSB3aWxsIGJlIGRlbGV0ZWQuIiwiQ2FuY2VsIiwiRGVsZXRlIikucGlwZShPZSgxKSxVZSgodD0+e2lmKCF0KXJldHVybjtjb25zdCBuPVtdLGE9dGhpcy5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKGUudmFsdWU/Lm5hbWUpP0wuU0hBUkVEX1NDT1BFOkwuU0VSVkVSX1NDT1BFO3JldHVybiBuLnB1c2godGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLmRlbGV0ZUVudGl0eUF0dHJpYnV0ZXModGhpcy5kZXZpY2UsYSxbZV0pKSx0aGlzLnJlbW92ZUNvbm5lY3RvckZyb21MaXN0KGUua2V5LCEwKSx0aGlzLnJlbW92ZUNvbm5lY3RvckZyb21MaXN0KGUua2V5LCExKSxuLnB1c2godGhpcy5nZXRTYXZlRW50aXR5QXR0cmlidXRlc1Rhc2soYSkpLEFlKG4pfSkpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5pbml0aWFsQ29ubmVjdG9yJiZ0aGlzLmluaXRpYWxDb25uZWN0b3IubmFtZSE9PWUua2V5fHwodGhpcy5jbGVhck91dENvbm5lY3RvckZvcm0oKSx0aGlzLmNkLmRldGVjdENoYW5nZXMoKSx0aGlzLmNvbm5lY3RvckZvcm0uZGlzYWJsZSgpKSx0aGlzLnVwZGF0ZURhdGEoITApfSkpfWNvbm5lY3RvckxvZ3MoZSx0KXt0JiZ0LnN0b3BQcm9wYWdhdGlvbigpO2NvbnN0IG49Sih0aGlzLmN0eC5zdGF0ZUNvbnRyb2xsZXIuZ2V0U3RhdGVQYXJhbXMoKSk7bi5jb25uZWN0b3JfbG9ncz1lLG4udGFyZ2V0RW50aXR5UGFyYW1OYW1lPSJjb25uZWN0b3JfbG9ncyIsdGhpcy5jdHguc3RhdGVDb250cm9sbGVyLm9wZW5TdGF0ZSgiY29ubmVjdG9yX2xvZ3MiLG4pfWNvbm5lY3RvclJwYyhlLHQpe3QmJnQuc3RvcFByb3BhZ2F0aW9uKCk7Y29uc3Qgbj1KKHRoaXMuY3R4LnN0YXRlQ29udHJvbGxlci5nZXRTdGF0ZVBhcmFtcygpKTtuLmNvbm5lY3Rvcl9ycGM9ZSxuLnRhcmdldEVudGl0eVBhcmFtTmFtZT0iY29ubmVjdG9yX3JwYyIsdGhpcy5jdHguc3RhdGVDb250cm9sbGVyLm9wZW5TdGF0ZSgiY29ubmVjdG9yX3JwYyIsbil9b25FbmFibGVDb25uZWN0b3IoZSl7ZS52YWx1ZS50cz0obmV3IERhdGUpLmdldFRpbWUoKSx0aGlzLnVwZGF0ZUFjdGl2ZUNvbm5lY3RvcktleXMoZS5rZXkpLHRoaXMuYXR0cmlidXRlVXBkYXRlU3ViamVjdC5uZXh0KGUpfWdldEVycm9yc0NvdW50KGUpe2NvbnN0IHQ9ZS5rZXksbj10aGlzLnN1YnNjcmlwdGlvbiYmdGhpcy5zdWJzY3JpcHRpb24uZGF0YS5maW5kKChlPT5lJiZlLmRhdGFLZXkubmFtZT09PWAke3R9X0VSUk9SU19DT1VOVGApKTtyZXR1cm4gbiYmdGhpcy5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKHQpP24uZGF0YVswXVsxXXx8MDoiSW5hY3RpdmUifW9uQWRkQ29ubmVjdG9yKGUpe2U/LnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuY29uZmlybUNvbm5lY3RvckNoYW5nZSgpLnBpcGUoT2UoMSksTWUoQm9vbGVhbiksVWUoKCgpPT50aGlzLm9wZW5BZGRDb25uZWN0b3JEaWFsb2coKSkpLE1lKEJvb2xlYW4pKS5zdWJzY3JpYmUoKGU9PnRoaXMuYWRkQ29ubmVjdG9yKGUpKSl9YWRkQ29ubmVjdG9yKGUpe3RoaXMuY29ubmVjdG9yRm9ybS5kaXNhYmxlZCYmdGhpcy5jb25uZWN0b3JGb3JtLmVuYWJsZSgpLGUuY29uZmlndXJhdGlvbkpzb258fChlLmNvbmZpZ3VyYXRpb25Kc29uPXt9KSx0aGlzLmdhdGV3YXlWZXJzaW9uJiYhZS5jb25maWdWZXJzaW9uJiYoZS5jb25maWdWZXJzaW9uPXRoaXMuZ2F0ZXdheVZlcnNpb24pLGUuYmFzaWNDb25maWc9ZS5jb25maWd1cmF0aW9uSnNvbix0aGlzLmluaXRpYWxDb25uZWN0b3I9ZTtjb25zdCB0PXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoInR5cGUiKS52YWx1ZTt0aGlzLnNldEluaXRpYWxDb25uZWN0b3JWYWx1ZXMoZSksdGhpcy5zYXZlQ29ubmVjdG9yKHRoaXMuZ2V0VXBkYXRlZENvbm5lY3RvckRhdGEoZSkpLHQhPT1lLnR5cGUmJnRoaXMuYWxsb3dCYXNpY0NvbmZpZy5oYXMoZS50eXBlKT90aGlzLmJhc2ljQ29uZmlnSW5pdFN1YmplY3QucGlwZShPZSgxKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMucGF0Y2hCYXNpY0NvbmZpZ0Nvbm5lY3RvcihlKX0pKTp0aGlzLnBhdGNoQmFzaWNDb25maWdDb25uZWN0b3IoZSl9c2V0SW5pdGlhbENvbm5lY3RvclZhbHVlcyhlKXtjb25zdHtiYXNpY0NvbmZpZzp0LG1vZGU6biwuLi5hfT1lO3RoaXMudG9nZ2xlUmVwb3J0U3RyYXRlZ3koZS50eXBlKSx0aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJtb2RlIikuc2V0VmFsdWUodGhpcy5hbGxvd0Jhc2ljQ29uZmlnLmhhcyhlLnR5cGUpP2UubW9kZT8/b24uQkFTSUM6bnVsbCx7ZW1pdEV2ZW50OiExfSksdGhpcy5jb25uZWN0b3JGb3JtLnBhdGNoVmFsdWUoYSx7ZW1pdEV2ZW50OiExfSl9b3BlbkFkZENvbm5lY3RvckRpYWxvZygpe3JldHVybiB0aGlzLmN0eC5uZ1pvbmUucnVuKCgoKT0+dGhpcy5kaWFsb2cub3Blbih0byx7ZGlzYWJsZUNsb3NlOiEwLHBhbmVsQ2xhc3M6WyJ0Yi1kaWFsb2ciLCJ0Yi1mdWxsc2NyZWVuLWRpYWxvZyJdLGRhdGE6e2RhdGFTb3VyY2VEYXRhOnRoaXMuZGF0YVNvdXJjZS5kYXRhLGdhdGV3YXlWZXJzaW9uOnRoaXMuZ2F0ZXdheVZlcnNpb259fSkuYWZ0ZXJDbG9zZWQoKSkpfXVuaXFOYW1lUmVxdWlyZWQoKXtyZXR1cm4gZT0+e2NvbnN0IHQ9ZS52YWx1ZT8udHJpbSgpLnRvTG93ZXJDYXNlKCksbj10aGlzLmRhdGFTb3VyY2UuZGF0YS5zb21lKChlPT5lLnZhbHVlLm5hbWUudG9Mb3dlckNhc2UoKT09PXQpKSxhPXRoaXMuaW5pdGlhbENvbm5lY3Rvcj8ubmFtZS50b0xvd2VyQ2FzZSgpPT09dDtyZXR1cm4gbiYmIWE/e2R1cGxpY2F0ZU5hbWU6e3ZhbGlkOiExfX06bnVsbH19aW5pdERhdGFTb3VyY2VzKCl7Y29uc3QgZT17cHJvcGVydHk6ImtleSIsZGlyZWN0aW9uOncuQVNDfTt0aGlzLnBhZ2VMaW5rPW5ldyBDKDFlMywwLG51bGwsZSksdGhpcy5hdHRyaWJ1dGVEYXRhU291cmNlPW5ldyBMYSh0aGlzLmF0dHJpYnV0ZVNlcnZpY2UsdGhpcy50ZWxlbWV0cnlXc1NlcnZpY2UsdGhpcy56b25lLHRoaXMudHJhbnNsYXRlKSx0aGlzLmluYWN0aXZlQ29ubmVjdG9yc0RhdGFTb3VyY2U9bmV3IExhKHRoaXMuYXR0cmlidXRlU2VydmljZSx0aGlzLnRlbGVtZXRyeVdzU2VydmljZSx0aGlzLnpvbmUsdGhpcy50cmFuc2xhdGUpLHRoaXMuc2VydmVyRGF0YVNvdXJjZT1uZXcgTGEodGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLHRoaXMudGVsZW1ldHJ5V3NTZXJ2aWNlLHRoaXMuem9uZSx0aGlzLnRyYW5zbGF0ZSksdGhpcy5kYXRhU291cmNlPW5ldyB5KFtdKX1pbml0Q29ubmVjdG9yRm9ybSgpe3RoaXMuY29ubmVjdG9yRm9ybT10aGlzLmZiLmdyb3VwKHttb2RlOltvbi5CQVNJQ10sbmFtZTpbIiIsW3VlLnJlcXVpcmVkLHRoaXMudW5pcU5hbWVSZXF1aXJlZCgpLHVlLnBhdHRlcm4oa3QpXV0sdHlwZTpbIiIsW3VlLnJlcXVpcmVkXV0sZW5hYmxlUmVtb3RlTG9nZ2luZzpbITFdLGxvZ0xldmVsOlsiIixbdWUucmVxdWlyZWRdXSxzZW5kRGF0YU9ubHlPbkNoYW5nZTpbITFdLGtleTpbImF1dG8iXSxjbGFzczpbIiJdLGNvbmZpZ3VyYXRpb246WyIiXSxjb25maWd1cmF0aW9uSnNvbjpbe30sW3VlLnJlcXVpcmVkXV0sYmFzaWNDb25maWc6W3t9XSxjb25maWdWZXJzaW9uOlsiIl0scmVwb3J0U3RyYXRlZ3k6W3t2YWx1ZTp7fSxkaXNhYmxlZDohMH1dfSksdGhpcy5jb25uZWN0b3JGb3JtLmRpc2FibGUoKX1nZXRTb3J0aW5nRGF0YUFjY2Vzc29yKCl7cmV0dXJuKGUsdCk9Pntzd2l0Y2godCl7Y2FzZSJzeW5jU3RhdHVzIjpyZXR1cm4gdGhpcy5pc0Nvbm5lY3RvclN5bmNlZChlKT8xOjA7Y2FzZSJlbmFibGVkIjpyZXR1cm4gdGhpcy5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKGUua2V5KT8xOjA7Y2FzZSJlcnJvcnMiOmNvbnN0IG49dGhpcy5nZXRFcnJvcnNDb3VudChlKTtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIG4/dGhpcy5zb3J0LmRpcmVjdGlvbi50b1VwcGVyQ2FzZSgpPT09dy5ERVNDPy0xOjEvMDpuO2RlZmF1bHQ6cmV0dXJuIGVbdF18fGUudmFsdWVbdF19fX1sb2FkQ29ubmVjdG9ycygpe3RoaXMuZGV2aWNlJiZ0aGlzLmRldmljZS5pZCE9PWsmJkFlKFt0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0RW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSxMLlNIQVJFRF9TQ09QRSxbImFjdGl2ZV9jb25uZWN0b3JzIl0pLHRoaXMuYXR0cmlidXRlU2VydmljZS5nZXRFbnRpdHlBdHRyaWJ1dGVzKHRoaXMuZGV2aWNlLEwuU0VSVkVSX1NDT1BFLFsiaW5hY3RpdmVfY29ubmVjdG9ycyJdKSx0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0RW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSxMLkNMSUVOVF9TQ09QRSxbIlZlcnNpb24iXSldKS5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLmFjdGl2ZUNvbm5lY3RvcnM9dGhpcy5wYXJzZUNvbm5lY3RvcnMoZVswXSksdGhpcy5pbmFjdGl2ZUNvbm5lY3RvcnM9dGhpcy5wYXJzZUNvbm5lY3RvcnMoZVsxXSksdGhpcy5nYXRld2F5VmVyc2lvbj1lWzJdWzBdPy52YWx1ZSx0aGlzLnVwZGF0ZURhdGEoITApfSkpfWxvYWRHYXRld2F5U3RhdGUoKXt0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0RW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSxMLlNFUlZFUl9TQ09QRSkucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57Y29uc3QgdD1lLmZpbmQoKGU9PiJhY3RpdmUiPT09ZS5rZXkpKS52YWx1ZSxuPWUuZmluZCgoZT0+Imxhc3REaXNjb25uZWN0VGltZSI9PT1lLmtleSkpPy52YWx1ZSxhPWUuZmluZCgoZT0+Imxhc3RDb25uZWN0VGltZSI9PT1lLmtleSkpPy52YWx1ZTt0aGlzLmlzR2F0ZXdheUFjdGl2ZT10aGlzLmdldEdhdGV3YXlTdGF0dXModCxhLG4pfSkpfXBhcnNlQ29ubmVjdG9ycyhlKXtjb25zdCB0PWU/LlswXT8udmFsdWV8fFtdO3JldHVybiBuZSh0KT9KU09OLnBhcnNlKHQpOnR9b2JzZXJ2ZU1vZGVDaGFuZ2UoKXt0aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJtb2RlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJtb2RlIikubWFya0FzUHJpc3RpbmUoKX0pKX1vYnNlcnZlQXR0cmlidXRlQ2hhbmdlKCl7dGhpcy5hdHRyaWJ1dGVVcGRhdGVTdWJqZWN0LnBpcGUoVmUoMzAwKSxFZSgoZT0+dGhpcy5leGVjdXRlQXR0cmlidXRlVXBkYXRlcyhlKSkpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKX11cGRhdGVBY3RpdmVDb25uZWN0b3JLZXlzKGUpe2lmKHRoaXMuYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyhlKSl7Y29uc3QgdD10aGlzLmFjdGl2ZUNvbm5lY3RvcnMuaW5kZXhPZihlKTstMSE9PXQmJnRoaXMuYWN0aXZlQ29ubmVjdG9ycy5zcGxpY2UodCwxKSx0aGlzLmluYWN0aXZlQ29ubmVjdG9ycy5wdXNoKGUpfWVsc2V7Y29uc3QgdD10aGlzLmluYWN0aXZlQ29ubmVjdG9ycy5pbmRleE9mKGUpOy0xIT09dCYmdGhpcy5pbmFjdGl2ZUNvbm5lY3RvcnMuc3BsaWNlKHQsMSksdGhpcy5hY3RpdmVDb25uZWN0b3JzLnB1c2goZSl9fWV4ZWN1dGVBdHRyaWJ1dGVVcGRhdGVzKGUpe0FlKHRoaXMuZ2V0QXR0cmlidXRlRXhlY3V0aW9uVGFza3MoZSkpLnBpcGUoT2UoMSksRWUoKCgpPT50aGlzLnVwZGF0ZURhdGEoITApKSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgpfWdldEF0dHJpYnV0ZUV4ZWN1dGlvblRhc2tzKGUpe2NvbnN0IHQ9dGhpcy5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKGUua2V5KSxuPXQ/TC5TRVJWRVJfU0NPUEU6TC5TSEFSRURfU0NPUEUsYT10P0wuU0hBUkVEX1NDT1BFOkwuU0VSVkVSX1NDT1BFO3JldHVyblt0aGlzLmF0dHJpYnV0ZVNlcnZpY2Uuc2F2ZUVudGl0eUF0dHJpYnV0ZXModGhpcy5kZXZpY2UsTC5TSEFSRURfU0NPUEUsW3trZXk6ImFjdGl2ZV9jb25uZWN0b3JzIix2YWx1ZTp0aGlzLmFjdGl2ZUNvbm5lY3RvcnN9XSksdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNhdmVFbnRpdHlBdHRyaWJ1dGVzKHRoaXMuZGV2aWNlLEwuU0VSVkVSX1NDT1BFLFt7a2V5OiJpbmFjdGl2ZV9jb25uZWN0b3JzIix2YWx1ZTp0aGlzLmluYWN0aXZlQ29ubmVjdG9yc31dKSx0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZGVsZXRlRW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSxuLFtlXSksdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNhdmVFbnRpdHlBdHRyaWJ1dGVzKHRoaXMuZGV2aWNlLGEsW2VdKV19b25EYXRhVXBkYXRlRXJyb3IoZSl7Y29uc3QgdD10aGlzLnV0aWxzLnBhcnNlRXhjZXB0aW9uKGUpO2xldCBuPXQubmFtZTt0Lm1lc3NhZ2UmJihuKz0iOiAiK3QubWVzc2FnZSksY29uc29sZS5lcnJvcihuKX1vbkVycm9yc1VwZGF0ZWQoKXt0aGlzLmNkLmRldGVjdENoYW5nZXMoKX1vbkRhdGFVcGRhdGVkKCl7Y29uc3QgZT10aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLmRhdGEsdD1lLmZpbmQoKGU9PiJhY3RpdmUiPT09ZS5kYXRhS2V5Lm5hbWUpKS5kYXRhWzBdWzFdLG49ZS5maW5kKChlPT4ibGFzdERpc2Nvbm5lY3RUaW1lIj09PWUuZGF0YUtleS5uYW1lKSkuZGF0YVswXVsxXSxhPWUuZmluZCgoZT0+Imxhc3RDb25uZWN0VGltZSI9PT1lLmRhdGFLZXkubmFtZSkpLmRhdGFbMF1bMV07dGhpcy5pc0dhdGV3YXlBY3RpdmU9dGhpcy5nZXRHYXRld2F5U3RhdHVzKHQsYSxuKSx0aGlzLmNkLmRldGVjdENoYW5nZXMoKX1nZXRHYXRld2F5U3RhdHVzKGUsdCxuKXtyZXR1cm4hIWUmJighbnx8dD5uKX1nZW5lcmF0ZVN1YnNjcmlwdGlvbigpe2lmKHRoaXMuc3Vic2NyaXB0aW9uJiZ0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMuZGV2aWNlKXtjb25zdCBlPVt7dHlwZTpGLmVudGl0eSxlbnRpdHlUeXBlOkkuREVWSUNFLGVudGl0eUlkOnRoaXMuZGV2aWNlLmlkLGVudGl0eU5hbWU6IkdhdGV3YXkiLHRpbWVzZXJpZXM6W119XTt0aGlzLmRhdGFTb3VyY2UuZGF0YS5mb3JFYWNoKCh0PT57ZVswXS50aW1lc2VyaWVzLnB1c2goe25hbWU6YCR7dC5rZXl9X0VSUk9SU19DT1VOVGAsbGFiZWw6YCR7dC5rZXl9X0VSUk9SU19DT1VOVGB9KX0pKSx0aGlzLmN0eC5zdWJzY3JpcHRpb25BcGkuY3JlYXRlU3Vic2NyaXB0aW9uRnJvbUluZm8oQS5sYXRlc3QsZSx0aGlzLnN1YnNjcmlwdGlvbk9wdGlvbnMsITEsITApLnN1YnNjcmliZSgoZT0+e3RoaXMuc3Vic2NyaXB0aW9uPWV9KSl9fWNyZWF0ZUJhc2ljQ29uZmlnV2F0Y2hlcigpe3RoaXMuYmFzaWNDb25maWdTdWImJnRoaXMuYmFzaWNDb25maWdTdWIudW5zdWJzY3JpYmUoKSx0aGlzLmJhc2ljQ29uZmlnU3ViPXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoImJhc2ljQ29uZmlnIikudmFsdWVDaGFuZ2VzLnBpcGUoTWUoKCgpPT4hIXRoaXMuaW5pdGlhbENvbm5lY3RvcikpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pntjb25zdCB0PXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoImNvbmZpZ3VyYXRpb25Kc29uIiksbj10aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJ0eXBlIikudmFsdWUsYT10aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJtb2RlIikudmFsdWU7aWYoIWVlKGUsdD8udmFsdWUpJiZ0aGlzLmFsbG93QmFzaWNDb25maWcuaGFzKG4pJiZhPT09b24uQkFTSUMpe2NvbnN0IG49ey4uLnQudmFsdWUsLi4uZX07dGhpcy5jb25uZWN0b3JGb3JtLmdldCgiY29uZmlndXJhdGlvbkpzb24iKS5wYXRjaFZhbHVlKG4se2VtaXRFdmVudDohMX0pfX0pKX1jcmVhdGVKc29uQ29uZmlnV2F0Y2hlcigpe3RoaXMuanNvbkNvbmZpZ1N1YiYmdGhpcy5qc29uQ29uZmlnU3ViLnVuc3Vic2NyaWJlKCksdGhpcy5qc29uQ29uZmlnU3ViPXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoImNvbmZpZ3VyYXRpb25Kc29uIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2NvbnN0IHQ9dGhpcy5jb25uZWN0b3JGb3JtLmdldCgiYmFzaWNDb25maWciKSxuPXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoInR5cGUiKS52YWx1ZSxhPXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoIm1vZGUiKS52YWx1ZTshZWUoZSx0Py52YWx1ZSkmJnRoaXMuYWxsb3dCYXNpY0NvbmZpZy5oYXMobikmJmE9PT1vbi5BRFZBTkNFRCYmdGhpcy5jb25uZWN0b3JGb3JtLmdldCgiYmFzaWNDb25maWciKS5wYXRjaFZhbHVlKGUse2VtaXRFdmVudDohMX0pfSkpfWNvbmZpcm1Db25uZWN0b3JDaGFuZ2UoKXtyZXR1cm4gdGhpcy5pbml0aWFsQ29ubmVjdG9yJiZ0aGlzLmNvbm5lY3RvckZvcm0uZGlydHk/dGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0odGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5jaGFuZ2UtY29ubmVjdG9yLXRpdGxlIiksdGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5jaGFuZ2UtY29ubmVjdG9yLXRleHQiKSx0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJhY3Rpb24ubm8iKSx0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJhY3Rpb24ueWVzIiksITApOkllKCEwKX1zZXRGb3JtVmFsdWUoZSl7dGhpcy5jb25uZWN0b3JGb3JtLmRpc2FibGVkJiZ0aGlzLmNvbm5lY3RvckZvcm0uZW5hYmxlKCk7Y29uc3QgdD1iYS5nZXRDb25maWcoe2NvbmZpZ3VyYXRpb246IiIsa2V5OiJhdXRvIixjb25maWd1cmF0aW9uSnNvbjp7fSwuLi5lfSx0aGlzLmdhdGV3YXlWZXJzaW9uKTt0aGlzLmdhdGV3YXlWZXJzaW9uJiYhdC5jb25maWdWZXJzaW9uJiYodC5jb25maWdWZXJzaW9uPXRoaXMuZ2F0ZXdheVZlcnNpb24pLHQuYmFzaWNDb25maWc9dC5jb25maWd1cmF0aW9uSnNvbix0aGlzLmluaXRpYWxDb25uZWN0b3I9dCx0aGlzLnVwZGF0ZUNvbm5lY3Rvcih0KX11cGRhdGVDb25uZWN0b3IoZSl7c3dpdGNoKHRoaXMuanNvbkNvbmZpZ1N1Yj8udW5zdWJzY3JpYmUoKSxlLnR5cGUpe2Nhc2UgX3QuTVFUVDpjYXNlIF90Lk9QQ1VBOmNhc2UgX3QuTU9EQlVTOnRoaXMudXBkYXRlQmFzaWNDb25maWdDb25uZWN0b3IoZSk7YnJlYWs7ZGVmYXVsdDp0aGlzLmNvbm5lY3RvckZvcm0ucGF0Y2hWYWx1ZSh7Li4uZSxtb2RlOm51bGx9KSx0aGlzLmNvbm5lY3RvckZvcm0ubWFya0FzUHJpc3RpbmUoKSx0aGlzLmNyZWF0ZUpzb25Db25maWdXYXRjaGVyKCl9fXVwZGF0ZUJhc2ljQ29uZmlnQ29ubmVjdG9yKGUpe3RoaXMuYmFzaWNDb25maWdTdWI/LnVuc3Vic2NyaWJlKCk7Y29uc3QgdD10aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJ0eXBlIikudmFsdWU7dGhpcy5zZXRJbml0aWFsQ29ubmVjdG9yVmFsdWVzKGUpLHQhPT1lLnR5cGUmJnRoaXMuYWxsb3dCYXNpY0NvbmZpZy5oYXMoZS50eXBlKT90aGlzLmJhc2ljQ29uZmlnSW5pdFN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShPZSgxKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMucGF0Y2hCYXNpY0NvbmZpZ0Nvbm5lY3RvcihlKX0pKTp0aGlzLnBhdGNoQmFzaWNDb25maWdDb25uZWN0b3IoZSl9cGF0Y2hCYXNpY0NvbmZpZ0Nvbm5lY3RvcihlKXt0aGlzLmNvbm5lY3RvckZvcm0ucGF0Y2hWYWx1ZShlLHtlbWl0RXZlbnQ6ITF9KSx0aGlzLmNvbm5lY3RvckZvcm0ubWFya0FzUHJpc3RpbmUoKSx0aGlzLmNyZWF0ZUJhc2ljQ29uZmlnV2F0Y2hlcigpLHRoaXMuY3JlYXRlSnNvbkNvbmZpZ1dhdGNoZXIoKX10b2dnbGVSZXBvcnRTdHJhdGVneShlKXtjb25zdCB0PXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoInJlcG9ydFN0cmF0ZWd5Iik7ZT09PV90Lk1PREJVUz90LmVuYWJsZSh7ZW1pdEV2ZW50OiExfSk6dC5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KX1zZXRDbGllbnREYXRhKGUpe2lmKHRoaXMuaW5pdGlhbENvbm5lY3Rvcil7Y29uc3QgdD1lLmRhdGEuZmluZCgoZT0+ZS5rZXk9PT10aGlzLmluaXRpYWxDb25uZWN0b3IubmFtZSkpO3QmJih0LnZhbHVlPSJzdHJpbmciPT10eXBlb2YgdC52YWx1ZT9KU09OLnBhcnNlKHQudmFsdWUpOnQudmFsdWUsdGhpcy5pc0Nvbm5lY3RvclN5bmNlZCh0KSYmdC52YWx1ZS5jb25maWd1cmF0aW9uSnNvbiYmdGhpcy5zZXRGb3JtVmFsdWUoey4uLnQudmFsdWUsbW9kZTp0aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJtb2RlIikudmFsdWU/P3QudmFsdWUubW9kZX0pKX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpFbyxkZXBzOlt7dG9rZW46b3QuU3RvcmV9LHt0b2tlbjptZS5Gb3JtQnVpbGRlcn0se3Rva2VuOlkuVHJhbnNsYXRlU2VydmljZX0se3Rva2VuOlguQXR0cmlidXRlU2VydmljZX0se3Rva2VuOlguRGlhbG9nU2VydmljZX0se3Rva2VuOkplLk1hdERpYWxvZ30se3Rva2VuOlguVGVsZW1ldHJ5V2Vic29ja2V0U2VydmljZX0se3Rva2VuOnQuTmdab25lfSx7dG9rZW46WC5VdGlsc1NlcnZpY2V9LHt0b2tlbjp2YX0se3Rva2VuOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOkVvLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LWNvbm5lY3RvciIsaW5wdXRzOntjdHg6ImN0eCIsZGV2aWNlOiJkZXZpY2UifSxwcm92aWRlcnM6W3twcm92aWRlOlRlLHVzZUNsYXNzOk1vfV0sdmlld1F1ZXJpZXM6W3twcm9wZXJ0eU5hbWU6Im5hbWVJbnB1dCIsZmlyc3Q6ITAscHJlZGljYXRlOlsibmFtZUlucHV0Il0sZGVzY2VuZGFudHM6ITB9LHtwcm9wZXJ0eU5hbWU6InNvcnQiLGZpcnN0OiEwLHByZWRpY2F0ZTpnLGRlc2NlbmRhbnRzOiEwfV0sdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJjb25uZWN0b3ItY29udGFpbmVyIHRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIj5cbiAgPHNlY3Rpb24gY2xhc3M9InRhYmxlLXNlY3Rpb24gdGItZm9ybS1wYW5lbCBuby1wYWRkaW5nIGZsZXggc2VjdGlvbi1jb250YWluZXIiPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIj5cbiAgICAgIDxoMj57eyBcJ2dhdGV3YXkuY29ubmVjdG9yc1wnIHwgdHJhbnNsYXRlIH19PC9oMj5cbiAgICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgICA8YnV0dG9uICpuZ0lmPSJkYXRhU291cmNlPy5kYXRhPy5sZW5ndGgiXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJpc0xvYWRpbmckIHwgYXN5bmMiXG4gICAgICAgICAgICAgIChjbGljayk9Im9uQWRkQ29ubmVjdG9yKCRldmVudCkiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmFkZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L21hdC10b29sYmFyPlxuICAgIDxkaXYgY2xhc3M9InRhYmxlLWNvbnRhaW5lciI+XG4gICAgICA8c2VjdGlvbiAqbmdJZj0iIWRhdGFTb3VyY2U/LmRhdGE/Lmxlbmd0aCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgIGNsYXNzPSJtYXQtaGVhZGxpbmUtNSB0Yi1hYnNvbHV0ZS1maWxsIHRiLWFkZC1uZXciPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9ImNvbm5lY3RvciJcbiAgICAgICAgKGNsaWNrKT0ib25BZGRDb25uZWN0b3IoJGV2ZW50KSI+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJ0Yi1tYXQtOTYiPmFkZDwvbWF0LWljb24+XG4gICAgICAgICAgPHNwYW4+e3sgXCdnYXRld2F5LmFkZC1jb25uZWN0b3JcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT0iZGF0YVNvdXJjZSJcbiAgICAgICAgICAgICBtYXRTb3J0IFttYXRTb3J0QWN0aXZlXT0icGFnZUxpbmsuc29ydE9yZGVyLnByb3BlcnR5IiBbbWF0U29ydERpcmVjdGlvbl09InBhZ2VMaW5rLnNvcnREaXJlY3Rpb24oKSJcbiAgICAgICAgICAgICBtYXRTb3J0RGlzYWJsZUNsZWFyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iZW5hYmxlZCIgc3RpY2t5PlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgc3R5bGU9IndpZHRoOiA2MHB4O21pbi13aWR0aDogNjBweDsiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtZW5hYmxlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgYXR0cmlidXRlIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIFtjaGVja2VkXT0iYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyhhdHRyaWJ1dGUua2V5KSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgb25FbmFibGVDb25uZWN0b3IoYXR0cmlidXRlKSI+PC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0ia2V5Ij5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDQwJSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1uYW1lXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiPlxuICAgICAgICAgICAge3sgYXR0cmlidXRlLmtleSB9fVxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0idHlwZSI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgc3R5bGU9IndpZHRoOiAzMCUiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtdHlwZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgYXR0cmlidXRlIiBzdHlsZT0idGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSI+XG4gICAgICAgICAgICB7eyByZXR1cm5UeXBlKGF0dHJpYnV0ZSkgfX1cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9InN5bmNTdGF0dXMiPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIHN0eWxlPSJ3aWR0aDogMzAlIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5jb25maWd1cmF0aW9uXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzIiBbY2xhc3NdPSJpc0Nvbm5lY3RvclN5bmNlZChhdHRyaWJ1dGUpID8gXCdzdGF0dXMtc3luY1wnIDogXCdzdGF0dXMtdW5zeW5jXCciPlxuICAgICAgICAgICAgICAgIHt7IGlzQ29ubmVjdG9yU3luY2VkKGF0dHJpYnV0ZSkgPyBcJ3N5bmNcJyA6IFwnb3V0IG9mIHN5bmNcJyB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9ImVycm9ycyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgc3R5bGU9IndpZHRoOiAzMCUiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtc3RhdHVzXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkb3QiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ0Vycm9yczogXCcrIGdldEVycm9yc0NvdW50KGF0dHJpYnV0ZSl9fSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPSJjb25uZWN0b3JMb2dzKGF0dHJpYnV0ZSwgJGV2ZW50KSJcbiAgICAgICAgICAgICAgICAgIFtjbGFzc109IntcJ2hhc0Vycm9yc1wnOiArZ2V0RXJyb3JzQ291bnQoYXR0cmlidXRlKSA+IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCdub0Vycm9yc1wnOiArZ2V0RXJyb3JzQ291bnQoYXR0cmlidXRlKSA9PT0gMCB8fCBnZXRFcnJvcnNDb3VudChhdHRyaWJ1dGUpID09PSBcJ1wnfSI+PC9zcGFuPlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iYWN0aW9ucyIgc3RpY2t5RW5kPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlLmd0LW1kXT0ieyBtaW5XaWR0aDogXCcxNDRweFwnLCBtYXhXaWR0aDogXCcxNDRweFwnLCB3aWR0aDogXCcxNDRweFwnLCB0ZXh0QWxpZ246IFwnY2VudGVyXCd9Ij5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWFjdGlvbnNcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IGF0dHJpYnV0ZSJcbiAgICAgICAgICAgICAgICAgICAgW25nU3R5bGUuZ3QtbWRdPSJ7IG1pbldpZHRoOiBcJzE0NHB4XCcsIG1heFdpZHRoOiBcJzE0NHB4XCcsIHdpZHRoOiBcJzE0NHB4XCd9Ij5cbiAgICAgICAgICAgIDxkaXYgZnhIaWRlIGZ4U2hvdy5ndC1tZCBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJSUEMiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJjb25uZWN0b3JScGMoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+cHJpdmF0ZV9jb25uZWN0aXZpdHk8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJMb2dzIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iY29ubmVjdG9yTG9ncyhhdHRyaWJ1dGUsICRldmVudCkiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5saXN0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0iRGVsZXRlIGNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9ImRlbGV0ZUNvbm5lY3RvcihhdHRyaWJ1dGUsICRldmVudCkiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmeEhpZGUgZnhTaG93Lmx0LWxnPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPSJjZWxsQWN0aW9uc01lbnUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8bWF0LW1lbnUgI2NlbGxBY3Rpb25zTWVudT0ibWF0TWVudSIgeFBvc2l0aW9uPSJiZWZvcmUiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJSUEMiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iY29ubmVjdG9yUnBjKGF0dHJpYnV0ZSwgJGV2ZW50KSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24+cHJpdmF0ZV9jb25uZWN0aXZpdHk8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJMb2dzIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9ImNvbm5lY3RvckxvZ3MoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5saXN0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0iRGVsZXRlIGNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJkZWxldGVDb25uZWN0b3IoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxtYXQtaGVhZGVyLXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbWF0SGVhZGVyUm93RGVmPSJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWUiPjwvbWF0LWhlYWRlci1yb3c+XG4gICAgICAgIDxtYXQtcm93IGNsYXNzPSJtYXQtcm93LXNlbGVjdCIgW2NsYXNzXT0ie1wndGItY3VycmVudC1lbnRpdHlcJzogaXNTYW1lQ29ubmVjdG9yKGF0dHJpYnV0ZSl9IlxuICAgICAgICAgICAgICAgICAqbWF0Um93RGVmPSJsZXQgYXR0cmlidXRlOyBsZXQgaSA9IGluZGV4OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyIgKGNsaWNrKT0ic2VsZWN0Q29ubmVjdG9yKCRldmVudCwgYXR0cmlidXRlKSI+PC9tYXQtcm93PlxuICAgICAgPC90YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9zZWN0aW9uPlxuICA8c2VjdGlvbiBbZm9ybUdyb3VwXT0iY29ubmVjdG9yRm9ybSIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc2VjdGlvbi1jb250YWluZXIgZmxleCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSB0Yi1mbGV4IG5vLWZsZXggc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSI+XG4gICAgICAgIHt7IGluaXRpYWxDb25uZWN0b3I/LnR5cGUgPyBHYXRld2F5Q29ubmVjdG9yVHlwZXNUcmFuc2xhdGVzTWFwLmdldChpbml0aWFsQ29ubmVjdG9yLnR5cGUpIDogXCdcJyB9fVxuICAgICAgICB7eyBcJ2dhdGV3YXkuY29uZmlndXJhdGlvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDxzcGFuIGNsYXNzPSJ2ZXJzaW9uLXBsYWNlaG9sZGVyIiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdjb25maWdWZXJzaW9uXCcpLnZhbHVlIj52e3tjb25uZWN0b3JGb3JtLmdldChcJ2NvbmZpZ1ZlcnNpb25cJykudmFsdWV9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgKm5nSWY9ImluaXRpYWxDb25uZWN0b3IgJiYgYWxsb3dCYXNpY0NvbmZpZy5oYXMoaW5pdGlhbENvbm5lY3Rvci50eXBlKSJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0ibW9kZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uIFt2YWx1ZV09IkNvbm5lY3RvckNvbmZpZ3VyYXRpb25Nb2Rlcy5CQVNJQyI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LmJhc2ljXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiBbdmFsdWVdPSJDb25uZWN0b3JDb25maWd1cmF0aW9uTW9kZXMuQURWQU5DRUQiPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5hZHZhbmNlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgIDwvdGItdG9nZ2xlLXNlbGVjdD5cbiAgICA8L2Rpdj5cbiAgICA8c3BhbiBbZnhTaG93XT0iIWluaXRpYWxDb25uZWN0b3IiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCIgdHJhbnNsYXRlPlxuICAgICAgZ2F0ZXdheS5zZWxlY3QtY29ubmVjdG9yXG4gICAgPC9zcGFuPlxuICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHNlY3Rpb24tY29udGFpbmVyIG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLWZsZXggc3BhY2UtYmV0d2VlbiIgKm5nSWY9ImluaXRpYWxDb25uZWN0b3IiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdtb2RlXCcpPy52YWx1ZSA9PT0gQ29ubmVjdG9yQ29uZmlndXJhdGlvbk1vZGVzLkJBU0lDIGVsc2UgZGVmYXVsdENvbmZpZyI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT0iaW5pdGlhbENvbm5lY3Rvci50eXBlIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9IkNvbm5lY3RvclR5cGUuTVFUVCI+XG4gICAgICAgICAgICA8dGItbXF0dC1iYXNpYy1jb25maWdcbiAgICAgICAgICAgICAgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwnY29uZmlnVmVyc2lvblwnKS52YWx1ZSB8IGlzTGF0ZXN0VmVyc2lvbkNvbmZpZyBlbHNlIGxlZ2FjeSJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgW2dlbmVyYWxUYWJDb250ZW50XT0iZ2VuZXJhbFRhYkNvbnRlbnQiXG4gICAgICAgICAgICAgIChpbml0aWFsaXplZCk9ImJhc2ljQ29uZmlnSW5pdFN1YmplY3QubmV4dCgpIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbGVnYWN5PlxuICAgICAgICAgICAgICA8dGItbXF0dC1sZWdhY3ktYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk9QQ1VBIj5cbiAgICAgICAgICAgIDx0Yi1vcGMtdWEtYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ2NvbmZpZ1ZlcnNpb25cJykudmFsdWUgfCBpc0xhdGVzdFZlcnNpb25Db25maWcgZWxzZSBsZWdhY3kiXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICAgICAgICAgIFtnZW5lcmFsVGFiQ29udGVudF09ImdlbmVyYWxUYWJDb250ZW50IlxuICAgICAgICAgICAgICAoaW5pdGlhbGl6ZWQpPSJiYXNpY0NvbmZpZ0luaXRTdWJqZWN0Lm5leHQoKSJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2xlZ2FjeT5cbiAgICAgICAgICAgICAgPHRiLW9wYy11YS1sZWdhY3ktYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk1PREJVUyI+XG4gICAgICAgICAgICA8dGItbW9kYnVzLWJhc2ljLWNvbmZpZ1xuICAgICAgICAgICAgICAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdjb25maWdWZXJzaW9uXCcpLnZhbHVlIHwgaXNMYXRlc3RWZXJzaW9uQ29uZmlnIGVsc2UgbGVnYWN5IlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9ImJhc2ljQ29uZmlnIlxuICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNsZWdhY3k+XG4gICAgICAgICAgICAgIDx0Yi1tb2RidXMtbGVnYWN5LWJhc2ljLWNvbmZpZ1xuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgW2dlbmVyYWxUYWJDb250ZW50XT0iZ2VuZXJhbFRhYkNvbnRlbnQiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q29uZmlnPlxuICAgICAgICA8bWF0LXRhYi1ncm91cD5cbiAgICAgICAgICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgICAgICAgICAgPHRiLWpzb24tb2JqZWN0LWVkaXRcbiAgICAgICAgICAgICAgZmlsbEhlaWdodD0idHJ1ZSJcbiAgICAgICAgICAgICAgY2xhc3M9InRiLWZsZXggZmlsbC1oZWlnaHQiXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PSJjb2x1bW4iXG4gICAgICAgICAgICAgIGpzb25SZXF1aXJlZFxuICAgICAgICAgICAgICBsYWJlbD0ie3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJjb25maWd1cmF0aW9uSnNvbiI+XG4gICAgICAgICAgICA8L3RiLWpzb24tb2JqZWN0LWVkaXQ+XG4gICAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgICA8L21hdC10YWItZ3JvdXA+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGRpdiBmeExheW91dEFsaWduPSJlbmQgY2VudGVyIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iIWNvbm5lY3RvckZvcm0uZGlydHkgfHwgY29ubmVjdG9yRm9ybS5pbnZhbGlkIlxuICAgICAgICAgICAgICAgIChjbGljayk9Im9uU2F2ZUNvbm5lY3RvcigpIj5cbiAgICAgICAgICB7eyBcJ2FjdGlvbi5zYXZlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG4gIDwvc2VjdGlvbj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNnZW5lcmFsVGFiQ29udGVudD5cbiAgPHNlY3Rpb24gW2Zvcm1Hcm91cF09ImNvbm5lY3RvckZvcm0iIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIHNlY3Rpb24tY29udGFpbmVyIGZsZXgiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiID5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5uYW1lPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGF1dG9jb21wbGV0ZT0ib2ZmIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJuYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS5oYXNFcnJvcihcJ2R1cGxpY2F0ZU5hbWVcJykgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCdnYXRld2F5LmNvbm5lY3Rvci1kdXBsaWNhdGUtbmFtZVwnIDogXCdnYXRld2F5Lm5hbWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSIoY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYgY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLnRvdWNoZWQpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0b3JGb3JtLmdldChcJ25hbWVcJykuaGFzRXJyb3IoXCdkdXBsaWNhdGVOYW1lXCcpIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IENvbm5lY3RvclR5cGUuQ1VTVE9NIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1jbGFzczwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJjbGFzcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlID09PSBDb25uZWN0b3JUeXBlLkdSUEMiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWtleTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJrZXkiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5sb2dzLWNvbmZpZ3VyYXRpb248L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0iZW5hYmxlUmVtb3RlTG9nZ2luZyI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5lbmFibGUtcmVtb3RlLWxvZ2dpbmdcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucmVtb3RlLWxvZ2dpbmctbGV2ZWw8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImxvZ0xldmVsIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbG9nTGV2ZWwgb2YgZ2F0ZXdheUxvZ0xldmVsIiBbdmFsdWVdPSJsb2dMZXZlbCI+e3sgbG9nTGV2ZWwgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IENvbm5lY3RvclR5cGUuTVFUVCIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJzZW5kRGF0YU9ubHlPbkNoYW5nZSI+XG4gICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5zZW5kLWNoYW5nZS1kYXRhLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnNlbmQtY2hhbmdlLWRhdGFcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8L2Rpdj5cbiAgICA8dGItcmVwb3J0LXN0cmF0ZWd5XG4gICAgICBbZGVmYXVsdFZhbHVlXT0iUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWUuQ29ubmVjdG9yIlxuICAgICAgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gQ29ubmVjdG9yVHlwZS5NT0RCVVMgJiYgKGNvbm5lY3RvckZvcm0uZ2V0KFwnY29uZmlnVmVyc2lvblwnKS52YWx1ZSB8IGlzTGF0ZXN0VmVyc2lvbkNvbmZpZykiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9InJlcG9ydFN0cmF0ZWd5IlxuICAgIC8+XG4gIDwvc2VjdGlvbj5cbjwvbmctdGVtcGxhdGU+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrO292ZXJmbG93LXg6YXV0bztwYWRkaW5nOjB9Omhvc3QgLnZlcnNpb24tcGxhY2Vob2xkZXJ7Y29sb3I6Z3JheTtmb250LXNpemU6MTJweH06aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lcntoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2ZsZXgtZGlyZWN0aW9uOnJvd31AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpezpob3N0IC5jb25uZWN0b3ItY29udGFpbmVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn19Omhvc3QgLmNvbm5lY3Rvci1jb250YWluZXI+c2VjdGlvbjpub3QoLnRhYmxlLXNlY3Rpb24pe21heC13aWR0aDp1bnNldH1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpezpob3N0IC5jb25uZWN0b3ItY29udGFpbmVyPnNlY3Rpb246bm90KC50YWJsZS1zZWN0aW9uKXttYXgtd2lkdGg6NTAlfX06aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGFibGUtc2VjdGlvbnttaW4taGVpZ2h0OjM1dmg7b3ZlcmZsb3c6aGlkZGVufTpob3N0IC5jb25uZWN0b3ItY29udGFpbmVyIC50YWJsZS1zZWN0aW9uIC50YWJsZS1jb250YWluZXJ7b3ZlcmZsb3c6YXV0b306aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAuZmxleHtmbGV4OjF9Omhvc3QgLmNvbm5lY3Rvci1jb250YWluZXIgLmlucHV0LWNvbnRhaW5lcntoZWlnaHQ6YXV0b306aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAuc2VjdGlvbi1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfTpob3N0IC5tYXQtdG9vbGJhcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMDAwMDBkZSFpbXBvcnRhbnR9Omhvc3QgLm1hdC1tZGMtc2xpZGUtdG9nZ2xle21hcmdpbjowIDhweH06aG9zdCAuc3RhdHVze3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6MTZweDtmb250LXdlaWdodDo1MDA7d2lkdGg6Zml0LWNvbnRlbnQ7cGFkZGluZzo1cHggMTVweH06aG9zdCAuc3RhdHVzLXN5bmN7YmFja2dyb3VuZDojMTk4MDM4MGY7Y29sb3I6IzE5ODAzOH06aG9zdCAuc3RhdHVzLXVuc3luY3tiYWNrZ3JvdW5kOiNjYjI1MzAwZjtjb2xvcjojY2IyNTMwfTpob3N0IG1hdC1yb3d7Y3Vyc29yOnBvaW50ZXJ9Omhvc3QgLmRvdHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4O2JhY2tncm91bmQtY29sb3I6I2JiYjtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1ibG9ja306aG9zdCAuaGFzRXJyb3Jze2JhY2tncm91bmQtY29sb3I6I2NiMjUzMH06aG9zdCAubm9FcnJvcnN7YmFja2dyb3VuZC1jb2xvcjojMTk4MDM4fTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAubWF0LW1kYy10YWItZ3JvdXAsOmhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC5tYXQtbWRjLXRhYi1ib2R5LXdyYXBwZXJ7aGVpZ2h0OjEwMCV9Omhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC5tYXQtbWRjLXRhYi1ib2R5Lm1hdC1tZGMtdGFiLWJvZHktYWN0aXZle3Bvc2l0aW9uOmFic29sdXRlfTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGItZm9ybS1yb3cgLmZpeGVkLXRpdGxlLXdpZHRoe21pbi13aWR0aDoxMjBweDt3aWR0aDozMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGItYWRkLW5ld3tkaXNwbGF5OmZsZXg7ei1pbmRleDo5OTk7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Omhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC50Yi1hZGQtbmV3IGJ1dHRvbi5jb25uZWN0b3J7aGVpZ2h0OmF1dG87cGFkZGluZy1yaWdodDoxMnB4O2ZvbnQtc2l6ZToyMHB4O2JvcmRlci1zdHlsZTpkYXNoZWQ7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItcmFkaXVzOjhweDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6IzAwMDAwMDYxfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nVGVtcGxhdGVPdXRsZXQsc2VsZWN0b3I6IltuZ1RlbXBsYXRlT3V0bGV0XSIsaW5wdXRzOlsibmdUZW1wbGF0ZU91dGxldENvbnRleHQiLCJuZ1RlbXBsYXRlT3V0bGV0IiwibmdUZW1wbGF0ZU91dGxldEluamVjdG9yIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaCxzZWxlY3RvcjoiW25nU3dpdGNoXSIsaW5wdXRzOlsibmdTd2l0Y2giXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoQ2FzZSxzZWxlY3RvcjoiW25nU3dpdGNoQ2FzZV0iLGlucHV0czpbIm5nU3dpdGNoQ2FzZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZ0Lkpzb25PYmplY3RFZGl0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi1qc29uLW9iamVjdC1lZGl0IixpbnB1dHM6WyJsYWJlbCIsImRpc2FibGVkIiwiZmlsbEhlaWdodCIsImVkaXRvclN0eWxlIiwic29ydCIsImpzb25SZXF1aXJlZCIsInJlYWRvbmx5Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QnV0dG9uLHNlbGVjdG9yOiIgICAgYnV0dG9uW21hdC1idXR0b25dLCBidXR0b25bbWF0LXJhaXNlZC1idXR0b25dLCBidXR0b25bbWF0LWZsYXQtYnV0dG9uXSwgICAgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0gICIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRTdWZmaXgsc2VsZWN0b3I6IlttYXRTdWZmaXhdLCBbbWF0SWNvblN1ZmZpeF0sIFttYXRUZXh0U3VmZml4XSIsaW5wdXRzOlsibWF0VGV4dFN1ZmZpeCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnJ0Lk1hdFRvb2xiYXIsc2VsZWN0b3I6Im1hdC10b29sYmFyIixpbnB1dHM6WyJjb2xvciJdLGV4cG9ydEFzOlsibWF0VG9vbGJhciJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmh0Lk1hdE1lbnUsc2VsZWN0b3I6Im1hdC1tZW51IixpbnB1dHM6WyJiYWNrZHJvcENsYXNzIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImFyaWEtZGVzY3JpYmVkYnkiLCJ4UG9zaXRpb24iLCJ5UG9zaXRpb24iLCJvdmVybGFwVHJpZ2dlciIsImhhc0JhY2tkcm9wIiwiY2xhc3MiLCJjbGFzc0xpc3QiXSxvdXRwdXRzOlsiY2xvc2VkIiwiY2xvc2UiXSxleHBvcnRBczpbIm1hdE1lbnUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpodC5NYXRNZW51VHJpZ2dlcixzZWxlY3RvcjoiW21hdC1tZW51LXRyaWdnZXItZm9yXSwgW21hdE1lbnVUcmlnZ2VyRm9yXSIsaW5wdXRzOlsibWF0LW1lbnUtdHJpZ2dlci1mb3IiLCJtYXRNZW51VHJpZ2dlckZvciIsIm1hdE1lbnVUcmlnZ2VyRGF0YSIsIm1hdE1lbnVUcmlnZ2VyUmVzdG9yZUZvY3VzIl0sb3V0cHV0czpbIm1lbnVPcGVuZWQiLCJvbk1lbnVPcGVuIiwibWVudUNsb3NlZCIsIm9uTWVudUNsb3NlIl0sZXhwb3J0QXM6WyJtYXRNZW51VHJpZ2dlciJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOndlLk1hdFNlbGVjdCxzZWxlY3RvcjoibWF0LXNlbGVjdCIsaW5wdXRzOlsiYXJpYS1kZXNjcmliZWRieSIsInBhbmVsQ2xhc3MiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3IiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwibXVsdGlwbGUiLCJkaXNhYmxlT3B0aW9uQ2VudGVyaW5nIiwiY29tcGFyZVdpdGgiLCJ2YWx1ZSIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJlcnJvclN0YXRlTWF0Y2hlciIsInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLCJzb3J0Q29tcGFyYXRvciIsImlkIiwicGFuZWxXaWR0aCJdLG91dHB1dHM6WyJvcGVuZWRDaGFuZ2UiLCJvcGVuZWQiLCJjbG9zZWQiLCJzZWxlY3Rpb25DaGFuZ2UiLCJ2YWx1ZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2VsZWN0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmIuTWF0VGFibGUsc2VsZWN0b3I6Im1hdC10YWJsZSwgdGFibGVbbWF0LXRhYmxlXSIsZXhwb3J0QXM6WyJtYXRUYWJsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0SGVhZGVyQ2VsbERlZixzZWxlY3RvcjoiW21hdEhlYWRlckNlbGxEZWZdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlclJvd0RlZixzZWxlY3RvcjoiW21hdEhlYWRlclJvd0RlZl0iLGlucHV0czpbIm1hdEhlYWRlclJvd0RlZiIsIm1hdEhlYWRlclJvd0RlZlN0aWNreSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Q29sdW1uRGVmLHNlbGVjdG9yOiJbbWF0Q29sdW1uRGVmXSIsaW5wdXRzOlsibWF0Q29sdW1uRGVmIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsRGVmLHNlbGVjdG9yOiJbbWF0Q2VsbERlZl0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Um93RGVmLHNlbGVjdG9yOiJbbWF0Um93RGVmXSIsaW5wdXRzOlsibWF0Um93RGVmQ29sdW1ucyIsIm1hdFJvd0RlZldoZW4iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlckNlbGwsc2VsZWN0b3I6Im1hdC1oZWFkZXItY2VsbCwgdGhbbWF0LWhlYWRlci1jZWxsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsLHNlbGVjdG9yOiJtYXQtY2VsbCwgdGRbbWF0LWNlbGxdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdEhlYWRlclJvdyxzZWxlY3RvcjoibWF0LWhlYWRlci1yb3csIHRyW21hdC1oZWFkZXItcm93XSIsZXhwb3J0QXM6WyJtYXRIZWFkZXJSb3ciXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdFJvdyxzZWxlY3RvcjoibWF0LXJvdywgdHJbbWF0LXJvd10iLGV4cG9ydEFzOlsibWF0Um93Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Zi5NYXRTb3J0LHNlbGVjdG9yOiJbbWF0U29ydF0iLGlucHV0czpbIm1hdFNvcnRBY3RpdmUiLCJtYXRTb3J0U3RhcnQiLCJtYXRTb3J0RGlyZWN0aW9uIiwibWF0U29ydERpc2FibGVDbGVhciIsIm1hdFNvcnREaXNhYmxlZCJdLG91dHB1dHM6WyJtYXRTb3J0Q2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTb3J0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Zi5NYXRTb3J0SGVhZGVyLHNlbGVjdG9yOiJbbWF0LXNvcnQtaGVhZGVyXSIsaW5wdXRzOlsibWF0LXNvcnQtaGVhZGVyIiwiYXJyb3dQb3NpdGlvbiIsInN0YXJ0IiwiZGlzYWJsZWQiLCJzb3J0QWN0aW9uRGVzY3JpcHRpb24iLCJkaXNhYmxlQ2xlYXIiXSxleHBvcnRBczpbIm1hdFNvcnRIZWFkZXIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRBbGlnbkRpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRBbGlnbl0sIFtmeExheW91dEFsaWduLnhzXSwgW2Z4TGF5b3V0QWxpZ24uc21dLCBbZnhMYXlvdXRBbGlnbi5tZF0sICBbZnhMYXlvdXRBbGlnbi5sZ10sIFtmeExheW91dEFsaWduLnhsXSwgW2Z4TGF5b3V0QWxpZ24ubHQtc21dLCBbZnhMYXlvdXRBbGlnbi5sdC1tZF0sICBbZnhMYXlvdXRBbGlnbi5sdC1sZ10sIFtmeExheW91dEFsaWduLmx0LXhsXSwgW2Z4TGF5b3V0QWxpZ24uZ3QteHNdLCBbZnhMYXlvdXRBbGlnbi5ndC1zbV0sICBbZnhMYXlvdXRBbGlnbi5ndC1tZF0sIFtmeExheW91dEFsaWduLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRBbGlnbiIsImZ4TGF5b3V0QWxpZ24ueHMiLCJmeExheW91dEFsaWduLnNtIiwiZnhMYXlvdXRBbGlnbi5tZCIsImZ4TGF5b3V0QWxpZ24ubGciLCJmeExheW91dEFsaWduLnhsIiwiZnhMYXlvdXRBbGlnbi5sdC1zbSIsImZ4TGF5b3V0QWxpZ24ubHQtbWQiLCJmeExheW91dEFsaWduLmx0LWxnIiwiZnhMYXlvdXRBbGlnbi5sdC14bCIsImZ4TGF5b3V0QWxpZ24uZ3QteHMiLCJmeExheW91dEFsaWduLmd0LXNtIiwiZnhMYXlvdXRBbGlnbi5ndC1tZCIsImZ4TGF5b3V0QWxpZ24uZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRGbGV4RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeEZsZXhdLCBbZnhGbGV4LnhzXSwgW2Z4RmxleC5zbV0sIFtmeEZsZXgubWRdLCAgW2Z4RmxleC5sZ10sIFtmeEZsZXgueGxdLCBbZnhGbGV4Lmx0LXNtXSwgW2Z4RmxleC5sdC1tZF0sICBbZnhGbGV4Lmx0LWxnXSwgW2Z4RmxleC5sdC14bF0sIFtmeEZsZXguZ3QteHNdLCBbZnhGbGV4Lmd0LXNtXSwgIFtmeEZsZXguZ3QtbWRdLCBbZnhGbGV4Lmd0LWxnXSIsaW5wdXRzOlsiZnhGbGV4IiwiZnhGbGV4LnhzIiwiZnhGbGV4LnNtIiwiZnhGbGV4Lm1kIiwiZnhGbGV4LmxnIiwiZnhGbGV4LnhsIiwiZnhGbGV4Lmx0LXNtIiwiZnhGbGV4Lmx0LW1kIiwiZnhGbGV4Lmx0LWxnIiwiZnhGbGV4Lmx0LXhsIiwiZnhGbGV4Lmd0LXhzIiwiZnhGbGV4Lmd0LXNtIiwiZnhGbGV4Lmd0LW1kIiwiZnhGbGV4Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Sy5EZWZhdWx0U2hvd0hpZGVEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4U2hvd10sIFtmeFNob3cucHJpbnRdLCAgW2Z4U2hvdy54c10sIFtmeFNob3cuc21dLCBbZnhTaG93Lm1kXSwgW2Z4U2hvdy5sZ10sIFtmeFNob3cueGxdLCAgW2Z4U2hvdy5sdC1zbV0sIFtmeFNob3cubHQtbWRdLCBbZnhTaG93Lmx0LWxnXSwgW2Z4U2hvdy5sdC14bF0sICBbZnhTaG93Lmd0LXhzXSwgW2Z4U2hvdy5ndC1zbV0sIFtmeFNob3cuZ3QtbWRdLCBbZnhTaG93Lmd0LWxnXSwgIFtmeEhpZGVdLCBbZnhIaWRlLnByaW50XSwgIFtmeEhpZGUueHNdLCBbZnhIaWRlLnNtXSwgW2Z4SGlkZS5tZF0sIFtmeEhpZGUubGddLCBbZnhIaWRlLnhsXSwgIFtmeEhpZGUubHQtc21dLCBbZnhIaWRlLmx0LW1kXSwgW2Z4SGlkZS5sdC1sZ10sIFtmeEhpZGUubHQteGxdLCAgW2Z4SGlkZS5ndC14c10sIFtmeEhpZGUuZ3Qtc21dLCBbZnhIaWRlLmd0LW1kXSwgW2Z4SGlkZS5ndC1sZ10iLGlucHV0czpbImZ4U2hvdyIsImZ4U2hvdy5wcmludCIsImZ4U2hvdy54cyIsImZ4U2hvdy5zbSIsImZ4U2hvdy5tZCIsImZ4U2hvdy5sZyIsImZ4U2hvdy54bCIsImZ4U2hvdy5sdC1zbSIsImZ4U2hvdy5sdC1tZCIsImZ4U2hvdy5sdC1sZyIsImZ4U2hvdy5sdC14bCIsImZ4U2hvdy5ndC14cyIsImZ4U2hvdy5ndC1zbSIsImZ4U2hvdy5ndC1tZCIsImZ4U2hvdy5ndC1sZyIsImZ4SGlkZSIsImZ4SGlkZS5wcmludCIsImZ4SGlkZS54cyIsImZ4SGlkZS5zbSIsImZ4SGlkZS5tZCIsImZ4SGlkZS5sZyIsImZ4SGlkZS54bCIsImZ4SGlkZS5sdC1zbSIsImZ4SGlkZS5sdC1tZCIsImZ4SGlkZS5sdC1sZyIsImZ4SGlkZS5sdC14bCIsImZ4SGlkZS5ndC14cyIsImZ4SGlkZS5ndC1zbSIsImZ4SGlkZS5ndC1tZCIsImZ4SGlkZS5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOksuRGVmYXVsdFN0eWxlRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtuZ1N0eWxlXSwgIFtuZ1N0eWxlLnhzXSwgW25nU3R5bGUuc21dLCBbbmdTdHlsZS5tZF0sIFtuZ1N0eWxlLmxnXSwgW25nU3R5bGUueGxdLCAgW25nU3R5bGUubHQtc21dLCBbbmdTdHlsZS5sdC1tZF0sIFtuZ1N0eWxlLmx0LWxnXSwgW25nU3R5bGUubHQteGxdLCAgW25nU3R5bGUuZ3QteHNdLCBbbmdTdHlsZS5ndC1zbV0sIFtuZ1N0eWxlLmd0LW1kXSwgW25nU3R5bGUuZ3QtbGddIixpbnB1dHM6WyJuZ1N0eWxlIiwibmdTdHlsZS54cyIsIm5nU3R5bGUuc20iLCJuZ1N0eWxlLm1kIiwibmdTdHlsZS5sZyIsIm5nU3R5bGUueGwiLCJuZ1N0eWxlLmx0LXNtIiwibmdTdHlsZS5sdC1tZCIsIm5nU3R5bGUubHQtbGciLCJuZ1N0eWxlLmx0LXhsIiwibmdTdHlsZS5ndC14cyIsIm5nU3R5bGUuZ3Qtc20iLCJuZ1N0eWxlLmd0LW1kIiwibmdTdHlsZS5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bnQuVG9nZ2xlT3B0aW9uLHNlbGVjdG9yOiJ0Yi10b2dnbGUtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmF0LlRvZ2dsZVNlbGVjdENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXNlbGVjdCIsaW5wdXRzOlsiZGlzYWJsZWQiLCJzZWxlY3RNZWRpYUJyZWFrcG9pbnQiLCJhcHBlYXJhbmNlIiwiZGlzYWJsZVBhZ2luYXRpb24iLCJmaWxsSGVpZ2h0IiwiZXh0cmFQYWRkaW5nIiwicHJpbWFyeUJhY2tncm91bmQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpMbyxzZWxlY3RvcjoidGItbW9kYnVzLWxlZ2FjeS1iYXNpYy1jb25maWcifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmtvLHNlbGVjdG9yOiJ0Yi1tb2RidXMtYmFzaWMtY29uZmlnIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpGbyxzZWxlY3RvcjoidGItb3BjLXVhLWxlZ2FjeS1iYXNpYy1jb25maWcifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnBvLHNlbGVjdG9yOiJ0Yi1vcGMtdWEtYmFzaWMtY29uZmlnIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpBbyxzZWxlY3RvcjoidGItbXF0dC1sZWdhY3ktYmFzaWMtY29uZmlnIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpObyxzZWxlY3RvcjoidGItbXF0dC1iYXNpYy1jb25maWcifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmdvLHNlbGVjdG9yOiJ0Yi1yZXBvcnQtc3RyYXRlZ3kiLGlucHV0czpbImlzRXhwYW5zaW9uTW9kZSIsImRlZmF1bHRWYWx1ZSJdfSx7a2luZDoicGlwZSIsdHlwZTpfLkFzeW5jUGlwZSxuYW1lOiJhc3luYyJ9LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoicGlwZSIsdHlwZTp2YSxuYW1lOiJpc0xhdGVzdFZlcnNpb25Db25maWcifV19KX19ZSgiR2F0ZXdheUNvbm5lY3RvckNvbXBvbmVudCIsRW8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6RW8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktY29ubmVjdG9yIixwcm92aWRlcnM6W3twcm92aWRlOlRlLHVzZUNsYXNzOk1vfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJjb25uZWN0b3ItY29udGFpbmVyIHRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIj5cbiAgPHNlY3Rpb24gY2xhc3M9InRhYmxlLXNlY3Rpb24gdGItZm9ybS1wYW5lbCBuby1wYWRkaW5nIGZsZXggc2VjdGlvbi1jb250YWluZXIiPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIj5cbiAgICAgIDxoMj57eyBcJ2dhdGV3YXkuY29ubmVjdG9yc1wnIHwgdHJhbnNsYXRlIH19PC9oMj5cbiAgICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgICA8YnV0dG9uICpuZ0lmPSJkYXRhU291cmNlPy5kYXRhPy5sZW5ndGgiXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJpc0xvYWRpbmckIHwgYXN5bmMiXG4gICAgICAgICAgICAgIChjbGljayk9Im9uQWRkQ29ubmVjdG9yKCRldmVudCkiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmFkZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L21hdC10b29sYmFyPlxuICAgIDxkaXYgY2xhc3M9InRhYmxlLWNvbnRhaW5lciI+XG4gICAgICA8c2VjdGlvbiAqbmdJZj0iIWRhdGFTb3VyY2U/LmRhdGE/Lmxlbmd0aCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgIGNsYXNzPSJtYXQtaGVhZGxpbmUtNSB0Yi1hYnNvbHV0ZS1maWxsIHRiLWFkZC1uZXciPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9ImNvbm5lY3RvciJcbiAgICAgICAgKGNsaWNrKT0ib25BZGRDb25uZWN0b3IoJGV2ZW50KSI+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJ0Yi1tYXQtOTYiPmFkZDwvbWF0LWljb24+XG4gICAgICAgICAgPHNwYW4+e3sgXCdnYXRld2F5LmFkZC1jb25uZWN0b3JcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT0iZGF0YVNvdXJjZSJcbiAgICAgICAgICAgICBtYXRTb3J0IFttYXRTb3J0QWN0aXZlXT0icGFnZUxpbmsuc29ydE9yZGVyLnByb3BlcnR5IiBbbWF0U29ydERpcmVjdGlvbl09InBhZ2VMaW5rLnNvcnREaXJlY3Rpb24oKSJcbiAgICAgICAgICAgICBtYXRTb3J0RGlzYWJsZUNsZWFyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iZW5hYmxlZCIgc3RpY2t5PlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgc3R5bGU9IndpZHRoOiA2MHB4O21pbi13aWR0aDogNjBweDsiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtZW5hYmxlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgYXR0cmlidXRlIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIFtjaGVja2VkXT0iYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyhhdHRyaWJ1dGUua2V5KSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgb25FbmFibGVDb25uZWN0b3IoYXR0cmlidXRlKSI+PC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0ia2V5Ij5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDQwJSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1uYW1lXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiPlxuICAgICAgICAgICAge3sgYXR0cmlidXRlLmtleSB9fVxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0idHlwZSI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgc3R5bGU9IndpZHRoOiAzMCUiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtdHlwZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgYXR0cmlidXRlIiBzdHlsZT0idGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSI+XG4gICAgICAgICAgICB7eyByZXR1cm5UeXBlKGF0dHJpYnV0ZSkgfX1cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9InN5bmNTdGF0dXMiPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIHN0eWxlPSJ3aWR0aDogMzAlIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5jb25maWd1cmF0aW9uXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzIiBbY2xhc3NdPSJpc0Nvbm5lY3RvclN5bmNlZChhdHRyaWJ1dGUpID8gXCdzdGF0dXMtc3luY1wnIDogXCdzdGF0dXMtdW5zeW5jXCciPlxuICAgICAgICAgICAgICAgIHt7IGlzQ29ubmVjdG9yU3luY2VkKGF0dHJpYnV0ZSkgPyBcJ3N5bmNcJyA6IFwnb3V0IG9mIHN5bmNcJyB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9ImVycm9ycyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgc3R5bGU9IndpZHRoOiAzMCUiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtc3RhdHVzXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkb3QiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ0Vycm9yczogXCcrIGdldEVycm9yc0NvdW50KGF0dHJpYnV0ZSl9fSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPSJjb25uZWN0b3JMb2dzKGF0dHJpYnV0ZSwgJGV2ZW50KSJcbiAgICAgICAgICAgICAgICAgIFtjbGFzc109IntcJ2hhc0Vycm9yc1wnOiArZ2V0RXJyb3JzQ291bnQoYXR0cmlidXRlKSA+IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCdub0Vycm9yc1wnOiArZ2V0RXJyb3JzQ291bnQoYXR0cmlidXRlKSA9PT0gMCB8fCBnZXRFcnJvcnNDb3VudChhdHRyaWJ1dGUpID09PSBcJ1wnfSI+PC9zcGFuPlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iYWN0aW9ucyIgc3RpY2t5RW5kPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlLmd0LW1kXT0ieyBtaW5XaWR0aDogXCcxNDRweFwnLCBtYXhXaWR0aDogXCcxNDRweFwnLCB3aWR0aDogXCcxNDRweFwnLCB0ZXh0QWxpZ246IFwnY2VudGVyXCd9Ij5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWFjdGlvbnNcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IGF0dHJpYnV0ZSJcbiAgICAgICAgICAgICAgICAgICAgW25nU3R5bGUuZ3QtbWRdPSJ7IG1pbldpZHRoOiBcJzE0NHB4XCcsIG1heFdpZHRoOiBcJzE0NHB4XCcsIHdpZHRoOiBcJzE0NHB4XCd9Ij5cbiAgICAgICAgICAgIDxkaXYgZnhIaWRlIGZ4U2hvdy5ndC1tZCBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJSUEMiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJjb25uZWN0b3JScGMoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+cHJpdmF0ZV9jb25uZWN0aXZpdHk8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJMb2dzIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iY29ubmVjdG9yTG9ncyhhdHRyaWJ1dGUsICRldmVudCkiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5saXN0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0iRGVsZXRlIGNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9ImRlbGV0ZUNvbm5lY3RvcihhdHRyaWJ1dGUsICRldmVudCkiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmeEhpZGUgZnhTaG93Lmx0LWxnPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPSJjZWxsQWN0aW9uc01lbnUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8bWF0LW1lbnUgI2NlbGxBY3Rpb25zTWVudT0ibWF0TWVudSIgeFBvc2l0aW9uPSJiZWZvcmUiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJSUEMiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iY29ubmVjdG9yUnBjKGF0dHJpYnV0ZSwgJGV2ZW50KSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24+cHJpdmF0ZV9jb25uZWN0aXZpdHk8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJMb2dzIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9ImNvbm5lY3RvckxvZ3MoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5saXN0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0iRGVsZXRlIGNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJkZWxldGVDb25uZWN0b3IoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxtYXQtaGVhZGVyLXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbWF0SGVhZGVyUm93RGVmPSJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWUiPjwvbWF0LWhlYWRlci1yb3c+XG4gICAgICAgIDxtYXQtcm93IGNsYXNzPSJtYXQtcm93LXNlbGVjdCIgW2NsYXNzXT0ie1wndGItY3VycmVudC1lbnRpdHlcJzogaXNTYW1lQ29ubmVjdG9yKGF0dHJpYnV0ZSl9IlxuICAgICAgICAgICAgICAgICAqbWF0Um93RGVmPSJsZXQgYXR0cmlidXRlOyBsZXQgaSA9IGluZGV4OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyIgKGNsaWNrKT0ic2VsZWN0Q29ubmVjdG9yKCRldmVudCwgYXR0cmlidXRlKSI+PC9tYXQtcm93PlxuICAgICAgPC90YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9zZWN0aW9uPlxuICA8c2VjdGlvbiBbZm9ybUdyb3VwXT0iY29ubmVjdG9yRm9ybSIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc2VjdGlvbi1jb250YWluZXIgZmxleCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSB0Yi1mbGV4IG5vLWZsZXggc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSI+XG4gICAgICAgIHt7IGluaXRpYWxDb25uZWN0b3I/LnR5cGUgPyBHYXRld2F5Q29ubmVjdG9yVHlwZXNUcmFuc2xhdGVzTWFwLmdldChpbml0aWFsQ29ubmVjdG9yLnR5cGUpIDogXCdcJyB9fVxuICAgICAgICB7eyBcJ2dhdGV3YXkuY29uZmlndXJhdGlvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDxzcGFuIGNsYXNzPSJ2ZXJzaW9uLXBsYWNlaG9sZGVyIiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdjb25maWdWZXJzaW9uXCcpLnZhbHVlIj52e3tjb25uZWN0b3JGb3JtLmdldChcJ2NvbmZpZ1ZlcnNpb25cJykudmFsdWV9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgKm5nSWY9ImluaXRpYWxDb25uZWN0b3IgJiYgYWxsb3dCYXNpY0NvbmZpZy5oYXMoaW5pdGlhbENvbm5lY3Rvci50eXBlKSJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0ibW9kZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uIFt2YWx1ZV09IkNvbm5lY3RvckNvbmZpZ3VyYXRpb25Nb2Rlcy5CQVNJQyI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LmJhc2ljXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiBbdmFsdWVdPSJDb25uZWN0b3JDb25maWd1cmF0aW9uTW9kZXMuQURWQU5DRUQiPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5hZHZhbmNlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgIDwvdGItdG9nZ2xlLXNlbGVjdD5cbiAgICA8L2Rpdj5cbiAgICA8c3BhbiBbZnhTaG93XT0iIWluaXRpYWxDb25uZWN0b3IiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCIgdHJhbnNsYXRlPlxuICAgICAgZ2F0ZXdheS5zZWxlY3QtY29ubmVjdG9yXG4gICAgPC9zcGFuPlxuICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHNlY3Rpb24tY29udGFpbmVyIG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLWZsZXggc3BhY2UtYmV0d2VlbiIgKm5nSWY9ImluaXRpYWxDb25uZWN0b3IiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdtb2RlXCcpPy52YWx1ZSA9PT0gQ29ubmVjdG9yQ29uZmlndXJhdGlvbk1vZGVzLkJBU0lDIGVsc2UgZGVmYXVsdENvbmZpZyI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT0iaW5pdGlhbENvbm5lY3Rvci50eXBlIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9IkNvbm5lY3RvclR5cGUuTVFUVCI+XG4gICAgICAgICAgICA8dGItbXF0dC1iYXNpYy1jb25maWdcbiAgICAgICAgICAgICAgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwnY29uZmlnVmVyc2lvblwnKS52YWx1ZSB8IGlzTGF0ZXN0VmVyc2lvbkNvbmZpZyBlbHNlIGxlZ2FjeSJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgW2dlbmVyYWxUYWJDb250ZW50XT0iZ2VuZXJhbFRhYkNvbnRlbnQiXG4gICAgICAgICAgICAgIChpbml0aWFsaXplZCk9ImJhc2ljQ29uZmlnSW5pdFN1YmplY3QubmV4dCgpIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbGVnYWN5PlxuICAgICAgICAgICAgICA8dGItbXF0dC1sZWdhY3ktYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk9QQ1VBIj5cbiAgICAgICAgICAgIDx0Yi1vcGMtdWEtYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ2NvbmZpZ1ZlcnNpb25cJykudmFsdWUgfCBpc0xhdGVzdFZlcnNpb25Db25maWcgZWxzZSBsZWdhY3kiXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICAgICAgICAgIFtnZW5lcmFsVGFiQ29udGVudF09ImdlbmVyYWxUYWJDb250ZW50IlxuICAgICAgICAgICAgICAoaW5pdGlhbGl6ZWQpPSJiYXNpY0NvbmZpZ0luaXRTdWJqZWN0Lm5leHQoKSJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2xlZ2FjeT5cbiAgICAgICAgICAgICAgPHRiLW9wYy11YS1sZWdhY3ktYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk1PREJVUyI+XG4gICAgICAgICAgICA8dGItbW9kYnVzLWJhc2ljLWNvbmZpZ1xuICAgICAgICAgICAgICAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdjb25maWdWZXJzaW9uXCcpLnZhbHVlIHwgaXNMYXRlc3RWZXJzaW9uQ29uZmlnIGVsc2UgbGVnYWN5IlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9ImJhc2ljQ29uZmlnIlxuICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNsZWdhY3k+XG4gICAgICAgICAgICAgIDx0Yi1tb2RidXMtbGVnYWN5LWJhc2ljLWNvbmZpZ1xuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgW2dlbmVyYWxUYWJDb250ZW50XT0iZ2VuZXJhbFRhYkNvbnRlbnQiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q29uZmlnPlxuICAgICAgICA8bWF0LXRhYi1ncm91cD5cbiAgICAgICAgICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgICAgICAgICAgPHRiLWpzb24tb2JqZWN0LWVkaXRcbiAgICAgICAgICAgICAgZmlsbEhlaWdodD0idHJ1ZSJcbiAgICAgICAgICAgICAgY2xhc3M9InRiLWZsZXggZmlsbC1oZWlnaHQiXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PSJjb2x1bW4iXG4gICAgICAgICAgICAgIGpzb25SZXF1aXJlZFxuICAgICAgICAgICAgICBsYWJlbD0ie3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJjb25maWd1cmF0aW9uSnNvbiI+XG4gICAgICAgICAgICA8L3RiLWpzb24tb2JqZWN0LWVkaXQ+XG4gICAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgICA8L21hdC10YWItZ3JvdXA+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGRpdiBmeExheW91dEFsaWduPSJlbmQgY2VudGVyIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iIWNvbm5lY3RvckZvcm0uZGlydHkgfHwgY29ubmVjdG9yRm9ybS5pbnZhbGlkIlxuICAgICAgICAgICAgICAgIChjbGljayk9Im9uU2F2ZUNvbm5lY3RvcigpIj5cbiAgICAgICAgICB7eyBcJ2FjdGlvbi5zYXZlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG4gIDwvc2VjdGlvbj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNnZW5lcmFsVGFiQ29udGVudD5cbiAgPHNlY3Rpb24gW2Zvcm1Hcm91cF09ImNvbm5lY3RvckZvcm0iIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIHNlY3Rpb24tY29udGFpbmVyIGZsZXgiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiID5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5uYW1lPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGF1dG9jb21wbGV0ZT0ib2ZmIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJuYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS5oYXNFcnJvcihcJ2R1cGxpY2F0ZU5hbWVcJykgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCdnYXRld2F5LmNvbm5lY3Rvci1kdXBsaWNhdGUtbmFtZVwnIDogXCdnYXRld2F5Lm5hbWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSIoY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYgY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLnRvdWNoZWQpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0b3JGb3JtLmdldChcJ25hbWVcJykuaGFzRXJyb3IoXCdkdXBsaWNhdGVOYW1lXCcpIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IENvbm5lY3RvclR5cGUuQ1VTVE9NIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1jbGFzczwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJjbGFzcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlID09PSBDb25uZWN0b3JUeXBlLkdSUEMiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWtleTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJrZXkiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5sb2dzLWNvbmZpZ3VyYXRpb248L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0iZW5hYmxlUmVtb3RlTG9nZ2luZyI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5lbmFibGUtcmVtb3RlLWxvZ2dpbmdcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucmVtb3RlLWxvZ2dpbmctbGV2ZWw8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImxvZ0xldmVsIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbG9nTGV2ZWwgb2YgZ2F0ZXdheUxvZ0xldmVsIiBbdmFsdWVdPSJsb2dMZXZlbCI+e3sgbG9nTGV2ZWwgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IENvbm5lY3RvclR5cGUuTVFUVCIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJzZW5kRGF0YU9ubHlPbkNoYW5nZSI+XG4gICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5zZW5kLWNoYW5nZS1kYXRhLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnNlbmQtY2hhbmdlLWRhdGFcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8L2Rpdj5cbiAgICA8dGItcmVwb3J0LXN0cmF0ZWd5XG4gICAgICBbZGVmYXVsdFZhbHVlXT0iUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWUuQ29ubmVjdG9yIlxuICAgICAgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gQ29ubmVjdG9yVHlwZS5NT0RCVVMgJiYgKGNvbm5lY3RvckZvcm0uZ2V0KFwnY29uZmlnVmVyc2lvblwnKS52YWx1ZSB8IGlzTGF0ZXN0VmVyc2lvbkNvbmZpZykiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9InJlcG9ydFN0cmF0ZWd5IlxuICAgIC8+XG4gIDwvc2VjdGlvbj5cbjwvbmctdGVtcGxhdGU+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrO292ZXJmbG93LXg6YXV0bztwYWRkaW5nOjB9Omhvc3QgLnZlcnNpb24tcGxhY2Vob2xkZXJ7Y29sb3I6Z3JheTtmb250LXNpemU6MTJweH06aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lcntoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2ZsZXgtZGlyZWN0aW9uOnJvd31AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpezpob3N0IC5jb25uZWN0b3ItY29udGFpbmVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn19Omhvc3QgLmNvbm5lY3Rvci1jb250YWluZXI+c2VjdGlvbjpub3QoLnRhYmxlLXNlY3Rpb24pe21heC13aWR0aDp1bnNldH1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpezpob3N0IC5jb25uZWN0b3ItY29udGFpbmVyPnNlY3Rpb246bm90KC50YWJsZS1zZWN0aW9uKXttYXgtd2lkdGg6NTAlfX06aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGFibGUtc2VjdGlvbnttaW4taGVpZ2h0OjM1dmg7b3ZlcmZsb3c6aGlkZGVufTpob3N0IC5jb25uZWN0b3ItY29udGFpbmVyIC50YWJsZS1zZWN0aW9uIC50YWJsZS1jb250YWluZXJ7b3ZlcmZsb3c6YXV0b306aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAuZmxleHtmbGV4OjF9Omhvc3QgLmNvbm5lY3Rvci1jb250YWluZXIgLmlucHV0LWNvbnRhaW5lcntoZWlnaHQ6YXV0b306aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAuc2VjdGlvbi1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfTpob3N0IC5tYXQtdG9vbGJhcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMDAwMDBkZSFpbXBvcnRhbnR9Omhvc3QgLm1hdC1tZGMtc2xpZGUtdG9nZ2xle21hcmdpbjowIDhweH06aG9zdCAuc3RhdHVze3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6MTZweDtmb250LXdlaWdodDo1MDA7d2lkdGg6Zml0LWNvbnRlbnQ7cGFkZGluZzo1cHggMTVweH06aG9zdCAuc3RhdHVzLXN5bmN7YmFja2dyb3VuZDojMTk4MDM4MGY7Y29sb3I6IzE5ODAzOH06aG9zdCAuc3RhdHVzLXVuc3luY3tiYWNrZ3JvdW5kOiNjYjI1MzAwZjtjb2xvcjojY2IyNTMwfTpob3N0IG1hdC1yb3d7Y3Vyc29yOnBvaW50ZXJ9Omhvc3QgLmRvdHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4O2JhY2tncm91bmQtY29sb3I6I2JiYjtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1ibG9ja306aG9zdCAuaGFzRXJyb3Jze2JhY2tncm91bmQtY29sb3I6I2NiMjUzMH06aG9zdCAubm9FcnJvcnN7YmFja2dyb3VuZC1jb2xvcjojMTk4MDM4fTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAubWF0LW1kYy10YWItZ3JvdXAsOmhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC5tYXQtbWRjLXRhYi1ib2R5LXdyYXBwZXJ7aGVpZ2h0OjEwMCV9Omhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC5tYXQtbWRjLXRhYi1ib2R5Lm1hdC1tZGMtdGFiLWJvZHktYWN0aXZle3Bvc2l0aW9uOmFic29sdXRlfTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGItZm9ybS1yb3cgLmZpeGVkLXRpdGxlLXdpZHRoe21pbi13aWR0aDoxMjBweDt3aWR0aDozMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGItYWRkLW5ld3tkaXNwbGF5OmZsZXg7ei1pbmRleDo5OTk7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Omhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC50Yi1hZGQtbmV3IGJ1dHRvbi5jb25uZWN0b3J7aGVpZ2h0OmF1dG87cGFkZGluZy1yaWdodDoxMnB4O2ZvbnQtc2l6ZToyMHB4O2JvcmRlci1zdHlsZTpkYXNoZWQ7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItcmFkaXVzOjhweDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6IzAwMDAwMDYxfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6b3QuU3RvcmV9LHt0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0eXBlOlguQXR0cmlidXRlU2VydmljZX0se3R5cGU6WC5EaWFsb2dTZXJ2aWNlfSx7dHlwZTpKZS5NYXREaWFsb2d9LHt0eXBlOlguVGVsZW1ldHJ5V2Vic29ja2V0U2VydmljZX0se3R5cGU6dC5OZ1pvbmV9LHt0eXBlOlguVXRpbHNTZXJ2aWNlfSx7dHlwZTp2YX0se3R5cGU6dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHByb3BEZWNvcmF0b3JzOntjdHg6W3t0eXBlOmF9XSxkZXZpY2U6W3t0eXBlOmF9XSxuYW1lSW5wdXQ6W3t0eXBlOm8sYXJnczpbIm5hbWVJbnB1dCJdfV0sc29ydDpbe3R5cGU6byxhcmdzOltnLHtzdGF0aWM6ITF9XX1dfX0pO2NsYXNzIHFve2NvbnN0cnVjdG9yKGUpe3RoaXMuZGV2aWNlU2VydmljZT1lfWRvd25sb2FkKGUpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5kZXZpY2VJZCYmdGhpcy5kZXZpY2VTZXJ2aWNlLmRvd25sb2FkR2F0ZXdheURvY2tlckNvbXBvc2VGaWxlKHRoaXMuZGV2aWNlSWQpLnN1YnNjcmliZSgoKCk9Pnt9KSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpxbyxkZXBzOlt7dG9rZW46WC5EZXZpY2VTZXJ2aWNlfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpxbyxzZWxlY3RvcjoidGItZ2F0ZXdheS1jb21tYW5kIixpbnB1dHM6e2RldmljZUlkOiJkZXZpY2VJZCJ9LG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudCBzdHlsZT0icGFkZGluZzogMTZweCAxNnB4IDhweCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIj5cbiAgPGRpdiBjbGFzcz0idGItbm8tZGF0YS10ZXh0Ij57eyBcJ2dhdGV3YXkuZG9ja2VyLWxhYmVsXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+ZGV2aWNlLmNvbm5lY3Rpdml0eS5pbnN0YWxsLW5lY2Vzc2FyeS1jbGllbnQtdG9vbHM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyBzcGFjZS1iZXR3ZWVuIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLW5vLWRhdGEtdGV4dCB0Yi1jb21tYW5kcy1oaW50IiB0cmFuc2xhdGU+Z2F0ZXdheS5pbnN0YWxsLWRvY2tlci1jb21wb3NlPC9kaXY+XG4gICAgICA8YSBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9InByaW1hcnkiIGhyZWY9Imh0dHBzOi8vZG9jcy5kb2NrZXIuY29tL2NvbXBvc2UvaW5zdGFsbC8iIHRhcmdldD0iX2JsYW5rIj5cbiAgICAgICAgPG1hdC1pY29uPmRlc2NyaXB0aW9uPC9tYXQtaWNvbj5cbiAgICAgICAge3sgXCdjb21tb24uZG9jdW1lbnRhdGlvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2E+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuZG93bmxvYWQtY29uZmlndXJhdGlvbi1maWxlPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgc3BhY2UtYmV0d2VlbiI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1uby1kYXRhLXRleHQgdGItY29tbWFuZHMtaGludCIgdHJhbnNsYXRlPmdhdGV3YXkuZG93bmxvYWQtZG9ja2VyLWNvbXBvc2U8L2Rpdj5cbiAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJkb3dubG9hZCgkZXZlbnQpIj5cbiAgICAgICAgPG1hdC1pY29uPmRvd25sb2FkPC9tYXQtaWNvbj5cbiAgICAgICAge3sgXCdhY3Rpb24uZG93bmxvYWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkubGF1bmNoLWdhdGV3YXk8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1uby1kYXRhLXRleHQgdGItY29tbWFuZHMtaGludCIgdHJhbnNsYXRlPmdhdGV3YXkubGF1bmNoLWRvY2tlci1jb21wb3NlPC9kaXY+XG4gICAgPHRiLW1hcmtkb3duIHVzZVBsYWluTWFya2Rvd24gY29udGFpbmVyQ2xhc3M9InN0YXJ0LWNvZGUiXG4gICAgICAgICAgICAgICAgIGRhdGE9IlxuICAgICAgICAgIGBgYGJhc2hcbiAgICAgICAgICBkb2NrZXIgY29tcG9zZSB1cFxuICAgICAgICAgIHs6Y29weS1jb2RlfVxuICAgICAgICAgIGBgYFxuICAgICAgIj48L3RiLW1hcmtkb3duPlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC50Yi1jb21tYW5kcy1oaW50e2NvbG9yOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2ZsZXg6MX06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgLmNvZGUtd3JhcHBlcntwYWRkaW5nOjB9Omhvc3QgOjpuZy1kZWVwIC50Yi1tYXJrZG93bi12aWV3IC5zdGFydC1jb2RlIC5jb2RlLXdyYXBwZXIgcHJlW2NsYXNzKj1sYW5ndWFnZS1de21hcmdpbjowO2JhY2tncm91bmQ6I2YzZjZmYTtib3JkZXItY29sb3I6IzMwNTY4MDtwYWRkaW5nLXJpZ2h0OjM4cHg7b3ZlcmZsb3c6c2Nyb2xsO3BhZGRpbmctYm90dG9tOjRweDttaW4taGVpZ2h0OjQycHg7c2Nyb2xsYmFyLXdpZHRoOnRoaW59Omhvc3QgOjpuZy1kZWVwIC50Yi1tYXJrZG93bi12aWV3IC5zdGFydC1jb2RlIC5jb2RlLXdyYXBwZXIgcHJlW2NsYXNzKj1sYW5ndWFnZS1dOjotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo0cHg7aGVpZ2h0OjRweH06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG57cmlnaHQ6LTJweH06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG4gcHtjb2xvcjojMzA1NjgwfTpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBwLDpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBkaXZ7YmFja2dyb3VuZC1jb2xvcjojZjNmNmZhfTpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBkaXYgaW1ne2Rpc3BsYXk6bm9uZX06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG4gZGl2OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246aW5pdGlhbDtkaXNwbGF5OmJsb2NrO3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7YmFja2dyb3VuZDojMzA1NjgwO21hc2staW1hZ2U6dXJsKC9hc3NldHMvY29weS1jb2RlLWljb24uc3ZnKTstd2Via2l0LW1hc2staW1hZ2U6dXJsKC9hc3NldHMvY29weS1jb2RlLWljb24uc3ZnKTttYXNrLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1tYXNrLXJlcGVhdDpuby1yZXBlYXR9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJjb21wb25lbnQiLHR5cGU6d3QuVGJNYXJrZG93bkNvbXBvbmVudCxzZWxlY3RvcjoidGItbWFya2Rvd24iLGlucHV0czpbImRhdGEiLCJjb250ZXh0IiwiYWRkaXRpb25hbENvbXBpbGVNb2R1bGVzIiwibWFya2Rvd25DbGFzcyIsImNvbnRhaW5lckNsYXNzIiwic3R5bGUiLCJhcHBseURlZmF1bHRNYXJrZG93blN0eWxlIiwiYWRkaXRpb25hbFN0eWxlcyIsImxpbmVOdW1iZXJzIiwiZmFsbGJhY2tUb1BsYWluTWFya2Rvd24iLCJ1c2VQbGFpbk1hcmtkb3duIl0sb3V0cHV0czpbInJlYWR5Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QW5jaG9yLHNlbGVjdG9yOiJhW21hdC1idXR0b25dLCBhW21hdC1yYWlzZWQtYnV0dG9uXSwgYVttYXQtZmxhdC1idXR0b25dLCBhW21hdC1zdHJva2VkLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIiwibWF0QW5jaG9yIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QnV0dG9uLHNlbGVjdG9yOiIgICAgYnV0dG9uW21hdC1idXR0b25dLCBidXR0b25bbWF0LXJhaXNlZC1idXR0b25dLCBidXR0b25bbWF0LWZsYXQtYnV0dG9uXSwgICAgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0gICIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQ29udGVudCxzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XX0pfX1lKCJEZXZpY2VHYXRld2F5Q29tbWFuZENvbXBvbmVudCIscW8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6cW8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktY29tbWFuZCIsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudCBzdHlsZT0icGFkZGluZzogMTZweCAxNnB4IDhweCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIj5cbiAgPGRpdiBjbGFzcz0idGItbm8tZGF0YS10ZXh0Ij57eyBcJ2dhdGV3YXkuZG9ja2VyLWxhYmVsXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+ZGV2aWNlLmNvbm5lY3Rpdml0eS5pbnN0YWxsLW5lY2Vzc2FyeS1jbGllbnQtdG9vbHM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyBzcGFjZS1iZXR3ZWVuIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLW5vLWRhdGEtdGV4dCB0Yi1jb21tYW5kcy1oaW50IiB0cmFuc2xhdGU+Z2F0ZXdheS5pbnN0YWxsLWRvY2tlci1jb21wb3NlPC9kaXY+XG4gICAgICA8YSBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9InByaW1hcnkiIGhyZWY9Imh0dHBzOi8vZG9jcy5kb2NrZXIuY29tL2NvbXBvc2UvaW5zdGFsbC8iIHRhcmdldD0iX2JsYW5rIj5cbiAgICAgICAgPG1hdC1pY29uPmRlc2NyaXB0aW9uPC9tYXQtaWNvbj5cbiAgICAgICAge3sgXCdjb21tb24uZG9jdW1lbnRhdGlvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2E+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuZG93bmxvYWQtY29uZmlndXJhdGlvbi1maWxlPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgc3BhY2UtYmV0d2VlbiI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1uby1kYXRhLXRleHQgdGItY29tbWFuZHMtaGludCIgdHJhbnNsYXRlPmdhdGV3YXkuZG93bmxvYWQtZG9ja2VyLWNvbXBvc2U8L2Rpdj5cbiAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJkb3dubG9hZCgkZXZlbnQpIj5cbiAgICAgICAgPG1hdC1pY29uPmRvd25sb2FkPC9tYXQtaWNvbj5cbiAgICAgICAge3sgXCdhY3Rpb24uZG93bmxvYWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkubGF1bmNoLWdhdGV3YXk8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1uby1kYXRhLXRleHQgdGItY29tbWFuZHMtaGludCIgdHJhbnNsYXRlPmdhdGV3YXkubGF1bmNoLWRvY2tlci1jb21wb3NlPC9kaXY+XG4gICAgPHRiLW1hcmtkb3duIHVzZVBsYWluTWFya2Rvd24gY29udGFpbmVyQ2xhc3M9InN0YXJ0LWNvZGUiXG4gICAgICAgICAgICAgICAgIGRhdGE9IlxuICAgICAgICAgIGBgYGJhc2hcbiAgICAgICAgICBkb2NrZXIgY29tcG9zZSB1cFxuICAgICAgICAgIHs6Y29weS1jb2RlfVxuICAgICAgICAgIGBgYFxuICAgICAgIj48L3RiLW1hcmtkb3duPlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC50Yi1jb21tYW5kcy1oaW50e2NvbG9yOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2ZsZXg6MX06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgLmNvZGUtd3JhcHBlcntwYWRkaW5nOjB9Omhvc3QgOjpuZy1kZWVwIC50Yi1tYXJrZG93bi12aWV3IC5zdGFydC1jb2RlIC5jb2RlLXdyYXBwZXIgcHJlW2NsYXNzKj1sYW5ndWFnZS1de21hcmdpbjowO2JhY2tncm91bmQ6I2YzZjZmYTtib3JkZXItY29sb3I6IzMwNTY4MDtwYWRkaW5nLXJpZ2h0OjM4cHg7b3ZlcmZsb3c6c2Nyb2xsO3BhZGRpbmctYm90dG9tOjRweDttaW4taGVpZ2h0OjQycHg7c2Nyb2xsYmFyLXdpZHRoOnRoaW59Omhvc3QgOjpuZy1kZWVwIC50Yi1tYXJrZG93bi12aWV3IC5zdGFydC1jb2RlIC5jb2RlLXdyYXBwZXIgcHJlW2NsYXNzKj1sYW5ndWFnZS1dOjotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo0cHg7aGVpZ2h0OjRweH06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG57cmlnaHQ6LTJweH06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG4gcHtjb2xvcjojMzA1NjgwfTpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBwLDpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBkaXZ7YmFja2dyb3VuZC1jb2xvcjojZjNmNmZhfTpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBkaXYgaW1ne2Rpc3BsYXk6bm9uZX06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG4gZGl2OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246aW5pdGlhbDtkaXNwbGF5OmJsb2NrO3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7YmFja2dyb3VuZDojMzA1NjgwO21hc2staW1hZ2U6dXJsKC9hc3NldHMvY29weS1jb2RlLWljb24uc3ZnKTstd2Via2l0LW1hc2staW1hZ2U6dXJsKC9hc3NldHMvY29weS1jb2RlLWljb24uc3ZnKTttYXNrLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1tYXNrLXJlcGVhdDpuby1yZXBlYXR9XG4nXX1dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTpYLkRldmljZVNlcnZpY2V9XSxwcm9wRGVjb3JhdG9yczp7ZGV2aWNlSWQ6W3t0eXBlOmF9XX19KTtjbGFzcyBEb3tjb25zdHJ1Y3RvcihlLHQsbixhKXt0aGlzLmZiPWUsdGhpcy5kZXZpY2VTZXJ2aWNlPXQsdGhpcy5jZD1uLHRoaXMuZGlhbG9nPWEsdGhpcy5kaWFsb2dNb2RlPSExLHRoaXMuaW5pdGlhbENyZWRlbnRpYWxzVXBkYXRlZD1uZXcgaSx0aGlzLlN0b3JhZ2VUeXBlcz1BdCx0aGlzLnN0b3JhZ2VUeXBlcz1PYmplY3QudmFsdWVzKEF0KSx0aGlzLnN0b3JhZ2VUeXBlc1RyYW5zbGF0aW9uTWFwPVJ0LHRoaXMubG9nU2F2aW5nUGVyaW9kcz1PdCx0aGlzLmxvY2FsTG9nc0NvbmZpZ3M9T2JqZWN0LmtleXMoUHQpLHRoaXMubG9jYWxMb2dzQ29uZmlnVHJhbnNsYXRlTWFwPUd0LHRoaXMuc2VjdXJpdHlUeXBlcz1CdCx0aGlzLmdhdGV3YXlMb2dMZXZlbD1PYmplY3QudmFsdWVzKE10KSx0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLmluaXRCYXNpY0Zvcm1Hcm91cCgpLHRoaXMub2JzZXJ2ZUZvcm1DaGFuZ2VzKCksdGhpcy5iYXNpY0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9d3JpdGVWYWx1ZShlKXt0aGlzLmJhc2ljRm9ybUdyb3VwLnBhdGNoVmFsdWUoZSx7ZW1pdEV2ZW50OiExfSksdGhpcy5jaGVja0FuZEZldGNoQ3JlZGVudGlhbHMoZT8udGhpbmdzYm9hcmQ/LnNlY3VyaXR5Pz97fSksZT8uZ3JwYyYmdGhpcy50b2dnbGVScGNGaWVsZHMoZS5ncnBjLmVuYWJsZWQpOyhlPy50aGluZ3Nib2FyZD8uc3RhdGlzdGljcz8uY29tbWFuZHM/P1tdKS5mb3JFYWNoKChlPT50aGlzLmFkZENvbW1hbmQoZSwhMSkpKX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLmJhc2ljRm9ybUdyb3VwLnZhbGlkP251bGw6e2Jhc2ljRm9ybUdyb3VwOnt2YWxpZDohMX19fWF0TGVhc3RPbmVSZXF1aXJlZChlLHQ9bnVsbCl7cmV0dXJuIG49Pnt0fHwodD1PYmplY3Qua2V5cyhuLmNvbnRyb2xzKSk7cmV0dXJuIG4/LmNvbnRyb2xzJiZ0LnNvbWUoKHQ9PiFlKG4uY29udHJvbHNbdF0pKSk/bnVsbDp7YXRMZWFzdE9uZTohMH19fXRvZ2dsZVJwY0ZpZWxkcyhlKXtjb25zdCB0PXRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJncnBjIik7ZT8odC5nZXQoInNlcnZlclBvcnQiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJrZWVwQWxpdmVUaW1lTXMiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJrZWVwQWxpdmVUaW1lb3V0TXMiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJrZWVwYWxpdmVQZXJtaXRXaXRob3V0Q2FsbHMiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJtYXhQaW5nc1dpdGhvdXREYXRhIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0LmdldCgibWluVGltZUJldHdlZW5QaW5nc01zIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0LmdldCgibWluUGluZ0ludGVydmFsV2l0aG91dERhdGFNcyIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSkpOih0LmdldCgic2VydmVyUG9ydCIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJrZWVwQWxpdmVUaW1lTXMiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSx0LmdldCgia2VlcEFsaXZlVGltZW91dE1zIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoImtlZXBhbGl2ZVBlcm1pdFdpdGhvdXRDYWxscyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJtYXhQaW5nc1dpdGhvdXREYXRhIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoIm1pblRpbWVCZXR3ZWVuUGluZ3NNcyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJtaW5QaW5nSW50ZXJ2YWxXaXRob3V0RGF0YU1zIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpfWFkZExvY2FsTG9nQ29uZmlnKGUsdCl7Y29uc3Qgbj10aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgibG9ncy5sb2NhbCIpLGE9dGhpcy5mYi5ncm91cCh7bG9nTGV2ZWw6W3QubG9nTGV2ZWx8fE10LklORk8sW3VlLnJlcXVpcmVkXV0sZmlsZVBhdGg6W3QuZmlsZVBhdGh8fCIuL2xvZ3MiLFt1ZS5yZXF1aXJlZF1dLGJhY2t1cENvdW50Olt0LmJhY2t1cENvdW50fHw3LFt1ZS5yZXF1aXJlZCx1ZS5taW4oMCldXSxzYXZpbmdUaW1lOlt0LnNhdmluZ1RpbWV8fDMsW3VlLnJlcXVpcmVkLHVlLm1pbigwKV1dLHNhdmluZ1BlcmlvZDpbdC5zYXZpbmdQZXJpb2R8fER0LmRheXMsW3VlLnJlcXVpcmVkXV19KTtuLmFkZENvbnRyb2woZSxhKX1nZXRMb2dGb3JtR3JvdXAoZSl7cmV0dXJuIHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KGBsb2dzLmxvY2FsLiR7ZX1gKX1jb21tYW5kRm9ybUFycmF5KCl7cmV0dXJuIHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJ0aGluZ3Nib2FyZC5zdGF0aXN0aWNzLmNvbW1hbmRzIil9cmVtb3ZlQ29tbWFuZENvbnRyb2woZSx0KXsiIiE9PXQucG9pbnRlclR5cGUmJih0aGlzLmNvbW1hbmRGb3JtQXJyYXkoKS5yZW1vdmVBdChlKSx0aGlzLmJhc2ljRm9ybUdyb3VwLm1hcmtBc0RpcnR5KCkpfXJlbW92ZUFsbFNlY3VyaXR5VmFsaWRhdG9ycygpe2NvbnN0IGU9dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInRoaW5nc2JvYXJkLnNlY3VyaXR5Iik7ZS5jbGVhclZhbGlkYXRvcnMoKTtmb3IoY29uc3QgdCBpbiBlLmNvbnRyb2xzKSJ0eXBlIiE9PXQmJihlLmNvbnRyb2xzW3RdLmNsZWFyVmFsaWRhdG9ycygpLGUuY29udHJvbHNbdF0uc2V0RXJyb3JzKG51bGwpLGUuY29udHJvbHNbdF0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpKX1yZW1vdmVBbGxTdG9yYWdlVmFsaWRhdG9ycygpe2NvbnN0IGU9dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInN0b3JhZ2UiKTtmb3IoY29uc3QgdCBpbiBlLmNvbnRyb2xzKSJ0eXBlIiE9PXQmJihlLmNvbnRyb2xzW3RdLmNsZWFyVmFsaWRhdG9ycygpLGUuY29udHJvbHNbdF0uc2V0RXJyb3JzKG51bGwpLGUuY29udHJvbHNbdF0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpKX1vcGVuQ29uZmlndXJhdGlvbkNvbmZpcm1EaWFsb2coKXt0aGlzLmRldmljZVNlcnZpY2UuZ2V0RGV2aWNlKHRoaXMuZGV2aWNlLmlkKS5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLmRpYWxvZy5vcGVuKFBhLHtkaXNhYmxlQ2xvc2U6ITAscGFuZWxDbGFzczpbInRiLWRpYWxvZyIsInRiLWZ1bGxzY3JlZW4tZGlhbG9nIl0sZGF0YTp7Z2F0ZXdheU5hbWU6ZS5uYW1lfX0pLmFmdGVyQ2xvc2VkKCkucGlwZShPZSgxKSkuc3Vic2NyaWJlKChlPT57ZXx8dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInRoaW5nc2JvYXJkLnJlbW90ZUNvbmZpZ3VyYXRpb24iKS5zZXRWYWx1ZSghMCx7ZW1pdEV2ZW50OiExfSl9KSl9KSl9YWRkQ29tbWFuZChlLHQ9ITApe2NvbnN0e2F0dHJpYnV0ZU9uR2F0ZXdheTpuPW51bGwsY29tbWFuZDphPW51bGwsdGltZW91dDpvPW51bGx9PWV8fHt9LGk9dGhpcy5mYi5ncm91cCh7YXR0cmlidXRlT25HYXRld2F5OltuLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKC9eW14uXHNdKyQvKV1dLGNvbW1hbmQ6W2EsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oL14oPz1cUykuKlxTJC8pXV0sdGltZW91dDpbbyxbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKSx1ZS5wYXR0ZXJuKC9eW14uXHNdKyQvKV1dfSk7dGhpcy5jb21tYW5kRm9ybUFycmF5KCkucHVzaChpLHtlbWl0RXZlbnQ6dH0pfWluaXRCYXNpY0Zvcm1Hcm91cCgpe3RoaXMuYmFzaWNGb3JtR3JvdXA9dGhpcy5mYi5ncm91cCh7dGhpbmdzYm9hcmQ6dGhpcy5pbml0VGhpbmdzYm9hcmRGb3JtR3JvdXAoKSxzdG9yYWdlOnRoaXMuaW5pdFN0b3JhZ2VGb3JtR3JvdXAoKSxncnBjOnRoaXMuaW5pdEdycGNGb3JtR3JvdXAoKSxjb25uZWN0b3JzOnRoaXMuZmIuYXJyYXkoW10pLGxvZ3M6dGhpcy5pbml0TG9nc0Zvcm1Hcm91cCgpfSl9aW5pdFRoaW5nc2JvYXJkRm9ybUdyb3VwKCl7cmV0dXJuIHRoaXMuZmIuZ3JvdXAoe2hvc3Q6W3dpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSxbdWUucmVxdWlyZWQsdWUucGF0dGVybigvXlteXHNdKyQvKV1dLHBvcnQ6WzE4ODMsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5tYXgoNjU1MzUpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLHJlbW90ZVNoZWxsOlshMV0scmVtb3RlQ29uZmlndXJhdGlvbjpbITBdLGNoZWNrQ29ubmVjdG9yc0NvbmZpZ3VyYXRpb25JblNlY29uZHM6WzYwLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sc3RhdGlzdGljczp0aGlzLmZiLmdyb3VwKHtlbmFibGU6WyEwXSxzdGF0c1NlbmRQZXJpb2RJblNlY29uZHM6WzM2MDAsW3VlLnJlcXVpcmVkLHVlLm1pbig2MCksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sY29tbWFuZHM6dGhpcy5mYi5hcnJheShbXSl9KSxtYXhQYXlsb2FkU2l6ZUJ5dGVzOls4MTk2LFt1ZS5yZXF1aXJlZCx1ZS5taW4oMTAwKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxtaW5QYWNrU2VuZERlbGF5TVM6WzUwLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMTApLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLG1pblBhY2tTaXplVG9TZW5kOls1MDAsW3VlLnJlcXVpcmVkLHVlLm1pbigxMDApLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLGhhbmRsZURldmljZVJlbmFtaW5nOlshMF0sY2hlY2tpbmdEZXZpY2VBY3Rpdml0eTp0aGlzLmluaXRDaGVja2luZ0RldmljZUFjdGl2aXR5Rm9ybUdyb3VwKCksc2VjdXJpdHk6dGhpcy5pbml0U2VjdXJpdHlGb3JtR3JvdXAoKSxxb3M6WzEsW3VlLnJlcXVpcmVkLHVlLm1pbigwKSx1ZS5tYXgoMSksdWUucGF0dGVybigvXlteLlxzXSskLyldXX0pfWluaXRTdG9yYWdlRm9ybUdyb3VwKCl7cmV0dXJuIHRoaXMuZmIuZ3JvdXAoe3R5cGU6W0F0Lk1FTU9SWSxbdWUucmVxdWlyZWRdXSxyZWFkX3JlY29yZHNfY291bnQ6WzEwMCxbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLG1heF9yZWNvcmRzX2NvdW50OlsxZTUsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxkYXRhX2ZvbGRlcl9wYXRoOlsiLi9kYXRhLyIsW3VlLnJlcXVpcmVkXV0sbWF4X2ZpbGVfY291bnQ6WzEwLFt1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sbWF4X3JlYWRfcmVjb3Jkc19jb3VudDpbMTAsW3VlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxtYXhfcmVjb3Jkc19wZXJfZmlsZTpbMWU0LFt1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sZGF0YV9maWxlX3BhdGg6WyIuL2RhdGEvZGF0YS5kYiIsW3VlLnJlcXVpcmVkXV0sbWVzc2FnZXNfdHRsX2NoZWNrX2luX2hvdXJzOlsxLFt1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sbWVzc2FnZXNfdHRsX2luX2RheXM6WzcsW3VlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXX0pfWluaXRHcnBjRm9ybUdyb3VwKCl7cmV0dXJuIHRoaXMuZmIuZ3JvdXAoe2VuYWJsZWQ6WyExXSxzZXJ2ZXJQb3J0Ols5NTk1LFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUubWF4KDY1NTM1KSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxrZWVwQWxpdmVUaW1lTXM6WzFlNCxbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLGtlZXBBbGl2ZVRpbWVvdXRNczpbNWUzLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sa2VlcGFsaXZlUGVybWl0V2l0aG91dENhbGxzOlshMF0sbWF4UGluZ3NXaXRob3V0RGF0YTpbMCxbdWUucmVxdWlyZWQsdWUubWluKDApLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLG1pblRpbWVCZXR3ZWVuUGluZ3NNczpbMWU0LFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sbWluUGluZ0ludGVydmFsV2l0aG91dERhdGFNczpbNWUzLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV19KX1pbml0TG9nc0Zvcm1Hcm91cCgpe3JldHVybiB0aGlzLmZiLmdyb3VwKHtkYXRlRm9ybWF0OlsiJVktJW0tJWQgJUg6JU06JVMiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKC9eW15cc10uKlteXHNdJC8pXV0sbG9nRm9ybWF0OlsiJShhc2N0aW1lKXMgLSB8JShsZXZlbG5hbWUpc3wgLSBbJShmaWxlbmFtZSlzXSAtICUobW9kdWxlKXMgLSAlKGZ1bmNOYW1lKXMgLSAlKGxpbmVubylkIC0gJShtZXNzYWdlKXMiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKC9eW15cc10uKlteXHNdJC8pXV0sdHlwZTpbInJlbW90ZSIsW3VlLnJlcXVpcmVkXV0scmVtb3RlOnRoaXMuZmIuZ3JvdXAoe2VuYWJsZWQ6WyExXSxsb2dMZXZlbDpbTXQuSU5GTyxbdWUucmVxdWlyZWRdXX0pLGxvY2FsOnRoaXMuZmIuZ3JvdXAoe30pfSl9aW5pdENoZWNraW5nRGV2aWNlQWN0aXZpdHlGb3JtR3JvdXAoKXtyZXR1cm4gdGhpcy5mYi5ncm91cCh7Y2hlY2tEZXZpY2VJbmFjdGl2aXR5OlshMV0saW5hY3Rpdml0eVRpbWVvdXRTZWNvbmRzOlsyMDAsW3VlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxpbmFjdGl2aXR5Q2hlY2tQZXJpb2RTZWNvbmRzOls1MDAsW3VlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXX0pfWluaXRTZWN1cml0eUZvcm1Hcm91cCgpe3JldHVybiB0aGlzLmZiLmdyb3VwKHt0eXBlOltWdC5BQ0NFU1NfVE9LRU4sW3VlLnJlcXVpcmVkXV0sYWNjZXNzVG9rZW46W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oL15bXi5cc10rJC8pXV0sY2xpZW50SWQ6W251bGwsW3VlLnBhdHRlcm4oL15bXi5cc10rJC8pXV0sdXNlcm5hbWU6W251bGwsW3VlLnBhdHRlcm4oL15bXi5cc10rJC8pXV0scGFzc3dvcmQ6W251bGwsW3VlLnBhdHRlcm4oL15bXi5cc10rJC8pXV0sY2FDZXJ0OltudWxsXSxjZXJ0OltudWxsXSxwcml2YXRlS2V5OltudWxsXX0pfW9ic2VydmVGb3JtQ2hhbmdlcygpe3RoaXMub2JzZXJ2ZVNlY3VyaXR5UGFzc3dvcmRDaGFuZ2VzKCksdGhpcy5vYnNlcnZlUmVtb3RlQ29uZmlndXJhdGlvbkNoYW5nZXMoKSx0aGlzLm9ic2VydmVEZXZpY2VBY3Rpdml0eUNoYW5nZXMoKSx0aGlzLm9ic2VydmVTZWN1cml0eVR5cGVDaGFuZ2VzKCksdGhpcy5vYnNlcnZlU3RvcmFnZVR5cGVDaGFuZ2VzKCl9b2JzZXJ2ZVNlY3VyaXR5UGFzc3dvcmRDaGFuZ2VzKCl7Y29uc3QgZT10aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgidGhpbmdzYm9hcmQuc2VjdXJpdHkudXNlcm5hbWUiKTt0aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgidGhpbmdzYm9hcmQuc2VjdXJpdHkucGFzc3dvcmQiKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh0PT57dCYmIiIhPT10P2Uuc2V0VmFsaWRhdG9ycyhbdWUucmVxdWlyZWRdKTplLmNsZWFyVmFsaWRhdG9ycygpLGUudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiExfSl9KSl9b2JzZXJ2ZVJlbW90ZUNvbmZpZ3VyYXRpb25DaGFuZ2VzKCl7dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInRoaW5nc2JvYXJkLnJlbW90ZUNvbmZpZ3VyYXRpb24iKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57ZXx8dGhpcy5vcGVuQ29uZmlndXJhdGlvbkNvbmZpcm1EaWFsb2coKX0pKSx0aGlzLmxvZ1NlbGVjdG9yPXRoaXMuZmIuY29udHJvbChQdC5zZXJ2aWNlKTtmb3IoY29uc3QgZSBvZiBPYmplY3Qua2V5cyhQdCkpdGhpcy5hZGRMb2NhbExvZ0NvbmZpZyhlLHt9KX1vYnNlcnZlRGV2aWNlQWN0aXZpdHlDaGFuZ2VzKCl7Y29uc3QgZT10aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgidGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eSIpO2UuZ2V0KCJjaGVja0RldmljZUluYWN0aXZpdHkiKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh0PT57ZS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7Y29uc3Qgbj1bdWUubWluKDEpLHVlLnJlcXVpcmVkLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV07dD8oZS5nZXQoImluYWN0aXZpdHlUaW1lb3V0U2Vjb25kcyIpLnNldFZhbGlkYXRvcnMobiksZS5nZXQoImluYWN0aXZpdHlDaGVja1BlcmlvZFNlY29uZHMiKS5zZXRWYWxpZGF0b3JzKG4pKTooZS5nZXQoImluYWN0aXZpdHlUaW1lb3V0U2Vjb25kcyIpLmNsZWFyVmFsaWRhdG9ycygpLGUuZ2V0KCJpbmFjdGl2aXR5Q2hlY2tQZXJpb2RTZWNvbmRzIikuY2xlYXJWYWxpZGF0b3JzKCkpLGUuZ2V0KCJpbmFjdGl2aXR5VGltZW91dFNlY29uZHMiKS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtlbWl0RXZlbnQ6ITF9KSxlLmdldCgiaW5hY3Rpdml0eUNoZWNrUGVyaW9kU2Vjb25kcyIpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohMX0pfSkpLHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJncnBjLmVuYWJsZWQiKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy50b2dnbGVScGNGaWVsZHMoZSl9KSl9b2JzZXJ2ZVNlY3VyaXR5VHlwZUNoYW5nZXMoKXtjb25zdCBlPXRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJ0aGluZ3Nib2FyZC5zZWN1cml0eSIpO2UuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgodD0+e3N3aXRjaCh0aGlzLnJlbW92ZUFsbFNlY3VyaXR5VmFsaWRhdG9ycygpLHQpe2Nhc2UgVnQuQUNDRVNTX1RPS0VOOnRoaXMuYWRkQWNjZXNzVG9rZW5WYWxpZGF0b3JzKGUpO2JyZWFrO2Nhc2UgVnQuVExTX1BSSVZBVEVfS0VZOnRoaXMuYWRkVGxzUHJpdmF0ZUtleVZhbGlkYXRvcnMoZSk7YnJlYWs7Y2FzZSBWdC5UTFNfQUNDRVNTX1RPS0VOOnRoaXMuYWRkVGxzQWNjZXNzVG9rZW5WYWxpZGF0b3JzKGUpO2JyZWFrO2Nhc2UgVnQuVVNFUk5BTUVfUEFTU1dPUkQ6ZS5hZGRWYWxpZGF0b3JzKFt0aGlzLmF0TGVhc3RPbmVSZXF1aXJlZCh1ZS5yZXF1aXJlZCxbImNsaWVudElkIiwidXNlcm5hbWUiXSldKX1lLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKX0pKSxbImNhQ2VydCIsInByaXZhdGVLZXkiLCJjZXJ0Il0uZm9yRWFjaCgodD0+e2UuZ2V0KHQpLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCgpPT50aGlzLmNkLmRldGVjdENoYW5nZXMoKSkpfSkpfW9ic2VydmVTdG9yYWdlVHlwZUNoYW5nZXMoKXtjb25zdCBlPXRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJzdG9yYWdlIik7ZS5nZXQoInR5cGUiKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh0PT57c3dpdGNoKHRoaXMucmVtb3ZlQWxsU3RvcmFnZVZhbGlkYXRvcnMoKSx0KXtjYXNlIEF0Lk1FTU9SWTp0aGlzLmFkZE1lbW9yeVN0b3JhZ2VWYWxpZGF0b3JzKGUpO2JyZWFrO2Nhc2UgQXQuRklMRTp0aGlzLmFkZEZpbGVTdG9yYWdlVmFsaWRhdG9ycyhlKTticmVhaztjYXNlIEF0LlNRTElURTp0aGlzLmFkZFNxbGl0ZVN0b3JhZ2VWYWxpZGF0b3JzKGUpfX0pKX1hZGRBY2Nlc3NUb2tlblZhbGlkYXRvcnMoZSl7ZS5nZXQoImFjY2Vzc1Rva2VuIikuYWRkVmFsaWRhdG9ycyhbdWUucmVxdWlyZWQsdWUucGF0dGVybigvXlteLlxzXSskLyldKSxlLmdldCgiYWNjZXNzVG9rZW4iKS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCl9YWRkVGxzUHJpdmF0ZUtleVZhbGlkYXRvcnMoZSl7WyJjYUNlcnQiLCJwcml2YXRlS2V5IiwiY2VydCJdLmZvckVhY2goKHQ9PntlLmdldCh0KS5hZGRWYWxpZGF0b3JzKFt1ZS5yZXF1aXJlZF0pLGUuZ2V0KHQpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKX0pKX1hZGRUbHNBY2Nlc3NUb2tlblZhbGlkYXRvcnMoZSl7dGhpcy5hZGRBY2Nlc3NUb2tlblZhbGlkYXRvcnMoZSksZS5nZXQoImNhQ2VydCIpLmFkZFZhbGlkYXRvcnMoW3VlLnJlcXVpcmVkXSksZS5nZXQoImNhQ2VydCIpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKX1hZGRNZW1vcnlTdG9yYWdlVmFsaWRhdG9ycyhlKXtlLmdldCgicmVhZF9yZWNvcmRzX2NvdW50IikuYWRkVmFsaWRhdG9ycyhbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV0pLGUuZ2V0KCJtYXhfcmVjb3Jkc19jb3VudCIpLmFkZFZhbGlkYXRvcnMoW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldKSxlLmdldCgicmVhZF9yZWNvcmRzX2NvdW50IikudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiExfSksZS5nZXQoIm1heF9yZWNvcmRzX2NvdW50IikudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiExfSl9YWRkRmlsZVN0b3JhZ2VWYWxpZGF0b3JzKGUpe1sibWF4X2ZpbGVfY291bnQiLCJtYXhfcmVhZF9yZWNvcmRzX2NvdW50IiwibWF4X3JlY29yZHNfcGVyX2ZpbGUiXS5mb3JFYWNoKCh0PT57ZS5nZXQodCkuYWRkVmFsaWRhdG9ycyhbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV0pLGUuZ2V0KHQpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohMX0pfSkpfWFkZFNxbGl0ZVN0b3JhZ2VWYWxpZGF0b3JzKGUpe1sibWVzc2FnZXNfdHRsX2NoZWNrX2luX2hvdXJzIiwibWVzc2FnZXNfdHRsX2luX2RheXMiXS5mb3JFYWNoKCh0PT57ZS5nZXQodCkuYWRkVmFsaWRhdG9ycyhbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV0pLGUuZ2V0KHQpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohMX0pfSkpfWNoZWNrQW5kRmV0Y2hDcmVkZW50aWFscyhlKXtlLnR5cGUhPT1WdC5UTFNfUFJJVkFURV9LRVkmJnRoaXMuZGV2aWNlU2VydmljZS5nZXREZXZpY2VDcmVkZW50aWFscyh0aGlzLmRldmljZS5pZCkucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh0PT57dGhpcy5pbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkLmVtaXQodCksdGhpcy51cGRhdGVTZWN1cml0eVR5cGUoZSx0KSx0aGlzLnVwZGF0ZUNyZWRlbnRpYWxzKHQsZSl9KSl9dXBkYXRlU2VjdXJpdHlUeXBlKGUsdCl7Y29uc3Qgbj10LmNyZWRlbnRpYWxzVHlwZT09PVUuQUNDRVNTX1RPS0VOfHxlLnR5cGU9PT1WdC5UTFNfQUNDRVNTX1RPS0VOP2UudHlwZT09PVZ0LlRMU19BQ0NFU1NfVE9LRU4/VnQuVExTX0FDQ0VTU19UT0tFTjpWdC5BQ0NFU1NfVE9LRU46dC5jcmVkZW50aWFsc1R5cGU9PT1VLk1RVFRfQkFTSUM/VnQuVVNFUk5BTUVfUEFTU1dPUkQ6bnVsbDtuJiZ0aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgidGhpbmdzYm9hcmQuc2VjdXJpdHkudHlwZSIpLnNldFZhbHVlKG4se2VtaXRFdmVudDohMX0pfXVwZGF0ZUNyZWRlbnRpYWxzKGUsdCl7c3dpdGNoKGUuY3JlZGVudGlhbHNUeXBlKXtjYXNlIFUuQUNDRVNTX1RPS0VOOnRoaXMudXBkYXRlQWNjZXNzVG9rZW5DcmVkZW50aWFscyhlLHQpO2JyZWFrO2Nhc2UgVS5NUVRUX0JBU0lDOnRoaXMudXBkYXRlTXF0dEJhc2ljQ3JlZGVudGlhbHMoZSk7Y2FzZSBVLlg1MDlfQ0VSVElGSUNBVEU6fX11cGRhdGVBY2Nlc3NUb2tlbkNyZWRlbnRpYWxzKGUsdCl7dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInRoaW5nc2JvYXJkLnNlY3VyaXR5LmFjY2Vzc1Rva2VuIikuc2V0VmFsdWUoZS5jcmVkZW50aWFsc0lkLHtlbWl0RXZlbnQ6ITF9KSx0LnR5cGU9PT1WdC5UTFNfQUNDRVNTX1RPS0VOJiZ0aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgidGhpbmdzYm9hcmQuc2VjdXJpdHkuY2FDZXJ0Iikuc2V0VmFsdWUodC5jYUNlcnQse2VtaXRFdmVudDohMX0pfXVwZGF0ZU1xdHRCYXNpY0NyZWRlbnRpYWxzKGUpe2NvbnN0IHQ9SlNPTi5wYXJzZShlLmNyZWRlbnRpYWxzVmFsdWUpO3RoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJ0aGluZ3Nib2FyZC5zZWN1cml0eS5jbGllbnRJZCIpLnNldFZhbHVlKHQuY2xpZW50SWQse2VtaXRFdmVudDohMX0pLHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJ0aGluZ3Nib2FyZC5zZWN1cml0eS51c2VybmFtZSIpLnNldFZhbHVlKHQudXNlck5hbWUse2VtaXRFdmVudDohMX0pLHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJ0aGluZ3Nib2FyZC5zZWN1cml0eS5wYXNzd29yZCIpLnNldFZhbHVlKHQucGFzc3dvcmQse2VtaXRFdmVudDohMX0pfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6RG8sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfSx7dG9rZW46WC5EZXZpY2VTZXJ2aWNlfSx7dG9rZW46dC5DaGFuZ2VEZXRlY3RvclJlZn0se3Rva2VuOkplLk1hdERpYWxvZ31dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6RG8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LWJhc2ljLWNvbmZpZ3VyYXRpb24iLGlucHV0czp7ZGV2aWNlOiJkZXZpY2UiLGRpYWxvZ01vZGU6ImRpYWxvZ01vZGUifSxvdXRwdXRzOntpbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkOiJpbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkIn0scHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+RG8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkRvKSksbXVsdGk6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10YWItZ3JvdXAgY2xhc3M9InRhYi1ncm91cC1ibG9jayIgW2Zvcm1Hcm91cF09ImJhc2ljRm9ybUdyb3VwIiBbY2xhc3MuZGlhbG9nLW1vZGVdPSJkaWFsb2dNb2RlIj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5nZW5lcmFsXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy10ZW1wbGF0ZSBtYXRUYWJDb250ZW50PlxuICAgICAgPGRpdiBmb3JtR3JvdXBOYW1lPSJ0aGluZ3Nib2FyZCIgY2xhc3M9Im1hdC1jb250ZW50IG1hdC1wYWRkaW5nIGNvbmZpZ3VyYXRpb24tYmxvY2siPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIj5cbiAgICAgICAgICA8ZGl2IHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucmVtb3RlLWNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBjb2xvcj0icHJpbWFyeSIgZm9ybUNvbnRyb2xOYW1lPSJyZW1vdGVDb25maWd1cmF0aW9uIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJlbW90ZS1jb25maWd1cmF0aW9uXCcgIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLnJlbW90ZS1zaGVsbFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGNvbG9yPSJwcmltYXJ5IiBmb3JtQ29udHJvbE5hbWU9InJlbW90ZVNoZWxsIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJlbW90ZS1zaGVsbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkudGhpbmdzYm9hcmQtaG9zdDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJob3N0Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuaG9zdFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmhvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icG9ydCIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5wb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucG9ydFwnKS5oYXNFcnJvcihcJ21heFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtbWF4XCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnBvcnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMucG9ydFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCI+XG4gICAgICAgICAgPGRpdiB0cmFuc2xhdGUgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPnNlY3VyaXR5LnNlY3VyaXR5PC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBmb3JtR3JvdXBOYW1lPSJzZWN1cml0eSI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLXNlbGVjdCBjbGFzcz0idG9nZ2xlLWdyb3VwIiBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCBzZWN1cml0eVR5cGUgb2Ygc2VjdXJpdHlUeXBlcyB8IGtleXZhbHVlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPSJzZWN1cml0eVR5cGUua2V5Ij57eyBzZWN1cml0eVR5cGUudmFsdWUgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnR5cGVcJykudmFsdWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhcJ2FjY2Vzc3Rva2VuXCcpIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+c2VjdXJpdHkuYWNjZXNzLXRva2VuPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImFjY2Vzc1Rva2VuIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LmFjY2Vzc1Rva2VuXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnc2VjdXJpdHkuYWNjZXNzLXRva2VuLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDx0Yi1jb3B5LWJ1dHRvblxuICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgIG1pbmlCdXR0b249ImZhbHNlIlxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5hY2Nlc3NUb2tlblwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICBbY29weVRleHRdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5hY2Nlc3NUb2tlblwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICB0b29sdGlwVGV4dD0ie3sgXCdkZXZpY2UuY29weS1hY2Nlc3MtdG9rZW5cJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgIGljb249ImNvbnRlbnRfY29weSI+XG4gICAgICAgICAgICAgIDwvdGItY29weS1idXR0b24+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMudG9rZW5cJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMiXG4gICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnR5cGVcJykudmFsdWUgPT09IFwndXNlcm5hbWVQYXNzd29yZFwnIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+c2VjdXJpdHkuY2xpZW50SWQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImNsaWVudElkIi8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5jbGllbnRJZFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdzZWN1cml0eS5jbGllbnRJZC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1jb3B5LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWluaUJ1dHRvbj0iZmFsc2UiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5jbGllbnRJZFwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgW2NvcHlUZXh0XT0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkuY2xpZW50SWRcJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0PSJ7eyBcJ2dhdGV3YXkuY29weS1jbGllbnQtaWRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj0iY29udGVudF9jb3B5Ij5cbiAgICAgICAgICAgICAgICAgIDwvdGItY29weS1idXR0b24+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5jbGllbnQtaWRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5zZWN1cml0eS51c2VybmFtZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idXNlcm5hbWUiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnVzZXJuYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ3NlY3VyaXR5LnVzZXJuYW1lLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPHRiLWNvcHktYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtaW5pQnV0dG9uPSJmYWxzZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnVzZXJuYW1lXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgICAgICBbY29weVRleHRdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS51c2VybmFtZVwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcFRleHQ9Int7IFwnZ2F0ZXdheS5jb3B5LXVzZXJuYW1lXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgIGljb249ImNvbnRlbnRfY29weSI+XG4gICAgICAgICAgICAgICAgICA8L3RiLWNvcHktYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMudXNlcm5hbWVcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyIgc3R5bGU9IndpZHRoOiAxMDAlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnR5cGVcJykudmFsdWUgPT09IFwndXNlcm5hbWVQYXNzd29yZFwnIj5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnBhc3N3b3JkPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icGFzc3dvcmQiLz5cbiAgICAgICAgICAgICAgICA8dGItY29weS1idXR0b25cbiAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWluaUJ1dHRvbj0iZmFsc2UiXG4gICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkucGFzc3dvcmRcJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICBbY29weVRleHRdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5wYXNzd29yZFwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0PSJ7eyBcJ2dhdGV3YXkuY29weS1wYXNzd29yZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIGljb249ImNvbnRlbnRfY29weSI+XG4gICAgICAgICAgICAgICAgPC90Yi1jb3B5LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMucGFzc3dvcmRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8dGItZXJyb3Igc3R5bGU9Im1hcmdpbi10b3A6IC0xMnB4OyBkaXNwbGF5OiBibG9jazsiIGZ4RmxleD0iMTAwIlxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS50eXBlXCcpLnZhbHVlID09PSBcJ3VzZXJuYW1lUGFzc3dvcmRcJyJcbiAgICAgICAgICAgICAgICAgICAgICBbZXJyb3JdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eVwnKS5oYXNFcnJvcihcJ2F0TGVhc3RPbmVcJykgP1xuICAgICAgICAgIChcJ2RldmljZS5jbGllbnQtaWQtb3ItdXNlci1uYW1lLW5lY2Vzc2FyeVwnIHwgdHJhbnNsYXRlKSA6IFwnXCciPjwvdGItZXJyb3I+XG4gICAgICAgICAgICA8dGItZmlsZS1pbnB1dFxuICAgICAgICAgICAgICBmeEZsZXg9IjEwMCJcbiAgICAgICAgICAgICAgaGludD0ie3sgXCdnYXRld2F5LmhpbnRzLmNhLWNlcnRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnR5cGVcJykudmFsdWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhcJ3Rsc1wnKSJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJjYUNlcnQiXG4gICAgICAgICAgICAgIGxhYmVsPSJ7eyBcJ3NlY3VyaXR5LmNhLWNlcnRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgW2FsbG93ZWRFeHRlbnNpb25zXT0iXCdwZW0sIGNlcnQsIGtleVwnIlxuICAgICAgICAgICAgICBbYWNjZXB0XT0iXCcucGVtLCBhcHBsaWNhdGlvbi9wZW0sLmNlcnQsIGFwcGxpY2F0aW9uL2NlcnQsIC5rZXksYXBwbGljYXRpb24va2V5XCciXG4gICAgICAgICAgICAgIGRyb3BMYWJlbD0ie3sgXCdnYXRld2F5LmRyb3AtZmlsZVwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgIDwvdGItZmlsZS1pbnB1dD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkubG9ncy5sb2dzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy10ZW1wbGF0ZSBtYXRUYWJDb250ZW50PlxuICAgICAgPGRpdiBmb3JtR3JvdXBOYW1lPSJsb2dzIiBjbGFzcz0ibWF0LWNvbnRlbnQgbWF0LXBhZGRpbmcgY29uZmlndXJhdGlvbi1ibG9jayI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tcGFkZGluZy1ib3R0b20iPlxuICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9ImNvbHVtbiI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5kYXRlLWZvcm1hdDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJkYXRlRm9ybWF0Ii8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2xvZ3MuZGF0ZUZvcm1hdFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5kYXRlLWZvcm1hdC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmRhdGUtZm9ybVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmxvZ3MubG9nLWZvcm1hdDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJsb2dGb3JtYXQiIHJvd3M9IjIiPjwvdGV4dGFyZWE+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2xvZ3MubG9nRm9ybWF0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLmxvZy1mb3JtYXQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5sb2ctZm9ybWF0XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIiBmb3JtR3JvdXBOYW1lPSJyZW1vdGUiPlxuICAgICAgICAgIDxkaXYgdHJhbnNsYXRlIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIj5nYXRld2F5LmxvZ3MucmVtb3RlPC9kaXY+XG4gICAgICAgICAgPGRpdiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLnJlbW90ZS1sb2dcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBjb2xvcj0icHJpbWFyeSIgZm9ybUNvbnRyb2xOYW1lPSJlbmFibGVkIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmxvZ3MucmVtb3RlLWxvZ3NcJyAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmxvZ3MubGV2ZWw8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibG9nTGV2ZWwiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBsb2dMZXZlbCBvZiBnYXRld2F5TG9nTGV2ZWwiIFt2YWx1ZV09ImxvZ0xldmVsIj57eyBsb2dMZXZlbCB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1wYWRkaW5nLWJvdHRvbSIgZm9ybUdyb3VwTmFtZT0ibG9jYWwiPlxuICAgICAgICAgIDxkaXYgdHJhbnNsYXRlIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIj5nYXRld2F5LmxvZ3MubG9jYWw8L2Rpdj5cbiAgICAgICAgICA8dGItdG9nZ2xlLXNlbGVjdCBjbGFzcz0idG9nZ2xlLWdyb3VwIiBbZm9ybUNvbnRyb2xdPSJsb2dTZWxlY3RvciI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCBsb2dDb25maWcgb2YgbG9jYWxMb2dzQ29uZmlncyIgW3ZhbHVlXT0ibG9nQ29uZmlnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImZpcnN0LWNhcGl0YWwiPnt7IGxvY2FsTG9nc0NvbmZpZ1RyYW5zbGF0ZU1hcC5nZXQobG9nQ29uZmlnKSB9fTwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0iZ2V0TG9nRm9ybUdyb3VwKGxvZ1NlbGVjdG9yLnZhbHVlKSI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmxvZ3MubGV2ZWw8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImxvZ0xldmVsIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGxvZ0xldmVsIG9mIGdhdGV3YXlMb2dMZXZlbCIgW3ZhbHVlXT0ibG9nTGV2ZWwiPnt7IGxvZ0xldmVsIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmxvZ3MuZmlsZS1wYXRoPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZmlsZVBhdGgiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdsb2dzLmxvY2FsLlwnICsgbG9nU2VsZWN0b3IudmFsdWUgKyBcJy5maWxlUGF0aFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLmZpbGUtcGF0aC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgc2F2aW5nLXBlcmlvZCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5zYXZpbmctcGVyaW9kPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJzYXZpbmdUaW1lIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnbG9ncy5sb2NhbC5cJyArIGxvZ1NlbGVjdG9yLnZhbHVlICsgXCcuc2F2aW5nVGltZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmxvZ3Muc2F2aW5nLXBlcmlvZC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2xvZ3MubG9jYWwuXCcgKyBsb2dTZWxlY3Rvci52YWx1ZSArIFwnLnNhdmluZ1RpbWVcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5zYXZpbmctcGVyaW9kLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBoaWRlUmVxdWlyZWRNYXJrZXIgc3R5bGU9Im1pbi13aWR0aDogMTEwcHg7IHdpZHRoOiAzMCUiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJzYXZpbmdQZXJpb2QiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBwZXJpb2Qgb2YgbG9nU2F2aW5nUGVyaW9kcyB8IGtleXZhbHVlIiBbdmFsdWVdPSJwZXJpb2Qua2V5Ij5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBwZXJpb2QudmFsdWUgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5iYWNrdXAtY291bnQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJiYWNrdXBDb3VudCIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnbG9ncy5sb2NhbC5cJyArIGxvZ1NlbGVjdG9yLnZhbHVlICsgXCcuYmFja3VwQ291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5iYWNrdXAtY291bnQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdsb2dzLmxvY2FsLlwnICsgbG9nU2VsZWN0b3IudmFsdWUgKyBcJy5iYWNrdXBDb3VudFwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5iYWNrdXAtY291bnQtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuYmFja3VwLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnN0b3JhZ2VcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9InN0b3JhZ2UiIGNsYXNzPSJtYXQtY29udGVudCBtYXQtcGFkZGluZyBjb25maWd1cmF0aW9uLWJsb2NrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1wYWRkaW5nLWJvdHRvbSI+XG4gICAgICAgICAgPGRpdiB0cmFuc2xhdGUgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPmdhdGV3YXkuc3RvcmFnZTwvZGl2PlxuICAgICAgICAgIDxkaXYgdHJhbnNsYXRlIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLWhpbnQiPmdhdGV3YXkuaGludHMuc3RvcmFnZTwvZGl2PlxuICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGNsYXNzPSJ0b2dnbGUtZ3JvdXAiIGZvcm1Db250cm9sTmFtZT0idHlwZSI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCBzdG9yYWdlVHlwZSBvZiBzdG9yYWdlVHlwZXMiIFt2YWx1ZV09InN0b3JhZ2VUeXBlIj5cbiAgICAgICAgICAgICAge3sgc3RvcmFnZVR5cGVzVHJhbnNsYXRpb25NYXAuZ2V0KHN0b3JhZ2VUeXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgIDwvdGItdG9nZ2xlLXNlbGVjdD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLWhpbnQiPnt7IFwnZ2F0ZXdheS5oaW50cy5cJyArIGJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UudHlwZVwnKS52YWx1ZSB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS50eXBlXCcpLnZhbHVlIj5cbiAgICAgICAgICAgIDxzZWN0aW9uICpuZ1N3aXRjaENhc2U9IlN0b3JhZ2VUeXBlcy5NRU1PUlkiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlYWRfcmVjb3Jkc19jb3VudCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UucmVhZF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UucmVhZF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5yZWFkX3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5yZWFkLXJlY29yZC1jb3VudFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1heF9yZWNvcmRzX2NvdW50Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tYXhfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tYXhfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1heC1yZWNvcmRzLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPHNlY3Rpb24gKm5nU3dpdGNoQ2FzZT0iU3RvcmFnZVR5cGVzLkZJTEUiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdG9yYWdlLWRhdGEtZm9sZGVyLXBhdGg8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImRhdGFfZm9sZGVyX3BhdGgiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UuZGF0YV9mb2xkZXJfcGF0aFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtZGF0YS1mb2xkZXItcGF0aC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0LWZvcm0tZmllbGQtaW5maXggcG9pbnRlci1ldmVudCBzdWZmaXgtaWNvbiIgYXJpYS1oaWRkZW49ImZhbHNlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9ImhlbHAtaWNvbiJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRTdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZGF0YS1mb2xkZXJcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtbWF4LWZpbGVzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1heF9maWxlX2NvdW50Ii8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9maWxlX2NvdW50XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9maWxlX2NvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LWZpbGVzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X2ZpbGVfY291bnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LWZpbGVzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5tYXgtZmlsZS1jb3VudFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgZm9ybUNvbnRyb2xOYW1lPSJtYXhfcmVhZF9yZWNvcmRzX2NvdW50Ii8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWFkX3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlYWRfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWFkX3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5tYXgtcmVhZC1jb3VudFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1heF9yZWNvcmRzX3Blcl9maWxlIi8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWNvcmRzX3Blcl9maWxlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtcmVjb3Jkcy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlY29yZHNfcGVyX2ZpbGVcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtcmVjb3Jkcy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWNvcmRzX3Blcl9maWxlXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5tYXgtcmVjb3Jkc1wnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPHNlY3Rpb24gKm5nU3dpdGNoQ2FzZT0iU3RvcmFnZVR5cGVzLlNRTElURSI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtcGF0aDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YV9maWxlX3BhdGgiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UuZGF0YV9maWxlX3BhdGhcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLXBhdGgtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5kYXRhLWZvbGRlclwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1lc3NhZ2VzX3R0bF9jaGVja19pbl9ob3VycyIvPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tZXNzYWdlc190dGxfY2hlY2tfaW5faG91cnNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXNzYWdlcy10dGwtY2hlY2staW4taG91cnMtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9jaGVja19pbl9ob3Vyc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXNzYWdlcy10dGwtY2hlY2staW4taG91cnMtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tZXNzYWdlc190dGxfY2hlY2tfaW5faG91cnNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMudHRsLWNoZWNrLWhvdXJcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubWVzc2FnZXMtdHRsLWluLWRheXM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1lc3NhZ2VzX3R0bF9pbl9kYXlzIi8+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tZXNzYWdlc190dGxfaW5fZGF5c1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXNzYWdlcy10dGwtaW4tZGF5cy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tZXNzYWdlc190dGxfaW5fZGF5c1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubWVzc2FnZXMtdHRsLWluLWRheXMtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9pbl9kYXlzXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubWVzc2FnZXMtdHRsLWluLWRheXMtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLnR0bC1tZXNzYWdlcy1kYXlcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdycGNcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9ImdycGMiIGNsYXNzPSJtYXQtY29udGVudCBtYXQtcGFkZGluZyBjb25maWd1cmF0aW9uLWJsb2NrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1wYWRkaW5nLWJvdHRvbSI+XG4gICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgY29sb3I9InByaW1hcnkiIGZvcm1Db250cm9sTmFtZT0iZW5hYmxlZCI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwY1wnICB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8ZGl2IHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucGVybWl0LXdpdGhvdXQtY2FsbHNcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBjb2xvcj0icHJpbWFyeSIgZm9ybUNvbnRyb2xOYW1lPSJrZWVwYWxpdmVQZXJtaXRXaXRob3V0Q2FsbHMiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucGVybWl0LXdpdGhvdXQtY2FsbHNcJyAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c2VjdGlvbj5cbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci1wb3J0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ic2VydmVyUG9ydCIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuc2VydmVyLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5zZXJ2ZXJQb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMuc2VydmVyUG9ydFwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMuc2VydmVyUG9ydFwnKS5oYXNFcnJvcihcJ21heFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1tYXhcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMuc2VydmVyUG9ydFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtdGltZW91dDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImtlZXBBbGl2ZVRpbWVvdXRNcyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5rZWVwQWxpdmVUaW1lb3V0TXNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMua2VlcEFsaXZlVGltZW91dE1zXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtdGltZW91dC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMua2VlcEFsaXZlVGltZW91dE1zXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5ncnBjLWtlZXAtYWxpdmU8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJrZWVwQWxpdmVUaW1lTXMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmdycGMta2VlcC1hbGl2ZVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLmtlZXBBbGl2ZVRpbWVNc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMua2VlcEFsaXZlVGltZU1zXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLmtlZXBBbGl2ZVRpbWVNc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMta2VlcC1hbGl2ZS1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5nczwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1pblRpbWVCZXR3ZWVuUGluZ3NNcyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWluVGltZUJldHdlZW5QaW5nc01zXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5taW5UaW1lQmV0d2VlblBpbmdzTXNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWluVGltZUJldHdlZW5QaW5nc01zXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWF4UGluZ3NXaXRob3V0RGF0YSIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWF4UGluZ3NXaXRob3V0RGF0YVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWF4UGluZ3NXaXRob3V0RGF0YVwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5tYXhQaW5nc1dpdGhvdXREYXRhXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGE8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtaW5QaW5nSW50ZXJ2YWxXaXRob3V0RGF0YU1zIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5ncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLm1pblBpbmdJbnRlcnZhbFdpdGhvdXREYXRhTXNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWluUGluZ0ludGVydmFsV2l0aG91dERhdGFNc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLm1pblBpbmdJbnRlcnZhbFdpdGhvdXREYXRhTXNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnN0YXRpc3RpY3Muc3RhdGlzdGljc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT0idGhpbmdzYm9hcmQiIGNsYXNzPSJtYXQtY29udGVudCBtYXQtcGFkZGluZyBjb25maWd1cmF0aW9uLWJsb2NrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1wYWRkaW5nLWJvdHRvbSIgZm9ybUdyb3VwTmFtZT0ic3RhdGlzdGljcyI+XG4gICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY29sb3I9InByaW1hcnkiIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0iZW5hYmxlIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnN0YXRpc3RpY3NcJyAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLnNlbmQtcGVyaW9kPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJzdGF0c1NlbmRQZXJpb2RJblNlY29uZHMiIHR5cGU9Im51bWJlciIgbWluPSI2MCIvPlxuICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc3RhdGlzdGljcy5zdGF0c1NlbmRQZXJpb2RJblNlY29uZHNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnNlbmQtcGVyaW9kLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc3RhdGlzdGljcy5zdGF0c1NlbmRQZXJpb2RJblNlY29uZHNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5zZW5kLXBlcmlvZC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zdGF0aXN0aWNzLnN0YXRzU2VuZFBlcmlvZEluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5zZW5kLXBlcmlvZC1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmRzPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC1oaW50IiB0cmFuc2xhdGU+Z2F0ZXdheS5oaW50cy5jb21tYW5kczwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgZm9ybUdyb3VwTmFtZT0ic3RhdGlzdGljcyI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PSJyb3ciIGZvcm1BcnJheU5hbWU9ImNvbW1hbmRzIiBjbGFzcz0ic3RhdGlzdGljcy1jb250YWluZXIiXG4gICAgICAgICAgICAgICAgICpuZ0Zvcj0ibGV0IGNvbW1hbmRDb250cm9sIG9mIGNvbW1hbmRGb3JtQXJyYXkoKS5jb250cm9sczsgbGV0ICRpbmRleCA9IGluZGV4Ij5cbiAgICAgICAgICAgICAgPHNlY3Rpb24gW2Zvcm1Hcm91cE5hbWVdPSIkaW5kZXgiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQgbm8tcGFkZGluZy1ib3R0b20gbm8tZ2FwIGNvbW1hbmQtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3MuYXR0cmlidXRlLW5hbWU8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iYXR0cmlidXRlT25HYXRld2F5Ii8+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbW1hbmRDb250cm9sLmdldChcJ2F0dHJpYnV0ZU9uR2F0ZXdheVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5hdHRyaWJ1dGUtbmFtZS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmF0dHJpYnV0ZVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLnRpbWVvdXQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idGltZW91dCIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZENvbnRyb2wuZ2V0KFwndGltZW91dFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy50aW1lb3V0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbW1hbmRDb250cm9sLmdldChcJ3RpbWVvdXRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnRpbWVvdXQtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbW1hbmRDb250cm9sLmdldChcJ3RpbWVvdXRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy50aW1lb3V0LXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy50aW1lb3V0XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RhdGlzdGljcy5jb21tYW5kPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJjb21tYW5kIi8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb21tYW5kQ29udHJvbC5nZXQoXCdjb21tYW5kXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5jb21tYW5kLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZENvbnRyb2wuZ2V0KFwnY29tbWFuZFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5jb21tYW5kLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5jb21tYW5kXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPSJyZW1vdmVDb21tYW5kQ29udHJvbCgkaW5kZXgsICRldmVudCkiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWJveC1idXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iIWJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnJlbW90ZUNvbmZpZ3VyYXRpb25cJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LnN0YXRpc3RpY3MucmVtb3ZlXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiBmaXQtY29udGVudDsiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iIWJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnJlbW90ZUNvbmZpZ3VyYXRpb25cJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9ImFkZENvbW1hbmQoKSI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmFkZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkub3RoZXJcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9InRoaW5nc2JvYXJkIiBjbGFzcz0ibWF0LWNvbnRlbnQgbWF0LXBhZGRpbmcgY29uZmlndXJhdGlvbi1ibG9jayI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwiIGZvcm1Hcm91cE5hbWU9ImNoZWNraW5nRGV2aWNlQWN0aXZpdHkiXG4gICAgICAgICAgICAgW2NsYXNzLm5vLXBhZGRpbmctYm90dG9tXT0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5jaGVja0RldmljZUluYWN0aXZpdHlcJykudmFsdWUiPlxuICAgICAgICAgIDxkaXYgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5jaGVjay1kZXZpY2UtYWN0aXZpdHlcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBjb2xvcj0icHJpbWFyeSIgZm9ybUNvbnRyb2xOYW1lPSJjaGVja0RldmljZUluYWN0aXZpdHkiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuY2hlY2tpbmctZGV2aWNlLWFjdGl2aXR5XCcgIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiXG4gICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNraW5nRGV2aWNlQWN0aXZpdHkuY2hlY2tEZXZpY2VJbmFjdGl2aXR5XCcpLnZhbHVlIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iaW5hY3Rpdml0eVRpbWVvdXRTZWNvbmRzIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNraW5nRGV2aWNlQWN0aXZpdHkuaW5hY3Rpdml0eVRpbWVvdXRTZWNvbmRzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNraW5nRGV2aWNlQWN0aXZpdHkuaW5hY3Rpdml0eVRpbWVvdXRTZWNvbmRzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5pbmFjdGl2aXR5VGltZW91dFNlY29uZHNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmluYWN0aXZpdHktdGltZW91dFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5pbmFjdGl2aXR5LWNoZWNrLXBlcmlvZC1zZWNvbmRzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgZm9ybUNvbnRyb2xOYW1lPSJpbmFjdGl2aXR5Q2hlY2tQZXJpb2RTZWNvbmRzIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5pbmFjdGl2aXR5Q2hlY2tQZXJpb2RTZWNvbmRzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LWNoZWNrLXBlcmlvZC1zZWNvbmRzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5pbmFjdGl2aXR5Q2hlY2tQZXJpb2RTZWNvbmRzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja2luZ0RldmljZUFjdGl2aXR5LmluYWN0aXZpdHlDaGVja1BlcmlvZFNlY29uZHNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuaW5hY3Rpdml0eS1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5hZHZhbmNlZDwvZGl2PlxuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubWluLXBhY2stc2VuZC1kZWxheTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtaW5QYWNrU2VuZERlbGF5TVMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1pblBhY2tTZW5kRGVsYXlNU1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubWluLXBhY2stc2VuZC1kZWxheS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5taW5QYWNrU2VuZERlbGF5TVNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5taW4tcGFjay1zZW5kLWRlbGF5LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1pblBhY2tTZW5kRGVsYXlNU1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5taW4tcGFjay1zZW5kLWRlbGF5LXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5taW5pbWFsLXBhY2stZGVsYXlcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubXF0dC1xb3M8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icW9zIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbWF4PSIxIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnFvc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubXF0dC1xb3MtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucW9zXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubXF0dC1xb3MtcmFuZ2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucW9zXCcpLmhhc0Vycm9yKFwnbWF4XCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubXF0dC1xb3MtcmFuZ2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5xb3NcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLmNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbjwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJjaGVja0Nvbm5lY3RvcnNDb25maWd1cmF0aW9uSW5TZWNvbmRzIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNrQ29ubmVjdG9yc0NvbmZpZ3VyYXRpb25JblNlY29uZHNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tDb25uZWN0b3JzQ29uZmlndXJhdGlvbkluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNrQ29ubmVjdG9yc0NvbmZpZ3VyYXRpb25JblNlY29uZHNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5jaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RhdGlzdGljcy5tYXgtcGF5bG9hZC1zaXplLWJ5dGVzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1heFBheWxvYWRTaXplQnl0ZXMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWF4UGF5bG9hZFNpemVCeXRlc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5tYXgtcGF5bG9hZC1zaXplLWJ5dGVzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWF4UGF5bG9hZFNpemVCeXRlc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MubWF4LXBheWxvYWQtc2l6ZS1ieXRlcy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5tYXhQYXlsb2FkU2l6ZUJ5dGVzXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MubWF4LXBheWxvYWQtc2l6ZS1ieXRlcy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMubWF4LXBheWxvYWQtc2l6ZS1ieXRlc1wnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3MubWluLXBhY2stc2l6ZS10by1zZW5kPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1pblBhY2tTaXplVG9TZW5kIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1pblBhY2tTaXplVG9TZW5kXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLm1pbi1wYWNrLXNpemUtdG8tc2VuZC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1pblBhY2tTaXplVG9TZW5kXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5taW4tcGFjay1zaXplLXRvLXNlbmQtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWluUGFja1NpemVUb1NlbmRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5taW4tcGFjay1zaXplLXRvLXNlbmQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1pbi1wYWNrLXNpemUtdG8tc2VuZFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1yb3dzOm1pbi1jb250ZW50IG1pbm1heChhdXRvLDFmcikgbWluLWNvbnRlbnR9Omhvc3QgLmNvbmZpZ3VyYXRpb24tYmxvY2t7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTZweDttYXgtaGVpZ2h0Ojcwdmh9Omhvc3QgLmRpYWxvZy1tb2RlIC5jb25maWd1cmF0aW9uLWJsb2Nre21heC1oZWlnaHQ6NjB2aH06aG9zdCAubWF0LXRvb2xiYXJ7Z3JpZC1yb3c6MTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMDAwMDBkZSFpbXBvcnRhbnR9Omhvc3QgLnRhYi1ncm91cC1ibG9ja3ttaW4td2lkdGg6MDtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjA7Z3JpZC1yb3c6Mn06aG9zdCAudG9nZ2xlLWdyb3Vwe21hcmdpbi1yaWdodDphdXRvfTpob3N0IC5maXJzdC1jYXBpdGFse3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemV9Omhvc3QgdGV4dGFyZWF7cmVzaXplOm5vbmV9Omhvc3QgLnNhdmluZy1wZXJpb2R7ZmxleDoxfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lcnt3aWR0aDoxMDAlfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciAuY29tbWFuZC1jb250YWluZXJ7d2lkdGg6MTAwJX06aG9zdCBtYXQtZm9ybS1maWVsZCBtYXQtZXJyb3J7ZGlzcGxheTpub25lIWltcG9ydGFudH06aG9zdCBtYXQtZm9ybS1maWVsZCBtYXQtZXJyb3I6Zmlyc3QtY2hpbGR7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9Omhvc3QgOjpuZy1kZWVwIC5wb2ludGVyLWV2ZW50e3BvaW50ZXItZXZlbnRzOmFsbH06aG9zdCA6Om5nLWRlZXAgLnRvZ2dsZS1ncm91cCBzcGFue3BhZGRpbmc6MCAyNXB4fTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2NvbG9yOiNlMGUwZTB9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLWZvcm0tZmllbGQtaWNvbi1zdWZmaXg6aG92ZXJ7Y29sb3I6IzllOWU5ZX06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtZm9ybS1maWVsZC1pY29uLXN1ZmZpeHtkaXNwbGF5OmZsZXh9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJuZ21vZHVsZSIsdHlwZTpIfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoLHNlbGVjdG9yOiJbbmdTd2l0Y2hdIixpbnB1dHM6WyJuZ1N3aXRjaCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdTd2l0Y2hDYXNlLHNlbGVjdG9yOiJbbmdTd2l0Y2hDYXNlXSIsaW5wdXRzOlsibmdTd2l0Y2hDYXNlIl19LHtraW5kOiJwaXBlIix0eXBlOl8uS2V5VmFsdWVQaXBlLG5hbWU6ImtleXZhbHVlIn0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q3QuVGJFcnJvckNvbXBvbmVudCxzZWxlY3RvcjoidGItZXJyb3IiLGlucHV0czpbIm5vTWFyZ2luIiwiZXJyb3IiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdEVycm9yLHNlbGVjdG9yOiJtYXQtZXJyb3IsIFttYXRFcnJvcl0iLGlucHV0czpbImlkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpXLk1hdFRhYkNvbnRlbnQsc2VsZWN0b3I6IlttYXRUYWJDb250ZW50XSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWIsc2VsZWN0b3I6Im1hdC10YWIiLGlucHV0czpbImRpc2FibGVkIiwibGFiZWwiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwibGFiZWxDbGFzcyIsImJvZHlDbGFzcyJdLGV4cG9ydEFzOlsibWF0VGFiIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWJHcm91cCxzZWxlY3RvcjoibWF0LXRhYi1ncm91cCIsaW5wdXRzOlsiY29sb3IiLCJmaXRJbmtCYXJUb0NvbnRlbnQiLCJtYXQtc3RyZXRjaC10YWJzIiwiZHluYW1pY0hlaWdodCIsInNlbGVjdGVkSW5kZXgiLCJoZWFkZXJQb3NpdGlvbiIsImFuaW1hdGlvbkR1cmF0aW9uIiwiY29udGVudFRhYkluZGV4IiwiZGlzYWJsZVBhZ2luYXRpb24iLCJkaXNhYmxlUmlwcGxlIiwicHJlc2VydmVDb250ZW50IiwiYmFja2dyb3VuZENvbG9yIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSJdLG91dHB1dHM6WyJzZWxlY3RlZEluZGV4Q2hhbmdlIiwiZm9jdXNDaGFuZ2UiLCJhbmltYXRpb25Eb25lIiwic2VsZWN0ZWRUYWJDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFRhYkdyb3VwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6ZXQuTWF0U2xpZGVUb2dnbGUsc2VsZWN0b3I6Im1hdC1zbGlkZS10b2dnbGUiLGlucHV0czpbIm5hbWUiLCJpZCIsImxhYmVsUG9zaXRpb24iLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsInJlcXVpcmVkIiwiY29sb3IiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImNoZWNrZWQiLCJoaWRlSWNvbiIsImRpc2FibGVkSW50ZXJhY3RpdmUiXSxvdXRwdXRzOlsiY2hhbmdlIiwidG9nZ2xlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRdLCBbZnhMYXlvdXQueHNdLCBbZnhMYXlvdXQuc21dLCBbZnhMYXlvdXQubWRdLCAgW2Z4TGF5b3V0LmxnXSwgW2Z4TGF5b3V0LnhsXSwgW2Z4TGF5b3V0Lmx0LXNtXSwgW2Z4TGF5b3V0Lmx0LW1kXSwgIFtmeExheW91dC5sdC1sZ10sIFtmeExheW91dC5sdC14bF0sIFtmeExheW91dC5ndC14c10sIFtmeExheW91dC5ndC1zbV0sICBbZnhMYXlvdXQuZ3QtbWRdLCBbZnhMYXlvdXQuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dCIsImZ4TGF5b3V0LnhzIiwiZnhMYXlvdXQuc20iLCJmeExheW91dC5tZCIsImZ4TGF5b3V0LmxnIiwiZnhMYXlvdXQueGwiLCJmeExheW91dC5sdC1zbSIsImZ4TGF5b3V0Lmx0LW1kIiwiZnhMYXlvdXQubHQtbGciLCJmeExheW91dC5sdC14bCIsImZ4TGF5b3V0Lmd0LXhzIiwiZnhMYXlvdXQuZ3Qtc20iLCJmeExheW91dC5ndC1tZCIsImZ4TGF5b3V0Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWF4VmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttYXhdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtuZ01vZGVsXSIsaW5wdXRzOlsibWF4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBOYW1lLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0iLGlucHV0czpbImZvcm1Hcm91cE5hbWUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQXJyYXlOYW1lLHNlbGVjdG9yOiJbZm9ybUFycmF5TmFtZV0iLGlucHV0czpbImZvcm1BcnJheU5hbWUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpUdC5GaWxlSW5wdXRDb21wb25lbnQsc2VsZWN0b3I6InRiLWZpbGUtaW5wdXQiLGlucHV0czpbImxhYmVsIiwiaGludCIsImFjY2VwdCIsIm5vRmlsZVRleHQiLCJpbnB1dElkIiwiYWxsb3dlZEV4dGVuc2lvbnMiLCJkcm9wTGFiZWwiLCJtYXhTaXplQnl0ZSIsImNvbnRlbnRDb252ZXJ0RnVuY3Rpb24iLCJyZXF1aXJlZCIsInJlcXVpcmVkQXNFcnJvciIsImRpc2FibGVkIiwiZXhpc3RpbmdGaWxlTmFtZSIsInJlYWRBc0JpbmFyeSIsIndvcmtGcm9tRmlsZU9iaiIsIm11bHRpcGxlRmlsZSJdLG91dHB1dHM6WyJmaWxlTmFtZUNoYW5nZWQiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6U3QuQ29weUJ1dHRvbkNvbXBvbmVudCxzZWxlY3RvcjoidGItY29weS1idXR0b24iLGlucHV0czpbImNvcHlUZXh0IiwiZGlzYWJsZWQiLCJtZGlJY29uIiwiaWNvbiIsInRvb2x0aXBUZXh0IiwidG9vbHRpcFBvc2l0aW9uIiwic3R5bGUiLCJjb2xvciIsIm1pbmlCdXR0b24iXSxvdXRwdXRzOlsic3VjY2Vzc0NvcGllZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm50LlRvZ2dsZU9wdGlvbixzZWxlY3RvcjoidGItdG9nZ2xlLW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTphdC5Ub2dnbGVTZWxlY3RDb21wb25lbnQsc2VsZWN0b3I6InRiLXRvZ2dsZS1zZWxlY3QiLGlucHV0czpbImRpc2FibGVkIiwic2VsZWN0TWVkaWFCcmVha3BvaW50IiwiYXBwZWFyYW5jZSIsImRpc2FibGVQYWdpbmF0aW9uIiwiZmlsbEhlaWdodCIsImV4dHJhUGFkZGluZyIsInByaW1hcnlCYWNrZ3JvdW5kIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dXQuSGludFRvb2x0aXBJY29uQ29tcG9uZW50LHNlbGVjdG9yOiJbdGItaGludC10b29sdGlwLWljb25dIixpbnB1dHM6WyJ0Yi1oaW50LXRvb2x0aXAtaWNvbiIsInRvb2x0aXBQb3NpdGlvbiIsImhpbnRJY29uIl19XX0pfX1lKCJHYXRld2F5QmFzaWNDb25maWd1cmF0aW9uQ29tcG9uZW50IixEbyksSGUoW04oKV0sRG8ucHJvdG90eXBlLCJkaWFsb2dNb2RlIix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6RG8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktYmFzaWMtY29uZmlndXJhdGlvbiIsc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILERdLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PkRvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5EbykpLG11bHRpOiEwfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRhYi1ncm91cCBjbGFzcz0idGFiLWdyb3VwLWJsb2NrIiBbZm9ybUdyb3VwXT0iYmFzaWNGb3JtR3JvdXAiIFtjbGFzcy5kaWFsb2ctbW9kZV09ImRpYWxvZ01vZGUiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9InRoaW5nc2JvYXJkIiBjbGFzcz0ibWF0LWNvbnRlbnQgbWF0LXBhZGRpbmcgY29uZmlndXJhdGlvbi1ibG9jayI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tcGFkZGluZy1ib3R0b20iPlxuICAgICAgICAgIDxkaXYgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5yZW1vdGUtY29uZmlndXJhdGlvblwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGNvbG9yPSJwcmltYXJ5IiBmb3JtQ29udHJvbE5hbWU9InJlbW90ZUNvbmZpZ3VyYXRpb24iPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmVtb3RlLWNvbmZpZ3VyYXRpb25cJyAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucmVtb3RlLXNoZWxsXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmciPlxuICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgY29sb3I9InByaW1hcnkiIGZvcm1Db250cm9sTmFtZT0icmVtb3RlU2hlbGwiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmVtb3RlLXNoZWxsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS50aGluZ3Nib2FyZC1ob3N0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Imhvc3QiLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5ob3N0XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuaG9zdFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkudGhpbmdzYm9hcmQtcG9ydDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5wb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnBvcnRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5wb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1tYXhcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucG9ydFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5wb3J0XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIj5cbiAgICAgICAgICA8ZGl2IHRyYW5zbGF0ZSBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSI+c2VjdXJpdHkuc2VjdXJpdHk8L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIGZvcm1Hcm91cE5hbWU9InNlY3VyaXR5Ij5cbiAgICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGNsYXNzPSJ0b2dnbGUtZ3JvdXAiIGZvcm1Db250cm9sTmFtZT0idHlwZSI+XG4gICAgICAgICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IHNlY3VyaXR5VHlwZSBvZiBzZWN1cml0eVR5cGVzIHwga2V5dmFsdWUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09InNlY3VyaXR5VHlwZS5rZXkiPnt7IHNlY3VyaXR5VHlwZS52YWx1ZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudHlwZVwnKS52YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFwnYWNjZXNzdG9rZW5cJykiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5zZWN1cml0eS5hY2Nlc3MtdG9rZW48L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iYWNjZXNzVG9rZW4iLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkuYWNjZXNzVG9rZW5cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdzZWN1cml0eS5hY2Nlc3MtdG9rZW4tcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPHRiLWNvcHktYnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgbWluaUJ1dHRvbj0iZmFsc2UiXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LmFjY2Vzc1Rva2VuXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgIFtjb3B5VGV4dF09ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LmFjY2Vzc1Rva2VuXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0PSJ7eyBcJ2RldmljZS5jb3B5LWFjY2Vzcy10b2tlblwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgaWNvbj0iY29udGVudF9jb3B5Ij5cbiAgICAgICAgICAgICAgPC90Yi1jb3B5LWJ1dHRvbj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy50b2tlblwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPHNlY3Rpb24+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyJcbiAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudHlwZVwnKS52YWx1ZSA9PT0gXCd1c2VybmFtZVBhc3N3b3JkXCciPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5zZWN1cml0eS5jbGllbnRJZDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iY2xpZW50SWQiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LmNsaWVudElkXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ3NlY3VyaXR5LmNsaWVudElkLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPHRiLWNvcHktYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtaW5pQnV0dG9uPSJmYWxzZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LmNsaWVudElkXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgICAgICBbY29weVRleHRdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5jbGllbnRJZFwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcFRleHQ9Int7IFwnZ2F0ZXdheS5jb3B5LWNsaWVudC1pZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBpY29uPSJjb250ZW50X2NvcHkiPlxuICAgICAgICAgICAgICAgICAgPC90Yi1jb3B5LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmNsaWVudC1pZFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPnNlY3VyaXR5LnVzZXJuYW1lPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ1c2VybmFtZSIvPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudXNlcm5hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnc2VjdXJpdHkudXNlcm5hbWUtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8dGItY29weS1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgIG1pbmlCdXR0b249ImZhbHNlIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudXNlcm5hbWVcJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICAgIFtjb3B5VGV4dF09ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnVzZXJuYW1lXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgICAgICB0b29sdGlwVGV4dD0ie3sgXCdnYXRld2F5LmNvcHktdXNlcm5hbWVcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj0iY29udGVudF9jb3B5Ij5cbiAgICAgICAgICAgICAgICAgIDwvdGItY29weS1idXR0b24+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy51c2VybmFtZVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBzdHlsZT0id2lkdGg6IDEwMCUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudHlwZVwnKS52YWx1ZSA9PT0gXCd1c2VybmFtZVBhc3N3b3JkXCciPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkucGFzc3dvcmQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJwYXNzd29yZCIvPlxuICAgICAgICAgICAgICAgIDx0Yi1jb3B5LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtaW5pQnV0dG9uPSJmYWxzZSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5wYXNzd29yZFwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgIFtjb3B5VGV4dF09ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnBhc3N3b3JkXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgICAgdG9vbHRpcFRleHQ9Int7IFwnZ2F0ZXdheS5jb3B5LXBhc3N3b3JkXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgaWNvbj0iY29udGVudF9jb3B5Ij5cbiAgICAgICAgICAgICAgICA8L3RiLWNvcHktYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5wYXNzd29yZFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDx0Yi1lcnJvciBzdHlsZT0ibWFyZ2luLXRvcDogLTEycHg7IGRpc3BsYXk6IGJsb2NrOyIgZnhGbGV4PSIxMDAiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnR5cGVcJykudmFsdWUgPT09IFwndXNlcm5hbWVQYXNzd29yZFwnIlxuICAgICAgICAgICAgICAgICAgICAgIFtlcnJvcl09ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5XCcpLmhhc0Vycm9yKFwnYXRMZWFzdE9uZVwnKSA/XG4gICAgICAgICAgKFwnZGV2aWNlLmNsaWVudC1pZC1vci11c2VyLW5hbWUtbmVjZXNzYXJ5XCcgfCB0cmFuc2xhdGUpIDogXCdcJyI+PC90Yi1lcnJvcj5cbiAgICAgICAgICAgIDx0Yi1maWxlLWlucHV0XG4gICAgICAgICAgICAgIGZ4RmxleD0iMTAwIlxuICAgICAgICAgICAgICBoaW50PSJ7eyBcJ2dhdGV3YXkuaGludHMuY2EtY2VydFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudHlwZVwnKS52YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFwndGxzXCcpIlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9ImNhQ2VydCJcbiAgICAgICAgICAgICAgbGFiZWw9Int7IFwnc2VjdXJpdHkuY2EtY2VydFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBbYWxsb3dlZEV4dGVuc2lvbnNdPSJcJ3BlbSwgY2VydCwga2V5XCciXG4gICAgICAgICAgICAgIFthY2NlcHRdPSJcJy5wZW0sIGFwcGxpY2F0aW9uL3BlbSwuY2VydCwgYXBwbGljYXRpb24vY2VydCwgLmtleSxhcHBsaWNhdGlvbi9rZXlcJyJcbiAgICAgICAgICAgICAgZHJvcExhYmVsPSJ7eyBcJ2dhdGV3YXkuZHJvcC1maWxlXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgPC90Yi1maWxlLWlucHV0PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5sb2dzLmxvZ3NcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9ImxvZ3MiIGNsYXNzPSJtYXQtY29udGVudCBtYXQtcGFkZGluZyBjb25maWd1cmF0aW9uLWJsb2NrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1wYWRkaW5nLWJvdHRvbSI+XG4gICAgICAgICAgPGRpdiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5sb2dzLmRhdGUtZm9ybWF0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImRhdGVGb3JtYXQiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnbG9ncy5kYXRlRm9ybWF0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLmRhdGUtZm9ybWF0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZGF0ZS1mb3JtXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5sb2ctZm9ybWF0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImxvZ0Zvcm1hdCIgcm93cz0iMiI+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnbG9ncy5sb2dGb3JtYXRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmxvZ3MubG9nLWZvcm1hdC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmxvZy1mb3JtYXRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tcGFkZGluZy1ib3R0b20iIGZvcm1Hcm91cE5hbWU9InJlbW90ZSI+XG4gICAgICAgICAgPGRpdiB0cmFuc2xhdGUgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPmdhdGV3YXkubG9ncy5yZW1vdGU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucmVtb3RlLWxvZ1wnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGNvbG9yPSJwcmltYXJ5IiBmb3JtQ29udHJvbE5hbWU9ImVuYWJsZWQiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5yZW1vdGUtbG9nc1wnICB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5sZXZlbDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJsb2dMZXZlbCI+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGxvZ0xldmVsIG9mIGdhdGV3YXlMb2dMZXZlbCIgW3ZhbHVlXT0ibG9nTGV2ZWwiPnt7IGxvZ0xldmVsIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIiBmb3JtR3JvdXBOYW1lPSJsb2NhbCI+XG4gICAgICAgICAgPGRpdiB0cmFuc2xhdGUgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPmdhdGV3YXkubG9ncy5sb2NhbDwvZGl2PlxuICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGNsYXNzPSJ0b2dnbGUtZ3JvdXAiIFtmb3JtQ29udHJvbF09ImxvZ1NlbGVjdG9yIj5cbiAgICAgICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IGxvZ0NvbmZpZyBvZiBsb2NhbExvZ3NDb25maWdzIiBbdmFsdWVdPSJsb2dDb25maWciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZmlyc3QtY2FwaXRhbCI+e3sgbG9jYWxMb2dzQ29uZmlnVHJhbnNsYXRlTWFwLmdldChsb2dDb25maWcpIH19PC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgIDwvdGItdG9nZ2xlLXNlbGVjdD5cbiAgICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPSJnZXRMb2dGb3JtR3JvdXAobG9nU2VsZWN0b3IudmFsdWUpIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5sZXZlbDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibG9nTGV2ZWwiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbG9nTGV2ZWwgb2YgZ2F0ZXdheUxvZ0xldmVsIiBbdmFsdWVdPSJsb2dMZXZlbCI+e3sgbG9nTGV2ZWwgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5maWxlLXBhdGg8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJmaWxlUGF0aCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2xvZ3MubG9jYWwuXCcgKyBsb2dTZWxlY3Rvci52YWx1ZSArIFwnLmZpbGVQYXRoXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmxvZ3MuZmlsZS1wYXRoLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBzYXZpbmctcGVyaW9kIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5sb2dzLnNhdmluZy1wZXJpb2Q8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InNhdmluZ1RpbWUiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdsb2dzLmxvY2FsLlwnICsgbG9nU2VsZWN0b3IudmFsdWUgKyBcJy5zYXZpbmdUaW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5zYXZpbmctcGVyaW9kLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnbG9ncy5sb2NhbC5cJyArIGxvZ1NlbGVjdG9yLnZhbHVlICsgXCcuc2F2aW5nVGltZVwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLnNhdmluZy1wZXJpb2QtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGhpZGVSZXF1aXJlZE1hcmtlciBzdHlsZT0ibWluLXdpZHRoOiAxMTBweDsgd2lkdGg6IDMwJSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InNhdmluZ1BlcmlvZCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHBlcmlvZCBvZiBsb2dTYXZpbmdQZXJpb2RzIHwga2V5dmFsdWUiIFt2YWx1ZV09InBlcmlvZC5rZXkiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IHBlcmlvZC52YWx1ZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5sb2dzLmJhY2t1cC1jb3VudDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImJhY2t1cENvdW50IiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdsb2dzLmxvY2FsLlwnICsgbG9nU2VsZWN0b3IudmFsdWUgKyBcJy5iYWNrdXBDb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLmJhY2t1cC1jb3VudC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2xvZ3MubG9jYWwuXCcgKyBsb2dTZWxlY3Rvci52YWx1ZSArIFwnLmJhY2t1cENvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLmJhY2t1cC1jb3VudC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5iYWNrdXAtY291bnRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuc3RvcmFnZVwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT0ic3RvcmFnZSIgY2xhc3M9Im1hdC1jb250ZW50IG1hdC1wYWRkaW5nIGNvbmZpZ3VyYXRpb24tYmxvY2siPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIj5cbiAgICAgICAgICA8ZGl2IHRyYW5zbGF0ZSBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSI+Z2F0ZXdheS5zdG9yYWdlPC9kaXY+XG4gICAgICAgICAgPGRpdiB0cmFuc2xhdGUgY2xhc3M9InRiLWZvcm0tcGFuZWwtaGludCI+Z2F0ZXdheS5oaW50cy5zdG9yYWdlPC9kaXY+XG4gICAgICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgY2xhc3M9InRvZ2dsZS1ncm91cCIgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IHN0b3JhZ2VUeXBlIG9mIHN0b3JhZ2VUeXBlcyIgW3ZhbHVlXT0ic3RvcmFnZVR5cGUiPlxuICAgICAgICAgICAgICB7eyBzdG9yYWdlVHlwZXNUcmFuc2xhdGlvbk1hcC5nZXQoc3RvcmFnZVR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtaGludCI+e3sgXCdnYXRld2F5LmhpbnRzLlwnICsgYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS50eXBlXCcpLnZhbHVlIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLnR5cGVcJykudmFsdWUiPlxuICAgICAgICAgICAgPHNlY3Rpb24gKm5nU3dpdGNoQ2FzZT0iU3RvcmFnZVR5cGVzLk1FTU9SWSIgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVhZF9yZWNvcmRzX2NvdW50Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5yZWFkX3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5yZWFkX3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLnJlYWRfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLnJlYWQtcmVjb3JkLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcmFnZS1tYXgtcmVjb3JkczwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWF4X3JlY29yZHNfY291bnQiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMubWF4LXJlY29yZHMtY291bnRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8c2VjdGlvbiAqbmdTd2l0Y2hDYXNlPSJTdG9yYWdlVHlwZXMuRklMRSI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtZGF0YS1mb2xkZXItcGF0aDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YV9mb2xkZXJfcGF0aCIvPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5kYXRhX2ZvbGRlcl9wYXRoXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXQtZm9ybS1maWVsZC1pbmZpeCBwb2ludGVyLWV2ZW50IHN1ZmZpeC1pY29uIiBhcmlhLWhpZGRlbj0iZmFsc2UiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0iaGVscC1pY29uIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5kYXRhLWZvbGRlclwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIGZvcm1Db250cm9sTmFtZT0ibWF4X2ZpbGVfY291bnQiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X2ZpbGVfY291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X2ZpbGVfY291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXMtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tYXhfZmlsZV9jb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXMtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1heC1maWxlLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1heF9yZWFkX3JlY29yZHNfY291bnQiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlYWRfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tYXhfcmVhZF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlYWRfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1heC1yZWFkLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdG9yYWdlLW1heC1maWxlLXJlY29yZHM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIGZvcm1Db250cm9sTmFtZT0ibWF4X3JlY29yZHNfcGVyX2ZpbGUiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlY29yZHNfcGVyX2ZpbGVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tYXhfcmVjb3Jkc19wZXJfZmlsZVwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlY29yZHNfcGVyX2ZpbGVcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1heC1yZWNvcmRzXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8c2VjdGlvbiAqbmdTd2l0Y2hDYXNlPSJTdG9yYWdlVHlwZXMuU1FMSVRFIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcmFnZS1wYXRoPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJkYXRhX2ZpbGVfcGF0aCIvPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5kYXRhX2ZpbGVfcGF0aFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtcGF0aC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmRhdGEtZm9sZGVyXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5tZXNzYWdlcy10dGwtY2hlY2staW4taG91cnM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIGZvcm1Db250cm9sTmFtZT0ibWVzc2FnZXNfdHRsX2NoZWNrX2luX2hvdXJzIi8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9jaGVja19pbl9ob3Vyc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWVzc2FnZXNfdHRsX2NoZWNrX2luX2hvdXJzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9jaGVja19pbl9ob3Vyc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy50dGwtY2hlY2staG91clwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5tZXNzYWdlcy10dGwtaW4tZGF5czwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIGZvcm1Db250cm9sTmFtZT0ibWVzc2FnZXNfdHRsX2luX2RheXMiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9pbl9kYXlzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1lc3NhZ2VzLXR0bC1pbi1kYXlzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9pbl9kYXlzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXNzYWdlcy10dGwtaW4tZGF5cy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWVzc2FnZXNfdHRsX2luX2RheXNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXNzYWdlcy10dGwtaW4tZGF5cy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMudHRsLW1lc3NhZ2VzLWRheVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZ3JwY1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT0iZ3JwYyIgY2xhc3M9Im1hdC1jb250ZW50IG1hdC1wYWRkaW5nIGNvbmZpZ3VyYXRpb24tYmxvY2siPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBjb2xvcj0icHJpbWFyeSIgZm9ybUNvbnRyb2xOYW1lPSJlbmFibGVkIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjXCcgIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDxkaXYgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5wZXJtaXQtd2l0aG91dC1jYWxsc1wnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGNvbG9yPSJwcmltYXJ5IiBmb3JtQ29udHJvbE5hbWU9ImtlZXBhbGl2ZVBlcm1pdFdpdGhvdXRDYWxscyI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5wZXJtaXQtd2l0aG91dC1jYWxsc1wnICB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc2VydmVyLXBvcnQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJzZXJ2ZXJQb3J0IiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5zZXJ2ZXItcG9ydFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLnNlcnZlclBvcnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5zZXJ2ZXJQb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5zZXJ2ZXJQb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LW1heFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5zZXJ2ZXJQb3J0XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmdycGMta2VlcC1hbGl2ZS10aW1lb3V0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ia2VlcEFsaXZlVGltZW91dE1zIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5ncnBjLWtlZXAtYWxpdmUtdGltZW91dFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLmtlZXBBbGl2ZVRpbWVvdXRNc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtdGltZW91dC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5rZWVwQWxpdmVUaW1lb3V0TXNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMta2VlcC1hbGl2ZS10aW1lb3V0LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5rZWVwQWxpdmVUaW1lb3V0TXNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtdGltZW91dC1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmdycGMta2VlcC1hbGl2ZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImtlZXBBbGl2ZVRpbWVNcyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZ3JwYy1rZWVwLWFsaXZlXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMua2VlcEFsaXZlVGltZU1zXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMta2VlcC1hbGl2ZS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5rZWVwQWxpdmVUaW1lTXNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMta2VlcC1hbGl2ZS1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMua2VlcEFsaXZlVGltZU1zXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1rZWVwLWFsaXZlLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWluVGltZUJldHdlZW5QaW5nc01zIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5ncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3NcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5taW5UaW1lQmV0d2VlblBpbmdzTXNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLm1pblRpbWVCZXR3ZWVuUGluZ3NNc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5taW5UaW1lQmV0d2VlblBpbmdzTXNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5ncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGE8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtYXhQaW5nc1dpdGhvdXREYXRhIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5ncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGFcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5tYXhQaW5nc1dpdGhvdXREYXRhXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5tYXhQaW5nc1dpdGhvdXREYXRhXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLm1heFBpbmdzV2l0aG91dERhdGFcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5ncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1pblBpbmdJbnRlcnZhbFdpdGhvdXREYXRhTXMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWluUGluZ0ludGVydmFsV2l0aG91dERhdGFNc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5taW5QaW5nSW50ZXJ2YWxXaXRob3V0RGF0YU1zXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWluUGluZ0ludGVydmFsV2l0aG91dERhdGFNc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5zdGF0aXN0aWNzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy10ZW1wbGF0ZSBtYXRUYWJDb250ZW50PlxuICAgICAgPGRpdiBmb3JtR3JvdXBOYW1lPSJ0aGluZ3Nib2FyZCIgY2xhc3M9Im1hdC1jb250ZW50IG1hdC1wYWRkaW5nIGNvbmZpZ3VyYXRpb24tYmxvY2siPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIiBmb3JtR3JvdXBOYW1lPSJzdGF0aXN0aWNzIj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjb2xvcj0icHJpbWFyeSIgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJlbmFibGUiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3Muc3RhdGlzdGljc1wnICB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3Muc2VuZC1wZXJpb2Q8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InN0YXRzU2VuZFBlcmlvZEluU2Vjb25kcyIgdHlwZT0ibnVtYmVyIiBtaW49IjYwIi8+XG4gICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zdGF0aXN0aWNzLnN0YXRzU2VuZFBlcmlvZEluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3Muc2VuZC1wZXJpb2QtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zdGF0aXN0aWNzLnN0YXRzU2VuZFBlcmlvZEluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnNlbmQtcGVyaW9kLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnN0YXRpc3RpY3Muc3RhdHNTZW5kUGVyaW9kSW5TZWNvbmRzXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnNlbmQtcGVyaW9kLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3MuY29tbWFuZHM8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLWhpbnQiIHRyYW5zbGF0ZT5nYXRld2F5LmhpbnRzLmNvbW1hbmRzPC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBmb3JtR3JvdXBOYW1lPSJzdGF0aXN0aWNzIj5cbiAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9InJvdyIgZm9ybUFycmF5TmFtZT0iY29tbWFuZHMiIGNsYXNzPSJzdGF0aXN0aWNzLWNvbnRhaW5lciJcbiAgICAgICAgICAgICAgICAgKm5nRm9yPSJsZXQgY29tbWFuZENvbnRyb2wgb2YgY29tbWFuZEZvcm1BcnJheSgpLmNvbnRyb2xzOyBsZXQgJGluZGV4ID0gaW5kZXgiPlxuICAgICAgICAgICAgICA8c2VjdGlvbiBbZm9ybUdyb3VwTmFtZV09IiRpbmRleCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCBuby1wYWRkaW5nLWJvdHRvbSBuby1nYXAgY29tbWFuZC1jb250YWluZXIiPlxuICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RhdGlzdGljcy5hdHRyaWJ1dGUtbmFtZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJhdHRyaWJ1dGVPbkdhdGV3YXkiLz5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZENvbnRyb2wuZ2V0KFwnYXR0cmlidXRlT25HYXRld2F5XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmF0dHJpYnV0ZS1uYW1lLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuYXR0cmlidXRlXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3MudGltZW91dDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ0aW1lb3V0IiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb21tYW5kQ29udHJvbC5nZXQoXCd0aW1lb3V0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnRpbWVvdXQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZENvbnRyb2wuZ2V0KFwndGltZW91dFwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MudGltZW91dC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZENvbnRyb2wuZ2V0KFwndGltZW91dFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnRpbWVvdXQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLnRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImNvbW1hbmQiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbW1hbmRDb250cm9sLmdldChcJ2NvbW1hbmRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb21tYW5kQ29udHJvbC5nZXQoXCdjb21tYW5kXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmNvbW1hbmRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9InJlbW92ZUNvbW1hbmRDb250cm9sKCRpbmRleCwgJGV2ZW50KSJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItYm94LWJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPSIhYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucmVtb3RlQ29uZmlndXJhdGlvblwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5yZW1vdmVcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IGZpdC1jb250ZW50OyJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPSIhYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucmVtb3RlQ29uZmlndXJhdGlvblwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iYWRkQ29tbWFuZCgpIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuYWRkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5vdGhlclwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT0idGhpbmdzYm9hcmQiIGNsYXNzPSJtYXQtY29udGVudCBtYXQtcGFkZGluZyBjb25maWd1cmF0aW9uLWJsb2NrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCIgZm9ybUdyb3VwTmFtZT0iY2hlY2tpbmdEZXZpY2VBY3Rpdml0eSJcbiAgICAgICAgICAgICBbY2xhc3Mubm8tcGFkZGluZy1ib3R0b21dPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja2luZ0RldmljZUFjdGl2aXR5LmNoZWNrRGV2aWNlSW5hY3Rpdml0eVwnKS52YWx1ZSI+XG4gICAgICAgICAgPGRpdiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLmNoZWNrLWRldmljZS1hY3Rpdml0eVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGNvbG9yPSJwcmltYXJ5IiBmb3JtQ29udHJvbE5hbWU9ImNoZWNrRGV2aWNlSW5hY3Rpdml0eSI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5jaGVja2luZy1kZXZpY2UtYWN0aXZpdHlcJyAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyJcbiAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5jaGVja0RldmljZUluYWN0aXZpdHlcJykudmFsdWUiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5pbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kczwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJpbmFjdGl2aXR5VGltZW91dFNlY29uZHMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5pbmFjdGl2aXR5VGltZW91dFNlY29uZHNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5pbmFjdGl2aXR5VGltZW91dFNlY29uZHNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja2luZ0RldmljZUFjdGl2aXR5LmluYWN0aXZpdHlUaW1lb3V0U2Vjb25kc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuaW5hY3Rpdml0eS10aW1lb3V0XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBmb3JtQ29udHJvbE5hbWU9ImluYWN0aXZpdHlDaGVja1BlcmlvZFNlY29uZHMiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja2luZ0RldmljZUFjdGl2aXR5LmluYWN0aXZpdHlDaGVja1BlcmlvZFNlY29uZHNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja2luZ0RldmljZUFjdGl2aXR5LmluYWN0aXZpdHlDaGVja1BlcmlvZFNlY29uZHNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LWNoZWNrLXBlcmlvZC1zZWNvbmRzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNraW5nRGV2aWNlQWN0aXZpdHkuaW5hY3Rpdml0eUNoZWNrUGVyaW9kU2Vjb25kc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LWNoZWNrLXBlcmlvZC1zZWNvbmRzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5pbmFjdGl2aXR5LXBlcmlvZFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tcGFkZGluZy1ib3R0b20iPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LmFkdmFuY2VkPC9kaXY+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5taW4tcGFjay1zZW5kLWRlbGF5PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1pblBhY2tTZW5kRGVsYXlNUyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWluUGFja1NlbmREZWxheU1TXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5taW4tcGFjay1zZW5kLWRlbGF5LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1pblBhY2tTZW5kRGVsYXlNU1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1pbi1wYWNrLXNlbmQtZGVsYXktbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWluUGFja1NlbmREZWxheU1TXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1pbi1wYWNrLXNlbmQtZGVsYXktcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1pbmltYWwtcGFjay1kZWxheVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5tcXR0LXFvczwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJxb3MiIHR5cGU9Im51bWJlciIgbWluPSIwIiBtYXg9IjEiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucW9zXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tcXR0LXFvcy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5xb3NcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tcXR0LXFvcy1yYW5nZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5xb3NcJykuaGFzRXJyb3IoXCdtYXhcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tcXR0LXFvcy1yYW5nZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLnFvc1wnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3MuY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImNoZWNrQ29ubmVjdG9yc0NvbmZpZ3VyYXRpb25JblNlY29uZHMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tDb25uZWN0b3JzQ29uZmlndXJhdGlvbkluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5jaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja0Nvbm5lY3RvcnNDb25maWd1cmF0aW9uSW5TZWNvbmRzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5jaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tDb25uZWN0b3JzQ29uZmlndXJhdGlvbkluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbi1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLm1heC1wYXlsb2FkLXNpemUtYnl0ZXM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWF4UGF5bG9hZFNpemVCeXRlcyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5tYXhQYXlsb2FkU2l6ZUJ5dGVzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLm1heC1wYXlsb2FkLXNpemUtYnl0ZXMtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5tYXhQYXlsb2FkU2l6ZUJ5dGVzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5tYXgtcGF5bG9hZC1zaXplLWJ5dGVzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1heFBheWxvYWRTaXplQnl0ZXNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5tYXgtcGF5bG9hZC1zaXplLWJ5dGVzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5tYXgtcGF5bG9hZC1zaXplLWJ5dGVzXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RhdGlzdGljcy5taW4tcGFjay1zaXplLXRvLXNlbmQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWluUGFja1NpemVUb1NlbmQiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWluUGFja1NpemVUb1NlbmRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MubWluLXBhY2stc2l6ZS10by1zZW5kLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWluUGFja1NpemVUb1NlbmRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLm1pbi1wYWNrLXNpemUtdG8tc2VuZC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5taW5QYWNrU2l6ZVRvU2VuZFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLm1pbi1wYWNrLXNpemUtdG8tc2VuZC1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMubWluLXBhY2stc2l6ZS10by1zZW5kXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLXJvd3M6bWluLWNvbnRlbnQgbWlubWF4KGF1dG8sMWZyKSBtaW4tY29udGVudH06aG9zdCAuY29uZmlndXJhdGlvbi1ibG9ja3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxNnB4O21heC1oZWlnaHQ6NzB2aH06aG9zdCAuZGlhbG9nLW1vZGUgLmNvbmZpZ3VyYXRpb24tYmxvY2t7bWF4LWhlaWdodDo2MHZofTpob3N0IC5tYXQtdG9vbGJhcntncmlkLXJvdzoxO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6IzAwMDAwMGRlIWltcG9ydGFudH06aG9zdCAudGFiLWdyb3VwLWJsb2Nre21pbi13aWR0aDowO2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6MDtncmlkLXJvdzoyfTpob3N0IC50b2dnbGUtZ3JvdXB7bWFyZ2luLXJpZ2h0OmF1dG99Omhvc3QgLmZpcnN0LWNhcGl0YWx7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZX06aG9zdCB0ZXh0YXJlYXtyZXNpemU6bm9uZX06aG9zdCAuc2F2aW5nLXBlcmlvZHtmbGV4OjF9Omhvc3QgLnN0YXRpc3RpY3MtY29udGFpbmVye3dpZHRoOjEwMCV9Omhvc3QgLnN0YXRpc3RpY3MtY29udGFpbmVyIC5jb21tYW5kLWNvbnRhaW5lcnt3aWR0aDoxMDAlfTpob3N0IG1hdC1mb3JtLWZpZWxkIG1hdC1lcnJvcntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fTpob3N0IG1hdC1mb3JtLWZpZWxkIG1hdC1lcnJvcjpmaXJzdC1jaGlsZHtkaXNwbGF5OmJsb2NrIWltcG9ydGFudH06aG9zdCA6Om5nLWRlZXAgLnBvaW50ZXItZXZlbnR7cG9pbnRlci1ldmVudHM6YWxsfTpob3N0IDo6bmctZGVlcCAudG9nZ2xlLWdyb3VwIHNwYW57cGFkZGluZzowIDI1cHh9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLWZvcm0tZmllbGQtaWNvbi1zdWZmaXh7Y29sb3I6I2UwZTBlMH06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtZm9ybS1maWVsZC1pY29uLXN1ZmZpeDpob3Zlcntjb2xvcjojOWU5ZTllfTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTpYLkRldmljZVNlcnZpY2V9LHt0eXBlOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9LHt0eXBlOkplLk1hdERpYWxvZ31dLHByb3BEZWNvcmF0b3JzOntkZXZpY2U6W3t0eXBlOmF9XSxkaWFsb2dNb2RlOlt7dHlwZTphfV0saW5pdGlhbENyZWRlbnRpYWxzVXBkYXRlZDpbe3R5cGU6bH1dfX0pO2NsYXNzIFBve2NvbnN0cnVjdG9yKGUpe3RoaXMuZmI9ZSx0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLmFkdmFuY2VkRm9ybUNvbnRyb2w9dGhpcy5mYi5jb250cm9sKCIiKSx0aGlzLmFkdmFuY2VkRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMub25DaGFuZ2UoZSksdGhpcy5vblRvdWNoZWQoKX0pKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMub25DaGFuZ2U9ZX1yZWdpc3Rlck9uVG91Y2hlZChlKXt0aGlzLm9uVG91Y2hlZD1lfXdyaXRlVmFsdWUoZSl7dGhpcy5hZHZhbmNlZEZvcm1Db250cm9sLnJlc2V0KGUse2VtaXRFdmVudDohMX0pfXZhbGlkYXRlKCl7cmV0dXJuIHRoaXMuYWR2YW5jZWRGb3JtQ29udHJvbC52YWxpZD9udWxsOnthZHZhbmNlZEZvcm1Db250cm9sOnt2YWxpZDohMX19fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6UG8sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpQbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLWdhdGV3YXktYWR2YW5jZWQtY29uZmlndXJhdGlvbiIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+UG8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PlBvKSksbXVsdGk6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuXG48dGItanNvbi1vYmplY3QtZWRpdFxuICBmaWxsSGVpZ2h0PSJ0cnVlIlxuICBjbGFzcz0idGItZmxleCBjb25maWctY29udGFpbmVyIlxuICBmeExheW91dD0iY29sdW1uIlxuICBqc29uUmVxdWlyZWRcbiAgbGFiZWw9Int7IFwnZ2F0ZXdheS5jb25maWd1cmF0aW9uXCcgfCB0cmFuc2xhdGUgfX0iXG4gIFtmb3JtQ29udHJvbF09ImFkdmFuY2VkRm9ybUNvbnRyb2wiXG4vPlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC5jb25maWctY29udGFpbmVye2hlaWdodDpjYWxjKDEwMCUgLSA2MHB4KTtwYWRkaW5nOjhweH1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZ0Lkpzb25PYmplY3RFZGl0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi1qc29uLW9iamVjdC1lZGl0IixpbnB1dHM6WyJsYWJlbCIsImRpc2FibGVkIiwiZmlsbEhlaWdodCIsImVkaXRvclN0eWxlIiwic29ydCIsImpzb25SZXF1aXJlZCIsInJlYWRvbmx5Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2wiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV19KX19ZSgiR2F0ZXdheUFkdmFuY2VkQ29uZmlndXJhdGlvbkNvbXBvbmVudCIsUG8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6UG8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktYWR2YW5jZWQtY29uZmlndXJhdGlvbiIsc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILERdLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PlBvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5QbykpLG11bHRpOiEwfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG5cbjx0Yi1qc29uLW9iamVjdC1lZGl0XG4gIGZpbGxIZWlnaHQ9InRydWUiXG4gIGNsYXNzPSJ0Yi1mbGV4IGNvbmZpZy1jb250YWluZXIiXG4gIGZ4TGF5b3V0PSJjb2x1bW4iXG4gIGpzb25SZXF1aXJlZFxuICBsYWJlbD0ie3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSJcbiAgW2Zvcm1Db250cm9sXT0iYWR2YW5jZWRGb3JtQ29udHJvbCJcbi8+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLmNvbmZpZy1jb250YWluZXJ7aGVpZ2h0OmNhbGMoMTAwJSAtIDYwcHgpO3BhZGRpbmc6OHB4fVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9XX0pO2NsYXNzIEdve2NvbnN0cnVjdG9yKGUsdCxuLGEpe3RoaXMuZmI9ZSx0aGlzLmF0dHJpYnV0ZVNlcnZpY2U9dCx0aGlzLmRldmljZVNlcnZpY2U9bix0aGlzLmNkPWEsdGhpcy5Db25maWd1cmF0aW9uTW9kZXM9b24sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5nYXRld2F5Q29uZmlnQXR0cmlidXRlS2V5cz1bImdlbmVyYWxfY29uZmlndXJhdGlvbiIsImdycGNfY29uZmlndXJhdGlvbiIsImxvZ3NfY29uZmlndXJhdGlvbiIsInN0b3JhZ2VfY29uZmlndXJhdGlvbiIsIlJlbW90ZUxvZ2dpbmdMZXZlbCIsIm1vZGUiXSx0aGlzLmdhdGV3YXlDb25maWdHcm91cD10aGlzLmZiLmdyb3VwKHtiYXNpY0NvbmZpZzpbXSxhZHZhbmNlZENvbmZpZzpbXSxtb2RlOltvbi5CQVNJQ119KSx0aGlzLm9ic2VydmVBbGlnbkNvbmZpZ3MoKX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLmZldGNoQ29uZmlnQXR0cmlidXRlKHRoaXMuZGV2aWNlKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1zYXZlQ29uZmlnKCl7Y29uc3R7bW9kZTplLGFkdmFuY2VkQ29uZmlnOnR9PXBlKHRoaXMucmVtb3ZlRW1wdHkodGhpcy5nYXRld2F5Q29uZmlnR3JvdXAudmFsdWUpKSxuPXttb2RlOmUsLi4udH07bi50aGluZ3Nib2FyZC5zdGF0aXN0aWNzLmNvbW1hbmRzPU9iamVjdC52YWx1ZXMobi50aGluZ3Nib2FyZC5zdGF0aXN0aWNzLmNvbW1hbmRzPz9bXSk7Y29uc3QgYT10aGlzLmdlbmVyYXRlQXR0cmlidXRlcyhuKTt0aGlzLmF0dHJpYnV0ZVNlcnZpY2Uuc2F2ZUVudGl0eUF0dHJpYnV0ZXModGhpcy5kZXZpY2UsTC5TSEFSRURfU0NPUEUsYSkucGlwZShVZSgoZT0+dGhpcy51cGRhdGVDcmVkZW50aWFscyhuLnRoaW5nc2JvYXJkLnNlY3VyaXR5KSkpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5kaWFsb2dSZWY/dGhpcy5kaWFsb2dSZWYuY2xvc2UoKToodGhpcy5nYXRld2F5Q29uZmlnR3JvdXAubWFya0FzUHJpc3RpbmUoKSx0aGlzLmNkLmRldGVjdENoYW5nZXMoKSl9KSl9b2JzZXJ2ZUFsaWduQ29uZmlncygpe3RoaXMuZ2F0ZXdheUNvbmZpZ0dyb3VwLmdldCgiYmFzaWNDb25maWciKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57Y29uc3QgdD10aGlzLmdhdGV3YXlDb25maWdHcm91cC5nZXQoImFkdmFuY2VkQ29uZmlnIik7ZWUodC52YWx1ZSxlKXx8dGhpcy5nYXRld2F5Q29uZmlnR3JvdXAuZ2V0KCJtb2RlIikudmFsdWUhPT1vbi5CQVNJQ3x8dC5wYXRjaFZhbHVlKGUse2VtaXRFdmVudDohMX0pfSkpLHRoaXMuZ2F0ZXdheUNvbmZpZ0dyb3VwLmdldCgiYWR2YW5jZWRDb25maWciKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57Y29uc3QgdD10aGlzLmdhdGV3YXlDb25maWdHcm91cC5nZXQoImJhc2ljQ29uZmlnIik7ZWUodC52YWx1ZSxlKXx8dGhpcy5nYXRld2F5Q29uZmlnR3JvdXAuZ2V0KCJtb2RlIikudmFsdWUhPT1vbi5BRFZBTkNFRHx8dC5wYXRjaFZhbHVlKGUse2VtaXRFdmVudDohMX0pfSkpfWdlbmVyYXRlQXR0cmlidXRlcyhlKXtjb25zdCB0PVtdLG49KGUsbik9Pnt0LnB1c2goe2tleTplLHZhbHVlOm59KX0sYT0oZSx0KT0+e3Q9ey4uLnQsdHM6KG5ldyBEYXRlKS5nZXRUaW1lKCl9LG4oZSx0KX07cmV0dXJuIG4oIlJlbW90ZUxvZ2dpbmdMZXZlbCIsZS5sb2dzPy5yZW1vdGU/LmVuYWJsZWQ/ZS5sb2dzLnJlbW90ZS5sb2dMZXZlbDpNdC5OT05FKSxkZWxldGUgZS5jb25uZWN0b3JzLG4oImxvZ3NfY29uZmlndXJhdGlvbiIsdGhpcy5nZW5lcmF0ZUxvZ3NGaWxlKGUubG9ncykpLGEoImdycGNfY29uZmlndXJhdGlvbiIsZS5ncnBjKSxhKCJzdG9yYWdlX2NvbmZpZ3VyYXRpb24iLGUuc3RvcmFnZSksYSgiZ2VuZXJhbF9jb25maWd1cmF0aW9uIixlLnRoaW5nc2JvYXJkKSxuKCJtb2RlIixlLm1vZGUpLHR9dXBkYXRlQ3JlZGVudGlhbHMoZSl7bGV0IHQ9e307c3dpdGNoKGUudHlwZSl7Y2FzZSBWdC5VU0VSTkFNRV9QQVNTV09SRDp0aGlzLnNob3VsZFVwZGF0ZUNyZWRlbnRpYWxzKGUpJiYodD10aGlzLmdlbmVyYXRlTXF0dENyZWRlbnRpYWxzKGUpKTticmVhaztjYXNlIFZ0LkFDQ0VTU19UT0tFTjpjYXNlIFZ0LlRMU19BQ0NFU1NfVE9LRU46dGhpcy5zaG91bGRVcGRhdGVBY2Nlc3NUb2tlbihlKSYmKHQ9e2NyZWRlbnRpYWxzVHlwZTpVLkFDQ0VTU19UT0tFTixjcmVkZW50aWFsc0lkOmUuYWNjZXNzVG9rZW59KX1yZXR1cm4gT2JqZWN0LmtleXModCkubGVuZ3RoP3RoaXMuZGV2aWNlU2VydmljZS5zYXZlRGV2aWNlQ3JlZGVudGlhbHMoey4uLnRoaXMuaW5pdGlhbENyZWRlbnRpYWxzLC4uLnR9KTpJZShudWxsKX1zaG91bGRVcGRhdGVDcmVkZW50aWFscyhlKXtpZih0aGlzLmluaXRpYWxDcmVkZW50aWFscy5jcmVkZW50aWFsc1R5cGUhPT1VLk1RVFRfQkFTSUMpcmV0dXJuITA7Y29uc3QgdD1KU09OLnBhcnNlKHRoaXMuaW5pdGlhbENyZWRlbnRpYWxzLmNyZWRlbnRpYWxzVmFsdWUpO3JldHVybiEodC5jbGllbnRJZD09PWUuY2xpZW50SWQmJnQudXNlck5hbWU9PT1lLnVzZXJuYW1lJiZ0LnBhc3N3b3JkPT09ZS5wYXNzd29yZCl9Z2VuZXJhdGVNcXR0Q3JlZGVudGlhbHMoZSl7Y29uc3R7Y2xpZW50SWQ6dCx1c2VybmFtZTpuLHBhc3N3b3JkOmF9PWUsbz17Li4udCYme2NsaWVudElkOnR9LC4uLm4mJnt1c2VyTmFtZTpufSwuLi5hJiZ7cGFzc3dvcmQ6YX19O3JldHVybntjcmVkZW50aWFsc1R5cGU6VS5NUVRUX0JBU0lDLGNyZWRlbnRpYWxzVmFsdWU6SlNPTi5zdHJpbmdpZnkobyl9fXNob3VsZFVwZGF0ZUFjY2Vzc1Rva2VuKGUpe3JldHVybiB0aGlzLmluaXRpYWxDcmVkZW50aWFscy5jcmVkZW50aWFsc1R5cGUhPT1VLkFDQ0VTU19UT0tFTnx8dGhpcy5pbml0aWFsQ3JlZGVudGlhbHMuY3JlZGVudGlhbHNJZCE9PWUuYWNjZXNzVG9rZW59Y2FuY2VsKCl7dGhpcy5kaWFsb2dSZWYmJnRoaXMuZGlhbG9nUmVmLmNsb3NlKCl9cmVtb3ZlRW1wdHkoZSl7cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhlKS5maWx0ZXIoKChbZSx0XSk9Pm51bGwhPXQpKS5tYXAoKChbZSx0XSk9PltlLHQ9PT1PYmplY3QodCk/dGhpcy5yZW1vdmVFbXB0eSh0KTp0XSkpKX1nZW5lcmF0ZUxvZ3NGaWxlKGUpe2NvbnN0IHQ9e3ZlcnNpb246MSxkaXNhYmxlX2V4aXN0aW5nX2xvZ2dlcnM6ITEsZm9ybWF0dGVyczp7TG9nRm9ybWF0dGVyOntjbGFzczoibG9nZ2luZy5Gb3JtYXR0ZXIiLGZvcm1hdDplLmxvZ0Zvcm1hdCxkYXRlZm10OmUuZGF0ZUZvcm1hdH19LGhhbmRsZXJzOntjb25zb2xlSGFuZGxlcjp7Y2xhc3M6ImxvZ2dpbmcuU3RyZWFtSGFuZGxlciIsZm9ybWF0dGVyOiJMb2dGb3JtYXR0ZXIiLGxldmVsOjAsc3RyZWFtOiJleHQ6Ly9zeXMuc3Rkb3V0In0sZGF0YWJhc2VIYW5kbGVyOntjbGFzczoidGhpbmdzYm9hcmRfZ2F0ZXdheS50Yl91dGlsaXR5LnRiX2hhbmRsZXIuVGltZWRSb3RhdGluZ0ZpbGVIYW5kbGVyIixmb3JtYXR0ZXI6IkxvZ0Zvcm1hdHRlciIsZmlsZW5hbWU6Ii4vbG9ncy9kYXRhYmFzZS5sb2ciLGJhY2t1cENvdW50OjEsZW5jb2Rpbmc6InV0Zi04In19LGxvZ2dlcnM6e2RhdGFiYXNlOntoYW5kbGVyczpbImRhdGFiYXNlSGFuZGxlciIsImNvbnNvbGVIYW5kbGVyIl0sbGV2ZWw6IkRFQlVHIixwcm9wYWdhdGU6ITF9fSxyb290OntsZXZlbDoiRVJST1IiLGhhbmRsZXJzOlsiY29uc29sZUhhbmRsZXIiXX0sdHM6KG5ldyBEYXRlKS5nZXRUaW1lKCl9O3JldHVybiB0aGlzLmFkZExvY2FsTG9nZ2Vycyh0LGUubG9jYWwpLHR9YWRkTG9jYWxMb2dnZXJzKGUsdCl7Zm9yKGNvbnN0IG4gb2YgT2JqZWN0LmtleXModCkpZS5oYW5kbGVyc1tuKyJIYW5kbGVyIl09dGhpcy5jcmVhdGVIYW5kbGVyT2JqKHRbbl0sbiksZS5sb2dnZXJzW25dPXRoaXMuY3JlYXRlTG9nZ2VyT2JqKHRbbl0sbil9Y3JlYXRlSGFuZGxlck9iaihlLHQpe3JldHVybntjbGFzczoidGhpbmdzYm9hcmRfZ2F0ZXdheS50Yl91dGlsaXR5LnRiX2hhbmRsZXIuVGltZWRSb3RhdGluZ0ZpbGVIYW5kbGVyIixmb3JtYXR0ZXI6IkxvZ0Zvcm1hdHRlciIsZmlsZW5hbWU6YCR7ZS5maWxlUGF0aH0vJHt0fS5sb2dgLGJhY2t1cENvdW50OmUuYmFja3VwQ291bnQsaW50ZXJ2YWw6ZS5zYXZpbmdUaW1lLHdoZW46ZS5zYXZpbmdQZXJpb2QsZW5jb2Rpbmc6InV0Zi04In19Y3JlYXRlTG9nZ2VyT2JqKGUsdCl7cmV0dXJue2hhbmRsZXJzOltgJHt0fUhhbmRsZXJgLCJjb25zb2xlSGFuZGxlciJdLGxldmVsOmUubG9nTGV2ZWwscHJvcGFnYXRlOiExfX1mZXRjaENvbmZpZ0F0dHJpYnV0ZShlKXtlLmlkIT09ayYmdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLmdldEVudGl0eUF0dHJpYnV0ZXMoZSxMLkNMSUVOVF9TQ09QRSkucGlwZShfZSgodD0+dC5sZW5ndGg/SWUodCk6dGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLmdldEVudGl0eUF0dHJpYnV0ZXMoZSxMLlNIQVJFRF9TQ09QRSx0aGlzLmdhdGV3YXlDb25maWdBdHRyaWJ1dGVLZXlzKSkpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLnVwZGF0ZUNvbmZpZ3MoZSksdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCl9KSl9dXBkYXRlQ29uZmlncyhlKXtjb25zdCB0PXt0aGluZ3Nib2FyZDp7fSxncnBjOnt9LGxvZ3M6e30sc3RvcmFnZTp7fSxtb2RlOm9uLkJBU0lDfTtlLmZvckVhY2goKGU9Pntzd2l0Y2goZS5rZXkpe2Nhc2UiZ2VuZXJhbF9jb25maWd1cmF0aW9uIjp0LnRoaW5nc2JvYXJkPWUudmFsdWUsdGhpcy51cGRhdGVGb3JtQ29udHJvbHMoZS52YWx1ZSk7YnJlYWs7Y2FzZSJncnBjX2NvbmZpZ3VyYXRpb24iOnQuZ3JwYz1lLnZhbHVlO2JyZWFrO2Nhc2UibG9nc19jb25maWd1cmF0aW9uIjp0LmxvZ3M9dGhpcy5sb2dzVG9PYmooZS52YWx1ZSk7YnJlYWs7Y2FzZSJzdG9yYWdlX2NvbmZpZ3VyYXRpb24iOnQuc3RvcmFnZT1lLnZhbHVlO2JyZWFrO2Nhc2UibW9kZSI6dC5tb2RlPWUudmFsdWU7YnJlYWs7Y2FzZSJSZW1vdGVMb2dnaW5nTGV2ZWwiOnQubG9ncz17Li4udC5sb2dzLHJlbW90ZTp7ZW5hYmxlZDplLnZhbHVlIT09TXQuTk9ORSxsb2dMZXZlbDplLnZhbHVlfX19fSkpLHRoaXMuZ2F0ZXdheUNvbmZpZ0dyb3VwLmdldCgiYmFzaWNDb25maWciKS5zZXRWYWx1ZSh0LHtlbWl0RXZlbnQ6ITF9KSx0aGlzLmdhdGV3YXlDb25maWdHcm91cC5nZXQoImFkdmFuY2VkQ29uZmlnIikuc2V0VmFsdWUodCx7ZW1pdEV2ZW50OiExfSl9dXBkYXRlRm9ybUNvbnRyb2xzKGUpe2NvbnN0e3R5cGU6dCxhY2Nlc3NUb2tlbjpuLC4uLmF9PWUuc2VjdXJpdHk/P3t9O3RoaXMuaW5pdGlhbENyZWRlbnRpYWxzPXtkZXZpY2VJZDp0aGlzLmRldmljZSxjcmVkZW50aWFsc1R5cGU6dCxjcmVkZW50aWFsc0lkOm4sY3JlZGVudGlhbHNWYWx1ZTpKU09OLnN0cmluZ2lmeShhKX19bG9nc1RvT2JqKGUpe2NvbnN0e2Zvcm1hdDp0LGRhdGVmbXQ6bn09ZS5mb3JtYXR0ZXJzLkxvZ0Zvcm1hdHRlcjtyZXR1cm57bG9jYWw6T2JqZWN0LmtleXMoUHQpLnJlZHVjZSgoKHQsbik9Pntjb25zdCBhPWUuaGFuZGxlcnNbYCR7bn1IYW5kbGVyYF18fHt9LG89ZS5sb2dnZXJzW25dfHx7fTtyZXR1cm4gdFtuXT17bG9nTGV2ZWw6by5sZXZlbHx8TXQuSU5GTyxmaWxlUGF0aDphLmZpbGVuYW1lPy5zcGxpdChgLyR7bn1gKVswXXx8Ii4vbG9ncyIsYmFja3VwQ291bnQ6YS5iYWNrdXBDb3VudHx8NyxzYXZpbmdUaW1lOmEuaW50ZXJ2YWx8fDMsc2F2aW5nUGVyaW9kOmEud2hlbnx8RHQuZGF5c30sdH0pLHt9KSxsb2dGb3JtYXQ6dCxkYXRlRm9ybWF0Om59fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6R28sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfSx7dG9rZW46WC5BdHRyaWJ1dGVTZXJ2aWNlfSx7dG9rZW46WC5EZXZpY2VTZXJ2aWNlfSx7dG9rZW46dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6R28sc2VsZWN0b3I6InRiLWdhdGV3YXktY29uZmlndXJhdGlvbiIsaW5wdXRzOntkZXZpY2U6ImRldmljZSIsZGlhbG9nUmVmOiJkaWFsb2dSZWYifSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuXG48ZGl2IFtmb3JtR3JvdXBdPSJnYXRld2F5Q29uZmlnR3JvdXAiIGNsYXNzPSJnYXRld2F5LWNvbmZpZy1jb250YWluZXIiPlxuICA8ZGl2IGNsYXNzPSJjb250ZW50LXdyYXBwZXIiPlxuICAgIDxtYXQtdG9vbGJhciBjb2xvcj0icHJpbWFyeSIgW2NsYXNzLnBhZ2UtaGVhZGVyXT0iIWRpYWxvZ1JlZiI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHNwYWNlLWJldHdlZW4gYWxpZ24tY2VudGVyIj5cbiAgICAgICAgPGgyIHRyYW5zbGF0ZT5nYXRld2F5LmdhdGV3YXktY29uZmlndXJhdGlvbjwvaDI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItYWN0aW9ucyI+XG4gICAgICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgW2NsYXNzLmRpYWxvZy10b2dnbGVdPSIhIWRpYWxvZ1JlZiIgZm9ybUNvbnRyb2xOYW1lPSJtb2RlIiBhcHBlYXJhbmNlPSJ7e2RpYWxvZ1JlZiA/IFwnc3Ryb2tlZFwnIDogXCdmaWxsXCd9fSI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiBbdmFsdWVdPSJDb25maWd1cmF0aW9uTW9kZXMuQkFTSUMiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuYmFzaWNcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gW3ZhbHVlXT0iQ29uZmlndXJhdGlvbk1vZGVzLkFEVkFOQ0VEIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmFkdmFuY2VkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj0iZGlhbG9nUmVmIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0iY2FuY2VsKCkiIHR5cGU9ImJ1dHRvbiI+XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgICA8dGItZ2F0ZXdheS1iYXNpYy1jb25maWd1cmF0aW9uXG4gICAgICAqbmdJZj0iZ2F0ZXdheUNvbmZpZ0dyb3VwLmdldChcJ21vZGVcJykudmFsdWUgPT09IENvbmZpZ3VyYXRpb25Nb2Rlcy5CQVNJQyJcbiAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICBbZGV2aWNlXT0iZGV2aWNlIlxuICAgICAgW2RpYWxvZ01vZGVdPSIhIWRpYWxvZ1JlZiJcbiAgICAgIChpbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkKT0iaW5pdGlhbENyZWRlbnRpYWxzID0gJGV2ZW50IlxuICAgIC8+XG4gICAgPHRiLWdhdGV3YXktYWR2YW5jZWQtY29uZmlndXJhdGlvblxuICAgICAgKm5nSWY9ImdhdGV3YXlDb25maWdHcm91cC5nZXQoXCdtb2RlXCcpLnZhbHVlID09PSBDb25maWd1cmF0aW9uTW9kZXMuQURWQU5DRUQiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9ImFkdmFuY2VkQ29uZmlnIlxuICAgIC8+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJhY3Rpb25zIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAqbmdJZj0iZGlhbG9nUmVmIlxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0iZ2F0ZXdheUNvbmZpZ0dyb3VwLmludmFsaWQgfHwgIWdhdGV3YXlDb25maWdHcm91cC5kaXJ0eSJcbiAgICAgICAgICAgIChjbGljayk9InNhdmVDb25maWcoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5zYXZlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3c6aGlkZGVufTpob3N0IC5wYWdlLWhlYWRlci5tYXQtdG9vbGJhcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMDAwMDBkZSFpbXBvcnRhbnR9Omhvc3QgLmFjdGlvbnN7Z3JpZC1yb3c6MztwYWRkaW5nOjhweCAxNnB4IDhweCA4cHg7ZGlzcGxheTpmbGV4O2dhcDo4cHg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3JpZ2h0OjA7ei1pbmRleDoxO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDoxMDAlfTpob3N0IC5nYXRld2F5LWNvbmZpZy1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59Omhvc3QgLmNvbnRlbnQtd3JhcHBlcntmbGV4OjF9Omhvc3QgLnRvb2xiYXItYWN0aW9uc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5kaWFsb2ctdG9nZ2xlIDo6bmctZGVlcCAubWF0LWJ1dHRvbi10b2dnbGUtYnV0dG9ue2NvbG9yOiNmZmZmZmZiZn1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlkuVHJhbnNsYXRlRGlyZWN0aXZlLHNlbGVjdG9yOiJbdHJhbnNsYXRlXSxbbmd4LXRyYW5zbGF0ZV0iLGlucHV0czpbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZVBhcmFtcyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm50LlRvZ2dsZU9wdGlvbixzZWxlY3RvcjoidGItdG9nZ2xlLW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTphdC5Ub2dnbGVTZWxlY3RDb21wb25lbnQsc2VsZWN0b3I6InRiLXRvZ2dsZS1zZWxlY3QiLGlucHV0czpbImRpc2FibGVkIiwic2VsZWN0TWVkaWFCcmVha3BvaW50IiwiYXBwZWFyYW5jZSIsImRpc2FibGVQYWdpbmF0aW9uIiwiZmlsbEhlaWdodCIsImV4dHJhUGFkZGluZyIsInByaW1hcnlCYWNrZ3JvdW5kIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6RG8sc2VsZWN0b3I6InRiLWdhdGV3YXktYmFzaWMtY29uZmlndXJhdGlvbiIsaW5wdXRzOlsiZGV2aWNlIiwiZGlhbG9nTW9kZSJdLG91dHB1dHM6WyJpbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6UG8sc2VsZWN0b3I6InRiLWdhdGV3YXktYWR2YW5jZWQtY29uZmlndXJhdGlvbiJ9LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV19KX19ZSgiR2F0ZXdheUNvbmZpZ3VyYXRpb25Db21wb25lbnQiLEdvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkdvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1nYXRld2F5LWNvbmZpZ3VyYXRpb24iLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuXG48ZGl2IFtmb3JtR3JvdXBdPSJnYXRld2F5Q29uZmlnR3JvdXAiIGNsYXNzPSJnYXRld2F5LWNvbmZpZy1jb250YWluZXIiPlxuICA8ZGl2IGNsYXNzPSJjb250ZW50LXdyYXBwZXIiPlxuICAgIDxtYXQtdG9vbGJhciBjb2xvcj0icHJpbWFyeSIgW2NsYXNzLnBhZ2UtaGVhZGVyXT0iIWRpYWxvZ1JlZiI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHNwYWNlLWJldHdlZW4gYWxpZ24tY2VudGVyIj5cbiAgICAgICAgPGgyIHRyYW5zbGF0ZT5nYXRld2F5LmdhdGV3YXktY29uZmlndXJhdGlvbjwvaDI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItYWN0aW9ucyI+XG4gICAgICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgW2NsYXNzLmRpYWxvZy10b2dnbGVdPSIhIWRpYWxvZ1JlZiIgZm9ybUNvbnRyb2xOYW1lPSJtb2RlIiBhcHBlYXJhbmNlPSJ7e2RpYWxvZ1JlZiA/IFwnc3Ryb2tlZFwnIDogXCdmaWxsXCd9fSI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiBbdmFsdWVdPSJDb25maWd1cmF0aW9uTW9kZXMuQkFTSUMiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuYmFzaWNcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gW3ZhbHVlXT0iQ29uZmlndXJhdGlvbk1vZGVzLkFEVkFOQ0VEIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmFkdmFuY2VkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj0iZGlhbG9nUmVmIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0iY2FuY2VsKCkiIHR5cGU9ImJ1dHRvbiI+XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgICA8dGItZ2F0ZXdheS1iYXNpYy1jb25maWd1cmF0aW9uXG4gICAgICAqbmdJZj0iZ2F0ZXdheUNvbmZpZ0dyb3VwLmdldChcJ21vZGVcJykudmFsdWUgPT09IENvbmZpZ3VyYXRpb25Nb2Rlcy5CQVNJQyJcbiAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICBbZGV2aWNlXT0iZGV2aWNlIlxuICAgICAgW2RpYWxvZ01vZGVdPSIhIWRpYWxvZ1JlZiJcbiAgICAgIChpbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkKT0iaW5pdGlhbENyZWRlbnRpYWxzID0gJGV2ZW50IlxuICAgIC8+XG4gICAgPHRiLWdhdGV3YXktYWR2YW5jZWQtY29uZmlndXJhdGlvblxuICAgICAgKm5nSWY9ImdhdGV3YXlDb25maWdHcm91cC5nZXQoXCdtb2RlXCcpLnZhbHVlID09PSBDb25maWd1cmF0aW9uTW9kZXMuQURWQU5DRUQiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9ImFkdmFuY2VkQ29uZmlnIlxuICAgIC8+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJhY3Rpb25zIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAqbmdJZj0iZGlhbG9nUmVmIlxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0iZ2F0ZXdheUNvbmZpZ0dyb3VwLmludmFsaWQgfHwgIWdhdGV3YXlDb25maWdHcm91cC5kaXJ0eSJcbiAgICAgICAgICAgIChjbGljayk9InNhdmVDb25maWcoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5zYXZlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3c6aGlkZGVufTpob3N0IC5wYWdlLWhlYWRlci5tYXQtdG9vbGJhcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMDAwMDBkZSFpbXBvcnRhbnR9Omhvc3QgLmFjdGlvbnN7Z3JpZC1yb3c6MztwYWRkaW5nOjhweCAxNnB4IDhweCA4cHg7ZGlzcGxheTpmbGV4O2dhcDo4cHg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3JpZ2h0OjA7ei1pbmRleDoxO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDoxMDAlfTpob3N0IC5nYXRld2F5LWNvbmZpZy1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59Omhvc3QgLmNvbnRlbnQtd3JhcHBlcntmbGV4OjF9Omhvc3QgLnRvb2xiYXItYWN0aW9uc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5kaWFsb2ctdG9nZ2xlIDo6bmctZGVlcCAubWF0LWJ1dHRvbi10b2dnbGUtYnV0dG9ue2NvbG9yOiNmZmZmZmZiZn1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTpYLkF0dHJpYnV0ZVNlcnZpY2V9LHt0eXBlOlguRGV2aWNlU2VydmljZX0se3R5cGU6dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHByb3BEZWNvcmF0b3JzOntkZXZpY2U6W3t0eXBlOmF9XSxkaWFsb2dSZWY6W3t0eXBlOmF9XX19KTt2YXIgT289e2dhdGV3YXk6e2FkZHJlc3M6IkFkZHJlc3MiLCJhZGRyZXNzLXJlcXVpcmVkIjoiQWRkcmVzcyByZXF1aXJlZCIsImFkZC1lbnRyeSI6IkFkZCBjb25maWd1cmF0aW9uIiwiYWRkLWF0dHJpYnV0ZSI6IkFkZCBhdHRyaWJ1dGUiLCJhZGQtYXR0cmlidXRlLXVwZGF0ZSI6IkFkZCBhdHRyaWJ1dGUgdXBkYXRlIiwiYWRkLWtleSI6IkFkZCBrZXkiLCJhZGQtdGltZXNlcmllcyI6IkFkZCB0aW1lIHNlcmllcyIsImFkZC1tYXBwaW5nIjoiQWRkIG1hcHBpbmciLCJhZGQtc2xhdmUiOiJBZGQgU2xhdmUiLGFyZ3VtZW50czoiQXJndW1lbnRzIiwiYWRkLXJwYy1tZXRob2QiOiJBZGQgbWV0aG9kIiwiYWRkLXJwYy1yZXF1ZXN0IjoiQWRkIHJlcXVlc3QiLCJhZGQtdmFsdWUiOiJBZGQgYXJndW1lbnQiLGJhdWRyYXRlOiJCYXVkcmF0ZSIsYnl0ZXNpemU6IkJ5dGVzaXplIiwiZGVsZXRlLXZhbHVlIjoiRGVsZXRlIHZhbHVlIiwiZGVsZXRlLXJwYy1tZXRob2QiOiJEZWxldGUgbWV0aG9kIiwiZGVsZXRlLXJwYy1yZXF1ZXN0IjoiRGVsZXRlIHJlcXVlc3QiLCJkZWxldGUtYXR0cmlidXRlLXVwZGF0ZSI6IkRlbGV0ZSBhdHRyaWJ1dGUgdXBkYXRlIixhZHZhbmNlZDoiQWR2YW5jZWQiLCJhZHZhbmNlZC1jb25uZWN0aW9uLXNldHRpbmdzIjoiQWR2YW5jZWQgY29ubmVjdGlvbiBzZXR0aW5ncyIsYXR0cmlidXRlczoiQXR0cmlidXRlcyIsImF0dHJpYnV0ZS11cGRhdGVzIjoiQXR0cmlidXRlIHVwZGF0ZXMiLCJhdHRyaWJ1dGUtZmlsdGVyIjoiQXR0cmlidXRlIGZpbHRlciIsImF0dHJpYnV0ZS1maWx0ZXItaGludCI6IkZpbHRlciBmb3IgaW5jb21pbmcgYXR0cmlidXRlIG5hbWUgZnJvbSBwbGF0Zm9ybSwgc3VwcG9ydHMgcmVndWxhciBleHByZXNzaW9uLiIsImF0dHJpYnV0ZS1maWx0ZXItcmVxdWlyZWQiOiJBdHRyaWJ1dGUgZmlsdGVyIHJlcXVpcmVkLiIsImF0dHJpYnV0ZS1uYW1lLWV4cHJlc3Npb24iOiJBdHRyaWJ1dGUgbmFtZSBleHByZXNzaW9uIiwiYXR0cmlidXRlLW5hbWUtZXhwcmVzc2lvbi1yZXF1aXJlZCI6IkF0dHJpYnV0ZSBuYW1lIGV4cHJlc3Npb24gcmVxdWlyZWQuIiwiYXR0cmlidXRlLW5hbWUtZXhwcmVzc2lvbi1oaW50IjoiSGludCBmb3IgQXR0cmlidXRlIG5hbWUgZXhwcmVzc2lvbiIsYmFzaWM6IkJhc2ljIiwiYnl0ZS1vcmRlciI6IkJ5dGUgb3JkZXIiLCJ3b3JkLW9yZGVyIjoiV29yZCBvcmRlciIsYnJva2VyOntjb25uZWN0aW9uOiJDb25uZWN0aW9uIHRvIGJyb2tlciIsbmFtZToiQnJva2VyIG5hbWUiLCJuYW1lLXJlcXVpcmVkIjoiQnJva2VyIG5hbWUgcmVxdWlyZWQuIiwic2VjdXJpdHktdHlwZXMiOnthbm9ueW1vdXM6IkFub255bW91cyIsYmFzaWM6IkJhc2ljIixjZXJ0aWZpY2F0ZXM6IkNlcnRpZmljYXRlcyJ9fSwiQ0EtY2VydGlmaWNhdGUtcGF0aCI6IlBhdGggdG8gQ0EgY2VydGlmaWNhdGUgZmlsZSIsInBhdGgtdG8tQ0EtY2VydC1yZXF1aXJlZCI6IlBhdGggdG8gQ0EgY2VydGlmaWNhdGUgZmlsZSBpcyByZXF1aXJlZC4iLCJjaGFuZ2UtY29ubmVjdG9yLXRpdGxlIjoiQ29uZmlybSBjb25uZWN0b3IgY2hhbmdlIiwiY2hhbmdlLWNvbm5lY3Rvci10ZXh0IjoiU3dpdGNoaW5nIGNvbm5lY3RvcnMgd2lsbCBkaXNjYXJkIGFueSB1bnNhdmVkIGNoYW5nZXMuIENvbnRpbnVlPyIsImNoZWNraW5nLWRldmljZS1hY3Rpdml0eSI6IkNoZWNraW5nIGRldmljZSBhY3Rpdml0eSIsY29tbWFuZDoiRG9ja2VyIGNvbW1hbmRzIiwiY29tbWFuZC1jb3BpZWQtbWVzc2FnZSI6IkRvY2tlciBjb21tYW5kIGhhcyBiZWVuIGNvcGllZCB0byBjbGlwYm9hcmQiLGNvbmZpZ3VyYXRpb246IkNvbmZpZ3VyYXRpb24iLCJhZGQtY29ubmVjdG9yIjoiQWRkIGNvbm5lY3RvciIsImNvbm5lY3Rvci1hZGQiOiJBZGQgbmV3IGNvbm5lY3RvciIsImNvbm5lY3Rvci1lbmFibGVkIjoiRW5hYmxlIGNvbm5lY3RvciIsImNvbm5lY3Rvci1uYW1lIjoiQ29ubmVjdG9yIG5hbWUiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6IkNvbm5lY3RvciBuYW1lIGlzIHJlcXVpcmVkLiIsImNvbm5lY3Rvci10eXBlIjoiQ29ubmVjdG9yIHR5cGUiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IkNvbm5lY3RvciB0eXBlIGlzIHJlcXVpcmVkLiIsY29ubmVjdG9yczoiQ29ubmVjdG9ycyIsImNvbm5lY3RvcnMtY29uZmlnIjoiQ29ubmVjdG9ycyBjb25maWd1cmF0aW9uIiwiY29ubmVjdG9ycy10YWJsZS1lbmFibGVkIjoiRW5hYmxlZCIsImNvbm5lY3RvcnMtdGFibGUtbmFtZSI6Ik5hbWUiLCJjb25uZWN0b3JzLXRhYmxlLXR5cGUiOiJUeXBlIiwiY29ubmVjdG9ycy10YWJsZS1zdGF0dXMiOiJTdGF0dXMiLCJjb25uZWN0b3JzLXRhYmxlLWFjdGlvbnMiOiJBY3Rpb25zIiwiY29ubmVjdG9ycy10YWJsZS1rZXkiOiJLZXkiLCJjb25uZWN0b3JzLXRhYmxlLWNsYXNzIjoiQ2xhc3MiLCJjb25uZWN0aW9uLXRpbWVvdXQiOiJDb25uZWN0aW9uIHRpbWVvdXQgKHMpIiwiY29ubmVjdC1hdHRlbXB0LXRpbWUiOiJDb25uZWN0IGF0dGVtcHQgdGltZSAobXMpIiwiY29ubmVjdC1hdHRlbXB0LWNvdW50IjoiQ29ubmVjdCBhdHRlbXB0IGNvdW50IiwiY29weS11c2VybmFtZSI6IkNvcHkgdXNlcm5hbWUiLCJjb3B5LXBhc3N3b3JkIjoiQ29weSBwYXNzd29yZCIsImNvcHktY2xpZW50LWlkIjoiQ29weSBjbGllbnQgSUQiLCJjb25uZWN0b3ItY3JlYXRlZCI6IkNvbm5lY3RvciBjcmVhdGVkIiwiY29ubmVjdG9yLXVwZGF0ZWQiOiJDb25uZWN0b3IgdXBkYXRlZCIsInJwYy1jb21tYW5kLXNhdmUtdGVtcGxhdGUiOiJTYXZlIFRlbXBsYXRlIiwicnBjLWNvbW1hbmQtc2VuZCI6IlNlbmQiLCJycGMtY29tbWFuZC1yZXN1bHQiOiJSZXNwb25zZSIsInJwYy1jb21tYW5kLWVkaXQtcGFyYW1zIjoiRWRpdCBwYXJhbWV0ZXJzIiwiZ2F0ZXdheS1jb25maWd1cmF0aW9uIjoiR2VuZXJhbCBDb25maWd1cmF0aW9uIiwiZG9ja2VyLWxhYmVsIjoiVXNlIHRoZSBmb2xsb3dpbmcgaW5zdHJ1Y3Rpb24gdG8gcnVuIElvVCBHYXRld2F5IGluIERvY2tlciBjb21wb3NlIHdpdGggY3JlZGVudGlhbHMgZm9yIHNlbGVjdGVkIGRldmljZSIsImluc3RhbGwtZG9ja2VyLWNvbXBvc2UiOiJVc2UgdGhlIGluc3RydWN0aW9ucyB0byBkb3dubG9hZCwgaW5zdGFsbCBhbmQgc2V0dXAgZG9ja2VyIGNvbXBvc2UiLCJkZXZpY2UtaW5mby1zZXR0aW5ncyI6IkRldmljZSBpbmZvIHNldHRpbmdzIiwiZGV2aWNlLWluZm8iOnsiZW50aXR5LWZpZWxkIjoiRW50aXR5IGZpZWxkIixzb3VyY2U6IlNvdXJjZSIsZXhwcmVzc2lvbjoiVmFsdWUgLyBFeHByZXNzaW9uIiwiZXhwcmVzc2lvbi1oaW50IjoiU2hvdyBoZWxwIixuYW1lOiJOYW1lIiwicHJvZmlsZS1uYW1lIjoiUHJvZmlsZSBuYW1lIiwiZGV2aWNlLW5hbWUtZXhwcmVzc2lvbiI6IkRldmljZSBuYW1lIGV4cHJlc3Npb24iLCJkZXZpY2UtbmFtZS1leHByZXNzaW9uLXJlcXVpcmVkIjoiRGV2aWNlIG5hbWUgZXhwcmVzc2lvbiBpcyByZXF1aXJlZC4iLCJkZXZpY2UtcHJvZmlsZS1leHByZXNzaW9uLXJlcXVpcmVkIjoiRGV2aWNlIHByb2ZpbGUgZXhwcmVzc2lvbiBpcyByZXF1aXJlZC4ifSwiZGV2aWNlLW5hbWUtZmlsdGVyIjoiRGV2aWNlIG5hbWUgZmlsdGVyIiwiZGV2aWNlLW5hbWUtZmlsdGVyLWhpbnQiOiJUaGlzIGZpZWxkIHN1cHBvcnRzIFJlZ3VsYXIgZXhwcmVzc2lvbnMgdG8gZmlsdGVyIGluY29taW5nIGRhdGEgYnkgZGV2aWNlIG5hbWUuIiwiZGV2aWNlLW5hbWUtZmlsdGVyLXJlcXVpcmVkIjoiRGV2aWNlIG5hbWUgZmlsdGVyIGlzIHJlcXVpcmVkLiIsZGV0YWlsczoiRGV0YWlscyIsImRlbGV0ZS1tYXBwaW5nLXRpdGxlIjoiRGVsZXRlIG1hcHBpbmc/IiwiZGVsZXRlLXNsYXZlLXRpdGxlIjoiRGVsZXRlIHNsYXZlPyIsZGl2aWRlcjoiRGl2aWRlciIsImRvd25sb2FkLWNvbmZpZ3VyYXRpb24tZmlsZSI6IkRvd25sb2FkIGNvbmZpZ3VyYXRpb24gZmlsZSIsImRvd25sb2FkLWRvY2tlci1jb21wb3NlIjoiRG93bmxvYWQgZG9ja2VyLWNvbXBvc2UueW1sIGZvciB5b3VyIGdhdGV3YXkiLCJlbmFibGUtcmVtb3RlLWxvZ2dpbmciOiJFbmFibGUgcmVtb3RlIGxvZ2dpbmciLCJlbGxpcHNpcy1jaGlwcy10ZXh0IjoiKyB7e2NvdW50fX0gbW9yZSIsImxhdW5jaC1nYXRld2F5IjoiTGF1bmNoIGdhdGV3YXkiLCJsYXVuY2gtY29tbWFuZCI6IkxhdW5jaCBjb21tYW5kIiwibGF1bmNoLWRvY2tlci1jb21wb3NlIjoiU3RhcnQgdGhlIGdhdGV3YXkgdXNpbmcgdGhlIGZvbGxvd2luZyBjb21tYW5kIGluIHRoZSB0ZXJtaW5hbCBmcm9tIGZvbGRlciB3aXRoIGRvY2tlci1jb21wb3NlLnltbCBmaWxlIiwibG9ncy1jb25maWd1cmF0aW9uIjoiTG9ncyBjb25maWd1cmF0aW9uIiwiY3JlYXRlLW5ldy1nYXRld2F5IjoiQ3JlYXRlIGEgbmV3IGdhdGV3YXkiLCJjcmVhdGUtbmV3LWdhdGV3YXktdGV4dCI6IkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCBjcmVhdGUgYSBuZXcgZ2F0ZXdheSB3aXRoIG5hbWU6ICd7e2dhdGV3YXlOYW1lfX0nPyIsImNyZWF0ZWQtdGltZSI6IkNyZWF0ZWQgdGltZSIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1oZWFkZXIiOiJDb25maWd1cmF0aW9ucyB3aWxsIGJlIGRlbGV0ZWQiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctYm9keSI6IlR1cm5pbmcgb2ZmIFJlbW90ZSBDb25maWd1cmF0aW9uIGlzIHBvc3NpYmxlIG9ubHkgaWYgdGhlcmUgaXMgcGh5c2ljYWwgYWNjZXNzIHRvIHRoZSBHYXRld2F5LiBBbGwgcHJldmlvdXMgY29uZmlndXJhdGlvbnMgd2lsbCBiZSBkZWxldGVkLjxicj48YnI+IFxuVG8gdHVybiBvZmYgY29uZmlndXJhdGlvbiwgZW50ZXIgZ2F0ZXdheSBuYW1lIGJlbG93IiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0IjoiR2F0ZXdheSBuYW1lIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0LXJlcXVpcmVkIjoiR2F0ZXdheSBuYW1lIGlzIG1hbmRhdG9yeSIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1jb25maXJtIjoiVHVybiBPZmYiLCJjb25uZWN0b3ItZHVwbGljYXRlLW5hbWUiOiJDb25uZWN0b3Igd2l0aCBzdWNoIG5hbWUgYWxyZWFkeSBleGlzdHMuIiwiY29ubmVjdG9yLXNpZGUiOiJDb25uZWN0b3Igc2lkZSIsInBheWxvYWQtdHlwZSI6IlBheWxvYWQgdHlwZSIsInBsYXRmb3JtLXNpZGUiOiJQbGF0Zm9ybSBzaWRlIixKU09OOiJKU09OIiwiSlNPTi1oaW50IjoiQ29udmVydGVyIGZvciB0aGlzIHBheWxvYWQgdHlwZSBwcm9jZXNzZXMgTVFUVCBtZXNzYWdlcyBpbiBKU09OIGZvcm1hdC4gSXQgdXNlcyBKU09OIFBhdGggZXhwcmVzc2lvbnMgdG8gZXh0cmFjdCB2aXRhbCBkZXRhaWxzIHN1Y2ggYXMgZGV2aWNlIG5hbWVzLCBkZXZpY2UgcHJvZmlsZSBuYW1lcywgYXR0cmlidXRlcywgYW5kIHRpbWUgc2VyaWVzIGZyb20gdGhlIG1lc3NhZ2UuIEFuZCByZWd1bGFyIGV4cHJlc3Npb25zIHRvIGdldCBkZXZpY2UgZGV0YWlscyBmcm9tIHRvcGljcy4iLGJ5dGVzOiJCeXRlcyIsImJ5dGVzLWhpbnQiOiJDb252ZXJ0ZXIgZm9yIHRoaXMgcGF5bG9hZCB0eXBlIGRlc2lnbmVkIGZvciBiaW5hcnkgTVFUVCBwYXlsb2FkcywgdGhpcyBjb252ZXJ0ZXIgZGlyZWN0bHkgaW50ZXJwcmV0cyBiaW5hcnkgZGF0YSB0byByZXRyaWV2ZSBkZXZpY2UgbmFtZXMgYW5kIGRldmljZSBwcm9maWxlIG5hbWVzLCBhbG9uZyB3aXRoIGF0dHJpYnV0ZXMgYW5kIHRpbWUgc2VyaWVzLCB1c2luZyBzcGVjaWZpYyBieXRlIHBvc2l0aW9ucyBmb3IgZGF0YSBleHRyYWN0aW9uLiIsY3VzdG9tOiJDdXN0b20iLCJjdXN0b20taGludCI6IlRoaXMgb3B0aW9uIGFsbG93cyB5b3UgdG8gdXNlIGEgY3VzdG9tIGNvbnZlcnRlciBmb3Igc3BlY2lmaWMgZGF0YSB0YXNrcy4gWW91IG5lZWQgdG8gYWRkIHlvdXIgY3VzdG9tIGNvbnZlcnRlciB0byB0aGUgZXh0ZW5zaW9uIGZvbGRlciBhbmQgZW50ZXIgaXRzIGNsYXNzIG5hbWUgaW4gdGhlIFVJIHNldHRpbmdzLiBBbnkga2V5cyB5b3UgcHJvdmlkZSB3aWxsIGJlIHNlbnQgYXMgY29uZmlndXJhdGlvbiB0byB5b3VyIGN1c3RvbSBjb252ZXJ0ZXIuIiwiY2xpZW50LWNlcnQtcGF0aCI6IlBhdGggdG8gY2xpZW50IGNlcnRpZmljYXRlIGZpbGUiLCJwYXRoLXRvLWNsaWVudC1jZXJ0LXJlcXVpcmVkIjoiUGF0aCB0byBjbGllbnQgY2VydGlmaWNhdGUgZmlsZSBpcyByZXF1aXJlZC4iLCJjbGllbnQtaWQiOiJDbGllbnQgSUQiLCJkYXRhLWNvbnZlcnNpb24iOiJEYXRhIGNvbnZlcnNpb24iLCJkYXRhLW1hcHBpbmciOiJEYXRhIG1hcHBpbmciLCJkYXRhLW1hcHBpbmctaGludCI6IkRhdGEgbWFwcGluZyBwcm92aWRlcyB0aGUgY2FwYWJpbGl0eSB0byBwYXJzZSBhbmQgY29udmVydCB0aGUgZGF0YSByZWNlaXZlZCBmcm9tIGEgTVFUVCBjbGllbnQgaW4gaW5jb21pbmcgbWVzc2FnZXMgaW50byBzcGVjaWZpYyBhdHRyaWJ1dGVzIGFuZCB0aW1lIHNlcmllcyBkYXRhIGtleXMuIiwib3BjdWEtZGF0YS1tYXBwaW5nLWhpbnQiOiJEYXRhIG1hcHBpbmcgcHJvdmlkZXMgdGhlIGNhcGFiaWxpdHkgdG8gcGFyc2UgYW5kIGNvbnZlcnQgdGhlIGRhdGEgcmVjZWl2ZWQgZnJvbSBhIE9QQ1VBIHNlcnZlciBpbnRvIHNwZWNpZmljIGRhdGEga2V5cy4iLGRlbGV0ZToiRGVsZXRlIGNvbmZpZ3VyYXRpb24iLCJkZWxldGUtYXR0cmlidXRlIjoiRGVsZXRlIGF0dHJpYnV0ZSIsImRlbGV0ZS1rZXkiOiJEZWxldGUga2V5IiwiZGVsZXRlLXRpbWVzZXJpZXMiOiJEZWxldGUgdGltZSBzZXJpZXMiLGRlZmF1bHQ6IkRlZmF1bHQiLCJkZXZpY2Utbm9kZSI6IkRldmljZSBub2RlIiwiZGV2aWNlLW5vZGUtcmVxdWlyZWQiOiJEZXZpY2Ugbm9kZSByZXF1aXJlZC4iLCJkZXZpY2Utbm9kZS1oaW50IjoiUGF0aCBvciBpZGVudGlmaWVyIGZvciBkZXZpY2Ugbm9kZSBvbiBPUEMgVUEgc2VydmVyLiBSZWxhdGl2ZSBwYXRocyBmcm9tIGl0IGZvciBhdHRyaWJ1dGVzIGFuZCB0aW1lIHNlcmllcyBjYW4gYmUgdXNlZC4iLCJkZXZpY2UtbmFtZSI6IkRldmljZSBuYW1lIiwiZGV2aWNlLXByb2ZpbGUtbGFiZWwiOiJEZXZpY2UgcHJvZmlsZSIsImRldmljZS1uYW1lLXJlcXVpcmVkIjoiRGV2aWNlIG5hbWUgcmVxdWlyZWQiLCJkZXZpY2UtcHJvZmlsZS1yZXF1aXJlZCI6IkRldmljZSBwcm9maWxlIHJlcXVpcmVkIiwiZG93bmxvYWQtdGlwIjoiRG93bmxvYWQgY29uZmlndXJhdGlvbiBmaWxlIiwiZHJvcC1maWxlIjoiRHJvcCBmaWxlIGhlcmUgb3IiLGVuYWJsZToiRW5hYmxlIiwiZW5hYmxlLXN1YnNjcmlwdGlvbiI6IkVuYWJsZSBzdWJzY3JpcHRpb24iLGV4dGVuc2lvbjoiRXh0ZW5zaW9uIiwiZXh0ZW5zaW9uLWhpbnQiOiJQdXQgeW91ciBjb252ZXJ0ZXIgY2xhc3NuYW1lIGluIHRoZSBmaWVsZC4gQ3VzdG9tIGNvbnZlcnRlciB3aXRoIHN1Y2ggY2xhc3Mgc2hvdWxkIGJlIGluIGV4dGVuc2lvbi9tcXR0IGZvbGRlci4iLCJleHRlbnNpb24tcmVxdWlyZWQiOiJFeHRlbnNpb24gaXMgcmVxdWlyZWQuIiwiZXh0ZW5zaW9uLWNvbmZpZ3VyYXRpb24iOiJFeHRlbnNpb24gY29uZmlndXJhdGlvbiIsImV4dGVuc2lvbi1jb25maWd1cmF0aW9uLWhpbnQiOiJDb25maWd1cmF0aW9uIGZvciBjb252ZXJ0b3IiLCJmaWxsLWNvbm5lY3Rvci1kZWZhdWx0cyI6IkZpbGwgY29uZmlndXJhdGlvbiB3aXRoIGRlZmF1bHQgdmFsdWVzIiwiZmlsbC1jb25uZWN0b3ItZGVmYXVsdHMtaGludCI6IlRoaXMgcHJvcGVydHkgYWxsb3dzIHRvIGZpbGwgY29ubmVjdG9yIGNvbmZpZ3VyYXRpb24gd2l0aCBkZWZhdWx0IHZhbHVlcyBvbiBpdCdzIGNyZWF0aW9uLiIsImZyb20tZGV2aWNlLXJlcXVlc3Qtc2V0dGluZ3MiOiJJbnB1dCByZXF1ZXN0IHBhcnNpbmciLCJmcm9tLWRldmljZS1yZXF1ZXN0LXNldHRpbmdzLWhpbnQiOiJUaGVzZSBmaWVsZHMgc3VwcG9ydCBKU09OUGF0aCBleHByZXNzaW9ucyB0byBleHRyYWN0IGEgbmFtZSBmcm9tIGluY29taW5nIG1lc3NhZ2UuIiwiZnVuY3Rpb24tY29kZSI6IkZ1bmN0aW9uIGNvZGUiLCJmdW5jdGlvbi1jb2RlcyI6eyJyZWFkLWNvaWxzIjoiMDEgLSBSZWFkIENvaWxzIiwicmVhZC1kaXNjcmV0ZS1pbnB1dHMiOiIwMiAtIFJlYWQgRGlzY3JldGUgSW5wdXRzIiwicmVhZC1tdWx0aXBsZS1ob2xkaW5nLXJlZ2lzdGVycyI6IjAzIC0gUmVhZCBNdWx0aXBsZSBIb2xkaW5nIFJlZ2lzdGVycyIsInJlYWQtaW5wdXQtcmVnaXN0ZXJzIjoiMDQgLSBSZWFkIElucHV0IFJlZ2lzdGVycyIsIndyaXRlLXNpbmdsZS1jb2lsIjoiMDUgLSBXcml0ZSBTaW5nbGUgQ29pbCIsIndyaXRlLXNpbmdsZS1ob2xkaW5nLXJlZ2lzdGVyIjoiMDYgLSBXcml0ZSBTaW5nbGUgSG9sZGluZyBSZWdpc3RlciIsIndyaXRlLW11bHRpcGxlLWNvaWxzIjoiMTUgLSBXcml0ZSBNdWx0aXBsZSBDb2lscyIsIndyaXRlLW11bHRpcGxlLWhvbGRpbmctcmVnaXN0ZXJzIjoiMTYgLSBXcml0ZSBNdWx0aXBsZSBIb2xkaW5nIFJlZ2lzdGVycyJ9LCJ0by1kZXZpY2UtcmVzcG9uc2Utc2V0dGluZ3MiOiJPdXRwdXQgcmVxdWVzdCBwcm9jZXNzaW5nIiwidG8tZGV2aWNlLXJlc3BvbnNlLXNldHRpbmdzLWhpbnQiOiJGb3IgdGhlc2UgZmllbGRzIHlvdSBjYW4gdXNlIHRoZSBmb2xsb3dpbmcgdmFyaWFibGVzIGFuZCB0aGV5IHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhY3R1YWwgdmFsdWVzOiAke2RldmljZU5hbWV9LCAke2F0dHJpYnV0ZUtleX0sICR7YXR0cmlidXRlVmFsdWV9IixnYXRld2F5OiJHYXRld2F5IiwiZ2F0ZXdheS1leGlzdHMiOiJEZXZpY2Ugd2l0aCBzYW1lIG5hbWUgaXMgYWxyZWFkeSBleGlzdHMuIiwiZ2F0ZXdheS1uYW1lIjoiR2F0ZXdheSBuYW1lIiwiZ2F0ZXdheS1uYW1lLXJlcXVpcmVkIjoiR2F0ZXdheSBuYW1lIGlzIHJlcXVpcmVkLiIsImdhdGV3YXktc2F2ZWQiOiJHYXRld2F5IGNvbmZpZ3VyYXRpb24gc3VjY2Vzc2Z1bGx5IHNhdmVkLiIsImdlbmVyYXRlLWNsaWVudC1pZCI6IkdlbmVyYXRlIENsaWVudCBJRCIsZ3JwYzoiR1JQQyIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0IjoiS2VlcCBhbGl2ZSB0aW1lb3V0IChpbiBtcykiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dC1yZXF1aXJlZCI6IktlZXAgYWxpdmUgdGltZW91dCBpcyByZXF1aXJlZCIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LW1pbiI6IktlZXAgYWxpdmUgdGltZW91dCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcGF0dGVybiI6IktlZXAgYWxpdmUgdGltZW91dCBpcyBub3QgdmFsaWQiLCJncnBjLWtlZXAtYWxpdmUiOiJLZWVwIGFsaXZlIChpbiBtcykiLCJncnBjLWtlZXAtYWxpdmUtcmVxdWlyZWQiOiJLZWVwIGFsaXZlIGlzIHJlcXVpcmVkIiwiZ3JwYy1rZWVwLWFsaXZlLW1pbiI6IktlZXAgYWxpdmUgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMta2VlcC1hbGl2ZS1wYXR0ZXJuIjoiS2VlcCBhbGl2ZSBpcyBub3QgdmFsaWQiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MiOiJNaW4gdGltZSBiZXR3ZWVuIHBpbmdzIChpbiBtcykiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcmVxdWlyZWQiOiJNaW4gdGltZSBiZXR3ZWVuIHBpbmdzIGlzIHJlcXVpcmVkIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLW1pbiI6Ik1pbiB0aW1lIGJldHdlZW4gcGluZ3MgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1wYXR0ZXJuIjoiTWluIHRpbWUgYmV0d2VlbiBwaW5ncyBpcyBub3QgdmFsaWQiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YSI6Ik1pbiBwaW5nIGludGVydmFsIHdpdGhvdXQgZGF0YSAoaW4gbXMpIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcmVxdWlyZWQiOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgaXMgcmVxdWlyZWQiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1taW4iOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgaXMgbm90IHZhbGlkIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoiTWF4IHBpbmdzIHdpdGhvdXQgZGF0YSIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6Ik1heCBwaW5ncyB3aXRob3V0IGRhdGEgaXMgcmVxdWlyZWQiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtbWluIjoiTWF4IHBpbmdzIHdpdGhvdXQgZGF0YSBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiJNYXggcGluZ3Mgd2l0aG91dCBkYXRhIGlzIG5vdCB2YWxpZCIsaW5mbzoiSW5mbyIsaWRlbnRpdHk6IklkZW50aXR5IiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcyI6IkluYWN0aXZpdHkgY2hlY2sgcGVyaW9kIChpbiBzZWMpIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1yZXF1aXJlZCI6IkluYWN0aXZpdHkgY2hlY2sgcGVyaW9kIGlzIHJlcXVpcmVkIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1taW4iOiJJbmFjdGl2aXR5IGNoZWNrIHBlcmlvZCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1wYXR0ZXJuIjoiSW5hY3Rpdml0eSBjaGVjayBwZXJpb2QgaXMgbm90IHZhbGlkIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMiOiJJbmFjdGl2aXR5IHRpbWVvdXQgKGluIHNlYykiLCJpbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1yZXF1aXJlZCI6IkluYWN0aXZpdHkgdGltZW91dCBpcyByZXF1aXJlZCIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLW1pbiI6IkluYWN0aXZpdHkgdGltZW91dCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcGF0dGVybiI6IkluYWN0aXZpdHkgdGltZW91dCBpcyBub3QgdmFsaWQiLCJ1bml0LWlkIjoiVW5pdCBJRCIsaG9zdDoiSG9zdCIsImhvc3QtcmVxdWlyZWQiOiJIb3N0IGlzIHJlcXVpcmVkLiIsaG9sZGluZ19yZWdpc3RlcnM6IkhvbGRpbmcgcmVnaXN0ZXJzIixjb2lsc19pbml0aWFsaXplcjoiQ29pbHMgaW5pdGlhbGl6ZXIiLGlucHV0X3JlZ2lzdGVyczoiSW5wdXQgcmVnaXN0ZXJzIixkaXNjcmV0ZV9pbnB1dHM6IkRpc2NyZXRlIGlucHV0cyIsImpzb24tcGFyc2UiOiJOb3QgdmFsaWQgSlNPTi4iLCJqc29uLXJlcXVpcmVkIjoiRmllbGQgY2Fubm90IGJlIGVtcHR5LiIsIkpTT05QYXRoLWhpbnQiOiJUaGlzIGZpZWxkIHN1cHBvcnRzIGNvbnN0YW50cyBhbmQgSlNPTlBhdGggZXhwcmVzc2lvbnMuIixsb2dzOntsb2dzOiJMb2dzIixkYXlzOiJkYXlzIixob3VyczoiaG91cnMiLG1pbnV0ZXM6Im1pbnV0ZXMiLHNlY29uZHM6InNlY29uZHMiLCJkYXRlLWZvcm1hdCI6IkRhdGUgZm9ybWF0IiwiZGF0ZS1mb3JtYXQtcmVxdWlyZWQiOiJEYXRlIGZvcm1hdCByZXF1aXJlZCIsImxvZy1mb3JtYXQiOiJMb2cgZm9ybWF0IiwibG9nLXR5cGUiOiJMb2cgdHlwZSIsImxvZy1mb3JtYXQtcmVxdWlyZWQiOiJMb2cgZm9ybWF0IHJlcXVpcmVkIixyZW1vdGU6IlJlbW90ZSBsb2dnaW5nIiwicmVtb3RlLWxvZ3MiOiJSZW1vdGUgbG9ncyIsbG9jYWw6IkxvY2FsIGxvZ2dpbmciLGxldmVsOiJMb2cgbGV2ZWwiLCJmaWxlLXBhdGgiOiJGaWxlIHBhdGgiLCJmaWxlLXBhdGgtcmVxdWlyZWQiOiJGaWxlIHBhdGggcmVxdWlyZWQiLCJzYXZpbmctcGVyaW9kIjoiTG9nIHNhdmluZyBwZXJpb2QiLCJzYXZpbmctcGVyaW9kLW1pbiI6IkxvZyBzYXZpbmcgcGVyaW9kIGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJzYXZpbmctcGVyaW9kLXJlcXVpcmVkIjoiTG9nIHNhdmluZyBwZXJpb2QgcmVxdWlyZWQiLCJiYWNrdXAtY291bnQiOiJCYWNrdXAgY291bnQiLCJiYWNrdXAtY291bnQtbWluIjoiQmFja3VwIGNvdW50IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJiYWNrdXAtY291bnQtcmVxdWlyZWQiOiJCYWNrdXAgY291bnQgcmVxdWlyZWQifSwibWF4LW51bWJlci1vZi13b3JrZXJzIjoiTWF4IG51bWJlciBvZiB3b3JrZXJzIiwibWF4LW51bWJlci1vZi13b3JrZXJzLWhpbnQiOiJNYXhpbWFsIG51bWJlciBvZiB3b3JrZXJzIHRocmVhZHMgZm9yIGNvbnZlcnRlcnMgXG4oVGhlIGFtb3VudCBvZiB3b3JrZXJzIGNoYW5nZXMgZHluYW1pY2FsbHksIGRlcGVuZGluZyBvbiBsb2FkKSBcblJlY29tbWVuZGVkIGFtb3VudCA1MC0xNTAuIiwibWF4LW51bWJlci1vZi13b3JrZXJzLXJlcXVpcmVkIjoiTWF4IG51bWJlciBvZiB3b3JrZXJzIGlzIHJlcXVpcmVkLiIsIm1heC1tZXNzYWdlcy1xdWV1ZS1mb3Itd29ya2VyIjoiTWF4IG1lc3NhZ2VzIHF1ZXVlIHBlciB3b3JrZXIiLCJtYXgtbWVzc2FnZXMtcXVldWUtZm9yLXdvcmtlci1oaW50IjoiTWF4aW1hbCBtZXNzYWdlcyBjb3VudCB0aGF0IHdpbGwgYmUgaW4gdGhlIHF1ZXVlIFxuZm9yIGVhY2ggY29udmVydGVyIHdvcmtlci4iLCJtYXgtbWVzc2FnZXMtcXVldWUtZm9yLXdvcmtlci1yZXF1aXJlZCI6Ik1heCBtZXNzYWdlcyBxdWV1ZSBwZXIgd29ya2VyIGlzIHJlcXVpcmVkLiIsbWV0aG9kOiJNZXRob2QiLCJtZXRob2QtbmFtZSI6Ik1ldGhvZCBuYW1lIiwibWV0aG9kLXJlcXVpcmVkIjoiTWV0aG9kIG5hbWUgaXMgcmVxdWlyZWQuIiwibWluLXBhY2stc2VuZC1kZWxheSI6Ik1pbiBwYWNrIHNlbmQgZGVsYXkgKGluIG1zKSIsIm1pbi1wYWNrLXNlbmQtZGVsYXktcmVxdWlyZWQiOiJNaW4gcGFjayBzZW5kIGRlbGF5IGlzIHJlcXVpcmVkIiwibWluLXBhY2stc2VuZC1kZWxheS1taW4iOiJNaW4gcGFjayBzZW5kIGRlbGF5IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEwIiwibWluLXBhY2stc2VuZC1kZWxheS1wYXR0ZXJuIjoiTWluIHBhY2sgc2VuZCBkZWxheSBpcyBub3QgdmFsaWQiLG11bHRpcGxpZXI6Ik11bHRpcGxpZXIiLG1vZGU6Ik1vZGUiLCJtb2RlbC1uYW1lIjoiTW9kZWwgbmFtZSIsbW9kaWZpZXI6Ik1vZGlmaWVyIiwibW9kaWZpZXItaW52YWxpZCI6Ik1vZGlmaWVyIGlzIG5vdCB2YWxpZCIsIm1xdHQtdmVyc2lvbiI6Ik1RVFQgdmVyc2lvbiIsbmFtZToiTmFtZSIsIm5hbWUtcmVxdWlyZWQiOiJOYW1lIGlzIHJlcXVpcmVkLiIsIm5vLWF0dHJpYnV0ZXMiOiJObyBhdHRyaWJ1dGVzIiwibm8tYXR0cmlidXRlLXVwZGF0ZXMiOiJObyBhdHRyaWJ1dGUgdXBkYXRlcyIsIm5vLWNvbm5lY3RvcnMiOiJObyBjb25uZWN0b3JzIiwibm8tZGF0YSI6Ik5vIGNvbmZpZ3VyYXRpb25zIiwibm8tZ2F0ZXdheS1mb3VuZCI6Ik5vIGdhdGV3YXkgZm91bmQuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5vdCBmb3VuZC4iLCJuby10aW1lc2VyaWVzIjoiTm8gdGltZSBzZXJpZXMiLCJuby1rZXlzIjoiTm8ga2V5cyIsIm5vLXZhbHVlIjoiTm8gYXJndW1lbnRzIiwibm8tcnBjLW1ldGhvZHMiOiJObyBSUEMgbWV0aG9kcyIsIm5vLXJwYy1yZXF1ZXN0cyI6Ik5vIFJQQyByZXF1ZXN0cyIsInBhdGgtaGludCI6IlRoZSBwYXRoIGlzIGxvY2FsIHRvIHRoZSBnYXRld2F5IGZpbGUgc3lzdGVtIiwicGF0aC1sb2dzIjoiUGF0aCB0byBsb2cgZmlsZXMiLCJwYXRoLWxvZ3MtcmVxdWlyZWQiOiJQYXRoIGlzIHJlcXVpcmVkLiIscGFzc3dvcmQ6IlBhc3N3b3JkIiwicGFzc3dvcmQtcmVxdWlyZWQiOiJQYXNzd29yZCBpcyByZXF1aXJlZC4iLCJwZXJtaXQtd2l0aG91dC1jYWxscyI6IktlZXAgYWxpdmUgcGVybWl0IHdpdGhvdXQgY2FsbHMiLCJwb2xsLXBlcmlvZCI6IlBvbGwgcGVyaW9kIChtcykiLCJwb2xsLXBlcmlvZC1lcnJvciI6IlBvbGwgcGVyaW9kIHNob3VsZCBiZSBhdCBsZWFzdCB7e21pbn19IChtcykuIixwb3J0OiJQb3J0IiwicG9ydC1yZXF1aXJlZCI6IlBvcnQgaXMgcmVxdWlyZWQuIiwicG9ydC1saW1pdHMtZXJyb3IiOiJQb3J0IHNob3VsZCBiZSBudW1iZXIgZnJvbSB7e21pbn19IHRvIHt7bWF4fX0uIiwicHJpdmF0ZS1rZXktcGF0aCI6IlBhdGggdG8gcHJpdmF0ZSBrZXkgZmlsZSIsInBhdGgtdG8tcHJpdmF0ZS1rZXktcmVxdWlyZWQiOiJQYXRoIHRvIHByaXZhdGUga2V5IGZpbGUgaXMgcmVxdWlyZWQuIixwYXJpdHk6IlBhcml0eSIsInByb2R1Y3QtY29kZSI6IlByb2R1Y3QgY29kZSIsInByb2R1Y3QtbmFtZSI6IlByb2R1Y3QgbmFtZSIscmF3OiJSYXciLHJldGFpbjoiUmV0YWluIiwicmV0YWluLWhpbnQiOiJUaGlzIGZsYWcgdGVsbHMgdGhlIGJyb2tlciB0byBzdG9yZSB0aGUgbWVzc2FnZSBmb3IgYSB0b3BpY1xuYW5kIGVuc3VyZXMgYW55IG5ldyBjbGllbnQgc3Vic2NyaWJpbmcgdG8gdGhhdCB0b3BpY1xud2lsbCByZWNlaXZlIHRoZSBzdG9yZWQgbWVzc2FnZS4iLHJlbW90ZToiUmVtb3RlIGNvbmZpZ3VyYXRpb24iLCJyZW1vdGUtbG9nZ2luZy1sZXZlbCI6IkxvZ2dpbmcgbGV2ZWwiLCJyZW1vdmUtZW50cnkiOiJSZW1vdmUgY29uZmlndXJhdGlvbiIsInJlbW90ZS1zaGVsbCI6IlJlbW90ZSBzaGVsbCIsInJlbW90ZS1jb25maWd1cmF0aW9uIjoiUmVtb3RlIENvbmZpZ3VyYXRpb24iLHJldHJpZXM6IlJldHJpZXMiLCJyZXRyaWVzLW9uLWVtcHR5IjoiUmV0cmllcyBvbiBlbXB0eSIsInJldHJpZXMtb24taW52YWxpZCI6IlJldHJpZXMgb24gaW52YWxpZCIscnBjOnt0aXRsZToie3t0eXBlfX0gQ29ubmVjdG9yIFJQQyBwYXJhbWV0ZXJzIiwidGVtcGxhdGVzLXRpdGxlIjoiQ29ubmVjdG9yIFJQQyBUZW1wbGF0ZXMiLG1ldGhvZEZpbHRlcjoiTWV0aG9kIGZpbHRlciIsIm1ldGhvZC1uYW1lIjoiTWV0aG9kIG5hbWUiLHJlcXVlc3RUb3BpY0V4cHJlc3Npb246IlJlcXVlc3QgdG9waWMgZXhwcmVzc2lvbiIscmVzcG9uc2VUb3BpY0V4cHJlc3Npb246IlJlc3BvbnNlIHRvcGljIGV4cHJlc3Npb24iLHJlc3BvbnNlVGltZW91dDoiUmVzcG9uc2UgdGltZW91dCIsdmFsdWVFeHByZXNzaW9uOiJWYWx1ZSBleHByZXNzaW9uIix0YWc6IlRhZyIsdHlwZToiVHlwZSIsZnVuY3Rpb25Db2RlOiJGdW5jdGlvbiBDb2RlIixvYmplY3RzQ291bnQ6Ik9iamVjdHMgQ291bnQiLGFkZHJlc3M6IkFkZHJlc3MiLG1ldGhvZDoiTWV0aG9kIixyZXF1ZXN0VHlwZToiUmVxdWVzdCBUeXBlIixyZXF1ZXN0VGltZW91dDoiUmVxdWVzdCBUaW1lb3V0IixvYmplY3RUeXBlOiJPYmplY3QgdHlwZSIsaWRlbnRpZmllcjoiSWRlbnRpZmllciIscHJvcGVydHlJZDoiUHJvcGVydHkgSUQiLG1ldGhvZFJQQzoiTWV0aG9kIFJQQyBuYW1lIix3aXRoUmVzcG9uc2U6IldpdGggUmVzcG9uc2UiLGNoYXJhY3RlcmlzdGljVVVJRDoiQ2hhcmFjdGVyaXN0aWMgVVVJRCIsbWV0aG9kUHJvY2Vzc2luZzoiTWV0aG9kIFByb2Nlc3NpbmciLG5vZGVJRDoiTm9kZSBJRCIsaXNFeHRlbmRlZElEOiJJcyBFeHRlbmRlZCBJRCIsaXNGRDoiSXMgRkQiLGJpdHJhdGVTd2l0Y2g6IkJpdHJhdGUgU3dpdGNoIixkYXRhSW5IRVg6IkRhdGEgSW4gSEVYIixkYXRhTGVuZ3RoOiJEYXRhIExlbmd0aCIsZGF0YUJ5dGVvcmRlcjoiRGF0YSBCeXRlIE9yZGVyIixkYXRhQmVmb3JlOiJEYXRhIEJlZm9yZSIsZGF0YUFmdGVyOiJEYXRhIEFmdGVyIixkYXRhRXhwcmVzc2lvbjoiRGF0YSBFeHByZXNzaW9uIixlbmNvZGluZzoiRW5jb2RpbmciLG9pZDoiT0lEIiwiYWRkLW9pZCI6IkFkZCBPSUQiLCJhZGQtaGVhZGVyIjoiQWRkIGhlYWRlciIsImFkZC1zZWN1cml0eSI6IkFkZCBzZWN1cml0eSIscmVtb3ZlOiJSZW1vdmUiLHJlcXVlc3RGaWx0ZXI6IlJlcXVlc3QgRmlsdGVyIixyZXF1ZXN0VXJsRXhwcmVzc2lvbjoiUmVxdWVzdCBVUkwgRXhwcmVzc2lvbiIsaHR0cE1ldGhvZDoiSFRUUCBNZXRob2QiLHRpbWVvdXQ6IlRpbWVvdXQiLHRyaWVzOiJUcmllcyIsaHR0cEhlYWRlcnM6IkhUVFAgSGVhZGVycyIsImhlYWRlci1uYW1lIjoiSGVhZGVyIG5hbWUiLGhpbnQ6eyJtb2RidXMtcmVzcG9uc2UtcmVhZGluZyI6IlJQQyByZXNwb25zZSB3aWxsIHJldHVybiBhbGwgc3VidHJhY3RlZCB2YWx1ZXMgZnJvbSBhbGwgY29ubmVjdGVkIGRldmljZXMgd2hlbiB0aGUgcmVhZGluZyBmdW5jdGlvbnMgYXJlIHNlbGVjdGVkLiIsIm1vZGJ1cy13cml0aW5nLWZ1bmN0aW9ucyI6IlJQQyB3aWxsIHdyaXRlIGEgZmlsbGVkIHZhbHVlIHRvIGFsbCBjb25uZWN0ZWQgZGV2aWNlcyB3aGVuIHRoZSB3cml0aW5nIGZ1bmN0aW9ucyBhcmUgc2VsZWN0ZWQuIiwib3BjLW1ldGhvZCI6IkEgZmlsbGVkIG1ldGhvZCBuYW1lIGlzIHRoZSBPUEMtVUEgbWV0aG9kIHRoYXQgd2lsbCBwcm9jZXNzZWQgb24gdGhlIHNlcnZlciBzaWRlIChtYWtlIHN1cmUgeW91ciBub2RlIGhhcyB0aGUgcmVxdWVzdGVkIG1ldGhvZCkuIn0sInNlY3VyaXR5LW5hbWUiOiJTZWN1cml0eSBuYW1lIix2YWx1ZToiVmFsdWUiLHNlY3VyaXR5OiJTZWN1cml0eSIscmVzcG9uc2VWYWx1ZUV4cHJlc3Npb246IlJlc3BvbnNlIFZhbHVlIEV4cHJlc3Npb24iLHJlcXVlc3RWYWx1ZUV4cHJlc3Npb246IlJlcXVlc3QgVmFsdWUgRXhwcmVzc2lvbiIsYXJndW1lbnRzOiJBcmd1bWVudHMiLCJhZGQtYXJndW1lbnQiOiJBZGQgYXJndW1lbnQiLCJ3cml0ZS1wcm9wZXJ0eSI6IldyaXRlIHByb3BlcnR5IiwicmVhZC1wcm9wZXJ0eSI6IlJlYWQgcHJvcGVydHkiLCJhbmFsb2ctb3V0cHV0IjoiQW5hbG9nIG91dHB1dCIsImFuYWxvZy1pbnB1dCI6IkFuYWxvZyBpbnB1dCIsImJpbmFyeS1vdXRwdXQiOiJCaW5hcnkgb3V0cHV0IiwiYmluYXJ5LWlucHV0IjoiQmluYXJ5IGlucHV0IiwiYmluYXJ5LXZhbHVlIjoiQmluYXJ5IHZhbHVlIiwiYW5hbG9nLXZhbHVlIjoiQW5hbG9nIHZhbHVlIix3cml0ZToiV3JpdGUiLHJlYWQ6IlJlYWQiLHNjYW46IlNjYW4iLG9pZHM6Ik9JRFMiLHNldDoiU2V0IixtdWx0aXNldDoiTXVsdGlzZXQiLGdldDoiR2V0IiwiYnVsay13YWxrIjoiQnVsayB3YWxrIix0YWJsZToiVGFibGUiLCJtdWx0aS1nZXQiOiJNdWx0aWdldCIsImdldC1uZXh0IjoiR2V0IG5leHQiLCJidWxrLWdldCI6IkJ1bGsgZ2V0Iix3YWxrOiJXYWxrIiwic2F2ZS10ZW1wbGF0ZSI6IlNhdmUgdGVtcGxhdGUiLCJ0ZW1wbGF0ZS1uYW1lIjoiVGVtcGxhdGUgbmFtZSIsInRlbXBsYXRlLW5hbWUtcmVxdWlyZWQiOiJUZW1wbGF0ZSBuYW1lIGlzIHJlcXVpcmVkLiIsInRlbXBsYXRlLW5hbWUtZHVwbGljYXRlIjoiVGVtcGxhdGUgd2l0aCBzdWNoIG5hbWUgYWxyZWFkeSBleGlzdHMsIGl0IHdpbGwgYmUgdXBkYXRlZC4iLGNvbW1hbmQ6IkNvbW1hbmQiLHBhcmFtczoiUGFyYW1zIiwianNvbi12YWx1ZS1pbnZhbGlkIjoiSlNPTiB2YWx1ZSBoYXMgYW4gaW52YWxpZCBmb3JtYXQifSwicnBjLW1ldGhvZHMiOiJSUEMgbWV0aG9kcyIsInJwYy1yZXF1ZXN0cyI6IlJQQyByZXF1ZXN0cyIscmVxdWVzdDp7ImNvbm5lY3QtcmVxdWVzdCI6IkNvbm5lY3QgcmVxdWVzdCIsImRpc2Nvbm5lY3QtcmVxdWVzdCI6IkRpc2Nvbm5lY3QgcmVxdWVzdCIsImF0dHJpYnV0ZS1yZXF1ZXN0IjoiQXR0cmlidXRlIHJlcXVlc3QiLCJhdHRyaWJ1dGUtdXBkYXRlIjoiQXR0cmlidXRlIHVwZGF0ZSIsInJwYy1jb25uZWN0aW9uIjoiUlBDIGNvbW1hbmQifSwicmVxdWVzdC10eXBlIjoiUmVxdWVzdCB0eXBlIiwicmVxdWVzdHMtbWFwcGluZyI6IlJlcXVlc3RzIG1hcHBpbmciLCJyZXF1ZXN0cy1tYXBwaW5nLWhpbnQiOiJNUVRUIENvbm5lY3RvciByZXF1ZXN0cyBhbGxvd3MgeW91IHRvIGNvbm5lY3QsIGRpc2Nvbm5lY3QsIHByb2Nlc3MgYXR0cmlidXRlIHJlcXVlc3RzIGZyb20gdGhlIGRldmljZSwgaGFuZGxlIGF0dHJpYnV0ZSB1cGRhdGVzIG9uIHRoZSBzZXJ2ZXIgYW5kIFJQQyBwcm9jZXNzaW5nIGNvbmZpZ3VyYXRpb24uIiwicmVxdWVzdC10b3BpYy1leHByZXNzaW9uIjoiUmVxdWVzdCB0b3BpYyBleHByZXNzaW9uIiwicmVxdWVzdC1jbGllbnQtY2VydGlmaWNhdGUiOiJSZXF1ZXN0IGNsaWVudCBjZXJ0aWZpY2F0ZSIsInJlcXVlc3QtdG9waWMtZXhwcmVzc2lvbi1yZXF1aXJlZCI6IlJlcXVlc3QgdG9waWMgZXhwcmVzc2lvbiBpcyByZXF1aXJlZC4iLCJyZXNwb25zZS10aW1lb3V0IjoiUmVzcG9uc2UgdGltZW91dCAobXMpIiwicmVzcG9uc2UtdGltZW91dC1yZXF1aXJlZCI6IlJlc3BvbnNlIHRpbWVvdXQgaXMgcmVxdWlyZWQuIiwicmVzcG9uc2UtdGltZW91dC1saW1pdHMtZXJyb3IiOiJUaW1lb3V0IG11c3QgYmUgbW9yZSB0aGVuIHt7bWlufX0gbXMuIiwicmVzcG9uc2UtdG9waWMtUW9zIjoiUmVzcG9uc2UgdG9waWMgUW9TIiwicmVzcG9uc2UtdG9waWMtUW9zLWhpbnQiOiJNUVRUIFF1YWxpdHkgb2YgU2VydmljZSAoUW9TKSBpcyBhbiBhZ3JlZW1lbnQgYmV0d2VlbiB0aGUgbWVzc2FnZSBzZW5kZXIgYW5kIHJlY2VpdmVyIHRoYXQgZGVmaW5lcyB0aGUgbGV2ZWwgb2YgZGVsaXZlcnkgZ3VhcmFudGVlIGZvciBhIHNwZWNpZmljIG1lc3NhZ2UuIiwicmVzcG9uc2UtdG9waWMtZXhwcmVzc2lvbiI6IlJlc3BvbnNlIHRvcGljIGV4cHJlc3Npb24iLCJyZXNwb25zZS10b3BpYy1leHByZXNzaW9uLXJlcXVpcmVkIjoiUmVzcG9uc2UgdG9waWMgZXhwcmVzc2lvbiBpcyByZXF1aXJlZC4iLCJyZXNwb25zZS12YWx1ZS1leHByZXNzaW9uIjoiUmVzcG9uc2UgdmFsdWUgZXhwcmVzc2lvbiIsInJlc3BvbnNlLXZhbHVlLWV4cHJlc3Npb24tcmVxdWlyZWQiOiJSZXNwb25zZSB2YWx1ZSBleHByZXNzaW9uIGlzIHJlcXVpcmVkLiIsInZlbmRvci1uYW1lIjoiVmVuZG9yIG5hbWUiLCJ2ZW5kb3ItdXJsIjoiVmVuZG9yIFVSTCIsdmFsdWU6IlZhbHVlIix2YWx1ZXM6IlZhbHVlcyIsInZhbHVlLXJlcXVpcmVkIjoiVmFsdWUgaXMgcmVxdWlyZWQuIiwidmFsdWUtZXhwcmVzc2lvbiI6IlZhbHVlIGV4cHJlc3Npb24iLCJ2YWx1ZS1leHByZXNzaW9uLXJlcXVpcmVkIjoiVmFsdWUgZXhwcmVzc2lvbiBpcyByZXF1aXJlZC4iLCJ3aXRoLXJlc3BvbnNlIjoiV2l0aCByZXNwb25zZSIsIndpdGhvdXQtcmVzcG9uc2UiOiJXaXRob3V0IHJlc3BvbnNlIixvdGhlcjoiT3RoZXIiLCJzYXZlLXRpcCI6IlNhdmUgY29uZmlndXJhdGlvbiBmaWxlIiwic2Nhbi1wZXJpb2QiOiJTY2FuIHBlcmlvZCAobXMpIiwic2Nhbi1wZXJpb2QtZXJyb3IiOiJTY2FuIHBlcmlvZCBzaG91bGQgYmUgYXQgbGVhc3Qge3ttaW59fSAobXMpLiIsInN1Yi1jaGVjay1wZXJpb2QiOiJTdWJzY3JpcHRpb24gY2hlY2sgcGVyaW9kIChtcykiLCJzdWItY2hlY2stcGVyaW9kLWVycm9yIjoiU3Vic2NyaXB0aW9uIGNoZWNrIHBlcmlvZCBzaG91bGQgYmUgYXQgbGVhc3Qge3ttaW59fSAobXMpLiIsInNlY3VyaXR5LWxhYmVsIjoiU2VjdXJpdHkiLCJzZWN1cml0eS1wb2xpY3kiOiJTZWN1cml0eSBwb2xpY3kiLCJzZWN1cml0eS10eXBlIjoiU2VjdXJpdHkgdHlwZSIsInNlY3VyaXR5LXR5cGVzIjp7ImFjY2Vzcy10b2tlbiI6IkFjY2VzcyBUb2tlbiIsInVzZXJuYW1lLXBhc3N3b3JkIjoiVXNlcm5hbWUgYW5kIFBhc3N3b3JkIix0bHM6IlRMUyIsInRscy1hY2Nlc3MtdG9rZW4iOiJUTFMgKyBBY2Nlc3MgVG9rZW4iLCJ0bHMtcHJpdmF0ZS1rZXkiOiJUTFMgKyBQcml2YXRlIEtleSJ9LCJzZWxlY3QtY29ubmVjdG9yIjoiU2VsZWN0IGNvbm5lY3RvciB0byBkaXNwbGF5IGNvbmZpZyIsInNlbmQtY2hhbmdlLWRhdGEiOiJTZW5kIGRhdGEgb25seSBvbiBjaGFuZ2UiLCJzZW5kLWRhdGEtdG8tcGxhdGZvcm0iOiJTZW5kIGRhdGEgdG8gcGxhdGZvcm0iLCJzZW5kLWRhdGEtb24tY2hhbmdlIjoiU2VuZCBkYXRhIG9ubHkgb24gY2hhbmdlIiwic2VuZC1jaGFuZ2UtZGF0YS1oaW50IjoiVGhlIHZhbHVlcyB3aWxsIGJlIHNhdmVkIHRvIHRoZSBkYXRhYmFzZSBvbmx5IGlmIHRoZXkgYXJlIGRpZmZlcmVudCBmcm9tIHRoZSBjb3JyZXNwb25kaW5nIHZhbHVlcyBpbiB0aGUgcHJldmlvdXMgY29udmVydGVkIG1lc3NhZ2UuIFRoaXMgZnVuY3Rpb25hbGl0eSBhcHBsaWVzIHRvIGJvdGggYXR0cmlidXRlcyBhbmQgdGltZSBzZXJpZXMgaW4gdGhlIGNvbnZlcnRlciBvdXRwdXQuIixzZXJ2ZXI6IlNlcnZlciIsInNlcnZlci1ob3N0bmFtZSI6IlNlcnZlciBob3N0bmFtZSIsInNlcnZlci1zbGF2ZSI6IlNlcnZlciAoU2xhdmUpIiwic2VydmVycy1zbGF2ZXMiOiJTZXJ2ZXJzIChTbGF2ZXMpIiwic2VydmVyLXBvcnQiOiJTZXJ2ZXIgcG9ydCIsInNlcnZlci11cmwiOiJTZXJ2ZXIgZW5kcG9pbnQgdXJsIiwic2VydmVyLWNvbm5lY3Rpb24iOiJTZXJ2ZXIgQ29ubmVjdGlvbiIsInNlcnZlci1jb25maWciOiJTZXJ2ZXIgY29uZmlndXJhdGlvbiIsInNlcnZlci1zbGF2ZS1jb25maWciOiJTZXJ2ZXIgKFNsYXZlKSBjb25maWd1cmF0aW9uIiwic2VydmVyLXVybC1yZXF1aXJlZCI6IlNlcnZlciBlbmRwb2ludCB1cmwgaXMgcmVxdWlyZWQuIixzdG9wYml0czoiU3RvcGJpdHMiLHN0cmljdDoiU3RyaWN0IixzZXQ6IlNldCIsInNob3ctbWFwIjoiU2hvdyBtYXAiLHN0YXRpc3RpY3M6e3N0YXRpc3RpYzoiU3RhdGlzdGljIixzdGF0aXN0aWNzOiJTdGF0aXN0aWNzIiwic3RhdGlzdGljLWNvbW1hbmRzLWVtcHR5IjonTm8gY29uZmlndXJlZCBzdGF0aXN0aWMga2V5cyBmb3VuZC4gWW91IGNhbiBjb25maWd1cmUgdGhlbSBpbiAiU3RhdGlzdGljcyIgdGFiIGluIGdlbmVyYWwgY29uZmlndXJhdGlvbi4nLCJzdGF0aXN0aWNzLWJ1dHRvbiI6IkdvIHRvIGNvbmZpZ3VyYXRpb24iLGNvbW1hbmRzOiJDb21tYW5kcyIsInNlbmQtcGVyaW9kIjoiU3RhdGlzdGljIHNlbmQgcGVyaW9kIChpbiBzZWMpIiwic2VuZC1wZXJpb2QtcmVxdWlyZWQiOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgaXMgcmVxdWlyZWQiLCJzZW5kLXBlcmlvZC1taW4iOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgY2FuIG5vdCBiZSBsZXNzIHRoZW4gNjAiLCJzZW5kLXBlcmlvZC1wYXR0ZXJuIjoiU3RhdGlzdGljIHNlbmQgcGVyaW9kIGlzIG5vdCB2YWxpZCIsImNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbiI6IkNoZWNrIGNvbm5lY3RvcnMgY29uZmlndXJhdGlvbiAoaW4gc2VjKSIsIm1heC1wYXlsb2FkLXNpemUtYnl0ZXMiOiJNYXggcGF5bG9hZCBzaXplIGluIGJ5dGVzIiwibWF4LXBheWxvYWQtc2l6ZS1ieXRlcy1yZXF1aXJlZCI6Ik1heCBwYXlsb2FkIHNpemUgaW4gYnl0ZXMgaXMgcmVxdWlyZWQiLCJtYXgtcGF5bG9hZC1zaXplLWJ5dGVzLW1pbiI6Ik1heCBwYXlsb2FkIHNpemUgaW4gYnl0ZXMgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMTAwIiwibWF4LXBheWxvYWQtc2l6ZS1ieXRlcy1wYXR0ZXJuIjoiTWF4IHBheWxvYWQgc2l6ZSBpbiBieXRlcyBpcyBub3QgdmFsaWQiLCJtaW4tcGFjay1zaXplLXRvLXNlbmQiOiJNaW4gcGFja2V0IHNpemUgdG8gc2VuZCIsIm1pbi1wYWNrLXNpemUtdG8tc2VuZC1yZXF1aXJlZCI6Ik1pbiBwYWNrZXQgc2l6ZSB0byBzZW5kIGlzIHJlcXVpcmVkIiwibWluLXBhY2stc2l6ZS10by1zZW5kLW1pbiI6Ik1pbiBwYWNrZXQgc2l6ZSB0byBzZW5kIGNhbiBub3QgYmUgbGVzcyB0aGVuIDEwMCIsIm1pbi1wYWNrLXNpemUtdG8tc2VuZC1wYXR0ZXJuIjoiTWluIHBhY2tldCBzaXplIHRvIHNlbmQgaXMgbm90IHZhbGlkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXJlcXVpcmVkIjoiQ2hlY2sgY29ubmVjdG9ycyBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLW1pbiI6IkNoZWNrIGNvbm5lY3RvcnMgY29uZmlndXJhdGlvbiBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXBhdHRlcm4iOiJDaGVjayBjb25uZWN0b3JzIGNvbmZpZ3VyYXRpb24gaXMgbm90IHZhbGlkIixhZGQ6IkFkZCBjb21tYW5kIix0aW1lb3V0OiJUaW1lb3V0IChpbiBzZWMpIiwidGltZW91dC1tcyI6IlRpbWVvdXQgKGluIG1zKSIsInRpbWVvdXQtcmVxdWlyZWQiOiJUaW1lb3V0IGlzIHJlcXVpcmVkIiwidGltZW91dC1taW4iOiJUaW1lb3V0IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJ0aW1lb3V0LXBhdHRlcm4iOiJUaW1lb3V0IGlzIG5vdCB2YWxpZCIsImF0dHJpYnV0ZS1uYW1lIjoiQXR0cmlidXRlIG5hbWUiLCJhdHRyaWJ1dGUtbmFtZS1yZXF1aXJlZCI6IkF0dHJpYnV0ZSBuYW1lIGlzIHJlcXVpcmVkIixjb21tYW5kOiJDb21tYW5kIiwiY29tbWFuZC1yZXF1aXJlZCI6IkNvbW1hbmQgaXMgcmVxdWlyZWQiLCJjb21tYW5kLXBhdHRlcm4iOiJDb21tYW5kIGlzIG5vdCB2YWxpZCIscmVtb3ZlOiJSZW1vdmUgY29tbWFuZCJ9LHN0b3JhZ2U6IlN0b3JhZ2UiLCJzdG9yYWdlLW1heC1maWxlLXJlY29yZHMiOiJNYXhpbXVtIHJlY29yZHMgaW4gZmlsZSIsInN0b3JhZ2UtbWF4LWZpbGVzIjoiTWF4aW11bSBudW1iZXIgb2YgZmlsZXMiLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiJNaW5pbXVtIG51bWJlciBpcyAxLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXJlcXVpcmVkIjoiTnVtYmVyIGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMiOiJNYXhpbXVtIHJlY29yZHMgaW4gc3RvcmFnZSIsInN0b3JhZ2UtbWF4LXJlY29yZHMtbWluIjoiTWluaW11bSBudW1iZXIgb2YgcmVjb3JkcyBpcyAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1yZXF1aXJlZCI6Ik1heGltdW0gcmVjb3JkcyBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50IjoiUmVhZCByZWNvcmQgY291bnQgaW4gc3RvcmFnZSIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtbWluIjoiTWluaW11bSBudW1iZXIgb2YgcmVjb3JkcyBpcyAxLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1yZXF1aXJlZCI6IlJlYWQgcmVjb3JkIGNvdW50IGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50IjoiTWF4IHJlYWQgcmVjb3JkIGNvdW50IGluIHN0b3JhZ2UiLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1taW4iOiJNaW5pbXVtIG51bWJlciBvZiByZWNvcmRzIGlzIDEuIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcmVxdWlyZWQiOiJNYXggUmVhZCByZWNvcmQgY291bnQgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoIjoiRGF0YSBmb2xkZXIgcGF0aCIsInN0b3JhZ2UtZGF0YS1mb2xkZXItcGF0aC1yZXF1aXJlZCI6IkRhdGEgZm9sZGVyIHBhdGggaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1wYWNrLXNpemUiOiJNYXhpbXVtIGV2ZW50IHBhY2sgc2l6ZSIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6Ik1pbmltdW0gbnVtYmVyIGlzIDEuIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiJNYXhpbXVtIGV2ZW50IHBhY2sgc2l6ZSBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLXBhdGgiOiJTdG9yYWdlIHBhdGgiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiJTdG9yYWdlIHBhdGggaXMgcmVxdWlyZWQuIiwic3RvcmFnZS10eXBlIjoiU3RvcmFnZSB0eXBlIiwic3RvcmFnZS10eXBlcyI6eyJmaWxlLXN0b3JhZ2UiOiJGaWxlIHN0b3JhZ2UiLCJtZW1vcnktc3RvcmFnZSI6Ik1lbW9yeSBzdG9yYWdlIixzcWxpdGU6IlNRTElURSJ9LCJyZXBvcnQtc3RyYXRlZ3kiOntsYWJlbDoiUmVwb3J0IHN0cmF0ZWd5Iiwib24tY2hhbmdlIjoiT24gdmFsdWUgY2hhbmdlIiwib24tcmVwb3J0LXBlcmlvZCI6Ik9uIHJlcG9ydCBwZXJpb2QiLCJvbi1jaGFuZ2Utb3ItcmVwb3J0LXBlcmlvZCI6Ik9uIHZhbHVlIGNoYW5nZSBvciByZXBvcnQgcGVyaW9kIiwicmVwb3J0LXBlcmlvZCI6IlJlcG9ydCBwZXJpb2QifSwic291cmNlLXR5cGUiOnttc2c6IkV4dHJhY3QgZnJvbSBtZXNzYWdlIix0b3BpYzoiRXh0cmFjdCBmcm9tIHRvcGljIixjb25zdDoiQ29uc3RhbnQiLGlkZW50aWZpZXI6IklkZW50aWZpZXIiLHBhdGg6IlBhdGgifSwid29ya2Vycy1zZXR0aW5ncyI6IldvcmtlcnMgc2V0dGluZ3MiLHRoaW5nc2JvYXJkOiJUaGluZ3NCb2FyZCIsZ2VuZXJhbDoiR2VuZXJhbCIsdGltZXNlcmllczoiVGltZSBzZXJpZXMiLGtleToiS2V5IixrZXlzOiJLZXlzIiwia2V5LXJlcXVpcmVkIjoiS2V5IGlzIHJlcXVpcmVkLiIsInRoaW5nc2JvYXJkLWhvc3QiOiJQbGF0Zm9ybSBob3N0IiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6Ikhvc3QgaXMgcmVxdWlyZWQuIiwidGhpbmdzYm9hcmQtcG9ydCI6IlBsYXRmb3JtIHBvcnQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6Ik1heGltdW0gcG9ydCBudW1iZXIgaXMgNjU1MzUuIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiJNaW5pbXVtIHBvcnQgbnVtYmVyIGlzIDEuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiUG9ydCBpcyBub3QgdmFsaWQuIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6IlBvcnQgaXMgcmVxdWlyZWQuIix0aWR5OiJUaWR5IiwidGlkeS10aXAiOiJUaWR5IGNvbmZpZyBKU09OIix0aW1lb3V0OiJUaW1lb3V0IChtcykiLCJ0aW1lb3V0LWVycm9yIjoiVGltZW91dCBzaG91bGQgYmUgYXQgbGVhc3Qge3ttaW59fSAobXMpLiIsInRpdGxlLWNvbm5lY3RvcnMtanNvbiI6IkNvbm5lY3RvciB7e3R5cGVOYW1lfX0gY29uZmlndXJhdGlvbiIsdHlwZToiVHlwZSIsInRvcGljLWZpbHRlciI6IlRvcGljIGZpbHRlciIsInRvcGljLXJlcXVpcmVkIjoiVG9waWMgZmlsdGVyIGlzIHJlcXVpcmVkLiIsInRscy1wYXRoLWNhLWNlcnRpZmljYXRlIjoiUGF0aCB0byBDQSBjZXJ0aWZpY2F0ZSBvbiBnYXRld2F5IiwidGxzLXBhdGgtY2xpZW50LWNlcnRpZmljYXRlIjoiUGF0aCB0byBjbGllbnQgY2VydGlmaWNhdGUgb24gZ2F0ZXdheSIsInRscy1jb25uZWN0aW9uIjoiVExTIENvbm5lY3Rpb24iLCJtYXN0ZXItY29ubmVjdGlvbnMiOiJNYXN0ZXIgQ29ubmVjdGlvbnMiLCJtZXRob2QtZmlsdGVyIjoiTWV0aG9kIGZpbHRlciIsIm1ldGhvZC1maWx0ZXItaGludCI6IlJlZ3VsYXIgZXhwcmVzc2lvbiB0byBmaWx0ZXIgaW5jb21pbmcgUlBDIG1ldGhvZCBmcm9tIHBsYXRmb3JtLiIsIm1ldGhvZC1maWx0ZXItcmVxdWlyZWQiOiJNZXRob2QgZmlsdGVyIGlzIHJlcXVpcmVkLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3VycyI6Ik1lc3NhZ2VzIFRUTCBjaGVjayBpbiBob3VycyIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1yZXF1aXJlZCI6Ik1lc3NhZ2VzIFRUTCBjaGVjayBpbiBob3VycyBpcyByZXF1aXJlZC4iLCJtZXNzYWdlcy10dGwtY2hlY2staW4taG91cnMtbWluIjoiTWluIG51bWJlciBpcyAxLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cyI6Ik1lc3NhZ2VzIFRUTCBpbiBkYXlzIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcmVxdWlyZWQiOiJNZXNzYWdlcyBUVEwgaW4gZGF5cyBpcyByZXF1aXJlZC4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1taW4iOiJNaW4gbnVtYmVyIGlzIDEuIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwibXF0dC1xb3MiOiJRb1MiLCJtcXR0LXFvcy1yZXF1aXJlZCI6IlFvUyBpcyByZXF1aXJlZCIsIm1xdHQtcW9zLXJhbmdlIjoiUW9TIHZhbHVlcyByYW5nZSBpcyBmcm9tIDAgdG8gMSIscW9zOnsiYXQtbW9zdC1vbmNlIjoiMCAtIEF0IG1vc3Qgb25jZSIsImF0LWxlYXN0LW9uY2UiOiIxIC0gQXQgbGVhc3Qgb25jZSIsImV4YWN0bHktb25jZSI6IjIgLSBFeGFjdGx5IG9uY2UifSwib2JqZWN0cy1jb3VudCI6Ik9iamVjdHMgY291bnQiLCJvYmplY3RzLWNvdW50LXJlcXVpcmVkIjoiT2JqZWN0cyBjb3VudCBpcyByZXF1aXJlZCIsIndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzIjoiV2FpdCBhZnRlciBmYWlsZWQgYXR0ZW1wdHMgKG1zKSIsInRscy1wYXRoLXByaXZhdGUta2V5IjoiUGF0aCB0byBwcml2YXRlIGtleSBvbiBnYXRld2F5IiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiJUb2dnbGUgZnVsbHNjcmVlbiIsInRyYW5zZm9ybWVyLWpzb24tY29uZmlnIjoiQ29uZmlndXJhdGlvbiBKU09OKiIsInVwZGF0ZS1jb25maWciOiJBZGQvdXBkYXRlIGNvbmZpZ3VyYXRpb24gSlNPTiIsdXNlcm5hbWU6IlVzZXJuYW1lIiwidXNlcm5hbWUtcmVxdWlyZWQiOiJVc2VybmFtZSBpcyByZXF1aXJlZC4iLCJ1bml0LWlkLXJlcXVpcmVkIjoiVW5pdCBJRCBpcyByZXF1aXJlZC4iLCJ3cml0ZS1jb2lsIjoiV3JpdGUgQ29pbCIsIndyaXRlLWNvaWxzIjoiV3JpdGUgQ29pbHMiLCJ3cml0ZS1yZWdpc3RlciI6IldyaXRlIFJlZ2lzdGVyIiwid3JpdGUtcmVnaXN0ZXJzIjoiV3JpdGUgUmVnaXN0ZXJzIixoaW50czp7Im1vZGJ1cy1tYXN0ZXIiOiJDb25maWd1cmF0aW9uIHNlY3Rpb25zIGZvciBjb25uZWN0aW5nIHRvIE1vZGJ1cyBzZXJ2ZXJzIGFuZCByZWFkaW5nIGRhdGEgZnJvbSB0aGVtLiIsIm1vZGJ1cy1zZXJ2ZXIiOiJDb25maWd1cmF0aW9uIHNlY3Rpb24gZm9yIHRoZSBNb2RidXMgc2VydmVyLCBzdG9yaW5nIGRhdGEgYW5kIHNlbmRpbmcgdXBkYXRlcyB0byB0aGUgcGxhdGZvcm0gd2hlbiBjaGFuZ2VzIG9jY3VyIG9yIGF0IGZpeGVkIGludGVydmFscy4iLCJyZW1vdGUtY29uZmlndXJhdGlvbiI6IkVuYWJsZXMgcmVtb3RlIGNvbmZpZ3VyYXRpb24gYW5kIG1hbmFnZW1lbnQgb2YgdGhlIGdhdGV3YXkiLCJyZW1vdGUtc2hlbGwiOiJFbmFibGVzIHJlbW90ZSBjb250cm9sIG9mIHRoZSBvcGVyYXRpbmcgc3lzdGVtIHdpdGggdGhlIGdhdGV3YXkgZnJvbSB0aGUgUmVtb3RlIFNoZWxsIHdpZGdldCIsaG9zdDoiSG9zdG5hbWUgb3IgSVAgYWRkcmVzcyBvZiBwbGF0Zm9ybSBzZXJ2ZXIiLHBvcnQ6IlBvcnQgb2YgTVFUVCBzZXJ2aWNlIG9uIHBsYXRmb3JtIHNlcnZlciIsdG9rZW46IkFjY2VzcyB0b2tlbiBmb3IgdGhlIGdhdGV3YXkgZnJvbSBwbGF0Zm9ybSBzZXJ2ZXIiLCJjbGllbnQtaWQiOiJNUVRUIGNsaWVudCBpZCBmb3IgdGhlIGdhdGV3YXkgZm9ybSBwbGF0Zm9ybSBzZXJ2ZXIiLHVzZXJuYW1lOiJNUVRUIHVzZXJuYW1lIGZvciB0aGUgZ2F0ZXdheSBmb3JtIHBsYXRmb3JtIHNlcnZlciIscGFzc3dvcmQ6Ik1RVFQgcGFzc3dvcmQgZm9yIHRoZSBnYXRld2F5IGZvcm0gcGxhdGZvcm0gc2VydmVyIiwiY2EtY2VydCI6IlBhdGggdG8gQ0EgY2VydGlmaWNhdGUgZmlsZSIsImRhdGUtZm9ybSI6IkRhdGUgZm9ybWF0IGluIGxvZyBtZXNzYWdlIiwiZGF0YS1mb2xkZXIiOiJQYXRoIHRvIHRoZSBmb2xkZXIgdGhhdCB3aWxsIGNvbnRhaW4gZGF0YSAoUmVsYXRpdmUgb3IgQWJzb2x1dGUpIiwibG9nLWZvcm1hdCI6IkxvZyBtZXNzYWdlIGZvcm1hdCIsInJlbW90ZS1sb2ciOiJFbmFibGVzIHJlbW90ZSBsb2dnaW5nIGFuZCBsb2dzIHJlYWRpbmcgZnJvbSB0aGUgZ2F0ZXdheSIsImJhY2t1cC1jb3VudCI6IklmIGJhY2t1cCBjb3VudCBpcyA+IDAsIHdoZW4gYSByb2xsb3ZlciBpcyBkb25lLCBubyBtb3JlIHRoYW4gYmFja3VwIGNvdW50IGZpbGVzIGFyZSBrZXB0IC0gdGhlIG9sZGVzdCBvbmVzIGFyZSBkZWxldGVkIixzdG9yYWdlOiJQcm92aWRlcyBjb25maWd1cmF0aW9uIGZvciBzYXZpbmcgaW5jb21pbmcgZGF0YSBiZWZvcmUgaXQgaXMgc2VudCB0byB0aGUgcGxhdGZvcm0iLCJtYXgtZmlsZS1jb3VudCI6Ik1heGltdW0gbnVtYmVyIG9mIGZpbGVzIHRoYXQgd2lsbCBiZSBjcmVhdGVkIiwibWF4LXJlYWQtY291bnQiOiJOdW1iZXIgb2YgbWVzc2FnZXMgdG8gcmV0cmlldmUgZnJvbSB0aGUgc3RvcmFnZSBhbmQgc2VuZCB0byBwbGF0Zm9ybSIsIm1heC1yZWNvcmRzIjoiTWF4aW11bSBjb3VudCBvZiByZWNvcmRzIHRoYXQgd2lsbCBiZSBzdG9yZWQgaW4gb25lIGZpbGUiLCJyZWFkLXJlY29yZC1jb3VudCI6Ik51bWJlciBvZiBtZXNzYWdlcyB0byByZXRyaWV2ZSBmcm9tIHRoZSBzdG9yYWdlIGFuZCBzZW5kIHRvIHBsYXRmb3JtIiwibWF4LXJlY29yZHMtY291bnQiOiJNYXhpbXVtIG51bWJlciBvZiBkYXRhIGVudHJpZXMgaW4gc3RvcmFnZSBiZWZvcmUgc2VuZGluZyB0byBwbGF0Zm9ybSIsInR0bC1jaGVjay1ob3VyIjoiSG93IG9mdGVuIHdpbGwgdGhlIEdhdGV3YXkgY2hlY2sgZGF0YSBmb3Igb2Jzb2xlc2NlbmNlIiwidHRsLW1lc3NhZ2VzLWRheSI6Ik1heGltdW0gbnVtYmVyIG9mIGRheXMgdGhhdCB0aGUgc3RvcmFnZSB3aWxsIHJldGFpbiBkYXRhIixjb21tYW5kczoiQ29tbWFuZHMgZm9yIGNvbGxlY3RpbmcgYWRkaXRpb25hbCBzdGF0aXN0aWMiLGF0dHJpYnV0ZToiU3RhdGlzdGljIHRlbGVtZXRyeSBrZXkiLHRpbWVvdXQ6IlRpbWVvdXQgZm9yIGNvbW1hbmQgZXhlY3V0aW5nIixjb21tYW5kOiJUaGUgcmVzdWx0IG9mIHRoZSBjb21tYW5kIGV4ZWN1dGlvbiwgd2lsbCBiZSB1c2VkIGFzIHRoZSB2YWx1ZSBmb3IgdGVsZW1ldHJ5IiwiY2hlY2stZGV2aWNlLWFjdGl2aXR5IjoiRW5hYmxlcyBtb25pdG9yIHRoZSBhY3Rpdml0eSBvZiBlYWNoIGNvbm5lY3RlZCBkZXZpY2UiLCJpbmFjdGl2aXR5LXRpbWVvdXQiOiJUaW1lIGFmdGVyIHdob3NlIHRoZSBnYXRld2F5IHdpbGwgZGlzY29ubmVjdCBkZXZpY2UiLCJpbmFjdGl2aXR5LXBlcmlvZCI6IlBlcmlvZGljaXR5IG9mIGRldmljZSBhY3Rpdml0eSBjaGVjayIsIm1pbmltYWwtcGFjay1kZWxheSI6IkRlbGF5IGJldHdlZW4gc2VuZGluZyBwYWNrcyBvZiBtZXNzYWdlcyAoRGVjcmVhc2luZyB0aGlzIHNldHRpbmcgcmVzdWx0cyBpbiBpbmNyZWFzZWQgQ1BVIHVzYWdlKSIscW9zOiJRdWFsaXR5IG9mIFNlcnZpY2UgaW4gTVFUVCBtZXNzYWdpbmcgKDAgLSBhdCBtb3N0IG9uY2UsIDEgLSBhdCBsZWFzdCBvbmNlKSIsInNlcnZlci1wb3J0IjoiTmV0d29yayBwb3J0IG9uIHdoaWNoIEdSUEMgc2VydmVyIHdpbGwgbGlzdGVuIGZvciBpbmNvbWluZyBjb25uZWN0aW9ucy4iLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dCI6Ik1heGltdW0gdGltZSB0aGUgc2VydmVyIHNob3VsZCB3YWl0IGZvciBhIGtlZXBhbGl2ZSBwaW5nIHJlc3BvbnNlIGJlZm9yZSBjb25zaWRlcmluZyB0aGUgY29ubmVjdGlvbiBkZWFkLiIsImdycGMta2VlcC1hbGl2ZSI6IkR1cmF0aW9uIGJldHdlZW4gdHdvIHN1Y2Nlc3NpdmUga2VlcGFsaXZlIHBpbmcgbWVzc2FnZXMgd2hlbiB0aGVyZSBpcyBubyBhY3RpdmUgUlBDIGNhbGwuIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzIjoiTWluaW11bSBhbW91bnQgb2YgdGltZSB0aGUgc2VydmVyIHNob3VsZCB3YWl0IGJldHdlZW4gc2VuZGluZyBrZWVwYWxpdmUgcGluZyBtZXNzYWdlcyIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YSI6Ik1heGltdW0gbnVtYmVyIG9mIGtlZXBhbGl2ZSBwaW5nIG1lc3NhZ2VzIHRoYXQgdGhlIHNlcnZlciBjYW4gc2VuZCB3aXRob3V0IHJlY2VpdmluZyBhbnkgZGF0YSBiZWZvcmUgaXQgY29uc2lkZXJzIHRoZSBjb25uZWN0aW9uIGRlYWQuIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEiOiJNaW5pbXVtIGFtb3VudCBvZiB0aW1lIHRoZSBzZXJ2ZXIgc2hvdWxkIHdhaXQgYmV0d2VlbiBzZW5kaW5nIGtlZXBhbGl2ZSBwaW5nIG1lc3NhZ2VzIHdoZW4gdGhlcmUgaXMgbm8gZGF0YSBiZWluZyBzZW50IG9yIHJlY2VpdmVkLiIsInBlcm1pdC13aXRob3V0LWNhbGxzIjoiQWxsb3cgc2VydmVyIHRvIGtlZXAgdGhlIEdSUEMgY29ubmVjdGlvbiBhbGl2ZSBldmVuIHdoZW4gdGhlcmUgYXJlIG5vIGFjdGl2ZSBSUEMgY2FsbHMuIiwicGF0aC1pbi1vcyI6IlBhdGggaW4gZ2F0ZXdheSBvcy4iLG1lbW9yeToiWW91ciBkYXRhIHdpbGwgYmUgc3RvcmVkIGluIHRoZSBpbi1tZW1vcnkgcXVldWUsIGl0IGlzIGEgZmFzdGVzdCBidXQgbm8gcGVyc2lzdGVuY2UgZ3VhcmFudGVlLiIsZmlsZToiWW91ciBkYXRhIHdpbGwgYmUgc3RvcmVkIGluIHNlcGFyYXRlZCBmaWxlcyBhbmQgd2lsbCBiZSBzYXZlZCBldmVuIGFmdGVyIHRoZSBnYXRld2F5IHJlc3RhcnQuIixzcWxpdGU6IllvdXIgZGF0YSB3aWxsIGJlIHN0b3JlZCBpbiBmaWxlIGJhc2VkIGRhdGFiYXNlLiBBbmQgd2lsbCBiZSBzYXZlZCBldmVuIGFmdGVyIHRoZSBnYXRld2F5IHJlc3RhcnQuIiwib3BjLXRpbWVvdXQiOiJUaW1lb3V0IGluIG1pbGxpc2Vjb25kcyBmb3IgY29ubmVjdGluZyB0byBPUEMtVUEgc2VydmVyLiIsInNlY3VyaXR5LXBvbGljeSI6IlNlY3VyaXR5IFBvbGljeSBkZWZpbmVzIHRoZSBzZWN1cml0eSBtZWNoYW5pc21zIHRvIGJlIGFwcGxpZWQuIiwic2Nhbi1wZXJpb2QiOiJQZXJpb2QgaW4gbWlsbGlzZWNvbmRzIHRvIHJlc2NhbiB0aGUgc2VydmVyLiIsInN1Yi1jaGVjay1wZXJpb2QiOiJQZXJpb2QgdG8gY2hlY2sgdGhlIHN1YnNjcmlwdGlvbnMgaW4gdGhlIE9QQy1VQSBzZXJ2ZXIuIiwiZW5hYmxlLXN1YnNjcmlwdGlvbiI6IklmIHRydWUgLSB0aGUgZ2F0ZXdheSB3aWxsIHN1YnNjcmliZSB0byBpbnRlcmVzdGluZyBub2RlcyBhbmQgd2FpdCBmb3IgZGF0YSB1cGRhdGUgYW5kIGlmIGZhbHNlIC0gdGhlIGdhdGV3YXkgd2lsbCByZXNjYW4gT1BDLVVBIHNlcnZlciBldmVyeSBzY2FuUGVyaW9kSW5NaWxsaXMuIiwic2hvdy1tYXAiOiJTaG93IG5vZGVzIG9uIHNjYW5uaW5nLiIsIm1ldGhvZC1uYW1lIjoiTmFtZSBvZiBtZXRob2Qgb24gT1BDLVVBIHNlcnZlci4iLGFyZ3VtZW50czoiQXJndW1lbnRzIGZvciB0aGUgbWV0aG9kICh3aWxsIGJlIG92ZXJ3cml0dGVuIGJ5IGFyZ3VtZW50cyBmcm9tIHRoZSBSUEMgcmVxdWVzdCkuIiwibWluLXBhY2stc2l6ZS10by1zZW5kIjoiTWluaW11bSBwYWNrYWdlIHNpemUgZm9yIHNlbmRpbmcuIiwibWF4LXBheWxvYWQtc2l6ZS1ieXRlcyI6Ik1heGltdW0gcGFja2FnZSBzaXplIGluIGJ5dGVzIiwicG9sbC1wZXJpb2QiOiJQZXJpb2QgaW4gbWlsbGlzZWNvbmRzIHRvIHJlYWQgZGF0YSBmcm9tIG5vZGVzLiIsbW9kYnVzOnsiZnJhbWVyLXR5cGUiOiJUeXBlIG9mIGEgZnJhbWVyIChTb2NrZXQsIFJUVSwgb3IgQVNDSUkpLCBpZiBuZWVkZWQuIixob3N0OiJIb3N0bmFtZSBvciBJUCBhZGRyZXNzIG9mIE1vZGJ1cyBzZXJ2ZXIuIixwb3J0OiJNb2RidXMgc2VydmVyIHBvcnQgZm9yIGNvbm5lY3Rpb24uIiwidW5pdC1pZCI6Ik1vZGJ1cyBzbGF2ZSBJRC4iLCJjb25uZWN0aW9uLXRpbWVvdXQiOiJDb25uZWN0aW9uIHRpbWVvdXQgKGluIHNlY29uZHMpIGZvciB0aGUgTW9kYnVzIHNlcnZlci4iLCJieXRlLW9yZGVyIjoiQnl0ZSBvcmRlciBmb3IgcmVhZGluZyBkYXRhLiIsIndvcmQtb3JkZXIiOiJXb3JkIG9yZGVyIHdoZW4gcmVhZGluZyBtdWx0aXBsZSByZWdpc3RlcnMuIixyZXRyaWVzOiJSZXRyeWluZyBkYXRhIHRyYW5zbWlzc2lvbiB0byB0aGUgbWFzdGVyLiBBY2NlcHRhYmxlIHZhbHVlczogdHJ1ZSBvciBmYWxzZS4iLCJyZXRyaWVzLW9uLWVtcHR5IjoiUmV0cnkgc2VuZGluZyBkYXRhIHRvIHRoZSBtYXN0ZXIgaWYgdGhlIGRhdGEgaXMgZW1wdHkuIiwicmV0cmllcy1vbi1pbnZhbGlkIjoiUmV0cnkgc2VuZGluZyBkYXRhIHRvIHRoZSBtYXN0ZXIgaWYgaXQgZmFpbHMuIiwicG9sbC1wZXJpb2QiOiJQZXJpb2QgaW4gbWlsbGlzZWNvbmRzIHRvIGNoZWNrIGF0dHJpYnV0ZXMgYW5kIHRlbGVtZXRyeSBvbiB0aGUgc2xhdmUuIiwiY29ubmVjdC1hdHRlbXB0LXRpbWUiOiJBIHdhaXRpbmcgcGVyaW9kIGluIG1pbGxpc2Vjb25kcyBiZWZvcmUgZXN0YWJsaXNoaW5nIGEgY29ubmVjdGlvbiB0byB0aGUgbWFzdGVyLiIsImNvbm5lY3QtYXR0ZW1wdC1jb3VudCI6IlRoZSBudW1iZXIgb2YgY29ubmVjdGlvbiBhdHRlbXB0cyBtYWRlIHRocm91Z2ggdGhlIGdhdGV3YXkuIiwid2FpdC1hZnRlci1mYWlsZWQtYXR0ZW1wdHMiOiJBIHdhaXRpbmcgcGVyaW9kIGluIG1pbGxpc2Vjb25kcyBiZWZvcmUgYXR0ZW1wdGluZyB0byBzZW5kIGRhdGEgdG8gdGhlIG1hc3Rlci4iLCJzZXJpYWwtcG9ydCI6IlNlcmlhbCBwb3J0IGZvciBjb25uZWN0aW9uLiIsYmF1ZHJhdGU6IkJhdWQgcmF0ZSBmb3IgdGhlIHNlcmlhbCBkZXZpY2UuIixzdG9wYml0czoiVGhlIG51bWJlciBvZiBzdG9wIGJpdHMgc2VudCBhZnRlciBlYWNoIGNoYXJhY3RlciBpbiBhIG1lc3NhZ2UgdG8gaW5kaWNhdGUgdGhlIGVuZCBvZiB0aGUgYnl0ZS4iLGJ5dGVzaXplOiJUaGUgbnVtYmVyIG9mIGJpdHMgaW4gYSBieXRlIG9mIHNlcmlhbCBkYXRhLiBUaGlzIGNhbiBiZSBvbmUgb2YgNSwgNiwgNywgb3IgOC4iLHBhcml0eToiVGhlIHR5cGUgb2YgY2hlY2tzdW0gdXNlZCB0byB2ZXJpZnkgZGF0YSBpbnRlZ3JpdHkuIE9wdGlvbnM6IChFKXZlbiwgKE8pZGQsIChOKW9uZS4iLHN0cmljdDoiVXNlIGludGVyLWNoYXJhY3RlciB0aW1lb3V0IGZvciBiYXVkcmF0ZXMg4omkIDE5MjAwLiIsIm9iamVjdHMtY291bnQiOiJEZXBlbmRzIG9uIHRoZSBzZWxlY3RlZCB0eXBlLiIsYWRkcmVzczoiUmVnaXN0ZXIgYWRkcmVzcyB0byB2ZXJpZnkuIixrZXk6IktleSB0byBiZSB1c2VkIGFzIHRoZSBhdHRyaWJ1dGUga2V5IGZvciB0aGUgcGxhdGZvcm0gaW5zdGFuY2UuIiwiZGF0YS1rZXlzIjoiRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgZnVuY3Rpb24gY29kZXMgYW5kIGRhdGEgdHlwZXMgY2xpY2sgb24gaGVscCBpY29uIixtb2RpZmllcjoiVGhlIHJldHJpZXZlZCB2YWx1ZSB3aWxsIGJlIGFkanVzdGVkIChieSBtdWx0aXBseWluZyBvciBkaXZpZGluZyBpdCkgYmFzZWQgb24gdGhlIHNwZWNpZmllZCBtb2RpZmllciB2YWx1ZS4ifX19fSxSbz17ImFkZC1lbnRyeSI6Itil2LbYp9mB2Kkg2KrZg9mI2YrZhiIsYWR2YW5jZWQ6ItmF2KrZgtiv2YUiLCJjaGVja2luZy1kZXZpY2UtYWN0aXZpdHkiOiLZgdit2LUg2YbYtNin2Lcg2KfZhNis2YfYp9iyIixjb21tYW5kOiLYo9mI2KfZhdixIERvY2tlciIsImNvbW1hbmQtY29waWVkLW1lc3NhZ2UiOiLYqtmFINmG2LPYriDYo9mF2LEgRG9ja2VyINil2YTZiSDYp9mE2K3Yp9mB2LjYqSIsY29uZmlndXJhdGlvbjoi2KfZhNiq2YPZiNmK2YYiLCJjb25uZWN0b3ItYWRkIjoi2KXYttin2YHYqSDZhdmI2LXZhCDYrNiv2YrYryIsImNvbm5lY3Rvci1lbmFibGVkIjoi2KrZhdmD2YrZhiDYp9mE2YXZiNi12YQiLCJjb25uZWN0b3ItbmFtZSI6Itin2LPZhSDYp9mE2YXZiNi12YQiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6Itin2LPZhSDYp9mE2YXZiNi12YQg2YXYt9mE2YjYqC4iLCJjb25uZWN0b3ItdHlwZSI6ItmG2YjYuSDYp9mE2YXZiNi12YQiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6ItmG2YjYuSDYp9mE2YXZiNi12YQg2YXYt9mE2YjYqC4iLGNvbm5lY3RvcnM6Itin2YTZhdmI2LXZhNin2KoiLCJjb25uZWN0b3JzLWNvbmZpZyI6Itiq2YPZiNmK2YbYp9iqINin2YTZhdmI2LXZhNin2KoiLCJjb25uZWN0b3JzLXRhYmxlLWVuYWJsZWQiOiLZhdmF2YPZkdmGIiwiY29ubmVjdG9ycy10YWJsZS1uYW1lIjoi2KfZhNin2LPZhSIsImNvbm5lY3RvcnMtdGFibGUtdHlwZSI6Itin2YTZhtmI2LkiLCJjb25uZWN0b3JzLXRhYmxlLXN0YXR1cyI6Itin2YTYrdin2YTYqSIsImNvbm5lY3RvcnMtdGFibGUtYWN0aW9ucyI6Itin2YTYpdis2LHYp9ih2KfYqiIsImNvbm5lY3RvcnMtdGFibGUta2V5Ijoi2KfZhNmF2YHYqtin2K0iLCJjb25uZWN0b3JzLXRhYmxlLWNsYXNzIjoi2KfZhNmB2KbYqSIsInJwYy1jb21tYW5kLXNlbmQiOiLYpdix2LPYp9mEIiwicnBjLWNvbW1hbmQtcmVzdWx0Ijoi2KfZhNin2LPYqtis2KfYqNipIiwicnBjLWNvbW1hbmQtZWRpdC1wYXJhbXMiOiLYqtit2LHZitixINin2YTZhdi52YTZhdin2KoiLCJnYXRld2F5LWNvbmZpZ3VyYXRpb24iOiLYqtmD2YjZitmGINi52KfZhSIsImRvY2tlci1sYWJlbCI6Itin2LPYqtiu2K/ZhSDYp9mE2KrYudmE2YrZhdin2Kog2KfZhNiq2KfZhNmK2Kkg2YTYqti02LrZitmEIElvVCBHYXRld2F5INmB2YogRG9ja2VyIGNvbXBvc2Ug2YXYuSDYqNmK2KfZhtin2Kog2KfYudiq2YXYp9ivINmE2YTYrNmH2KfYsiDYp9mE2YXYrdiv2K8iLCJpbnN0YWxsLWRvY2tlci1jb21wb3NlIjoi2KfYs9iq2K7Yr9mFINin2YTYqti52YTZitmF2KfYqiDZhNiq2YbYstmK2YQg2YjYqtir2KjZitiqINmI2KXYudiv2KfYryBkb2NrZXIgY29tcG9zZSIsImRvd25sb2FkLWNvbmZpZ3VyYXRpb24tZmlsZSI6Itiq2YbYstmK2YQg2YXZhNmBINin2YTYqtmD2YjZitmGIiwiZG93bmxvYWQtZG9ja2VyLWNvbXBvc2UiOiLYqtmG2LLZitmEIGRvY2tlci1jb21wb3NlLnltbCDZhNio2YjYp9io2KrZgyIsImxhdW5jaC1nYXRld2F5Ijoi2KrYtNi62YrZhCDYp9mE2KjZiNin2KjYqSIsImxhdW5jaC1kb2NrZXItY29tcG9zZSI6Itio2K/YoSDYqti02LrZitmEINin2YTYqNmI2KfYqNipINio2KfYs9iq2K7Yr9in2YUg2KfZhNij2YXYsSDYp9mE2KrYp9mE2Yog2YHZiiDYp9mE2LfYsdmB2YrYqSDZhdmGINin2YTZhdis2YTYryDYp9mE2LDZiiDZitit2KrZiNmKINi52YTZiSDZhdmE2YEgZG9ja2VyLWNvbXBvc2UueW1sIiwiY3JlYXRlLW5ldy1nYXRld2F5Ijoi2KXZhti02KfYoSDYqNmI2KfYqNipINis2K/Zitiv2KkiLCJjcmVhdGUtbmV3LWdhdGV3YXktdGV4dCI6ItmH2YQg2KPZhtiqINmF2KrYo9mD2K8g2KPZhtmDINiq2LHZitivINil2YbYtNin2KEg2KjZiNin2KjYqSDYrNiv2YrYr9ipINio2KfYs9mFOiAne3tnYXRld2F5TmFtZX19J9ifIiwiY3JlYXRlZC10aW1lIjoi2YjZgtiqINin2YTYpdmG2LTYp9ihIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWhlYWRlciI6Itiz2YrYqtmFINit2LDZgSDYp9mE2KrZg9mI2YrZhtin2KoiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctYm9keSI6ItmK2YXZg9mGINiq2LnYt9mK2YQg2KfZhNiq2YPZiNmK2YYg2LnZhiDYqNmP2LnYryDZgdmC2Lcg2KXYsNinINmD2KfZhiDZh9mG2KfZgyDZiNi12YjZhCDYrNiz2K/ZiiDYpdmE2Ykg2KfZhNio2YjYp9io2KkuINiz2KrYqtmFINit2LDZgSDYrNmF2YrYuSDYp9mE2KrZg9mI2YrZhtin2Kog2KfZhNiz2KfYqNmC2KkuPGJyPjxicj4gXG4g2YTYqti52LfZitmEINin2YTYqtmD2YjZitmG2Iwg2KPYr9iu2YQg2KfYs9mFINin2YTYqNmI2KfYqNipINij2K/Zhtin2YciLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaW5wdXQiOiLYp9iz2YUg2KfZhNio2YjYp9io2KkiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaW5wdXQtcmVxdWlyZWQiOiLYp9iz2YUg2KfZhNio2YjYp9io2Kkg2KXZhNiy2KfZhdmKIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWNvbmZpcm0iOiLYpdmK2YLYp9mBINin2YTYqti02LrZitmEIixkZWxldGU6Itit2LDZgSDYp9mE2KrZg9mI2YrZhiIsImRvd25sb2FkLXRpcCI6Itiq2YbYstmK2YQg2YXZhNmBINin2YTYqtmD2YjZitmGIiwiZHJvcC1maWxlIjoi2KPZgdmE2YIg2KfZhNmF2YTZgSDZh9mG2Kcg2KPZiCIsZ2F0ZXdheToi2KfZhNio2YjYp9io2KkiLCJnYXRld2F5LWV4aXN0cyI6Itin2YTYrNmH2KfYsiDYqNmG2YHYsyDYp9mE2KfYs9mFINmF2YjYrNmI2K8g2KjYp9mE2YHYudmELiIsImdhdGV3YXktbmFtZSI6Itin2LPZhSDYp9mE2KjZiNin2KjYqSIsImdhdGV3YXktbmFtZS1yZXF1aXJlZCI6Itin2LPZhSDYp9mE2KjZiNin2KjYqSDZhdi32YTZiNioLiIsImdhdGV3YXktc2F2ZWQiOiLYqtmFINit2YHYuCDYqtmD2YjZitmGINin2YTYqNmI2KfYqNipINio2YbYrNin2K0uIixncnBjOiJHUlBDIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQiOiLZhdmH2YTYqSDYp9mE2KjZgtin2KEg2LnZhNmJINmC2YrYryDYp9mE2K3Zitin2KkgKNio2KfZhNmF2YTZhNmKINir2KfZhtmK2KkpIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcmVxdWlyZWQiOiLZhdmH2YTYqSDYp9mE2KjZgtin2KEg2LnZhNmJINmC2YrYryDYp9mE2K3Zitin2Kkg2YXYt9mE2YjYqNipIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtbWluIjoi2YXZh9mE2Kkg2KfZhNio2YLYp9ihINi52YTZiSDZgtmK2K8g2KfZhNit2YrYp9ipINmE2Kcg2YrZhdmD2YYg2KPZhiDYqtmD2YjZhiDYo9mC2YQg2YXZhiAxIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcGF0dGVybiI6ItmF2YfZhNipINin2YTYqNmC2KfYoSDYudmE2Ykg2YLZitivINin2YTYrdmK2KfYqSDYutmK2LEg2LXYp9mE2K3YqSIsImdycGMta2VlcC1hbGl2ZSI6Itin2YTYqNmC2KfYoSDYudmE2Ykg2YLZitivINin2YTYrdmK2KfYqSAo2KjYp9mE2YXZhNmE2Yog2KvYp9mG2YrYqSkiLCJncnBjLWtlZXAtYWxpdmUtcmVxdWlyZWQiOiLYp9mE2KjZgtin2KEg2LnZhNmJINmC2YrYryDYp9mE2K3Zitin2Kkg2YXYt9mE2YjYqCIsImdycGMta2VlcC1hbGl2ZS1taW4iOiLYp9mE2KjZgtin2KEg2LnZhNmJINmC2YrYryDYp9mE2K3Zitin2Kkg2YTYpyDZitmF2YPZhiDYo9mGINmK2YPZiNmGINij2YLZhCDZhdmGIDEiLCJncnBjLWtlZXAtYWxpdmUtcGF0dGVybiI6Itin2YTYqNmC2KfYoSDYudmE2Ykg2YLZitivINin2YTYrdmK2KfYqSDYutmK2LEg2LXYp9mE2K0iLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MiOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTZhNmI2YLYqiDYqNmK2YYg2KfZhNio2YrZhti62KfYqiAo2KjYp9mE2YXZhNmE2Yog2KvYp9mG2YrYqSkiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcmVxdWlyZWQiOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTZhNmI2YLYqiDYqNmK2YYg2KfZhNio2YrZhti62KfYqiDZhdi32YTZiNioIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLW1pbiI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNmE2YjZgtiqINio2YrZhiDYp9mE2KjZitmG2LrYp9iqINmE2Kcg2YrZhdmD2YYg2KPZhiDZitmD2YjZhiDYo9mC2YQg2YXZhiAxIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLXBhdHRlcm4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTZhNmI2YLYqiDYqNmK2YYg2KfZhNio2YrZhti62KfYqiDYutmK2LEg2LXYp9mE2K0iLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YSI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNmB2KfYtdmEINin2YTYqNmK2YbYuiDYqNiv2YjZhiDYqNmK2KfZhtin2KogKNio2KfZhNmF2YTZhNmKINir2KfZhtmK2KkpIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcmVxdWlyZWQiOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTZgdin2LXZhCDYp9mE2KjZitmG2Log2KjYr9mI2YYg2KjZitin2YbYp9iqINmF2LfZhNmI2KgiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1taW4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTZgdin2LXZhCDYp9mE2KjZitmG2Log2KjYr9mI2YYg2KjZitin2YbYp9iqINmE2Kcg2YrZhdmD2YYg2KPZhiDZitmD2YjZhiDYo9mC2YQg2YXZhiAxIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcGF0dGVybiI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNmB2KfYtdmEINin2YTYqNmK2YbYuiDYqNiv2YjZhiDYqNmK2KfZhtin2Kog2LrZitixINi12KfZhNitIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINin2YTYqNmK2YbYutin2Kog2KjYr9mI2YYg2KjZitin2YbYp9iqIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXJlcXVpcmVkIjoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINin2YTYqNmK2YbYutin2Kog2KjYr9mI2YYg2KjZitin2YbYp9iqINmF2LfZhNmI2KgiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtbWluIjoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINin2YTYqNmK2YbYutin2Kog2KjYr9mI2YYg2KjZitin2YbYp9iqINmE2Kcg2YrZhdmD2YYg2KPZhiDZitmD2YjZhiDYo9mC2YQg2YXZhiAxIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiLYp9mE2K3YryDYp9mE2KPZgti12Ykg2YTYudiv2K8g2KfZhNio2YrZhti62KfYqiDYqNiv2YjZhiDYqNmK2KfZhtin2Kog2LrZitixINi12KfZhNitIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcyI6ItmB2KrYsdipINmB2K3YtSDYp9mE2K7ZhdmI2YQgKNio2KfZhNir2YjYp9mG2YopIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1yZXF1aXJlZCI6ItmB2KrYsdipINmB2K3YtSDYp9mE2K7ZhdmI2YQg2YXYt9mE2YjYqNipIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1taW4iOiLZgdiq2LHYqSDZgdit2LUg2KfZhNiu2YXZiNmEINmE2Kcg2YrZhdmD2YYg2KPZhiDYqtmD2YjZhiDYo9mC2YQg2YXZhiAxIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1wYXR0ZXJuIjoi2YHYqtix2Kkg2YHYrdi1INin2YTYrtmF2YjZhCDYutmK2LEg2LXYp9mE2K3YqSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzIjoi2YHYqtix2Kkg2KfZhNiu2YXZiNmEICjYqNin2YTYq9mI2KfZhtmKKSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLXJlcXVpcmVkIjoi2YHYqtix2Kkg2KfZhNiu2YXZiNmEINmF2LfZhNmI2KjYqSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLW1pbiI6ItmB2KrYsdipINin2YTYrtmF2YjZhCDZhNinINmK2YXZg9mGINij2YYg2KrZg9mI2YYg2KPZgtmEINmF2YYgMSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLXBhdHRlcm4iOiLZgdiq2LHYqSDYp9mE2K7ZhdmI2YQg2LrZitixINi12KfZhNit2KkiLCJqc29uLXBhcnNlIjoiSlNPTiDYutmK2LEg2LXYp9mE2K0uIiwianNvbi1yZXF1aXJlZCI6Itin2YTYrdmC2YQg2YTYpyDZitmF2YPZhiDYo9mGINmK2YPZiNmGINmB2KfYsdi62YvYpy4iLGxvZ3M6e2xvZ3M6Itin2YTYs9is2YTYp9iqIixkYXlzOiLYo9mK2KfZhSIsaG91cnM6Itiz2KfYudin2KoiLG1pbnV0ZXM6Itiv2YLYp9im2YIiLHNlY29uZHM6Itir2YjYp9mG2YoiLCJkYXRlLWZvcm1hdCI6Itiq2YbYs9mK2YIg2KfZhNiq2KfYsdmK2K4iLCJkYXRlLWZvcm1hdC1yZXF1aXJlZCI6Itiq2YbYs9mK2YIg2KfZhNiq2KfYsdmK2K4g2YXYt9mE2YjYqCIsImxvZy1mb3JtYXQiOiLYqtmG2LPZitmCINin2YTYs9is2YQiLCJsb2ctdHlwZSI6ItmG2YjYuSDYp9mE2LPYrNmEIiwibG9nLWZvcm1hdC1yZXF1aXJlZCI6Itiq2YbYs9mK2YIg2KfZhNiz2KzZhCDZhdi32YTZiNioIixyZW1vdGU6Itin2YTYqtiz2KzZitmEINi52YYg2KjZj9i52K8iLCJyZW1vdGUtbG9ncyI6Itin2YTYs9is2YTYp9iqINi52YYg2KjZj9i52K8iLGxvY2FsOiLYp9mE2KrYs9is2YrZhCDYp9mE2YXYrdmE2YoiLGxldmVsOiLZhdiz2KrZiNmJINin2YTYs9is2YQiLCJmaWxlLXBhdGgiOiLZhdiz2KfYsSDYp9mE2YXZhNmBIiwiZmlsZS1wYXRoLXJlcXVpcmVkIjoi2YXYs9in2LEg2KfZhNmF2YTZgSDZhdi32YTZiNioIiwic2F2aW5nLXBlcmlvZCI6ItmB2KrYsdipINit2YHYuCDYp9mE2LPYrNmEIiwic2F2aW5nLXBlcmlvZC1taW4iOiLZgdiq2LHYqSDYrdmB2Lgg2KfZhNiz2KzZhCDZhNinINmK2YXZg9mGINij2YYg2KrZg9mI2YYg2KPZgtmEINmF2YYgMSIsInNhdmluZy1wZXJpb2QtcmVxdWlyZWQiOiLZgdiq2LHYqSDYrdmB2Lgg2KfZhNiz2KzZhCDZhdi32YTZiNio2KkiLCJiYWNrdXAtY291bnQiOiLYudiv2K8g2KfZhNmG2LPYriDYp9mE2KfYrdiq2YrYp9i32YrYqSIsImJhY2t1cC1jb3VudC1taW4iOiLYudiv2K8g2KfZhNmG2LPYriDYp9mE2KfYrdiq2YrYp9i32YrYqSDZhNinINmK2YXZg9mGINij2YYg2YrZg9mI2YYg2KPZgtmEINmF2YYgMSIsImJhY2t1cC1jb3VudC1yZXF1aXJlZCI6Iti52K/YryDYp9mE2YbYs9iuINin2YTYp9it2KrZitin2LfZitipINmF2LfZhNmI2KgifSwibWluLXBhY2stc2VuZC1kZWxheSI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNiq2KPYrtmK2LEg2KXYsdiz2KfZhCDYp9mE2K3YstmF2KkgKNio2KfZhNmF2YTZhNmKINir2KfZhtmK2KkpIiwibWluLXBhY2stc2VuZC1kZWxheS1yZXF1aXJlZCI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNiq2KPYrtmK2LEg2KXYsdiz2KfZhCDYp9mE2K3YstmF2Kkg2YXYt9mE2YjYqCIsIm1pbi1wYWNrLXNlbmQtZGVsYXktbWluIjoi2YTYpyDZitmF2YPZhiDYo9mGINmK2YPZiNmGINin2YTYrdivINin2YTYo9iv2YbZiSDZhNiq2KPYrtmK2LEg2KXYsdiz2KfZhCDYp9mE2K3YstmF2Kkg2KPZgtmEINmF2YYgMCIsIm5vLWNvbm5lY3RvcnMiOiLZhNinINiq2YjYrNivINmF2YjYtdmE2KfYqiIsIm5vLWRhdGEiOiLZhNinINiq2YjYrNivINiq2YPZiNmK2YbYp9iqIiwibm8tZ2F0ZXdheS1mb3VuZCI6ItmE2YUg2YrYqtmFINin2YTYudir2YjYsSDYudmE2Ykg2KjZiNin2KjYqS4iLCJuby1nYXRld2F5LW1hdGNoaW5nIjoiJ3t7aXRlbX19JyDYutmK2LEg2YXZiNis2YjYry4iLCJwYXRoLWxvZ3MiOiLZhdiz2KfYsSDYpdmE2Ykg2YXZhNmB2KfYqiDYp9mE2LPYrNmEIiwicGF0aC1sb2dzLXJlcXVpcmVkIjoi2KfZhNmF2LPYp9ixINmF2LfZhNmI2KguIiwicGVybWl0LXdpdGhvdXQtY2FsbHMiOiLYp9mE2KjZgtin2KEg2LnZhNmJINin2YTYrdmK2KfYqSDZitiz2YXYrSDYqNiv2YjZhiDZhdmD2KfZhNmF2KfYqiIscmVtb3RlOiLYp9mE2KrZg9mI2YrZhiDYudmGINio2Y/YudivIiwicmVtb3RlLWxvZ2dpbmctbGV2ZWwiOiLZhdiz2KrZiNmJINin2YTYqtiz2KzZitmEIiwicmVtb3ZlLWVudHJ5Ijoi2KXYstin2YTYqSDYp9mE2KrZg9mI2YrZhiIsInJlbW90ZS1zaGVsbCI6ItmC2LTYsdipINi52YYg2KjZj9i52K8iLCJyZW1vdGUtY29uZmlndXJhdGlvbiI6Itin2YTYqtmD2YjZitmGINi52YYg2KjZj9i52K8iLG90aGVyOiLYotiu2LEiLCJzYXZlLXRpcCI6Itit2YHYuCDZhdmE2YEg2KfZhNiq2YPZiNmK2YYiLCJzZWN1cml0eS10eXBlIjoi2YbZiNi5INin2YTYo9mF2KfZhiIsInNlY3VyaXR5LXR5cGVzIjp7ImFjY2Vzcy10b2tlbiI6Itix2YXYsiDYp9mE2YjYtdmI2YQiLCJ1c2VybmFtZS1wYXNzd29yZCI6Itin2LPZhSDYp9mE2YXYs9iq2K7Yr9mFINmI2YPZhNmF2Kkg2KfZhNmF2LHZiNixIix0bHM6IlRMUyIsInRscy1hY2Nlc3MtdG9rZW4iOiJUTFMgKyDYsdmF2LIg2KfZhNmI2LXZiNmEIiwidGxzLXByaXZhdGUta2V5IjoiVExTICsg2KfZhNmF2YHYqtin2K0g2KfZhNiu2KfYtSJ9LCJzZXJ2ZXItcG9ydCI6ItmF2YbZgdiwINin2YTYrtin2K/ZhSIsc3RhdGlzdGljczp7c3RhdGlzdGljOiLYpdit2LXYp9im2YrYqSIsc3RhdGlzdGljczoi2KfZhNil2K3Ytdin2KbZitin2KoiLCJzdGF0aXN0aWMtY29tbWFuZHMtZW1wdHkiOiLZhNinINiq2KrZiNmB2LEg2KXYrdi12KfYptmK2KfYqiIsY29tbWFuZHM6Itin2YTYo9mI2KfZhdixIiwic2VuZC1wZXJpb2QiOiLZgdiq2LHYqSDYpdix2LPYp9mEINin2YTYpdit2LXYp9im2YrYp9iqICjYqNin2YTYq9mI2KfZhtmKKSIsInNlbmQtcGVyaW9kLXJlcXVpcmVkIjoi2YHYqtix2Kkg2KXYsdiz2KfZhCDYp9mE2KXYrdi12KfYptmK2KfYqiDZhdi32YTZiNio2KkiLCJzZW5kLXBlcmlvZC1taW4iOiLZhNinINmK2YXZg9mGINij2YYg2KrZg9mI2YYg2YHYqtix2Kkg2KXYsdiz2KfZhCDYp9mE2KXYrdi12KfYptmK2KfYqiDYo9mC2YQg2YXZhiA2MCIsInNlbmQtcGVyaW9kLXBhdHRlcm4iOiLZgdiq2LHYqSDYpdix2LPYp9mEINin2YTYpdit2LXYp9im2YrYp9iqINi62YrYsSDYtdin2YTYrdipIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uIjoi2YHYqtix2Kkg2YHYrdi1INiq2YPZiNmK2YYg2KfZhNmF2YjYtdmE2KfYqiAo2KjYp9mE2KvZiNin2YbZiikiLCJjaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tcmVxdWlyZWQiOiLZgdiq2LHYqSDZgdit2LUg2KrZg9mI2YrZhiDYp9mE2YXZiNi12YTYp9iqINmF2LfZhNmI2KjYqSIsImNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbi1taW4iOiLZhNinINmK2YXZg9mGINij2YYg2KrZg9mI2YYg2YHYqtix2Kkg2YHYrdi1INiq2YPZiNmK2YYg2KfZhNmF2YjYtdmE2KfYqiDYo9mC2YQg2YXZhiAxIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXBhdHRlcm4iOiLZgdiq2LHYqSDZgdit2LUg2KrZg9mI2YrZhiDYp9mE2YXZiNi12YTYp9iqINi62YrYsSDYtdin2YTYrdipIixhZGQ6Itil2LbYp9mB2Kkg2KPZhdixIix0aW1lb3V0OiLYp9mE2YXZh9mE2KkiLCJ0aW1lb3V0LW1zIjoi2KfZhNmF2YfZhNipICjYqNin2YTZhdmE2YTZiiDYq9in2YbZitipKSIsInRpbWVvdXQtcmVxdWlyZWQiOiLYp9mE2YXZh9mE2Kkg2YXYt9mE2YjYqNipIiwidGltZW91dC1taW4iOiLZhNinINmK2YXZg9mGINij2YYg2KrZg9mI2YYg2KfZhNmF2YfZhNipINij2YLZhCDZhdmGIDEiLCJ0aW1lb3V0LXBhdHRlcm4iOiLYp9mE2YXZh9mE2Kkg2LrZitixINi12KfZhNit2KkiLCJhdHRyaWJ1dGUtbmFtZSI6Itin2LPZhSDYp9mE2LPZhdipIiwiYXR0cmlidXRlLW5hbWUtcmVxdWlyZWQiOiLYp9iz2YUg2KfZhNiz2YXYqSDZhdi32YTZiNioIixjb21tYW5kOiLYp9mE2KPZhdixIiwiY29tbWFuZC1yZXF1aXJlZCI6Itin2YTYo9mF2LEg2YXYt9mE2YjYqCIsImNvbW1hbmQtcGF0dGVybiI6Itin2YTYo9mF2LEg2LrZitixINi12KfZhNitIixyZW1vdmU6Itil2LLYp9mE2Kkg2KfZhNij2YXYsSJ9LHN0b3JhZ2U6Itin2YTYqtiu2LLZitmGIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoi2KfZhNiz2KzZhNin2Kog2KfZhNmC2LXZiNmJINmB2Yog2KfZhNmF2YTZgSIsInN0b3JhZ2UtbWF4LWZpbGVzIjoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINin2YTZhdmE2YHYp9iqIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoi2KfZhNit2K8g2KfZhNij2K/ZhtmJINmH2YggMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoi2KfZhNi52K/YryDYutmK2LEg2LXYp9mE2K0uIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiLYp9mE2LnYr9ivINmF2LfZhNmI2KguIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Itin2YTYs9is2YTYp9iqINin2YTZgti12YjZiSDZgdmKINin2YTYqtiu2LLZitmGIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1taW4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTYudiv2K8g2KfZhNiz2KzZhNin2Kog2YfZiCAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6Itin2YTYudiv2K8g2LrZitixINi12KfZhNitLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiLYp9mE2LPYrNmE2KfYqiDYp9mE2YLYtdmI2Ykg2YXYt9mE2YjYqNipLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQiOiLYudiv2K8g2YLYsdin2KHYqSDYp9mE2LPYrNmE2KfYqiDZgdmKINin2YTYqtiu2LLZitmGIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1taW4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTYudiv2K8g2KfZhNiz2KzZhNin2Kog2YfZiCAxLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVybiI6Itin2YTYudiv2K8g2LrZitixINi12KfZhNitLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcmVxdWlyZWQiOiLYudiv2K8g2YLYsdin2KHYqSDYp9mE2LPYrNmE2KfYqiDZhdi32YTZiNioLiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50Ijoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINmC2LHYp9ih2Kkg2KfZhNiz2KzZhNin2Kog2YHZiiDYp9mE2KrYrtiy2YrZhiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LW1pbiI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNi52K/YryDYp9mE2LPYrNmE2KfYqiDZh9mIIDEuIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVybiI6Itin2YTYudiv2K8g2LrZitixINi12KfZhNitLiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkIjoi2LnYr9ivINin2YTZgtix2KfYodipINin2YTZgti12YjZiSDZhdi32YTZiNioLiIsInN0b3JhZ2UtZGF0YS1mb2xkZXItcGF0aCI6ItmF2LPYp9ixINmF2KzZhNivINin2YTYqNmK2KfZhtin2KoiLCJzdG9yYWdlLWRhdGEtZm9sZGVyLXBhdGgtcmVxdWlyZWQiOiLZhdiz2KfYsSDZhdis2YTYryDYp9mE2KjZitin2YbYp9iqINmF2LfZhNmI2KguIiwic3RvcmFnZS1wYWNrLXNpemUiOiLYp9mE2K3YryDYp9mE2KPZgti12Ykg2YTYrdis2YUg2K3YstmF2Kkg2KfZhNit2K/YqyIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZh9mIIDEuIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6Itin2YTYudiv2K8g2LrZitixINi12KfZhNitLiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoi2KfZhNit2KzZhSDYp9mE2KPZgti12Ykg2YTYrdiy2YXYqSDYp9mE2K3Yr9irINmF2LfZhNmI2KguIiwic3RvcmFnZS1wYXRoIjoi2YXYs9in2LEg2KfZhNiq2K7YstmK2YYiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiLZhdiz2KfYsSDYp9mE2KrYrtiy2YrZhiDZhdi32YTZiNioLiIsInN0b3JhZ2UtdHlwZSI6ItmG2YjYuSDYp9mE2KrYrtiy2YrZhiIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoi2KrYrtiy2YrZhiDYp9mE2YXZhNmB2KfYqiIsIm1lbW9yeS1zdG9yYWdlIjoi2KrYrtiy2YrZhiDYp9mE2LDYp9mD2LHYqSIsc3FsaXRlOiJTUUxJVEUifSx0aGluZ3Nib2FyZDoi2KvZitmG2LrYstio2YjYsdivIixnZW5lcmFsOiLYudin2YUiLCJ0aGluZ3Nib2FyZC1ob3N0Ijoi2YXYttmK2YEg2KvZitmG2LrYstio2YjYsdivIiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6Itin2YTZhdi22YrZgSDZhdi32YTZiNioLiIsInRoaW5nc2JvYXJkLXBvcnQiOiLZhdmG2YHYsCDYq9mK2YbYutiy2KjZiNix2K8iLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6Itin2YTYrdivINin2YTYo9mC2LXZiSDZhNix2YLZhSDYp9mE2YXZhtmB2LAg2YfZiCA2NTUzNS4iLCJ0aGluZ3Nib2FyZC1wb3J0LW1pbiI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNix2YLZhSDYp9mE2YXZhtmB2LAg2YfZiCAxLiIsInRoaW5nc2JvYXJkLXBvcnQtcGF0dGVybiI6Itin2YTZhdmG2YHYsCDYutmK2LEg2LXYp9mE2K0uIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6Itin2YTZhdmG2YHYsCDZhdi32YTZiNioLiIsdGlkeToi2KrYsdiq2YrYqCIsInRpZHktdGlwIjoi2KrYsdiq2YrYqCDYqtmD2YjZitmGIEpTT04iLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiLYqtmD2YjZitmGINmF2YjYtdmEIHt7dHlwZU5hbWV9fSIsInRscy1wYXRoLWNhLWNlcnRpZmljYXRlIjoi2KfZhNmF2LPYp9ixINil2YTZiSDYtNmH2KfYr9ipIENBINi52YTZiSDYp9mE2KjZiNin2KjYqSIsInRscy1wYXRoLWNsaWVudC1jZXJ0aWZpY2F0ZSI6Itin2YTZhdiz2KfYsSDYpdmE2Ykg2LTZh9in2K/YqSDYp9mE2LnZhdmK2YQg2LnZhNmJINin2YTYqNmI2KfYqNipIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzIjoi2YHYrdi1IFRUTCDYp9mE2LHYs9in2KbZhCDYqNin2YTYs9in2LnYp9iqIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXJlcXVpcmVkIjoi2YrYrNioINiq2K3Yr9mK2K8g2YHYrdi1IFRUTCDYp9mE2LHYs9in2KbZhCDYqNin2YTYs9in2LnYp9iqLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1taW4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YfZiCAxLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1wYXR0ZXJuIjoi2KfZhNix2YLZhSDYutmK2LEg2LXYp9mE2K0uIiwibWVzc2FnZXMtdHRsLWluLWRheXMiOiJUVEwg2KfZhNix2LPYp9im2YQg2KjYp9mE2KPZitin2YUiLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1yZXF1aXJlZCI6ItmK2KzYqCDYqtit2K/ZitivIFRUTCDYp9mE2LHYs9in2KbZhCDYqNin2YTYo9mK2KfZhS4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1taW4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YfZiCAxLiIsIm1lc3NhZ2VzLXR0bC1pbi1kYXlzLXBhdHRlcm4iOiLYp9mE2LHZgtmFINi62YrYsSDYtdin2YTYrS4iLCJtcXR0LXFvcyI6Itis2YjYr9ipINin2YTYrtiv2YXYqSAoUW9TKSIsIm1xdHQtcW9zLXJlcXVpcmVkIjoi2KzZiNiv2Kkg2KfZhNiu2K/ZhdipIChRb1MpINmF2LfZhNmI2KjYqSIsIm1xdHQtcW9zLXJhbmdlIjoi2KrYqtix2KfZiNitINmC2YrZhSDYrNmI2K/YqSDYp9mE2K7Yr9mF2KkgKFFvUykg2YXZhiAwINil2YTZiSAxIiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiLYp9mE2YXYs9in2LEg2KXZhNmJINin2YTZhdmB2KrYp9itINin2YTYrtin2LUg2LnZhNmJINin2YTYqNmI2KfYqNipIiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiLYqtio2K/ZitmEINmI2LbYuSDZhdmE2KEg2KfZhNi02KfYtNipIiwidHJhbnNmb3JtZXItanNvbi1jb25maWciOiLYqtmD2YjZitmGIEpTT04qIiwidXBkYXRlLWNvbmZpZyI6Itil2LbYp9mB2Kkv2KrYrdiv2YrYqyDYqtmD2YjZitmGIEpTT04iLGhpbnRzOnsicmVtb3RlLWNvbmZpZ3VyYXRpb24iOiLZitmF2YPZhtmDINiq2YXZg9mK2YYg2KfZhNiq2YPZiNmK2YYg2YjYpdiv2KfYsdipINin2YTYqNmI2KfYqNipINi52YYg2KjZj9i52K8iLCJyZW1vdGUtc2hlbGwiOiLZitmF2YPZhtmDINiq2YXZg9mK2YYg2KfZhNiq2K3Zg9mFINin2YTYqNi52YrYryDZgdmKINmG2LjYp9mFINin2YTYqti02LrZitmEINmF2Lkg2KfZhNio2YjYp9io2Kkg2YXZhiDYudmG2LXYsSDZiNin2KzZh9ipINin2YTZhdiz2KrYrtiv2YUg2YLYtNix2Kkg2LnZhiDYqNmP2LnYryIsaG9zdDoi2KfYs9mFINin2YTZhdi22YrZgSDYo9mIINi52YbZiNin2YYgSVAg2YTYrtin2K/ZhSDYq9mK2YbYutiy2KjZiNix2K8iLHBvcnQ6ItmF2YbZgdiwINiu2K/ZhdipIE1RVFQg2LnZhNmJINiu2KfYr9mFINir2YrZhti62LLYqNmI2LHYryIsdG9rZW46Itix2YXYsiDYp9mE2YjYtdmI2YQg2YTZhNio2YjYp9io2Kkg2YXZhiDYrtin2K/ZhSDYq9mK2YbYutiy2KjZiNix2K8iLCJjbGllbnQtaWQiOiLZhdi52LHZgSDYudmF2YrZhCBNUVRUINmE2YTYqNmI2KfYqNipINmF2YYg2K7Yp9iv2YUg2KvZitmG2LrYstio2YjYsdivIix1c2VybmFtZToi2KfYs9mFINin2YTZhdiz2KrYrtiv2YUgTVFUVCDZhNmE2KjZiNin2KjYqSDZhdmGINiu2KfYr9mFINir2YrZhti62LLYqNmI2LHYryIscGFzc3dvcmQ6ItmD2YTZhdipINin2YTZhdix2YjYsSBNUVRUINmE2YTYqNmI2KfYqNipINmF2YYg2K7Yp9iv2YUg2KvZitmG2LrYstio2YjYsdivIiwiY2EtY2VydCI6Itin2YTZhdiz2KfYsSDYpdmE2Ykg2YXZhNmBINi02YfYp9iv2KkgQ0EiLCJkYXRlLWZvcm0iOiLYqtmG2LPZitmCINin2YTYqtin2LHZitiuINmB2Yog2LHYs9in2YTYqSDYp9mE2LPYrNmEIiwiZGF0YS1mb2xkZXIiOiLYp9mE2YXYs9in2LEg2KXZhNmJINin2YTZhdis2YTYryDYp9mE2LDZiiDYs9mK2K3YqtmI2Yog2LnZhNmJINin2YTYqNmK2KfZhtin2KogKNmG2LPYqNmKINij2Ygg2YXYt9mE2YIpIiwibG9nLWZvcm1hdCI6Itiq2YbYs9mK2YIg2LHYs9in2YTYqSDYp9mE2LPYrNmEIiwicmVtb3RlLWxvZyI6ItmK2YXZg9mG2YMg2KrZhdmD2YrZhiDYp9mE2KrYs9is2YrZhCDYp9mE2KjYudmK2K8g2YjZgtix2KfYodipINin2YTYs9is2YTYp9iqINmF2YYg2KfZhNio2YjYp9io2KkiLCJiYWNrdXAtY291bnQiOiLYpdiw2Kcg2YPYp9mGINi52K/YryDYp9mE2YbYs9iuINin2YTYp9it2KrZitin2LfZitipID4gMNiMINi52YbYryDYudmF2YTZitipINiq2K/ZiNmK2LHYjCDZhNinINmK2KrZhSDYp9mE2KfYrdiq2YHYp9i4INio2KPZg9ir2LEg2YXZhiDYudiv2K8g2KfZhNmG2LPYriDYp9mE2KfYrdiq2YrYp9i32YrYqSDYp9mE2YXYrdiv2K/YqSAtINmK2KrZhSDYrdiw2YEg2KfZhNij2YLYr9mFIixzdG9yYWdlOiLZitmI2YHYsSDYqtmD2YjZitmG2YvYpyDZhNit2YHYuCDYp9mE2KjZitin2YbYp9iqINin2YTZiNin2LHYr9ipINmC2KjZhCDYpdix2LPYp9mE2YfYpyDYpdmE2Ykg2KfZhNmF2YbYtdipIiwibWF4LWZpbGUtY291bnQiOiLYp9mE2LnYr9ivINin2YTYo9mC2LXZiSDZhNi52K/YryDYp9mE2YXZhNmB2KfYqiDYp9mE2KrZiiDYs9mK2KrZhSDYpdmG2LTYp9ik2YfYpyIsIm1heC1yZWFkLWNvdW50Ijoi2LnYr9ivINin2YTYsdiz2KfYptmEINmE2YTYrdi12YjZhCDYudmE2YrZh9inINmF2YYg2KfZhNiq2K7YstmK2YYg2YjYpdix2LPYp9mE2YfYpyDYpdmE2Ykg2KvZitmG2LrYstio2YjYsdivIiwibWF4LXJlY29yZHMiOiLYp9mE2LnYr9ivINin2YTYo9mC2LXZiSDZhNmE2LPYrNmE2KfYqiDYp9mE2KrZiiDYs9iq2K7YstmGINmB2Yog2YXZhNmBINmI2KfYrdivIiwicmVhZC1yZWNvcmQtY291bnQiOiLYudiv2K8g2KfZhNix2LPYp9im2YQg2YTZhNit2LXZiNmEINi52YTZitmH2Kcg2YXZhiDYp9mE2KrYrtiy2YrZhiDZiNil2LHYs9in2YTZh9inINil2YTZiSDYq9mK2YbYutiy2KjZiNix2K8iLCJtYXgtcmVjb3Jkcy1jb3VudCI6Itin2YTYudiv2K8g2KfZhNij2YLYtdmJINmE2YTYqNmK2KfZhtin2Kog2YHZiiDYp9mE2KrYrtiy2YrZhiDZgtio2YQg2KXYsdiz2KfZhNmH2Kcg2KXZhNmJINir2YrZhti62LLYqNmI2LHYryIsInR0bC1jaGVjay1ob3VyIjoi2YPZhSDZhdix2Kkg2LPZitiq2K3ZgtmCINin2YTYqNmI2KfYqNipINmF2YYg2KfZhNio2YrYp9mG2KfYqiDYp9mE2YLYr9mK2YXYqSIsInR0bC1tZXNzYWdlcy1kYXkiOiLYp9mE2K3YryDYp9mE2KPZgti12Ykg2YTYudiv2K8g2KfZhNij2YrYp9mFINin2YTYqtmKINiz2KrYrdiq2YHYuCDZgdmK2YfYpyDYp9mE2KrYrtiy2YrZhiDYqNin2YTYqNmK2KfZhtin2KoiLGNvbW1hbmRzOiLYp9mE2KPZiNin2YXYsSDZhNis2YXYuSDYp9mE2KXYrdi12KfYptmK2KfYqiDYp9mE2KXYttin2YHZitipIixhdHRyaWJ1dGU6ItmF2YHYqtin2K0g2KrZhNmC2Yog2KfZhNil2K3Ytdin2KbZitin2KoiLHRpbWVvdXQ6ItmF2YfZhNipINiy2YXZhtmK2Kkg2YTYqtmG2YHZitiwINin2YTYo9mF2LEiLGNvbW1hbmQ6Itiz2YrYqtmFINin2LPYqtiu2K/Yp9mFINmG2KrZitis2Kkg2KrZhtmB2YrYsCDYp9mE2KPZhdixINmD2YLZitmF2Kkg2YTYqtmE2YLZiiDYp9mE2KXYrdi12KfYptmK2KfYqiIsImNoZWNrLWRldmljZS1hY3Rpdml0eSI6ItmK2YXZg9mG2YMg2KrZhdmD2YrZhiDZhdix2KfZgtio2Kkg2YbYtNin2Lcg2YPZhCDYrNmH2KfYsiDZhdiq2LXZhCIsImluYWN0aXZpdHktdGltZW91dCI6Itin2YTZiNmC2Kog2KjYudivINin2YTYsNmKINiz2KrZgdi12YQg2KfZhNio2YjYp9io2Kkg2KfZhNis2YfYp9iyIiwiaW5hY3Rpdml0eS1wZXJpb2QiOiLYqtmD2LHYp9ixINmB2K3YtSDZhti02KfYtyDYp9mE2KzZh9in2LIiLCJtaW5pbWFsLXBhY2stZGVsYXkiOiLYp9mE2KrYo9iu2YrYsSDYqNmK2YYg2KXYsdiz2KfZhCDYrdiy2YUg2KfZhNix2LPYp9im2YQgKNmK2KTYr9mKINiq2YLZhNmK2YQg2YfYsNinINin2YTYpdi52K/Yp9ivINil2YTZiSDYstmK2KfYr9ipINin2LPYqtiu2K/Yp9mFINmI2K3Yr9ipINin2YTZhdi52KfZhNis2Kkg2KfZhNmF2LHZg9iy2YrYqSkiLHFvczoi2KzZiNiv2Kkg2KfZhNiu2K/ZhdipINmB2Yog2LHYs9in2KbZhCBNUVRUICgwIC0g2LnZhNmJINin2YTYo9mD2KvYsSDZhdix2Kkg2YjYp9it2K/YqdiMIDEgLSDYudmE2Ykg2KfZhNij2YLZhCDZhdix2Kkg2YjYp9it2K/YqSkiLCJzZXJ2ZXItcG9ydCI6ItmF2YbZgdiwINin2YTYtNio2YPYqSDYp9mE2LDZiiDYs9mK2LPYqtmF2Lkg2YHZitmHINiu2KfYr9mFIEdSUEMg2YTZhNin2LPYqtmB2LPYp9ix2KfYqiDYp9mE2YjYp9ix2K/YqS4iLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dCI6Itin2YTYrdivINin2YTYo9mC2LXZiSDZhNmE2YjZgtiqINin2YTYsNmKINmK2KzYqCDYo9mGINmK2YbYqti42LHZhyDYp9mE2K7Yp9iv2YUg2YTYp9iz2KrYrNin2KjYqSDYsdiz2KfZhNipINin2YTYrdmB2KfYuCDYudmE2Ykg2KfZhNin2KrYtdin2YQg2YLYqNmEINin2LnYqtio2KfYsSDYp9mE2KfYqti12KfZhCDZhdmK2KrZi9inLiIsImdycGMta2VlcC1hbGl2ZSI6Itin2YTZhdiv2Kkg2KjZitmGINix2LPYp9im2YQg2K3Zgdi4INin2YTYp9iq2LXYp9mEINin2YTZhdiq2LnYp9mC2KjYqSDYudmG2K8g2LnYr9mFINmI2KzZiNivINin2LPYqtiv2LnYp9ihIFJQQyDZhti02LcuIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzIjoi2KfZhNit2K8g2KfZhNij2K/ZhtmJINmE2YTZiNmC2Kog2KfZhNiw2Yog2YrYrNioINmB2YrZhyDYo9mGINmK2YbYqti42LEg2KfZhNiu2KfYr9mFINio2YrZhiDYpdix2LPYp9mEINix2LPYp9im2YQg2K3Zgdi4INin2YTYp9iq2LXYp9mEIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINix2LPYp9im2YQg2K3Zgdi4INin2YTYp9iq2LXYp9mEINin2YTYqtmKINmK2YXZg9mGINmE2YTYrtin2K/ZhSDYpdix2LPYp9mE2YfYpyDYr9mI2YYg2KrZhNmC2Yog2KPZiiDYqNmK2KfZhtin2Kog2YLYqNmEINin2LnYqtio2KfYsSDYp9mE2KfYqti12KfZhCDZhdmK2KrZi9inLiIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhIjoi2KfZhNit2K8g2KfZhNij2K/ZhtmJINmE2YTZiNmC2Kog2KfZhNiw2Yog2YrYrNioINmB2YrZhyDYo9mGINmK2YbYqti42LEg2KfZhNiu2KfYr9mFINio2YrZhiDYpdix2LPYp9mEINix2LPYp9im2YQg2K3Zgdi4INin2YTYp9iq2LXYp9mEINi52YbYryDYudiv2YUg2KXYsdiz2KfZhCDYo9mIINin2LPYqtmE2KfZhSDYqNmK2KfZhtin2KouIiwicGVybWl0LXdpdGhvdXQtY2FsbHMiOiLYp9mE2LPZhdin2K0g2YTZhNiu2KfYr9mFINio2KXYqNmC2KfYoSDYp9iq2LXYp9mEIEdSUEMg2K3ZitmL2Kcg2K3YqtmJINi52YbYr9mF2Kcg2YTYpyDYqtmD2YjZhiDZh9mG2KfZgyDYp9iz2KrYr9i52KfYodin2KogUlBDINmG2LTYt9ipLiJ9fSxWbz17ImFkZC1lbnRyeSI6IkFmZWdpciBjb25maWd1cmFjacOzIiwiY29ubmVjdG9yLWFkZCI6IkFmZWdpciBjb25lY3RvciIsImNvbm5lY3Rvci1lbmFibGVkIjoiQWN0aXZhciBjb25lY3RvciIsImNvbm5lY3Rvci1uYW1lIjoiTm9tIGNvbmVjdG9yIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiJDYWwgbm9tIGNvbmVjdG9yLiIsImNvbm5lY3Rvci10eXBlIjoiVGlwdXMgY29uZWN0b3IiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IkNhbCB0aXB1cyBjb25lY3Rvci4iLGNvbm5lY3RvcnM6IkNvbmZpZ3VyYWNpw7MgZGUgY29uZWN0b3JzIiwiY3JlYXRlLW5ldy1nYXRld2F5IjoiQ3JlYXIgdW4gZ2F0ZXdheSBub3UiLCJjcmVhdGUtbmV3LWdhdGV3YXktdGV4dCI6IkNyZWFyIHVuIG5vdSBnYXRld2F5IGFtYiBlbCBub206ICd7e2dhdGV3YXlOYW1lfX0nPyIsZGVsZXRlOiJFc2JvcnJhciBjb25maWd1cmFjacOzIiwiZG93bmxvYWQtdGlwIjoiRGVzY2FycmVnYXIgZml0eGVyIGRlIGNvbmZpZ3VyYWNpw7MiLGdhdGV3YXk6IkdhdGV3YXkiLCJnYXRld2F5LWV4aXN0cyI6IkphIGV4aXN0ZWl4IHVuIGRpc3Bvc2l0aXUgYW1iIGVsIG1hdGVpeCBub20uIiwiZ2F0ZXdheS1uYW1lIjoiTm9tIGRlIEdhdGV3YXkiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJDYWwgdW4gbm9tIGRlIGdhdGV3YXkuIiwiZ2F0ZXdheS1zYXZlZCI6IkNvbmZpZ3VyYWNpw7MgZGUgZ2F0ZXdheSBncmF2YWRhIHNhdGlzZmFjdMOycmlhbWVudC4iLCJqc29uLXBhcnNlIjoiSlNPTiBubyB2w6BsaWQuIiwianNvbi1yZXF1aXJlZCI6IkVsIGNhbXAgbm8gcG90IHNlciBidWl0LiIsIm5vLWNvbm5lY3RvcnMiOiJObyBoaSBoYSBjb25lY3RvcnMiLCJuby1kYXRhIjoiTm8gaGkgaGEgY29uZmlndXJhY2lvbnMiLCJuby1nYXRld2F5LWZvdW5kIjoiTm8gcydoYSB0cm9iYXQgY2FwIGdhdGV3YXkuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5vIHRyb2JhdC4iLCJwYXRoLWxvZ3MiOiJSdXRhIGFscyBmaXR4ZXJzIGRlIGxvZyIsInBhdGgtbG9ncy1yZXF1aXJlZCI6IkNhbCBydXRhLiIscmVtb3RlOiJDb25maWd1cmFjacOzIHJlbW90YSIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoiTml2ZWwgZGUgbG9nZ2luZyIsInJlbW92ZS1lbnRyeSI6IkVzYm9ycmFyIGNvbmZpZ3VyYWNpw7MiLCJzYXZlLXRpcCI6IkdyYXZhciBmaXR4ZXIgZGUgY29uZmlndXJhY2nDsyIsInNlY3VyaXR5LXR5cGUiOiJUaXB1cyBkZSBzZWd1cmV0YXQiLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJUb2tlbiBkJ2FjY8OpcyIsdGxzOiJUTFMifSxzdG9yYWdlOiJHcmFiYWNpw7MiLCJzdG9yYWdlLW1heC1maWxlLXJlY29yZHMiOiJOw7ptZXJvIG3DoHhpbSBkZSByZWdpc3RyZXMgZW4gZml0eGVyIiwic3RvcmFnZS1tYXgtZmlsZXMiOiJOw7ptZXJvIG3DoHhpbSBkZSBmaXR4ZXJzIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoiRWwgbsO6bWVybyBtw61uaW0gw6lzIDEuIiwic3RvcmFnZS1tYXgtZmlsZXMtcGF0dGVybiI6Ik7Dum1lcm8gbm8gdsOgbGlkLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXJlcXVpcmVkIjoiQ2FsIG7Dum1lcm8uIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik3DoHhpbSBkZSByZWdpc3RyZXMgZW4gZWwgbWFnYXR6ZW0iLCJzdG9yYWdlLW1heC1yZWNvcmRzLW1pbiI6IkVsIG7Dum1lcm8gbcOtbmltIMOpcyAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6Ik7Dum1lcm8gbm8gdsOgbGlkLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJDYWwgbsO6bWVyby4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6Ik1pZGEgbcOgeGltIGRlIGVzZGV2ZW5pbWVudHMiLCJzdG9yYWdlLXBhY2stc2l6ZS1taW4iOiJFbCBuw7ptZXJvIG3DrW5pbSDDqXMgMS4iLCJzdG9yYWdlLXBhY2stc2l6ZS1wYXR0ZXJuIjoiTsO6bWVybyBubyB2w6BsaWQuIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiJDYWwgbsO6bWVyby4iLCJzdG9yYWdlLXBhdGgiOiJSdXRhIGRlIG1hZ2F0emVtIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoiQ2FsIHJ1dGEgZGUgbWFnYXR6ZW0uIiwic3RvcmFnZS10eXBlIjoiVGlwdXMgZGUgbWFnYXR6ZW0iLCJzdG9yYWdlLXR5cGVzIjp7ImZpbGUtc3RvcmFnZSI6Ik1hZ2F0emVtIGZpdHhlciIsIm1lbW9yeS1zdG9yYWdlIjoiTWFnYXR6ZW0gZW4gbWVtb3JpYSJ9LHRoaW5nc2JvYXJkOiJUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QiOiJIb3N0IFRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6IkNhbCBIb3N0LiIsInRoaW5nc2JvYXJkLXBvcnQiOiJQb3J0IFRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtcG9ydC1tYXgiOiJFbCBwb3J0IG3DoHhpbSDDqXMgNjU1MzUuIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiJFbCBwb3J0IG3DrW5pbSDDqXMgMS4iLCJ0aGluZ3Nib2FyZC1wb3J0LXBhdHRlcm4iOiJQb3J0IG5vIHbDoGxpZC4iLCJ0aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkIjoiQ2FsIHBvcnQuIix0aWR5OiJFbmRyZcOnYXQiLCJ0aWR5LXRpcCI6IkVuZHJlw6dhdCBKU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoiQ29uZmlndXJhY2nDsyBjb25lY3RvciB7e3R5cGVOYW1lfX0iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IlJ1dGEgYWwgY2VydGlmaWNhdCBDQSBhbCBnYXRld2F5IiwidGxzLXBhdGgtY2xpZW50LWNlcnRpZmljYXRlIjoiUnV0YSBhbCBjZXJ0aWZpY2F0IGNsaWVudCBhbCBnYXRld2F5IiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiJSdXRhIGEgbGEgY2xhdSBwcml2YWRhIGFsIGdhdGV3YXkiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlBhbnRhbGxhIGNvbXBsZXRhIGZ1bGxzY3JlZW4iLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IkNvbmZpZ3VyYWNpw7MgSlNPTioiLCJ1cGRhdGUtY29uZmlnIjoiQWZlZ2lyL2FjdHVhbGl6YXIgY29uZmlndXJhY2nDsyBKU09OIn0sQm89eyJhZGQtZW50cnkiOiJQxZlpZGF0IGtvbmZpZ3VyYWNpIiwiY29ubmVjdG9yLWFkZCI6IlDFmWlkYXQgbm92w70ga29uZWt0b3IiLCJjb25uZWN0b3ItZW5hYmxlZCI6IlBvdm9saXQga29uZWt0b3IiLCJjb25uZWN0b3ItbmFtZSI6Ik7DoXpldiBrb25la3RvcnUiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6Ik7DoXpldiBrb25la3RvcnUgamUgcG92aW5uw70uIiwiY29ubmVjdG9yLXR5cGUiOiJUeXAga29uZWt0b3J1IiwiY29ubmVjdG9yLXR5cGUtcmVxdWlyZWQiOiJUeXAga29uZWt0b3J1IGplIHBvdmlubsO9LiIsY29ubmVjdG9yczoiS29uZmlndXJhY2Uga29uZWt0b3J1IiwiY3JlYXRlLW5ldy1nYXRld2F5IjoiVnl0dm/FmWl0IG5vdm91IGJyw6FudSIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiSnN0ZSBzaSBqaXN0aSwgxb5lIGNoY2V0ZSB2eXR2b8WZaXQgbm92b3UgYnLDoW51IHMgbsOhenZlbTogJ3t7Z2F0ZXdheU5hbWV9fSc/IixkZWxldGU6IlNtYXphdCBrb25maWd1cmFjaSIsImRvd25sb2FkLXRpcCI6IlN0w6Fobm91dCBzb3Vib3Iga29uZmlndXJhY2UiLGdhdGV3YXk6IkJyw6FuYSIsImdhdGV3YXktZXhpc3RzIjoiWmHFmcOtemVuw60gc2Ugc2hvZG7DvW0gbsOhenZlbSBqacW+IGV4aXN0dWplLiIsImdhdGV3YXktbmFtZSI6Ik7DoXpldiBicsOhbnkiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJOw6F6ZXYgYnLDoW55IGplIHBvdmlubsO9LiIsImdhdGV3YXktc2F2ZWQiOiJLb25maWd1cmFjZSBicsOhbnkgYnlsYSDDunNwxJvFoW7EmyB1bG/FvmVuYS4iLCJqc29uLXBhcnNlIjoiTmVwbGF0bsO9IEpTT04uIiwianNvbi1yZXF1aXJlZCI6IlBvbGUgbmVtxa/FvmUgYsO9dCBwcsOhemRuw6kuIiwibm8tY29ubmVjdG9ycyI6IsW9w6FkbsOpIGtvbmVrdG9yeSIsIm5vLWRhdGEiOiLFvcOhZG7DqSBrb25maWd1cmFjZSIsIm5vLWdhdGV3YXktZm91bmQiOiLFvcOhZG7DqSBicsOhbnkgbmVieWx5IG5hbGV6ZW55LiIsIm5vLWdhdGV3YXktbWF0Y2hpbmciOiIgJ3t7aXRlbX19JyBuZW5hbGV6ZW5hLiIsInBhdGgtbG9ncyI6IkNlc3RhIGsgc291Ym9yxa9tIGxvZ3UiLCJwYXRoLWxvZ3MtcmVxdWlyZWQiOiJDZXN0YSBqZSBwb3Zpbm7DoS4iLHJlbW90ZToiVnpkw6FsZW7DoSBrb25maWd1cmFjZSIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoiw5pyb3ZlxYggbG9nb3bDoW7DrSIsInJlbW92ZS1lbnRyeSI6Ik9kc3RyYW5pdCBrb25maWd1cmFjaSIsInNhdmUtdGlwIjoiVWxvxb5pdCBzb3Vib3Iga29uZmlndXJhY2UiLCJzZWN1cml0eS10eXBlIjoiVHlwIHphYmV6cGXEjWVuw60iLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJQxZnDrXN0dXBvdsO9IHRva2VuIix0bHM6IlRMUyJ9LHN0b3JhZ2U6IsOabG/FvmnFoXTEmyIsInN0b3JhZ2UtbWF4LWZpbGUtcmVjb3JkcyI6Ik1heGltw6FsbsOtIHBvxI1ldCB6w6F6bmFtxa8gdiBzb3Vib3J1Iiwic3RvcmFnZS1tYXgtZmlsZXMiOiJNYXhpbcOhbG7DrSBwb8SNZXQgc291Ym9yxa8iLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiJNaW5pbcOhbG7DrSBwb8SNZXQgamUgMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiUG/EjWV0IG5lbsOtIHBsYXRuw70uIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiJQb8SNZXQgamUgcG92aW5uw70uIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik1heGltw6FsbsOtIHBvxI1ldCB6w6F6bmFtxa8gdiDDumxvxb5pxaF0aSIsInN0b3JhZ2UtbWF4LXJlY29yZHMtbWluIjoiTWluaW3DoWxuw60gcG/EjWV0IHrDoXpuYW3FryBqZSAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6IlBvxI1ldCBuZW7DrSBwbGF0bsO9LiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJNYXhpbcOhbG7DrSBwb8SNZXQgesOhem5hbcWvIGplIHBvdmlubsO9LiIsInN0b3JhZ2UtcGFjay1zaXplIjoiTWF4aW3DoWxuw60gdmVsaWtvc3Qgc291Ym9ydSB1ZMOhbG9zdMOtIiwic3RvcmFnZS1wYWNrLXNpemUtbWluIjoiTWluaW3DoWxuw60gcG/EjWV0IGplIDEuIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6IlBvxI1ldCBuZW7DrSBwbGF0bsO9LiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoiTWF4aW3DoWxuw60gdmVsaWtvc3Qgc291Ym9ydSB1ZMOhbG9zdMOtIGplIHBvdmlubsOhLiIsInN0b3JhZ2UtcGF0aCI6IkNlc3RhIGsgw7psb8W+acWhdGkiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiJDZXN0YSBrIMO6bG/FvmnFoXRpIGplIHBvdmlubsOhLiIsInN0b3JhZ2UtdHlwZSI6IlR5cCDDumxvxb5pxaF0xJsiLCJzdG9yYWdlLXR5cGVzIjp7ImZpbGUtc3RvcmFnZSI6IlNvdWJvciIsIm1lbW9yeS1zdG9yYWdlIjoiUGFtxJvFpSJ9LHRoaW5nc2JvYXJkOiJUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QiOiJIb3N0IFRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6Ikhvc3QgamUgcG92aW5uw70uIiwidGhpbmdzYm9hcmQtcG9ydCI6IlBvcnQgVGhpbmdzQm9hcmQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6Ik1heGltw6FsbsOtIMSNw61zbG8gcG9ydHUgamUgNjU1MzUuIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiJNaW5pbcOhbG7DrSDEjcOtc2xvIHBvcnR1IGplIDEuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiUG9ydCBuZW7DrSBwbGF0bsO9LiIsInRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWQiOiJQb3J0IGplIHBvdmlubsO9LiIsdGlkeToiVXNwb8WZw6FkYXQiLCJ0aWR5LXRpcCI6IlVzcG/FmcOhZGF0IEpTT04ga29uZmlndXJhY2kiLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiJLb25maWd1cmFjZSB7e3R5cGVOYW1lfX0ga29uZWt0b3J1IiwidGxzLXBhdGgtY2EtY2VydGlmaWNhdGUiOiJDZXN0YSBrIGNlcnRpZmlrw6F0dSBDQSBicsOhbnkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiJDZXN0YSBrIGNlcnRpZmlrw6F0dSBrbGllbnRhIGJyw6FueSIsInRscy1wYXRoLXByaXZhdGUta2V5IjoiQ2VzdGEgayBwcml2w6F0bsOtbXUga2zDrcSNaSBicsOhbnkiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlDFmWVwbm91dCBkbyByZcW+aW11IGNlbMOpIG9icmF6b3ZreSIsInRyYW5zZm9ybWVyLWpzb24tY29uZmlnIjoiSlNPTioga29uZmlndXJhY2UiLCJ1cGRhdGUtY29uZmlnIjoiUMWZaWRhdC9lZGl0b3ZhdCBKU09OIGtvbmZpZ3VyYWNpIn0sVW89eyJhZGQtZW50cnkiOiJUaWxmw7hqIGtvbmZpZ3VyYXRpb24iLCJjb25uZWN0b3ItYWRkIjoiVGlsZsO4aiBueSBzdGlrZm9yYmluZGVsc2UiLCJjb25uZWN0b3ItZW5hYmxlZCI6IkFrdGl2w6lyIHN0aWtmb3JiaW5kZWxzZSIsImNvbm5lY3Rvci1uYW1lIjoiTmF2biBww6Ugc3Rpa2ZvcmJpbmRlbHNlIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiJOYXZuIHDDpSBzdGlrZm9yYmluZGVsc2UgZXIgcMOla3LDpnZldC4iLCJjb25uZWN0b3ItdHlwZSI6IlN0aWtmb3JiaW5kZWxzZXN0eXBlIiwiY29ubmVjdG9yLXR5cGUtcmVxdWlyZWQiOiJTdGlrZm9yYmluZGVsc2VzdHlwZSBlciBww6VrcsOmdmV0LiIsY29ubmVjdG9yczoiS29uZmlndXJhdGlvbiBhZiBzdGlrZm9yYmluZGVsc2VyIiwiY3JlYXRlLW5ldy1nYXRld2F5IjoiT3ByZXQgZW4gbnkgZ2F0ZXdheSIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiIixkZWxldGU6IlNsZXQga29uZmlndXJhdGlvbiIsImRvd25sb2FkLXRpcCI6IkRvd25sb2FkIGtvbmZpZ3VyYXRpb25zZmlsIixnYXRld2F5OiJHYXRld2F5IiwiZ2F0ZXdheS1leGlzdHMiOiJFbmhlZCBtZWQgc2FtbWUgbmF2biBmaW5kZXMgYWxsZXJlZGUuIiwiZ2F0ZXdheS1uYW1lIjoiR2F0ZXdheS1uYXZuIiwiZ2F0ZXdheS1uYW1lLXJlcXVpcmVkIjoiR2F0ZXdheS1uYXZuIGVyIHDDpWtyw6Z2ZXQuIiwiZ2F0ZXdheS1zYXZlZCI6IkdhdGV3YXkta29uZmlndXJhdGlvbmVuIGJsZXYgZ2VtdC4iLCJqc29uLXBhcnNlIjoiSWtrZSBneWxkaWcgSlNPTi4iLCJqc29uLXJlcXVpcmVkIjoiRmVsdGV0IG3DpSBpa2tlIHbDpnJlIHRvbXQuIiwibm8tY29ubmVjdG9ycyI6IkluZ2VuIHN0aWtmb3JiaW5kZWxzZXIiLCJuby1kYXRhIjoiSW5nZW4ga29uZmlndXJhdGlvbmVyIiwibm8tZ2F0ZXdheS1mb3VuZCI6IkluZ2VuIGdhdGV3YXkgZnVuZGV0LiIsIm5vLWdhdGV3YXktbWF0Y2hpbmciOiIiLCJwYXRoLWxvZ3MiOiJTdGkgdGlsIGxvZ2ZpbGVyIiwicGF0aC1sb2dzLXJlcXVpcmVkIjoiU3RpIGVyIHDDpWtyw6Z2ZXQuIixyZW1vdGU6IkZqZXJua29uZmlndXJhdGlvbiIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoiTG9nZsO4cmluZ3NuaXZlYXUiLCJyZW1vdmUtZW50cnkiOiJGamVybiBrb25maWd1cmF0aW9uIiwic2F2ZS10aXAiOiJHZW0ga29uZmlndXJhdGlvbnNmaWwiLCJzZWN1cml0eS10eXBlIjoiU2lra2VyaGVkc3R5cGUiLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJBZGdhbmdzdG9rZW4iLHRsczoiVExTIn0sc3RvcmFnZToiTGFncmluZyIsInN0b3JhZ2UtbWF4LWZpbGUtcmVjb3JkcyI6Ik1ha3MuIGFudGFsIHBvc3RlciBpIGZpbCIsInN0b3JhZ2UtbWF4LWZpbGVzIjoiTWFrcy4gYW50YWwgZmlsZXIiLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiJNaW4uIGFudGFsIGVyIDEuIiwic3RvcmFnZS1tYXgtZmlsZXMtcGF0dGVybiI6IkFudGFsIGVyIGlra2UgZ3lsZGlndC4iLCJzdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZCI6IkFudGFsIGVyIHDDpWtyw6Z2ZXQuIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik1ha3MuIGFudGFsIHBvc3RlciBpIGxhZ3JpbmciLCJzdG9yYWdlLW1heC1yZWNvcmRzLW1pbiI6Ik1pbi4gYW50YWwgcG9zdGVyIGVyIDEuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoiQW50YWwgZXIgaWtrZSBneWxkaWd0LiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJNYWtzLiBhbnRhbCBwb3N0ZXIgZXIgcMOla3LDpnZldC4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6Ik1ha3MuIGFudGFsIHBha2tlc3TDuHJyZWxzZSBmb3IgYmVnaXZlbmhlZCIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6Ik1pbi4gYW50YWwgZXIgMS4iLCJzdG9yYWdlLXBhY2stc2l6ZS1wYXR0ZXJuIjoiQW50YWwgZXIgaWtrZSBneWxkaWd0LiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoiTWFrcy4gYW50YWwgcGFra2VzdMO4cnJlbHNlIGZvciBiZWdpdmVuaGVkIGVyIHDDpWtyw6Z2ZXQuIiwic3RvcmFnZS1wYXRoIjoiTGFncmluZ3NzdGkiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiJMYWdyaW5nc3N0aSBlciBww6VrcsOmdmV0LiIsInN0b3JhZ2UtdHlwZSI6IkxhZ3JpbmdzdHlwZSIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoiTGFncmluZyBhZiBmaWx0ZXIiLCJtZW1vcnktc3RvcmFnZSI6IkxhZ3JpbmcgYWYgaHVrb21tZWxzZSJ9LHRoaW5nc2JvYXJkOiJUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QiOiJUaGluZ3NCb2FyZC12w6ZydCIsInRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWQiOiJWw6ZydCBlciBww6VrcsOmdmV0LiIsInRoaW5nc2JvYXJkLXBvcnQiOiJUaGluZ3NCb2FyZC1wb3J0IiwidGhpbmdzYm9hcmQtcG9ydC1tYXgiOiJNYWtzLiBwb3J0bnVtbWVyIGVyIDY1NTM1LiIsInRoaW5nc2JvYXJkLXBvcnQtbWluIjoiTWluLiBwb3J0bnVtbWVyIGVyIDEuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiUG9ydCBlciBpa2tlIGd5bGRpZy4iLCJ0aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkIjoiUG9ydCBlciBww6VrcsOmdmV0LiIsdGlkeToiVGlkeSIsInRpZHktdGlwIjoiVGlkeSBrb25maWcuIEpTT04iLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiIiLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IlN0aSB0aWwgQ0EtY2VydGlmaWthdCBww6UgZ2F0ZXdheSIsInRscy1wYXRoLWNsaWVudC1jZXJ0aWZpY2F0ZSI6IlN0aSB0aWwga2xpZW50Y2VydGlmaWthdCBww6UgZ2F0ZXdheSIsInRscy1wYXRoLXByaXZhdGUta2V5IjoiU3RpIHRpbCBwcml2YXQgbsO4Z2xlIHDDpSBnYXRld2F5IiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiJTa2lmdCB0aWwgZnVsZCBza8Omcm0iLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IktvbmZpZ3VyYXRpb24gSlNPTioiLCJ1cGRhdGUtY29uZmlnIjoiVGlsZsO4ai9vcGRhdGVyIGtvbmZpZ3VyYXRpb24gSlNPTiJ9LF9vPXsiYWRkLWVudHJ5IjoiQcOxYWRpciBjb25maWd1cmFjacOzbiIsYWR2YW5jZWQ6IkF2YW56YWRvIiwiY2hlY2tpbmctZGV2aWNlLWFjdGl2aXR5IjoiUHJvYmFuZG8gYWN0aXZpZGFkIGRlIGRpc3Bvc2l0aXZvIixjb21tYW5kOiJDb21hbmRvcyBEb2NrZXIiLCJjb21tYW5kLWNvcGllZC1tZXNzYWdlIjoiU2UgaGFuIGNvcGlhZG8gbG9zIGNvbWFuZG9zIGFsIHBvcnRhcGFwZWxlcyIsY29uZmlndXJhdGlvbjoiQ29uZmlndXJhY2nDs24iLCJjb25uZWN0b3ItYWRkIjoiQcOxYWRpciBjb25lY3RvciIsImNvbm5lY3Rvci1lbmFibGVkIjoiQWN0aXZhciBjb25lY3RvciIsImNvbm5lY3Rvci1uYW1lIjoiTm9tYnJlIGNvbmVjdG9yIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBub21icmUgY29uZWN0b3IuIiwiY29ubmVjdG9yLXR5cGUiOiJUaXBvIGNvbmVjdG9yIiwiY29ubmVjdG9yLXR5cGUtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSB0aXBvIGNvbmVjdG9yLiIsY29ubmVjdG9yczoiQ29uZWN0b3JlcyIsImNvbm5lY3RvcnMtY29uZmlnIjoiQ29uZmlndXJhY2nDs24gZGUgY29uZWN0b3JlcyIsImNvbm5lY3RvcnMtdGFibGUtZW5hYmxlZCI6IkVuYWJsZWQiLCJjb25uZWN0b3JzLXRhYmxlLW5hbWUiOiJOb21icmUiLCJjb25uZWN0b3JzLXRhYmxlLXR5cGUiOiJUaXBvIiwiY29ubmVjdG9ycy10YWJsZS1zdGF0dXMiOiJFc3RhZG8iLCJjb25uZWN0b3JzLXRhYmxlLWFjdGlvbnMiOiJBY2Npb25lcyIsImNvbm5lY3RvcnMtdGFibGUta2V5IjoiQ2xhdmUiLCJjb25uZWN0b3JzLXRhYmxlLWNsYXNzIjoiQ2xhc2UiLCJycGMtY29tbWFuZC1zZW5kIjoiRW52aWFyIiwicnBjLWNvbW1hbmQtcmVzdWx0IjoiUmVzdWx0YWRvIiwicnBjLWNvbW1hbmQtZWRpdC1wYXJhbXMiOiJFZGl0YXIgcGFyYW1ldHJvcyIsImdhdGV3YXktY29uZmlndXJhdGlvbiI6IkNvbmZpZ3VyYWNpw7NuIEdlbmVyYWwiLCJjcmVhdGUtbmV3LWdhdGV3YXkiOiJDcmVhciB1biBnYXRld2F5IG51ZXZvIiwiY3JlYXRlLW5ldy1nYXRld2F5LXRleHQiOiJDcmVhciB1biBudWV2byBnYXRld2F5IGNvbiBlbCBub21icmU6ICd7e2dhdGV3YXlOYW1lfX0nPyIsImNyZWF0ZWQtdGltZSI6IkhvcmEgZGUgY3JlYWNpw7NuIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWhlYWRlciI6IkxhcyBjb25maWd1cmFjaW9uZXMgc2UgYm9ycmFyw6FuIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWJvZHkiOiJTw7NsbyBlcyBwb3NpYmxlIGRlc2FjdGl2YXIgbGEgY29uZmlndXJhY2nDs24gcmVtb3RhLCBzaSBoYXkgYWNjZXNvIGbDrXNpY28gYWwgZ2F0ZXdheS4gU2UgYm9ycmFyw6FuIHRvZGFzIGxhcyBjb25maWd1cmFjaW9uZXMgcHJldmlhcy48YnI+PGJyPiBcblBhcmEgZGVzYWN0aXZhciBsYSBjb25maWd1cmFjacOzbiwgaW50cm9kdWNlIGVsIG5vbWJyZSBkZWwgZ2F0ZXdheSBhcXXDrSIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1pbnB1dCI6Ik5vbWJyZSBHYXRld2F5IiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0LXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgbm9tYnJlIGRlIGdhdGV3YXkiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctY29uZmlybSI6IkRlc2FjdGl2YXIiLGRlbGV0ZToiQm9ycmFyIGNvbmZpZ3VyYWNpw7NuIiwiZG93bmxvYWQtdGlwIjoiRGVzY2FyZ2FyIGZpY2hlcm8gZGUgY29uZmlndXJhY2nDs24iLCJkcm9wLWZpbGUiOiJBcnJhc3RyYSB1biBmaWNoZXJvIG8iLGdhdGV3YXk6IkdhdGV3YXkiLCJnYXRld2F5LWV4aXN0cyI6IllhIGV4aXN0ZSB1biBkaXNwb3NpdGl2byBjb24gZWwgbWlzbW8gbm9tYnJlLiIsImdhdGV3YXktbmFtZSI6Ik5vbWJyZSBkZSBHYXRld2F5IiwiZ2F0ZXdheS1uYW1lLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgdW4gbm9tYnJlIGRlIGdhdGV3YXkuIiwiZ2F0ZXdheS1zYXZlZCI6IkNvbmZpZ3VyYWNpw7NuIGRlIGdhdGV3YXkgZ3JhYmFkYSBzYXRpc2ZhY3RvcmlhbWVudGUuIixncnBjOiJHUlBDIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQiOiJUaW1lb3V0IEtlZXAgYWxpdmUgKGVuIG1zKSIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgVGltZW91dCBLZWVwIGFsaXZlIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtbWluIjoiRWwgdmFsb3Igbm8gcHVlZGUgc2VyIG1lbm9yIGRlIDEiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dC1wYXR0ZXJuIjoiRWwgdmFsb3Igbm8gZXMgdsOhbGlkbyIsImdycGMta2VlcC1hbGl2ZSI6IktlZXAgYWxpdmUgKGVuIG1zKSIsImdycGMta2VlcC1hbGl2ZS1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIGtlZXAgYWxpdmUiLCJncnBjLWtlZXAtYWxpdmUtbWluIjoiRWwgdmFsb3Igbm8gcHVlZGUgc2VyIG1lbm9yIGRlIDEiLCJncnBjLWtlZXAtYWxpdmUtcGF0dGVybiI6IkVsIHZhbG9yIGtlZXAgYWxpdmUgbm8gZXMgdsOhbGlkbyIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncyI6IlRpZW1wbyBtw61uaW1vIGVudHJlIHBpbmdzIChlbiBtcykiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSB0aWVtcG8gbcOtbmltbyBlbnRyZSBwaW5ncyIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1taW4iOiJFbCB2YWxvciBubyBwdWVkZSBzZXIgbWVub3IgZGUgMSIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1wYXR0ZXJuIjoiRWwgdmFsb3IgZGUgdGllbXBvIG3DrW5pbW8gZW50cmUgcGluZ3Mgbm8gZXMgdsOhbGlkbyIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhIjoiSW50ZXJ2YWxvIG3DrW5pbW8gc2luIGRhdG9zIChlbiBtcykiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIGludGVydmFsbyIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLW1pbiI6IkVsIHZhbG9yIG5vIHB1ZWRlIHNlciBtZW5vciBkZSAxIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcGF0dGVybiI6IkVsIHZhbG9yIGRlIGludGVydmFsbyBubyBlcyB2w6FsaWRvIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoiSW50ZXJ2YWxvIG3DoXhpbW8gc2luIGRhdG9zIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgaW50ZXJ2YWxvIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLW1pbiI6IkVsIHZhbG9yIG5vIHB1ZWRlIHNlciBtZW5vciBkZSAxIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiJFbCB2YWxvciBkZSBpbnRlcnZhbG8gbm8gZXMgdsOhbGlkbyIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMiOiJQZXJpb2RvIGRlIGNvbnRyb2wgZGUgaW5hY3RpdmlkYWQgKGVuIHNlZ3VuZG9zKSIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBwZXJpb2RvIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1taW4iOiJFbCB2YWxvciBubyBwdWVkZSBzZXIgbWVub3IgZGUgMSIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcGF0dGVybiI6IkVsIHZhbG9yIGRlbCBwZXJpb2RvIG5vIGVzIHbDoWxpZG8iLCJpbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcyI6IlRpbWVvdXQgZGUgaW5hY3RpdmlkYWQgKGVuIHNlZ3VuZG9zKSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgdGltZW91dCBkZSBpbmFjdGl2aWRhZCIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLW1pbiI6IkVsIHZhbG9yIG5vIHB1ZWRlIHNlciBtZW5vciBkZSAxIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcGF0dGVybiI6IkVsIHZhbG9yIGRlIGluYWN0aXZpZGFkIG5vIGVzIHbDoWxpZG8iLCJqc29uLXBhcnNlIjoiSlNPTiBubyB2w6FsaWRvLiIsImpzb24tcmVxdWlyZWQiOiJFbCBjYW1wbyBubyBwdWVkZSBlc3RhciB2YWPDrW8uIixsb2dzOntsb2dzOiJSZWdpc3Ryb3MiLGRheXM6ImTDrWFzIixob3VyczoiaG9yYXMiLG1pbnV0ZXM6Im1pbnV0b3MiLHNlY29uZHM6InNlZ3VuZG9zIiwiZGF0ZS1mb3JtYXQiOiJGb3JtYXRvIGRlIGZlY2hhIiwiZGF0ZS1mb3JtYXQtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBmb3JtYXRvIGRlIGZlY2hhIiwibG9nLWZvcm1hdCI6IkZvcm1hdG8gZGUgcmVnaXN0cm8iLCJsb2ctdHlwZSI6IlRpcG8gZGUgcmVnaXN0cm8iLCJsb2ctZm9ybWF0LXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgdGlwbyBkZSByZWdpc3RybyIscmVtb3RlOiJSZWdpc3RybyByZW1vdG8iLCJyZW1vdGUtbG9ncyI6IlJlZ2lzdHJvIHJlbW90byIsbG9jYWw6IlJlZ2lzdHJvIGxvY2FsIixsZXZlbDoiTml2ZWwgZGUgcmVnaXN0cm8iLCJmaWxlLXBhdGgiOiJSdXRhIGRlIGZpY2hlcm8iLCJmaWxlLXBhdGgtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBydXRhIGRlIGZpY2hlcm8iLCJzYXZpbmctcGVyaW9kIjoiUGVyaW9kbyBkZSBndWFyZGFkbyBkZSByZWdpc3Ryb3MiLCJzYXZpbmctcGVyaW9kLW1pbiI6IkVsIHBlcmlvZG8gbm8gcHVlZGUgc2VyIG1lbm9yIHF1ZSAxIiwic2F2aW5nLXBlcmlvZC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIHBlcmlvZG8gZGUgZ3VhcmRhZG8iLCJiYWNrdXAtY291bnQiOiJOw7ptZXJvIGRlIGJhY2t1cHMiLCJiYWNrdXAtY291bnQtbWluIjoiRWwgbsO6bWVybyBkZSBiYWNrdXBzIG5vIHB1ZWRlIHNlciBtZW5vciBxdWUgMSIsImJhY2t1cC1jb3VudC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIG7Dum1lcm8gZGUgYmFja3VwcyJ9LCJtaW4tcGFjay1zZW5kLWRlbGF5IjoiVGllbXBvIGRlIGVzcGVyYSwgZW52w61vIGRlIHBhcXVldGVzIChlbiBtcykiLCJtaW4tcGFjay1zZW5kLWRlbGF5LXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgdGllbXBvIGRlIGVzcGVyYSIsIm1pbi1wYWNrLXNlbmQtZGVsYXktbWluIjoiRWwgdGllbXBvIGRlIGVzcGVyYSBubyBwdWVkZSBzZXIgbWVub3IgcXVlIDAiLCJuby1jb25uZWN0b3JzIjoiTm8gaGF5IGNvbmVjdG9yZXMiLCJuby1kYXRhIjoiTm8gaGF5IGNvbmZpZ3VyYWNpb25lcyIsIm5vLWdhdGV3YXktZm91bmQiOiJObyBzZSBoYSBlbmNvbnRyYWRvIG5pbmfDum4gZ2F0ZXdheS4iLCJuby1nYXRld2F5LW1hdGNoaW5nIjoiICd7e2l0ZW19fScgbm8gZW5jb250cmFkby4iLCJwYXRoLWxvZ3MiOiJSdXRhIGEgbG9zIGFyY2hpdm9zIGRlIGxvZyIsInBhdGgtbG9ncy1yZXF1aXJlZCI6IlJ1dGEgcmVxdWVyaWRhLiIsInBlcm1pdC13aXRob3V0LWNhbGxzIjoiUGVybWl0aXIgS2VlcCBhbGl2ZSBzaSBsbGFtYWRhcyIscmVtb3RlOiJDb25maWd1cmFjacOzbiByZW1vdGEiLCJyZW1vdGUtbG9nZ2luZy1sZXZlbCI6Ik5pdmVsIGRlIGxvZ2dpbmciLCJyZW1vdmUtZW50cnkiOiJCb3JyYXIgY29uZmlndXJhY2nDs24iLCJyZW1vdGUtc2hlbGwiOiJDb25zb2xhIHJlbW90YSIsInJlbW90ZS1jb25maWd1cmF0aW9uIjoiQ29uZmlndXJhY2nDs24gcmVtb3RhIixvdGhlcjoib3Ryb3MiLCJzYXZlLXRpcCI6IkdyYWJhciBmaWNoZXJvIGRlIGNvbmZpZ3VyYWNpw7NuIiwic2VjdXJpdHktdHlwZSI6IlRpcG8gZGUgc2VndXJpZGFkIiwic2VjdXJpdHktdHlwZXMiOnsiYWNjZXNzLXRva2VuIjoiVMOza2VuIGRlIGFjY2VzbyIsInVzZXJuYW1lLXBhc3N3b3JkIjoiVXN1YXJpbyB5IGNvbnRyYXNlw7FhIix0bHM6IlRMUyIsInRscy1hY2Nlc3MtdG9rZW4iOiJUTFMgKyBUw7NrZW4gZGUgYWNjZXNvIiwidGxzLXByaXZhdGUta2V5IjoiVExTICsgQ2xhdmUgcHJpdmFkYSJ9LCJzZXJ2ZXItcG9ydCI6IlB1ZXJ0byBkZWwgc2Vydmlkb3IiLHN0YXRpc3RpY3M6e3N0YXRpc3RpYzoiRXN0YWTDrXN0aWNhIixzdGF0aXN0aWNzOiJFc3RhZMOtc3RpY2FzIiwic3RhdGlzdGljLWNvbW1hbmRzLWVtcHR5IjoiTm8gaGF5IGVzdGFkw61zdGljYXMiLGNvbW1hbmRzOiJDb21hbmRvcyIsInNlbmQtcGVyaW9kIjoiUGVyaW9kbyBkZSBlbnbDrW8gZGUgZXN0YWTDrXN0aWNhcyAoZW4gc2VndW5kb3MpIiwic2VuZC1wZXJpb2QtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBwZXJpb2RvIGRlIGVudsOtbyIsInNlbmQtcGVyaW9kLW1pbiI6IkVsIHBlcmlvZG8gZGUgZW52w61vIG5vIHB1ZWRlIHNlciBtZW5vciBkZSA2MCIsInNlbmQtcGVyaW9kLXBhdHRlcm4iOiJFbCBwZXJpb2RvIGRlIGVudsOtbyBubyBlcyB2w6FsaWRvIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uIjoiUmV2aXNhciBjb25maWd1cmFjacOzbiBkZSBjb25lY3RvcmVzIChlbiBzZWd1bmRvcykiLCJjaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tcmVxdWlyZWQiOiJTZSByZXF1aWVyZSB1biB2YWxvciIsImNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbi1taW4iOiJFbCB2YWxvciBubyBwdWVkZSBzZXIgbWVub3IgZGUgMSIsImNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbi1wYXR0ZXJuIjoiTGEgY29uZmlndXJhY2nDs24gbm8gZXMgdsOhbGlkYSIsYWRkOiJBw7FhZGlyIGNvbWFuZG8iLHRpbWVvdXQ6IlRpbWVvdXQiLCJ0aW1lb3V0LW1zIjoiVGltZW91dCAoZW4gbXMpIiwidGltZW91dC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIHRpbWVvdXQiLCJ0aW1lb3V0LW1pbiI6IkVsIHRpbWVvdXQgbm8gcHVlZGUgc2VyIG1lbm9yIGRlIDEiLCJ0aW1lb3V0LXBhdHRlcm4iOiJFbCB0aW1lb3V0IG5vIGVzIHbDoWxpZG8iLCJhdHRyaWJ1dGUtbmFtZSI6Ik5vbWJyZSBkZSBhdHJpYnV0byIsImF0dHJpYnV0ZS1uYW1lLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgbm9tYnJlIGRlIGF0cmlidXRvIixjb21tYW5kOiJDb21hbmRvIiwiY29tbWFuZC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIGNvbWFuZG8iLHJlbW92ZToiQm9ycmFyIGNvbWFuZG8ifSxzdG9yYWdlOiJHcmFiYWNpw7NuIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoiTsO6bWVybyBtw6F4aW1vIGRlIHJlZ2lzdHJvcyBlbiBmaWNoZXJvIiwic3RvcmFnZS1tYXgtZmlsZXMiOiJOw7ptZXJvIG3DoXhpbW8gZGUgZmljaGVyb3MiLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiJFbCBuw7ptZXJvIG3DrW5pbW8gZXMgMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiTsO6bWVybyBubyB2w6FsaWRvLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgbsO6bWVyby4iLCJzdG9yYWdlLW1heC1yZWNvcmRzIjoiTcOheGltbyBkZSByZWdpc3Ryb3MgZW4gZWwgYWxtYWPDqW4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLW1pbiI6IkVsIG7Dum1lcm8gbcOtbmltbyBlcyAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6Ik7Dum1lcm8gbm8gdsOhbGlkby4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgbsO6bWVyby4iLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50IjoiTGVlciBuw7ptZXJvIGRlIGVudHJhZGFzIGVuIGFsbWFjw6luIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1taW4iOiJFbCBuw7ptZXJvIG3DrW5pbW8gZGUgZW50cmFkYXMgZXMgMS4iLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm4iOiJFbCBuw7ptZXJvIG5vIGVzIHbDoWxpZG8uIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIG7Dum1lcm8gZGUgZW50cmFkYXMuIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQiOiJOw7ptZXJvIG3DoXhpbW8gZGUgZW50cmFkYXMgZW4gZWwgYWxtYWPDqW4iLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1taW4iOiJFbCBuw7ptZXJvIG3DrW5pbW8gZXMgMS4iLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1wYXR0ZXJuIjoiRWwgbsO6bWVybyBubyBlcyB2w6FsaWRvIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBuw7ptZXJvIG3DoXhpbW8gZGUgZW50cmFkYXMuIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoIjoiUnV0YSBkZSBjYXJwZXRhIGRlIGRhdG9zIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgcnV0YS4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6IlRhbWHDsW8gbcOheGltbyBkZSBldmVudG9zIiwic3RvcmFnZS1wYWNrLXNpemUtbWluIjoiRWwgbsO6bWVybyBtw61uaW1vIGVzIDEuIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6Ik7Dum1lcm8gbm8gdsOhbGlkby4iLCJzdG9yYWdlLXBhY2stc2l6ZS1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIG7Dum1lcm8uIiwic3RvcmFnZS1wYXRoIjoiUnV0YSBkZSBhbG1hY8OpbiIsInN0b3JhZ2UtcGF0aC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIHJ1dGEgZGUgYWxtYWPDqW4uIiwic3RvcmFnZS10eXBlIjoiVGlwbyBkZSBhbG1hY8OpbiIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoiQWxtYWPDqW4gZW4gZmljaGVybyIsIm1lbW9yeS1zdG9yYWdlIjoiQWxtYWPDqW4gZW4gbWVtb3JpYSIsc3FsaXRlOiJTUUxJVEUifSx0aGluZ3Nib2FyZDoiVGhpbmdzQm9hcmQiLGdlbmVyYWw6IkdlbmVyYWwiLCJ0aGluZ3Nib2FyZC1ob3N0IjoiSG9zdCBUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBIb3N0LiIsInRoaW5nc2JvYXJkLXBvcnQiOiJQdWVydG8gVGhpbmdzQm9hcmQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6IkVsIHB1ZXJ0byBtw6F4aW1vIGVzIDY1NTM1LiIsInRoaW5nc2JvYXJkLXBvcnQtbWluIjoiRWwgcHVlcnRvIG3DrW5pbW8gZXMgMS4iLCJ0aGluZ3Nib2FyZC1wb3J0LXBhdHRlcm4iOiJQdWVydG8gbm8gdsOhbGlkby4iLCJ0aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgcHVlcnRvLiIsdGlkeToiVGlkeSIsInRpZHktdGlwIjoiVGlkeSBKU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoiQ29uZmlndXJhY2nDs24gY29uZWN0b3Ige3t0eXBlTmFtZX19IiwidGxzLXBhdGgtY2EtY2VydGlmaWNhdGUiOiJSdXRhIGFsIGNlcnRpZmljYWRvIENBIGVuIGVsIGdhdGV3YXkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiJSdXRhIGFsIGNlcnRpZmljYWRvIGNsaWVudGUgZW4gZWwgZ2F0ZXdheSIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3VycyI6IkNvbXByb2JhY2nDs24gZGUgVFRMIGRlIG1lbnNhamVzIGVuIGhvcmFzIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXJlcXVpcmVkIjoiQ2FtcG8gcmVxdWVyaWRvLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1taW4iOiJFbCBtw61uaW1vIGVzIDEuIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXBhdHRlcm4iOiJFbCBuw7ptZXJvIG5vIGVzIHbDoWxpZG8uIiwibWVzc2FnZXMtdHRsLWluLWRheXMiOiJUVEwgKFRpbWUgdG8gbGl2ZSkgZGUgbWVuc2FnZXMgZW4gZMOtYXMiLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIFRUTCBkZSBtZW5zYWplcy4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1taW4iOiJFbCBuw7ptZXJvIG3DrW5pbW8gZXMgMS4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1wYXR0ZXJuIjoiRWwgbsO6bWVybyBubyBlcyB2w6FsaWRvLiIsIm1xdHQtcW9zIjoiUW9TIiwibXF0dC1xb3MtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBRb1MiLCJtcXR0LXFvcy1yYW5nZSI6IkVsIHJhbmdvIGRlIHZhbG9yZXMgZXMgZGVzZGUgMCBhIDEiLCJ0bHMtcGF0aC1wcml2YXRlLWtleSI6IlJ1dGEgYSBsYSBjbGF2ZSBwcml2YWRhIGVuIGVsIGdhdGV3YXkiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlBhbnRhbGxhIGNvbXBsZXRhIGZ1bGxzY3JlZW4iLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IkNvbmZpZ3VyYWNpw7NuIEpTT04qIiwidXBkYXRlLWNvbmZpZyI6IkHDsWFkaXIvYWN0dWFsaXphciBjb25maWd1cmFjacOzbiBKU09OIixoaW50czp7InJlbW90ZS1jb25maWd1cmF0aW9uIjoiSGFiaWxpdGEgbGEgYWRtaW5pc3RyYWNpw7NuIHkgY29uZmlndXJhY2nDs24gcmVtb3RhIGRlbCBnYXRld2F5IiwicmVtb3RlLXNoZWxsIjoiSGFiaWxpdGEgZWwgY29udHJvbCByZW1vdG8gZGVsIHNpc3RlbWEgb3BlcmF0aXZvIGRlbCBnYXRld2F5IGRlc2RlIGVsIHdpZGdldCB0ZXJtaW5hbCByZW1vdG8iLGhvc3Q6Ikhvc3RuYW1lIG8gZGlyZWNjacOzbiBJUCBkZWwgc2Vydmlkb3IgVGhpbmdzYm9hcmQiLHBvcnQ6IlB1ZXJ0byBkZWwgc2VydmljaW8gTVFUVCBlbiBlbCBzZXJ2aWRvciBUaGluZ3Nib2FyZCIsdG9rZW46IkFjY2VzcyB0b2tlbiBwYXJhIGVsIGdhdGV3YXkiLCJjbGllbnQtaWQiOiJJRCBkZSBjbGllbnRlIE1RVFQgcGFyYSBlbCBnYXRld2F5Iix1c2VybmFtZToiVXN1YXJpbyBNUVRUIHBhcmEgZWwgZ2F0ZXdheSIscGFzc3dvcmQ6IkNvbnRyYXNlw7FhIE1RVFQgcGFyYSBlbCBnYXRld2F5IiwiY2EtY2VydCI6IlJ1dGEgYWwgZmljaGVybyBkZWwgY2VydGlmaWNhZG8gQ0EiLCJkYXRlLWZvcm0iOiJGb3JtYXRvIGRlIGZlY2hhIGVuIGxvcyBtZW5zYWplcyBkZSByZWdpc3RybyIsImRhdGEtZm9sZGVyIjoiUnV0YSBhIGxhIGNhcnBldGEgcXVlIGNvbnRlbmRyw6EgbG9zIGRhdG9zIChSZWxhdGl2YSBvIGFic29sdXRhKSIsImxvZy1mb3JtYXQiOiJGb3JtYXRvIGRlIG1lbnNhamVzIGVuIHJlZ2lzdHJvIiwicmVtb3RlLWxvZyI6IkhhYmlsaXRhIGVsIHJlZ2lzdHJvIHJlbW90byB5IGxhIHBvc3RlcmlvciBsZWN0dXJhIGRlc2RlIGVsIGdhdGV3YXkiLCJiYWNrdXAtY291bnQiOiJTaSBlbCBjb250YWplIGRlIGNvcGlhcyBkZSBzZWd1cmlkYWQgZXMgbWF5b3IgcXVlIDAsIGN1YW5kbyBzZSByZWFsaWNlIHVuYSByZW5vdmFjacOzbiwgbm8gc2UgY29uc2VydmFuIG3DoXMgcXVlIGxvcyBhcmNoaXZvcyBkZSByZWN1ZW50byBkZSBjb3BpYXMgZGUgc2VndXJpZGFkLCBsb3MgbcOhcyBhbnTDrWd1b3Mgc2UgZWxpbWluYXLDoW4iLHN0b3JhZ2U6IlByb3ZlZSBsYSBjb25maWd1cmFjacOzbiBwYXJhIGVsIGdyYWJhZG8gZGUgZGF0b3MgZW50cmFudGVzIGFudGVzIGRlIHF1ZSBzZSBlbnbDrWVuIGEgbGEgcGxhdGFmb3JtYSIsIm1heC1maWxlLWNvdW50IjoiTsO6bWVybyBtw6F4aW1vIGRlIGZpY2hlcm9zIHF1ZSBzZSBjcmVhcsOhbiIsIm1heC1yZWFkLWNvdW50IjoiTsO6bWVvIG3DoXhpbW8gZGUgbWVuc2FqZXMgYSBvYnRlbmVyIGRlc2RlIGVsIGRpc2NvIHkgZW52aWFkb3MgYSBsYSBwbGF0YWZvcm1hIiwibWF4LXJlY29yZHMiOiJOw7ptZXJvIG3DoXhpbW8gZGUgcmVnaXN0cm9zIHF1ZSBzZSBndWFyZGFyw6FuIGVuIHVuIHNvbG8gZmljaGVybyIsInJlYWQtcmVjb3JkLWNvdW50IjoiTsO6bWVybyBkZSBtZW5zYWdlcyBhIG9idGVuZXIgZGVzZGUgZWwgYWxtYWNlbmFtaWVudG8geSBlbnZpYWRvcyBhIGxhIHBsYXRhZm9ybWEiLCJtYXgtcmVjb3Jkcy1jb3VudCI6Ik7Dum1lcm8gbcOheGltbyBkZSBkYXRvcyBlbiBhbG1hY2VuYW1pZW50byBhbnRlcyBkZSBlbnZpYXIgYSBsYSBwbGF0YWZvcm1hIiwidHRsLWNoZWNrLWhvdXIiOiJDb24gcXXDqSBmcmVjdWVuY2lhIGVsIGdhdGV3YXkgY29tcHJvYmFyw6Egc2kgbG9zIGRhdG9zIGVzdMOhbiBvYnNvbGV0b3MiLCJ0dGwtbWVzc2FnZXMtZGF5IjoiTsO6bWVybyBtw6F4aW1vIGRlIGTDrWFzIHBhcmEgbGEgcmV0ZW5jacOzbiBkZSBkYXRvcyBlbiBlbCBhbG1hY8OpbiIsY29tbWFuZHM6IkNvbWFuZG9zIHBhcmEgcmVjb2dlciBlc3RhZMOtc3RpY2FzIGFkaWNpb25hbGVzIixhdHRyaWJ1dGU6IkNsYXZlIGRlIHRlbGVtZXRyw61hIHBhcmEgZXN0YWTDrXN0aWNhcyIsdGltZW91dDoiVGltZW91dCBwYXJhIGxhIGVqZWN1Y2nDs24gZGUgY29tYW5kb3MiLGNvbW1hbmQ6IkVsIHJlc3VsdGFkbyBkZSBsYSBlamVjdWNpw7NuIGRlbCBjb21hbmRvLCBzZSB1c2Fyw6EgY29tbyB2YWxvciBwYXJhIGxhIHRlbGVtZXRyw61hIiwiY2hlY2stZGV2aWNlLWFjdGl2aXR5IjoiSGFiaWxpdGEgbGEgbW9uaXRvcml6YWNpw7NuIGRlIGNhZGEgdW5vIGRlIGxvcyBkaXNwb3NpdGl2b3MgY29uZWN0YWRvcyIsImluYWN0aXZpdHktdGltZW91dCI6IlRpZW1wbyB0cmFzIHF1ZSBlbCBnYXRld2F5IGRlc2NvbmVjdGFyw6EgZWwgZGlzcG9zaXRpdm8iLCJpbmFjdGl2aXR5LXBlcmlvZCI6IlBlcmlvZG8gZGUgbW9uaXRvcml6YWNpw7NuIGRlIGFjdGl2aWRhZCBlbiBlbCBkaXNwb3NpdGl2byIsIm1pbmltYWwtcGFjay1kZWxheSI6IlRpZW1wbyBkZSBlc3BlcmEgZW50cmUgZW52w61vIGRlIHBhcXVldGVzIGRlIG1lbnNhamVzIChVbiB2YWxvciBtdXkgYmFqbywgcmVzdWx0YXLDoSBlbiB1biBhdW1lbnRvIGRlIHVzbyBkZSBsYSBDUFUgZW4gZWwgZ2F0ZXdheSkiLHFvczoiUXVhbGl0eSBvZiBTZXJ2aWNlIGVuIGxvcyBtZW5zYWplcyBNUVRUICgwIC0gYXQgbW9zdCBvbmNlLCAxIC0gYXQgbGVhc3Qgb25jZSkiLCJzZXJ2ZXItcG9ydCI6IlB1ZXJ0byBkZSByZWQgZW4gZWwgY3VhbCBlbCBzZXJ2aWRvciBHUlBDIGVzY3VjaGFyw6EgY29uZXhpb25lcyBlbnRyYW50ZXMuIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQiOiJUaWVtcG8gbcOheGltbywgZWwgY3VhbCBlbCBzZXJ2aWRvciBlc3BlcmFyYSB1biBwaW5nIGtlZXBhbGl2ZSBhbnRlcyBkZSBjb25zaWRlcmFyIGxhIGNvbmV4acOzbiB0ZXJtaW5hZGEuIiwiZ3JwYy1rZWVwLWFsaXZlIjoiRHVyYWNpw7NuIGVudHJlIGRvcyBwaW5ncyBrZWVwYWxpdmUgY3VhbmRvIG5vIGhheWEgbGxhbWFkYSBSUEMgYWN0aXZhLiIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncyI6Ik3DrW5pbW8gdGllbXBvIHF1ZSBlbCBzZXJ2aWRvciBkZWJlIGVzcGVyYXIgZW50cmUgZW52w61vcyBkZSBtZW5zYWplcyBkZSBwaW5nIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoiTsO6bWVybyBtw6F4aW1vIGRlIHBpbmdzIGtlZXBhbGl2ZSBxdWUgZWwgc2Vydmlkb3IgcHVlZGUgZW52aWFyIHNpbiByZWNpYmlyIG5pbmfDum4gZGF0byBhbnRlcyBkZSBjb25zaWRlcmFyIGxhIGNvbmV4acOzbiB0ZXJtaW5hZGEuIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEiOiJNw61uaW1vIHRpZW1wbyBxdWUgZWwgc2Vydmlkb3IgZGViZSBlc3BlcmFyIGVudHJlIGVudsOtb3MgZGUgcGluZyBrZWVwYWxpdmUgY3VhbmRvIG5vIGhheWEgbmluZ8O6biBkYXRvIGVuIGVudsOtbyBvIHJlY2VwY2nDs24uIiwicGVybWl0LXdpdGhvdXQtY2FsbHMiOiJQZXJtaXRpciBhbCBzZXJ2aWRvciBtYW50ZW5lciBsYSBjb25leGnDs24gR1JQQyBhYmllcnRhLCBjdWFuZG8gbm8gaGF5YSBsbGFtYWRhcyBSUEMgYWN0aXZhcy4ifX0sSG89eyJhZGQtZW50cnkiOiLshKTsoJUg7LaU6rCAIiwiY29ubmVjdG9yLWFkZCI6IuyDiOuhnOyatCDsl7DqsrDsnpAg7LaU6rCAIiwiY29ubmVjdG9yLWVuYWJsZWQiOiJFbmFibGUgY29ubmVjdG9yIiwiY29ubmVjdG9yLW5hbWUiOiJDb25uZWN0b3IgbmFtZSIsImNvbm5lY3Rvci1uYW1lLXJlcXVpcmVkIjoiQ29ubmVjdG9yIG5hbWUgaXMgcmVxdWlyZWQuIiwiY29ubmVjdG9yLXR5cGUiOiJDb25uZWN0b3IgdHlwZSIsImNvbm5lY3Rvci10eXBlLXJlcXVpcmVkIjoiQ29ubmVjdG9yIHR5cGUgaXMgcmVxdWlyZWQuIixjb25uZWN0b3JzOiJDb25uZWN0b3JzIGNvbmZpZ3VyYXRpb24iLCJjcmVhdGUtbmV3LWdhdGV3YXkiOiJDcmVhdGUgYSBuZXcgZ2F0ZXdheSIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiQXJlIHlvdSBzdXJlIHlvdSB3YW50IGNyZWF0ZSBhIG5ldyBnYXRld2F5IHdpdGggbmFtZTogJ3t7Z2F0ZXdheU5hbWV9fSc/IixkZWxldGU6IkRlbGV0ZSBjb25maWd1cmF0aW9uIiwiZG93bmxvYWQtdGlwIjoiRG93bmxvYWQgY29uZmlndXJhdGlvbiBmaWxlIixnYXRld2F5OiJHYXRld2F5IiwiZ2F0ZXdheS1leGlzdHMiOiJEZXZpY2Ugd2l0aCBzYW1lIG5hbWUgaXMgYWxyZWFkeSBleGlzdHMuIiwiZ2F0ZXdheS1uYW1lIjoiR2F0ZXdheSBuYW1lIiwiZ2F0ZXdheS1uYW1lLXJlcXVpcmVkIjoiR2F0ZXdheSBuYW1lIGlzIHJlcXVpcmVkLiIsImdhdGV3YXktc2F2ZWQiOiJHYXRld2F5IGNvbmZpZ3VyYXRpb24gc3VjY2Vzc2Z1bGx5IHNhdmVkLiIsImpzb24tcGFyc2UiOiJOb3QgdmFsaWQgSlNPTi4iLCJqc29uLXJlcXVpcmVkIjoiRmllbGQgY2Fubm90IGJlIGVtcHR5LiIsIm5vLWNvbm5lY3RvcnMiOiJObyBjb25uZWN0b3JzIiwibm8tZGF0YSI6Ik5vIGNvbmZpZ3VyYXRpb25zIiwibm8tZ2F0ZXdheS1mb3VuZCI6Ik5vIGdhdGV3YXkgZm91bmQuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5vdCBmb3VuZC4iLCJwYXRoLWxvZ3MiOiJQYXRoIHRvIGxvZyBmaWxlcyIsInBhdGgtbG9ncy1yZXF1aXJlZCI6IlBhdGggaXMgcmVxdWlyZWQuIixyZW1vdGU6IlJlbW90ZSBjb25maWd1cmF0aW9uIiwicmVtb3RlLWxvZ2dpbmctbGV2ZWwiOiJMb2dnaW5nIGxldmVsIiwicmVtb3ZlLWVudHJ5IjoiUmVtb3ZlIGNvbmZpZ3VyYXRpb24iLCJzYXZlLXRpcCI6IlNhdmUgY29uZmlndXJhdGlvbiBmaWxlIiwic2VjdXJpdHktdHlwZSI6IlNlY3VyaXR5IHR5cGUiLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJBY2Nlc3MgVG9rZW4iLHRsczoiVExTIn0sc3RvcmFnZToiU3RvcmFnZSIsInN0b3JhZ2UtbWF4LWZpbGUtcmVjb3JkcyI6Ik1heGltdW0gcmVjb3JkcyBpbiBmaWxlIiwic3RvcmFnZS1tYXgtZmlsZXMiOiJNYXhpbXVtIG51bWJlciBvZiBmaWxlcyIsInN0b3JhZ2UtbWF4LWZpbGVzLW1pbiI6Ik1pbmltdW0gbnVtYmVyIGlzIDEuIiwic3RvcmFnZS1tYXgtZmlsZXMtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiJOdW1iZXIgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik1heGltdW0gcmVjb3JkcyBpbiBzdG9yYWdlIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1taW4iOiJNaW5pbXVtIG51bWJlciBvZiByZWNvcmRzIGlzIDEuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkIjoiTWF4aW11bSByZWNvcmRzIGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtcGFjay1zaXplIjoiTWF4aW11bSBldmVudCBwYWNrIHNpemUiLCJzdG9yYWdlLXBhY2stc2l6ZS1taW4iOiJNaW5pbXVtIG51bWJlciBpcyAxLiIsInN0b3JhZ2UtcGFjay1zaXplLXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoiTWF4aW11bSBldmVudCBwYWNrIHNpemUgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1wYXRoIjoiU3RvcmFnZSBwYXRoIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoiU3RvcmFnZSBwYXRoIGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtdHlwZSI6IlN0b3JhZ2UgdHlwZSIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoiRmlsZSBzdG9yYWdlIiwibWVtb3J5LXN0b3JhZ2UiOiJNZW1vcnkgc3RvcmFnZSJ9LHRoaW5nc2JvYXJkOiJUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QiOiJUaGluZ3NCb2FyZCBob3N0IiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6Ikhvc3QgaXMgcmVxdWlyZWQuIiwidGhpbmdzYm9hcmQtcG9ydCI6IlRoaW5nc0JvYXJkIHBvcnQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6Ik1heGltdW0gcG9ydCBudW1iZXIgaXMgNjU1MzUuIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiJNaW5pbXVtIHBvcnQgbnVtYmVyIGlzIDEuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiUG9ydCBpcyBub3QgdmFsaWQuIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6IlBvcnQgaXMgcmVxdWlyZWQuIix0aWR5OiJUaWR5IiwidGlkeS10aXAiOiJUaWR5IGNvbmZpZyBKU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoiQ29ubmVjdG9yIHt7dHlwZU5hbWV9fSBjb25maWd1cmF0aW9uIiwidGxzLXBhdGgtY2EtY2VydGlmaWNhdGUiOiJQYXRoIHRvIENBIGNlcnRpZmljYXRlIG9uIGdhdGV3YXkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiJQYXRoIHRvIGNsaWVudCBjZXJ0aWZpY2F0ZSBvbiBnYXRld2F5IiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiJQYXRoIHRvIHByaXZhdGUga2V5IG9uIGdhdGV3YXkiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlRvZ2dsZSBmdWxsc2NyZWVuIiwidHJhbnNmb3JtZXItanNvbi1jb25maWciOiJDb25maWd1cmF0aW9uIEpTT04qIiwidXBkYXRlLWNvbmZpZyI6IkFkZC91cGRhdGUgY29uZmlndXJhdGlvbiBKU09OIn0sem89eyJhZGQtZW50cnkiOiJBZGQgY29uZmlndXJhdGlvbiIsYWR2YW5jZWQ6IkFkdmFuY2VkIiwiY2hlY2tpbmctZGV2aWNlLWFjdGl2aXR5IjoiQ2hlY2tpbmcgZGV2aWNlIGFjdGl2aXR5Iixjb21tYW5kOiJEb2NrZXIgY29tbWFuZHMiLCJjb21tYW5kLWNvcGllZC1tZXNzYWdlIjoiRG9ja2VyIGNvbW1hbmQgaGFzIGJlZW4gY29waWVkIHRvIGNsaXBib2FyZCIsY29uZmlndXJhdGlvbjoiQ29uZmlndXJhdGlvbiIsImNvbm5lY3Rvci1hZGQiOiJBZGQgbmV3IGNvbm5lY3RvciIsImNvbm5lY3Rvci1lbmFibGVkIjoiRW5hYmxlIGNvbm5lY3RvciIsImNvbm5lY3Rvci1uYW1lIjoiQ29ubmVjdG9yIG5hbWUiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6IkNvbm5lY3RvciBuYW1lIGlzIHJlcXVpcmVkLiIsImNvbm5lY3Rvci10eXBlIjoiQ29ubmVjdG9yIHR5cGUiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IkNvbm5lY3RvciB0eXBlIGlzIHJlcXVpcmVkLiIsY29ubmVjdG9yczoiQ29ubmVjdG9ycyIsImNvbm5lY3RvcnMtY29uZmlnIjoiQ29ubmVjdG9ycyBjb25maWd1cmF0aW9uIiwiY29ubmVjdG9ycy10YWJsZS1lbmFibGVkIjoiRW5hYmxlZCIsImNvbm5lY3RvcnMtdGFibGUtbmFtZSI6Ik5hbWUiLCJjb25uZWN0b3JzLXRhYmxlLXR5cGUiOiJUeXBlIiwiY29ubmVjdG9ycy10YWJsZS1zdGF0dXMiOiJTdGF0dXMiLCJjb25uZWN0b3JzLXRhYmxlLWFjdGlvbnMiOiJBY3Rpb25zIiwiY29ubmVjdG9ycy10YWJsZS1rZXkiOiJLZXkiLCJjb25uZWN0b3JzLXRhYmxlLWNsYXNzIjoiQ2xhc3MiLCJycGMtY29tbWFuZC1zZW5kIjoiU2VuZCIsInJwYy1jb21tYW5kLXJlc3VsdCI6IlJlc3VsdCIsInJwYy1jb21tYW5kLWVkaXQtcGFyYW1zIjoiRWRpdCBwYXJhbWV0ZXJzIiwiZ2F0ZXdheS1jb25maWd1cmF0aW9uIjoiR2VuZXJhbCBDb25maWd1cmF0aW9uIiwiZG9ja2VyLWxhYmVsIjoiSW4gb3JkZXIgdG8gcnVuIFRoaW5nc0JvYXJkIElvVCBnYXRld2F5IGluIGRvY2tlciB3aXRoIGNyZWRlbnRpYWxzIGZvciB0aGlzIGRldmljZSB5b3UgY2FuIHVzZSB0aGUgZm9sbG93aW5nIGNvbW1hbmRzLiIsImNyZWF0ZS1uZXctZ2F0ZXdheSI6IkNyZWF0ZSBhIG5ldyBnYXRld2F5IiwiY3JlYXRlLW5ldy1nYXRld2F5LXRleHQiOiJBcmUgeW91IHN1cmUgeW91IHdhbnQgY3JlYXRlIGEgbmV3IGdhdGV3YXkgd2l0aCBuYW1lOiAne3tnYXRld2F5TmFtZX19Jz8iLCJjcmVhdGVkLXRpbWUiOiJDcmVhdGVkIHRpbWUiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaGVhZGVyIjoiQ29uZmlndXJhdGlvbnMgd2lsbCBiZSBkZWxldGVkIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWJvZHkiOiJUdXJuaW5nIG9mZiBSZW1vdGUgQ29uZmlndXJhdGlvbiBpcyBwb3NzaWJsZSBvbmx5IGlmIHRoZXJlIGlzIHBoeXNpY2FsIGFjY2VzcyB0byB0aGUgR2F0ZXdheS4gQWxsIHByZXZpb3VzIGNvbmZpZ3VyYXRpb25zIHdpbGwgYmUgZGVsZXRlZC48YnI+PGJyPiBcblRvIHR1cm4gb2ZmIGNvbmZpZ3VyYXRpb24sIGVudGVyIGdhdGV3YXkgbmFtZSBiZWxvdyIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1pbnB1dCI6IkdhdGV3YXkgbmFtZSIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1pbnB1dC1yZXF1aXJlZCI6IkdhdGV3YXkgbmFtZSBpcyBtYW5kYXRvcnkiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctY29uZmlybSI6IlR1cm4gT2ZmIixkZWxldGU6IkRlbGV0ZSBjb25maWd1cmF0aW9uIiwiZG93bmxvYWQtdGlwIjoiRG93bmxvYWQgY29uZmlndXJhdGlvbiBmaWxlIiwiZHJvcC1maWxlIjoiRHJvcCBmaWxlIGhlcmUgb3IiLGdhdGV3YXk6IkdhdGV3YXkiLCJnYXRld2F5LWV4aXN0cyI6IkRldmljZSB3aXRoIHNhbWUgbmFtZSBpcyBhbHJlYWR5IGV4aXN0cy4iLCJnYXRld2F5LW5hbWUiOiJHYXRld2F5IG5hbWUiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJHYXRld2F5IG5hbWUgaXMgcmVxdWlyZWQuIiwiZ2F0ZXdheS1zYXZlZCI6IkdhdGV3YXkgY29uZmlndXJhdGlvbiBzdWNjZXNzZnVsbHkgc2F2ZWQuIixncnBjOiJHUlBDIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQiOiJLZWVwIGFsaXZlIHRpbWVvdXQgKGluIG1zKSIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LXJlcXVpcmVkIjoiS2VlcCBhbGl2ZSB0aW1lb3V0IGlzIHJlcXVpcmVkIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtbWluIjoiS2VlcCBhbGl2ZSB0aW1lb3V0IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dC1wYXR0ZXJuIjoiS2VlcCBhbGl2ZSB0aW1lb3V0IGlzIG5vdCB2YWxpZCIsImdycGMta2VlcC1hbGl2ZSI6IktlZXAgYWxpdmUgKGluIG1zKSIsImdycGMta2VlcC1hbGl2ZS1yZXF1aXJlZCI6IktlZXAgYWxpdmUgaXMgcmVxdWlyZWQiLCJncnBjLWtlZXAtYWxpdmUtbWluIjoiS2VlcCBhbGl2ZSBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1rZWVwLWFsaXZlLXBhdHRlcm4iOiJLZWVwIGFsaXZlIGlzIG5vdCB2YWxpZCIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncyI6Ik1pbiB0aW1lIGJldHdlZW4gcGluZ3MgKGluIG1zKSIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1yZXF1aXJlZCI6Ik1pbiB0aW1lIGJldHdlZW4gcGluZ3MgaXMgcmVxdWlyZWQiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtbWluIjoiTWluIHRpbWUgYmV0d2VlbiBwaW5ncyBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLXBhdHRlcm4iOiJNaW4gdGltZSBiZXR3ZWVuIHBpbmdzIGlzIG5vdCB2YWxpZCIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhIjoiTWluIHBpbmcgaW50ZXJ2YWwgd2l0aG91dCBkYXRhIChpbiBtcykiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6Ik1pbiBwaW5nIGludGVydmFsIHdpdGhvdXQgZGF0YSBpcyByZXF1aXJlZCIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLW1pbiI6Ik1pbiBwaW5nIGludGVydmFsIHdpdGhvdXQgZGF0YSBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcGF0dGVybiI6Ik1pbiBwaW5nIGludGVydmFsIHdpdGhvdXQgZGF0YSBpcyBub3QgdmFsaWQiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEiOiJNYXggcGluZ3Mgd2l0aG91dCBkYXRhIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXJlcXVpcmVkIjoiTWF4IHBpbmdzIHdpdGhvdXQgZGF0YSBpcyByZXF1aXJlZCIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YS1taW4iOiJNYXggcGluZ3Mgd2l0aG91dCBkYXRhIGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtcGF0dGVybiI6Ik1heCBwaW5ncyB3aXRob3V0IGRhdGEgaXMgbm90IHZhbGlkIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcyI6IkluYWN0aXZpdHkgY2hlY2sgcGVyaW9kIChpbiBzZWMpIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1yZXF1aXJlZCI6IkluYWN0aXZpdHkgY2hlY2sgcGVyaW9kIGlzIHJlcXVpcmVkIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1taW4iOiJJbmFjdGl2aXR5IGNoZWNrIHBlcmlvZCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1wYXR0ZXJuIjoiSW5hY3Rpdml0eSBjaGVjayBwZXJpb2QgaXMgbm90IHZhbGlkIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMiOiJJbmFjdGl2aXR5IHRpbWVvdXQgKGluIHNlYykiLCJpbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1yZXF1aXJlZCI6IkluYWN0aXZpdHkgdGltZW91dCBpcyByZXF1aXJlZCIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLW1pbiI6IkluYWN0aXZpdHkgdGltZW91dCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcGF0dGVybiI6IkluYWN0aXZpdHkgdGltZW91dCBpcyBub3QgdmFsaWQiLCJqc29uLXBhcnNlIjoiTm90IHZhbGlkIEpTT04uIiwianNvbi1yZXF1aXJlZCI6IkZpZWxkIGNhbm5vdCBiZSBlbXB0eS4iLGxvZ3M6e2xvZ3M6IkxvZ3MiLGRheXM6ImRheXMiLGhvdXJzOiJob3VycyIsbWludXRlczoibWludXRlcyIsc2Vjb25kczoic2Vjb25kcyIsImRhdGUtZm9ybWF0IjoiRGF0ZSBmb3JtYXQiLCJkYXRlLWZvcm1hdC1yZXF1aXJlZCI6IkRhdGUgZm9ybWF0IHJlcXVpcmVkIiwibG9nLWZvcm1hdCI6IkxvZyBmb3JtYXQiLCJsb2ctdHlwZSI6IkxvZyB0eXBlIiwibG9nLWZvcm1hdC1yZXF1aXJlZCI6IkxvZyBmb3JtYXQgcmVxdWlyZWQiLHJlbW90ZToiUmVtb3RlIGxvZ2dpbmciLCJyZW1vdGUtbG9ncyI6IlJlbW90ZSBsb2dzIixsb2NhbDoiTG9jYWwgbG9nZ2luZyIsbGV2ZWw6IkxvZyBsZXZlbCIsImZpbGUtcGF0aCI6IkZpbGUgcGF0aCIsImZpbGUtcGF0aC1yZXF1aXJlZCI6IkZpbGUgcGF0aCByZXF1aXJlZCIsInNhdmluZy1wZXJpb2QiOiJMb2cgc2F2aW5nIHBlcmlvZCIsInNhdmluZy1wZXJpb2QtbWluIjoiTG9nIHNhdmluZyBwZXJpb2QgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsInNhdmluZy1wZXJpb2QtcmVxdWlyZWQiOiJMb2cgc2F2aW5nIHBlcmlvZCByZXF1aXJlZCIsImJhY2t1cC1jb3VudCI6IkJhY2t1cCBjb3VudCIsImJhY2t1cC1jb3VudC1taW4iOiJCYWNrdXAgY291bnQgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImJhY2t1cC1jb3VudC1yZXF1aXJlZCI6IkJhY2t1cCBjb3VudCByZXF1aXJlZCJ9LCJtaW4tcGFjay1zZW5kLWRlbGF5IjoiTWluIHBhY2sgc2VuZCBkZWxheSAoaW4gbXMpIiwibWluLXBhY2stc2VuZC1kZWxheS1yZXF1aXJlZCI6Ik1pbiBwYWNrIHNlbmQgZGVsYXkgaXMgcmVxdWlyZWQiLCJtaW4tcGFjay1zZW5kLWRlbGF5LW1pbiI6Ik1pbiBwYWNrIHNlbmQgZGVsYXkgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMCIsIm5vLWNvbm5lY3RvcnMiOiJObyBjb25uZWN0b3JzIiwibm8tZGF0YSI6Ik5vIGNvbmZpZ3VyYXRpb25zIiwibm8tZ2F0ZXdheS1mb3VuZCI6Ik5vIGdhdGV3YXkgZm91bmQuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5vdCBmb3VuZC4iLCJwYXRoLWxvZ3MiOiJQYXRoIHRvIGxvZyBmaWxlcyIsInBhdGgtbG9ncy1yZXF1aXJlZCI6IlBhdGggaXMgcmVxdWlyZWQuIiwicGVybWl0LXdpdGhvdXQtY2FsbHMiOiJLZWVwIGFsaXZlIHBlcm1pdCB3aXRob3V0IGNhbGxzIixyZW1vdGU6IlJlbW90ZSBjb25maWd1cmF0aW9uIiwicmVtb3RlLWxvZ2dpbmctbGV2ZWwiOiJMb2dnaW5nIGxldmVsIiwicmVtb3ZlLWVudHJ5IjoiUmVtb3ZlIGNvbmZpZ3VyYXRpb24iLCJyZW1vdGUtc2hlbGwiOiJSZW1vdGUgc2hlbGwiLCJyZW1vdGUtY29uZmlndXJhdGlvbiI6IlJlbW90ZSBDb25maWd1cmF0aW9uIixvdGhlcjoiT3RoZXIiLCJzYXZlLXRpcCI6IlNhdmUgY29uZmlndXJhdGlvbiBmaWxlIiwic2VjdXJpdHktdHlwZSI6IlNlY3VyaXR5IHR5cGUiLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJBY2Nlc3MgVG9rZW4iLCJ1c2VybmFtZS1wYXNzd29yZCI6IlVzZXJuYW1lIGFuZCBQYXNzd29yZCIsdGxzOiJUTFMiLCJ0bHMtYWNjZXNzLXRva2VuIjoiVExTICsgQWNjZXNzIFRva2VuIiwidGxzLXByaXZhdGUta2V5IjoiVExTICsgUHJpdmF0ZSBLZXkifSwic2VydmVyLXBvcnQiOiJTZXJ2ZXIgcG9ydCIsc3RhdGlzdGljczp7c3RhdGlzdGljOiJTdGF0aXN0aWMiLHN0YXRpc3RpY3M6IlN0YXRpc3RpY3MiLCJzdGF0aXN0aWMtY29tbWFuZHMtZW1wdHkiOiJObyBzdGF0aXN0aWNzIGF2YWlsYWJsZSIsY29tbWFuZHM6IkNvbW1hbmRzIiwic2VuZC1wZXJpb2QiOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgKGluIHNlYykiLCJzZW5kLXBlcmlvZC1yZXF1aXJlZCI6IlN0YXRpc3RpYyBzZW5kIHBlcmlvZCBpcyByZXF1aXJlZCIsInNlbmQtcGVyaW9kLW1pbiI6IlN0YXRpc3RpYyBzZW5kIHBlcmlvZCBjYW4gbm90IGJlIGxlc3MgdGhlbiA2MCIsInNlbmQtcGVyaW9kLXBhdHRlcm4iOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgaXMgbm90IHZhbGlkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uIjoiQ2hlY2sgY29ubmVjdG9ycyBjb25maWd1cmF0aW9uIChpbiBzZWMpIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXJlcXVpcmVkIjoiQ2hlY2sgY29ubmVjdG9ycyBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLW1pbiI6IkNoZWNrIGNvbm5lY3RvcnMgY29uZmlndXJhdGlvbiBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXBhdHRlcm4iOiJDaGVjayBjb25uZWN0b3JzIGNvbmZpZ3VyYXRpb24gaXMgbm90IHZhbGlkIixhZGQ6IkFkZCBjb21tYW5kIix0aW1lb3V0OiJUaW1lb3V0IiwidGltZW91dC1tcyI6IlRpbWVvdXQgKGluIG1zKSIsInRpbWVvdXQtcmVxdWlyZWQiOiJUaW1lb3V0IGlzIHJlcXVpcmVkIiwidGltZW91dC1taW4iOiJUaW1lb3V0IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJ0aW1lb3V0LXBhdHRlcm4iOiJUaW1lb3V0IGlzIG5vdCB2YWxpZCIsImF0dHJpYnV0ZS1uYW1lIjoiQXR0cmlidXRlIG5hbWUiLCJhdHRyaWJ1dGUtbmFtZS1yZXF1aXJlZCI6IkF0dHJpYnV0ZSBuYW1lIGlzIHJlcXVpcmVkIixjb21tYW5kOiJDb21tYW5kIiwiY29tbWFuZC1yZXF1aXJlZCI6IkNvbW1hbmQgaXMgcmVxdWlyZWQiLHJlbW92ZToiUmVtb3ZlIGNvbW1hbmQifSxzdG9yYWdlOiJTdG9yYWdlIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoiTWF4aW11bSByZWNvcmRzIGluIGZpbGUiLCJzdG9yYWdlLW1heC1maWxlcyI6Ik1heGltdW0gbnVtYmVyIG9mIGZpbGVzIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoiTWluaW11bSBudW1iZXIgaXMgMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJzdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZCI6Ik51bWJlciBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLW1heC1yZWNvcmRzIjoiTWF4aW11bSByZWNvcmRzIGluIHN0b3JhZ2UiLCJzdG9yYWdlLW1heC1yZWNvcmRzLW1pbiI6Ik1pbmltdW0gbnVtYmVyIG9mIHJlY29yZHMgaXMgMS4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJNYXhpbXVtIHJlY29yZHMgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudCI6IlJlYWQgcmVjb3JkIGNvdW50IGluIHN0b3JhZ2UiLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LW1pbiI6Ik1pbmltdW0gbnVtYmVyIG9mIHJlY29yZHMgaXMgMS4iLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcmVxdWlyZWQiOiJSZWFkIHJlY29yZCBjb3VudCBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudCI6Ik1heCByZWFkIHJlY29yZCBjb3VudCBpbiBzdG9yYWdlIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtbWluIjoiTWluaW11bSBudW1iZXIgb2YgcmVjb3JkcyBpcyAxLiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkIjoiTWF4IFJlYWQgcmVjb3JkIGNvdW50IGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtZGF0YS1mb2xkZXItcGF0aCI6IkRhdGEgZm9sZGVyIHBhdGgiLCJzdG9yYWdlLWRhdGEtZm9sZGVyLXBhdGgtcmVxdWlyZWQiOiJEYXRhIGZvbGRlciBwYXRoIGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtcGFjay1zaXplIjoiTWF4aW11bSBldmVudCBwYWNrIHNpemUiLCJzdG9yYWdlLXBhY2stc2l6ZS1taW4iOiJNaW5pbXVtIG51bWJlciBpcyAxLiIsInN0b3JhZ2UtcGFjay1zaXplLXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoiTWF4aW11bSBldmVudCBwYWNrIHNpemUgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1wYXRoIjoiU3RvcmFnZSBwYXRoIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoiU3RvcmFnZSBwYXRoIGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtdHlwZSI6IlN0b3JhZ2UgdHlwZSIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoiRmlsZSBzdG9yYWdlIiwibWVtb3J5LXN0b3JhZ2UiOiJNZW1vcnkgc3RvcmFnZSIsc3FsaXRlOiJTUUxJVEUifSx0aGluZ3Nib2FyZDoiVGhpbmdzQm9hcmQiLGdlbmVyYWw6IkdlbmVyYWwiLCJ0aGluZ3Nib2FyZC1ob3N0IjoiVGhpbmdzQm9hcmQgaG9zdCIsInRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWQiOiJIb3N0IGlzIHJlcXVpcmVkLiIsInRoaW5nc2JvYXJkLXBvcnQiOiJUaGluZ3NCb2FyZCBwb3J0IiwidGhpbmdzYm9hcmQtcG9ydC1tYXgiOiJNYXhpbXVtIHBvcnQgbnVtYmVyIGlzIDY1NTM1LiIsInRoaW5nc2JvYXJkLXBvcnQtbWluIjoiTWluaW11bSBwb3J0IG51bWJlciBpcyAxLiIsInRoaW5nc2JvYXJkLXBvcnQtcGF0dGVybiI6IlBvcnQgaXMgbm90IHZhbGlkLiIsInRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWQiOiJQb3J0IGlzIHJlcXVpcmVkLiIsdGlkeToiVGlkeSIsInRpZHktdGlwIjoiVGlkeSBjb25maWcgSlNPTiIsInRpdGxlLWNvbm5lY3RvcnMtanNvbiI6IkNvbm5lY3RvciB7e3R5cGVOYW1lfX0gY29uZmlndXJhdGlvbiIsInRscy1wYXRoLWNhLWNlcnRpZmljYXRlIjoiUGF0aCB0byBDQSBjZXJ0aWZpY2F0ZSBvbiBnYXRld2F5IiwidGxzLXBhdGgtY2xpZW50LWNlcnRpZmljYXRlIjoiUGF0aCB0byBjbGllbnQgY2VydGlmaWNhdGUgb24gZ2F0ZXdheSIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3VycyI6Ik1lc3NhZ2VzIFRUTCBjaGVjayBpbiBob3VycyIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1yZXF1aXJlZCI6Ik1lc3NhZ2VzIFRUTCBjaGVjayBpbiBob3VycyBpcyByZXF1aXJlZC4iLCJtZXNzYWdlcy10dGwtY2hlY2staW4taG91cnMtbWluIjoiTWluIG51bWJlciBpcyAxLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cyI6Ik1lc3NhZ2VzIFRUTCBpbiBkYXlzIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcmVxdWlyZWQiOiJNZXNzYWdlcyBUVEwgaW4gZGF5cyBpcyByZXF1aXJlZC4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1taW4iOiJNaW4gbnVtYmVyIGlzIDEuIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwibXF0dC1xb3MiOiJRb1MiLCJtcXR0LXFvcy1yZXF1aXJlZCI6IlFvUyBpcyByZXF1aXJlZCIsIm1xdHQtcW9zLXJhbmdlIjoiUW9TIHZhbHVlcyByYW5nZSBpcyBmcm9tIDAgdG8gMSIsInRscy1wYXRoLXByaXZhdGUta2V5IjoiUGF0aCB0byBwcml2YXRlIGtleSBvbiBnYXRld2F5IiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiJUb2dnbGUgZnVsbHNjcmVlbiIsInRyYW5zZm9ybWVyLWpzb24tY29uZmlnIjoiQ29uZmlndXJhdGlvbiBKU09OKiIsInVwZGF0ZS1jb25maWciOiJBZGQvdXBkYXRlIGNvbmZpZ3VyYXRpb24gSlNPTiIsaGludHM6eyJyZW1vdGUtY29uZmlndXJhdGlvbiI6IkVuYWJsZXMgcmVtb3RlIGNvbmZpZ3VyYXRpb24gYW5kIG1hbmFnZW1lbnQgb2YgdGhlIGdhdGV3YXkiLCJyZW1vdGUtc2hlbGwiOiJFbmFibGVzIHJlbW90ZSBjb250cm9sIG9mIHRoZSBvcGVyYXRpbmcgc3lzdGVtIHdpdGggdGhlIGdhdGV3YXkgZnJvbSB0aGUgUmVtb3RlIFNoZWxsIHdpZGdldCIsaG9zdDoiSG9zdG5hbWUgb3IgSVAgYWRkcmVzcyBvZiBUaGluZ3NCb2FyZCBzZXJ2ZXIiLHBvcnQ6IlBvcnQgb2YgTVFUVCBzZXJ2aWNlIG9uIFRoaW5nc0JvYXJkIHNlcnZlciIsdG9rZW46IkFjY2VzcyB0b2tlbiBmb3IgdGhlIGdhdGV3YXkgZnJvbSBUaGluZ3NCb2FyZCBzZXJ2ZXIiLCJjbGllbnQtaWQiOiJNUVRUIGNsaWVudCBpZCBmb3IgdGhlIGdhdGV3YXkgZm9ybSBUaGluZ3NCb2FyZCBzZXJ2ZXIiLHVzZXJuYW1lOiJNUVRUIHVzZXJuYW1lIGZvciB0aGUgZ2F0ZXdheSBmb3JtIFRoaW5nc0JvYXJkIHNlcnZlciIscGFzc3dvcmQ6Ik1RVFQgcGFzc3dvcmQgZm9yIHRoZSBnYXRld2F5IGZvcm0gVGhpbmdzQm9hcmQgc2VydmVyIiwiY2EtY2VydCI6IlBhdGggdG8gQ0EgY2VydGlmaWNhdGUgZmlsZSIsImRhdGUtZm9ybSI6IkRhdGUgZm9ybWF0IGluIGxvZyBtZXNzYWdlIiwiZGF0YS1mb2xkZXIiOiJQYXRoIHRvIGZvbGRlciwgdGhhdCB3aWxsIGNvbnRhaW5zIGRhdGEgKFJlbGF0aXZlIG9yIEFic29sdXRlKSIsImxvZy1mb3JtYXQiOiJMb2cgbWVzc2FnZSBmb3JtYXQiLCJyZW1vdGUtbG9nIjoiRW5hYmxlcyByZW1vdGUgbG9nZ2luZyBhbmQgbG9ncyByZWFkaW5nIGZyb20gdGhlIGdhdGV3YXkiLCJiYWNrdXAtY291bnQiOiJJZiBiYWNrdXAgY291bnQgaXMgPiAwLCB3aGVuIGEgcm9sbG92ZXIgaXMgZG9uZSwgbm8gbW9yZSB0aGFuIGJhY2t1cCBjb3VudCBmaWxlcyBhcmUga2VwdCAtIHRoZSBvbGRlc3Qgb25lcyBhcmUgZGVsZXRlZCIsc3RvcmFnZToiUHJvdmlkZXMgY29uZmlndXJhdGlvbiBmb3Igc2F2aW5nIGluY29taW5nIGRhdGEgYmVmb3JlIGl0IGlzIHNlbnQgdG8gdGhlIHBsYXRmb3JtIiwibWF4LWZpbGUtY291bnQiOiJNYXhpbXVtIGNvdW50IG9mIGZpbGUgdGhhdCB3aWxsIGJlIGNyZWF0ZWQiLCJtYXgtcmVhZC1jb3VudCI6IkNvdW50IG9mIG1lc3NhZ2VzIHRvIGdldCBmcm9tIHN0b3JhZ2UgYW5kIHNlbmQgdG8gVGhpbmdzQm9hcmQiLCJtYXgtcmVjb3JkcyI6Ik1heGltdW0gY291bnQgb2YgcmVjb3JkcyB0aGF0IHdpbGwgYmUgc3RvcmVkIGluIG9uZSBmaWxlIiwicmVhZC1yZWNvcmQtY291bnQiOiJDb3VudCBvZiBtZXNzYWdlcyB0byBnZXQgZnJvbSBzdG9yYWdlIGFuZCBzZW5kIHRvIFRoaW5nc0JvYXJkIiwibWF4LXJlY29yZHMtY291bnQiOiJNYXhpbXVtIGNvdW50IG9mIGRhdGEgaW4gc3RvcmFnZSBiZWZvcmUgc2VuZCB0byBUaGluZ3NCb2FyZCIsInR0bC1jaGVjay1ob3VyIjoiSG93IG9mdGVuIHdpbGwgR2F0ZXdheSBjaGVjayBkYXRhIGZvciBvYnNvbGVzY2VuY2UiLCJ0dGwtbWVzc2FnZXMtZGF5IjoiTWF4aW11bSBkYXlzIHRoYXQgc3RvcmFnZSB3aWxsIHNhdmUgZGF0YSIsY29tbWFuZHM6IkNvbW1hbmRzIGZvciBjb2xsZWN0aW5nIGFkZGl0aW9uYWwgc3RhdGlzdGljIixhdHRyaWJ1dGU6IlN0YXRpc3RpYyB0ZWxlbWV0cnkga2V5Iix0aW1lb3V0OiJUaW1lb3V0IGZvciBjb21tYW5kIGV4ZWN1dGluZyIsY29tbWFuZDoiVGhlIHJlc3VsdCBvZiB0aGUgY29tbWFuZCBleGVjdXRpb24sIHdpbGwgYmUgdXNlZCBhcyB0aGUgdmFsdWUgZm9yIHRlbGVtZXRyeSIsImNoZWNrLWRldmljZS1hY3Rpdml0eSI6IkVuYWJsZXMgbW9uaXRvciB0aGUgYWN0aXZpdHkgb2YgZWFjaCBjb25uZWN0ZWQgZGV2aWNlIiwiaW5hY3Rpdml0eS10aW1lb3V0IjoiVGltZSBhZnRlciB3aG9zZSB0aGUgZ2F0ZXdheSB3aWxsIGRpc2Nvbm5lY3QgZGV2aWNlIiwiaW5hY3Rpdml0eS1wZXJpb2QiOiJQZXJpb2RpY2l0eSBvZiBkZXZpY2UgYWN0aXZpdHkgY2hlY2siLCJtaW5pbWFsLXBhY2stZGVsYXkiOiJEZWxheSBiZXR3ZWVuIHNlbmRpbmcgcGFja3Mgb2YgbWVzc2FnZXMgKERlY3JlYXNpbmcgdGhpcyBzZXR0aW5nIHJlc3VsdHMgaW4gaW5jcmVhc2VkIENQVSB1c2FnZSkiLHFvczoiUXVhbGl0eSBvZiBTZXJ2aWNlIGluIE1RVFQgbWVzc2FnaW5nICgwIC0gYXQgbW9zdCBvbmNlLCAxIC0gYXQgbGVhc3Qgb25jZSkiLCJzZXJ2ZXItcG9ydCI6Ik5ldHdvcmsgcG9ydCBvbiB3aGljaCBHUlBDIHNlcnZlciB3aWxsIGxpc3RlbiBmb3IgaW5jb21pbmcgY29ubmVjdGlvbnMuIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQiOiJNYXhpbXVtIHRpbWUgdGhlIHNlcnZlciBzaG91bGQgd2FpdCBmb3IgYSBrZWVwYWxpdmUgcGluZyByZXNwb25zZSBiZWZvcmUgY29uc2lkZXJpbmcgdGhlIGNvbm5lY3Rpb24gZGVhZC4iLCJncnBjLWtlZXAtYWxpdmUiOiJEdXJhdGlvbiBiZXR3ZWVuIHR3byBzdWNjZXNzaXZlIGtlZXBhbGl2ZSBwaW5nIG1lc3NhZ2VzIHdoZW4gdGhlcmUgaXMgbm8gYWN0aXZlIFJQQyBjYWxsLiIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncyI6Ik1pbmltdW0gYW1vdW50IG9mIHRpbWUgdGhlIHNlcnZlciBzaG91bGQgd2FpdCBiZXR3ZWVuIHNlbmRpbmcga2VlcGFsaXZlIHBpbmcgbWVzc2FnZXMiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEiOiJNYXhpbXVtIG51bWJlciBvZiBrZWVwYWxpdmUgcGluZyBtZXNzYWdlcyB0aGF0IHRoZSBzZXJ2ZXIgY2FuIHNlbmQgd2l0aG91dCByZWNlaXZpbmcgYW55IGRhdGEgYmVmb3JlIGl0IGNvbnNpZGVycyB0aGUgY29ubmVjdGlvbiBkZWFkLiIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhIjoiTWluaW11bSBhbW91bnQgb2YgdGltZSB0aGUgc2VydmVyIHNob3VsZCB3YWl0IGJldHdlZW4gc2VuZGluZyBrZWVwYWxpdmUgcGluZyBtZXNzYWdlcyB3aGVuIHRoZXJlIGlzIG5vIGRhdGEgYmVpbmcgc2VudCBvciByZWNlaXZlZC4iLCJwZXJtaXQtd2l0aG91dC1jYWxscyI6IkFsbG93IHNlcnZlciB0byBrZWVwIHRoZSBHUlBDIGNvbm5lY3Rpb24gYWxpdmUgZXZlbiB3aGVuIHRoZXJlIGFyZSBubyBhY3RpdmUgUlBDIGNhbGxzLiJ9fSxXbz17ImFkZC1lbnRyeSI6IkNvbmZpZ3VyYXRpZSB0b2V2b2VnZW4iLCJjb25uZWN0b3ItYWRkIjoiTmlldXdlIGNvbm5lY3RvciB0b2V2b2VnZW4iLCJjb25uZWN0b3ItZW5hYmxlZCI6IkNvbm5lY3RvciBpbnNjaGFrZWxlbiIsImNvbm5lY3Rvci1uYW1lIjoiTmFhbSB2YW4gZGUgY29ubmVjdG9yIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiJEZSBuYWFtIHZhbiBkZSBjb25uZWN0b3IgaXMgdmVyZWlzdC4iLCJjb25uZWN0b3ItdHlwZSI6IlR5cGUgYWFuc2x1aXRpbmciLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IkhldCB0eXBlIGNvbm5lY3RvciBpcyB2ZXJlaXN0LiIsY29ubmVjdG9yczoiQ29uZmlndXJhdGllIHZhbiBjb25uZWN0b3JlbiIsImNyZWF0ZS1uZXctZ2F0ZXdheSI6IkVlbiBuaWV1d2UgZ2F0ZXdheSBtYWtlbiIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiV2VldCB1IHpla2VyIGRhdCB1IGVlbiBuaWV1d2UgZ2F0ZXdheSB3aWx0IG1ha2VuIG1ldCBkZSBuYWFtOiAne3tnYXRld2F5TmFtZX19Jz8iLGRlbGV0ZToiQ29uZmlndXJhdGllIHZlcndpamRlcmVuIiwiZG93bmxvYWQtdGlwIjoiQ29uZmlndXJhdGllYmVzdGFuZCBkb3dubG9hZGVuIixnYXRld2F5OiJHYXRld2F5IiwiZ2F0ZXdheS1leGlzdHMiOiJEZXZpY2UgbWV0IGRlemVsZmRlIG5hYW0gYmVzdGFhdCBhbC4iLCJnYXRld2F5LW5hbWUiOiJOYWFtIHZhbiBkZSBnYXRld2F5IiwiZ2F0ZXdheS1uYW1lLXJlcXVpcmVkIjoiRGUgbmFhbSB2YW4gZGUgZ2F0ZXdheSBpcyB2ZXJlaXN0LiIsImdhdGV3YXktc2F2ZWQiOiJHYXRld2F5Y29uZmlndXJhdGllIHN1Y2Nlc3ZvbCBvcGdlc2xhZ2VuLiIsImpzb24tcGFyc2UiOiJPbmdlbGRpZ2UgSlNPTi4iLCJqc29uLXJlcXVpcmVkIjoiSGV0IHZlbGQgbWFnIG5pZXQgbGVlZyB6aWpuLiIsIm5vLWNvbm5lY3RvcnMiOiJHZWVuIGNvbm5lY3RvcmVuIiwibm8tZGF0YSI6IkdlZW4gY29uZmlndXJhdGllcyIsIm5vLWdhdGV3YXktZm91bmQiOiJHZWVuIGdhdGV3YXkgZ2V2b25kZW4uIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6Iid7e2l0ZW19fScgbmlldCBnZXZvbmRlbi4iLCJwYXRoLWxvZ3MiOiJQYWQgbmFhciBsb2diZXN0YW5kZW4iLCJwYXRoLWxvZ3MtcmVxdWlyZWQiOiJQYWQgaXMgdmVyZWlzdC4iLHJlbW90ZToiQ29uZmlndXJhdGllIG9wIGFmc3RhbmQiLCJyZW1vdGUtbG9nZ2luZy1sZXZlbCI6IlJlZ2lzdHJhdGllIG5pdmVhdSIsInJlbW92ZS1lbnRyeSI6IkNvbmZpZ3VyYXRpZSB2ZXJ3aWpkZXJlbiIsInNhdmUtdGlwIjoiQ29uZmlndXJhdGllYmVzdGFuZCBvcHNsYWFuIiwic2VjdXJpdHktdHlwZSI6IlNvb3J0IGJldmVpbGlnaW5nIiwic2VjdXJpdHktdHlwZXMiOnsiYWNjZXNzLXRva2VuIjoiVG9lZ2FuZyB0b3QgdG9rZW4iLHRsczoiVExTIChUTFMpIn0sc3RvcmFnZToiT3BzbGFnIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoiTWF4aW11bSBhYW50YWwgcmVjb3JkcyBpbiBiZXN0YW5kIiwic3RvcmFnZS1tYXgtZmlsZXMiOiJNYXhpbWFhbCBhYW50YWwgYmVzdGFuZGVuIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoiTWluaW11bSBhYW50YWwgaXMgMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiTnVtbWVyIGlzIG5pZXQgZ2VsZGlnLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXJlcXVpcmVkIjoiTnVtbWVyIGlzIHZlcmVpc3QuIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik1heGltdW0gYWFudGFsIHJlY29yZHMgaW4gb3BzbGFnIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1taW4iOiJNaW5pbXVtIGFhbnRhbCByZWNvcmRzIGlzIDEuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoiTnVtbWVyIGlzIG5pZXQgZ2VsZGlnLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJNYXhpbWFsZSByZWNvcmRzIHppam4gdmVyZWlzdC4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6Ik1heGltYWxlIHBha2tldGdyb290dGUgdm9vciBldmVudHMiLCJzdG9yYWdlLXBhY2stc2l6ZS1taW4iOiJNaW5pbXVtIGFhbnRhbCBpcyAxLiIsInN0b3JhZ2UtcGFjay1zaXplLXBhdHRlcm4iOiJOdW1tZXIgaXMgbmlldCBnZWxkaWcuIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiJEZSBtYXhpbWFsZSBwYWtrZXRncm9vdHRlIHZhbiBoZXQgZXZlbnQgaXMgdmVyZWlzdC4iLCJzdG9yYWdlLXBhdGgiOiJPcHNsYWcgcGFkIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoiT3BzbGFncGFkIGlzIHZlcmVpc3QuIiwic3RvcmFnZS10eXBlIjoiVHlwZSBvcHNsYWciLCJzdG9yYWdlLXR5cGVzIjp7ImZpbGUtc3RvcmFnZSI6Ik9wc2xhZyB2YW4gYmVzdGFuZGVuIiwibWVtb3J5LXN0b3JhZ2UiOiJHZWhldWdlbiBvcHNsYWcifSx0aGluZ3Nib2FyZDoiRGluZ2VuIEJvcmQiLCJ0aGluZ3Nib2FyZC1ob3N0IjoiVGhpbmdzQm9hcmQtZ2FzdGhlZXIiLCJ0aGluZ3Nib2FyZC1ob3N0LXJlcXVpcmVkIjoiU2VydmVyIGhvc3QgaXMgdmVyZWlzdC4iLCJ0aGluZ3Nib2FyZC1wb3J0IjoiVGhpbmdzQm9hcmQtcG9vcnQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6IkhldCBtYXhpbWFsZSBwb29ydG51bW1lciBpcyA2NTUzNS4iLCJ0aGluZ3Nib2FyZC1wb3J0LW1pbiI6IkhldCBtaW5pbWFsZSBwb29ydG51bW1lciBpcyAxLiIsInRoaW5nc2JvYXJkLXBvcnQtcGF0dGVybiI6IlBvb3J0IGlzIG5pZXQgZ2VsZGlnLiIsInRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWQiOiJQb29ydCBpcyB2ZXJlaXN0LiIsdGlkeToiT3JkZWxpamsiLCJ0aWR5LXRpcCI6Ik9wZ2VydWltZGUgY29uZmlndXJhdGllIEpTT04iLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiJDb25maWd1cmF0aWUgdmFuIGNvbm5lY3RvciB7e3R5cGVOYW1lfX0iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IlBhZCBuYWFyIENBLWNlcnRpZmljYWF0IG9wIGdhdGV3YXkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiJQYWQgbmFhciBjbGllbnRjZXJ0aWZpY2FhdCBvcCBnYXRld2F5IiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiJQYWQgbmFhciBwcml2w6lzbGV1dGVsIG9wIGdhdGV3YXkiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlZvbGxlZGlnIHNjaGVybSBpbi0gZW4gdWl0c2NoYWtlbGVuIiwidHJhbnNmb3JtZXItanNvbi1jb25maWciOiJDb25maWd1cmF0aWUgSlNPTioiLCJ1cGRhdGUtY29uZmlnIjoiQ29uZmlndXJhdGllIEpTT04gdG9ldm9lZ2VuL2JpandlcmtlbiJ9LGpvPXsiYWRkLWVudHJ5IjoiRG9kYWoga29uZmlndXJhY2rEmSIsYWR2YW5jZWQ6IkFkdmFuY2VkIiwiY2hlY2tpbmctZGV2aWNlLWFjdGl2aXR5IjoiQ2hlY2tpbmcgZGV2aWNlIGFjdGl2aXR5Iixjb21tYW5kOiJEb2NrZXIgY29tbWFuZHMiLCJjb21tYW5kLWNvcGllZC1tZXNzYWdlIjoiRG9ja2VyIGNvbW1hbmQgaGFzIGJlZW4gY29waWVkIHRvIGNsaXBib2FyZCIsY29uZmlndXJhdGlvbjoiQ29uZmlndXJhdGlvbiIsImNvbm5lY3Rvci1hZGQiOiJEb2RhaiBub3dlIHrFgsSFY3plIiwiY29ubmVjdG9yLWVuYWJsZWQiOiJXxYLEhWN6IHrFgsSFY3plIiwiY29ubmVjdG9yLW5hbWUiOiJOYXp3YSB6xYLEhWN6YSIsImNvbm5lY3Rvci1uYW1lLXJlcXVpcmVkIjoiTmF6d2EgesWCxIVjemEgamVzdCB3eW1hZ2FuYS4iLCJjb25uZWN0b3ItdHlwZSI6IlR5cCB6xYLEhWN6YSIsImNvbm5lY3Rvci10eXBlLXJlcXVpcmVkIjoiVHlwIHrFgsSFY3phIGplc3Qgd3ltYWdhbnkuIixjb25uZWN0b3JzOiJLb25maWd1cmFjamEgesWCxIVjenkiLCJjb25uZWN0b3JzLWNvbmZpZyI6IkNvbm5lY3RvcnMgY29uZmlndXJhdGlvbiIsImNvbm5lY3RvcnMtdGFibGUtZW5hYmxlZCI6IkVuYWJsZWQiLCJjb25uZWN0b3JzLXRhYmxlLW5hbWUiOiJOYW1lIiwiY29ubmVjdG9ycy10YWJsZS10eXBlIjoiVHlwZSIsImNvbm5lY3RvcnMtdGFibGUtc3RhdHVzIjoiU3RhdHVzIiwiY29ubmVjdG9ycy10YWJsZS1hY3Rpb25zIjoiQWN0aW9ucyIsImNvbm5lY3RvcnMtdGFibGUta2V5IjoiS2V5IiwiY29ubmVjdG9ycy10YWJsZS1jbGFzcyI6IkNsYXNzIiwicnBjLWNvbW1hbmQtc2VuZCI6IlNlbmQiLCJycGMtY29tbWFuZC1yZXN1bHQiOiJSZXN1bHQiLCJycGMtY29tbWFuZC1lZGl0LXBhcmFtcyI6IkVkaXQgcGFyYW1ldGVycyIsImdhdGV3YXktY29uZmlndXJhdGlvbiI6IkdlbmVyYWwgQ29uZmlndXJhdGlvbiIsImRvY2tlci1sYWJlbCI6IkluIG9yZGVyIHRvIHJ1biBUaGluZ3NCb2FyZCBJb1QgZ2F0ZXdheSBpbiBkb2NrZXIgd2l0aCBjcmVkZW50aWFscyBmb3IgdGhpcyBkZXZpY2UgeW91IGNhbiB1c2UgdGhlIGZvbGxvd2luZyBjb21tYW5kcy4iLCJjcmVhdGUtbmV3LWdhdGV3YXkiOiJVdHfDs3J6IG5vd3kgZ2F0ZXdheSIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiQ3p5IG5hIHBld25vIGNoY2VzeiB1dHdvcnp5xIcgbm93eSBnYXRld2F5IG8gbmF6d2llOiAne3tnYXRld2F5TmFtZX19Jz8iLCJjcmVhdGVkLXRpbWUiOiJDcmVhdGVkIHRpbWUiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaGVhZGVyIjoiQ29uZmlndXJhdGlvbnMgd2lsbCBiZSBkZWxldGVkIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWJvZHkiOiJUdXJuaW5nIG9mZiBSZW1vdGUgQ29uZmlndXJhdGlvbiBpcyBwb3NzaWJsZSBvbmx5IGlmIHRoZXJlIGlzIHBoeXNpY2FsIGFjY2VzcyB0byB0aGUgR2F0ZXdheS4gQWxsIHByZXZpb3VzIGNvbmZpZ3VyYXRpb25zIHdpbGwgYmUgZGVsZXRlZC48YnI+PGJyPiBcblRvIHR1cm4gb2ZmIGNvbmZpZ3VyYXRpb24sIGVudGVyIGdhdGV3YXkgbmFtZSBiZWxvdyIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1pbnB1dCI6IkdhdGV3YXkgbmFtZSIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1pbnB1dC1yZXF1aXJlZCI6IkdhdGV3YXkgbmFtZSBpcyBtYW5kYXRvcnkiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctY29uZmlybSI6IlR1cm4gT2ZmIixkZWxldGU6IlVzdcWEIGtvbmZpZ3VyYWNqxJkiLCJkb3dubG9hZC10aXAiOiJQb2JpZXJ6IHBsaWsga29uZmlndXJhY3lqbnkiLCJkcm9wLWZpbGUiOiJEcm9wIGZpbGUgaGVyZSBvciIsZ2F0ZXdheToiV2VqxZtjaWUiLCJnYXRld2F5LWV4aXN0cyI6IlVyesSFZHplbmllIG8gdGVqIHNhbWVqIG5hendpZSBqdcW8IGlzdG5pZWplLiIsImdhdGV3YXktbmFtZSI6Ik5hendhIEdhdGV3YXkiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJOYXp3YSBHYXRld2F5J2EgamVzdCB3eW1hZ2FuYS4iLCJnYXRld2F5LXNhdmVkIjoiS29uZmlndXJhY2phIEdhdGV3ZXknYSB6b3N0YcWCYSBwb215xZtsbmllIHphcGlzYW5hLiIsZ3JwYzoiR1JQQyIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0IjoiS2VlcCBhbGl2ZSB0aW1lb3V0IChpbiBtcykiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dC1yZXF1aXJlZCI6IktlZXAgYWxpdmUgdGltZW91dCBpcyByZXF1aXJlZCIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LW1pbiI6IktlZXAgYWxpdmUgdGltZW91dCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcGF0dGVybiI6IktlZXAgYWxpdmUgdGltZW91dCBpcyBub3QgdmFsaWQiLCJncnBjLWtlZXAtYWxpdmUiOiJLZWVwIGFsaXZlIChpbiBtcykiLCJncnBjLWtlZXAtYWxpdmUtcmVxdWlyZWQiOiJLZWVwIGFsaXZlIGlzIHJlcXVpcmVkIiwiZ3JwYy1rZWVwLWFsaXZlLW1pbiI6IktlZXAgYWxpdmUgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMta2VlcC1hbGl2ZS1wYXR0ZXJuIjoiS2VlcCBhbGl2ZSBpcyBub3QgdmFsaWQiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MiOiJNaW4gdGltZSBiZXR3ZWVuIHBpbmdzIChpbiBtcykiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcmVxdWlyZWQiOiJNaW4gdGltZSBiZXR3ZWVuIHBpbmdzIGlzIHJlcXVpcmVkIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLW1pbiI6Ik1pbiB0aW1lIGJldHdlZW4gcGluZ3MgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1wYXR0ZXJuIjoiTWluIHRpbWUgYmV0d2VlbiBwaW5ncyBpcyBub3QgdmFsaWQiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YSI6Ik1pbiBwaW5nIGludGVydmFsIHdpdGhvdXQgZGF0YSAoaW4gbXMpIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcmVxdWlyZWQiOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgaXMgcmVxdWlyZWQiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1taW4iOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgaXMgbm90IHZhbGlkIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoiTWF4IHBpbmdzIHdpdGhvdXQgZGF0YSIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6Ik1heCBwaW5ncyB3aXRob3V0IGRhdGEgaXMgcmVxdWlyZWQiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtbWluIjoiTWF4IHBpbmdzIHdpdGhvdXQgZGF0YSBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiJNYXggcGluZ3Mgd2l0aG91dCBkYXRhIGlzIG5vdCB2YWxpZCIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMiOiJJbmFjdGl2aXR5IGNoZWNrIHBlcmlvZCAoaW4gc2VjKSIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcmVxdWlyZWQiOiJJbmFjdGl2aXR5IGNoZWNrIHBlcmlvZCBpcyByZXF1aXJlZCIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtbWluIjoiSW5hY3Rpdml0eSBjaGVjayBwZXJpb2QgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcGF0dGVybiI6IkluYWN0aXZpdHkgY2hlY2sgcGVyaW9kIGlzIG5vdCB2YWxpZCIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzIjoiSW5hY3Rpdml0eSB0aW1lb3V0IChpbiBzZWMpIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcmVxdWlyZWQiOiJJbmFjdGl2aXR5IHRpbWVvdXQgaXMgcmVxdWlyZWQiLCJpbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1taW4iOiJJbmFjdGl2aXR5IHRpbWVvdXQgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLXBhdHRlcm4iOiJJbmFjdGl2aXR5IHRpbWVvdXQgaXMgbm90IHZhbGlkIiwianNvbi1wYXJzZSI6Ik5pZXByYXdpZMWCb3d5IEpTT04uIiwianNvbi1yZXF1aXJlZCI6IlBvbGUgbmllIG1vxbxlIGJ5xIcgcHVzdGUuIixsb2dzOntsb2dzOiJMb2dzIixkYXlzOiJkYXlzIixob3VyczoiaG91cnMiLG1pbnV0ZXM6Im1pbnV0ZXMiLHNlY29uZHM6InNlY29uZHMiLCJkYXRlLWZvcm1hdCI6IkRhdGUgZm9ybWF0IiwiZGF0ZS1mb3JtYXQtcmVxdWlyZWQiOiJEYXRlIGZvcm1hdCByZXF1aXJlZCIsImxvZy1mb3JtYXQiOiJMb2cgZm9ybWF0IiwibG9nLXR5cGUiOiJMb2cgdHlwZSIsImxvZy1mb3JtYXQtcmVxdWlyZWQiOiJMb2cgZm9ybWF0IHJlcXVpcmVkIixyZW1vdGU6IlJlbW90ZSBsb2dnaW5nIiwicmVtb3RlLWxvZ3MiOiJSZW1vdGUgbG9ncyIsbG9jYWw6IkxvY2FsIGxvZ2dpbmciLGxldmVsOiJMb2cgbGV2ZWwiLCJmaWxlLXBhdGgiOiJGaWxlIHBhdGgiLCJmaWxlLXBhdGgtcmVxdWlyZWQiOiJGaWxlIHBhdGggcmVxdWlyZWQiLCJzYXZpbmctcGVyaW9kIjoiTG9nIHNhdmluZyBwZXJpb2QiLCJzYXZpbmctcGVyaW9kLW1pbiI6IkxvZyBzYXZpbmcgcGVyaW9kIGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJzYXZpbmctcGVyaW9kLXJlcXVpcmVkIjoiTG9nIHNhdmluZyBwZXJpb2QgcmVxdWlyZWQiLCJiYWNrdXAtY291bnQiOiJCYWNrdXAgY291bnQiLCJiYWNrdXAtY291bnQtbWluIjoiQmFja3VwIGNvdW50IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJiYWNrdXAtY291bnQtcmVxdWlyZWQiOiJCYWNrdXAgY291bnQgcmVxdWlyZWQifSwibWluLXBhY2stc2VuZC1kZWxheSI6Ik1pbiBwYWNrIHNlbmQgZGVsYXkgKGluIG1zKSIsIm1pbi1wYWNrLXNlbmQtZGVsYXktcmVxdWlyZWQiOiJNaW4gcGFjayBzZW5kIGRlbGF5IGlzIHJlcXVpcmVkIiwibWluLXBhY2stc2VuZC1kZWxheS1taW4iOiJNaW4gcGFjayBzZW5kIGRlbGF5IGNhbiBub3QgYmUgbGVzcyB0aGVuIDAiLCJuby1jb25uZWN0b3JzIjoiQnJhayB6xYLEhWN6eSIsIm5vLWRhdGEiOiJCcmFrIGtvbmZpZ3VyYWNqaSIsIm5vLWdhdGV3YXktZm91bmQiOiJOaWUgem5hbGV6aW9ubyBnYXRld2F5J2EuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5pZSB6bmFsZXppb25vLiIsInBhdGgtbG9ncyI6IsWaY2llxbxrYSBkbyBwbGlrw7N3IGR6aWVubmlrYSIsInBhdGgtbG9ncy1yZXF1aXJlZCI6IsWaY2llxbxrYSBqZXN0IHd5bWFnYW5hLiIsInBlcm1pdC13aXRob3V0LWNhbGxzIjoiS2VlcCBhbGl2ZSBwZXJtaXQgd2l0aG91dCBjYWxscyIscmVtb3RlOiJaZGFsbmEga29uZmlndXJhY2phIiwicmVtb3RlLWxvZ2dpbmctbGV2ZWwiOiJQb3ppb20gbG9nb3dhbmlhIiwicmVtb3ZlLWVudHJ5IjoiVXN1xYQga29uZmlndXJhY2rEmSIsInJlbW90ZS1zaGVsbCI6IlJlbW90ZSBzaGVsbCIsInJlbW90ZS1jb25maWd1cmF0aW9uIjoiUmVtb3RlIENvbmZpZ3VyYXRpb24iLG90aGVyOiJPdGhlciIsInNhdmUtdGlwIjoiWmFwaXN6IHBsaWsga29uZmlndXJhY3lqbnkiLCJzZWN1cml0eS10eXBlIjoiUm9kemFqIHphYmV6cGllY3plbmlhIiwic2VjdXJpdHktdHlwZXMiOnsiYWNjZXNzLXRva2VuIjoiVG9rZW4gZG9zdMSZcHUiLCJ1c2VybmFtZS1wYXNzd29yZCI6IlVzZXJuYW1lIGFuZCBQYXNzd29yZCIsdGxzOiJUTFMiLCJ0bHMtYWNjZXNzLXRva2VuIjoiVExTICsgQWNjZXNzIFRva2VuIiwidGxzLXByaXZhdGUta2V5IjoiVExTICsgUHJpdmF0ZSBLZXkifSwic2VydmVyLXBvcnQiOiJTZXJ2ZXIgcG9ydCIsc3RhdGlzdGljczp7c3RhdGlzdGljOiJTdGF0aXN0aWMiLHN0YXRpc3RpY3M6IlN0YXRpc3RpY3MiLCJzdGF0aXN0aWMtY29tbWFuZHMtZW1wdHkiOiJObyBzdGF0aXN0aWNzIGF2YWlsYWJsZSIsY29tbWFuZHM6IkNvbW1hbmRzIiwic2VuZC1wZXJpb2QiOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgKGluIHNlYykiLCJzZW5kLXBlcmlvZC1yZXF1aXJlZCI6IlN0YXRpc3RpYyBzZW5kIHBlcmlvZCBpcyByZXF1aXJlZCIsInNlbmQtcGVyaW9kLW1pbiI6IlN0YXRpc3RpYyBzZW5kIHBlcmlvZCBjYW4gbm90IGJlIGxlc3MgdGhlbiA2MCIsInNlbmQtcGVyaW9kLXBhdHRlcm4iOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgaXMgbm90IHZhbGlkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uIjoiQ2hlY2sgY29ubmVjdG9ycyBjb25maWd1cmF0aW9uIChpbiBzZWMpIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXJlcXVpcmVkIjoiQ2hlY2sgY29ubmVjdG9ycyBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLW1pbiI6IkNoZWNrIGNvbm5lY3RvcnMgY29uZmlndXJhdGlvbiBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXBhdHRlcm4iOiJDaGVjayBjb25uZWN0b3JzIGNvbmZpZ3VyYXRpb24gaXMgbm90IHZhbGlkIixhZGQ6IkFkZCBjb21tYW5kIix0aW1lb3V0OiJUaW1lb3V0IiwidGltZW91dC1tcyI6IlRpbWVvdXQgKGluIG1zKSIsInRpbWVvdXQtcmVxdWlyZWQiOiJUaW1lb3V0IGlzIHJlcXVpcmVkIiwidGltZW91dC1taW4iOiJUaW1lb3V0IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJ0aW1lb3V0LXBhdHRlcm4iOiJUaW1lb3V0IGlzIG5vdCB2YWxpZCIsImF0dHJpYnV0ZS1uYW1lIjoiQXR0cmlidXRlIG5hbWUiLCJhdHRyaWJ1dGUtbmFtZS1yZXF1aXJlZCI6IkF0dHJpYnV0ZSBuYW1lIGlzIHJlcXVpcmVkIixjb21tYW5kOiJDb21tYW5kIiwiY29tbWFuZC1yZXF1aXJlZCI6IkNvbW1hbmQgaXMgcmVxdWlyZWQiLHJlbW92ZToiUmVtb3ZlIGNvbW1hbmQifSxzdG9yYWdlOiJTa8WCYWRvd2FuaWUiLCJzdG9yYWdlLW1heC1maWxlLXJlY29yZHMiOiJNYWtzeW1hbG5hIGxpY3piYSByZWtvcmTDs3cgdyBwbGlrdSIsInN0b3JhZ2UtbWF4LWZpbGVzIjoiTWFrc3ltYWxuYSBsaWN6YmEgcGxpa8OzdyIsInN0b3JhZ2UtbWF4LWZpbGVzLW1pbiI6Ik1pbmltYWxuYSBsaWN6YmEgdG8gMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiTnVtZXIgamVzdCBuaWVwcmF3aWTFgm93eS4iLCJzdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZCI6Ik51bWVyIGplc3Qgd3ltYWdhbnkuIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik1ha3N5bWFsbmEgbGljemJhIHJla29yZMOzdyB3IHBhbWnEmWNpIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1taW4iOiJNaW5pbWFsbmEgbGljemJhIHJla29yZMOzdyB0byAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6Ik51bWVyIGplc3QgbmllcHJhd2lkxYJvd3kuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1yZXF1aXJlZCI6Ik1ha3N5bWFsbmEgbGljemJhIHJla29yZMOzdyBqZXN0IHd5bWFnYW5hLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQiOiJSZWFkIHJlY29yZCBjb3VudCBpbiBzdG9yYWdlIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1taW4iOiJNaW5pbXVtIG51bWJlciBvZiByZWNvcmRzIGlzIDEuIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkIjoiUmVhZCByZWNvcmQgY291bnQgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQiOiJNYXggcmVhZCByZWNvcmQgY291bnQgaW4gc3RvcmFnZSIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LW1pbiI6Ik1pbmltdW0gbnVtYmVyIG9mIHJlY29yZHMgaXMgMS4iLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1yZXF1aXJlZCI6Ik1heCBSZWFkIHJlY29yZCBjb3VudCBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLWRhdGEtZm9sZGVyLXBhdGgiOiJEYXRhIGZvbGRlciBwYXRoIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoLXJlcXVpcmVkIjoiRGF0YSBmb2xkZXIgcGF0aCBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6Ik1ha3N5bWFsbnkgcm96bWlhciBwYWtpZXR1IHd5ZGFyemXFhCIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6Ik1pbmltYWxuYSBsaWN6YmEgdG8gMS4iLCJzdG9yYWdlLXBhY2stc2l6ZS1wYXR0ZXJuIjoiTnVtZXIgamVzdCBuaWVwcmF3aWTFgm93eS4iLCJzdG9yYWdlLXBhY2stc2l6ZS1yZXF1aXJlZCI6Ik1ha3N5bWFsbnkgcm96bWlhciBwYWtpZXR1IHd5ZGFyemXFhCBqZXN0IHd5bWFnYW55LiIsInN0b3JhZ2UtcGF0aCI6IsWaY2llxbxrYSBwcnplY2hvd3l3YW5pYSIsInN0b3JhZ2UtcGF0aC1yZXF1aXJlZCI6IsWaY2llxbxrYSBkbyBwcnplY2hvd3l3YW5pYSBqZXN0IHd5bWFnYW5hLiIsInN0b3JhZ2UtdHlwZSI6IlR5cCBza8WCYWRvd2FuaWEiLCJzdG9yYWdlLXR5cGVzIjp7ImZpbGUtc3RvcmFnZSI6Ik5vxZtuaWsgZGFueWNoIiwibWVtb3J5LXN0b3JhZ2UiOiJQcnplY2hvd3l3YW5pZSBwYW1pxJljaSIsc3FsaXRlOiJTUUxJVEUifSx0aGluZ3Nib2FyZDoiVGhpbmdzQm9hcmQiLGdlbmVyYWw6IkdlbmVyYWwiLCJ0aGluZ3Nib2FyZC1ob3N0IjoiR29zcG9kYXJ6IFRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6Ikhvc3QgamVzdCB3eW1hZ2FueS4iLCJ0aGluZ3Nib2FyZC1wb3J0IjoiUG9ydCBUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLXBvcnQtbWF4IjoiTWFrc3ltYWxueSBudW1lciBwb3J0dSB0byA2NTUzNS4iLCJ0aGluZ3Nib2FyZC1wb3J0LW1pbiI6Ik1pbmltYWxueSBudW1lciBwb3J0dSB0byAxLiIsInRoaW5nc2JvYXJkLXBvcnQtcGF0dGVybiI6IlBvcnQgamVzdCBuaWVwcmF3aWTFgm93eS4iLCJ0aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkIjoiUG9ydCBqZXN0IHd5bWFnYW55LiIsdGlkeToiVXBvcnrEhWRrdWoiLCJ0aWR5LXRpcCI6IlVwb3J6xIVka293YW5hIGtvbmZpZ3VyYWNqYSBKU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoiWsWCxIVjemUge3t0eXBlTmFtZX19IGtvbmZpZ3VyYWNqYSIsInRscy1wYXRoLWNhLWNlcnRpZmljYXRlIjoixZpjaWXFvGthIGRvIGNlcnR5ZmlrYXR1IENBIG5hIGdhdGV3YXkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiLFmmNpZcW8a2EgZG8gY2VydHlmaWthdHUga2xpZW50YSBuYSBnYXRld2F5IiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzIjoiTWVzc2FnZXMgVFRMIGNoZWNrIGluIGhvdXJzIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXJlcXVpcmVkIjoiTWVzc2FnZXMgVFRMIGNoZWNrIGluIGhvdXJzIGlzIHJlcXVpcmVkLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1taW4iOiJNaW4gbnVtYmVyIGlzIDEuIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsIm1lc3NhZ2VzLXR0bC1pbi1kYXlzIjoiTWVzc2FnZXMgVFRMIGluIGRheXMiLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1yZXF1aXJlZCI6Ik1lc3NhZ2VzIFRUTCBpbiBkYXlzIGlzIHJlcXVpcmVkLiIsIm1lc3NhZ2VzLXR0bC1pbi1kYXlzLW1pbiI6Ik1pbiBudW1iZXIgaXMgMS4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJtcXR0LXFvcyI6IlFvUyIsIm1xdHQtcW9zLXJlcXVpcmVkIjoiUW9TIGlzIHJlcXVpcmVkIiwibXF0dC1xb3MtcmFuZ2UiOiJRb1MgdmFsdWVzIHJhbmdlIGlzIGZyb20gMCB0byAxIiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiLFmmNpZcW8a2EgZG8ga2x1Y3phIHByeXdhdG5lZ28gbmEgYnJhbWNlIiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiJQcnplxYLEhWN6IHRyeWIgcGXFgm5vZWtyYW5vd3kiLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IktvbmZpZ3VyYWNqYSBKU09OKiIsInVwZGF0ZS1jb25maWciOiJEb2Rhai96YWt0dWFsaXp1aiBrb25maWd1cmFjasSZIEpTT04iLGhpbnRzOnsicmVtb3RlLWNvbmZpZ3VyYXRpb24iOiJFbmFibGVzIHJlbW90ZSBjb25maWd1cmF0aW9uIGFuZCBtYW5hZ2VtZW50IG9mIHRoZSBnYXRld2F5IiwicmVtb3RlLXNoZWxsIjoiRW5hYmxlcyByZW1vdGUgY29udHJvbCBvZiB0aGUgb3BlcmF0aW5nIHN5c3RlbSB3aXRoIHRoZSBnYXRld2F5IGZyb20gdGhlIFJlbW90ZSBTaGVsbCB3aWRnZXQiLGhvc3Q6Ikhvc3RuYW1lIG9yIElQIGFkZHJlc3Mgb2YgVGhpbmdzQm9hcmQgc2VydmVyIixwb3J0OiJQb3J0IG9mIE1RVFQgc2VydmljZSBvbiBUaGluZ3NCb2FyZCBzZXJ2ZXIiLHRva2VuOiJBY2Nlc3MgdG9rZW4gZm9yIHRoZSBnYXRld2F5IGZyb20gVGhpbmdzQm9hcmQgc2VydmVyIiwiY2xpZW50LWlkIjoiTVFUVCBjbGllbnQgaWQgZm9yIHRoZSBnYXRld2F5IGZvcm0gVGhpbmdzQm9hcmQgc2VydmVyIix1c2VybmFtZToiTVFUVCB1c2VybmFtZSBmb3IgdGhlIGdhdGV3YXkgZm9ybSBUaGluZ3NCb2FyZCBzZXJ2ZXIiLHBhc3N3b3JkOiJNUVRUIHBhc3N3b3JkIGZvciB0aGUgZ2F0ZXdheSBmb3JtIFRoaW5nc0JvYXJkIHNlcnZlciIsImNhLWNlcnQiOiJQYXRoIHRvIENBIGNlcnRpZmljYXRlIGZpbGUiLCJkYXRlLWZvcm0iOiJEYXRlIGZvcm1hdCBpbiBsb2cgbWVzc2FnZSIsImRhdGEtZm9sZGVyIjoiUGF0aCB0byBmb2xkZXIsIHRoYXQgd2lsbCBjb250YWlucyBkYXRhIChSZWxhdGl2ZSBvciBBYnNvbHV0ZSkiLCJsb2ctZm9ybWF0IjoiTG9nIG1lc3NhZ2UgZm9ybWF0IiwicmVtb3RlLWxvZyI6IkVuYWJsZXMgcmVtb3RlIGxvZ2dpbmcgYW5kIGxvZ3MgcmVhZGluZyBmcm9tIHRoZSBnYXRld2F5IiwiYmFja3VwLWNvdW50IjoiSWYgYmFja3VwIGNvdW50IGlzID4gMCwgd2hlbiBhIHJvbGxvdmVyIGlzIGRvbmUsIG5vIG1vcmUgdGhhbiBiYWNrdXAgY291bnQgZmlsZXMgYXJlIGtlcHQgLSB0aGUgb2xkZXN0IG9uZXMgYXJlIGRlbGV0ZWQiLHN0b3JhZ2U6IlByb3ZpZGVzIGNvbmZpZ3VyYXRpb24gZm9yIHNhdmluZyBpbmNvbWluZyBkYXRhIGJlZm9yZSBpdCBpcyBzZW50IHRvIHRoZSBwbGF0Zm9ybSIsIm1heC1maWxlLWNvdW50IjoiTWF4aW11bSBjb3VudCBvZiBmaWxlIHRoYXQgd2lsbCBiZSBjcmVhdGVkIiwibWF4LXJlYWQtY291bnQiOiJDb3VudCBvZiBtZXNzYWdlcyB0byBnZXQgZnJvbSBzdG9yYWdlIGFuZCBzZW5kIHRvIFRoaW5nc0JvYXJkIiwibWF4LXJlY29yZHMiOiJNYXhpbXVtIGNvdW50IG9mIHJlY29yZHMgdGhhdCB3aWxsIGJlIHN0b3JlZCBpbiBvbmUgZmlsZSIsInJlYWQtcmVjb3JkLWNvdW50IjoiQ291bnQgb2YgbWVzc2FnZXMgdG8gZ2V0IGZyb20gc3RvcmFnZSBhbmQgc2VuZCB0byBUaGluZ3NCb2FyZCIsIm1heC1yZWNvcmRzLWNvdW50IjoiTWF4aW11bSBjb3VudCBvZiBkYXRhIGluIHN0b3JhZ2UgYmVmb3JlIHNlbmQgdG8gVGhpbmdzQm9hcmQiLCJ0dGwtY2hlY2staG91ciI6IkhvdyBvZnRlbiB3aWxsIEdhdGV3YXkgY2hlY2sgZGF0YSBmb3Igb2Jzb2xlc2NlbmNlIiwidHRsLW1lc3NhZ2VzLWRheSI6Ik1heGltdW0gZGF5cyB0aGF0IHN0b3JhZ2Ugd2lsbCBzYXZlIGRhdGEiLGNvbW1hbmRzOiJDb21tYW5kcyBmb3IgY29sbGVjdGluZyBhZGRpdGlvbmFsIHN0YXRpc3RpYyIsYXR0cmlidXRlOiJTdGF0aXN0aWMgdGVsZW1ldHJ5IGtleSIsdGltZW91dDoiVGltZW91dCBmb3IgY29tbWFuZCBleGVjdXRpbmciLGNvbW1hbmQ6IlRoZSByZXN1bHQgb2YgdGhlIGNvbW1hbmQgZXhlY3V0aW9uLCB3aWxsIGJlIHVzZWQgYXMgdGhlIHZhbHVlIGZvciB0ZWxlbWV0cnkiLCJjaGVjay1kZXZpY2UtYWN0aXZpdHkiOiJFbmFibGVzIG1vbml0b3IgdGhlIGFjdGl2aXR5IG9mIGVhY2ggY29ubmVjdGVkIGRldmljZSIsImluYWN0aXZpdHktdGltZW91dCI6IlRpbWUgYWZ0ZXIgd2hvc2UgdGhlIGdhdGV3YXkgd2lsbCBkaXNjb25uZWN0IGRldmljZSIsImluYWN0aXZpdHktcGVyaW9kIjoiUGVyaW9kaWNpdHkgb2YgZGV2aWNlIGFjdGl2aXR5IGNoZWNrIiwibWluaW1hbC1wYWNrLWRlbGF5IjoiRGVsYXkgYmV0d2VlbiBzZW5kaW5nIHBhY2tzIG9mIG1lc3NhZ2VzIChEZWNyZWFzaW5nIHRoaXMgc2V0dGluZyByZXN1bHRzIGluIGluY3JlYXNlZCBDUFUgdXNhZ2UpIixxb3M6IlF1YWxpdHkgb2YgU2VydmljZSBpbiBNUVRUIG1lc3NhZ2luZyAoMCAtIGF0IG1vc3Qgb25jZSwgMSAtIGF0IGxlYXN0IG9uY2UpIiwic2VydmVyLXBvcnQiOiJOZXR3b3JrIHBvcnQgb24gd2hpY2ggR1JQQyBzZXJ2ZXIgd2lsbCBsaXN0ZW4gZm9yIGluY29taW5nIGNvbm5lY3Rpb25zLiIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0IjoiTWF4aW11bSB0aW1lIHRoZSBzZXJ2ZXIgc2hvdWxkIHdhaXQgZm9yIGEga2VlcGFsaXZlIHBpbmcgcmVzcG9uc2UgYmVmb3JlIGNvbnNpZGVyaW5nIHRoZSBjb25uZWN0aW9uIGRlYWQuIiwiZ3JwYy1rZWVwLWFsaXZlIjoiRHVyYXRpb24gYmV0d2VlbiB0d28gc3VjY2Vzc2l2ZSBrZWVwYWxpdmUgcGluZyBtZXNzYWdlcyB3aGVuIHRoZXJlIGlzIG5vIGFjdGl2ZSBSUEMgY2FsbC4iLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MiOiJNaW5pbXVtIGFtb3VudCBvZiB0aW1lIHRoZSBzZXJ2ZXIgc2hvdWxkIHdhaXQgYmV0d2VlbiBzZW5kaW5nIGtlZXBhbGl2ZSBwaW5nIG1lc3NhZ2VzIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoiTWF4aW11bSBudW1iZXIgb2Yga2VlcGFsaXZlIHBpbmcgbWVzc2FnZXMgdGhhdCB0aGUgc2VydmVyIGNhbiBzZW5kIHdpdGhvdXQgcmVjZWl2aW5nIGFueSBkYXRhIGJlZm9yZSBpdCBjb25zaWRlcnMgdGhlIGNvbm5lY3Rpb24gZGVhZC4iLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YSI6Ik1pbmltdW0gYW1vdW50IG9mIHRpbWUgdGhlIHNlcnZlciBzaG91bGQgd2FpdCBiZXR3ZWVuIHNlbmRpbmcga2VlcGFsaXZlIHBpbmcgbWVzc2FnZXMgd2hlbiB0aGVyZSBpcyBubyBkYXRhIGJlaW5nIHNlbnQgb3IgcmVjZWl2ZWQuIiwicGVybWl0LXdpdGhvdXQtY2FsbHMiOiJBbGxvdyBzZXJ2ZXIgdG8ga2VlcCB0aGUgR1JQQyBjb25uZWN0aW9uIGFsaXZlIGV2ZW4gd2hlbiB0aGVyZSBhcmUgbm8gYWN0aXZlIFJQQyBjYWxscy4ifX0sS289eyJhZGQtZW50cnkiOiJBZGljaW9uYXIgY29uZmlndXJhw6fDo28iLCJjb25uZWN0b3ItYWRkIjoiQWRpY2lvbmFyIG5vdm8gY29uZWN0b3IiLCJjb25uZWN0b3ItZW5hYmxlZCI6IkhhYmlsaXRhciBjb25lY3RvciIsImNvbm5lY3Rvci1uYW1lIjoiTm9tZSBkbyBjb25lY3RvciIsImNvbm5lY3Rvci1uYW1lLXJlcXVpcmVkIjoiTyBub21lIGRvIGNvbmVjdG9yIMOpIG9icmlnYXTDs3Jpby4iLCJjb25uZWN0b3ItdHlwZSI6IlRpcG8gZGUgY29uZWN0b3IiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6Ik8gdGlwbyBkZSBjb25lY3RvciDDqSBvYnJpZ2F0w7NyaW8uIixjb25uZWN0b3JzOiJDb25maWd1cmHDp8OjbyBkZSBjb25lY3RvcmVzIiwiY3JlYXRlLW5ldy1nYXRld2F5IjoiQ3JpYXIgdW0gbm92byBnYXRld2F5IiwiY3JlYXRlLW5ldy1nYXRld2F5LXRleHQiOiJUZW0gY2VydGV6YSBkZSBxdWUgZGVzZWphIGNyaWFyIHVtIG5vdm8gZ2F0ZXdheSBjb20gbyBub21lOiAne3tnYXRld2F5TmFtZX19Jz8iLGRlbGV0ZToiRXhjbHVpciBjb25maWd1cmHDp8OjbyIsImRvd25sb2FkLXRpcCI6IkRvd25sb2FkIGRlIGFycXVpdm8gZGUgY29uZmlndXJhw6fDo28iLGdhdGV3YXk6IkdhdGV3YXkiLCJnYXRld2F5LWV4aXN0cyI6IkrDoSBleGlzdGUgdW0gZGlzcG9zaXRpdm8gY29tIG8gbWVzbW8gbm9tZS4iLCJnYXRld2F5LW5hbWUiOiJOb21lIGRvIGdhdGV3YXkiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJPIG5vbWUgZG8gZ2F0ZXdheSDDqSBvYnJpZ2F0w7NyaW8uIiwiZ2F0ZXdheS1zYXZlZCI6IkEgY29uZmlndXJhw6fDo28gZG8gZ2F0ZXdheSBmb2kgc2FsdmEgY29ycmV0YW1lbnRlLiIsImpzb24tcGFyc2UiOiJKU09OIGludsOhbGlkby4iLCJqc29uLXJlcXVpcmVkIjoiTyBjYW1wbyBuw6NvIHBvZGUgZXN0YXIgZW0gYnJhbmNvLiIsIm5vLWNvbm5lY3RvcnMiOiJTZW0gY29uZWN0b3JlcyIsIm5vLWRhdGEiOiJTZW0gY29uZmlndXJhw6fDtWVzIiwibm8tZ2F0ZXdheS1mb3VuZCI6Ik5lbmh1bSBnYXRld2F5IGVuY29udHJhZG8uIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG7Do28gZW5jb250cmFkby4iLCJwYXRoLWxvZ3MiOiJDYW1pbmhvIHBhcmEgYXJxdWl2b3MgZGUgbG9nIiwicGF0aC1sb2dzLXJlcXVpcmVkIjoiTyBjYW1pbmhvIMOpIG9icmlnYXTDs3JpbyIscmVtb3RlOiJDb25maWd1cmHDp8OjbyByZW1vdGEiLCJyZW1vdGUtbG9nZ2luZy1sZXZlbCI6Ik7DrXZlbCBkZSByZWdpc3RybyBlbSBsb2ciLCJyZW1vdmUtZW50cnkiOiJSZW1vdmVyIGNvbmZpZ3VyYcOnw6NvIiwic2F2ZS10aXAiOiJTYWx2YXIgYXJxdWl2byBkZSBjb25maWd1cmHDp8OjbyIsInNlY3VyaXR5LXR5cGUiOiJUaXBvIGRlIHNlZ3VyYW7Dp2EiLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJUb2tlbiBkZSBBY2Vzc28iLHRsczoiVExTIn0sc3RvcmFnZToiQXJtYXplbmFtZW50byIsInN0b3JhZ2UtbWF4LWZpbGUtcmVjb3JkcyI6Ik7Dum1lcm8gbcOheGltbyBkZSByZWdpc3Ryb3MgZW0gYXJxdWl2byIsInN0b3JhZ2UtbWF4LWZpbGVzIjoiTsO6bWVybyBtw6F4aW1vIGRlIGFycXVpdm9zIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoiTyBuw7ptZXJvIG3DrW5pbW8gw6kgMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiTyBuw7ptZXJvIG7Do28gw6kgdsOhbGlkby4iLCJzdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZCI6Ik8gbsO6bWVybyDDqSBvYnJpZ2F0w7NyaW8uIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik7Dum1lcm8gbcOheGltbyBkZSByZWdpc3Ryb3MgZW0gYXJtYXplbmFtZW50byIsInN0b3JhZ2UtbWF4LXJlY29yZHMtbWluIjoiTyBuw7ptZXJvIG3DrW5pbW8gZGUgcmVnaXN0cm9zIMOpIDEuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoiTyBuw7ptZXJvIG7Do28gw6kgdsOhbGlkby4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkIjoiTyBuw7ptZXJvIG3DoXhpbW8gZGUgcmVnaXN0cm9zIMOpIG9icmlnYXTDs3Jpby4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6IlRhbWFuaG8gbcOheGltbyBkZSBwYWNvdGUgZGUgZXZlbnRvcyIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6Ik8gbsO6bWVybyBtw61uaW1vIMOpIDEuIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6Ik8gbsO6bWVybyBuw6NvIMOpIHbDoWxpZG8uIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiJPIHRhbWFuaG8gbcOheGltbyBkZSBwYWNvdGUgZGUgZXZlbnRvcyDDqSBvYnJpZ2F0w7NyaW8uIiwic3RvcmFnZS1wYXRoIjoiQ2FtaW5obyBkZSBhcm1hemVuYW1lbnRvIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoiTyBjYW1pbmhvIGRlIGFybWF6ZW5hbWVudG8gw6kgb2JyaWdhdMOzcmlvLiIsInN0b3JhZ2UtdHlwZSI6IlRpcG8gZGUgYXJtYXplbmFtZW50byIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoiQXJtYXplbmFtZW50byBkZSBhcnF1aXZvIiwibWVtb3J5LXN0b3JhZ2UiOiJBcm1hemVuYW1lbnRvIGRlIG1lbcOzcmlhIn0sdGhpbmdzYm9hcmQ6IlRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdCI6Ikhvc3QgVGhpbmdzQm9hcmQiLCJ0aGluZ3Nib2FyZC1ob3N0LXJlcXVpcmVkIjoiTyBob3N0IMOpIG9icmlnYXTDs3Jpby4iLCJ0aGluZ3Nib2FyZC1wb3J0IjoiUG9ydGEgVGhpbmdzQm9hcmQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6Ik8gbsO6bWVybyBtw6F4aW1vIGRlIHBvcnRhcyDDqSA2NTUzNS4iLCJ0aGluZ3Nib2FyZC1wb3J0LW1pbiI6Ik8gbsO6bWVybyBtw61uaW1vIGRlIHBvcnRhcyDDqSAxLiIsInRoaW5nc2JvYXJkLXBvcnQtcGF0dGVybiI6IkEgcG9ydGEgbsOjbyDDqSB2w6FsaWRhLiIsInRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWQiOiJBIHBvcnRhIMOpIG9icmlnYXTDs3JpYS4iLHRpZHk6IlRpZHkiLCJ0aWR5LXRpcCI6IkNvbmZpZyBUaWR5IEpTT04iLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiJDb25maWd1cmHDp8OjbyBkbyBjb25lY3RvciB7e3R5cGVOYW1lfX0iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IkNhbWluaG8gcGFyYSBjZXJ0aWZpY2FkbyBkZSBBdXRvcmlkYWRlIGRlIENlcnRpZmljYcOnw6NvIG5vIGdhdGV3YXkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiJDYW1pbmhvIHBhcmEgY2VydGlmaWNhZG8gZGUgY2xpZW50ZSBubyBnYXRld2F5IiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiJDYW1pbmhvIHBhcmEgY2hhdmUgcHJpdmFkYSBubyBnYXRld2F5IiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiJBbHRlcm5hciB0ZWxhIGludGVpcmEiLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IkNvbmZpZ3VyYcOnw6NvIEpTT04qIiwidXBkYXRlLWNvbmZpZyI6IkFkaWNpb25hci9hdHVhbGl6YXIgY29uZmlndXJhw6fDo28gZGUgSlNPTiJ9LCRvPXsiYWRkLWVudHJ5IjoiRG9kYWoga29uZmlndXJhY2lqbyIsImNvbm5lY3Rvci1hZGQiOiJEb2RhaiBub3YgcHJpa2xqdcSNZWsiLCJjb25uZWN0b3ItZW5hYmxlZCI6Ik9tb2dvxI1pIHByaWtsanXEjWVrIiwiY29ubmVjdG9yLW5hbWUiOiJJbWUgcHJpa2xqdcSNa2EiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6IkltZSBwcmlrbGp1xI1rYSBqZSBvYnZlem5vLiIsImNvbm5lY3Rvci10eXBlIjoiVnJzdGEgcHJpa2xqdcSNa2EiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IlphaHRldmEgc2UgdnJzdGEgcHJpa2xqdcSNa2EuIixjb25uZWN0b3JzOiJLb25maWd1cmFjaWphIHByaWtsanXEjWtvdiIsImNyZWF0ZS1uZXctZ2F0ZXdheSI6IlVzdHZhcmkgbm92IHByZWhvZCIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiQWxpIHN0ZSBwcmVwcmnEjWFuaSwgZGEgxb5lbGl0ZSB1c3R2YXJpdGkgbm92IHByZWhvZCB6IGltZW5vbTogJ3t7Z2F0ZXdheU5hbWV9fSc/IixkZWxldGU6Ikl6YnJpxaFpIGtvbmZpZ3VyYWNpam8iLCJkb3dubG9hZC10aXAiOiJQcmVub3Mga29uZmlndXJhY2lqc2tlIGRhdG90ZWtlIixnYXRld2F5OiJQcmVob2QiLCJnYXRld2F5LWV4aXN0cyI6Ik5hcHJhdmEgeiBpc3RpbSBpbWVub20gxb5lIG9ic3RhamEuIiwiZ2F0ZXdheS1uYW1lIjoiSW1lIHByZWhvZGEiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJJbWUgcHJlaG9kYSBqZSBvYnZlem5vLiIsImdhdGV3YXktc2F2ZWQiOiJLb25maWd1cmFjaWphIHByZWhvZGEgamUgdXNwZcWhbm8gc2hyYW5qZW5hLiIsImpzb24tcGFyc2UiOiJOZXZlbGphdmVuIEpTT04uIiwianNvbi1yZXF1aXJlZCI6IlBvbGplIG5lIHNtZSBiaXRpIHByYXpuby4iLCJuby1jb25uZWN0b3JzIjoiTmkgcHJpa2xqdcSNa292Iiwibm8tZGF0YSI6IkJyZXoga29uZmlndXJhY2lqIiwibm8tZ2F0ZXdheS1mb3VuZCI6IlByZWhvZCBuaSBuYWpkZW4uIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5pIG1vZ2/EjWUgbmFqdGkuIiwicGF0aC1sb2dzIjoiUG90IGRvIGRuZXZuacWha2loIGRhdG90ZWsiLCJwYXRoLWxvZ3MtcmVxdWlyZWQiOiJQb3QgamUgb2J2ZXpuYS4iLHJlbW90ZToiT2RkYWxqZW5hIGtvbmZpZ3VyYWNpamEiLCJyZW1vdGUtbG9nZ2luZy1sZXZlbCI6IlJhdmVuIGJlbGXFvmVuamEiLCJyZW1vdmUtZW50cnkiOiJPZHN0cmFuaSBrb25maWd1cmFjaWpvIiwic2F2ZS10aXAiOiJTaHJhbmkga29uZmlndXJhY2lqc2tvIGRhdG90ZWtvIiwic2VjdXJpdHktdHlwZSI6IlZyc3RhIHphxaHEjWl0ZSIsInNlY3VyaXR5LXR5cGVzIjp7ImFjY2Vzcy10b2tlbiI6IkRvc3RvcG5pIMW+ZXRvbiIsdGxzOiJUTFMifSxzdG9yYWdlOiJTaHJhbWJhIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoiTmFqdmXEjSB6YXBpc292IHYgZGF0b3Rla2kiLCJzdG9yYWdlLW1heC1maWxlcyI6Ik5hanZlxI1qZSDFoXRldmlsbyBkYXRvdGVrIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoiTmFqbWFuasWhZSDFoXRldmlsbyBqZSAxLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXBhdHRlcm4iOiLFoHRldmlsa2EgbmkgdmVsamF2bmEuIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiLFoHRldmlsa2EgamUgb2J2ZXpuYS4iLCJzdG9yYWdlLW1heC1yZWNvcmRzIjoiTmFqdmXEjSB6YXBpc292IHYgcG9tbmlsbmlrdSIsInN0b3JhZ2UtbWF4LXJlY29yZHMtbWluIjoiTmFqbWFuasWhZSDFoXRldmlsbyB6YXBpc292IGplIDEuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoixaB0ZXZpbGthIG5pIHZlbGphdm5hLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJaYWh0ZXZhbiBqZSBuYWp2ZcSNIHphcGlzb3YuIiwic3RvcmFnZS1wYWNrLXNpemUiOiJOYWp2ZcSNamEgdmVsaWtvc3QgcGFrZXRhIGRvZ29ka292Iiwic3RvcmFnZS1wYWNrLXNpemUtbWluIjoiTmFqbWFuasWhZSDFoXRldmlsbyBqZSAxLiIsInN0b3JhZ2UtcGFjay1zaXplLXBhdHRlcm4iOiLFoHRldmlsa2EgbmkgdmVsamF2bmEuIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiJaYWh0ZXZhbmEgamUgbmFqdmXEjWphIHZlbGlrb3N0IHBha2V0YSBkb2dvZGtvdi4iLCJzdG9yYWdlLXBhdGgiOiJQb3QgcG9tbmlsbmlrYSIsInN0b3JhZ2UtcGF0aC1yZXF1aXJlZCI6IlphaHRldmFuYSBqZSBwb3QgZG8gcG9tbmlsbmlrYS4iLCJzdG9yYWdlLXR5cGUiOiJWcnN0YSBwb21uaWxuaWthIiwic3RvcmFnZS10eXBlcyI6eyJmaWxlLXN0b3JhZ2UiOiJTaHJhbWJhIGRhdG90ZWsiLCJtZW1vcnktc3RvcmFnZSI6IlNwb21pbiBwb21uaWxuaWthIn0sdGhpbmdzYm9hcmQ6IlRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdCI6Ikdvc3RpdGVsaiBUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWQiOiJQb3RyZWJlbiBqZSBnb3N0aXRlbGouIiwidGhpbmdzYm9hcmQtcG9ydCI6IlZyYXRhIFRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtcG9ydC1tYXgiOiJOYWp2ZcSNamEgxaF0ZXZpbGthIHZyYXQgamUgNjU1MzUuIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiJOYWptYW5qxaFhIMWhdGV2aWxrYSB2cmF0IGplIDEuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiVnJhdGEgbmlzbyB2ZWxqYXZuYS4iLCJ0aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkIjoiUG90cmVibmEgc28gdnJhdGEuIix0aWR5OiJVcmVqZW5vIiwidGlkeS10aXAiOiJVcmVqZW5hIGtvbmZpZ3VyYWNpamEgSlNPTiIsInRpdGxlLWNvbm5lY3RvcnMtanNvbiI6IktvbmZpZ3VyYWNpamEga29uZWt0b3JqYSB7e3R5cGVOYW1lfX0iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IlBvdCBkbyBwb3RyZGlsYSBDQSBuYSBwcmVob2R1IiwidGxzLXBhdGgtY2xpZW50LWNlcnRpZmljYXRlIjoiUG90IGRvIHBvdHJkaWxhIHN0cmFua2UgbmEgcHJlaG9kdSIsInRscy1wYXRoLXByaXZhdGUta2V5IjoiUG90IGRvIHphc2VibmVnYSBrbGp1xI1hIG5hIHByZWhvZHUiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlByZWtsb3AgbmEgY2Vsb3phc2xvbnNraSBuYcSNaW4iLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IktvbmZpZ3VyYWNpamEgSlNPTiAqIiwidXBkYXRlLWNvbmZpZyI6IkRvZGFqIC8gcG9zb2RvYmkga29uZmlndXJhY2lqbyBKU09OIn0sWW89eyJhZGQtZW50cnkiOiJZYXDEsWxhbmTEsXJtYSBla2xlIiwiY29ubmVjdG9yLWFkZCI6IlllbmkgYmHEn2xhecSxY8SxIGVrbGUiLCJjb25uZWN0b3ItZW5hYmxlZCI6IkJhxJ9sYXnEsWPEsXnEsSBldGtpbmxlxZ90aXIiLCJjb25uZWN0b3ItbmFtZSI6IkJhxJ9sYXnEsWPEsSBhZMSxIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiJCYcSfbGF5xLFjxLEgYWTEsSBnZXJla2xpLiIsImNvbm5lY3Rvci10eXBlIjoiQmHEn2xhecSxY8SxIHRpcGkiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IkJhxJ9sYXnEsWPEsSB0w7xyw7wgZ2VyZWtsaS4iLGNvbm5lY3RvcnM6IkJhxJ9sYXnEsWPEsWxhcsSxbiB5YXDEsWxhbmTEsXJtYXPEsSIsImNyZWF0ZS1uZXctZ2F0ZXdheSI6IlllbmkgYmlyIGHEnyBnZcOnaWRpIG9sdcWfdHVyIiwiY3JlYXRlLW5ldy1nYXRld2F5LXRleHQiOiIne3tnYXRld2F5TmFtZX19JyBhZMSxbmRhIHllbmkgYmlyIGHEnyBnZcOnaWRpIG9sdcWfdHVybWFrIGlzdGVkacSfaW5pemRlbiBlbWluIG1pc2luaXo/IixkZWxldGU6IllhcMSxbGFuZMSxcm1hecSxIHNpbCIsImRvd25sb2FkLXRpcCI6IllhcMSxbGFuZMSxcm1hIGRvc3lhc8SxbsSxIGluZGlyaW4iLGdhdGV3YXk6IkHEnyBnZcOnaWRpIiwiZ2F0ZXdheS1leGlzdHMiOiJBeW7EsSBhZGEgc2FoaXAgY2loYXogemF0ZW4gdmFyLiIsImdhdGV3YXktbmFtZSI6IkHEnyBnZcOnaWRpIGFkxLEiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJBxJ8gZ2XDp2lkaSBhZMSxIGdlcmVrbGkuIiwiZ2F0ZXdheS1zYXZlZCI6IkHEnyBnZcOnaWRpIHlhcMSxbGFuZMSxcm1hc8SxIGJhxZ9hcsSxeWxhIGtheWRlZGlsZGkuIiwianNvbi1wYXJzZSI6Ikdlw6dlcmxpIGJpciBKU09OIGRlxJ9pbC4iLCJqc29uLXJlcXVpcmVkIjoiQWxhbiBib8WfIG9sYW1hei4iLCJuby1jb25uZWN0b3JzIjoiQmHEn2xhecSxY8SxIHlvayIsIm5vLWRhdGEiOiJZYXDEsWxhbmTEsXJtYSB5b2siLCJuby1nYXRld2F5LWZvdW5kIjoiQcSfIGdlw6dpZGkgYnVsdW5hbWFkxLEuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIGJ1bHVuYW1hZMSxLiIsInBhdGgtbG9ncyI6IkxvZyBkb3N5YWxhcsSxIHlvbHUiLCJwYXRoLWxvZ3MtcmVxdWlyZWQiOiJMb2cgZG9zeWFsYXLEsSBkaXppbmkgZ2VyZWtsaS4iLHJlbW90ZToiVXpha3RhbiB5YXDEsWxhbmTEsXJtYSIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoiTG9nbGFtYSBzZXZpeWVzaSIsInJlbW92ZS1lbnRyeSI6IllhcMSxbGFuZMSxcm1hecSxIGthbGTEsXIiLCJzYXZlLXRpcCI6IllhcMSxbGFuZMSxcm1hIGRvc3lhc8SxbsSxIGtheWRldCIsInNlY3VyaXR5LXR5cGUiOiJHw7x2ZW5saWsgdMO8csO8Iiwic2VjdXJpdHktdHlwZXMiOnsiYWNjZXNzLXRva2VuIjoiQWNjZXNzIFRva2VuIix0bHM6IlRMUyJ9LHN0b3JhZ2U6IkRlcG9sYW1hIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoiRG9zeWFkYWtpIG1ha3NpbXVtIGthecSxdCIsInN0b3JhZ2UtbWF4LWZpbGVzIjoiTWFrc2ltdW0gZG9zeWEgc2F5xLFzxLEiLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiJNaW5pbXVtIHNhecSxIDEnZGlyLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXBhdHRlcm4iOiJTYXnEsSBnZcOnZXJsaSBkZcSfaWwuIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiJTYXnEsSBnZXJla2xpLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMiOiJEZXBvZGFraSBtYWtzaW11bSBrYXnEsXQiLCJzdG9yYWdlLW1heC1yZWNvcmRzLW1pbiI6Ik1pbmltdW0ga2F5xLF0IHNhecSxc8SxIDEnZGlyLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6IlNhecSxIGdlw6dlcmxpIGRlxJ9pbC4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkIjoiTWFrc2ltdW0ga2F5xLF0IGdlcmVrbGkuIiwic3RvcmFnZS1wYWNrLXNpemUiOiJNYWtzaW11bSBldGtpbmxpayBwYWtldGkgYm95dXR1Iiwic3RvcmFnZS1wYWNrLXNpemUtbWluIjoiTWluaW11bSBzYXnEsSAxJ2Rpci4iLCJzdG9yYWdlLXBhY2stc2l6ZS1wYXR0ZXJuIjoiU2F5xLEgZ2XDp2VybGkgZGXEn2lsLiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoiTWFrc2ltdW0gZXRraW5saWsgcGFrZXRpIGJveXV0dSBnZXJla2xpLiIsInN0b3JhZ2UtcGF0aCI6IkRlcG9sYW1hIHlvbHUiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiJEZXBvbGFtYSB5b2x1IGdlcmVrbGkuIiwic3RvcmFnZS10eXBlIjoiRGVwb2xhbWEgdMO8csO8Iiwic3RvcmFnZS10eXBlcyI6eyJmaWxlLXN0b3JhZ2UiOiJEb3N5YSBkZXBvbGFtYSIsIm1lbW9yeS1zdG9yYWdlIjoiQmVsbGVrIGRlcG9sYW1hIn0sdGhpbmdzYm9hcmQ6IlRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdCI6IlRoaW5nc0JvYXJkIGhvc3QiLCJ0aGluZ3Nib2FyZC1ob3N0LXJlcXVpcmVkIjoiSG9zdCBnZXJla2xpLiIsInRoaW5nc2JvYXJkLXBvcnQiOiJUaGluZ3NCb2FyZCBwb3J0IiwidGhpbmdzYm9hcmQtcG9ydC1tYXgiOiJNYWtzaW11bSBwb3J0IG51bWFyYXPEsSA2NTUzNS4iLCJ0aGluZ3Nib2FyZC1wb3J0LW1pbiI6Ik1pbmltdW0gcG9ydCBudW1hcmFzxLEgMSdkaXIuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiUG9ydCBnZcOnZXJsaSBkZcSfaWwuIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6IlBvcnQgZ2VyZWtsaS4iLHRpZHk6IlRpZHkiLCJ0aWR5LXRpcCI6IlRpZHkgY29uZmlnIEpTT04iLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiJDb25uZWN0b3Ige3t0eXBlTmFtZX19IGNvbmZpZ3VyYXRpb24iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IlBhdGggdG8gQ0EgY2VydGlmaWNhdGUgb24gZ2F0ZXdheSIsInRscy1wYXRoLWNsaWVudC1jZXJ0aWZpY2F0ZSI6IlBhdGggdG8gY2xpZW50IGNlcnRpZmljYXRlIG9uIGdhdGV3YXkiLCJ0bHMtcGF0aC1wcml2YXRlLWtleSI6IlBhdGggdG8gcHJpdmF0ZSBrZXkgb24gZ2F0ZXdheSIsInRvZ2dsZS1mdWxsc2NyZWVuIjoiVG9nZ2xlIGZ1bGxzY3JlZW4iLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IkNvbmZpZ3VyYXRpb24gSlNPTioiLCJ1cGRhdGUtY29uZmlnIjoiQWRkL3VwZGF0ZSBjb25maWd1cmF0aW9uIEpTT04ifSxRbz17ImFkZC1lbnRyeSI6Iua3u+WKoOmFjee9riIsYWR2YW5jZWQ6IumrmOe6pyIsImNoZWNraW5nLWRldmljZS1hY3Rpdml0eSI6IuajgOafpeiuvuWkh+a0u+WKqCIsY29tbWFuZDoiRG9ja2Vy5ZG95LukIiwiY29tbWFuZC1jb3BpZWQtbWVzc2FnZSI6IkRvY2tlcuWRveS7pOW3suWkjeWItuWIsOWJqui0tOadvyIsY29uZmlndXJhdGlvbjoi6YWN572uIiwiY29ubmVjdG9yLWFkZCI6Iua3u+WKoOi/nuaOpeWZqCIsImNvbm5lY3Rvci1lbmFibGVkIjoi5ZCv55So6L+e5o6l5ZmoIiwiY29ubmVjdG9yLW5hbWUiOiLov57mjqXlmajlkI3np7AiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6Iui/nuaOpeWZqOWQjeensOW/heWhq+OAgiIsImNvbm5lY3Rvci10eXBlIjoi6L+e5o6l5Zmo57G75Z6LIiwiY29ubmVjdG9yLXR5cGUtcmVxdWlyZWQiOiLov57mjqXlmajnsbvlnovlv4XloavjgIIiLGNvbm5lY3RvcnM6Iui/nuaOpeWZqOmFjee9riIsImNvbm5lY3RvcnMtY29uZmlnIjoi6L+e5o6l5Zmo6YWN572uIiwiY29ubmVjdG9ycy10YWJsZS1lbmFibGVkIjoi5bey5ZCv55SoIiwiY29ubmVjdG9ycy10YWJsZS1uYW1lIjoi5ZCN56ewIiwiY29ubmVjdG9ycy10YWJsZS10eXBlIjoi57G75Z6LIiwiY29ubmVjdG9ycy10YWJsZS1zdGF0dXMiOiLnirbmgIEiLCJjb25uZWN0b3JzLXRhYmxlLWFjdGlvbnMiOiLmk43kvZwiLCJjb25uZWN0b3JzLXRhYmxlLWtleSI6IumUriIsImNvbm5lY3RvcnMtdGFibGUtY2xhc3MiOiLnsbsiLCJycGMtY29tbWFuZC1zZW5kIjoi5Y+R6YCBIiwicnBjLWNvbW1hbmQtcmVzdWx0Ijoi57uT5p6cIiwicnBjLWNvbW1hbmQtZWRpdC1wYXJhbXMiOiLnvJbovpHlj4LmlbAiLCJnYXRld2F5LWNvbmZpZ3VyYXRpb24iOiLpgJrnlKjphY3nva4iLCJjcmVhdGUtbmV3LWdhdGV3YXkiOiLliJvlu7rnvZHlhbMiLCJjcmVhdGUtbmV3LWdhdGV3YXktdGV4dCI6IuehruWumuimgeWIm+W7uuWQjeS4uiAne3tnYXRld2F5TmFtZX19JyDnmoTmlrDnvZHlhbPvvJ8iLCJjcmVhdGVkLXRpbWUiOiLliJvlu7rml7bpl7QiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaGVhZGVyIjoi6YWN572u5bCG6KKr5Yig6ZmkIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWJvZHkiOiLlj6rmnInlr7nnvZHlhbPov5vooYzniannkIborr/pl67ml7bvvIzmiY3mnInlj6/og73lhbPpl63ov5znqIvphY3nva7jgILmiYDmnInlhYjliY3nmoTphY3nva7pg73lsIbooqvliKDpmaTjgII8YnI+PGJyPlxu6KaB5YWz6Zet6YWN572u77yM6K+35Zyo5LiL6Z2i6L6T5YWl572R5YWz5ZCN56ewIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0Ijoi572R5YWz5ZCN56ewIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0LXJlcXVpcmVkIjoi572R5YWz5ZCN56ew5piv5b+F6ZyA55qEIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWNvbmZpcm0iOiLlhbPpl60iLGRlbGV0ZToi5Yig6Zmk6YWN572uIiwiZG93bmxvYWQtdGlwIjoi5LiL6L296YWN572uIiwiZHJvcC1maWxlIjoi5bCG5paH5Lu25ouW5pS+5Yiw5q2k5aSE5oiWIixnYXRld2F5OiLnvZHlhbMiLCJnYXRld2F5LWV4aXN0cyI6IuWQjOWQjeiuvuWkh+W3suWtmOWcqOOAgiIsImdhdGV3YXktbmFtZSI6Iue9keWFs+WQjeensCIsImdhdGV3YXktbmFtZS1yZXF1aXJlZCI6Iue9keWFs+WQjeensOW/heWhq+OAgiIsImdhdGV3YXktc2F2ZWQiOiLlt7LmiJDlip/kv53lrZjnvZHlhbPphY3nva7jgIIiLGdycGM6IkdSUEMiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dCI6IuS/neaMgei/nuaOpei2heaXtu+8iOavq+enku+8iSIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LXJlcXVpcmVkIjoi6ZyA6KaB5L+d5oyB6L+e5o6l6LaF5pe2IiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtbWluIjoi5L+d5oyB6L+e5o6l6LaF5pe25LiN6IO95bCP5LqOMSIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LXBhdHRlcm4iOiLkv53mjIHov57mjqXotoXml7bml6DmlYgiLCJncnBjLWtlZXAtYWxpdmUiOiLkv53mjIHov57mjqXvvIjmr6vnp5LvvIkiLCJncnBjLWtlZXAtYWxpdmUtcmVxdWlyZWQiOiLpnIDopoHkv53mjIHov57mjqUiLCJncnBjLWtlZXAtYWxpdmUtbWluIjoi5L+d5oyB6L+e5o6l5LiN6IO95bCP5LqOMSIsImdycGMta2VlcC1hbGl2ZS1wYXR0ZXJuIjoi5L+d5oyB6L+e5o6l5peg5pWIIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzIjoi5pyA5bCPUGluZ+mXtOmalO+8iOavq+enku+8iSIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1yZXF1aXJlZCI6IumcgOimgeacgOWwj1Bpbmfpl7TpmpQiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtbWluIjoi5pyA5bCPUGluZ+mXtOmalOS4jeiDveWwj+S6jjEiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcGF0dGVybiI6IuacgOWwj1Bpbmfpl7TpmpTml6DmlYgiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YSI6IuaXoOaVsOaNruaXtueahOacgOWwj1Bpbmfpl7TpmpTvvIjmr6vnp5LvvIkiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6IumcgOimgeaXoOaVsOaNruaXtueahOacgOWwj1Bpbmfpl7TpmpQiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1taW4iOiLml6DmlbDmja7ml7bnmoTmnIDlsI9QaW5n6Ze06ZqU5LiN6IO95bCP5LqOMSIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiLml6DmlbDmja7ml7bnmoTmnIDlsI9QaW5n6Ze06ZqU5peg5pWIIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoi5peg5pWw5o2u5pe255qE5pyA5aSnUGluZ+aVsCIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6IumcgOimgeaXoOaVsOaNruaXtueahOacgOWkp1BpbmfmlbAiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtbWluIjoi5peg5pWw5o2u5pe255qE5pyA5aSnUGluZ+aVsOS4jeiDveWwj+S6jjEiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtcGF0dGVybiI6IuaXoOaVsOaNruaXtueahOacgOWkp1BpbmfmlbDml6DmlYgiLCJpbmFjdGl2aXR5LWNoZWNrLXBlcmlvZC1zZWNvbmRzIjoi5LiN5rS76LeD5qOA5p+l5pyf77yI56eS77yJIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1yZXF1aXJlZCI6IumcgOimgeS4jea0u+i3g+ajgOafpeacnyIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtbWluIjoi5LiN5rS76LeD5qOA5p+l5pyf5LiN6IO95bCP5LqOMSIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcGF0dGVybiI6IuS4jea0u+i3g+ajgOafpeacn+aXoOaViCIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzIjoi5LiN5rS76LeD6LaF5pe277yI56eS77yJIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcmVxdWlyZWQiOiLpnIDopoHkuI3mtLvot4PotoXml7YiLCJpbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1taW4iOiLkuI3mtLvot4PotoXml7bkuI3og73lsI/kuo4xIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcGF0dGVybiI6IuS4jea0u+i3g+i2heaXtuaXoOaViCIsImpzb24tcGFyc2UiOiLml6DmlYjnmoRKU09O44CCIiwianNvbi1yZXF1aXJlZCI6IuWtl+auteS4jeiDveS4uuepuuOAgiIsbG9nczp7bG9nczoi5pel5b+XIixkYXlzOiLlpKkiLGhvdXJzOiLlsI/ml7YiLG1pbnV0ZXM6IuWIhumSnyIsc2Vjb25kczoi56eSIiwiZGF0ZS1mb3JtYXQiOiLml6XmnJ/moLzlvI8iLCJkYXRlLWZvcm1hdC1yZXF1aXJlZCI6IumcgOimgeaXpeacn+agvOW8jyIsImxvZy1mb3JtYXQiOiLml6Xlv5fmoLzlvI8iLCJsb2ctdHlwZSI6IuaXpeW/l+exu+WeiyIsImxvZy1mb3JtYXQtcmVxdWlyZWQiOiLpnIDopoHml6Xlv5fmoLzlvI8iLHJlbW90ZToi6L+c56iL5pel5b+X6K6w5b2VIiwicmVtb3RlLWxvZ3MiOiLov5znqIvml6Xlv5ciLGxvY2FsOiLmnKzlnLDml6Xlv5forrDlvZUiLGxldmVsOiLml6Xlv5fnuqfliKsiLCJmaWxlLXBhdGgiOiLmlofku7bot6/lvoQiLCJmaWxlLXBhdGgtcmVxdWlyZWQiOiLpnIDopoHmlofku7bot6/lvoQiLCJzYXZpbmctcGVyaW9kIjoi5pel5b+X5L+d5a2Y5pyf6ZmQIiwic2F2aW5nLXBlcmlvZC1taW4iOiLml6Xlv5fkv53lrZjmnJ/pmZDkuI3og73lsI/kuo4xIiwic2F2aW5nLXBlcmlvZC1yZXF1aXJlZCI6IumcgOimgeaXpeW/l+S/neWtmOacn+mZkCIsImJhY2t1cC1jb3VudCI6IuWkh+S7veaVsOmHjyIsImJhY2t1cC1jb3VudC1taW4iOiLlpIfku73mlbDph4/kuI3og73lsI/kuo4xIiwiYmFja3VwLWNvdW50LXJlcXVpcmVkIjoi6ZyA6KaB5aSH5Lu95pWw6YePIn0sIm1pbi1wYWNrLXNlbmQtZGVsYXkiOiLmnIDlsI/ljIXlj5HpgIHlu7bov5/vvIjmr6vnp5LvvIkiLCJtaW4tcGFjay1zZW5kLWRlbGF5LXJlcXVpcmVkIjoi5pyA5bCP5YyF5Y+R6YCB5bu26L+f5piv5b+F6ZyA55qEIiwibWluLXBhY2stc2VuZC1kZWxheS1taW4iOiLmnIDlsI/ljIXlj5HpgIHlu7bov5/kuI3og73lsI/kuo4wIiwibm8tY29ubmVjdG9ycyI6IuaXoOi/nuaOpeWZqCIsIm5vLWRhdGEiOiLmsqHmnInphY3nva4iLCJuby1nYXRld2F5LWZvdW5kIjoi5pyq5om+5Yiw572R5YWz44CCIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IuacquaJvuWIsCAne3tpdGVtfX0nIOOAgiIsInBhdGgtbG9ncyI6IuaXpeW/l+aWh+S7tueahOi3r+W+hCIsInBhdGgtbG9ncy1yZXF1aXJlZCI6Iui3r+W+hOaYr+W/hemcgOeahOOAgiIsInBlcm1pdC13aXRob3V0LWNhbGxzIjoi5L+d5oyB6L+e5o6l6K645Y+v77yM5peg6ZyA5ZON5bqUIixyZW1vdGU6Iui/nOeoi+mFjee9riIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoi5pel5b+X6K6w5b2V57qn5YirIiwicmVtb3ZlLWVudHJ5Ijoi5Yig6Zmk6YWN572uIiwicmVtb3RlLXNoZWxsIjoi6L+c56iLU2hlbGwiLCJyZW1vdGUtY29uZmlndXJhdGlvbiI6Iui/nOeoi+mFjee9riIsb3RoZXI6IuWFtuS7liIsInNhdmUtdGlwIjoi5L+d5a2Y6YWN572uIiwic2VjdXJpdHktdHlwZSI6IuWuieWFqOexu+WeiyIsInNlY3VyaXR5LXR5cGVzIjp7ImFjY2Vzcy10b2tlbiI6Iuiuv+mXruS7pOeJjCIsInVzZXJuYW1lLXBhc3N3b3JkIjoi55So5oi35ZCN5ZKM5a+G56CBIix0bHM6IlRMUyIsInRscy1hY2Nlc3MtdG9rZW4iOiJUTFMgKyDorr/pl67ku6TniYwiLCJ0bHMtcHJpdmF0ZS1rZXkiOiJUTFMgKyDnp4HpkqUifSwic2VydmVyLXBvcnQiOiLmnI3liqHlmajnq6/lj6MiLHN0YXRpc3RpY3M6e3N0YXRpc3RpYzoi57uf6K6h5L+h5oGvIixzdGF0aXN0aWNzOiLnu5/orqHkv6Hmga8iLCJzdGF0aXN0aWMtY29tbWFuZHMtZW1wdHkiOiLml6Dlj6/nlKjnu5/orqHkv6Hmga8iLGNvbW1hbmRzOiLlkb3ku6QiLCJzZW5kLXBlcmlvZCI6Iue7n+iuoeS/oeaBr+WPkemAgeWRqOacn++8iOenku+8iSIsInNlbmQtcGVyaW9kLXJlcXVpcmVkIjoi57uf6K6h5L+h5oGv5Y+R6YCB5ZGo5pyf5piv5b+F6ZyA55qEIiwic2VuZC1wZXJpb2QtbWluIjoi57uf6K6h5L+h5oGv5Y+R6YCB5ZGo5pyf5LiN6IO95bCP5LqONjAiLCJzZW5kLXBlcmlvZC1wYXR0ZXJuIjoi57uf6K6h5L+h5oGv5Y+R6YCB5ZGo5pyf5peg5pWIIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uIjoi5qOA5p+l6L+e5o6l5Zmo6YWN572u77yI56eS77yJIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXJlcXVpcmVkIjoi5qOA5p+l6L+e5o6l5Zmo6YWN572u5piv5b+F6ZyA55qEIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLW1pbiI6IuajgOafpei/nuaOpeWZqOmFjee9ruS4jeiDveWwj+S6jjEiLCJjaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tcGF0dGVybiI6IuajgOafpei/nuaOpeWZqOmFjee9ruaXoOaViCIsYWRkOiLmt7vliqDlkb3ku6QiLHRpbWVvdXQ6Iui2heaXtuaXtumXtCIsInRpbWVvdXQtbXMiOiLotoXml7bml7bpl7TvvIjmr6vnp5LvvIkiLCJ0aW1lb3V0LXJlcXVpcmVkIjoi6LaF5pe25pe26Ze05piv5b+F6ZyA55qEIiwidGltZW91dC1taW4iOiLotoXml7bml7bpl7TkuI3og73lsI/kuo4xIiwidGltZW91dC1wYXR0ZXJuIjoi6LaF5pe25pe26Ze05peg5pWIIiwiYXR0cmlidXRlLW5hbWUiOiLlsZ7mgKflkI3np7AiLCJhdHRyaWJ1dGUtbmFtZS1yZXF1aXJlZCI6IuWxnuaAp+WQjeensOaYr+W/hemcgOeahCIsY29tbWFuZDoi5ZG95LukIiwiY29tbWFuZC1yZXF1aXJlZCI6IuWRveS7pOaYr+W/hemcgOeahCIsImNvbW1hbmQtcGF0dGVybiI6IuWRveS7pOaXoOaViCIscmVtb3ZlOiLliKDpmaTlkb3ku6QifSxzdG9yYWdlOiLlrZjlgqgiLCJzdG9yYWdlLW1heC1maWxlLXJlY29yZHMiOiLmlofku7bkuK3nmoTmnIDlpKforrDlvZXmlbAiLCJzdG9yYWdlLW1heC1maWxlcyI6IuacgOWkp+aWh+S7tuaVsCIsInN0b3JhZ2UtbWF4LWZpbGVzLW1pbiI6IuacgOWwj+WAvOS4ujHjgIIiLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoi5pWw5a2X5peg5pWI44CCIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiLmlbDlrZfmmK/lv4XpnIDnmoTjgIIiLCJzdG9yYWdlLW1heC1yZWNvcmRzIjoi5a2Y5YKo5Lit55qE5pyA5aSn6K6w5b2V5pWwIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1taW4iOiLmnIDlsI/orrDlvZXmlbDkuLox44CCIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoi5pWw5a2X5peg5pWI44CCIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1yZXF1aXJlZCI6IuacgOWkp+iusOW9lemhueW/heWhq+OAgiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQiOiLlrZjlgqjkuK3nmoTor7vlj5borrDlvZXmlbAiLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LW1pbiI6IuacgOWwj+iusOW9leaVsOS4ujHjgIIiLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm4iOiLmlbDlrZfkuI3lkIjms5XjgIIiLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkIjoi6ZyA6KaB6K+75Y+W6K6w5b2V5pWw44CCIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQiOiLlrZjlgqjkuK3nmoTmnIDlpKfor7vlj5borrDlvZXmlbAiLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1taW4iOiLmnIDlsI/orrDlvZXmlbDkuLox44CCIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVybiI6IuaVsOWtl+S4jeWQiOazleOAgiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkIjoi5pyA5aSn6K+75Y+W6K6w5b2V5pWw5b+F6ZyA44CCIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoIjoi5pWw5o2u5paH5Lu25aS56Lev5b6EIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoLXJlcXVpcmVkIjoi6ZyA6KaB5pWw5o2u5paH5Lu25aS56Lev5b6E44CCIiwic3RvcmFnZS1wYWNrLXNpemUiOiLmnIDlpKfkuovku7bljIXlpKflsI8iLCJzdG9yYWdlLXBhY2stc2l6ZS1taW4iOiLmnIDlsI/lgLzkuLox44CCIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6IuaVsOWtl+aXoOaViOOAgiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoi5pyA5aSn5LqL5Lu25YyF5aSn5bCP5b+F5aGr44CCIiwic3RvcmFnZS1wYXRoIjoi5a2Y5YKo6Lev5b6EIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoi5a2Y5YKo6Lev5b6E5b+F5aGr44CCIiwic3RvcmFnZS10eXBlIjoi5a2Y5YKo57G75Z6LIiwic3RvcmFnZS10eXBlcyI6eyJmaWxlLXN0b3JhZ2UiOiLmlofku7blrZjlgqgiLCJtZW1vcnktc3RvcmFnZSI6IuWGheWtmOWtmOWCqCIsc3FsaXRlOiJTUUxJVEUifSx0aGluZ3Nib2FyZDoiVGhpbmdzQm9hcmQiLGdlbmVyYWw6IuW4uOinhCIsInRoaW5nc2JvYXJkLWhvc3QiOiJUaGluZ3NCb2FyZOS4u+acuiIsInRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWQiOiLkuLvmnLrlv4XloavjgIIiLCJ0aGluZ3Nib2FyZC1wb3J0IjoiVGhpbmdzQm9hcmTnq6/lj6MiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6IuacgOWkp+err+WPo+WPt+S4ujY1NTM144CCIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiLmnIDlsI/nq6/lj6Plj7fkuLox44CCIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoi56uv5Y+j5peg5pWI44CCIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6Iuerr+WPo+W/heWhq+OAgiIsdGlkeToi5pW055CGIiwidGlkeS10aXAiOiLmlbTnkIbphY3nva5KU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoi6L+e5o6l5ZmoIHt7dHlwZU5hbWV9fSDphY3nva4iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6Iue9keWFs+S4ikNB6K+B5Lmm55qE6Lev5b6EIiwidGxzLXBhdGgtY2xpZW50LWNlcnRpZmljYXRlIjoi572R5YWz5LiK5a6i5oi356uv6K+B5Lmm55qE6Lev5b6EIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzIjoi5raI5oGvVFRM5qOA5p+l5bCP5pe25pWwIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXJlcXVpcmVkIjoi6ZyA6KaB5o+Q5L6b5raI5oGvVFRM5qOA5p+l5bCP5pe25pWw44CCIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLW1pbiI6IuacgOWwj+WAvOS4ujHjgIIiLCJtZXNzYWdlcy10dGwtY2hlY2staW4taG91cnMtcGF0dGVybiI6IuaVsOWtl+aXoOaViOOAgiIsIm1lc3NhZ2VzLXR0bC1pbi1kYXlzIjoi5raI5oGvVFRM5aSp5pWwIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcmVxdWlyZWQiOiLpnIDopoHmj5Dkvpvmtojmga9UVEzlpKnmlbDjgIIiLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1taW4iOiLmnIDlsI/lgLzkuLox44CCIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcGF0dGVybiI6IuaVsOWtl+aXoOaViOOAgiIsIm1xdHQtcW9zIjoiUW9TIiwibXF0dC1xb3MtcmVxdWlyZWQiOiLpnIDopoHmj5DkvptRb1MiLCJtcXR0LXFvcy1yYW5nZSI6IlFvU+WAvOeahOiMg+WbtOaYr+S7jjDliLAxIiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiLnvZHlhbPkuIrnp4HpkqXnmoTot6/lvoQiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IuWIh+aNouWFqOWxjyIsInRyYW5zZm9ybWVyLWpzb24tY29uZmlnIjoi6YWN572uSlNPTioiLCJ1cGRhdGUtY29uZmlnIjoi5re75YqgL+abtOaWsOmFjee9rkpTT04iLGhpbnRzOnsicmVtb3RlLWNvbmZpZ3VyYXRpb24iOiLlkK/nlKjlr7nnvZHlhbPnmoTov5znqIvphY3nva7lkoznrqHnkIYiLCJyZW1vdGUtc2hlbGwiOiLpgJrov4fov5znqItTaGVsbOWwj+mDqOS7tuWQr+eUqOWvuee9keWFs+aTjeS9nOezu+e7n+eahOi/nOeoi+aOp+WItiIsaG9zdDoiVGhpbmdzQm9hcmQg5Li75py65ZCN5oiWSVDlnLDlnYAiLHBvcnQ6IlRoaW5nc0JvYXJkIE1RVFTmnI3liqHnq6/lj6MiLHRva2VuOiJUaGluZ3NCb2FyZCDnvZHlhbPorr/pl67ku6TniYwiLCJjbGllbnQtaWQiOiJUaGluZ3NCb2FyZCDnvZHlhbNNUVRU5a6i5oi356uvSUQiLHVzZXJuYW1lOiJUaGluZ3NCb2FyZCDnvZHlhbNNUVRU55So5oi35ZCNIixwYXNzd29yZDoiVGhpbmdzQm9hcmQg572R5YWzTVFUVOWvhueggSIsImNhLWNlcnQiOiJDQeivgeS5puaWh+S7tueahOi3r+W+hCIsImRhdGUtZm9ybSI6IuaXpeW/l+a2iOaBr+S4reeahOaXpeacn+agvOW8jyIsImRhdGEtZm9sZGVyIjoi5YyF5ZCr5pWw5o2u55qE5paH5Lu25aS555qE6Lev5b6E77yI55u45a+55oiW57ud5a+56Lev5b6E77yJIiwibG9nLWZvcm1hdCI6IuaXpeW/l+a2iOaBr+agvOW8jyIsInJlbW90ZS1sb2ciOiLlkK/nlKjlr7nnvZHlhbPnmoTov5znqIvml6Xlv5forrDlvZXlkozml6Xlv5for7vlj5YiLCJiYWNrdXAtY291bnQiOiLlpoLmnpzlpIfku73orqHmlbDlpKfkuo4w77yM5YiZ5Zyo5omn6KGM6L2u5o2i5pe277yM5pyA5aSa5L+d55WZ5aSH5Lu96K6h5pWw5Liq5paH5Lu2LeacgOaXp+eahOaWh+S7tuWwhuiiq+WIoOmZpCIsc3RvcmFnZToi5o+Q5L6b5bCG5pWw5o2u5Y+R6YCB5Yiw5bmz5Y+w5LmL5YmN5L+d5a2Y5Lyg5YWl5pWw5o2u55qE6YWN572uIiwibWF4LWZpbGUtY291bnQiOiLlsIbliJvlu7rnmoTmlofku7bnmoTmnIDlpKfmlbDph48iLCJtYXgtcmVhZC1jb3VudCI6IuS7juWtmOWCqOS4reiOt+WPlueahOa2iOaBr+iuoeaVsOW5tuWPkemAgeWIsFRoaW5nc0JvYXJkIiwibWF4LXJlY29yZHMiOiLkuIDkuKrmlofku7bkuK3lrZjlgqjnmoTmnIDlpKforrDlvZXmlbAiLCJyZWFkLXJlY29yZC1jb3VudCI6IuS7juWtmOWCqOS4reiOt+WPlueahOa2iOaBr+iuoeaVsOW5tuWPkemAgeWIsFRoaW5nc0JvYXJkIiwibWF4LXJlY29yZHMtY291bnQiOiLlnKjlsIbmlbDmja7lj5HpgIHliLBUaGluZ3NCb2FyZOS5i+WJje+8jOWtmOWCqOS4reeahOacgOWkp+aVsOaNruiuoeaVsCIsInR0bC1jaGVjay1ob3VyIjoi572R5YWz5aSa5LmF5qOA5p+l5LiA5qyh5pWw5o2u5piv5ZCm6L+H5pe2IiwidHRsLW1lc3NhZ2VzLWRheSI6IuWtmOWCqOWwhuS/neWtmOaVsOaNrueahOacgOWkp+WkqeaVsCIsY29tbWFuZHM6IueUqOS6juaUtumbhumZhOWKoOe7n+iuoeS/oeaBr+eahOWRveS7pCIsYXR0cmlidXRlOiLnu5/orqHpgaXmtYvplK4iLHRpbWVvdXQ6IuWRveS7pOaJp+ihjOeahOi2heaXtuaXtumXtCIsY29tbWFuZDoi5ZG95Luk5omn6KGM55qE57uT5p6c77yM5bCG55So5L2c6YGl5rWL55qE5YC8IiwiY2hlY2stZGV2aWNlLWFjdGl2aXR5Ijoi5ZCv55So55uR6KeG5q+P5Liq6L+e5o6l6K6+5aSH55qE5rS75YqoIiwiaW5hY3Rpdml0eS10aW1lb3V0Ijoi5Zyo5q2k5pe26Ze05ZCO77yM572R5YWz5bCG5pat5byA6K6+5aSH55qE6L+e5o6lIiwiaW5hY3Rpdml0eS1wZXJpb2QiOiLorr7lpIfmtLvliqjmo4Dmn6XnmoTlkajmnJ8iLCJtaW5pbWFsLXBhY2stZGVsYXkiOiLlj5HpgIHmtojmga/ljIXkuYvpl7TnmoTlu7bov5/vvIjlh4/lsI/mraTorr7nva7kvJrlr7zoh7Tlop7liqBDUFXkvb/nlKjnjofvvIkiLHFvczoiTVFUVOa2iOaBr+S8oOmAkueahOacjeWKoei0qOmHj++8iDAt6Iez5aSa5LiA5qyh77yMMS3oh7PlsJHkuIDmrKHvvIkiLCJzZXJ2ZXItcG9ydCI6IkdSUEPmnI3liqHlmajkvqblkKzkvKDlhaXov57mjqXnmoTnvZHnu5znq6/lj6MiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dCI6IuWcqOiAg+iZkei/nuaOpeatu+S6oeS5i+WJje+8jOacjeWKoeWZqOetieW+hWtlZXBhbGl2ZSBwaW5n5ZON5bqU55qE5pyA6ZW/5pe26Ze0IiwiZ3JwYy1rZWVwLWFsaXZlIjoi5rKh5pyJ5rS75YqoUlBD6LCD55So5pe25Lik5Liq6L+e57uta2VlcGFsaXZlIHBpbmfmtojmga/kuYvpl7TnmoTmjIHnu63ml7bpl7QiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MiOiLmnI3liqHlmajlnKjlj5HpgIFrZWVwYWxpdmUgcGluZ+a2iOaBr+S5i+mXtOW6lOetieW+heeahOacgOWwj+aXtumXtOmHjyIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YSI6IuWcqOayoeacieaOpeaUtuWIsOS7u+S9leaVsOaNruS5i+WJje+8jOacjeWKoeWZqOWPr+S7peWPkemAgeeahGtlZXBhbGl2ZSBwaW5n5raI5oGv55qE5pyA5aSn5pWw6YeP77yM54S25ZCO5bCG6L+e5o6l6KeG5Li65q275LqhIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEiOiLlnKjmsqHmnInlj5HpgIHmiJbmjqXmlLbmlbDmja7ml7bvvIzmnI3liqHlmajlnKjlj5HpgIFrZWVwYWxpdmUgcGluZ+a2iOaBr+S5i+mXtOW6lOetieW+heeahOacgOWwj+aXtumXtOmHjyIsInBlcm1pdC13aXRob3V0LWNhbGxzIjoi5YWB6K645pyN5Yqh5Zmo5Zyo5rKh5pyJ5rS75YqoUlBD6LCD55So5pe25L+d5oyBR1JQQ+i/nuaOpea0u+WKqCJ9LCJkb2NrZXItbGFiZWwiOiLkvb/nlKjku6XkuIvmjIfku6TlnKggRG9ja2VyIGNvbXBvc2Ug5Lit6L+Q6KGMIElvVCDnvZHlhbPvvIzlubbkuLrpgInlrprnmoTorr7lpIfmj5Dkvpvlh63mja4iLCJpbnN0YWxsLWRvY2tlci1jb21wb3NlIjoi5L2/55So5Lul5LiL6K+05piO5LiL6L2944CB5a6J6KOF5ZKM6K6+572uIERvY2tlciBDb21wb3NlIiwiZG93bmxvYWQtY29uZmlndXJhdGlvbi1maWxlIjoi5LiL6L296YWN572u5paH5Lu2IiwiZG93bmxvYWQtZG9ja2VyLWNvbXBvc2UiOiLkuIvovb3mgqjnmoTnvZHlhbPnmoQgZG9ja2VyLWNvbXBvc2UueW1sIOaWh+S7tiIsImxhdW5jaC1nYXRld2F5Ijoi5ZCv5Yqo572R5YWzIiwibGF1bmNoLWRvY2tlci1jb21wb3NlIjoi5Zyo5YyF5ZCrIGRvY2tlci1jb21wb3NlLnltbCDmlofku7bnmoTmlofku7blpLnkuK3vvIzkvb/nlKjku6XkuIvlkb3ku6TlnKjnu4jnq6/kuK3lkK/liqjnvZHlhbMifSxKbz17ImFkZC1lbnRyeSI6IuWinuWKoOmFjee9riIsImNvbm5lY3Rvci1hZGQiOiLlop7liqDmlrDpgKPmjqXlmagiLCJjb25uZWN0b3ItZW5hYmxlZCI6IuWVn+eUqOmAo+aOpeWZqCIsImNvbm5lY3Rvci1uYW1lIjoi6YCj5o6l5Zmo5ZCN56ixIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiLpnIDopoHpgKPmjqXlmajlkI3nqLHjgIIiLCJjb25uZWN0b3ItdHlwZSI6IumAo+aOpeWZqOmhnuWeiyIsImNvbm5lY3Rvci10eXBlLXJlcXVpcmVkIjoi6ZyA6KaB6YCj5o6l5Zmo6aGe5Z6L44CCIixjb25uZWN0b3JzOiLpgKPmjqXlmajphY3nva4iLCJjcmVhdGUtbmV3LWdhdGV3YXkiOiLlu7rnq4vmlrDplpjpgZMiLCJjcmVhdGUtbmV3LWdhdGV3YXktdGV4dCI6IuaCqOeiuuWumuimgeW7uueri+S4gOWAi+WQjeeoseeCuu+8mid7e2dhdGV3YXlOYW1lfX0n55qE5paw6ZaY6YGT5ZeO77yfIixkZWxldGU6IuWIqumZpOmFjee9riIsImRvd25sb2FkLXRpcCI6IuS4i+i8iemFjee9ruaWh+S7tiIsZ2F0ZXdheToi6ZaY6YGTIiwiZ2F0ZXdheS1leGlzdHMiOiLlkIzlkI3oqK3lgpnlt7LlrZjlnKjjgIIiLCJnYXRld2F5LW5hbWUiOiLplpjpgZPlkI3nqLEiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiLpnIDopoHplpjpgZPlkI3nqLHjgIIiLCJnYXRld2F5LXNhdmVkIjoi6ZaY6YGT6YWN572u5bey5oiQ5Yqf5L+d5a2Y44CCIiwianNvbi1wYXJzZSI6IueEoeaViOeahEpTT04iLCJqc29uLXJlcXVpcmVkIjoi5qyE5L2N5LiN6IO954K656m644CCIiwibm8tY29ubmVjdG9ycyI6IueEoemAo+aOpeWZqCIsIm5vLWRhdGEiOiLnhKHphY3nva4iLCJuby1nYXRld2F5LWZvdW5kIjoi5pyq5om+5Yiw6ZaY6YGT44CCIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiDmnKrmib7liLAne3tpdGVtfX0n44CCIiwicGF0aC1sb2dzIjoi5pel6KqM5paH5Lu255qE6Lev5b6RIiwicGF0aC1sb2dzLXJlcXVpcmVkIjoi6ZyA6KaB6Lev5b6R44CCIixyZW1vdGU6Iuenu+mZpOmFjee9riIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoi5pel6KqM6KiY6YyE57Sa5YilIiwicmVtb3ZlLWVudHJ5Ijoi56e76Zmk6YWN572uIiwic2F2ZS10aXAiOiLkv53lrZjphY3nva7mlofku7YiLCJzZWN1cml0eS10eXBlIjoi5a6J5YWo6aGe5Z6LIiwic2VjdXJpdHktdHlwZXMiOnsiYWNjZXNzLXRva2VuIjoi6Kiq5ZWPVG9rZW4iLHRsczoiVExTIn0sc3RvcmFnZToi6LKv5a2YIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoi5paH5Lu25Lit55qE5pyA5aSn57SA6YyEIiwic3RvcmFnZS1tYXgtZmlsZXMiOiLmnIDlpKfmlofku7bmlbgiLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiLmnIDlsI/mlbjph4/ngrox44CCIiwic3RvcmFnZS1tYXgtZmlsZXMtcGF0dGVybiI6IuiZn+eivOeEoeaViOOAgiIsInN0b3JhZ2UtbWF4LWZpbGVzLXJlcXVpcmVkIjoi6ZyA6KaB6Jmf56K844CCIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6IuWtmOWEsuS4reeahOacgOWkp+e0gOmMhCIsInN0b3JhZ2UtbWF4LXJlY29yZHMtbWluIjoi5pyA5bCP57SA6YyE5pW454K6MeOAgiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6IuiZn+eivOeEoeaViOOAgiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiLpnIDopoHmnIDlpKfntIDpjITmlbgiLCJzdG9yYWdlLXBhY2stc2l6ZSI6IuacgOWkp+S6i+S7tuWMheWkp+WwjyIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6IuacgOWwj+aVuOmHj+eCujHjgIIiLCJzdG9yYWdlLXBhY2stc2l6ZS1wYXR0ZXJuIjoi6Jmf56K854Sh5pWI77yOIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiLpnIDopoHmnIDlpKfkuovku7bljIXlpKflsI8iLCJzdG9yYWdlLXBhdGgiOiLlrZjlhLLot6/lvpEiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiLpnIDopoHlrZjlhLLot6/lvpHjgIIiLCJzdG9yYWdlLXR5cGUiOiLlrZjlhLLpoZ7lnosiLCJzdG9yYWdlLXR5cGVzIjp7ImZpbGUtc3RvcmFnZSI6IuaWh+S7tuWtmOWEsiIsIm1lbW9yeS1zdG9yYWdlIjoi6KiY5oa26auU5a2Y5YSyIn0sdGhpbmdzYm9hcmQ6IlRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdCI6IlRoaW5nc0JvYXJk5Li75qmfIiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6IumcgOimgeS4u+apn+OAgiIsInRoaW5nc2JvYXJkLXBvcnQiOiJUaGluZ3NCb2FyZOmAo+aOpeWfoCIsInRoaW5nc2JvYXJkLXBvcnQtbWF4Ijoi5pyA5aSn5Z+g6Jmf54K6IDY1NTM144CCIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiLmnIDlsI/ln6DomZ/ngrox44CCIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoi6YCj5o6l5Z+g54Sh5pWI44CCIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6IumcgOimgemAo+aOpeWfoOOAgiIsdGlkeToi5pW055CGIiwidGlkeS10aXAiOiLmlbTnkIbphY3nva5KU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoi6YCj5o6l5Zmoe3t0eXBlTmFtZX196YWN572uIiwidGxzLXBhdGgtY2EtY2VydGlmaWNhdGUiOiLplpjpgZPkuIpDQeitieabuOeahOi3r+W+kSIsInRscy1wYXRoLWNsaWVudC1jZXJ0aWZpY2F0ZSI6IumWmOmBk+S4iueUqOaItuerr+aGkeaTmueahOi3r+W+kSIsInRscy1wYXRoLXByaXZhdGUta2V5Ijoi6ZaY6YGT5LiK55qE56eB6ZGw6Lev5b6RIiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiLliIfmj5vlhajonqLluZUiLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IumFjee9rkpTT04qIiwidXBkYXRlLWNvbmZpZyI6IuWinuWKoC/mm7TmlrDphY3nva5KU09OIn07Y29uc3QgWG89W2NhLHBhLEZhLERhLEFhLE5hLFBhLGVvLEVvLGlvLGFvLG9vLHFvLHRvLEdvLG5vXTtjbGFzcyBab3tjb25zdHJ1Y3RvcihlKXt0aGlzLnRyYW5zbGF0ZT1lLGZ1bmN0aW9uKGUpe2Uuc2V0VHJhbnNsYXRpb24oImVuX1VTIixPbywhMCksZS5zZXRUcmFuc2xhdGlvbigiYXJfQUUiLFJvLCEwKSxlLnNldFRyYW5zbGF0aW9uKCJjYV9FUyIsVm8sITApLGUuc2V0VHJhbnNsYXRpb24oImNzX0NaIixCbywhMCksZS5zZXRUcmFuc2xhdGlvbigiZGFfREsiLFVvLCEwKSxlLnNldFRyYW5zbGF0aW9uKCJlc19FUyIsX28sITApLGUuc2V0VHJhbnNsYXRpb24oImtvX0tSIixIbywhMCksZS5zZXRUcmFuc2xhdGlvbigibHRfTFQiLHpvLCEwKSxlLnNldFRyYW5zbGF0aW9uKCJubF9CRSIsV28sITApLGUuc2V0VHJhbnNsYXRpb24oInBsX1BMIixqbywhMCksZS5zZXRUcmFuc2xhdGlvbigicHRfQlIiLEtvLCEwKSxlLnNldFRyYW5zbGF0aW9uKCJzbF9TSSIsJG8sITApLGUuc2V0VHJhbnNsYXRpb24oInRyX1RSIixZbywhMCksZS5zZXRUcmFuc2xhdGlvbigiemhfQ04iLFFvLCEwKSxlLnNldFRyYW5zbGF0aW9uKCJ6aF9UVyIsSm8sITApfShlKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlpvLGRlcHM6W3t0b2tlbjpZLlRyYW5zbGF0ZVNlcnZpY2V9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5OZ01vZHVsZX0pfXN0YXRpY3t0aGlzLsm1bW9kPXQuybXJtW5nRGVjbGFyZU5nTW9kdWxlKHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlpvLGRlY2xhcmF0aW9uczpbY2EscGEsRmEsRGEsQWEsTmEsUGEsZW8sRW8saW8sYW8sb28scW8sdG8sR28sbm9dLGltcG9ydHM6W0gsRCxRLE1hLEVhLHFhLHZhLElhLExvLGtvLEZvLHBvLEFvLE5vLGdvLFRhLERvLFBvLGthLENhLFNhXSxleHBvcnRzOltjYSxwYSxGYSxEYSxBYSxOYSxQYSxlbyxFbyxpbyxhbyxvbyxxbyx0byxHbyxub119KX1zdGF0aWN7dGhpcy7JtWluaj10Lsm1ybVuZ0RlY2xhcmVJbmplY3Rvcih7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpabyxwcm92aWRlcnM6W3ZhXSxpbXBvcnRzOltILEQsUSxNYSxFYSxxYSxJYSxMbyxrbyxGbyxwbyxBbyxObyxnbyxEbyxQb119KX19ZSgiR2F0ZXdheUV4dGVuc2lvbk1vZHVsZSIsWm8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Wm8sZGVjb3JhdG9yczpbe3R5cGU6dSxhcmdzOlt7ZGVjbGFyYXRpb25zOlhvLGltcG9ydHM6W0gsRCxRLE1hLEVhLHFhLHZhLElhLExvLGtvLEZvLHBvLEFvLE5vLGdvLFRhLERvLFBvLGthLENhLFNhXSxleHBvcnRzOlhvLHByb3ZpZGVyczpbdmFdfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOlkuVHJhbnNsYXRlU2VydmljZX1dfSl9fX0pKTsvLyMgc291cmNlTWFwcGluZ1VSTD1nYXRld2F5LW1hbmFnZW1lbnQtZXh0ZW5zaW9uLmpzLm1hcAo=",
- "public": false
- },
- {
- "link": "/api/images/system/gateway_connectors_system_widget_image.png",
- "title": "\"Gateway connectors\" system widget image",
- "type": "IMAGE",
- "subType": "IMAGE",
- "fileName": "gateway_connectors_system_widget_image.png",
- "publicResourceKey": "tOnk7NUrJmcN1aIfISDwNkNbmDniEXy7",
- "mediaType": "image/png",
- "data": "iVBORw0KGgoAAAANSUhEUgAAAMgAAACgCAMAAAB+IdObAAAA7VBMVEXg4ODf39/g4ODg4OAAAAD////88vPg4OD39/fo6Ojv7+9hYWHt7e2GhobLy8upqan99fb9+Pn++/zDw8OXl5fb29vnjJHspao9PT1VVVXPz8/l5eX65efd3d1tbW2enp7hc3nz8/O2tra6urrU1NT32dvcWmHxv8KPj4+YmJixsbGgoKBzc3P+/f332Nuqqqp6enrXQEj0zM7Z2dlJSUnZTVR9fX3pmZ2wsLDusraSkpLr6+tpaWmRkZGNjY3eZ23k5OTkf4Xjf4XkgIWBgYHeZm3aTVXvsrbfZ23UMTnFxcXusrWzs7PkgIbeZmxYj4YaAAAABXRSTlPvIMCwAL23wXkAAAxzSURBVHja7NbBquMgGIbhdM75KLbILILw/b+g6L4YqKvCuf/bmtjNTLMJswm2+BIU1M2DWTh9n35N53fv6/Q9nabLDW/e7bIyvi74gC7rb/X299G6TdMZH9F5QDprQHprQHprQHprC1FrM96xDSQyLAzYTWVGX71CDC1QqEi5GEDVlRnITqMBoFHbWLJJkdYhlXZo1nl+LuKw9iEzFSvCG6mBBbZWYQblKjXB1sCIzKuIu1KyabsKqbSZQeQ4yT4k0qD1oIetaf1QLbhAmWdmxJpkgWdWZgRJCAEiq1GQrOKo9iGFd7SCAJl3K4BY0MIwR4YgdIxYaxCxTQwJgIosGYe1D1FmwAVdBCgbSGFWVfABmLSBwM+WPd0IRFSv1WcWI4IXiPLhtCCIK5wdHylWp2KfkBCMYcZh7UP8lZQ78NOmVwiKsP6GF/IHEMa0kME3yHMxJBzWPgRI/u+0zad/xnYobbb+v/FEGZDeG5DeGpDeGpDeGpDeGpDeGpDeGpDe+lDIH/LqoMVtGAjD8OmDDO4kBzUgjWAGDXtY6EEC+STw//9btZO27CYBey+l0PdgsBnLPAgsEpHy58YBeMe9mvEhugJS8KLTCTtdReSKnYrQ06NwHGKJueNXogDUcS8JPmRzQaRXjvf3PcnSItvOTJg4CT5HDKWjEAagQ4maBkmNizo17aXp/ABpiFRVqbKOdn/h5vjxfVdCEcSwoKyEoY7njCFh+7Kt1zLUi7bQamwsxEcgc1LEzBbEJ0lFq3q79Mk5P0BYZYV0rrz0mFvlS543x3ltT0IRmCnl2Je2rVzwVG6pgi89VXbeZq6zSEIkG8ZHdyTCzJWTKMzU06RshvQAkRRJWY2NIth0Ul0hbzif8XYAMpoikign1ReQK2W1aVItqYVt5ppwg1Ca+hGIupcN0sZIMksK6mMED1N43BEskWZpvyHGwbG2QYB9iERHrIN9EnsBsSbNbASHJmwzd8gctvsDEDGzbBDJS61UF4f34kuH2+e/lgQUK2HxEKQYgmCdOgopBmDOiLYUOAte5EvFbc3u2GZKBVW4wcZfOke+nXCkxkAkfLmQ8r91IHYAGV8vl//rZP+pIQxGPTLYwKhHBhsYRh7xYh8WwGv4xMioRwYXALBftr1twkAA/nRXNIwdAgFpwEaFwSZvG0jNixpt7bq264f9/7+zI2xL46Rj+dAITXtELOQAukfH+cx/kdfCHWA3A7fvIi7+Yp7e5nWI6vEuTVPEOEhzpNMcf+L2WmTngQ95XagUwyBf3lL06XJexVWex7gz6Ra5zFbeNZwV02NeIFZbkeZAvCIXVYUh7nA7RbKNbdtTPmyYwfmY4Y6YIn96JlLFeK8qpfAZXSLcbmlb/vURlUyXDI5iJbAjOXKV1BaAluDRIzyH2A5mQohi+f02flCfw1ZkGawLrHAPt0PEsVv0RWsCJlzAqISIM5AJZyzhEiz6QSIZd6LmlOYAosw5FOELCXzKm0doAD+B7dCyt17FzWs0XyoaaiTWyxjXxtrVIWJvdMNmetECJmNOA3MoaD8Tk5HmCybGwuPvs5LrGzFejUc6A+KYiCjBF1xw+tcyRPBUOkQ2m68N9seXREQjkmWQeT4blSNBoUzFZEIBMVbCFGBBcy+JZH5UZmcRMV8tBiaegEhzAUL+FlkwYEKCxzQsGNN/EvEc0uCCUgodIiGtuQHOg8emnWCQhieKXLQe07dbjzdwyEr7N5YofRAsmkRjEIn0fcl8x7OcTPqfJM01+EeK3bN8GEtYOVQsdCPQYNTIbuGKqcJVGgZPeRhQyRf5aTUC/F3j8dqNkk2sgzayT5HWOL8qKBffwqCo0WTY3RC9D94lnB8jI7EqFN6HGIRf0oCk8ng/If3dogz3RYqmi6SKROKnILxbX+X7CemviGGy7SIqx5qOmhqJ4dHnTSPM8C8ZzHq9+yWG7qAbd9j375F/6AvxR3vn2ps2DIXh7nJSbzj2WifOh4QtUy7kAmikChd1gra7a5f//3N2nKwrkGyQSWMh6ys4GCuK+sousR/OCfdGTi5IJ3Rxwp50Qqw7U+veSLvUQiOj8506AiPnz/ZboZy33MidDStfZYM3uFR08xwZ13i1kloYhtlxkMa14QgdJ1zjWmGAPZONQdnDyAWmylzAAbWbNE4K0ui6jUjji57S/GWh8z9POCH0F32UqCe2UUWoJ415tjYiSBqzSbOtruiVEqdKV1UnJOa6gFqRtX4apXGVBwwJ0CEjsaEzZkyXRhFq4IN0XenkMgxKI4v82m1KGqe9Um9PCz2pI42Ug+AMPI/btsc9fJ8Q4nHKpz42KfYBYkjQSZU0CmB6gYOmvyWN2jjAoLbpDj4xBviuKWmcK70e/hbQIdMy+gZjqWnQJV2a84QLOzVjsjT92NR9QPkpVIwkKeg/SCP926SxV+iWNF7VItO+Io3eGmnkifqDNkgjjWpJo+AJU6eY/m3SyHuleGmkyoXMyBaxGRPjjjQufWonCeU0Ikbfx77CR7/OiDnsc1acYhdp/PouHIfa2J1JvJyMV+4brdnUejksSePpE6U6vsWMhAJLBQhCPcpA2JRzSnh6BXOmmrSYfJxzG7Zk+sCB9YGlugcgbFChnjSOc+3zQH5wB/LTwJI3lnYdNPtnh8uoh0T+bxM64ldh0KZkaCHccjWJDRkGf0AayeXF6TkcWNWPrYF2MysB3ey9xFcrOBbSONoijQh8SyNaKLP31/kW2WqvkU0nt1eR20e25aPNi0YYnWn76az1pBFR426dj1q/serSVve/N+I/7YT87hjpzNS6N9Iutc/IXhfE9hs5W19oOeoRoG737KpV6qzdRkbrFGU1K7jWTZgjzfoQ4gYRuVb2c9HYZiOjTa412SKNWVPS+HL+ujecw+H1rAlpRCf77dmnl0q1TJGwPuyhvk+rjNLH4NPiFDZDFaFmqztxxpPsoza7HZEMB6UhaXzRK5X+iqLQSKQCakX5OqIQUQ1ptBVppIZIPdPTeRlqdrpWmGfazcdVgARFUzQ+nGlhM/gw3CSNNmzLEwqNpgaHlEfCVGXGfhRTmsaCTxk2bTPVAQghU1IFMB5wnSUCiF4ljbvUkDQO9yGNjOOrYSPDSmFp633GOSMJjUGnNMI+lKnzGtKog+EdhDTuHpFEjYjYzGn0PJZukUZCYEmrgC5JFGkUeBTsMhI4jlNETT2CpkbmvVLz0giBbdkRSxLEuzr9acTwGBNcRHSKzYQXRkTqG6SONFLOaCSSZJeR/DocTBzLlaFmyXEu3zs7plY9jk+fFhpBVVT4KphgEuITfKHAGAFfEGCmamIfyhc1n1pXUBxPBedENQBDfSqgMwnGwQzJnJxYluJaC6chaTz/8ur5Ae7oae8ijYPwo6NNkDTO8pl8V51Zo91X9pdPCRxY1SEZW5r8QRoHE3mz0GS2OSDtXaJsfgCXV5GbgTZbqKqLVXh9PKTx95eSYyKNcNaRhIH9MjhGo/ZvrDq01b030plUwM4kZ3Zmat0baZdaZ6QjSf6jZ3d1iAv1Tfs4W1hFYetgEWjYdG7XKO02srYjWcnZm4JrLdwVGpHX1nsNN1hBs0KYy4tLOKSqPhxEP/lW0XE2CYJGpUmnqhJR/wdWtF2kUcompPGyTNgamlco+2kdQuQJhXqRzaJD2FaBJXhfnYL4HFWEmq1uHoxDdCOt0siN5eROJRWwEWmsOrF1KuIizZJiIORHrqXqMSOCTdWnTOl1OY19MIfM1k0vpuZSmEWo2VWN1d0ELBdNDD6rqXbtInhsRlGQYCv11gBdlWvZdMkjYrwwPMRwOvEM3feN1OO67xmGMKdLdVxSY8RIgMcsEQfIoOu9TpV2kEaRoCHDLrmWPWWJKjr2aQxTIHpBGik3a4x4EdUPRBr1Xin9V/XswgPKCyN3Rce+aac+9JURgka48ruMpv2qES9CG8Lbo+h4bA2cBU6tLFA17QOrAoQa3WHArsn71dPII1ES3ZFGL+a+r/OE6EyksYd9SrUjQhRpLE6xA2I7OZYch4ElJeJGaa0GeVPSWDLTL6QQ1MlU3TYBfKEY8ChKsWnjs2wSKERhW+pQFcAWafGuCPWkMbccZ6BIYy4t+S7TsqakUeXGxyYcXpWppb7eUUXHoawlja1domwOSeaihZI0jj9J+cbJg6MhjZtOLFc6mpVh0qxmfdbkN2vTR5sXjehkl46jEAZgtOdNkEZQMXLSjR8IPj152I2fbH7UnR/Rfvzg0emx6+Thg8ffAbOE0ZCNlb+aAAAAAElFTkSuQmCC",
- "public": true
- }
]
}
\ No newline at end of file
diff --git a/application/src/main/data/json/system/widget_types/gateway_custom_statistics.json b/application/src/main/data/json/system/widget_types/gateway_custom_statistics.json
index 2a0a8c1975..dd1a8ea3ee 100644
--- a/application/src/main/data/json/system/widget_types/gateway_custom_statistics.json
+++ b/application/src/main/data/json/system/widget_types/gateway_custom_statistics.json
@@ -43,28 +43,5 @@
"ocpp",
"ble",
"bluetooth"
- ],
- "resources": [
- {
- "link": "/api/resource/js_module/system/gateway-management-extension.js",
- "title": "gateway-management-extension.js",
- "type": "JS_MODULE",
- "resourceKey": "gateway-management-extension.js",
- "fileName": "gateway-management-extension.js",
- "mediaType": "application/javascript",
- "data": "U3lzdGVtLnJlZ2lzdGVyKFsiQGFuZ3VsYXIvY29yZSIsIkBhbmd1bGFyL21hdGVyaWFsL3NvcnQiLCJAYW5ndWxhci9tYXRlcmlhbC90YWJsZSIsIkBhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvciIsIkBzaGFyZWQvcHVibGljLWFwaSIsIkBhbmd1bGFyL2NvbW1vbiIsIkBhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXIiLCJAYW5ndWxhci9tYXRlcmlhbC90YWJzIiwiQGFuZ3VsYXIvZmxleC1sYXlvdXQvZmxleCIsIkBhbmd1bGFyL2ZsZXgtbGF5b3V0L2V4dGVuZGVkIiwiQG5neC10cmFuc2xhdGUvY29yZSIsIkBjb3JlL3B1YmxpYy1hcGkiLCJAYW5ndWxhci9mb3JtcyIsIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvbiIsIkBhbmd1bGFyL21hdGVyaWFsL2NhcmQiLCJAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCIsIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQiLCJAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QiLCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlIiwicnhqcyIsInJ4anMvb3BlcmF0b3JzIiwidHNsaWIiLCJAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwIiwiQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zIiwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbiIsIkBhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbiIsIkBzaGFyZWQvZGlyZWN0aXZlcy90cnVuY2F0ZS13aXRoLXRvb2x0aXAuZGlyZWN0aXZlIiwiQHNoYXJlZC9jb21wb25lbnRzL2RpYWxvZy9qc29uLW9iamVjdC1lZGl0LWRpYWxvZy5jb21wb25lbnQiLCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2ciLCJAc2hhcmVkL2NvbXBvbmVudHMvZGlyZWN0aXZlcy90Yi1qc29uLXRvLXN0cmluZy5kaXJlY3RpdmUiLCJAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUiLCJAc2hhcmVkL2NvbXBvbmVudHMvYnV0dG9uL3RvZ2dsZS1wYXNzd29yZC5jb21wb25lbnQiLCJAc2hhcmVkL2NvbXBvbmVudHMvdG9nZ2xlLWhlYWRlci5jb21wb25lbnQiLCJAc2hhcmVkL2NvbXBvbmVudHMvdG9nZ2xlLXNlbGVjdC5jb21wb25lbnQiLCJAbmdyeC9zdG9yZSIsIkBhbmd1bGFyL3JvdXRlciIsIkBhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXIiLCJAc2hhcmVkL2NvbXBvbmVudHMvanNvbi1jb250ZW50LmNvbXBvbmVudCIsIkBzaGFyZWQvaW1wb3J0LWV4cG9ydC9pbXBvcnQtZXhwb3J0LnNlcnZpY2UiLCJAc2hhcmVkL2NvbXBvbmVudHMvdG9hc3QuZGlyZWN0aXZlIiwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3giLCJAc2hhcmVkL2NvbXBvbmVudHMvZW50aXR5L2VudGl0eS1nYXRld2F5LXNlbGVjdC5jb21wb25lbnQiLCJAc2hhcmVkL2NvbXBvbmVudHMvaGVscC5jb21wb25lbnQiLCJAc2hhcmVkL2NvbXBvbmVudHMvaGludC10b29sdGlwLWljb24uY29tcG9uZW50IiwiQHNoYXJlZC9jb21wb25lbnRzL2hlbHAtcG9wdXAuY29tcG9uZW50IiwiQHNoYXJlZC9jb21wb25lbnRzL3BvcG92ZXIuc2VydmljZSIsIkBhbmd1bGFyL21hdGVyaWFsL2NoaXBzIiwiQHNoYXJlZC9jb21wb25lbnRzL2ljb24uY29tcG9uZW50IiwiQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSIsIkBzaGFyZWQvZGVjb3JhdG9ycy9jb2VyY2lvbiIsIkBzaGFyZWQvY29tcG9uZW50cy9qc29uLW9iamVjdC1lZGl0LmNvbXBvbmVudCIsIkBzaGFyZWQvY29tcG9uZW50cy9tYXJrZG93bi5jb21wb25lbnQiLCJAc2hhcmVkL2NvbXBvbmVudHMvdGItZXJyb3IuY29tcG9uZW50IiwiQHNoYXJlZC9jb21wb25lbnRzL2ZpbGUtaW5wdXQuY29tcG9uZW50IiwiQHNoYXJlZC9jb21wb25lbnRzL2J1dHRvbi9jb3B5LWJ1dHRvbi5jb21wb25lbnQiXSwoZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO3ZhciB0LG4sYSxvLGkscixzLGwsYyxwLG0sZCx1LGcsZix5LGIsaCx4LHYsdyxDLFQsUyxrLEwsRixJLEEsTixNLEUscSxELFAsRyxPLFIsVixCLFUsXyxILHosVyxqLEssWSxRLEosWCxaLGVlLHRlLG5lLGFlLG9lLGllLHJlLHNlLGxlLGNlLHBlLG1lLGRlLHVlLGdlLGZlLHllLGJlLGhlLHhlLHZlLHdlLENlLFRlLFNlLGtlLExlLEZlLEllLEFlLE5lLE1lLEVlLHFlLERlLFBlLEdlLE9lLFJlLFZlLEJlLFVlLF9lLEhlLHplLFdlLGplLEtlLCRlLFllLFFlLEplLFhlLFplLGV0LHR0LG50LGF0LG90LGl0LHJ0LHN0LGx0LGN0LHB0LG10LGR0LHV0LGd0LGZ0LHl0LGJ0LGh0LHh0LHZ0LHd0LEN0LFR0LFN0O3JldHVybntzZXR0ZXJzOltmdW5jdGlvbihlKXt0PWUsbj1lLkNvbXBvbmVudCxhPWUuSW5wdXQsbz1lLlZpZXdDaGlsZCxpPWUuRXZlbnRFbWl0dGVyLHI9ZS5pbmplY3Qscz1lLkRpcmVjdGl2ZSxsPWUuT3V0cHV0LGM9ZS5QaXBlLHA9ZS5JbmplY3QsbT1lLmZvcndhcmRSZWYsZD1lLkNoYW5nZURldGVjdGlvblN0cmF0ZWd5LHU9ZS5OZ01vZHVsZX0sZnVuY3Rpb24oZSl7Zz1lLk1hdFNvcnQsZj1lfSxmdW5jdGlvbihlKXt5PWUuTWF0VGFibGVEYXRhU291cmNlLGI9ZX0sZnVuY3Rpb24oZSl7aD1lLk1hdFBhZ2luYXRvcix4PWV9LGZ1bmN0aW9uKGUpe3Y9ZS5oZWxwQmFzZVVybCx3PWUuRGlyZWN0aW9uLEM9ZS5QYWdlTGluayxUPWUuRGF0YUtleVR5cGUsUz1lLkxlZ2VuZFBvc2l0aW9uLGs9ZS5OVUxMX1VVSUQsTD1lLkF0dHJpYnV0ZVNjb3BlLEY9ZS5EYXRhc291cmNlVHlwZSxJPWUuRW50aXR5VHlwZSxBPWUud2lkZ2V0VHlwZSxOPWUuY29lcmNlQm9vbGVhbixNPWUuZW1wdHlQYWdlRGF0YSxFPWUuaXNDbGllbnRTaWRlVGVsZW1ldHJ5VHlwZSxxPWUuVGVsZW1ldHJ5U3Vic2NyaWJlcixEPWUuU2hhcmVkTW9kdWxlLFA9ZS5EaWFsb2dDb21wb25lbnQsRz1lLkNvbnRlbnRUeXBlLE89ZS5QYWdlQ29tcG9uZW50LFI9ZS5UYlRhYmxlRGF0YXNvdXJjZSxWPWUuSE9VUixCPWUuY29lcmNlTnVtYmVyLFU9ZS5EZXZpY2VDcmVkZW50aWFsc1R5cGV9LGZ1bmN0aW9uKGUpe189ZSxIPWUuQ29tbW9uTW9kdWxlfSxmdW5jdGlvbihlKXt6PWV9LGZ1bmN0aW9uKGUpe1c9ZX0sZnVuY3Rpb24oZSl7aj1lfSxmdW5jdGlvbihlKXtLPWV9LGZ1bmN0aW9uKGUpe1k9ZSxRPWUuVHJhbnNsYXRlTW9kdWxlfSxmdW5jdGlvbihlKXtKPWUuZGVlcENsb25lLFg9ZSxaPWUuZGVsZXRlTnVsbFByb3BlcnRpZXMsZWU9ZS5pc0VxdWFsLHRlPWUuaXNOdW1iZXIsbmU9ZS5pc1N0cmluZyxhZT1lLldJTkRPVyxvZT1lLmlzTGl0ZXJhbE9iamVjdCxpZT1lLmlzRGVmaW5lZEFuZE5vdE51bGwscmU9ZS5pc1VuZGVmaW5lZE9yTnVsbCxzZT1lLmdlbmVyYXRlU2VjcmV0LGxlPWUuaXNPYmplY3QsY2U9ZS5jYW1lbENhc2UscGU9ZS5kZWVwVHJpbX0sZnVuY3Rpb24oZSl7bWU9ZSxkZT1lLkZvcm1CdWlsZGVyLHVlPWUuVmFsaWRhdG9ycyxnZT1lLk5HX1ZBTFVFX0FDQ0VTU09SLGZlPWUuTkdfVkFMSURBVE9SUyx5ZT1lLkZvcm1Db250cm9sfSxmdW5jdGlvbihlKXtiZT1lfSxmdW5jdGlvbihlKXtoZT1lfSxmdW5jdGlvbihlKXt4ZT1lfSxmdW5jdGlvbihlKXt2ZT1lfSxmdW5jdGlvbihlKXt3ZT1lfSxmdW5jdGlvbihlKXtDZT1lLFRlPWUuRXJyb3JTdGF0ZU1hdGNoZXJ9LGZ1bmN0aW9uKGUpe1NlPWUuU3ViamVjdCxrZT1lLmZyb21FdmVudCxMZT1lLkJlaGF2aW9yU3ViamVjdCxGZT1lLlJlcGxheVN1YmplY3QsSWU9ZS5vZixBZT1lLmZvcmtKb2lufSxmdW5jdGlvbihlKXtOZT1lLnRha2VVbnRpbCxNZT1lLmZpbHRlcixFZT1lLnRhcCxxZT1lLmNhdGNoRXJyb3IsRGU9ZS5tYXAsUGU9ZS5wdWJsaXNoUmVwbGF5LEdlPWUucmVmQ291bnQsT2U9ZS50YWtlLFJlPWUuc3RhcnRXaXRoLFZlPWUuZGVib3VuY2VUaW1lLEJlPWUuZGlzdGluY3RVbnRpbENoYW5nZWQsVWU9ZS5zd2l0Y2hNYXAsX2U9ZS5tZXJnZU1hcH0sZnVuY3Rpb24oZSl7SGU9ZS5fX2RlY29yYXRlfSxmdW5jdGlvbihlKXt6ZT1lLFdlPWUuTWF0VG9vbHRpcH0sZnVuY3Rpb24oZSl7amU9ZS5TZWxlY3Rpb25Nb2RlbH0sZnVuY3Rpb24oZSl7S2U9ZX0sZnVuY3Rpb24oZSl7JGU9ZX0sZnVuY3Rpb24oZSl7WWU9ZX0sZnVuY3Rpb24oZSl7UWU9ZS5Kc29uT2JqZWN0RWRpdERpYWxvZ0NvbXBvbmVudH0sZnVuY3Rpb24oZSl7SmU9ZSxYZT1lLk1BVF9ESUFMT0dfREFUQX0sZnVuY3Rpb24oZSl7WmU9ZX0sZnVuY3Rpb24oZSl7ZXQ9ZX0sZnVuY3Rpb24oZSl7dHQ9ZX0sZnVuY3Rpb24oZSl7bnQ9ZX0sZnVuY3Rpb24oZSl7YXQ9ZX0sZnVuY3Rpb24oZSl7b3Q9ZX0sZnVuY3Rpb24oZSl7aXQ9ZX0sZnVuY3Rpb24oZSl7cnQ9ZX0sZnVuY3Rpb24oZSl7c3Q9ZX0sZnVuY3Rpb24oZSl7bHQ9ZX0sZnVuY3Rpb24oZSl7Y3Q9ZX0sZnVuY3Rpb24oZSl7cHQ9ZX0sZnVuY3Rpb24oZSl7bXQ9ZX0sZnVuY3Rpb24oZSl7ZHQ9ZX0sZnVuY3Rpb24oZSl7dXQ9ZX0sZnVuY3Rpb24oZSl7Z3Q9ZX0sZnVuY3Rpb24oZSl7ZnQ9ZX0sZnVuY3Rpb24oZSl7eXQ9ZX0sZnVuY3Rpb24oZSl7YnQ9ZX0sZnVuY3Rpb24oZSl7aHQ9ZX0sZnVuY3Rpb24oZSl7eHQ9ZS5jb2VyY2VCb29sZWFufSxmdW5jdGlvbihlKXt2dD1lfSxmdW5jdGlvbihlKXt3dD1lfSxmdW5jdGlvbihlKXtDdD1lfSxmdW5jdGlvbihlKXtUdD1lfSxmdW5jdGlvbihlKXtTdD1lfV0sZXhlY3V0ZTpmdW5jdGlvbigpe2NvbnN0IGt0PWUoIm5vTGVhZFRyYWlsU3BhY2VzUmVnZXgiLC9eXFMrKD86IFxTKykqJC8pLEx0PWUoImludGVnZXJSZWdleCIsL15bLStdP1xkKyQvKSxGdD1lKCJub25aZXJvRmxvYXQiLC9eLT8oPyEwKFwuMCspPyQpXGQrKFwuXGQrKT8kLyksSXQ9ZSgianNvblJlcXVpcmVkIiwoZT0+ZS52YWx1ZT9udWxsOntyZXF1aXJlZDohMH0pKTt2YXIgQXQsTnQsTXQsRXQ7ZSgiU3RvcmFnZVR5cGVzIixBdCksZnVuY3Rpb24oZSl7ZS5NRU1PUlk9Im1lbW9yeSIsZS5GSUxFPSJmaWxlIixlLlNRTElURT0ic3FsaXRlIn0oQXR8fGUoIlN0b3JhZ2VUeXBlcyIsQXQ9e30pKSxlKCJEZXZpY2VHYXRld2F5U3RhdHVzIixOdCksZnVuY3Rpb24oZSl7ZS5FWENFUFRJT049IkVYQ0VQVElPTiJ9KE50fHxlKCJEZXZpY2VHYXRld2F5U3RhdHVzIixOdD17fSkpLGUoIkdhdGV3YXlMb2dMZXZlbCIsTXQpLGZ1bmN0aW9uKGUpe2UuTk9ORT0iTk9ORSIsZS5DUklUSUNBTD0iQ1JJVElDQUwiLGUuRVJST1I9IkVSUk9SIixlLldBUk5JTkc9IldBUk5JTkciLGUuSU5GTz0iSU5GTyIsZS5ERUJVRz0iREVCVUciLGUuVFJBQ0U9IlRSQUNFIn0oTXR8fGUoIkdhdGV3YXlMb2dMZXZlbCIsTXQ9e30pKSxlKCJQb3J0TGltaXRzIixFdCksZnVuY3Rpb24oZSl7ZVtlLk1JTj0xXT0iTUlOIixlW2UuTUFYPTY1NTM1XT0iTUFYIn0oRXR8fGUoIlBvcnRMaW1pdHMiLEV0PXt9KSk7Y29uc3QgcXQ9ZSgiR2F0ZXdheVN0YXR1cyIsey4uLk10LC4uLk50fSk7dmFyIER0LFB0O2UoIkxvZ1NhdmluZ1BlcmlvZCIsRHQpLGZ1bmN0aW9uKGUpe2UuZGF5cz0iRCIsZS5ob3Vycz0iSCIsZS5taW51dGVzPSJNIixlLnNlY29uZHM9IlMifShEdHx8ZSgiTG9nU2F2aW5nUGVyaW9kIixEdD17fSkpLGUoIkxvY2FsTG9nc0NvbmZpZ3MiLFB0KSxmdW5jdGlvbihlKXtlLnNlcnZpY2U9InNlcnZpY2UiLGUuY29ubmVjdG9yPSJjb25uZWN0b3IiLGUuY29udmVydGVyPSJjb252ZXJ0ZXIiLGUudGJfY29ubmVjdGlvbj0idGJfY29ubmVjdGlvbiIsZS5zdG9yYWdlPSJzdG9yYWdlIixlLmV4dGVuc2lvbj0iZXh0ZW5zaW9uIn0oUHR8fGUoIkxvY2FsTG9nc0NvbmZpZ3MiLFB0PXt9KSk7Y29uc3QgR3Q9ZSgiTG9jYWxMb2dzQ29uZmlnVHJhbnNsYXRlTWFwIixuZXcgTWFwKFtbUHQuc2VydmljZSwiU2VydmljZSJdLFtQdC5jb25uZWN0b3IsIkNvbm5lY3RvciJdLFtQdC5jb252ZXJ0ZXIsIkNvbnZlcnRlciJdLFtQdC50Yl9jb25uZWN0aW9uLCJUQiBDb25uZWN0aW9uIl0sW1B0LnN0b3JhZ2UsIlN0b3JhZ2UiXSxbUHQuZXh0ZW5zaW9uLCJFeHRlbnNpb24iXV0pKSxPdD1lKCJMb2dTYXZpbmdQZXJpb2RUcmFuc2xhdGlvbnMiLG5ldyBNYXAoW1tEdC5kYXlzLCJnYXRld2F5LmxvZ3MuZGF5cyJdLFtEdC5ob3VycywiZ2F0ZXdheS5sb2dzLmhvdXJzIl0sW0R0Lm1pbnV0ZXMsImdhdGV3YXkubG9ncy5taW51dGVzIl0sW0R0LnNlY29uZHMsImdhdGV3YXkubG9ncy5zZWNvbmRzIl1dKSksUnQ9ZSgiU3RvcmFnZVR5cGVzVHJhbnNsYXRpb25NYXAiLG5ldyBNYXAoW1tBdC5NRU1PUlksImdhdGV3YXkuc3RvcmFnZS10eXBlcy5tZW1vcnktc3RvcmFnZSJdLFtBdC5GSUxFLCJnYXRld2F5LnN0b3JhZ2UtdHlwZXMuZmlsZS1zdG9yYWdlIl0sW0F0LlNRTElURSwiZ2F0ZXdheS5zdG9yYWdlLXR5cGVzLnNxbGl0ZSJdXSkpO3ZhciBWdDtlKCJTZWN1cml0eVR5cGVzIixWdCksZnVuY3Rpb24oZSl7ZS5BQ0NFU1NfVE9LRU49ImFjY2Vzc1Rva2VuIixlLlVTRVJOQU1FX1BBU1NXT1JEPSJ1c2VybmFtZVBhc3N3b3JkIixlLlRMU19BQ0NFU1NfVE9LRU49InRsc0FjY2Vzc1Rva2VuIixlLlRMU19QUklWQVRFX0tFWT0idGxzUHJpdmF0ZUtleSJ9KFZ0fHxlKCJTZWN1cml0eVR5cGVzIixWdD17fSkpO2NvbnN0IEJ0PWUoIkdlY3VyaXR5VHlwZXNUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1tWdC5BQ0NFU1NfVE9LRU4sImdhdGV3YXkuc2VjdXJpdHktdHlwZXMuYWNjZXNzLXRva2VuIl0sW1Z0LlVTRVJOQU1FX1BBU1NXT1JELCJnYXRld2F5LnNlY3VyaXR5LXR5cGVzLnVzZXJuYW1lLXBhc3N3b3JkIl0sW1Z0LlRMU19BQ0NFU1NfVE9LRU4sImdhdGV3YXkuc2VjdXJpdHktdHlwZXMudGxzLWFjY2Vzcy10b2tlbiJdXSkpO3ZhciBVdCxfdDtlKCJHYXRld2F5VmVyc2lvbiIsVXQpLGZ1bmN0aW9uKGUpe2UuQ3VycmVudD0iMy41LjIiLGUuTGVnYWN5PSJsZWdhY3kifShVdHx8ZSgiR2F0ZXdheVZlcnNpb24iLFV0PXt9KSksZSgiQ29ubmVjdG9yVHlwZSIsX3QpLGZ1bmN0aW9uKGUpe2UuTVFUVD0ibXF0dCIsZS5NT0RCVVM9Im1vZGJ1cyIsZS5HUlBDPSJncnBjIixlLk9QQ1VBPSJvcGN1YSIsZS5CTEU9ImJsZSIsZS5SRVFVRVNUPSJyZXF1ZXN0IixlLkNBTj0iY2FuIixlLkJBQ05FVD0iYmFjbmV0IixlLk9EQkM9Im9kYmMiLGUuUkVTVD0icmVzdCIsZS5TTk1QPSJzbm1wIixlLkZUUD0iZnRwIixlLlNPQ0tFVD0ic29ja2V0IixlLlhNUFA9InhtcHAiLGUuT0NQUD0ib2NwcCIsZS5DVVNUT009ImN1c3RvbSJ9KF90fHxlKCJDb25uZWN0b3JUeXBlIixfdD17fSkpO2NvbnN0IEh0PWUoIkdhdGV3YXlDb25uZWN0b3JEZWZhdWx0VHlwZXNUcmFuc2xhdGVzTWFwIixuZXcgTWFwKFtbX3QuTVFUVCwiTVFUVCJdLFtfdC5NT0RCVVMsIk1PREJVUyJdLFtfdC5HUlBDLCJHUlBDIl0sW190Lk9QQ1VBLCJPUENVQSJdLFtfdC5CTEUsIkJMRSJdLFtfdC5SRVFVRVNULCJSRVFVRVNUIl0sW190LkNBTiwiQ0FOIl0sW190LkJBQ05FVCwiQkFDTkVUIl0sW190Lk9EQkMsIk9EQkMiXSxbX3QuUkVTVCwiUkVTVCJdLFtfdC5TTk1QLCJTTk1QIl0sW190LkZUUCwiRlRQIl0sW190LlNPQ0tFVCwiU09DS0VUIl0sW190LlhNUFAsIlhNUFAiXSxbX3QuT0NQUCwiT0NQUCJdLFtfdC5DVVNUT00sIkNVU1RPTSJdXSkpLHp0PWUoIk1vZGJ1c0Z1bmN0aW9uQ29kZVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbWzEsImdhdGV3YXkuZnVuY3Rpb24tY29kZXMucmVhZC1jb2lscyJdLFsyLCJnYXRld2F5LmZ1bmN0aW9uLWNvZGVzLnJlYWQtZGlzY3JldGUtaW5wdXRzIl0sWzMsImdhdGV3YXkuZnVuY3Rpb24tY29kZXMucmVhZC1tdWx0aXBsZS1ob2xkaW5nLXJlZ2lzdGVycyJdLFs0LCJnYXRld2F5LmZ1bmN0aW9uLWNvZGVzLnJlYWQtaW5wdXQtcmVnaXN0ZXJzIl0sWzUsImdhdGV3YXkuZnVuY3Rpb24tY29kZXMud3JpdGUtc2luZ2xlLWNvaWwiXSxbNiwiZ2F0ZXdheS5mdW5jdGlvbi1jb2Rlcy53cml0ZS1zaW5nbGUtaG9sZGluZy1yZWdpc3RlciJdLFsxNSwiZ2F0ZXdheS5mdW5jdGlvbi1jb2Rlcy53cml0ZS1tdWx0aXBsZS1jb2lscyJdLFsxNiwiZ2F0ZXdheS5mdW5jdGlvbi1jb2Rlcy53cml0ZS1tdWx0aXBsZS1ob2xkaW5nLXJlZ2lzdGVycyJdXSkpO3ZhciBXdDtlKCJCQUNuZXRSZXF1ZXN0VHlwZXMiLFd0KSxmdW5jdGlvbihlKXtlLldyaXRlUHJvcGVydHk9IndyaXRlUHJvcGVydHkiLGUuUmVhZFByb3BlcnR5PSJyZWFkUHJvcGVydHkifShXdHx8ZSgiQkFDbmV0UmVxdWVzdFR5cGVzIixXdD17fSkpO2NvbnN0IGp0PWUoIkJBQ25ldFJlcXVlc3RUeXBlc1RyYW5zbGF0ZXMiLG5ldyBNYXAoW1tXdC5Xcml0ZVByb3BlcnR5LCJnYXRld2F5LnJwYy53cml0ZS1wcm9wZXJ0eSJdLFtXdC5SZWFkUHJvcGVydHksImdhdGV3YXkucnBjLnJlYWQtcHJvcGVydHkiXV0pKTt2YXIgS3Q7ZSgiQkFDbmV0T2JqZWN0VHlwZXMiLEt0KSxmdW5jdGlvbihlKXtlLkJpbmFyeUlucHV0PSJiaW5hcnlJbnB1dCIsZS5CaW5hcnlPdXRwdXQ9ImJpbmFyeU91dHB1dCIsZS5BbmFsb2dJbnB1dD0iYW5hbG9nSW5wdXQiLGUuQW5hbG9nT3V0cHV0PSJhbmFsb2dPdXRwdXQiLGUuQmluYXJ5VmFsdWU9ImJpbmFyeVZhbHVlIixlLkFuYWxvZ1ZhbHVlPSJhbmFsb2dWYWx1ZSJ9KEt0fHxlKCJCQUNuZXRPYmplY3RUeXBlcyIsS3Q9e30pKTtjb25zdCAkdD1lKCJCQUNuZXRPYmplY3RUeXBlc1RyYW5zbGF0ZXMiLG5ldyBNYXAoW1tLdC5BbmFsb2dPdXRwdXQsImdhdGV3YXkucnBjLmFuYWxvZy1vdXRwdXQiXSxbS3QuQW5hbG9nSW5wdXQsImdhdGV3YXkucnBjLmFuYWxvZy1pbnB1dCJdLFtLdC5CaW5hcnlPdXRwdXQsImdhdGV3YXkucnBjLmJpbmFyeS1vdXRwdXQiXSxbS3QuQmluYXJ5SW5wdXQsImdhdGV3YXkucnBjLmJpbmFyeS1pbnB1dCJdLFtLdC5CaW5hcnlWYWx1ZSwiZ2F0ZXdheS5ycGMuYmluYXJ5LXZhbHVlIl0sW0t0LkFuYWxvZ1ZhbHVlLCJnYXRld2F5LnJwYy5hbmFsb2ctdmFsdWUiXV0pKTt2YXIgWXQ7ZSgiQkxFTWV0aG9kcyIsWXQpLGZ1bmN0aW9uKGUpe2UuV1JJVEU9IndyaXRlIixlLlJFQUQ9InJlYWQiLGUuU0NBTj0ic2NhbiJ9KFl0fHxlKCJCTEVNZXRob2RzIixZdD17fSkpO2NvbnN0IFF0PWUoIkJMRU1ldGhvZHNUcmFuc2xhdGVzIixuZXcgTWFwKFtbWXQuV1JJVEUsImdhdGV3YXkucnBjLndyaXRlIl0sW1l0LlJFQUQsImdhdGV3YXkucnBjLnJlYWQiXSxbWXQuU0NBTiwiZ2F0ZXdheS5ycGMuc2NhbiJdXSkpO3ZhciBKdCxYdDtlKCJDQU5CeXRlT3JkZXJzIixKdCksZnVuY3Rpb24oZSl7ZS5MSVRUTEU9IkxJVFRMRSIsZS5CSUc9IkJJRyJ9KEp0fHxlKCJDQU5CeXRlT3JkZXJzIixKdD17fSkpLGUoIlNvY2tldE1ldGhvZFByb2Nlc3NpbmdzIixYdCksZnVuY3Rpb24oZSl7ZS5XUklURT0id3JpdGUifShYdHx8ZSgiU29ja2V0TWV0aG9kUHJvY2Vzc2luZ3MiLFh0PXt9KSk7Y29uc3QgWnQ9ZSgiU29ja2V0TWV0aG9kUHJvY2Vzc2luZ3NUcmFuc2xhdGVzIixuZXcgTWFwKFtbWHQuV1JJVEUsImdhdGV3YXkucnBjLndyaXRlIl1dKSk7dmFyIGVuO2UoIlNOTVBNZXRob2RzIixlbiksZnVuY3Rpb24oZSl7ZS5TRVQ9InNldCIsZS5NVUxUSVNFVD0ibXVsdGlzZXQiLGUuR0VUPSJnZXQiLGUuQlVMS1dBTEs9ImJ1bGt3YWxrIixlLlRBQkxFPSJ0YWJsZSIsZS5NVUxUSUdFVD0ibXVsdGlnZXQiLGUuR0VUTkVYVD0iZ2V0bmV4dCIsZS5CVUxLR0VUPSJidWxrZ2V0IixlLldBTEtTPSJ3YWxrIn0oZW58fGUoIlNOTVBNZXRob2RzIixlbj17fSkpO2NvbnN0IHRuPWUoIlNOTVBNZXRob2RzVHJhbnNsYXRpb25zIixuZXcgTWFwKFtbZW4uU0VULCJnYXRld2F5LnJwYy5zZXQiXSxbZW4uTVVMVElTRVQsImdhdGV3YXkucnBjLm11bHRpc2V0Il0sW2VuLkdFVCwiZ2F0ZXdheS5ycGMuZ2V0Il0sW2VuLkJVTEtXQUxLLCJnYXRld2F5LnJwYy5idWxrLXdhbGsiXSxbZW4uVEFCTEUsImdhdGV3YXkucnBjLnRhYmxlIl0sW2VuLk1VTFRJR0VULCJnYXRld2F5LnJwYy5tdWx0aS1nZXQiXSxbZW4uR0VUTkVYVCwiZ2F0ZXdheS5ycGMuZ2V0LW5leHQiXSxbZW4uQlVMS0dFVCwiZ2F0ZXdheS5ycGMuYnVsay1nZXQiXSxbZW4uV0FMS1MsImdhdGV3YXkucnBjLndhbGsiXV0pKTt2YXIgbm4sYW4sb24scm4sc24sbG47ZSgiSFRUUE1ldGhvZHMiLG5uKSxmdW5jdGlvbihlKXtlLkNPTk5FQ1Q9IkNPTk5FQ1QiLGUuREVMRVRFPSJERUxFVEUiLGUuR0VUPSJHRVQiLGUuSEVBRD0iSEVBRCIsZS5PUFRJT05TPSJPUFRJT05TIixlLlBBVENIPSJQQVRDSCIsZS5QT1NUPSJQT1NUIixlLlBVVD0iUFVUIixlLlRSQUNFPSJUUkFDRSJ9KG5ufHxlKCJIVFRQTWV0aG9kcyIsbm49e30pKSxlKCJTb2NrZXRFbmNvZGluZ3MiLGFuKSxmdW5jdGlvbihlKXtlLlVURl84PSJ1dGYtOCJ9KGFufHxlKCJTb2NrZXRFbmNvZGluZ3MiLGFuPXt9KSksZSgiQ29uZmlndXJhdGlvbk1vZGVzIixvbiksZnVuY3Rpb24oZSl7ZS5CQVNJQz0iYmFzaWMiLGUuQURWQU5DRUQ9ImFkdmFuY2VkIn0ob258fGUoIkNvbmZpZ3VyYXRpb25Nb2RlcyIsb249e30pKSxlKCJTZWN1cml0eVR5cGUiLHJuKSxmdW5jdGlvbihlKXtlLkFOT05ZTU9VUz0iYW5vbnltb3VzIixlLkJBU0lDPSJiYXNpYyIsZS5DRVJUSUZJQ0FURVM9ImNlcnRpZmljYXRlcyJ9KHJufHxlKCJTZWN1cml0eVR5cGUiLHJuPXt9KSksZSgiUmVwb3J0U3RyYXRlZ3lUeXBlIixzbiksZnVuY3Rpb24oZSl7ZS5PbkNoYW5nZT0iT05fQ0hBTkdFIixlLk9uUmVwb3J0UGVyaW9kPSJPTl9SRVBPUlRfUEVSSU9EIixlLk9uQ2hhbmdlT3JSZXBvcnRQZXJpb2Q9Ik9OX0NIQU5HRV9PUl9SRVBPUlRfUEVSSU9EIn0oc258fGUoIlJlcG9ydFN0cmF0ZWd5VHlwZSIsc249e30pKSxlKCJSZXBvcnRTdHJhdGVneURlZmF1bHRWYWx1ZSIsbG4pLGZ1bmN0aW9uKGUpe2VbZS5Db25uZWN0b3I9NmU0XT0iQ29ubmVjdG9yIixlW2UuRGV2aWNlPTNlNF09IkRldmljZSIsZVtlLktleT0xNWUzXT0iS2V5In0obG58fGUoIlJlcG9ydFN0cmF0ZWd5RGVmYXVsdFZhbHVlIixsbj17fSkpO2NvbnN0IGNuPWUoIlJlcG9ydFN0cmF0ZWd5VHlwZVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW3NuLk9uQ2hhbmdlLCJnYXRld2F5LnJlcG9ydC1zdHJhdGVneS5vbi1jaGFuZ2UiXSxbc24uT25SZXBvcnRQZXJpb2QsImdhdGV3YXkucmVwb3J0LXN0cmF0ZWd5Lm9uLXJlcG9ydC1wZXJpb2QiXSxbc24uT25DaGFuZ2VPclJlcG9ydFBlcmlvZCwiZ2F0ZXdheS5yZXBvcnQtc3RyYXRlZ3kub24tY2hhbmdlLW9yLXJlcG9ydC1wZXJpb2QiXV0pKTt2YXIgcG47ZSgiTW9kZVR5cGUiLHBuKSxmdW5jdGlvbihlKXtlLk5PTkU9Ik5vbmUiLGUuU0lHTj0iU2lnbiIsZS5TSUdOQU5ERU5DUllQVD0iU2lnbkFuZEVuY3J5cHQifShwbnx8ZSgiTW9kZVR5cGUiLHBuPXt9KSk7Y29uc3QgbW49ZSgiU2VjdXJpdHlUeXBlVHJhbnNsYXRpb25zTWFwIixuZXcgTWFwKFtbcm4uQU5PTllNT1VTLCJnYXRld2F5LmJyb2tlci5zZWN1cml0eS10eXBlcy5hbm9ueW1vdXMiXSxbcm4uQkFTSUMsImdhdGV3YXkuYnJva2VyLnNlY3VyaXR5LXR5cGVzLmJhc2ljIl0sW3JuLkNFUlRJRklDQVRFUywiZ2F0ZXdheS5icm9rZXIuc2VjdXJpdHktdHlwZXMuY2VydGlmaWNhdGVzIl1dKSk7dmFyIGRuO2UoIlJlc3RTZWN1cml0eVR5cGUiLGRuKSxmdW5jdGlvbihlKXtlLkFOT05ZTU9VUz0iYW5vbnltb3VzIixlLkJBU0lDPSJiYXNpYyJ9KGRufHxlKCJSZXN0U2VjdXJpdHlUeXBlIixkbj17fSkpO2NvbnN0IHVuPWUoIlJlc3RTZWN1cml0eVR5cGVUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1tkbi5BTk9OWU1PVVMsImdhdGV3YXkuYnJva2VyLnNlY3VyaXR5LXR5cGVzLmFub255bW91cyJdLFtkbi5CQVNJQywiZ2F0ZXdheS5icm9rZXIuc2VjdXJpdHktdHlwZXMuYmFzaWMiXV0pKSxnbj1lKCJNcXR0VmVyc2lvbnMiLFt7bmFtZTozLjEsdmFsdWU6M30se25hbWU6My4xMSx2YWx1ZTo0fSx7bmFtZTo1LHZhbHVlOjV9XSk7dmFyIGZuO2UoIk1hcHBpbmdUeXBlIixmbiksZnVuY3Rpb24oZSl7ZS5EQVRBPSJkYXRhIixlLlJFUVVFU1RTPSJyZXF1ZXN0cyIsZS5PUENVQT0iT1BDdWEifShmbnx8ZSgiTWFwcGluZ1R5cGUiLGZuPXt9KSk7Y29uc3QgeW49ZSgiTWFwcGluZ1R5cGVUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1tmbi5EQVRBLCJnYXRld2F5LmRhdGEtbWFwcGluZyJdLFtmbi5SRVFVRVNUUywiZ2F0ZXdheS5yZXF1ZXN0cy1tYXBwaW5nIl0sW2ZuLk9QQ1VBLCJnYXRld2F5LmRhdGEtbWFwcGluZyJdXSkpLGJuPWUoIk1hcHBpbmdIaW50VHJhbnNsYXRpb25zTWFwIixuZXcgTWFwKFtbZm4uREFUQSwiZ2F0ZXdheS5kYXRhLW1hcHBpbmctaGludCJdLFtmbi5PUENVQSwiZ2F0ZXdheS5vcGN1YS1kYXRhLW1hcHBpbmctaGludCJdLFtmbi5SRVFVRVNUUywiZ2F0ZXdheS5yZXF1ZXN0cy1tYXBwaW5nLWhpbnQiXV0pKSxobj1lKCJIZWxwTGlua0J5TWFwcGluZ1R5cGVNYXAiLG5ldyBNYXAoW1tmbi5EQVRBLHYrIi9kb2NzL2lvdC1nYXRld2F5L2NvbmZpZy9tcXR0LyNzZWN0aW9uLW1hcHBpbmciXSxbZm4uT1BDVUEsdisiL2RvY3MvaW90LWdhdGV3YXkvY29uZmlnL29wYy11YS8jc2VjdGlvbi1tYXBwaW5nIl0sW2ZuLlJFUVVFU1RTLHYrIi9kb2NzL2lvdC1nYXRld2F5L2NvbmZpZy9tcXR0LyNyZXF1ZXN0cy1tYXBwaW5nIl1dKSkseG49ZSgiUXVhbGl0eVR5cGVzIixbMCwxLDJdKSx2bj1lKCJRdWFsaXR5VHlwZVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbWzAsImdhdGV3YXkucW9zLmF0LW1vc3Qtb25jZSJdLFsxLCJnYXRld2F5LnFvcy5hdC1sZWFzdC1vbmNlIl0sWzIsImdhdGV3YXkucW9zLmV4YWN0bHktb25jZSJdXSkpO3ZhciB3bjtlKCJDb252ZXJ0b3JUeXBlIix3biksZnVuY3Rpb24oZSl7ZS5KU09OPSJqc29uIixlLkJZVEVTPSJieXRlcyIsZS5DVVNUT009ImN1c3RvbSJ9KHdufHxlKCJDb252ZXJ0b3JUeXBlIix3bj17fSkpO2NvbnN0IENuPWUoIkNvbnZlcnRvclR5cGVUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1t3bi5KU09OLCJnYXRld2F5LkpTT04iXSxbd24uQllURVMsImdhdGV3YXkuYnl0ZXMiXSxbd24uQ1VTVE9NLCJnYXRld2F5LmN1c3RvbSJdXSkpO3ZhciBUbixTbixrbjtlKCJTb3VyY2VUeXBlIixUbiksZnVuY3Rpb24oZSl7ZS5NU0c9Im1lc3NhZ2UiLGUuVE9QSUM9InRvcGljIixlLkNPTlNUPSJjb25zdGFudCJ9KFRufHxlKCJTb3VyY2VUeXBlIixUbj17fSkpLGUoIk9QQ1VhU291cmNlVHlwZSIsU24pLGZ1bmN0aW9uKGUpe2UuUEFUSD0icGF0aCIsZS5JREVOVElGSUVSPSJpZGVudGlmaWVyIixlLkNPTlNUPSJjb25zdGFudCJ9KFNufHxlKCJPUENVYVNvdXJjZVR5cGUiLFNuPXt9KSksZSgiRGV2aWNlSW5mb1R5cGUiLGtuKSxmdW5jdGlvbihlKXtlLkZVTEw9ImZ1bGwiLGUuUEFSVElBTD0icGFydGlhbCJ9KGtufHxlKCJEZXZpY2VJbmZvVHlwZSIsa249e30pKTtjb25zdCBMbj1lKCJTb3VyY2VUeXBlVHJhbnNsYXRpb25zTWFwIixuZXcgTWFwKFtbVG4uTVNHLCJnYXRld2F5LnNvdXJjZS10eXBlLm1zZyJdLFtUbi5UT1BJQywiZ2F0ZXdheS5zb3VyY2UtdHlwZS50b3BpYyJdLFtUbi5DT05TVCwiZ2F0ZXdheS5zb3VyY2UtdHlwZS5jb25zdCJdLFtTbi5QQVRILCJnYXRld2F5LnNvdXJjZS10eXBlLnBhdGgiXSxbU24uSURFTlRJRklFUiwiZ2F0ZXdheS5zb3VyY2UtdHlwZS5pZGVudGlmaWVyIl0sW1NuLkNPTlNULCJnYXRld2F5LnNvdXJjZS10eXBlLmNvbnN0Il1dKSk7dmFyIEZuLEluO2UoIlNlcnZlclNpZGVScGNUeXBlIixGbiksZnVuY3Rpb24oZSl7ZS5XaXRoUmVzcG9uc2U9InR3b1dheSIsZS5XaXRob3V0UmVzcG9uc2U9Im9uZVdheSJ9KEZufHxlKCJTZXJ2ZXJTaWRlUnBjVHlwZSIsRm49e30pKSxlKCJSZXF1ZXN0VHlwZSIsSW4pLGZ1bmN0aW9uKGUpe2UuQ09OTkVDVF9SRVFVRVNUPSJjb25uZWN0UmVxdWVzdHMiLGUuRElTQ09OTkVDVF9SRVFVRVNUPSJkaXNjb25uZWN0UmVxdWVzdHMiLGUuQVRUUklCVVRFX1JFUVVFU1Q9ImF0dHJpYnV0ZVJlcXVlc3RzIixlLkFUVFJJQlVURV9VUERBVEU9ImF0dHJpYnV0ZVVwZGF0ZXMiLGUuU0VSVkVSX1NJREVfUlBDPSJzZXJ2ZXJTaWRlUnBjIn0oSW58fGUoIlJlcXVlc3RUeXBlIixJbj17fSkpO2NvbnN0IEFuPWUoIlJlcXVlc3RUeXBlc1RyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW0luLkNPTk5FQ1RfUkVRVUVTVCwiZ2F0ZXdheS5yZXF1ZXN0LmNvbm5lY3QtcmVxdWVzdCJdLFtJbi5ESVNDT05ORUNUX1JFUVVFU1QsImdhdGV3YXkucmVxdWVzdC5kaXNjb25uZWN0LXJlcXVlc3QiXSxbSW4uQVRUUklCVVRFX1JFUVVFU1QsImdhdGV3YXkucmVxdWVzdC5hdHRyaWJ1dGUtcmVxdWVzdCJdLFtJbi5BVFRSSUJVVEVfVVBEQVRFLCJnYXRld2F5LnJlcXVlc3QuYXR0cmlidXRlLXVwZGF0ZSJdLFtJbi5TRVJWRVJfU0lERV9SUEMsImdhdGV3YXkucmVxdWVzdC5ycGMtY29ubmVjdGlvbiJdXSkpO3ZhciBObjtlKCJNYXBwaW5nS2V5c1R5cGUiLE5uKSxmdW5jdGlvbihlKXtlLkFUVFJJQlVURVM9ImF0dHJpYnV0ZXMiLGUuVElNRVNFUklFUz0idGltZXNlcmllcyIsZS5DVVNUT009ImV4dGVuc2lvbkNvbmZpZyIsZS5SUENfTUVUSE9EUz0icnBjX21ldGhvZHMiLGUuQVRUUklCVVRFU19VUERBVEVTPSJhdHRyaWJ1dGVzX3VwZGF0ZXMifShObnx8ZSgiTWFwcGluZ0tleXNUeXBlIixObj17fSkpO2NvbnN0IE1uPWUoIk1hcHBpbmdLZXlzUGFuZWxUaXRsZVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW05uLkFUVFJJQlVURVMsImdhdGV3YXkuYXR0cmlidXRlcyJdLFtObi5USU1FU0VSSUVTLCJnYXRld2F5LnRpbWVzZXJpZXMiXSxbTm4uQ1VTVE9NLCJnYXRld2F5LmtleXMiXSxbTm4uQVRUUklCVVRFU19VUERBVEVTLCJnYXRld2F5LmF0dHJpYnV0ZS11cGRhdGVzIl0sW05uLlJQQ19NRVRIT0RTLCJnYXRld2F5LnJwYy1tZXRob2RzIl1dKSksRW49ZSgiTWFwcGluZ0tleXNBZGRLZXlUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1tObi5BVFRSSUJVVEVTLCJnYXRld2F5LmFkZC1hdHRyaWJ1dGUiXSxbTm4uVElNRVNFUklFUywiZ2F0ZXdheS5hZGQtdGltZXNlcmllcyJdLFtObi5DVVNUT00sImdhdGV3YXkuYWRkLWtleSJdLFtObi5BVFRSSUJVVEVTX1VQREFURVMsImdhdGV3YXkuYWRkLWF0dHJpYnV0ZS11cGRhdGUiXSxbTm4uUlBDX01FVEhPRFMsImdhdGV3YXkuYWRkLXJwYy1tZXRob2QiXV0pKSxxbj1lKCJNYXBwaW5nS2V5c0RlbGV0ZUtleVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW05uLkFUVFJJQlVURVMsImdhdGV3YXkuZGVsZXRlLWF0dHJpYnV0ZSJdLFtObi5USU1FU0VSSUVTLCJnYXRld2F5LmRlbGV0ZS10aW1lc2VyaWVzIl0sW05uLkNVU1RPTSwiZ2F0ZXdheS5kZWxldGUta2V5Il0sW05uLkFUVFJJQlVURVNfVVBEQVRFUywiZ2F0ZXdheS5kZWxldGUtYXR0cmlidXRlLXVwZGF0ZSJdLFtObi5SUENfTUVUSE9EUywiZ2F0ZXdheS5kZWxldGUtcnBjLW1ldGhvZCJdXSkpLERuPWUoIk1hcHBpbmdLZXlzTm9LZXlzVGV4dFRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW05uLkFUVFJJQlVURVMsImdhdGV3YXkubm8tYXR0cmlidXRlcyJdLFtObi5USU1FU0VSSUVTLCJnYXRld2F5Lm5vLXRpbWVzZXJpZXMiXSxbTm4uQ1VTVE9NLCJnYXRld2F5Lm5vLWtleXMiXSxbTm4uQVRUUklCVVRFU19VUERBVEVTLCJnYXRld2F5Lm5vLWF0dHJpYnV0ZS11cGRhdGVzIl0sW05uLlJQQ19NRVRIT0RTLCJnYXRld2F5Lm5vLXJwYy1tZXRob2RzIl1dKSk7dmFyIFBuLEduLE9uO2UoIlNlcnZlclNpZGVSUENUeXBlIixQbiksZnVuY3Rpb24oZSl7ZS5PTkVfV0FZPSJvbmVXYXkiLGUuVFdPX1dBWT0idHdvV2F5In0oUG58fGUoIlNlcnZlclNpZGVSUENUeXBlIixQbj17fSkpLGUoIk1hcHBpbmdWYWx1ZVR5cGUiLEduKSxmdW5jdGlvbihlKXtlLlNUUklORz0ic3RyaW5nIixlLklOVEVHRVI9ImludGVnZXIiLGUuRE9VQkxFPSJkb3VibGUiLGUuQk9PTEVBTj0iYm9vbGVhbiJ9KEdufHxlKCJNYXBwaW5nVmFsdWVUeXBlIixHbj17fSkpLGUoIk1vZGlmaWVyVHlwZSIsT24pLGZ1bmN0aW9uKGUpe2UuRElWSURFUj0iZGl2aWRlciIsZS5NVUxUSVBMSUVSPSJtdWx0aXBsaWVyIn0oT258fGUoIk1vZGlmaWVyVHlwZSIsT249e30pKTtjb25zdCBSbj1lKCJNb2RpZmllclR5cGVzTWFwIixuZXcgTWFwKFtbT24uRElWSURFUix7bmFtZToiZ2F0ZXdheS5kaXZpZGVyIixpY29uOiJtZGk6ZGl2aXNpb24ifV0sW09uLk1VTFRJUExJRVIse25hbWU6ImdhdGV3YXkubXVsdGlwbGllciIsaWNvbjoibWRpOm11bHRpcGxpY2F0aW9uIn1dXSkpLFZuPWUoIm1hcHBpbmdWYWx1ZVR5cGVzTWFwIixuZXcgTWFwKFtbR24uU1RSSU5HLHtuYW1lOiJ2YWx1ZS5zdHJpbmciLGljb246Im1kaTpmb3JtYXQtdGV4dCJ9XSxbR24uSU5URUdFUix7bmFtZToidmFsdWUuaW50ZWdlciIsaWNvbjoibWRpOm51bWVyaWMifV0sW0duLkRPVUJMRSx7bmFtZToidmFsdWUuZG91YmxlIixpY29uOiJtZGk6bnVtZXJpYyJ9XSxbR24uQk9PTEVBTix7bmFtZToidmFsdWUuYm9vbGVhbiIsaWNvbjoibWRpOmNoZWNrYm94LW1hcmtlZC1vdXRsaW5lIn1dXSkpLEJuPWUoIkRhdGFDb252ZXJzaW9uVHJhbnNsYXRpb25zTWFwIixuZXcgTWFwKFtbd24uSlNPTiwiZ2F0ZXdheS5KU09OLWhpbnQiXSxbd24uQllURVMsImdhdGV3YXkuYnl0ZXMtaGludCJdLFt3bi5DVVNUT00sImdhdGV3YXkuY3VzdG9tLWhpbnQiXV0pKTt2YXIgVW47ZSgiU2VjdXJpdHlQb2xpY3kiLFVuKSxmdW5jdGlvbihlKXtlLkJBU0lDMTI4PSJCYXNpYzEyOFJzYTE1IixlLkJBU0lDMjU2PSJCYXNpYzI1NiIsZS5CQVNJQzI1NlNIQT0iQmFzaWMyNTZTaGEyNTYifShVbnx8ZSgiU2VjdXJpdHlQb2xpY3kiLFVuPXt9KSk7Y29uc3QgX249ZSgiU2VjdXJpdHlQb2xpY3lUeXBlcyIsW3t2YWx1ZTpVbi5CQVNJQzEyOCxuYW1lOiJCYXNpYzEyOFJTQTE1In0se3ZhbHVlOlVuLkJBU0lDMjU2LG5hbWU6IkJhc2ljMjU2In0se3ZhbHVlOlVuLkJBU0lDMjU2U0hBLG5hbWU6IkJhc2ljMjU2U0hBMjU2In1dKTt2YXIgSG47ZSgiTW9kYnVzUHJvdG9jb2xUeXBlIixIbiksZnVuY3Rpb24oZSl7ZS5UQ1A9InRjcCIsZS5VRFA9InVkcCIsZS5TZXJpYWw9InNlcmlhbCJ9KEhufHxlKCJNb2RidXNQcm90b2NvbFR5cGUiLEhuPXt9KSk7Y29uc3Qgem49ZSgiTW9kYnVzUHJvdG9jb2xMYWJlbHNNYXAiLG5ldyBNYXAoW1tIbi5UQ1AsIlRDUCJdLFtIbi5VRFAsIlVEUCJdLFtIbi5TZXJpYWwsIlNlcmlhbCJdXSkpO3ZhciBXbixqbjtlKCJNb2RidXNNZXRob2RUeXBlIixXbiksZnVuY3Rpb24oZSl7ZS5TT0NLRVQ9InNvY2tldCIsZS5SVFU9InJ0dSJ9KFdufHxlKCJNb2RidXNNZXRob2RUeXBlIixXbj17fSkpLGUoIk1vZGJ1c1NlcmlhbE1ldGhvZFR5cGUiLGpuKSxmdW5jdGlvbihlKXtlLlJUVT0icnR1IixlLkFTQ0lJPSJhc2NpaSJ9KGpufHxlKCJNb2RidXNTZXJpYWxNZXRob2RUeXBlIixqbj17fSkpO2NvbnN0IEtuPWUoIk1vZGJ1c01ldGhvZExhYmVsc01hcCIsbmV3IE1hcChbW1duLlNPQ0tFVCwiU29ja2V0Il0sW1duLlJUVSwiUlRVIl0sW2puLkFTQ0lJLCJBU0NJSSJdXSkpLCRuPWUoIk1vZGJ1c0J5dGVTaXplcyIsWzUsNiw3LDhdKTt2YXIgWW47ZSgiTW9kYnVzUGFyaXR5IixZbiksZnVuY3Rpb24oZSl7ZS5FdmVuPSJFIixlLk9kZD0iTyIsZS5Ob25lPSJOIn0oWW58fGUoIk1vZGJ1c1Bhcml0eSIsWW49e30pKTtjb25zdCBRbj1lKCJNb2RidXNQYXJpdHlMYWJlbHNNYXAiLG5ldyBNYXAoW1tZbi5FdmVuLCJFdmVuIl0sW1luLk9kZCwiT2RkIl0sW1luLk5vbmUsIk5vbmUiXV0pKTt2YXIgSm4sWG47ZSgiTW9kYnVzT3JkZXJUeXBlIixKbiksZnVuY3Rpb24oZSl7ZS5CSUc9IkJJRyIsZS5MSVRUTEU9IkxJVFRMRSJ9KEpufHxlKCJNb2RidXNPcmRlclR5cGUiLEpuPXt9KSksZSgiTW9kYnVzUmVnaXN0ZXJUeXBlIixYbiksZnVuY3Rpb24oZSl7ZS5Ib2xkaW5nUmVnaXN0ZXJzPSJob2xkaW5nX3JlZ2lzdGVycyIsZS5Db2lsc0luaXRpYWxpemVyPSJjb2lsc19pbml0aWFsaXplciIsZS5JbnB1dFJlZ2lzdGVycz0iaW5wdXRfcmVnaXN0ZXJzIixlLkRpc2NyZXRlSW5wdXRzPSJkaXNjcmV0ZV9pbnB1dHMifShYbnx8ZSgiTW9kYnVzUmVnaXN0ZXJUeXBlIixYbj17fSkpO2NvbnN0IFpuPWUoIk1vZGJ1c1JlZ2lzdGVyVHJhbnNsYXRpb25zTWFwIixuZXcgTWFwKFtbWG4uSG9sZGluZ1JlZ2lzdGVycywiZ2F0ZXdheS5ob2xkaW5nX3JlZ2lzdGVycyJdLFtYbi5Db2lsc0luaXRpYWxpemVyLCJnYXRld2F5LmNvaWxzX2luaXRpYWxpemVyIl0sW1huLklucHV0UmVnaXN0ZXJzLCJnYXRld2F5LmlucHV0X3JlZ2lzdGVycyJdLFtYbi5EaXNjcmV0ZUlucHV0cywiZ2F0ZXdheS5kaXNjcmV0ZV9pbnB1dHMiXV0pKTt2YXIgZWE7ZSgiTW9kYnVzRGF0YVR5cGUiLGVhKSxmdW5jdGlvbihlKXtlLlNUUklORz0ic3RyaW5nIixlLkJZVEVTPSJieXRlcyIsZS5CSVRTPSJiaXRzIixlLklOVDg9IjhpbnQiLGUuVUlOVDg9Ijh1aW50IixlLkZMT0FUOD0iOGZsb2F0IixlLklOVDE2PSIxNmludCIsZS5VSU5UMTY9IjE2dWludCIsZS5GTE9BVDE2PSIxNmZsb2F0IixlLklOVDMyPSIzMmludCIsZS5VSU5UMzI9IjMydWludCIsZS5GTE9BVDMyPSIzMmZsb2F0IixlLklOVDY0PSI2NGludCIsZS5VSU5UNjQ9IjY0dWludCIsZS5GTE9BVDY0PSI2NGZsb2F0In0oZWF8fGUoIk1vZGJ1c0RhdGFUeXBlIixlYT17fSkpO2NvbnN0IHRhPWUoIk1vZGJ1c0VkaXRhYmxlRGF0YVR5cGVzIixbZWEuQllURVMsZWEuQklUUyxlYS5TVFJJTkddKTt2YXIgbmEsYWE7ZSgiTW9kYnVzT2JqZWN0Q291bnRCeURhdGFUeXBlIixuYSksZnVuY3Rpb24oZSl7ZVtlWyI4aW50Il09MV09IjhpbnQiLGVbZVsiOHVpbnQiXT0xXT0iOHVpbnQiLGVbZVsiOGZsb2F0Il09MV09IjhmbG9hdCIsZVtlWyIxNmludCJdPTFdPSIxNmludCIsZVtlWyIxNnVpbnQiXT0xXT0iMTZ1aW50IixlW2VbIjE2ZmxvYXQiXT0xXT0iMTZmbG9hdCIsZVtlWyIzMmludCJdPTJdPSIzMmludCIsZVtlWyIzMnVpbnQiXT0yXT0iMzJ1aW50IixlW2VbIjMyZmxvYXQiXT0yXT0iMzJmbG9hdCIsZVtlWyI2NGludCJdPTRdPSI2NGludCIsZVtlWyI2NHVpbnQiXT00XT0iNjR1aW50IixlW2VbIjY0ZmxvYXQiXT00XT0iNjRmbG9hdCJ9KG5hfHxlKCJNb2RidXNPYmplY3RDb3VudEJ5RGF0YVR5cGUiLG5hPXt9KSksZSgiTW9kYnVzVmFsdWVLZXkiLGFhKSxmdW5jdGlvbihlKXtlLkFUVFJJQlVURVM9ImF0dHJpYnV0ZXMiLGUuVElNRVNFUklFUz0idGltZXNlcmllcyIsZS5BVFRSSUJVVEVTX1VQREFURVM9ImF0dHJpYnV0ZVVwZGF0ZXMiLGUuUlBDX1JFUVVFU1RTPSJycGMifShhYXx8ZSgiTW9kYnVzVmFsdWVLZXkiLGFhPXt9KSk7Y29uc3Qgb2E9ZSgiTW9kYnVzS2V5c1BhbmVsVGl0bGVUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1thYS5BVFRSSUJVVEVTLCJnYXRld2F5LmF0dHJpYnV0ZXMiXSxbYWEuVElNRVNFUklFUywiZ2F0ZXdheS50aW1lc2VyaWVzIl0sW2FhLkFUVFJJQlVURVNfVVBEQVRFUywiZ2F0ZXdheS5hdHRyaWJ1dGUtdXBkYXRlcyJdLFthYS5SUENfUkVRVUVTVFMsImdhdGV3YXkucnBjLXJlcXVlc3RzIl1dKSksaWE9ZSgiTW9kYnVzS2V5c0FkZEtleVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW2FhLkFUVFJJQlVURVMsImdhdGV3YXkuYWRkLWF0dHJpYnV0ZSJdLFthYS5USU1FU0VSSUVTLCJnYXRld2F5LmFkZC10aW1lc2VyaWVzIl0sW2FhLkFUVFJJQlVURVNfVVBEQVRFUywiZ2F0ZXdheS5hZGQtYXR0cmlidXRlLXVwZGF0ZSJdLFthYS5SUENfUkVRVUVTVFMsImdhdGV3YXkuYWRkLXJwYy1yZXF1ZXN0Il1dKSkscmE9ZSgiTW9kYnVzS2V5c0RlbGV0ZUtleVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW2FhLkFUVFJJQlVURVMsImdhdGV3YXkuZGVsZXRlLWF0dHJpYnV0ZSJdLFthYS5USU1FU0VSSUVTLCJnYXRld2F5LmRlbGV0ZS10aW1lc2VyaWVzIl0sW2FhLkFUVFJJQlVURVNfVVBEQVRFUywiZ2F0ZXdheS5kZWxldGUtYXR0cmlidXRlLXVwZGF0ZSJdLFthYS5SUENfUkVRVUVTVFMsImdhdGV3YXkuZGVsZXRlLXJwYy1yZXF1ZXN0Il1dKSksc2E9ZSgiTW9kYnVzS2V5c05vS2V5c1RleHRUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1thYS5BVFRSSUJVVEVTLCJnYXRld2F5Lm5vLWF0dHJpYnV0ZXMiXSxbYWEuVElNRVNFUklFUywiZ2F0ZXdheS5uby10aW1lc2VyaWVzIl0sW2FhLkFUVFJJQlVURVNfVVBEQVRFUywiZ2F0ZXdheS5uby1hdHRyaWJ1dGUtdXBkYXRlcyJdLFthYS5SUENfUkVRVUVTVFMsImdhdGV3YXkubm8tcnBjLXJlcXVlc3RzIl1dKSksbGE9ZSgiTW9kYnVzQmF1ZHJhdGVzIixbNDgwMCw5NjAwLDE5MjAwLDM4NDAwLDU3NjAwLDExNTIwMCwyMzA0MDAsNDYwODAwLDkyMTYwMF0pO2NsYXNzIGNhe2NvbnN0cnVjdG9yKCl7dGhpcy5kaXNwbGF5ZWRDb2x1bW5zPVsidHMiLCJzdGF0dXMiLCJtZXNzYWdlIl0sdGhpcy5nYXRld2F5TG9nTGlua3M9W3tuYW1lOiJHZW5lcmFsIixrZXk6IkxPR1MifSx7bmFtZToiU2VydmljZSIsa2V5OiJTRVJWSUNFX0xPR1MifSx7bmFtZToiQ29ubmVjdGlvbiIsa2V5OiJDT05ORUNUSU9OX0xPR1MifSx7bmFtZToiU3RvcmFnZSIsa2V5OiJTVE9SQUdFX0xPR1MifSx7a2V5OiJFWFRFTlNJT05TX0xPR1MiLG5hbWU6IkV4dGVuc2lvbiJ9XTtjb25zdCBlPXtwcm9wZXJ0eToidHMiLGRpcmVjdGlvbjp3LkRFU0N9O3RoaXMucGFnZUxpbms9bmV3IEMoMTAsMCxudWxsLGUpLHRoaXMuZGF0YVNvdXJjZT1uZXcgeShbXSl9bmdPbkluaXQoKXt0aGlzLnVwZGF0ZVdpZGdldFRpdGxlKCl9bmdBZnRlclZpZXdJbml0KCl7aWYodGhpcy5kYXRhU291cmNlLnNvcnQ9dGhpcy5zb3J0LHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3I9dGhpcy5wYWdpbmF0b3IsdGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5vblRpbWV3aW5kb3dDaGFuZ2VGdW5jdGlvbj1lPT4odGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5vcHRpb25zLnRpbWVXaW5kb3dDb25maWc9ZSx0aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLnVwZGF0ZURhdGFTdWJzY3JpcHRpb25zKCksZSksdGhpcy5jdHguc2V0dGluZ3MuaXNDb25uZWN0b3JMb2cmJnRoaXMuY3R4LnNldHRpbmdzLmNvbm5lY3RvckxvZ1N0YXRlKXtjb25zdCBlPXRoaXMuY3R4LnN0YXRlQ29udHJvbGxlci5nZXRTdGF0ZVBhcmFtcygpW3RoaXMuY3R4LnNldHRpbmdzLmNvbm5lY3RvckxvZ1N0YXRlXTt0aGlzLmxvZ0xpbmtzPVt7a2V5OmAke2Uua2V5fV9MT0dTYCxuYW1lOiJDb25uZWN0b3IiLGZpbHRlckZuOmU9PiFlLm1lc3NhZ2UuaW5jbHVkZXMoIl9jb252ZXJ0ZXIucHkiKX0se2tleTpgJHtlLmtleX1fTE9HU2AsbmFtZToiQ29udmVydGVyIixmaWx0ZXJGbjplPT5lLm1lc3NhZ2UuaW5jbHVkZXMoIl9jb252ZXJ0ZXIucHkiKX1dfWVsc2UgdGhpcy5sb2dMaW5rcz10aGlzLmdhdGV3YXlMb2dMaW5rczt0aGlzLmFjdGl2ZUxpbms9dGhpcy5sb2dMaW5rc1swXSx0aGlzLmNoYW5nZVN1YnNjcmlwdGlvbigpfXVwZGF0ZVdpZGdldFRpdGxlKCl7aWYodGhpcy5jdHguc2V0dGluZ3MuaXNDb25uZWN0b3JMb2cmJnRoaXMuY3R4LnNldHRpbmdzLmNvbm5lY3RvckxvZ1N0YXRlKXtjb25zdCBlPXRoaXMuY3R4LndpZGdldENvbmZpZy50aXRsZSx0PSIke2Nvbm5lY3Rvck5hbWV9IjtpZihlLmluY2x1ZGVzKHQpKXtjb25zdCBuPXRoaXMuY3R4LnN0YXRlQ29udHJvbGxlci5nZXRTdGF0ZVBhcmFtcygpW3RoaXMuY3R4LnNldHRpbmdzLmNvbm5lY3RvckxvZ1N0YXRlXTt0aGlzLmN0eC53aWRnZXRUaXRsZT1lLnJlcGxhY2UodCxuLmtleSl9fX11cGRhdGVEYXRhKCl7aWYodGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5kYXRhLmxlbmd0aCYmdGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5kYXRhWzBdKXtsZXQgZT10aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLmRhdGFbMF0uZGF0YS5tYXAoKGU9Pntjb25zdCB0PXt0czplWzBdLGtleTp0aGlzLmFjdGl2ZUxpbmsua2V5LG1lc3NhZ2U6ZVsxXSxzdGF0dXM6IklOVkFMSUQgTE9HIEZPUk1BVCJ9O3RyeXt0Lm1lc3NhZ2U9L1xbKC4qKS8uZXhlYyhlWzFdKVswXX1jYXRjaChuKXt0Lm1lc3NhZ2U9ZVsxXX10cnl7dC5zdGF0dXM9ZVsxXS5tYXRjaCgvXHwoXHcrKVx8LylbMV19Y2F0Y2goZSl7dC5zdGF0dXM9IklOVkFMSUQgTE9HIEZPUk1BVCJ9cmV0dXJuIHR9KSk7dGhpcy5hY3RpdmVMaW5rLmZpbHRlckZuJiYoZT1lLmZpbHRlcigoZT0+dGhpcy5hY3RpdmVMaW5rLmZpbHRlckZuKGUpKSkpLHRoaXMuZGF0YVNvdXJjZS5kYXRhPWV9fW9uVGFiQ2hhbmdlZChlKXt0aGlzLmFjdGl2ZUxpbms9ZSx0aGlzLmNoYW5nZVN1YnNjcmlwdGlvbigpfXN0YXR1c0NsYXNzKGUpe3N3aXRjaChlKXtjYXNlIHF0LkRFQlVHOnJldHVybiJzdGF0dXMgc3RhdHVzLWRlYnVnIjtjYXNlIHF0LldBUk5JTkc6cmV0dXJuInN0YXR1cyBzdGF0dXMtd2FybmluZyI7Y2FzZSBxdC5FUlJPUjpjYXNlIHF0LkVYQ0VQVElPTjpyZXR1cm4ic3RhdHVzIHN0YXR1cy1lcnJvciI7ZGVmYXVsdDpyZXR1cm4ic3RhdHVzIHN0YXR1cy1pbmZvIn19c3RhdHVzQ2xhc3NNc2coZSl7aWYoZT09PXF0LkVYQ0VQVElPTilyZXR1cm4ibXNnLXN0YXR1cy1leGNlcHRpb24ifXRyYWNrQnlMb2dUcyhlLHQpe3JldHVybiB0LnRzfWNoYW5nZVN1YnNjcmlwdGlvbigpe3RoaXMuY3R4LmRhdGFzb3VyY2VzJiZ0aGlzLmN0eC5kYXRhc291cmNlc1swXS5lbnRpdHkmJnRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24ub3B0aW9ucy5kYXRhc291cmNlcyYmKHRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24ub3B0aW9ucy5kYXRhc291cmNlc1swXS5kYXRhS2V5cz1be25hbWU6dGhpcy5hY3RpdmVMaW5rLmtleSx0eXBlOlQudGltZXNlcmllcyxzZXR0aW5nczp7fX1dLHRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLnVwZGF0ZURhdGFTdWJzY3JpcHRpb25zKCksdGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5jYWxsYmFja3Mub25EYXRhVXBkYXRlZD0oKT0+e3RoaXMudXBkYXRlRGF0YSgpfSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpjYSxkZXBzOltdLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6Y2Esc2VsZWN0b3I6InRiLWdhdGV3YXktbG9ncyIsaW5wdXRzOntjdHg6ImN0eCIsZGlhbG9nUmVmOiJkaWFsb2dSZWYifSx2aWV3UXVlcmllczpbe3Byb3BlcnR5TmFtZToic2VhcmNoSW5wdXRGaWVsZCIsZmlyc3Q6ITAscHJlZGljYXRlOlsic2VhcmNoSW5wdXQiXSxkZXNjZW5kYW50czohMH0se3Byb3BlcnR5TmFtZToic29ydCIsZmlyc3Q6ITAscHJlZGljYXRlOmcsZGVzY2VuZGFudHM6ITB9LHtwcm9wZXJ0eU5hbWU6InBhZ2luYXRvciIsZmlyc3Q6ITAscHJlZGljYXRlOmgsZGVzY2VuZGFudHM6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG5hdiBtYXQtdGFiLW5hdi1iYXIgW3RhYlBhbmVsXT0idGFiUGFuZWwiPlxuICA8YSBtYXQtdGFiLWxpbmsgKm5nRm9yPSJsZXQgbGluayBvZiBsb2dMaW5rcyJcbiAgICAgKGNsaWNrKT0ib25UYWJDaGFuZ2VkKGxpbmspIlxuICAgICBbYWN0aXZlXT0iYWN0aXZlTGluay5uYW1lID09PSBsaW5rLm5hbWUiPiB7eyBsaW5rLm5hbWUgfX0gPC9hPlxuPC9uYXY+XG48bWF0LXRhYi1uYXYtcGFuZWwgI3RhYlBhbmVsPjwvbWF0LXRhYi1uYXYtcGFuZWw+XG48dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT0iZGF0YVNvdXJjZSIgW3RyYWNrQnldPSJ0cmFja0J5TG9nVHMiXG4gICAgICAgbWF0U29ydCBbbWF0U29ydEFjdGl2ZV09InBhZ2VMaW5rLnNvcnRPcmRlci5wcm9wZXJ0eSIgW21hdFNvcnREaXJlY3Rpb25dPSJwYWdlTGluay5zb3J0RGlyZWN0aW9uKCkiXG4gICAgICAgbWF0U29ydERpc2FibGVDbGVhcj5cbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9InRzIj5cbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDIwJSI+e3sgXCd3aWRnZXRzLmdhdGV3YXkuY3JlYXRlZC10aW1lXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiPlxuICAgICAge3sgYXR0cmlidXRlLnRzIHwgZGF0ZTpcJ3l5eXktTU0tZGQgSEg6bW06c3NcJyB9fVxuICAgIDwvbWF0LWNlbGw+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0ic3RhdHVzIj5cbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDEwJSI+e3sgXCd3aWRnZXRzLmdhdGV3YXkubGV2ZWxcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWhlYWRlci1jZWxsPlxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IGF0dHJpYnV0ZSI+XG4gICAgICA8c3BhbiBbY2xhc3NdPSJzdGF0dXNDbGFzcyhhdHRyaWJ1dGUuc3RhdHVzKSI+e3sgYXR0cmlidXRlLnN0YXR1cyB9fTwvc3Bhbj5cbiAgICA8L21hdC1jZWxsPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9Im1lc3NhZ2UiPlxuICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIHN0eWxlPSJ3aWR0aDogNzAlIj57eyBcJ3dpZGdldHMuZ2F0ZXdheS5tZXNzYWdlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIFtjbGFzc109InN0YXR1c0NsYXNzTXNnKGF0dHJpYnV0ZS5zdGF0dXMpIj5cbiAgICAgIHt7IGF0dHJpYnV0ZS5tZXNzYWdlIH19XG4gICAgPC9tYXQtY2VsbD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxtYXQtaGVhZGVyLXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiICptYXRIZWFkZXJSb3dEZWY9ImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTogdHJ1ZSI+PC9tYXQtaGVhZGVyLXJvdz5cbiAgPG1hdC1yb3cgY2xhc3M9Im1hdC1yb3ctc2VsZWN0IiAqbWF0Um93RGVmPSJsZXQgYXR0cmlidXRlOyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyI+PC9tYXQtcm93PlxuPC90YWJsZT5cbjxzcGFuIFtmeFNob3ddPSJkYXRhU291cmNlLmRhdGEubGVuZ3RoID09PSAwIlxuICAgICAgZnhGbGV4IGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiXG4gICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCI+e3sgXCdhdHRyaWJ1dGUubm8tdGVsZW1ldHJ5LXRleHRcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbjxzcGFuIGZ4RmxleCBbZnhTaG93XT0iZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCAhPT0gMCI+PC9zcGFuPlxuPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG48bWF0LXBhZ2luYXRvciBbbGVuZ3RoXT0iZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCJcbiAgICAgICAgICAgICAgIFtwYWdlSW5kZXhdPSJwYWdlTGluay5wYWdlIlxuICAgICAgICAgICAgICAgW3BhZ2VTaXplXT0icGFnZUxpbmsucGFnZVNpemUiXG4gICAgICAgICAgICAgICBbcGFnZVNpemVPcHRpb25zXT0iWzEwLCAyMCwgMzBdIj48L21hdC1wYWdpbmF0b3I+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3cteDphdXRvO3BhZGRpbmc6MH06aG9zdCAuc3RhdHVze2JvcmRlci1yYWRpdXM6MjBweDtmb250LXdlaWdodDo1MDA7cGFkZGluZzo1cHggMTVweH06aG9zdCAuc3RhdHVzLWRlYnVne2NvbG9yOmdyZWVuO2JhY2tncm91bmQ6IzAwODAwMDFhfTpob3N0IC5zdGF0dXMtd2FybmluZ3tjb2xvcjpvcmFuZ2U7YmFja2dyb3VuZDojZmZhNTAwMWF9Omhvc3QgLnN0YXR1cy1lcnJvcntjb2xvcjpyZWQ7YmFja2dyb3VuZDojZmYwMDAwMWF9Omhvc3QgLnN0YXR1cy1pbmZve2NvbG9yOiMwMGY7YmFja2dyb3VuZDojMDAwMDgwMWF9Omhvc3QgLm1zZy1zdGF0dXMtZXhjZXB0aW9ue2NvbG9yOnJlZH1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Yi5NYXRUYWJsZSxzZWxlY3RvcjoibWF0LXRhYmxlLCB0YWJsZVttYXQtdGFibGVdIixleHBvcnRBczpbIm1hdFRhYmxlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRIZWFkZXJDZWxsRGVmLHNlbGVjdG9yOiJbbWF0SGVhZGVyQ2VsbERlZl0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0SGVhZGVyUm93RGVmLHNlbGVjdG9yOiJbbWF0SGVhZGVyUm93RGVmXSIsaW5wdXRzOlsibWF0SGVhZGVyUm93RGVmIiwibWF0SGVhZGVyUm93RGVmU3RpY2t5Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDb2x1bW5EZWYsc2VsZWN0b3I6IlttYXRDb2x1bW5EZWZdIixpbnB1dHM6WyJtYXRDb2x1bW5EZWYiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdENlbGxEZWYsc2VsZWN0b3I6IlttYXRDZWxsRGVmXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRSb3dEZWYsc2VsZWN0b3I6IlttYXRSb3dEZWZdIixpbnB1dHM6WyJtYXRSb3dEZWZDb2x1bW5zIiwibWF0Um93RGVmV2hlbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0SGVhZGVyQ2VsbCxzZWxlY3RvcjoibWF0LWhlYWRlci1jZWxsLCB0aFttYXQtaGVhZGVyLWNlbGxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdENlbGwsc2VsZWN0b3I6Im1hdC1jZWxsLCB0ZFttYXQtY2VsbF0ifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmIuTWF0SGVhZGVyUm93LHNlbGVjdG9yOiJtYXQtaGVhZGVyLXJvdywgdHJbbWF0LWhlYWRlci1yb3ddIixleHBvcnRBczpbIm1hdEhlYWRlclJvdyJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmIuTWF0Um93LHNlbGVjdG9yOiJtYXQtcm93LCB0clttYXQtcm93XSIsZXhwb3J0QXM6WyJtYXRSb3ciXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp4Lk1hdFBhZ2luYXRvcixzZWxlY3RvcjoibWF0LXBhZ2luYXRvciIsaW5wdXRzOlsiY29sb3IiLCJwYWdlSW5kZXgiLCJsZW5ndGgiLCJwYWdlU2l6ZSIsInBhZ2VTaXplT3B0aW9ucyIsImhpZGVQYWdlU2l6ZSIsInNob3dGaXJzdExhc3RCdXR0b25zIiwic2VsZWN0Q29uZmlnIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsicGFnZSJdLGV4cG9ydEFzOlsibWF0UGFnaW5hdG9yIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Zi5NYXRTb3J0LHNlbGVjdG9yOiJbbWF0U29ydF0iLGlucHV0czpbIm1hdFNvcnRBY3RpdmUiLCJtYXRTb3J0U3RhcnQiLCJtYXRTb3J0RGlyZWN0aW9uIiwibWF0U29ydERpc2FibGVDbGVhciIsIm1hdFNvcnREaXNhYmxlZCJdLG91dHB1dHM6WyJtYXRTb3J0Q2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTb3J0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Zi5NYXRTb3J0SGVhZGVyLHNlbGVjdG9yOiJbbWF0LXNvcnQtaGVhZGVyXSIsaW5wdXRzOlsibWF0LXNvcnQtaGVhZGVyIiwiYXJyb3dQb3NpdGlvbiIsInN0YXJ0IiwiZGlzYWJsZWQiLCJzb3J0QWN0aW9uRGVzY3JpcHRpb24iLCJkaXNhYmxlQ2xlYXIiXSxleHBvcnRBczpbIm1hdFNvcnRIZWFkZXIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp6Lk1hdERpdmlkZXIsc2VsZWN0b3I6Im1hdC1kaXZpZGVyIixpbnB1dHM6WyJ2ZXJ0aWNhbCIsImluc2V0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWJOYXYsc2VsZWN0b3I6IlttYXQtdGFiLW5hdi1iYXJdIixpbnB1dHM6WyJmaXRJbmtCYXJUb0NvbnRlbnQiLCJtYXQtc3RyZXRjaC10YWJzIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJiYWNrZ3JvdW5kQ29sb3IiLCJkaXNhYmxlUmlwcGxlIiwiY29sb3IiLCJ0YWJQYW5lbCJdLGV4cG9ydEFzOlsibWF0VGFiTmF2QmFyIiwibWF0VGFiTmF2Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWJOYXZQYW5lbCxzZWxlY3RvcjoibWF0LXRhYi1uYXYtcGFuZWwiLGlucHV0czpbImlkIl0sZXhwb3J0QXM6WyJtYXRUYWJOYXZQYW5lbCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOlcuTWF0VGFiTGluayxzZWxlY3RvcjoiW21hdC10YWItbGlua10sIFttYXRUYWJMaW5rXSIsaW5wdXRzOlsiYWN0aXZlIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJpZCJdLGV4cG9ydEFzOlsibWF0VGFiTGluayJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRTaG93SGlkZURpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhTaG93XSwgW2Z4U2hvdy5wcmludF0sICBbZnhTaG93LnhzXSwgW2Z4U2hvdy5zbV0sIFtmeFNob3cubWRdLCBbZnhTaG93LmxnXSwgW2Z4U2hvdy54bF0sICBbZnhTaG93Lmx0LXNtXSwgW2Z4U2hvdy5sdC1tZF0sIFtmeFNob3cubHQtbGddLCBbZnhTaG93Lmx0LXhsXSwgIFtmeFNob3cuZ3QteHNdLCBbZnhTaG93Lmd0LXNtXSwgW2Z4U2hvdy5ndC1tZF0sIFtmeFNob3cuZ3QtbGddLCAgW2Z4SGlkZV0sIFtmeEhpZGUucHJpbnRdLCAgW2Z4SGlkZS54c10sIFtmeEhpZGUuc21dLCBbZnhIaWRlLm1kXSwgW2Z4SGlkZS5sZ10sIFtmeEhpZGUueGxdLCAgW2Z4SGlkZS5sdC1zbV0sIFtmeEhpZGUubHQtbWRdLCBbZnhIaWRlLmx0LWxnXSwgW2Z4SGlkZS5sdC14bF0sICBbZnhIaWRlLmd0LXhzXSwgW2Z4SGlkZS5ndC1zbV0sIFtmeEhpZGUuZ3QtbWRdLCBbZnhIaWRlLmd0LWxnXSIsaW5wdXRzOlsiZnhTaG93IiwiZnhTaG93LnByaW50IiwiZnhTaG93LnhzIiwiZnhTaG93LnNtIiwiZnhTaG93Lm1kIiwiZnhTaG93LmxnIiwiZnhTaG93LnhsIiwiZnhTaG93Lmx0LXNtIiwiZnhTaG93Lmx0LW1kIiwiZnhTaG93Lmx0LWxnIiwiZnhTaG93Lmx0LXhsIiwiZnhTaG93Lmd0LXhzIiwiZnhTaG93Lmd0LXNtIiwiZnhTaG93Lmd0LW1kIiwiZnhTaG93Lmd0LWxnIiwiZnhIaWRlIiwiZnhIaWRlLnByaW50IiwiZnhIaWRlLnhzIiwiZnhIaWRlLnNtIiwiZnhIaWRlLm1kIiwiZnhIaWRlLmxnIiwiZnhIaWRlLnhsIiwiZnhIaWRlLmx0LXNtIiwiZnhIaWRlLmx0LW1kIiwiZnhIaWRlLmx0LWxnIiwiZnhIaWRlLmx0LXhsIiwiZnhIaWRlLmd0LXhzIiwiZnhIaWRlLmd0LXNtIiwiZnhIaWRlLmd0LW1kIiwiZnhIaWRlLmd0LWxnIl19LHtraW5kOiJwaXBlIix0eXBlOl8uRGF0ZVBpcGUsbmFtZToiZGF0ZSJ9LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV19KX19ZSgiR2F0ZXdheUxvZ3NDb21wb25lbnQiLGNhKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmNhLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1nYXRld2F5LWxvZ3MiLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG5hdiBtYXQtdGFiLW5hdi1iYXIgW3RhYlBhbmVsXT0idGFiUGFuZWwiPlxuICA8YSBtYXQtdGFiLWxpbmsgKm5nRm9yPSJsZXQgbGluayBvZiBsb2dMaW5rcyJcbiAgICAgKGNsaWNrKT0ib25UYWJDaGFuZ2VkKGxpbmspIlxuICAgICBbYWN0aXZlXT0iYWN0aXZlTGluay5uYW1lID09PSBsaW5rLm5hbWUiPiB7eyBsaW5rLm5hbWUgfX0gPC9hPlxuPC9uYXY+XG48bWF0LXRhYi1uYXYtcGFuZWwgI3RhYlBhbmVsPjwvbWF0LXRhYi1uYXYtcGFuZWw+XG48dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT0iZGF0YVNvdXJjZSIgW3RyYWNrQnldPSJ0cmFja0J5TG9nVHMiXG4gICAgICAgbWF0U29ydCBbbWF0U29ydEFjdGl2ZV09InBhZ2VMaW5rLnNvcnRPcmRlci5wcm9wZXJ0eSIgW21hdFNvcnREaXJlY3Rpb25dPSJwYWdlTGluay5zb3J0RGlyZWN0aW9uKCkiXG4gICAgICAgbWF0U29ydERpc2FibGVDbGVhcj5cbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9InRzIj5cbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDIwJSI+e3sgXCd3aWRnZXRzLmdhdGV3YXkuY3JlYXRlZC10aW1lXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiPlxuICAgICAge3sgYXR0cmlidXRlLnRzIHwgZGF0ZTpcJ3l5eXktTU0tZGQgSEg6bW06c3NcJyB9fVxuICAgIDwvbWF0LWNlbGw+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0ic3RhdHVzIj5cbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDEwJSI+e3sgXCd3aWRnZXRzLmdhdGV3YXkubGV2ZWxcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWhlYWRlci1jZWxsPlxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IGF0dHJpYnV0ZSI+XG4gICAgICA8c3BhbiBbY2xhc3NdPSJzdGF0dXNDbGFzcyhhdHRyaWJ1dGUuc3RhdHVzKSI+e3sgYXR0cmlidXRlLnN0YXR1cyB9fTwvc3Bhbj5cbiAgICA8L21hdC1jZWxsPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9Im1lc3NhZ2UiPlxuICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIHN0eWxlPSJ3aWR0aDogNzAlIj57eyBcJ3dpZGdldHMuZ2F0ZXdheS5tZXNzYWdlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIFtjbGFzc109InN0YXR1c0NsYXNzTXNnKGF0dHJpYnV0ZS5zdGF0dXMpIj5cbiAgICAgIHt7IGF0dHJpYnV0ZS5tZXNzYWdlIH19XG4gICAgPC9tYXQtY2VsbD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxtYXQtaGVhZGVyLXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiICptYXRIZWFkZXJSb3dEZWY9ImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTogdHJ1ZSI+PC9tYXQtaGVhZGVyLXJvdz5cbiAgPG1hdC1yb3cgY2xhc3M9Im1hdC1yb3ctc2VsZWN0IiAqbWF0Um93RGVmPSJsZXQgYXR0cmlidXRlOyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyI+PC9tYXQtcm93PlxuPC90YWJsZT5cbjxzcGFuIFtmeFNob3ddPSJkYXRhU291cmNlLmRhdGEubGVuZ3RoID09PSAwIlxuICAgICAgZnhGbGV4IGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiXG4gICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCI+e3sgXCdhdHRyaWJ1dGUubm8tdGVsZW1ldHJ5LXRleHRcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbjxzcGFuIGZ4RmxleCBbZnhTaG93XT0iZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCAhPT0gMCI+PC9zcGFuPlxuPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG48bWF0LXBhZ2luYXRvciBbbGVuZ3RoXT0iZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCJcbiAgICAgICAgICAgICAgIFtwYWdlSW5kZXhdPSJwYWdlTGluay5wYWdlIlxuICAgICAgICAgICAgICAgW3BhZ2VTaXplXT0icGFnZUxpbmsucGFnZVNpemUiXG4gICAgICAgICAgICAgICBbcGFnZVNpemVPcHRpb25zXT0iWzEwLCAyMCwgMzBdIj48L21hdC1wYWdpbmF0b3I+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3cteDphdXRvO3BhZGRpbmc6MH06aG9zdCAuc3RhdHVze2JvcmRlci1yYWRpdXM6MjBweDtmb250LXdlaWdodDo1MDA7cGFkZGluZzo1cHggMTVweH06aG9zdCAuc3RhdHVzLWRlYnVne2NvbG9yOmdyZWVuO2JhY2tncm91bmQ6IzAwODAwMDFhfTpob3N0IC5zdGF0dXMtd2FybmluZ3tjb2xvcjpvcmFuZ2U7YmFja2dyb3VuZDojZmZhNTAwMWF9Omhvc3QgLnN0YXR1cy1lcnJvcntjb2xvcjpyZWQ7YmFja2dyb3VuZDojZmYwMDAwMWF9Omhvc3QgLnN0YXR1cy1pbmZve2NvbG9yOiMwMGY7YmFja2dyb3VuZDojMDAwMDgwMWF9Omhvc3QgLm1zZy1zdGF0dXMtZXhjZXB0aW9ue2NvbG9yOnJlZH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W10scHJvcERlY29yYXRvcnM6e2N0eDpbe3R5cGU6YX1dLGRpYWxvZ1JlZjpbe3R5cGU6YX1dLHNlYXJjaElucHV0RmllbGQ6W3t0eXBlOm8sYXJnczpbInNlYXJjaElucHV0Il19XSxzb3J0Olt7dHlwZTpvLGFyZ3M6W2ddfV0scGFnaW5hdG9yOlt7dHlwZTpvLGFyZ3M6W2hdfV19fSk7Y2xhc3MgcGF7Y29uc3RydWN0b3IoZSx0LG4pe3RoaXMuZmI9ZSx0aGlzLmF0dHJpYnV0ZVNlcnZpY2U9dCx0aGlzLnV0aWxzPW4sdGhpcy5pc051bWVyaWNEYXRhPSExLHRoaXMuZGF0YVR5cGVEZWZpbmVkPSExLHRoaXMuc3RhdGlzdGljc0tleXM9W10sdGhpcy5jb21tYW5kcz1bXSx0aGlzLnN1YnNjcmlwdGlvbk9wdGlvbnM9e2NhbGxiYWNrczp7b25EYXRhVXBkYXRlZDooKT0+dGhpcy5jdHgubmdab25lLnJ1bigoKCk9Pnt0aGlzLm9uRGF0YVVwZGF0ZWQoKX0pKSxvbkRhdGFVcGRhdGVFcnJvcjooZSx0KT0+dGhpcy5jdHgubmdab25lLnJ1bigoKCk9Pnt0aGlzLm9uRGF0YVVwZGF0ZUVycm9yKHQpfSkpfSx1c2VEYXNoYm9hcmRUaW1ld2luZG93OiExLGxlZ2VuZENvbmZpZzp7cG9zaXRpb246Uy5ib3R0b219fSx0aGlzLmluaXQ9KCk9Pnt0aGlzLmZsb3RDdHg9eyRzY29wZTp0aGlzLmN0eC4kc2NvcGUsJGluamVjdG9yOnRoaXMuY3R4LiRpbmplY3Rvcix1dGlsczp0aGlzLmN0eC51dGlscyxpc01vYmlsZTp0aGlzLmN0eC5pc01vYmlsZSxpc0VkaXQ6dGhpcy5jdHguaXNFZGl0LHN1YnNjcmlwdGlvbkFwaTp0aGlzLmN0eC5zdWJzY3JpcHRpb25BcGksZGV0ZWN0Q2hhbmdlczp0aGlzLmN0eC5kZXRlY3RDaGFuZ2VzLHNldHRpbmdzOnRoaXMuY3R4LnNldHRpbmdzfX0sdGhpcy51cGRhdGVDaGFydD0oKT0+e30sdGhpcy5yZXNpemU9KCk9Pnt9O2NvbnN0IGE9e3Byb3BlcnR5OiIwIixkaXJlY3Rpb246dy5ERVNDfTt0aGlzLnBhZ2VMaW5rPW5ldyBDKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSwwLG51bGwsYSksdGhpcy5kaXNwbGF5ZWRDb2x1bW5zPVsiMCIsIjEiXSx0aGlzLmRhdGFTb3VyY2U9bmV3IHkoW10pLHRoaXMuc3RhdGlzdGljRm9ybT10aGlzLmZiLmdyb3VwKHtzdGF0aXN0aWNLZXk6W251bGwsW11dfSksdGhpcy5zdGF0aXN0aWNGb3JtLmdldCgic3RhdGlzdGljS2V5IikudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoZT0+e3RoaXMuY29tbWFuZE9iaj1udWxsLHRoaXMuY29tbWFuZHMubGVuZ3RoJiYodGhpcy5jb21tYW5kT2JqPXRoaXMuY29tbWFuZHMuZmluZCgodD0+dC5hdHRyaWJ1dGVPbkdhdGV3YXk9PT1lKSkpLHRoaXMuc3Vic2NyaXB0aW9uSW5mbyYmdGhpcy5jcmVhdGVDaGFydHNTdWJzY3JpcHRpb24odGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5kYXRhc291cmNlc1swXS5lbnRpdHksZSl9KSl9bmdBZnRlclZpZXdJbml0KCl7aWYodGhpcy5kYXRhU291cmNlLnNvcnQ9dGhpcy5zb3J0LHRoaXMuc29ydC5zb3J0Q2hhbmdlLnN1YnNjcmliZSgoKCk9PnRoaXMuc29ydERhdGEoKSkpLHRoaXMuaW5pdCgpLHRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24uZGF0YXNvdXJjZXMubGVuZ3RoKXtjb25zdCBlPXRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24uZGF0YXNvdXJjZXNbMF0uZW50aXR5O2lmKGUuaWQuaWQ9PT1rKXJldHVybjt0aGlzLmdlbmVyYWw/dGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLmdldEVudGl0eVRpbWVzZXJpZXNMYXRlc3QoZS5pZCkuc3Vic2NyaWJlKCh0PT57Y29uc3Qgbj1PYmplY3Qua2V5cyh0KS5maWx0ZXIoKGU9PmUuaW5jbHVkZXMoIkNvbm5lY3RvckV2ZW50c1Byb2R1Y2VkIil8fGUuaW5jbHVkZXMoIkNvbm5lY3RvckV2ZW50c1NlbnQiKSkpO3RoaXMuY3JlYXRlR2VuZXJhbENoYXJ0c1N1YnNjcmlwdGlvbihlLG4pfSkpOnRoaXMuYXR0cmlidXRlU2VydmljZS5nZXRFbnRpdHlBdHRyaWJ1dGVzKGUuaWQsTC5TSEFSRURfU0NPUEUsWyJnZW5lcmFsX2NvbmZpZ3VyYXRpb24iXSkuc3Vic2NyaWJlKCh0PT57dCYmdC5sZW5ndGgmJih0aGlzLmNvbW1hbmRzPXRbMF0udmFsdWUuc3RhdGlzdGljcy5jb21tYW5kcywhdGhpcy5zdGF0aXN0aWNGb3JtLmdldCgic3RhdGlzdGljS2V5IikudmFsdWUmJnRoaXMuY29tbWFuZHMmJnRoaXMuY29tbWFuZHMubGVuZ3RoJiYodGhpcy5zdGF0aXN0aWNGb3JtLmdldCgic3RhdGlzdGljS2V5Iikuc2V0VmFsdWUodGhpcy5jb21tYW5kc1swXS5hdHRyaWJ1dGVPbkdhdGV3YXkpLHRoaXMuY3JlYXRlQ2hhcnRzU3Vic2NyaXB0aW9uKGUsdGhpcy5jb21tYW5kc1swXS5hdHRyaWJ1dGVPbkdhdGV3YXkpKSl9KSl9fW5hdmlnYXRlVG9TdGF0aXN0aWNzKCl7Y29uc3QgZT1KKHRoaXMuY3R4LnN0YXRlQ29udHJvbGxlci5nZXRTdGF0ZVBhcmFtcygpKTt0aGlzLmN0eC5zdGF0ZUNvbnRyb2xsZXIub3BlblN0YXRlKCJjb25maWd1cmF0aW9uIixlKX1zb3J0RGF0YSgpe3RoaXMuZGF0YVNvdXJjZS5zb3J0RGF0YSh0aGlzLmRhdGFTb3VyY2UuZGF0YSx0aGlzLnNvcnQpfW9uTGVnZW5kS2V5SGlkZGVuQ2hhbmdlKGUpe3RoaXMubGVnZW5kRGF0YS5rZXlzW2VdLmRhdGFLZXkuaGlkZGVuPSF0aGlzLmxlZ2VuZERhdGEua2V5c1tlXS5kYXRhS2V5LmhpZGRlbix0aGlzLnN1YnNjcmlwdGlvbi51cGRhdGVEYXRhVmlzaWJpbGl0eShlKX1jcmVhdGVDaGFydHNTdWJzY3JpcHRpb24oZSx0KXtjb25zdCBuPVt7dHlwZTpGLmVudGl0eSxlbnRpdHlUeXBlOkkuREVWSUNFLGVudGl0eUlkOmUuaWQuaWQsZW50aXR5TmFtZTplLm5hbWUsdGltZXNlcmllczpbXX1dO25bMF0udGltZXNlcmllcz1be25hbWU6dCxsYWJlbDp0fV0sdGhpcy5zdWJzY3JpcHRpb25JbmZvPW4sdGhpcy5jaGFuZ2VTdWJzY3JpcHRpb24obiksdGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfWNyZWF0ZUdlbmVyYWxDaGFydHNTdWJzY3JpcHRpb24oZSx0KXtjb25zdCBuPVt7dHlwZTpGLmVudGl0eSxlbnRpdHlUeXBlOkkuREVWSUNFLGVudGl0eUlkOmUuaWQuaWQsZW50aXR5TmFtZTplLm5hbWUsdGltZXNlcmllczpbXX1dO25bMF0udGltZXNlcmllcz1bXSx0Py5sZW5ndGgmJnQuZm9yRWFjaCgoZT0+e25bMF0udGltZXNlcmllcy5wdXNoKHtuYW1lOmUsbGFiZWw6ZX0pfSkpLHRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24uZGF0YXNvdXJjZXNbMF0uZGF0YUtleXMuZm9yRWFjaCgoZT0+e25bMF0udGltZXNlcmllcy5wdXNoKHtuYW1lOmUubmFtZSxsYWJlbDplLmxhYmVsfSl9KSksdGhpcy5jaGFuZ2VTdWJzY3JpcHRpb24obiksdGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfXJlc2V0KCl7dGhpcy5yZXNpemUkJiZ0aGlzLnJlc2l6ZSQuZGlzY29ubmVjdCgpLHRoaXMuc3Vic2NyaXB0aW9uJiZ0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfW9uRGF0YVVwZGF0ZUVycm9yKGUpe2NvbnN0IHQ9dGhpcy51dGlscy5wYXJzZUV4Y2VwdGlvbihlKTtsZXQgbj10Lm5hbWU7dC5tZXNzYWdlJiYobis9IjogIit0Lm1lc3NhZ2UpLGNvbnNvbGUuZXJyb3Iobil9b25EYXRhVXBkYXRlZCgpe3RoaXMuaXNEYXRhT25seU51bWJlcnMoKSx0aGlzLmlzTnVtZXJpY0RhdGEmJih0aGlzLmNoYXJ0SW5pdGVkfHx0aGlzLmluaXRDaGFydCgpKX1pbml0Q2hhcnQoKXt0aGlzLmNoYXJ0SW5pdGVkPSEwLHRoaXMuZmxvdEN0eC4kY29udGFpbmVyPSQodGhpcy5zdGF0aXN0aWNDaGFydC5uYXRpdmVFbGVtZW50KSx0aGlzLnJlc2l6ZSQub2JzZXJ2ZSh0aGlzLnN0YXRpc3RpY0NoYXJ0Lm5hdGl2ZUVsZW1lbnQpfWlzRGF0YU9ubHlOdW1iZXJzKCl7dGhpcy5nZW5lcmFsP3RoaXMuaXNOdW1lcmljRGF0YT0hMDoodGhpcy5kYXRhU291cmNlLmRhdGE9dGhpcy5zdWJzY3JpcHRpb24uZGF0YS5sZW5ndGg/dGhpcy5zdWJzY3JpcHRpb24uZGF0YVswXS5kYXRhOltdLHRoaXMuZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCYmIXRoaXMuZGF0YVR5cGVEZWZpbmVkJiYodGhpcy5kYXRhVHlwZURlZmluZWQ9ITAsdGhpcy5pc051bWVyaWNEYXRhPXRoaXMuZGF0YVNvdXJjZS5kYXRhLmV2ZXJ5KChlPT4haXNOYU4oK2VbMV0pKSkpKX1jaGFuZ2VTdWJzY3JpcHRpb24oZSl7dGhpcy5zdWJzY3JpcHRpb24mJnRoaXMucmVzZXQoKSx0aGlzLmN0eC5kYXRhc291cmNlc1swXS5lbnRpdHkmJnRoaXMuY3R4LnN1YnNjcmlwdGlvbkFwaS5jcmVhdGVTdWJzY3JpcHRpb25Gcm9tSW5mbyhBLnRpbWVzZXJpZXMsZSx0aGlzLnN1YnNjcmlwdGlvbk9wdGlvbnMsITEsITApLnN1YnNjcmliZSgoZT0+e3RoaXMuZGF0YVR5cGVEZWZpbmVkPSExLHRoaXMuc3Vic2NyaXB0aW9uPWUsdGhpcy5pc0RhdGFPbmx5TnVtYmVycygpLHRoaXMubGVnZW5kRGF0YT10aGlzLnN1YnNjcmlwdGlvbi5sZWdlbmREYXRhLHRoaXMuZmxvdEN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uPWUsdGhpcy5yZXNpemUkPW5ldyBSZXNpemVPYnNlcnZlcigoKCk9Pnt0aGlzLnJlc2l6ZSgpfSkpLHRoaXMuY3R4LmRldGVjdENoYW5nZXMoKSx0aGlzLmlzTnVtZXJpY0RhdGEmJnRoaXMuaW5pdENoYXJ0KCl9KSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpwYSxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjpYLkF0dHJpYnV0ZVNlcnZpY2V9LHt0b2tlbjpYLlV0aWxzU2VydmljZX1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6cGEsc2VsZWN0b3I6InRiLWdhdGV3YXktc3RhdGlzdGljcyIsaW5wdXRzOntjdHg6ImN0eCIsZ2VuZXJhbDoiZ2VuZXJhbCJ9LHZpZXdRdWVyaWVzOlt7cHJvcGVydHlOYW1lOiJzb3J0IixmaXJzdDohMCxwcmVkaWNhdGU6ZyxkZXNjZW5kYW50czohMH0se3Byb3BlcnR5TmFtZToic3RhdGlzdGljQ2hhcnQiLGZpcnN0OiEwLHByZWRpY2F0ZTpbInN0YXRpc3RpY0NoYXJ0Il0sZGVzY2VuZGFudHM6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0ic3RhdGlzdGljcy1jb250YWluZXIiIGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0Lmx0LW1kPSJjb2x1bW4iPlxuICA8bWF0LWNhcmQgW2Zvcm1Hcm91cF09InN0YXRpc3RpY0Zvcm0iICpuZ0lmPSIhZ2VuZXJhbCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnN0YXRpc3RpY1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InN0YXRpc3RpY0tleSI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGtleSBvZiBzdGF0aXN0aWNzS2V5cyIgW3ZhbHVlXT0ia2V5Ij5cbiAgICAgICAgICB7eyBrZXkgfX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBjb21tYW5kIG9mIGNvbW1hbmRzIiBbdmFsdWVdPSJjb21tYW5kLmF0dHJpYnV0ZU9uR2F0ZXdheSI+XG4gICAgICAgICAge3sgY29tbWFuZC5hdHRyaWJ1dGVPbkdhdGV3YXkgfX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1lcnJvclxuICAgICAgKm5nSWY9IiFzdGF0aXN0aWNzS2V5cy5sZW5ndGggJiYgIWNvbW1hbmRzLmxlbmd0aCI+XG4gICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5zdGF0aXN0aWMtY29tbWFuZHMtZW1wdHlcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbWF0LWVycm9yPlxuICAgIDxkaXY+XG4gICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj0icHJpbWFyeSIgKGNsaWNrKT0ibmF2aWdhdGVUb1N0YXRpc3RpY3MoKSI+XG4gICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnN0YXRpc3RpY3MtYnV0dG9uXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIiAqbmdJZj0iY29tbWFuZE9iaiI+XG4gICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IG1hdElucHV0IFt2YWx1ZV09ImNvbW1hbmRPYmouY29tbWFuZCIgZGlzYWJsZWQ+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9tYXQtY2FyZD5cbiAgPGRpdiBjbGFzcz0iY2hhcnQtYm94IiBmeExheW91dD0iY29sdW1uIj5cbiAgICA8ZGl2IGNsYXNzPSJjaGFydC1jb250YWluZXIiICNzdGF0aXN0aWNDaGFydCBbZnhTaG93XT0iaXNOdW1lcmljRGF0YSI+PC9kaXY+XG4gICAgPHRhYmxlIFtmeFNob3ddPSIhaXNOdW1lcmljRGF0YSIgbWF0LXRhYmxlIFtkYXRhU291cmNlXT0iZGF0YVNvdXJjZSJcbiAgICAgICAgICAgbWF0U29ydCBbbWF0U29ydEFjdGl2ZV09InBhZ2VMaW5rLnNvcnRPcmRlci5wcm9wZXJ0eSIgW21hdFNvcnREaXJlY3Rpb25dPSJwYWdlTGluay5zb3J0RGlyZWN0aW9uKCkiXG4gICAgICAgICAgIG1hdFNvcnREaXNhYmxlQ2xlYXI+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iMCI+XG4gICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7IFwnd2lkZ2V0cy5nYXRld2F5LmNyZWF0ZWQtdGltZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCByb3c7IGxldCByb3dJbmRleCA9IGluZGV4Ij5cbiAgICAgICAgICB7eyByb3dbMF18IGRhdGU6XCd5eXl5LU1NLWRkIEhIOm1tOnNzXCcgfX1cbiAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9IjEiPlxuICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogNzAlIj57eyBcJ3dpZGdldHMuZ2F0ZXdheS5tZXNzYWdlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHJvdyI+XG4gICAgICAgICAge3sgcm93WzFdIH19XG4gICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxtYXQtaGVhZGVyLXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiXG4gICAgICAgICAgICAgICAgICAgICAgKm1hdEhlYWRlclJvd0RlZj0iZGlzcGxheWVkQ29sdW1uczsgc3RpY2t5OiB0cnVlIj48L21hdC1oZWFkZXItcm93PlxuICAgICAgPG1hdC1yb3cgY2xhc3M9Im1hdC1yb3ctc2VsZWN0IlxuICAgICAgICAgICAgICAgKm1hdFJvd0RlZj0ibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1uczsiPjwvbWF0LXJvdz5cbiAgICA8L3RhYmxlPlxuICAgIDxzcGFuIFtmeFNob3ddPSJkYXRhU291cmNlLmRhdGEubGVuZ3RoID09PSAwICYmICFpc051bWVyaWNEYXRhIlxuICAgICAgICAgIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiXG4gICAgICAgICAgY2xhc3M9Im5vLWRhdGEtZm91bmQiPnt7IFwnYXR0cmlidXRlLm5vLXRlbGVtZXRyeS10ZXh0XCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPGRpdiBmeEZsZXggY2xhc3M9ImxlZ2VuZCIgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciIgW2Z4U2hvd109ImlzTnVtZXJpY0RhdGEiPlxuICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLWtleXMiICpuZ0Zvcj0ibGV0IGxlZ2VuZEtleSBvZiBsZWdlbmREYXRhPy5rZXlzIiBmeExheW91dD0icm93IlxuICAgICAgICAgICBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9ImxlZ2VuZC1saW5lIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09ImxlZ2VuZEtleS5kYXRhS2V5LmNvbG9yIj48L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9ImxlZ2VuZC1sYWJlbCJcbiAgICAgICAgICAgICAoY2xpY2spPSJvbkxlZ2VuZEtleUhpZGRlbkNoYW5nZShsZWdlbmRLZXkuZGF0YUluZGV4KSJcbiAgICAgICAgICAgICBbY2xhc3NdPSJ7IFwnaGlkZGVuLWxhYmVsXCc6IGxlZ2VuZERhdGEua2V5c1tsZWdlbmRLZXkuZGF0YUluZGV4XS5kYXRhS2V5LmhpZGRlbiB9IlxuICAgICAgICAgICAgIFtpbm5lckhUTUxdPSJsZWdlbmRLZXkuZGF0YUtleS5sYWJlbCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3BhZGRpbmc6MH06aG9zdCAuc3RhdGlzdGljcy1jb250YWluZXJ7aGVpZ2h0OjEwMCU7b3ZlcmZsb3cteTphdXRvfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciBtYXQtY2FyZHt3aWR0aDo0MCU7aGVpZ2h0OjEwMCU7bWFyZ2luLXJpZ2h0OjM1cHg7cGFkZGluZzoxNXB4O2dhcDoyMnB4fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpezpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciBtYXQtY2FyZHt3aWR0aDoxMDAlfX06aG9zdCAuc3RhdGlzdGljcy1jb250YWluZXIgLmNoYXJ0LWJveCw6aG9zdCAuc3RhdGlzdGljcy1jb250YWluZXIgLmNoYXJ0LWNvbnRhaW5lcntoZWlnaHQ6MTAwJTtmbGV4LWdyb3c6MX06aG9zdCAuc3RhdGlzdGljcy1jb250YWluZXIgLmNoYXJ0LWJveHtvdmVyZmxvdzphdXRvfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lcj4qe2hlaWdodDoxMDAlfTpob3N0IC5sZWdlbmR7ZmxleC13cmFwOndyYXA7d2lkdGg6MTAwJTtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206NHB4O21hcmdpbi10b3A6MTVweH06aG9zdCAubGVnZW5kIC5sZWdlbmQta2V5cyAubGVnZW5kLWxhYmVse3BhZGRpbmc6MnB4IDIwcHggMnB4IDEwcHg7d2hpdGUtc3BhY2U6bm93cmFwfTpob3N0IC5sZWdlbmQgLmxlZ2VuZC1rZXlzIC5sZWdlbmQtbGFiZWwuaGlkZGVuLWxhYmVse3RleHQtZGVjb3JhdGlvbjpsaW5lLXRocm91Z2g7b3BhY2l0eTouNn06aG9zdCAubGVnZW5kIC5sZWdlbmQta2V5cyAubGVnZW5kLWxhYmVsOmZvY3Vze291dGxpbmU6bm9uZX06aG9zdCAubGVnZW5kIC5sZWdlbmQta2V5cyAubGVnZW5kLWxpbmV7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTVweDtoZWlnaHQ6M3B4O3RleHQtYWxpZ246bGVmdDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7b3V0bGluZTpub25lfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmhlLk1hdENhcmQsc2VsZWN0b3I6Im1hdC1jYXJkIixpbnB1dHM6WyJhcHBlYXJhbmNlIl0sZXhwb3J0QXM6WyJtYXRDYXJkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRFcnJvcixzZWxlY3RvcjoibWF0LWVycm9yLCBbbWF0RXJyb3JdIixpbnB1dHM6WyJpZCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOndlLk1hdFNlbGVjdCxzZWxlY3RvcjoibWF0LXNlbGVjdCIsaW5wdXRzOlsiYXJpYS1kZXNjcmliZWRieSIsInBhbmVsQ2xhc3MiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3IiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwibXVsdGlwbGUiLCJkaXNhYmxlT3B0aW9uQ2VudGVyaW5nIiwiY29tcGFyZVdpdGgiLCJ2YWx1ZSIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJlcnJvclN0YXRlTWF0Y2hlciIsInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLCJzb3J0Q29tcGFyYXRvciIsImlkIiwicGFuZWxXaWR0aCJdLG91dHB1dHM6WyJvcGVuZWRDaGFuZ2UiLCJvcGVuZWQiLCJjbG9zZWQiLCJzZWxlY3Rpb25DaGFuZ2UiLCJ2YWx1ZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2VsZWN0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmIuTWF0VGFibGUsc2VsZWN0b3I6Im1hdC10YWJsZSwgdGFibGVbbWF0LXRhYmxlXSIsZXhwb3J0QXM6WyJtYXRUYWJsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0SGVhZGVyQ2VsbERlZixzZWxlY3RvcjoiW21hdEhlYWRlckNlbGxEZWZdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlclJvd0RlZixzZWxlY3RvcjoiW21hdEhlYWRlclJvd0RlZl0iLGlucHV0czpbIm1hdEhlYWRlclJvd0RlZiIsIm1hdEhlYWRlclJvd0RlZlN0aWNreSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Q29sdW1uRGVmLHNlbGVjdG9yOiJbbWF0Q29sdW1uRGVmXSIsaW5wdXRzOlsibWF0Q29sdW1uRGVmIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsRGVmLHNlbGVjdG9yOiJbbWF0Q2VsbERlZl0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Um93RGVmLHNlbGVjdG9yOiJbbWF0Um93RGVmXSIsaW5wdXRzOlsibWF0Um93RGVmQ29sdW1ucyIsIm1hdFJvd0RlZldoZW4iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlckNlbGwsc2VsZWN0b3I6Im1hdC1oZWFkZXItY2VsbCwgdGhbbWF0LWhlYWRlci1jZWxsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsLHNlbGVjdG9yOiJtYXQtY2VsbCwgdGRbbWF0LWNlbGxdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdEhlYWRlclJvdyxzZWxlY3RvcjoibWF0LWhlYWRlci1yb3csIHRyW21hdC1oZWFkZXItcm93XSIsZXhwb3J0QXM6WyJtYXRIZWFkZXJSb3ciXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdFJvdyxzZWxlY3RvcjoibWF0LXJvdywgdHJbbWF0LXJvd10iLGV4cG9ydEFzOlsibWF0Um93Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Zi5NYXRTb3J0LHNlbGVjdG9yOiJbbWF0U29ydF0iLGlucHV0czpbIm1hdFNvcnRBY3RpdmUiLCJtYXRTb3J0U3RhcnQiLCJtYXRTb3J0RGlyZWN0aW9uIiwibWF0U29ydERpc2FibGVDbGVhciIsIm1hdFNvcnREaXNhYmxlZCJdLG91dHB1dHM6WyJtYXRTb3J0Q2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTb3J0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Zi5NYXRTb3J0SGVhZGVyLHNlbGVjdG9yOiJbbWF0LXNvcnQtaGVhZGVyXSIsaW5wdXRzOlsibWF0LXNvcnQtaGVhZGVyIiwiYXJyb3dQb3NpdGlvbiIsInN0YXJ0IiwiZGlzYWJsZWQiLCJzb3J0QWN0aW9uRGVzY3JpcHRpb24iLCJkaXNhYmxlQ2xlYXIiXSxleHBvcnRBczpbIm1hdFNvcnRIZWFkZXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRTaG93SGlkZURpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhTaG93XSwgW2Z4U2hvdy5wcmludF0sICBbZnhTaG93LnhzXSwgW2Z4U2hvdy5zbV0sIFtmeFNob3cubWRdLCBbZnhTaG93LmxnXSwgW2Z4U2hvdy54bF0sICBbZnhTaG93Lmx0LXNtXSwgW2Z4U2hvdy5sdC1tZF0sIFtmeFNob3cubHQtbGddLCBbZnhTaG93Lmx0LXhsXSwgIFtmeFNob3cuZ3QteHNdLCBbZnhTaG93Lmd0LXNtXSwgW2Z4U2hvdy5ndC1tZF0sIFtmeFNob3cuZ3QtbGddLCAgW2Z4SGlkZV0sIFtmeEhpZGUucHJpbnRdLCAgW2Z4SGlkZS54c10sIFtmeEhpZGUuc21dLCBbZnhIaWRlLm1kXSwgW2Z4SGlkZS5sZ10sIFtmeEhpZGUueGxdLCAgW2Z4SGlkZS5sdC1zbV0sIFtmeEhpZGUubHQtbWRdLCBbZnhIaWRlLmx0LWxnXSwgW2Z4SGlkZS5sdC14bF0sICBbZnhIaWRlLmd0LXhzXSwgW2Z4SGlkZS5ndC1zbV0sIFtmeEhpZGUuZ3QtbWRdLCBbZnhIaWRlLmd0LWxnXSIsaW5wdXRzOlsiZnhTaG93IiwiZnhTaG93LnByaW50IiwiZnhTaG93LnhzIiwiZnhTaG93LnNtIiwiZnhTaG93Lm1kIiwiZnhTaG93LmxnIiwiZnhTaG93LnhsIiwiZnhTaG93Lmx0LXNtIiwiZnhTaG93Lmx0LW1kIiwiZnhTaG93Lmx0LWxnIiwiZnhTaG93Lmx0LXhsIiwiZnhTaG93Lmd0LXhzIiwiZnhTaG93Lmd0LXNtIiwiZnhTaG93Lmd0LW1kIiwiZnhTaG93Lmd0LWxnIiwiZnhIaWRlIiwiZnhIaWRlLnByaW50IiwiZnhIaWRlLnhzIiwiZnhIaWRlLnNtIiwiZnhIaWRlLm1kIiwiZnhIaWRlLmxnIiwiZnhIaWRlLnhsIiwiZnhIaWRlLmx0LXNtIiwiZnhIaWRlLmx0LW1kIiwiZnhIaWRlLmx0LWxnIiwiZnhIaWRlLmx0LXhsIiwiZnhIaWRlLmd0LXhzIiwiZnhIaWRlLmd0LXNtIiwiZnhIaWRlLmd0LW1kIiwiZnhIaWRlLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6InBpcGUiLHR5cGU6Xy5EYXRlUGlwZSxuYW1lOiJkYXRlIn0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XX0pfX1lKCJHYXRld2F5U3RhdGlzdGljc0NvbXBvbmVudCIscGEpLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6cGEsZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktc3RhdGlzdGljcyIsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJzdGF0aXN0aWNzLWNvbnRhaW5lciIgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXQubHQtbWQ9ImNvbHVtbiI+XG4gIDxtYXQtY2FyZCBbZm9ybUdyb3VwXT0ic3RhdGlzdGljRm9ybSIgKm5nSWY9IiFnZW5lcmFsIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3Muc3RhdGlzdGljXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ic3RhdGlzdGljS2V5Ij5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQga2V5IG9mIHN0YXRpc3RpY3NLZXlzIiBbdmFsdWVdPSJrZXkiPlxuICAgICAgICAgIHt7IGtleSB9fVxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGNvbW1hbmQgb2YgY29tbWFuZHMiIFt2YWx1ZV09ImNvbW1hbmQuYXR0cmlidXRlT25HYXRld2F5Ij5cbiAgICAgICAgICB7eyBjb21tYW5kLmF0dHJpYnV0ZU9uR2F0ZXdheSB9fVxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWVycm9yXG4gICAgICAqbmdJZj0iIXN0YXRpc3RpY3NLZXlzLmxlbmd0aCAmJiAhY29tbWFuZHMubGVuZ3RoIj5cbiAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnN0YXRpc3RpYy1jb21tYW5kcy1lbXB0eVwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gICAgPGRpdj5cbiAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJuYXZpZ2F0ZVRvU3RhdGlzdGljcygpIj5cbiAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3Muc3RhdGlzdGljcy1idXR0b25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siICpuZ0lmPSJjb21tYW5kT2JqIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY29tbWFuZFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgW3ZhbHVlXT0iY29tbWFuZE9iai5jb21tYW5kIiBkaXNhYmxlZD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L21hdC1jYXJkPlxuICA8ZGl2IGNsYXNzPSJjaGFydC1ib3giIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgIDxkaXYgY2xhc3M9ImNoYXJ0LWNvbnRhaW5lciIgI3N0YXRpc3RpY0NoYXJ0IFtmeFNob3ddPSJpc051bWVyaWNEYXRhIj48L2Rpdj5cbiAgICA8dGFibGUgW2Z4U2hvd109IiFpc051bWVyaWNEYXRhIiBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPSJkYXRhU291cmNlIlxuICAgICAgICAgICBtYXRTb3J0IFttYXRTb3J0QWN0aXZlXT0icGFnZUxpbmsuc29ydE9yZGVyLnByb3BlcnR5IiBbbWF0U29ydERpcmVjdGlvbl09InBhZ2VMaW5rLnNvcnREaXJlY3Rpb24oKSJcbiAgICAgICAgICAgbWF0U29ydERpc2FibGVDbGVhcj5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPSIwIj5cbiAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3sgXCd3aWRnZXRzLmdhdGV3YXkuY3JlYXRlZC10aW1lXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHJvdzsgbGV0IHJvd0luZGV4ID0gaW5kZXgiPlxuICAgICAgICAgIHt7IHJvd1swXXwgZGF0ZTpcJ3l5eXktTU0tZGQgSEg6bW06c3NcJyB9fVxuICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iMSI+XG4gICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiA3MCUiPnt7IFwnd2lkZ2V0cy5nYXRld2F5Lm1lc3NhZ2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgcm93Ij5cbiAgICAgICAgICB7eyByb3dbMV0gfX1cbiAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG1hdC1oZWFkZXItcm93IGNsYXNzPSJtYXQtcm93LXNlbGVjdCJcbiAgICAgICAgICAgICAgICAgICAgICAqbWF0SGVhZGVyUm93RGVmPSJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWUiPjwvbWF0LWhlYWRlci1yb3c+XG4gICAgICA8bWF0LXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiXG4gICAgICAgICAgICAgICAqbWF0Um93RGVmPSJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyI+PC9tYXQtcm93PlxuICAgIDwvdGFibGU+XG4gICAgPHNwYW4gW2Z4U2hvd109ImRhdGFTb3VyY2UuZGF0YS5sZW5ndGggPT09IDAgJiYgIWlzTnVtZXJpY0RhdGEiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCI+e3sgXCdhdHRyaWJ1dGUubm8tdGVsZW1ldHJ5LXRleHRcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8ZGl2IGZ4RmxleCBjbGFzcz0ibGVnZW5kIiBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIiBbZnhTaG93XT0iaXNOdW1lcmljRGF0YSI+XG4gICAgICA8ZGl2IGNsYXNzPSJsZWdlbmQta2V5cyIgKm5nRm9yPSJsZXQgbGVnZW5kS2V5IG9mIGxlZ2VuZERhdGE/LmtleXMiIGZ4TGF5b3V0PSJyb3ciXG4gICAgICAgICAgIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiPlxuICAgICAgICA8c3BhbiBjbGFzcz0ibGVnZW5kLWxpbmUiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT0ibGVnZW5kS2V5LmRhdGFLZXkuY29sb3IiPjwvc3Bhbj5cbiAgICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLWxhYmVsIlxuICAgICAgICAgICAgIChjbGljayk9Im9uTGVnZW5kS2V5SGlkZGVuQ2hhbmdlKGxlZ2VuZEtleS5kYXRhSW5kZXgpIlxuICAgICAgICAgICAgIFtjbGFzc109InsgXCdoaWRkZW4tbGFiZWxcJzogbGVnZW5kRGF0YS5rZXlzW2xlZ2VuZEtleS5kYXRhSW5kZXhdLmRhdGFLZXkuaGlkZGVuIH0iXG4gICAgICAgICAgICAgW2lubmVySFRNTF09ImxlZ2VuZEtleS5kYXRhS2V5LmxhYmVsIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cGFkZGluZzowfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lcntoZWlnaHQ6MTAwJTtvdmVyZmxvdy15OmF1dG99Omhvc3QgLnN0YXRpc3RpY3MtY29udGFpbmVyIG1hdC1jYXJke3dpZHRoOjQwJTtoZWlnaHQ6MTAwJTttYXJnaW4tcmlnaHQ6MzVweDtwYWRkaW5nOjE1cHg7Z2FwOjIycHh9QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCl7Omhvc3QgLnN0YXRpc3RpY3MtY29udGFpbmVyIG1hdC1jYXJke3dpZHRoOjEwMCV9fTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciAuY2hhcnQtYm94LDpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciAuY2hhcnQtY29udGFpbmVye2hlaWdodDoxMDAlO2ZsZXgtZ3JvdzoxfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciAuY2hhcnQtYm94e292ZXJmbG93OmF1dG99Omhvc3QgLnN0YXRpc3RpY3MtY29udGFpbmVyPip7aGVpZ2h0OjEwMCV9Omhvc3QgLmxlZ2VuZHtmbGV4LXdyYXA6d3JhcDt3aWR0aDoxMDAlO3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo0cHg7bWFyZ2luLXRvcDoxNXB4fTpob3N0IC5sZWdlbmQgLmxlZ2VuZC1rZXlzIC5sZWdlbmQtbGFiZWx7cGFkZGluZzoycHggMjBweCAycHggMTBweDt3aGl0ZS1zcGFjZTpub3dyYXB9Omhvc3QgLmxlZ2VuZCAubGVnZW5kLWtleXMgLmxlZ2VuZC1sYWJlbC5oaWRkZW4tbGFiZWx7dGV4dC1kZWNvcmF0aW9uOmxpbmUtdGhyb3VnaDtvcGFjaXR5Oi42fTpob3N0IC5sZWdlbmQgLmxlZ2VuZC1rZXlzIC5sZWdlbmQtbGFiZWw6Zm9jdXN7b3V0bGluZTpub25lfTpob3N0IC5sZWdlbmQgLmxlZ2VuZC1rZXlzIC5sZWdlbmQtbGluZXtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxNXB4O2hlaWdodDozcHg7dGV4dC1hbGlnbjpsZWZ0O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtvdXRsaW5lOm5vbmV9XG4nXX1dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTptZS5Gb3JtQnVpbGRlcn0se3R5cGU6WC5BdHRyaWJ1dGVTZXJ2aWNlfSx7dHlwZTpYLlV0aWxzU2VydmljZX1dLHByb3BEZWNvcmF0b3JzOntzb3J0Olt7dHlwZTpvLGFyZ3M6W2ddfV0sc3RhdGlzdGljQ2hhcnQ6W3t0eXBlOm8sYXJnczpbInN0YXRpc3RpY0NoYXJ0Il19XSxjdHg6W3t0eXBlOmF9XSxnZW5lcmFsOlt7dHlwZTphfV19fSk7Y2xhc3MgbWF7c3RhdGlje3RoaXMubXF0dFJlcXVlc3RUeXBlS2V5cz1PYmplY3QudmFsdWVzKEluKX1zdGF0aWN7dGhpcy5tcXR0UmVxdWVzdE1hcHBpbmdPbGRGaWVsZHM9WyJhdHRyaWJ1dGVOYW1lSnNvbkV4cHJlc3Npb24iLCJkZXZpY2VOYW1lSnNvbkV4cHJlc3Npb24iLCJkZXZpY2VOYW1lVG9waWNFeHByZXNzaW9uIiwiZXh0ZW5zaW9uLWNvbmZpZyJdfXN0YXRpY3t0aGlzLm1xdHRSZXF1ZXN0TWFwcGluZ05ld0ZpZWxkcz1bImF0dHJpYnV0ZU5hbWVFeHByZXNzaW9uU291cmNlIiwicmVzcG9uc2VUb3BpY1FvUyIsImV4dGVuc2lvbkNvbmZpZyJdfXN0YXRpYyBtYXBNYXBwaW5nVG9VcGdyYWRlZFZlcnNpb24oZSl7cmV0dXJuIGU/Lm1hcCgoKHtjb252ZXJ0ZXI6ZSx0b3BpY0ZpbHRlcjp0LHN1YnNjcmlwdGlvblFvczpuPTF9KT0+e2NvbnN0IGE9ZS5kZXZpY2VJbmZvPz90aGlzLmV4dHJhY3RDb252ZXJ0ZXJEZXZpY2VJbmZvKGUpLG89ey4uLmUsZGV2aWNlSW5mbzphLGV4dGVuc2lvbkNvbmZpZzplLmV4dGVuc2lvbkNvbmZpZ3x8ZVsiZXh0ZW5zaW9uLWNvbmZpZyJdfHxudWxsfTtyZXR1cm4gdGhpcy5jbGVhblVwT2xkRmllbGRzKG8pLHtjb252ZXJ0ZXI6byx0b3BpY0ZpbHRlcjp0LHN1YnNjcmlwdGlvblFvczpufX0pKX1zdGF0aWMgbWFwUmVxdWVzdHNUb1VwZ3JhZGVkVmVyc2lvbihlKXtyZXR1cm4gdGhpcy5tcXR0UmVxdWVzdFR5cGVLZXlzLnJlZHVjZSgoKHQsbik9PmVbbl0/KHRbbl09ZVtuXS5tYXAoKGU9Pntjb25zdCB0PXRoaXMubWFwUmVxdWVzdFRvVXBncmFkZWRWZXJzaW9uKGUsbik7cmV0dXJuIHRoaXMuY2xlYW5VcE9sZEZpZWxkcyh0KSx0fSkpLHQpOnQpLHt9KX1zdGF0aWMgbWFwUmVxdWVzdHNUb0Rvd25ncmFkZWRWZXJzaW9uKGUpe3JldHVybiB0aGlzLm1xdHRSZXF1ZXN0VHlwZUtleXMucmVkdWNlKCgodCxuKT0+ZVtuXT8odFtuXT1lW25dLm1hcCgoZT0+e249PT1Jbi5TRVJWRVJfU0lERV9SUEMmJmRlbGV0ZSBlLnR5cGU7Y29uc3R7YXR0cmlidXRlTmFtZUV4cHJlc3Npb246dCxkZXZpY2VJbmZvOmEsLi4ub309ZSxpPXsuLi5vLGF0dHJpYnV0ZU5hbWVKc29uRXhwcmVzc2lvbjp0fHxudWxsLGRldmljZU5hbWVKc29uRXhwcmVzc2lvbjphPy5kZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZSE9PVRuLlRPUElDP2E/LmRldmljZU5hbWVFeHByZXNzaW9uOm51bGwsZGV2aWNlTmFtZVRvcGljRXhwcmVzc2lvbjphPy5kZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZT09PVRuLlRPUElDP2E/LmRldmljZU5hbWVFeHByZXNzaW9uOm51bGx9O3JldHVybiB0aGlzLmNsZWFuVXBOZXdGaWVsZHMoaSksaX0pKSx0KTp0KSx7fSl9c3RhdGljIG1hcE1hcHBpbmdUb0Rvd25ncmFkZWRWZXJzaW9uKGUpe3JldHVybiBlPy5tYXAoKGU9Pntjb25zdCB0PXRoaXMubWFwQ29udmVydGVyVG9Eb3duZ3JhZGVkVmVyc2lvbihlLmNvbnZlcnRlcik7cmV0dXJuIHRoaXMuY2xlYW5VcE5ld0ZpZWxkcyh0KSx7Y29udmVydGVyOnQsdG9waWNGaWx0ZXI6ZS50b3BpY0ZpbHRlcn19KSl9c3RhdGljIG1hcENvbnZlcnRlclRvRG93bmdyYWRlZFZlcnNpb24oZSl7Y29uc3R7ZGV2aWNlSW5mbzp0LC4uLm59PWU7cmV0dXJuIGUudHlwZSE9PXduLkJZVEVTP3suLi5uLGRldmljZU5hbWVKc29uRXhwcmVzc2lvbjp0Py5kZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZT09PVRuLk1TRz90LmRldmljZU5hbWVFeHByZXNzaW9uOm51bGwsZGV2aWNlVHlwZUpzb25FeHByZXNzaW9uOnQ/LmRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlPT09VG4uTVNHP3QuZGV2aWNlUHJvZmlsZUV4cHJlc3Npb246bnVsbCxkZXZpY2VOYW1lVG9waWNFeHByZXNzaW9uOnQ/LmRldmljZU5hbWVFeHByZXNzaW9uU291cmNlIT09VG4uTVNHP3Q/LmRldmljZU5hbWVFeHByZXNzaW9uOm51bGwsZGV2aWNlVHlwZVRvcGljRXhwcmVzc2lvbjp0Py5kZXZpY2VQcm9maWxlRXhwcmVzc2lvblNvdXJjZSE9PVRuLk1TRz90Py5kZXZpY2VQcm9maWxlRXhwcmVzc2lvbjpudWxsfTp7Li4ubixkZXZpY2VOYW1lRXhwcmVzc2lvbjp0LmRldmljZU5hbWVFeHByZXNzaW9uLGRldmljZVR5cGVFeHByZXNzaW9uOnQuZGV2aWNlUHJvZmlsZUV4cHJlc3Npb24sImV4dGVuc2lvbi1jb25maWciOmUuZXh0ZW5zaW9uQ29uZmlnfX1zdGF0aWMgY2xlYW5VcE9sZEZpZWxkcyhlKXt0aGlzLm1xdHRSZXF1ZXN0TWFwcGluZ09sZEZpZWxkcy5mb3JFYWNoKCh0PT5kZWxldGUgZVt0XSkpLFooZSl9c3RhdGljIGNsZWFuVXBOZXdGaWVsZHMoZSl7dGhpcy5tcXR0UmVxdWVzdE1hcHBpbmdOZXdGaWVsZHMuZm9yRWFjaCgodD0+ZGVsZXRlIGVbdF0pKSxaKGUpfXN0YXRpYyBnZXRUeXBlU291cmNlQnlWYWx1ZShlKXtyZXR1cm4gZS5pbmNsdWRlcygiJHsiKT9Ubi5NU0c6ZS5pbmNsdWRlcygiLyIpP1RuLlRPUElDOlRuLkNPTlNUfXN0YXRpYyBleHRyYWN0Q29udmVydGVyRGV2aWNlSW5mbyhlKXtjb25zdCB0PWUuZGV2aWNlTmFtZUV4cHJlc3Npb258fGUuZGV2aWNlTmFtZUpzb25FeHByZXNzaW9ufHxlLmRldmljZU5hbWVUb3BpY0V4cHJlc3Npb258fG51bGwsbj1lLmRldmljZU5hbWVFeHByZXNzaW9uU291cmNlP2UuZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2U6dD90aGlzLmdldFR5cGVTb3VyY2VCeVZhbHVlKHQpOm51bGwsYT1lLmRldmljZVByb2ZpbGVFeHByZXNzaW9ufHxlLmRldmljZVR5cGVUb3BpY0V4cHJlc3Npb258fGUuZGV2aWNlVHlwZUpzb25FeHByZXNzaW9ufHwiZGVmYXVsdCIsbz1lLmRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlP2UuZGV2aWNlUHJvZmlsZUV4cHJlc3Npb25Tb3VyY2U6YT90aGlzLmdldFR5cGVTb3VyY2VCeVZhbHVlKGEpOm51bGw7cmV0dXJuIHR8fGE/e2RldmljZU5hbWVFeHByZXNzaW9uOnQsZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2U6bixkZXZpY2VQcm9maWxlRXhwcmVzc2lvbjphLGRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlOm99Om51bGx9c3RhdGljIG1hcFJlcXVlc3RUb1VwZ3JhZGVkVmVyc2lvbihlLHQpe2NvbnN0IG49ZS5kZXZpY2VOYW1lSnNvbkV4cHJlc3Npb258fGUuZGV2aWNlTmFtZVRvcGljRXhwcmVzc2lvbnx8bnVsbCxhPWUuZGV2aWNlVHlwZVRvcGljRXhwcmVzc2lvbnx8ZS5kZXZpY2VUeXBlSnNvbkV4cHJlc3Npb258fCJkZWZhdWx0IixvPWE/dGhpcy5nZXRUeXBlU291cmNlQnlWYWx1ZShhKTpudWxsLGk9ZS5hdHRyaWJ1dGVOYW1lRXhwcmVzc2lvblNvdXJjZXx8ZS5hdHRyaWJ1dGVOYW1lSnNvbkV4cHJlc3Npb258fG51bGwscj10PT09SW4uU0VSVkVSX1NJREVfUlBDPzE6bnVsbCxzPXQ9PT1Jbi5TRVJWRVJfU0lERV9SUEM/ZS5yZXNwb25zZVRvcGljRXhwcmVzc2lvbj9Gbi5XaXRoUmVzcG9uc2U6Rm4uV2l0aG91dFJlc3BvbnNlOm51bGw7cmV0dXJuey4uLmUsYXR0cmlidXRlTmFtZUV4cHJlc3Npb246aSxhdHRyaWJ1dGVOYW1lRXhwcmVzc2lvblNvdXJjZTppP3RoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoaSk6bnVsbCxkZXZpY2VJbmZvOmUuZGV2aWNlSW5mbz9lLmRldmljZUluZm86bj97ZGV2aWNlTmFtZUV4cHJlc3Npb246bixkZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZTp0aGlzLmdldFR5cGVTb3VyY2VCeVZhbHVlKG4pLGRldmljZVByb2ZpbGVFeHByZXNzaW9uOmEsZGV2aWNlUHJvZmlsZUV4cHJlc3Npb25Tb3VyY2U6b306bnVsbCxyZXNwb25zZVRvcGljUW9TOnIsdHlwZTpzfX19ZSgiTXF0dFZlcnNpb25NYXBwaW5nVXRpbCIsbWEpO2NsYXNzIGRhe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5nYXRld2F5VmVyc2lvbkluPWUsdGhpcy5jb25uZWN0b3I9dCx0aGlzLmdhdGV3YXlWZXJzaW9uPWJhLnBhcnNlVmVyc2lvbih0aGlzLmdhdGV3YXlWZXJzaW9uSW4pLHRoaXMuY29uZmlnVmVyc2lvbj1iYS5wYXJzZVZlcnNpb24odGhpcy5jb25uZWN0b3IuY29uZmlnVmVyc2lvbil9Z2V0UHJvY2Vzc2VkQnlWZXJzaW9uKCl7cmV0dXJuIHRoaXMuaXNWZXJzaW9uVXBkYXRlTmVlZGVkKCk/dGhpcy5wcm9jZXNzVmVyc2lvblVwZGF0ZSgpOnRoaXMuY29ubmVjdG9yfXByb2Nlc3NWZXJzaW9uVXBkYXRlKCl7cmV0dXJuIHRoaXMuaXNWZXJzaW9uVXBncmFkZU5lZWRlZCgpP3RoaXMuZ2V0VXBncmFkZWRWZXJzaW9uKCk6dGhpcy5pc1ZlcnNpb25Eb3duZ3JhZGVOZWVkZWQoKT90aGlzLmdldERvd25ncmFkZWRWZXJzaW9uKCk6dGhpcy5jb25uZWN0b3J9aXNWZXJzaW9uVXBkYXRlTmVlZGVkKCl7cmV0dXJuISF0aGlzLmdhdGV3YXlWZXJzaW9uJiZ0aGlzLmNvbmZpZ1ZlcnNpb24hPT10aGlzLmdhdGV3YXlWZXJzaW9ufWlzVmVyc2lvblVwZ3JhZGVOZWVkZWQoKXtyZXR1cm4gdGhpcy5nYXRld2F5VmVyc2lvbj49YmEucGFyc2VWZXJzaW9uKFV0LkN1cnJlbnQpJiYoIXRoaXMuY29uZmlnVmVyc2lvbnx8dGhpcy5jb25maWdWZXJzaW9uPHRoaXMuZ2F0ZXdheVZlcnNpb24pfWlzVmVyc2lvbkRvd25ncmFkZU5lZWRlZCgpe3JldHVybiB0aGlzLmNvbmZpZ1ZlcnNpb24mJnRoaXMuY29uZmlnVmVyc2lvbj49YmEucGFyc2VWZXJzaW9uKFV0LkN1cnJlbnQpJiZ0aGlzLmNvbmZpZ1ZlcnNpb24+dGhpcy5nYXRld2F5VmVyc2lvbn19ZSgiR2F0ZXdheUNvbm5lY3RvclZlcnNpb25Qcm9jZXNzb3IiLGRhKTtjbGFzcyB1YSBleHRlbmRzIGRhe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLmdhdGV3YXlWZXJzaW9uSW49ZSx0aGlzLmNvbm5lY3Rvcj10LHRoaXMubXF0dFJlcXVlc3RUeXBlS2V5cz1PYmplY3QudmFsdWVzKEluKX1nZXRVcGdyYWRlZFZlcnNpb24oKXtjb25zdHtjb25uZWN0UmVxdWVzdHM6ZSxkaXNjb25uZWN0UmVxdWVzdHM6dCxhdHRyaWJ1dGVSZXF1ZXN0czpuLGF0dHJpYnV0ZVVwZGF0ZXM6YSxzZXJ2ZXJTaWRlUnBjOm99PXRoaXMuY29ubmVjdG9yLmNvbmZpZ3VyYXRpb25Kc29uO2xldCBpPXsuLi50aGlzLmNvbm5lY3Rvci5jb25maWd1cmF0aW9uSnNvbixyZXF1ZXN0c01hcHBpbmc6bWEubWFwUmVxdWVzdHNUb1VwZ3JhZGVkVmVyc2lvbih7Y29ubmVjdFJlcXVlc3RzOmUsZGlzY29ubmVjdFJlcXVlc3RzOnQsYXR0cmlidXRlUmVxdWVzdHM6bixhdHRyaWJ1dGVVcGRhdGVzOmEsc2VydmVyU2lkZVJwYzpvfSksbWFwcGluZzptYS5tYXBNYXBwaW5nVG9VcGdyYWRlZFZlcnNpb24odGhpcy5jb25uZWN0b3IuY29uZmlndXJhdGlvbkpzb24ubWFwcGluZyl9O3JldHVybiB0aGlzLm1xdHRSZXF1ZXN0VHlwZUtleXMuZm9yRWFjaCgoZT0+e2NvbnN0e1tlXTp0LC4uLm59PWk7aT17Li4ubn19KSksdGhpcy5jbGVhblVwQ29uZmlnSnNvbihpKSx7Li4udGhpcy5jb25uZWN0b3IsY29uZmlndXJhdGlvbkpzb246aSxjb25maWdWZXJzaW9uOnRoaXMuZ2F0ZXdheVZlcnNpb25Jbn19Z2V0RG93bmdyYWRlZFZlcnNpb24oKXtjb25zdHtyZXF1ZXN0c01hcHBpbmc6ZSxtYXBwaW5nOnQsLi4ubn09dGhpcy5jb25uZWN0b3IuY29uZmlndXJhdGlvbkpzb24sYT1lP21hLm1hcFJlcXVlc3RzVG9Eb3duZ3JhZGVkVmVyc2lvbihlKTp7fSxvPW1hLm1hcE1hcHBpbmdUb0Rvd25ncmFkZWRWZXJzaW9uKHQpO3JldHVybnsuLi50aGlzLmNvbm5lY3Rvcixjb25maWd1cmF0aW9uSnNvbjp7Li4ubiwuLi5hLG1hcHBpbmc6b30sY29uZmlnVmVyc2lvbjp0aGlzLmdhdGV3YXlWZXJzaW9uSW59fWNsZWFuVXBDb25maWdKc29uKGUpe2VlKGUucmVxdWVzdHNNYXBwaW5nLHt9KSYmZGVsZXRlIGUucmVxdWVzdHNNYXBwaW5nLGVlKGUubWFwcGluZyxbXSkmJmRlbGV0ZSBlLm1hcHBpbmd9fWUoIk1xdHRWZXJzaW9uUHJvY2Vzc29yIix1YSk7Y2xhc3MgZ2EgZXh0ZW5kcyBkYXtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5nYXRld2F5VmVyc2lvbkluPWUsdGhpcy5jb25uZWN0b3I9dH1nZXRVcGdyYWRlZFZlcnNpb24oKXtjb25zdCBlPXRoaXMuY29ubmVjdG9yLmNvbmZpZ3VyYXRpb25Kc29uO3JldHVybnsuLi50aGlzLmNvbm5lY3Rvcixjb25maWd1cmF0aW9uSnNvbjp7bWFzdGVyOmUubWFzdGVyPy5zbGF2ZXM/aGEubWFwTWFzdGVyVG9VcGdyYWRlZFZlcnNpb24oZS5tYXN0ZXIpOntzbGF2ZXM6W119LHNsYXZlOmUuc2xhdmU/aGEubWFwU2xhdmVUb1VwZ3JhZGVkVmVyc2lvbihlLnNsYXZlKTp7fX0sY29uZmlnVmVyc2lvbjp0aGlzLmdhdGV3YXlWZXJzaW9uSW59fWdldERvd25ncmFkZWRWZXJzaW9uKCl7Y29uc3QgZT10aGlzLmNvbm5lY3Rvci5jb25maWd1cmF0aW9uSnNvbjtyZXR1cm57Li4udGhpcy5jb25uZWN0b3IsY29uZmlndXJhdGlvbkpzb246ey4uLmUsc2xhdmU6ZS5zbGF2ZT9oYS5tYXBTbGF2ZVRvRG93bmdyYWRlZFZlcnNpb24oZS5zbGF2ZSk6e30sbWFzdGVyOmUubWFzdGVyPy5zbGF2ZXM/aGEubWFwTWFzdGVyVG9Eb3duZ3JhZGVkVmVyc2lvbihlLm1hc3Rlcik6e3NsYXZlczpbXX19LGNvbmZpZ1ZlcnNpb246dGhpcy5nYXRld2F5VmVyc2lvbklufX19ZSgiTW9kYnVzVmVyc2lvblByb2Nlc3NvciIsZ2EpO2NsYXNzIGZhIGV4dGVuZHMgZGF7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpLHRoaXMuZ2F0ZXdheVZlcnNpb25Jbj1lLHRoaXMuY29ubmVjdG9yPXR9Z2V0VXBncmFkZWRWZXJzaW9uKCl7Y29uc3QgZT10aGlzLmNvbm5lY3Rvci5jb25maWd1cmF0aW9uSnNvbi5zZXJ2ZXI7cmV0dXJuey4uLnRoaXMuY29ubmVjdG9yLGNvbmZpZ3VyYXRpb25Kc29uOntzZXJ2ZXI6ZT94YS5tYXBTZXJ2ZXJUb1VwZ3JhZGVkVmVyc2lvbihlKTp7fSxtYXBwaW5nOmU/Lm1hcHBpbmc/eGEubWFwTWFwcGluZ1RvVXBncmFkZWRWZXJzaW9uKGUubWFwcGluZyk6W119LGNvbmZpZ1ZlcnNpb246dGhpcy5nYXRld2F5VmVyc2lvbklufX1nZXREb3duZ3JhZGVkVmVyc2lvbigpe3JldHVybnsuLi50aGlzLmNvbm5lY3Rvcixjb25maWd1cmF0aW9uSnNvbjp7c2VydmVyOnhhLm1hcFNlcnZlclRvRG93bmdyYWRlZFZlcnNpb24odGhpcy5jb25uZWN0b3IuY29uZmlndXJhdGlvbkpzb24pfSxjb25maWdWZXJzaW9uOnRoaXMuZ2F0ZXdheVZlcnNpb25Jbn19fWUoIk9wY1ZlcnNpb25Qcm9jZXNzb3IiLGZhKTtjbGFzcyB5YXtjb25zdHJ1Y3Rvcigpe3RoaXMuaW5pdGlhbGl6ZWQ9bmV3IGksdGhpcy5mYj1yKGRlKSx0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLmJhc2ljRm9ybUdyb3VwPXRoaXMuaW5pdEJhc2ljRm9ybUdyb3VwKCksdGhpcy5iYXNpY0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT50aGlzLm9uQmFzaWNGb3JtR3JvdXBDaGFuZ2UoZSkpKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLmluaXRpYWxpemVkLmVtaXQoKX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLmJhc2ljRm9ybUdyb3VwLnZhbGlkP251bGw6e2Jhc2ljRm9ybUdyb3VwOnt2YWxpZDohMX19fXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9d3JpdGVWYWx1ZShlKXt0aGlzLmJhc2ljRm9ybUdyb3VwLnNldFZhbHVlKHRoaXMubWFwQ29uZmlnVG9Gb3JtVmFsdWUoZSkse2VtaXRFdmVudDohMX0pfW9uQmFzaWNGb3JtR3JvdXBDaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZSh0aGlzLmdldE1hcHBlZFZhbHVlKGUpKSx0aGlzLm9uVG91Y2hlZCgpfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6eWEsZGVwczpbXSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5EaXJlY3RpdmV9KX1zdGF0aWN7dGhpcy7JtWRpcj10Lsm1ybVuZ0RlY2xhcmVEaXJlY3RpdmUoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOnlhLGlucHV0czp7Z2VuZXJhbFRhYkNvbnRlbnQ6ImdlbmVyYWxUYWJDb250ZW50In0sb3V0cHV0czp7aW5pdGlhbGl6ZWQ6ImluaXRpYWxpemVkIn0sbmdJbXBvcnQ6dH0pfX1lKCJHYXRld2F5Q29ubmVjdG9yQmFzaWNDb25maWdEaXJlY3RpdmUiLHlhKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnlhLGRlY29yYXRvcnM6W3t0eXBlOnN9XSxjdG9yUGFyYW1ldGVyczooKT0+W10scHJvcERlY29yYXRvcnM6e2dlbmVyYWxUYWJDb250ZW50Olt7dHlwZTphfV0saW5pdGlhbGl6ZWQ6W3t0eXBlOmx9XX19KTtjbGFzcyBiYXtzdGF0aWMgZ2V0Q29uZmlnKGUsdCl7c3dpdGNoKGUudHlwZSl7Y2FzZSBfdC5NUVRUOnJldHVybiBuZXcgdWEodCxlKS5nZXRQcm9jZXNzZWRCeVZlcnNpb24oKTtjYXNlIF90Lk9QQ1VBOnJldHVybiBuZXcgZmEodCxlKS5nZXRQcm9jZXNzZWRCeVZlcnNpb24oKTtjYXNlIF90Lk1PREJVUzpyZXR1cm4gbmV3IGdhKHQsZSkuZ2V0UHJvY2Vzc2VkQnlWZXJzaW9uKCk7ZGVmYXVsdDpyZXR1cm4gZX19c3RhdGljIHBhcnNlVmVyc2lvbihlKXtyZXR1cm4gdGUoZSk/ZTpuZShlKT9wYXJzZUZsb2F0KGUucmVwbGFjZSgvXC4vZywiIikuc2xpY2UoMCwzKSkvMTAwOjB9fWUoIkdhdGV3YXlDb25uZWN0b3JWZXJzaW9uTWFwcGluZ1V0aWwiLGJhKTtjbGFzcyBoYXtzdGF0aWMgbWFwTWFzdGVyVG9VcGdyYWRlZFZlcnNpb24oZSl7cmV0dXJue3NsYXZlczplLnNsYXZlcy5tYXAoKGU9Pntjb25zdHtzZW5kRGF0YU9ubHlPbkNoYW5nZTp0LC4uLm59PWU7cmV0dXJuey4uLm4sZGV2aWNlVHlwZTplLmRldmljZVR5cGU/PyJkZWZhdWx0IixyZXBvcnRTdHJhdGVneTp0P3t0eXBlOnNuLk9uQ2hhbmdlfTp7dHlwZTpzbi5PblJlcG9ydFBlcmlvZCxyZXBvcnRQZXJpb2Q6ZS5wb2xsUGVyaW9kfX19KSl9fXN0YXRpYyBtYXBNYXN0ZXJUb0Rvd25ncmFkZWRWZXJzaW9uKGUpe3JldHVybntzbGF2ZXM6ZS5zbGF2ZXMubWFwKChlPT57Y29uc3R7cmVwb3J0U3RyYXRlZ3k6dCwuLi5ufT1lO3JldHVybnsuLi5uLHNlbmREYXRhT25seU9uQ2hhbmdlOnQ/LnR5cGUhPT1zbi5PblJlcG9ydFBlcmlvZH19KSl9fXN0YXRpYyBtYXBTbGF2ZVRvRG93bmdyYWRlZFZlcnNpb24oZSl7aWYoIWU/LnZhbHVlcylyZXR1cm4gZTtjb25zdCB0PU9iamVjdC5rZXlzKGUudmFsdWVzKS5yZWR1Y2UoKCh0LG4pPT50PXsuLi50LFtuXTpbZS52YWx1ZXNbbl1dfSkse30pO3JldHVybnsuLi5lLHZhbHVlczp0fX1zdGF0aWMgbWFwU2xhdmVUb1VwZ3JhZGVkVmVyc2lvbihlKXtpZighZT8udmFsdWVzKXJldHVybiBlO2NvbnN0IHQ9T2JqZWN0LmtleXMoZS52YWx1ZXMpLnJlZHVjZSgoKHQsbik9PnQ9ey4uLnQsW25dOnRoaXMubWFwVmFsdWVzVG9VcGdyYWRlZFZlcnNpb24oZS52YWx1ZXNbbl1bMF0pfSkse30pO3JldHVybnsuLi5lLHZhbHVlczp0fX1zdGF0aWMgbWFwVmFsdWVzVG9VcGdyYWRlZFZlcnNpb24oZSl7cmV0dXJuIE9iamVjdC5rZXlzKGUpLnJlZHVjZSgoKHQsbik9PnQ9ey4uLnQsW25dOmVbbl0ubWFwKChlPT4oey4uLmUsdHlwZToiaW50Ij09PWUudHlwZT9lYS5JTlQxNjplLnR5cGV9KSkpfSkse30pfX1lKCJNb2RidXNWZXJzaW9uTWFwcGluZ1V0aWwiLGhhKTtjbGFzcyB4YXtzdGF0aWMgbWFwU2VydmVyVG9VcGdyYWRlZFZlcnNpb24oZSl7Y29uc3R7bWFwcGluZzp0LGRpc2FibGVTdWJzY3JpcHRpb25zOm4scG9sbFBlcmlvZEluTWlsbGlzOmEsLi4ub309ZTtyZXR1cm57Li4ubyxwb2xsUGVyaW9kSW5NaWxsaXM6YT8/NWUzLGVuYWJsZVN1YnNjcmlwdGlvbnM6IW59fXN0YXRpYyBtYXBTZXJ2ZXJUb0Rvd25ncmFkZWRWZXJzaW9uKGUpe2NvbnN0e21hcHBpbmc6dCxzZXJ2ZXI6bn09ZSx7ZW5hYmxlU3Vic2NyaXB0aW9uczphLC4uLm99PW4/P3t9O3JldHVybnsuLi5vLG1hcHBpbmc6dD90aGlzLm1hcE1hcHBpbmdUb0Rvd25ncmFkZWRWZXJzaW9uKHQpOltdLGRpc2FibGVTdWJzY3JpcHRpb25zOiFhfX1zdGF0aWMgbWFwTWFwcGluZ1RvVXBncmFkZWRWZXJzaW9uKGUpe3JldHVybiBlLm1hcCgoZT0+KHsuLi5lLGRldmljZU5vZGVTb3VyY2U6dGhpcy5nZXREZXZpY2VOb2RlU291cmNlQnlWYWx1ZShlLmRldmljZU5vZGVQYXR0ZXJuKSxkZXZpY2VJbmZvOntkZXZpY2VOYW1lRXhwcmVzc2lvbjplLmRldmljZU5hbWVQYXR0ZXJuLGRldmljZU5hbWVFeHByZXNzaW9uU291cmNlOnRoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoZS5kZXZpY2VOYW1lUGF0dGVybiksZGV2aWNlUHJvZmlsZUV4cHJlc3Npb246ZS5kZXZpY2VUeXBlUGF0dGVybj8/ImRlZmF1bHQiLGRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlOnRoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoZS5kZXZpY2VUeXBlUGF0dGVybj8/ImRlZmF1bHQiKX0sYXR0cmlidXRlczplLmF0dHJpYnV0ZXMubWFwKChlPT4oe2tleTplLmtleSx0eXBlOnRoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoZS5wYXRoKSx2YWx1ZTplLnBhdGh9KSkpLGF0dHJpYnV0ZXNfdXBkYXRlczplLmF0dHJpYnV0ZXNfdXBkYXRlcy5tYXAoKGU9Pih7a2V5OmUuYXR0cmlidXRlT25UaGluZ3NCb2FyZCx0eXBlOnRoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoZS5hdHRyaWJ1dGVPbkRldmljZSksdmFsdWU6ZS5hdHRyaWJ1dGVPbkRldmljZX0pKSksdGltZXNlcmllczplLnRpbWVzZXJpZXMubWFwKChlPT4oe2tleTplLmtleSx0eXBlOnRoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoZS5wYXRoKSx2YWx1ZTplLnBhdGh9KSkpLHJwY19tZXRob2RzOmUucnBjX21ldGhvZHMubWFwKChlPT4oe21ldGhvZDplLm1ldGhvZCxhcmd1bWVudHM6ZS5hcmd1bWVudHMubWFwKChlPT4oe3ZhbHVlOmUsdHlwZTp0aGlzLmdldEFyZ3VtZW50VHlwZShlKX0pKSl9KSkpfSkpKX1zdGF0aWMgbWFwTWFwcGluZ1RvRG93bmdyYWRlZFZlcnNpb24oZSl7cmV0dXJuIGUubWFwKChlPT4oey4uLmUsZGV2aWNlTmFtZVBhdHRlcm46ZS5kZXZpY2VJbmZvLmRldmljZU5hbWVFeHByZXNzaW9uLGRldmljZVR5cGVQYXR0ZXJuOmUuZGV2aWNlSW5mby5kZXZpY2VQcm9maWxlRXhwcmVzc2lvbixhdHRyaWJ1dGVzOmUuYXR0cmlidXRlcy5tYXAoKGU9Pih7a2V5OmUua2V5LHBhdGg6ZS52YWx1ZX0pKSksYXR0cmlidXRlc191cGRhdGVzOmUuYXR0cmlidXRlc191cGRhdGVzLm1hcCgoZT0+KHthdHRyaWJ1dGVPblRoaW5nc0JvYXJkOmUua2V5LGF0dHJpYnV0ZU9uRGV2aWNlOmUudmFsdWV9KSkpLHRpbWVzZXJpZXM6ZS50aW1lc2VyaWVzLm1hcCgoZT0+KHtrZXk6ZS5rZXkscGF0aDplLnZhbHVlfSkpKSxycGNfbWV0aG9kczplLnJwY19tZXRob2RzLm1hcCgoZT0+KHttZXRob2Q6ZS5tZXRob2QsYXJndW1lbnRzOmUuYXJndW1lbnRzLm1hcCgoZT0+ZS52YWx1ZSkpfSkpKX0pKSl9c3RhdGljIGdldFR5cGVTb3VyY2VCeVZhbHVlKGUpe3JldHVybiBlLmluY2x1ZGVzKCIkeyIpP1NuLklERU5USUZJRVI6ZS5pbmNsdWRlcygiLyIpfHxlLmluY2x1ZGVzKCJcXCIpP1NuLlBBVEg6U24uQ09OU1R9c3RhdGljIGdldERldmljZU5vZGVTb3VyY2VCeVZhbHVlKGUpe3JldHVybiBlLmluY2x1ZGVzKCIkeyIpP1NuLklERU5USUZJRVI6U24uUEFUSH1zdGF0aWMgZ2V0QXJndW1lbnRUeXBlKGUpe3N3aXRjaCh0eXBlb2YgZSl7Y2FzZSJib29sZWFuIjpyZXR1cm4iYm9vbGVhbiI7Y2FzZSJudW1iZXIiOnJldHVybiBOdW1iZXIuaXNJbnRlZ2VyKGUpPyJpbnRlZ2VyIjoiZmxvYXQiO2RlZmF1bHQ6cmV0dXJuInN0cmluZyJ9fX1lKCJPcGNWZXJzaW9uTWFwcGluZ1V0aWwiLHhhKTtjbGFzcyB2YXt0cmFuc2Zvcm0oZSl7cmV0dXJuIGJhLnBhcnNlVmVyc2lvbihlKT49YmEucGFyc2VWZXJzaW9uKFV0LkN1cnJlbnQpfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6dmEsZGVwczpbXSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5QaXBlfSl9c3RhdGlje3RoaXMuybVwaXBlPXQuybXJtW5nRGVjbGFyZVBpcGUoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6dmEsaXNTdGFuZGFsb25lOiEwLG5hbWU6ImlzTGF0ZXN0VmVyc2lvbkNvbmZpZyJ9KX19ZSgiTGF0ZXN0VmVyc2lvbkNvbmZpZ1BpcGUiLHZhKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnZhLGRlY29yYXRvcnM6W3t0eXBlOmMsYXJnczpbe25hbWU6ImlzTGF0ZXN0VmVyc2lvbkNvbmZpZyIsc3RhbmRhbG9uZTohMH1dfV19KTtjbGFzcyB3YXtjb25zdHJ1Y3RvcihlKXt0aGlzLnRyYW5zbGF0ZT1lfXRyYW5zZm9ybShlKXtyZXR1cm4gZS5oYXNFcnJvcigicmVxdWlyZWQiKT90aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LnBvcnQtcmVxdWlyZWQiKTplLmhhc0Vycm9yKCJtaW4iKXx8ZS5oYXNFcnJvcigibWF4Iik/dGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5wb3J0LWxpbWl0cy1lcnJvciIse21pbjpFdC5NSU4sbWF4OkV0Lk1BWH0pOiIifXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6d2EsZGVwczpbe3Rva2VuOlkuVHJhbnNsYXRlU2VydmljZX1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LlBpcGV9KX1zdGF0aWN7dGhpcy7JtXBpcGU9dC7Jtcm1bmdEZWNsYXJlUGlwZSh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTp3YSxpc1N0YW5kYWxvbmU6ITAsbmFtZToiZ2V0R2F0ZXdheVBvcnRUb29sdGlwIn0pfX1lKCJHYXRld2F5UG9ydFRvb2x0aXBQaXBlIix3YSksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTp3YSxkZWNvcmF0b3JzOlt7dHlwZTpjLGFyZ3M6W3tuYW1lOiJnZXRHYXRld2F5UG9ydFRvb2x0aXAiLHN0YW5kYWxvbmU6ITB9XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6WS5UcmFuc2xhdGVTZXJ2aWNlfV19KTtjbGFzcyBDYXt0cmFuc2Zvcm0oZSl7cmV0dXJuIGUubWFwKCgoe3ZhbHVlOmV9KT0+ZS50b1N0cmluZygpKSkuam9pbigiLCAiKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkNhLGRlcHM6W10sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuUGlwZX0pfXN0YXRpY3t0aGlzLsm1cGlwZT10Lsm1ybVuZ0RlY2xhcmVQaXBlKHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkNhLGlzU3RhbmRhbG9uZTohMCxuYW1lOiJnZXRScGNUZW1wbGF0ZUFycmF5VmlldyJ9KX19ZSgiUnBjVGVtcGxhdGVBcnJheVZpZXdQaXBlIixDYSksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpDYSxkZWNvcmF0b3JzOlt7dHlwZTpjLGFyZ3M6W3tuYW1lOiJnZXRScGNUZW1wbGF0ZUFycmF5VmlldyIsc3RhbmRhbG9uZTohMH1dfV19KTtjbGFzcyBUYXt0cmFuc2Zvcm0oZSx0LG4pe3JldHVybiFufHxuPy5pbmNsdWRlcyhTbi5QQVRIKT90IT09U24uQ09OU1Q/YHdpZGdldC9saWIvZ2F0ZXdheS8ke2V9LSR7dH1fZm5gOnZvaWQgMDoiYXR0cmlidXRlcyI9PT1lfHwidGltZXNlcmllcyI9PT1lPyJ3aWRnZXQvbGliL2dhdGV3YXkvYXR0cmlidXRlc190aW1lc2VyaWVzX2V4cHJlc3Npb25zX2ZuIjoid2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuIn1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlRhLGRlcHM6W10sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuUGlwZX0pfXN0YXRpY3t0aGlzLsm1cGlwZT10Lsm1ybVuZ0RlY2xhcmVQaXBlKHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlRhLGlzU3RhbmRhbG9uZTohMCxuYW1lOiJnZXRHYXRld2F5SGVscExpbmsifSl9fWUoIkdhdGV3YXlIZWxwTGlua1BpcGUiLFRhKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlRhLGRlY29yYXRvcnM6W3t0eXBlOmMsYXJnczpbe25hbWU6ImdldEdhdGV3YXlIZWxwTGluayIsc3RhbmRhbG9uZTohMH1dfV19KTtjbGFzcyBTYXtjb25zdHJ1Y3RvcihlLHQsbil7dGhpcy5lbGVtZW50UmVmPWUsdGhpcy5yZW5kZXJlcj10LHRoaXMudG9vbHRpcD1uLHRoaXMudG9vbHRpcEVuYWJsZWQ9ITAsdGhpcy5wb3NpdGlvbj0iYWJvdmUiLHRoaXMuZGVzdHJveSQ9bmV3IFNlfW5nT25Jbml0KCl7dGhpcy5vYnNlcnZlTW91c2VFdmVudHMoKSx0aGlzLmFwcGx5VHJ1bmNhdGlvblN0eWxlcygpfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMudG9vbHRpcC5wb3NpdGlvbj10aGlzLnBvc2l0aW9ufW5nT25EZXN0cm95KCl7dGhpcy50b29sdGlwLl9pc1Rvb2x0aXBWaXNpYmxlKCkmJnRoaXMuaGlkZVRvb2x0aXAoKSx0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9b2JzZXJ2ZU1vdXNlRXZlbnRzKCl7a2UodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIm1vdXNlZW50ZXIiKS5waXBlKE1lKCgoKT0+dGhpcy50b29sdGlwRW5hYmxlZCkpLE1lKCgoKT0+dGhpcy5pc092ZXJmbG93bih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkpKSxFZSgoKCk9PnRoaXMuc2hvd1Rvb2x0aXAoKSkpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKSxrZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwibW91c2VsZWF2ZSIpLnBpcGUoTWUoKCgpPT50aGlzLnRvb2x0aXBFbmFibGVkKSksTWUoKCgpPT50aGlzLnRvb2x0aXAuX2lzVG9vbHRpcFZpc2libGUoKSkpLEVlKCgoKT0+dGhpcy5oaWRlVG9vbHRpcCgpKSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgpfWFwcGx5VHJ1bmNhdGlvblN0eWxlcygpe3RoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIndoaXRlLXNwYWNlIiwibm93cmFwIiksdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwib3ZlcmZsb3ciLCJoaWRkZW4iKSx0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCJ0ZXh0LW92ZXJmbG93IiwiZWxsaXBzaXMiKX1pc092ZXJmbG93bihlKXtyZXR1cm4gZS5jbGllbnRXaWR0aDxlLnNjcm9sbFdpZHRofXNob3dUb29sdGlwKCl7dGhpcy50b29sdGlwLm1lc3NhZ2U9dGhpcy50ZXh0fHx0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5pbm5lclRleHQsdGhpcy50b29sdGlwLnNob3coKX1oaWRlVG9vbHRpcCgpe3RoaXMudG9vbHRpcC5oaWRlKCl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpTYSxkZXBzOlt7dG9rZW46dC5FbGVtZW50UmVmfSx7dG9rZW46dC5SZW5kZXJlcjJ9LHt0b2tlbjp6ZS5NYXRUb29sdGlwfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuRGlyZWN0aXZlfSl9c3RhdGlje3RoaXMuybVkaXI9dC7Jtcm1bmdEZWNsYXJlRGlyZWN0aXZlKHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpTYSxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6e3RleHQ6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0ZXh0Il0sdG9vbHRpcEVuYWJsZWQ6InRvb2x0aXBFbmFibGVkIixwb3NpdGlvbjoicG9zaXRpb24ifSxwcm92aWRlcnM6W1dlXSxuZ0ltcG9ydDp0fSl9fWUoIlRydW5jYXRlV2l0aFRvb2x0aXBEaXJlY3RpdmUiLFNhKSxIZShbTigpXSxTYS5wcm90b3R5cGUsInRvb2x0aXBFbmFibGVkIix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6U2EsZGVjb3JhdG9yczpbe3R5cGU6cyxhcmdzOlt7c2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixwcm92aWRlcnM6W1dlXSxzdGFuZGFsb25lOiEwfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOnQuRWxlbWVudFJlZn0se3R5cGU6dC5SZW5kZXJlcjJ9LHt0eXBlOnplLk1hdFRvb2x0aXB9XSxwcm9wRGVjb3JhdG9yczp7dGV4dDpbe3R5cGU6YSxhcmdzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIl19XSx0b29sdGlwRW5hYmxlZDpbe3R5cGU6YX1dLHBvc2l0aW9uOlt7dHlwZTphfV19fSk7Y2xhc3Mga2F7c2V0IGNoaXBzKGUpe2VlKHRoaXMuY2hpcHNWYWx1ZSxlKXx8KHRoaXMuY2hpcHNWYWx1ZT1lLHNldFRpbWVvdXQoKCgpPT57dGhpcy5hZGp1c3RDaGlwcygpfSksMCkpfWNvbnN0cnVjdG9yKGUsdCxuLGEpe3RoaXMuZWw9ZSx0aGlzLnJlbmRlcmVyPXQsdGhpcy50cmFuc2xhdGU9bix0aGlzLndpbmRvdz1hLHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCJtYXgtaGVpZ2h0IiwiNDhweCIpLHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCJvdmVyZmxvdyIsImF1dG8iKSxrZShhLCJyZXNpemUiKS5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5hZGp1c3RDaGlwcygpfSkpLHRoaXMub2JzZXJ2ZUludGVyc2VjdGlvbigpfW9ic2VydmVJbnRlcnNlY3Rpb24oKXt0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZT0+e2UuZm9yRWFjaCgoZT0+e2UuaXNJbnRlcnNlY3RpbmcmJnRoaXMuYWRqdXN0Q2hpcHMoKX0pKX0pKSx0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyLm9ic2VydmUodGhpcy5lbC5uYXRpdmVFbGVtZW50KX1hZGp1c3RDaGlwcygpe2NvbnN0IGU9dGhpcy5lbC5uYXRpdmVFbGVtZW50LHQ9dGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi5lbGxpcHNpcy1jaGlwIiksbj1wYXJzZUZsb2F0KHRoaXMud2luZG93LmdldENvbXB1dGVkU3R5bGUodCkubWFyZ2luTGVmdCl8fDAsYT1lLnF1ZXJ5U2VsZWN0b3JBbGwoIm1hdC1jaGlwOm5vdCguZWxsaXBzaXMtY2hpcCkiKTtpZih0aGlzLmNoaXBzVmFsdWUubGVuZ3RoPjEpe2NvbnN0IG89dGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi5lbGxpcHNpcy10ZXh0Iik7dGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0LCJkaXNwbGF5IiwiaW5saW5lLWZsZXgiKSxvLmlubmVySFRNTD10aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LmVsbGlwc2lzLWNoaXBzLXRleHQiLHtjb3VudDp0aGlzLmNoaXBzVmFsdWUubGVuZ3RofSk7Y29uc3QgaT1lLm9mZnNldFdpZHRoLSh0Lm9mZnNldFdpZHRoK24pO2xldCByPTAscz0wO2EuZm9yRWFjaCgoZT0+e3RoaXMucmVuZGVyZXIuc2V0U3R5bGUoZSwiZGlzcGxheSIsImlubGluZS1mbGV4Iik7Y29uc3QgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5tZGMtZXZvbHV0aW9uLWNoaXBfX3RleHQtbGFiZWwiKTt0aGlzLmFwcGx5TWF4Q2hpcFRleHRXaWR0aCh0LGkvMykscisoZS5vZmZzZXRXaWR0aCtuKTw9aSYmczx0aGlzLmNoaXBzVmFsdWUubGVuZ3RoPyhzKysscis9ZS5vZmZzZXRXaWR0aCtuKTp0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGUsImRpc3BsYXkiLCJub25lIil9KSksby5pbm5lckhUTUw9dGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5lbGxpcHNpcy1jaGlwcy10ZXh0Iix7Y291bnQ6dGhpcy5jaGlwc1ZhbHVlLmxlbmd0aC1zfSkscz09PXRoaXMuY2hpcHNWYWx1ZT8ubGVuZ3RoJiZ0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHQsImRpc3BsYXkiLCJub25lIil9ZWxzZSBpZigxPT09dGhpcy5jaGlwc1ZhbHVlLmxlbmd0aCl7Y29uc3Qgbz1hWzBdLnF1ZXJ5U2VsZWN0b3IoIi5tZGMtZXZvbHV0aW9uLWNoaXBfX2FjdGlvbiIpLGk9by5xdWVyeVNlbGVjdG9yKCIubWRjLWV2b2x1dGlvbi1jaGlwX190ZXh0LWxhYmVsIikscj1wYXJzZUZsb2F0KHRoaXMud2luZG93LmdldENvbXB1dGVkU3R5bGUobykucGFkZGluZ0xlZnQpfHwwLHM9cGFyc2VGbG9hdCh0aGlzLndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG8pLnBhZGRpbmdSaWdodCl8fDAsbD1lLm9mZnNldFdpZHRoLW4tKHIrcyk7dGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0LCJkaXNwbGF5Iiwibm9uZSIpLHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoYVswXSwiZGlzcGxheSIsImlubGluZS1mbGV4IiksdGhpcy5hcHBseU1heENoaXBUZXh0V2lkdGgoaSxsKX1lbHNlIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodCwiZGlzcGxheSIsIm5vbmUiKX1hcHBseU1heENoaXBUZXh0V2lkdGgoZSx0KXt0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGUsIm1heC13aWR0aCIsdCsicHgiKSx0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGUsIm92ZXJmbG93IiwiaGlkZGVuIiksdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlLCJ0ZXh0LW92ZXJmbG93IiwiZWxsaXBzaXMiKSx0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGUsIndoaXRlLXNwYWNlIiwibm93cmFwIil9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCksdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlci5kaXNjb25uZWN0KCl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTprYSxkZXBzOlt7dG9rZW46dC5FbGVtZW50UmVmfSx7dG9rZW46dC5SZW5kZXJlcjJ9LHt0b2tlbjpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0b2tlbjphZX1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkRpcmVjdGl2ZX0pfXN0YXRpY3t0aGlzLsm1ZGlyPXQuybXJtW5nRGVjbGFyZURpcmVjdGl2ZSh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6a2EsaXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJbdGItZWxsaXBzaXMtY2hpcC1saXN0XSIsaW5wdXRzOntjaGlwczpbInRiLWVsbGlwc2lzLWNoaXAtbGlzdCIsImNoaXBzIl19LG5nSW1wb3J0OnR9KX19ZSgiRWxsaXBzaXNDaGlwTGlzdERpcmVjdGl2ZSIsa2EpLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6a2EsZGVjb3JhdG9yczpbe3R5cGU6cyxhcmdzOlt7c2VsZWN0b3I6Ilt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdIixzdGFuZGFsb25lOiEwfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOnQuRWxlbWVudFJlZn0se3R5cGU6dC5SZW5kZXJlcjJ9LHt0eXBlOlkuVHJhbnNsYXRlU2VydmljZX0se3R5cGU6V2luZG93LGRlY29yYXRvcnM6W3t0eXBlOnAsYXJnczpbYWVdfV19XSxwcm9wRGVjb3JhdG9yczp7Y2hpcHM6W3t0eXBlOmEsYXJnczpbInRiLWVsbGlwc2lzLWNoaXAtbGlzdCJdfV19fSk7Y2xhc3MgTGF7Y29uc3RydWN0b3IoZSx0LG4sYSl7dGhpcy5hdHRyaWJ1dGVTZXJ2aWNlPWUsdGhpcy50ZWxlbWV0cnlXc1NlcnZpY2U9dCx0aGlzLnpvbmU9bix0aGlzLnRyYW5zbGF0ZT1hLHRoaXMuYXR0cmlidXRlc1N1YmplY3Q9bmV3IExlKFtdKSx0aGlzLnBhZ2VEYXRhU3ViamVjdD1uZXcgTGUoTSgpKSx0aGlzLnBhZ2VEYXRhJD10aGlzLnBhZ2VEYXRhU3ViamVjdC5hc09ic2VydmFibGUoKSx0aGlzLnNlbGVjdGlvbj1uZXcgamUoITAsW10pfWNvbm5lY3QoZSl7cmV0dXJuIHRoaXMuYXR0cmlidXRlc1N1YmplY3QuYXNPYnNlcnZhYmxlKCl9ZGlzY29ubmVjdChlKXt0aGlzLmF0dHJpYnV0ZXNTdWJqZWN0LmNvbXBsZXRlKCksdGhpcy5wYWdlRGF0YVN1YmplY3QuY29tcGxldGUoKSx0aGlzLnRlbGVtZXRyeVN1YnNjcmliZXImJih0aGlzLnRlbGVtZXRyeVN1YnNjcmliZXIudW5zdWJzY3JpYmUoKSx0aGlzLnRlbGVtZXRyeVN1YnNjcmliZXI9bnVsbCl9bG9hZEF0dHJpYnV0ZXMoZSx0LG4sYT0hMSl7YSYmKHRoaXMuYWxsQXR0cmlidXRlcz1udWxsLHRoaXMudGVsZW1ldHJ5U3Vic2NyaWJlciYmKHRoaXMudGVsZW1ldHJ5U3Vic2NyaWJlci51bnN1YnNjcmliZSgpLHRoaXMudGVsZW1ldHJ5U3Vic2NyaWJlcj1udWxsKSksdGhpcy5zZWxlY3Rpb24uY2xlYXIoKTtjb25zdCBvPW5ldyBGZTtyZXR1cm4gdGhpcy5mZXRjaEF0dHJpYnV0ZXMoZSx0LG4pLnBpcGUocWUoKCgpPT5JZShNKCkpKSkpLnN1YnNjcmliZSgoZT0+e3RoaXMuYXR0cmlidXRlc1N1YmplY3QubmV4dChlLmRhdGEpLHRoaXMucGFnZURhdGFTdWJqZWN0Lm5leHQoZSksby5uZXh0KGUpfSkpLG99ZmV0Y2hBdHRyaWJ1dGVzKGUsdCxuKXtyZXR1cm4gdGhpcy5nZXRBbGxBdHRyaWJ1dGVzKGUsdCkucGlwZShEZSgoZT0+e2NvbnN0IHQ9ZS5maWx0ZXIoKGU9PjAhPT1lLmxhc3RVcGRhdGVUcykpO3JldHVybiBuLmZpbHRlckRhdGEodCl9KSkpfWdldEFsbEF0dHJpYnV0ZXMoZSx0KXtpZighdGhpcy5hbGxBdHRyaWJ1dGVzKXtsZXQgbjtFLmdldCh0KT8odGhpcy50ZWxlbWV0cnlTdWJzY3JpYmVyPXEuY3JlYXRlRW50aXR5QXR0cmlidXRlc1N1YnNjcmlwdGlvbih0aGlzLnRlbGVtZXRyeVdzU2VydmljZSxlLHQsdGhpcy56b25lKSx0aGlzLnRlbGVtZXRyeVN1YnNjcmliZXIuc3Vic2NyaWJlKCksbj10aGlzLnRlbGVtZXRyeVN1YnNjcmliZXIuYXR0cmlidXRlRGF0YSQoKSk6bj10aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0RW50aXR5QXR0cmlidXRlcyhlLHQpLHRoaXMuYWxsQXR0cmlidXRlcz1uLnBpcGUoUGUoMSksR2UoKSl9cmV0dXJuIHRoaXMuYWxsQXR0cmlidXRlc31pc0FsbFNlbGVjdGVkKCl7Y29uc3QgZT10aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGg7cmV0dXJuIHRoaXMuYXR0cmlidXRlc1N1YmplY3QucGlwZShEZSgodD0+ZT09PXQubGVuZ3RoKSkpfWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5hdHRyaWJ1dGVzU3ViamVjdC5waXBlKERlKChlPT4hZS5sZW5ndGgpKSl9dG90YWwoKXtyZXR1cm4gdGhpcy5wYWdlRGF0YVN1YmplY3QucGlwZShEZSgoZT0+ZS50b3RhbEVsZW1lbnRzKSkpfW1hc3RlclRvZ2dsZSgpe3RoaXMuYXR0cmlidXRlc1N1YmplY3QucGlwZShFZSgoZT0+e3RoaXMuc2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aD09PWUubGVuZ3RoP3RoaXMuc2VsZWN0aW9uLmNsZWFyKCk6ZS5mb3JFYWNoKChlPT57dGhpcy5zZWxlY3Rpb24uc2VsZWN0KGUpfSkpfSkpLE9lKDEpKS5zdWJzY3JpYmUoKX19ZSgiQXR0cmlidXRlRGF0YXNvdXJjZSIsTGEpO2NsYXNzIEZhe2NvbnN0cnVjdG9yKGUpe3RoaXMuYXR0cmlidXRlU2VydmljZT1lLHRoaXMuc2F2ZVRlbXBsYXRlPW5ldyBpLHRoaXMudXNlVGVtcGxhdGU9bmV3IGksdGhpcy5vcmlnaW5hbE9yZGVyPSgpPT4wLHRoaXMuaXNPYmplY3Q9ZT0+b2UoZSksdGhpcy5pc0FycmF5PWU9PkFycmF5LmlzQXJyYXkoZSksdGhpcy5TTk1QTWV0aG9kc1RyYW5zbGF0aW9ucz10bn1uZ09uSW5pdCgpe31hcHBseVRlbXBsYXRlKGUsdCl7ZS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLnVzZVRlbXBsYXRlLmVtaXQodCl9ZGVsZXRlVGVtcGxhdGUoZSx0KXtlLnN0b3BQcm9wYWdhdGlvbigpO2NvbnN0IG49dGhpcy5ycGNUZW1wbGF0ZXMuZmluZEluZGV4KChlPT5lLm5hbWU9PXQubmFtZSkpO3RoaXMucnBjVGVtcGxhdGVzLnNwbGljZShuLDEpO2NvbnN0IGE9YCR7dGhpcy5jb25uZWN0b3JUeXBlfV90ZW1wbGF0ZWA7dGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNhdmVFbnRpdHlBdHRyaWJ1dGVzKHtpZDp0aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLnRhcmdldERldmljZUlkLGVudGl0eVR5cGU6SS5ERVZJQ0V9LEwuU0VSVkVSX1NDT1BFLFt7a2V5OmEsdmFsdWU6dGhpcy5ycGNUZW1wbGF0ZXN9XSkuc3Vic2NyaWJlKCgoKT0+e30pKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkZhLGRlcHM6W3t0b2tlbjpYLkF0dHJpYnV0ZVNlcnZpY2V9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOkZhLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LXNlcnZpY2UtcnBjLWNvbm5lY3Rvci10ZW1wbGF0ZXMiLGlucHV0czp7Y29ubmVjdG9yVHlwZToiY29ubmVjdG9yVHlwZSIsY3R4OiJjdHgiLHJwY1RlbXBsYXRlczoicnBjVGVtcGxhdGVzIn0sb3V0cHV0czp7c2F2ZVRlbXBsYXRlOiJzYXZlVGVtcGxhdGUiLHVzZVRlbXBsYXRlOiJ1c2VUZW1wbGF0ZSJ9LG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJtYXQtc3VidGl0bGUtMSB0aXRsZSI+e3sgXCdnYXRld2F5LnJwYy50ZW1wbGF0ZXMtdGl0bGVcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuPG1hdC1leHBhbnNpb24tcGFuZWwgaGlkZVRvZ2dsZSAqbmdGb3I9ImxldCB0ZW1wbGF0ZSBvZiBycGNUZW1wbGF0ZXMiPlxuICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgPG1hdC1wYW5lbC10aXRsZSBjbGFzcz0idGVtcGxhdGUtbmFtZSI+XG4gICAgICA8c3BhbiBtYXRUb29sdGlwPSJ7e3RlbXBsYXRlLm5hbWV9fSIgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+e3t0ZW1wbGF0ZS5uYW1lfX08L3NwYW4+XG4gICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgPG1hdC1wYW5lbC1kZXNjcmlwdGlvbj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIG1hdFRvb2x0aXA9IkRlbGV0ZSIgKGNsaWNrKT0iZGVsZXRlVGVtcGxhdGUoJGV2ZW50LCB0ZW1wbGF0ZSkiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRUb29sdGlwPSJVc2UiIChjbGljayk9ImFwcGx5VGVtcGxhdGUoJGV2ZW50LCB0ZW1wbGF0ZSkiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5wbGF5X2Fycm93PC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LXBhbmVsLWRlc2NyaXB0aW9uPlxuICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuXG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdGb3I9ImxldCBjb25maWcgb2YgdGVtcGxhdGUuY29uZmlnIHwga2V5VmFsdWVJc05vdEVtcHR5IlxuICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT0iUlBDVGVtcGxhdGVSZWYiXG4gICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT0ieyAkaW1wbGljaXQ6IGNvbmZpZywgaW5uZXJWYWx1ZTogZmFsc2UgfSI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI1JQQ1RlbXBsYXRlUmVmIGxldC1jb25maWcgbGV0LWlubmVyVmFsdWU9XCdpbm5lclZhbHVlXCc+XG4gICAgPGRpdiBbZnhMYXlvdXRdPSJpc09iamVjdChjb25maWcudmFsdWUpID8gXCdjb2x1bW5cJzogXCdyb3dcJyJcbiAgICAgICAgIFtmeExheW91dEFsaWduXT0iIWlzT2JqZWN0KGNvbmZpZy52YWx1ZSkgPyBcJ3NwYWNlLWJldHdlZW4gY2VudGVyXCcgOiBcJ1wnIlxuICAgICAgICAgW25nU3R5bGVdPSJ7XCdwYWRkaW5nLWxlZnRcJzogaW5uZXJWYWx1ZSA/IFwnMTZweFwnOiBcJzBcJ30iXG4gICAgICAgICBjbGFzcz0icnBjLXBhcmFtcy1yb3ciPlxuICAgICAgPGRpdiBjbGFzcz0idGVtcGxhdGUta2V5Ij5cbiAgICAgICAge3shaW5uZXJWYWx1ZSA/IChcJ2dhdGV3YXkucnBjLlwnICsgY29uZmlnLmtleSB8IHRyYW5zbGF0ZSkgOiBjb25maWcua2V5fX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj0iaXNBcnJheShjb25maWcudmFsdWUpIiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgY2xhc3M9ImFycmF5LXZhbHVlIj5cbiAgICAgICAge3sgY29uZmlnLnZhbHVlIHwgZ2V0UnBjVGVtcGxhdGVBcnJheVZpZXcgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iaXNPYmplY3QoY29uZmlnLnZhbHVlKSIgW25nVGVtcGxhdGVPdXRsZXRdPSJSUENPYmplY3RSb3ciPjwvbmctY29udGFpbmVyPlxuICAgICAgPGRpdiAqbmdJZj0iIWlzT2JqZWN0KGNvbmZpZy52YWx1ZSkgJiYgIWlzQXJyYXkoY29uZmlnLnZhbHVlKSJcbiAgICAgICAgICAgW25nQ2xhc3NdPSJ7XCdib29sZWFuLXRydWVcJzogY29uZmlnLnZhbHVlID09PSB0cnVlLFxuICAgICAgICAgICAgICAgICAgIFwnYm9vbGVhbi1mYWxzZVwnOiBjb25maWcudmFsdWUgPT09IGZhbHNlICB9Ij5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iY29uZmlnLmtleSA9PT0gXCdtZXRob2RcJyBlbHNlIHZhbHVlIiBbbmdUZW1wbGF0ZU91dGxldF09IlNOTVBNZXRob2QiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctdGVtcGxhdGUgI3ZhbHVlPnt7IGNvbmZpZy52YWx1ZSB9fTwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgI1NOTVBNZXRob2Q+e3sgU05NUE1ldGhvZHNUcmFuc2xhdGlvbnMuZ2V0KGNvbmZpZy52YWx1ZSkgfCB0cmFuc2xhdGUgfX08L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlICNSUENPYmplY3RSb3c+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdGb3I9ImxldCBzdWJDb25maWcgb2YgY29uZmlnLnZhbHVlIHwga2V5dmFsdWUgOiBvcmlnaW5hbE9yZGVyIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT0iUlBDVGVtcGxhdGVSZWYiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT0ieyAkaW1wbGljaXQ6IHN1YkNvbmZpZywgaW5uZXJWYWx1ZTogdHJ1ZSB9Ij5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwYWRkaW5nOjB9Omhvc3QgLnRpdGxle2ZvbnQtd2VpZ2h0OjUwMH06aG9zdCAudGVtcGxhdGUta2V5e2NvbG9yOiMwMDAwMDA2MTtoZWlnaHQ6MzJweDtsaW5lLWhlaWdodDozMnB4fTpob3N0IC5ib29sZWFuLXRydWUsOmhvc3QgLmJvb2xlYW4tZmFsc2V7Ym9yZGVyLXJhZGl1czozcHg7aGVpZ2h0OjMycHg7bGluZS1oZWlnaHQ6MzJweDtwYWRkaW5nOjAgMTJweDt3aWR0aDpmaXQtY29udGVudDtmb250LXNpemU6MTRweDt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplfTpob3N0IC5ib29sZWFuLWZhbHNle2NvbG9yOiNkMTI3MzA7YmFja2dyb3VuZC1jb2xvcjojZDEyNzMwMTR9Omhvc3QgLmJvb2xlYW4tdHJ1ZXtjb2xvcjojMTk4MDM4O2JhY2tncm91bmQtY29sb3I6IzE5ODAzODE0fTpob3N0IG1hdC1leHBhbnNpb24tcGFuZWx7bWFyZ2luLXRvcDoxMHB4O292ZXJmbG93OnZpc2libGV9Omhvc3QgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9ue2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tcmlnaHQ6MDtmbGV4OjB9Omhvc3QgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9uPm1hdC1pY29ue21hcmdpbi1sZWZ0OjE1cHg7Y29sb3I6IzAwMDAwMDYxfTpob3N0IC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcntwYWRkaW5nOjAgMCAwIDEycHh9Omhvc3QgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLm1hdC1leHBhbmRlZHtoZWlnaHQ6NDhweH06aG9zdCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgLm1hdC1jb250ZW50Lm1hdC1jb250ZW50LWhpZGUtdG9nZ2xle21hcmdpbi1yaWdodDowfTpob3N0IC5ycGMtcGFyYW1zLXJvd3tvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwfTpob3N0IC5ycGMtcGFyYW1zLXJvdyA6bm90KDpmaXJzdC1jaGlsZCl7d2hpdGUtc3BhY2U6cHJlO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfTpob3N0IC50ZW1wbGF0ZS1uYW1le292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2t9Omhvc3QgOjpuZy1kZWVwIC5tYXQtY29udGVudHthbGlnbi1pdGVtczpjZW50ZXJ9Omhvc3QgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRpdGxle2ZsZXg6MTttYXJnaW46MH06aG9zdCAuYXJyYXktdmFsdWV7bWFyZ2luLWxlZnQ6MTBweH1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nQ2xhc3Msc2VsZWN0b3I6IltuZ0NsYXNzXSIsaW5wdXRzOlsiY2xhc3MiLCJuZ0NsYXNzIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdUZW1wbGF0ZU91dGxldCxzZWxlY3RvcjoiW25nVGVtcGxhdGVPdXRsZXRdIixpbnB1dHM6WyJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCIsIm5nVGVtcGxhdGVPdXRsZXQiLCJuZ1RlbXBsYXRlT3V0bGV0SW5qZWN0b3IiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3R5bGUsc2VsZWN0b3I6IltuZ1N0eWxlXSIsaW5wdXRzOlsibmdTdHlsZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbCxzZWxlY3RvcjoibWF0LWV4cGFuc2lvbi1wYW5lbCIsaW5wdXRzOlsiaGlkZVRvZ2dsZSIsInRvZ2dsZVBvc2l0aW9uIl0sb3V0cHV0czpbImFmdGVyRXhwYW5kIiwiYWZ0ZXJDb2xsYXBzZSJdLGV4cG9ydEFzOlsibWF0RXhwYW5zaW9uUGFuZWwiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbEhlYWRlcixzZWxlY3RvcjoibWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIiLGlucHV0czpbImV4cGFuZGVkSGVpZ2h0IiwiY29sbGFwc2VkSGVpZ2h0IiwidGFiSW5kZXgiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbFRpdGxlLHNlbGVjdG9yOiJtYXQtcGFuZWwtdGl0bGUifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsRGVzY3JpcHRpb24sc2VsZWN0b3I6Im1hdC1wYW5lbC1kZXNjcmlwdGlvbiJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRBbGlnbkRpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRBbGlnbl0sIFtmeExheW91dEFsaWduLnhzXSwgW2Z4TGF5b3V0QWxpZ24uc21dLCBbZnhMYXlvdXRBbGlnbi5tZF0sICBbZnhMYXlvdXRBbGlnbi5sZ10sIFtmeExheW91dEFsaWduLnhsXSwgW2Z4TGF5b3V0QWxpZ24ubHQtc21dLCBbZnhMYXlvdXRBbGlnbi5sdC1tZF0sICBbZnhMYXlvdXRBbGlnbi5sdC1sZ10sIFtmeExheW91dEFsaWduLmx0LXhsXSwgW2Z4TGF5b3V0QWxpZ24uZ3QteHNdLCBbZnhMYXlvdXRBbGlnbi5ndC1zbV0sICBbZnhMYXlvdXRBbGlnbi5ndC1tZF0sIFtmeExheW91dEFsaWduLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRBbGlnbiIsImZ4TGF5b3V0QWxpZ24ueHMiLCJmeExheW91dEFsaWduLnNtIiwiZnhMYXlvdXRBbGlnbi5tZCIsImZ4TGF5b3V0QWxpZ24ubGciLCJmeExheW91dEFsaWduLnhsIiwiZnhMYXlvdXRBbGlnbi5sdC1zbSIsImZ4TGF5b3V0QWxpZ24ubHQtbWQiLCJmeExheW91dEFsaWduLmx0LWxnIiwiZnhMYXlvdXRBbGlnbi5sdC14bCIsImZ4TGF5b3V0QWxpZ24uZ3QteHMiLCJmeExheW91dEFsaWduLmd0LXNtIiwiZnhMYXlvdXRBbGlnbi5ndC1tZCIsImZ4TGF5b3V0QWxpZ24uZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRDbGFzc0RpcmVjdGl2ZSxzZWxlY3RvcjoiICBbbmdDbGFzc10sIFtuZ0NsYXNzLnhzXSwgW25nQ2xhc3Muc21dLCBbbmdDbGFzcy5tZF0sIFtuZ0NsYXNzLmxnXSwgW25nQ2xhc3MueGxdLCAgW25nQ2xhc3MubHQtc21dLCBbbmdDbGFzcy5sdC1tZF0sIFtuZ0NsYXNzLmx0LWxnXSwgW25nQ2xhc3MubHQteGxdLCAgW25nQ2xhc3MuZ3QteHNdLCBbbmdDbGFzcy5ndC1zbV0sIFtuZ0NsYXNzLmd0LW1kXSwgW25nQ2xhc3MuZ3QtbGddIixpbnB1dHM6WyJuZ0NsYXNzIiwibmdDbGFzcy54cyIsIm5nQ2xhc3Muc20iLCJuZ0NsYXNzLm1kIiwibmdDbGFzcy5sZyIsIm5nQ2xhc3MueGwiLCJuZ0NsYXNzLmx0LXNtIiwibmdDbGFzcy5sdC1tZCIsIm5nQ2xhc3MubHQtbGciLCJuZ0NsYXNzLmx0LXhsIiwibmdDbGFzcy5ndC14cyIsIm5nQ2xhc3MuZ3Qtc20iLCJuZ0NsYXNzLmd0LW1kIiwibmdDbGFzcy5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOksuRGVmYXVsdFN0eWxlRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtuZ1N0eWxlXSwgIFtuZ1N0eWxlLnhzXSwgW25nU3R5bGUuc21dLCBbbmdTdHlsZS5tZF0sIFtuZ1N0eWxlLmxnXSwgW25nU3R5bGUueGxdLCAgW25nU3R5bGUubHQtc21dLCBbbmdTdHlsZS5sdC1tZF0sIFtuZ1N0eWxlLmx0LWxnXSwgW25nU3R5bGUubHQteGxdLCAgW25nU3R5bGUuZ3QteHNdLCBbbmdTdHlsZS5ndC1zbV0sIFtuZ1N0eWxlLmd0LW1kXSwgW25nU3R5bGUuZ3QtbGddIixpbnB1dHM6WyJuZ1N0eWxlIiwibmdTdHlsZS54cyIsIm5nU3R5bGUuc20iLCJuZ1N0eWxlLm1kIiwibmdTdHlsZS5sZyIsIm5nU3R5bGUueGwiLCJuZ1N0eWxlLmx0LXNtIiwibmdTdHlsZS5sdC1tZCIsIm5nU3R5bGUubHQtbGciLCJuZ1N0eWxlLmx0LXhsIiwibmdTdHlsZS5ndC14cyIsIm5nU3R5bGUuZ3Qtc20iLCJuZ1N0eWxlLmd0LW1kIiwibmdTdHlsZS5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlllLlRydW5jYXRlV2l0aFRvb2x0aXBEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0b29sdGlwRW5hYmxlZCIsInBvc2l0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6U2Esc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0b29sdGlwRW5hYmxlZCIsInBvc2l0aW9uIl19LHtraW5kOiJwaXBlIix0eXBlOl8uS2V5VmFsdWVQaXBlLG5hbWU6ImtleXZhbHVlIn0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJwaXBlIix0eXBlOkNhLG5hbWU6ImdldFJwY1RlbXBsYXRlQXJyYXlWaWV3In1dfSl9fWUoIkdhdGV3YXlTZXJ2aWNlUlBDQ29ubmVjdG9yVGVtcGxhdGVzQ29tcG9uZW50IixGYSksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpGYSxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItZ2F0ZXdheS1zZXJ2aWNlLXJwYy1jb25uZWN0b3ItdGVtcGxhdGVzIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9Im1hdC1zdWJ0aXRsZS0xIHRpdGxlIj57eyBcJ2dhdGV3YXkucnBjLnRlbXBsYXRlcy10aXRsZVwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG48bWF0LWV4cGFuc2lvbi1wYW5lbCBoaWRlVG9nZ2xlICpuZ0Zvcj0ibGV0IHRlbXBsYXRlIG9mIHJwY1RlbXBsYXRlcyI+XG4gIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICA8bWF0LXBhbmVsLXRpdGxlIGNsYXNzPSJ0ZW1wbGF0ZS1uYW1lIj5cbiAgICAgIDxzcGFuIG1hdFRvb2x0aXA9Int7dGVtcGxhdGUubmFtZX19IiBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj57e3RlbXBsYXRlLm5hbWV9fTwvc3Bhbj5cbiAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICA8bWF0LXBhbmVsLWRlc2NyaXB0aW9uPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gbWF0VG9vbHRpcD0iRGVsZXRlIiAoY2xpY2spPSJkZWxldGVUZW1wbGF0ZSgkZXZlbnQsIHRlbXBsYXRlKSI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIG1hdFRvb2x0aXA9IlVzZSIgKGNsaWNrKT0iYXBwbHlUZW1wbGF0ZSgkZXZlbnQsIHRlbXBsYXRlKSI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPnBsYXlfYXJyb3c8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9tYXQtcGFuZWwtZGVzY3JpcHRpb24+XG4gIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0Zvcj0ibGV0IGNvbmZpZyBvZiB0ZW1wbGF0ZS5jb25maWcgfCBrZXlWYWx1ZUlzTm90RW1wdHkiXG4gICAgW25nVGVtcGxhdGVPdXRsZXRdPSJSUENUZW1wbGF0ZVJlZiJcbiAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPSJ7ICRpbXBsaWNpdDogY29uZmlnLCBpbm5lclZhbHVlOiBmYWxzZSB9Ij5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjUlBDVGVtcGxhdGVSZWYgbGV0LWNvbmZpZyBsZXQtaW5uZXJWYWx1ZT1cJ2lubmVyVmFsdWVcJz5cbiAgICA8ZGl2IFtmeExheW91dF09ImlzT2JqZWN0KGNvbmZpZy52YWx1ZSkgPyBcJ2NvbHVtblwnOiBcJ3Jvd1wnIlxuICAgICAgICAgW2Z4TGF5b3V0QWxpZ25dPSIhaXNPYmplY3QoY29uZmlnLnZhbHVlKSA/IFwnc3BhY2UtYmV0d2VlbiBjZW50ZXJcJyA6IFwnXCciXG4gICAgICAgICBbbmdTdHlsZV09IntcJ3BhZGRpbmctbGVmdFwnOiBpbm5lclZhbHVlID8gXCcxNnB4XCc6IFwnMFwnfSJcbiAgICAgICAgIGNsYXNzPSJycGMtcGFyYW1zLXJvdyI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0ZW1wbGF0ZS1rZXkiPlxuICAgICAgICB7eyFpbm5lclZhbHVlID8gKFwnZ2F0ZXdheS5ycGMuXCcgKyBjb25maWcua2V5IHwgdHJhbnNsYXRlKSA6IGNvbmZpZy5rZXl9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPSJpc0FycmF5KGNvbmZpZy52YWx1ZSkiIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCBjbGFzcz0iYXJyYXktdmFsdWUiPlxuICAgICAgICB7eyBjb25maWcudmFsdWUgfCBnZXRScGNUZW1wbGF0ZUFycmF5VmlldyB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJpc09iamVjdChjb25maWcudmFsdWUpIiBbbmdUZW1wbGF0ZU91dGxldF09IlJQQ09iamVjdFJvdyI+PC9uZy1jb250YWluZXI+XG4gICAgICA8ZGl2ICpuZ0lmPSIhaXNPYmplY3QoY29uZmlnLnZhbHVlKSAmJiAhaXNBcnJheShjb25maWcudmFsdWUpIlxuICAgICAgICAgICBbbmdDbGFzc109IntcJ2Jvb2xlYW4tdHJ1ZVwnOiBjb25maWcudmFsdWUgPT09IHRydWUsXG4gICAgICAgICAgICAgICAgICAgXCdib29sZWFuLWZhbHNlXCc6IGNvbmZpZy52YWx1ZSA9PT0gZmFsc2UgIH0iPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJjb25maWcua2V5ID09PSBcJ21ldGhvZFwnIGVsc2UgdmFsdWUiIFtuZ1RlbXBsYXRlT3V0bGV0XT0iU05NUE1ldGhvZCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjdmFsdWU+e3sgY29uZmlnLnZhbHVlIH19PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjU05NUE1ldGhvZD57eyBTTk1QTWV0aG9kc1RyYW5zbGF0aW9ucy5nZXQoY29uZmlnLnZhbHVlKSB8IHRyYW5zbGF0ZSB9fTwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgI1JQQ09iamVjdFJvdz5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0Zvcj0ibGV0IHN1YkNvbmZpZyBvZiBjb25maWcudmFsdWUgfCBrZXl2YWx1ZSA6IG9yaWdpbmFsT3JkZXIiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPSJSUENUZW1wbGF0ZVJlZiJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPSJ7ICRpbXBsaWNpdDogc3ViQ29uZmlnLCBpbm5lclZhbHVlOiB0cnVlIH0iPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L21hdC1leHBhbnNpb24tcGFuZWw+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MH06aG9zdCAudGl0bGV7Zm9udC13ZWlnaHQ6NTAwfTpob3N0IC50ZW1wbGF0ZS1rZXl7Y29sb3I6IzAwMDAwMDYxO2hlaWdodDozMnB4O2xpbmUtaGVpZ2h0OjMycHh9Omhvc3QgLmJvb2xlYW4tdHJ1ZSw6aG9zdCAuYm9vbGVhbi1mYWxzZXtib3JkZXItcmFkaXVzOjNweDtoZWlnaHQ6MzJweDtsaW5lLWhlaWdodDozMnB4O3BhZGRpbmc6MCAxMnB4O3dpZHRoOmZpdC1jb250ZW50O2ZvbnQtc2l6ZToxNHB4O3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemV9Omhvc3QgLmJvb2xlYW4tZmFsc2V7Y29sb3I6I2QxMjczMDtiYWNrZ3JvdW5kLWNvbG9yOiNkMTI3MzAxNH06aG9zdCAuYm9vbGVhbi10cnVle2NvbG9yOiMxOTgwMzg7YmFja2dyb3VuZC1jb2xvcjojMTk4MDM4MTR9Omhvc3QgbWF0LWV4cGFuc2lvbi1wYW5lbHttYXJnaW4tdG9wOjEwcHg7b3ZlcmZsb3c6dmlzaWJsZX06aG9zdCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb257ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2U7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbi1yaWdodDowO2ZsZXg6MH06aG9zdCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24+bWF0LWljb257bWFyZ2luLWxlZnQ6MTVweDtjb2xvcjojMDAwMDAwNjF9Omhvc3QgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVye3BhZGRpbmc6MCAwIDAgMTJweH06aG9zdCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIubWF0LWV4cGFuZGVke2hlaWdodDo0OHB4fTpob3N0IC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciAubWF0LWNvbnRlbnQubWF0LWNvbnRlbnQtaGlkZS10b2dnbGV7bWFyZ2luLXJpZ2h0OjB9Omhvc3QgLnJwYy1wYXJhbXMtcm93e292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXB9Omhvc3QgLnJwYy1wYXJhbXMtcm93IDpub3QoOmZpcnN0LWNoaWxkKXt3aGl0ZS1zcGFjZTpwcmU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Omhvc3QgLnRlbXBsYXRlLW5hbWV7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9ja306aG9zdCA6Om5nLWRlZXAgLm1hdC1jb250ZW50e2FsaWduLWl0ZW1zOmNlbnRlcn06aG9zdCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGV7ZmxleDoxO21hcmdpbjowfTpob3N0IC5hcnJheS12YWx1ZXttYXJnaW4tbGVmdDoxMHB4fVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6WC5BdHRyaWJ1dGVTZXJ2aWNlfV0scHJvcERlY29yYXRvcnM6e2Nvbm5lY3RvclR5cGU6W3t0eXBlOmF9XSxjdHg6W3t0eXBlOmF9XSxzYXZlVGVtcGxhdGU6W3t0eXBlOmx9XSx1c2VUZW1wbGF0ZTpbe3R5cGU6bH1dLHJwY1RlbXBsYXRlczpbe3R5cGU6YX1dfX0pO2NsYXNzIElhe2NvbnN0cnVjdG9yKGUpe3RoaXMuZmI9ZSx0aGlzLkJyb2tlclNlY3VyaXR5VHlwZT1kbix0aGlzLnNlY3VyaXR5VHlwZXM9T2JqZWN0LnZhbHVlcyhkbiksdGhpcy5TZWN1cml0eVR5cGVUcmFuc2xhdGlvbnNNYXA9dW4sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5wcm9wYWdhdGVDaGFuZ2U9ZT0+e30sdGhpcy5zZWN1cml0eUZvcm1Hcm91cD10aGlzLmZiLmdyb3VwKHt0eXBlOltkbi5BTk9OWU1PVVMsW11dLHVzZXJuYW1lOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxwYXNzd29yZDpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV19KSx0aGlzLm9ic2VydmVTZWN1cml0eUZvcm0oKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMucHJvcGFnYXRlQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7fXdyaXRlVmFsdWUoZSl7ZS50eXBlfHwoZS50eXBlPWRuLkFOT05ZTU9VUyksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC5yZXNldChlKSx0aGlzLnVwZGF0ZVZpZXcoZSl9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5zZWN1cml0eUZvcm1Hcm91cC52YWxpZD9udWxsOntzZWN1cml0eUZvcm06e3ZhbGlkOiExfX19dXBkYXRlVmlldyhlKXt0aGlzLnByb3BhZ2F0ZUNoYW5nZShlKX11cGRhdGVWYWxpZGF0b3JzKGUpe2U9PT1kbi5CQVNJQz8odGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoInVzZXJuYW1lIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgicGFzc3dvcmQiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pKToodGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoInVzZXJuYW1lIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoInBhc3N3b3JkIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpfW9ic2VydmVTZWN1cml0eUZvcm0oKXt0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9PnRoaXMudXBkYXRlVmlldyhlKSkpLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+dGhpcy51cGRhdGVWYWxpZGF0b3JzKGUpKSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpJYSxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOklhLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHkiLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PklhKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5JYSkpLG11bHRpOiEwfV0sbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gc2FtZS1wYWRkaW5nIHRiLWZsZXggY29sdW1uIiBbZm9ybUdyb3VwXT0ic2VjdXJpdHlGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHJvdyBzcGFjZS1iZXR3ZWVuIGFsaWduLWNlbnRlciBuby1nYXAgZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZmllbGRzLWxhYmVsIiB0cmFuc2xhdGU+Z2F0ZXdheS5zZWN1cml0eTwvZGl2PlxuICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNlY3VyaXR5VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICB7eyBTZWN1cml0eVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj0ic2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gQnJva2VyU2VjdXJpdHlUeXBlLkJBU0lDIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudXNlcm5hbWU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idXNlcm5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnVzZXJuYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndXNlcm5hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJiBzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd1c2VybmFtZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucGFzc3dvcmQ8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhc3N3b3JkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5wYXNzd29yZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8ZGl2IFtjbGFzcy5oaWRlLXRvZ2dsZV09InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiIG1hdFN1ZmZpeD5cbiAgICAgICAgICAgIDx0Yi10b2dnbGUtcGFzc3dvcmQgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0Ij48L3RiLXRvZ2dsZS1wYXNzd29yZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjEwcHh9Omhvc3QgLmZpZWxkcy1sYWJlbHtmb250LXdlaWdodDo1MDB9Omhvc3QgLmhpZGUtdG9nZ2xle2Rpc3BsYXk6bm9uZX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp0dC5Ub2dnbGVQYXNzd29yZENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXBhc3N3b3JkIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpudC5Ub2dnbGVPcHRpb24sc2VsZWN0b3I6InRiLXRvZ2dsZS1vcHRpb24iLGlucHV0czpbInZhbHVlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YXQuVG9nZ2xlU2VsZWN0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi10b2dnbGUtc2VsZWN0IixpbnB1dHM6WyJkaXNhYmxlZCIsInNlbGVjdE1lZGlhQnJlYWtwb2ludCIsImFwcGVhcmFuY2UiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImZpbGxIZWlnaHQiLCJleHRyYVBhZGRpbmciLCJwcmltYXJ5QmFja2dyb3VuZCJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19dC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpJYSxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHkiLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5JYSkpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+SWEpKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbRCxIXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gc2FtZS1wYWRkaW5nIHRiLWZsZXggY29sdW1uIiBbZm9ybUdyb3VwXT0ic2VjdXJpdHlGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHJvdyBzcGFjZS1iZXR3ZWVuIGFsaWduLWNlbnRlciBuby1nYXAgZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZmllbGRzLWxhYmVsIiB0cmFuc2xhdGU+Z2F0ZXdheS5zZWN1cml0eTwvZGl2PlxuICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNlY3VyaXR5VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICB7eyBTZWN1cml0eVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj0ic2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gQnJva2VyU2VjdXJpdHlUeXBlLkJBU0lDIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudXNlcm5hbWU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idXNlcm5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnVzZXJuYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndXNlcm5hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJiBzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd1c2VybmFtZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucGFzc3dvcmQ8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhc3N3b3JkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5wYXNzd29yZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8ZGl2IFtjbGFzcy5oaWRlLXRvZ2dsZV09InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiIG1hdFN1ZmZpeD5cbiAgICAgICAgICAgIDx0Yi10b2dnbGUtcGFzc3dvcmQgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0Ij48L3RiLXRvZ2dsZS1wYXNzd29yZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjEwcHh9Omhvc3QgLmZpZWxkcy1sYWJlbHtmb250LXdlaWdodDo1MDB9Omhvc3QgLmhpZGUtdG9nZ2xle2Rpc3BsYXk6bm9uZX1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfV19KTtjbGFzcyBBYXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuZmI9ZSx0aGlzLmRpYWxvZz10LHRoaXMuc2VuZENvbW1hbmQ9bmV3IGksdGhpcy5zYXZlVGVtcGxhdGU9bmV3IGksdGhpcy5Db25uZWN0b3JUeXBlPV90LHRoaXMuYkFDbmV0UmVxdWVzdFR5cGVzPU9iamVjdC52YWx1ZXMoV3QpLHRoaXMuYkFDbmV0T2JqZWN0VHlwZXM9T2JqZWN0LnZhbHVlcyhLdCksdGhpcy5iTEVNZXRob2RzPU9iamVjdC52YWx1ZXMoWXQpLHRoaXMuY0FOQnl0ZU9yZGVycz1PYmplY3QudmFsdWVzKEp0KSx0aGlzLnNvY2tldE1ldGhvZFByb2Nlc3NpbmdzPU9iamVjdC52YWx1ZXMoWHQpLHRoaXMuc29ja2V0RW5jb2RpbmdzPU9iamVjdC52YWx1ZXMoYW4pLHRoaXMuc05NUE1ldGhvZHM9T2JqZWN0LnZhbHVlcyhlbiksdGhpcy5oVFRQTWV0aG9kcz1PYmplY3QudmFsdWVzKG5uKSx0aGlzLmJBQ25ldFJlcXVlc3RUeXBlc1RyYW5zbGF0ZXM9anQsdGhpcy5iQUNuZXRPYmplY3RUeXBlc1RyYW5zbGF0ZXM9JHQsdGhpcy5iTEVNZXRob2RzVHJhbnNsYXRlcz1RdCx0aGlzLlNvY2tldE1ldGhvZFByb2Nlc3NpbmdzVHJhbnNsYXRlcz1adCx0aGlzLlNOTVBNZXRob2RzVHJhbnNsYXRpb25zPXRuLHRoaXMuZ2F0ZXdheUNvbm5lY3RvckRlZmF1bHRUeXBlc1RyYW5zbGF0ZXM9SHQsdGhpcy51cmxQYXR0ZXJuPS9eWy1hLXpBLVpkXyQ6e30/fis9XC8uMC05LV0qJC8sdGhpcy5udW1iZXJzT25seVBhdHRlcm49L15bMC05XSokLyx0aGlzLmhleE9ubHlQYXR0ZXJuPS9eWzAtOUEtRmEtZiBdKyQvLHRoaXMucHJvcGFnYXRlQ2hhbmdlPWU9Pnt9LHRoaXMuZGVzdHJveSQ9bmV3IFNlfW5nT25Jbml0KCl7dGhpcy5jb21tYW5kRm9ybT10aGlzLmNvbm5lY3RvclBhcmFtc0Zvcm1Hcm91cEJ5VHlwZSh0aGlzLmNvbm5lY3RvclR5cGUpLHRoaXMuY29tbWFuZEZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoZT0+e2NvbnN0IHQ9e307c3dpdGNoKHRoaXMuY29ubmVjdG9yVHlwZSl7Y2FzZSBfdC5SRVNUOmNhc2UgX3QuUkVRVUVTVDplLmh0dHBIZWFkZXJzLmZvckVhY2goKGU9Pnt0W2UuaGVhZGVyTmFtZV09ZS52YWx1ZX0pKSxlLmh0dHBIZWFkZXJzPXR9dGhpcy5jb21tYW5kRm9ybS52YWxpZCYmdGhpcy5wcm9wYWdhdGVDaGFuZ2Uoey4uLnRoaXMuY29tbWFuZEZvcm0udmFsdWUsLi4uZX0pfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfWNvbm5lY3RvclBhcmFtc0Zvcm1Hcm91cEJ5VHlwZShlKXtsZXQgdDtzd2l0Y2goZSl7Y2FzZSBfdC5CQUNORVQ6dD10aGlzLmZiLmdyb3VwKHttZXRob2Q6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVxdWVzdFR5cGU6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVxdWVzdFRpbWVvdXQ6W251bGwsW3VlLnJlcXVpcmVkLHVlLm1pbigxMCksdWUucGF0dGVybih0aGlzLm51bWJlcnNPbmx5UGF0dGVybildXSxvYmplY3RUeXBlOltudWxsLFtdXSxpZGVudGlmaWVyOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybih0aGlzLm51bWJlcnNPbmx5UGF0dGVybildXSxwcm9wZXJ0eUlkOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dfSk7YnJlYWs7Y2FzZSBfdC5CTEU6dD10aGlzLmZiLmdyb3VwKHttZXRob2RSUEM6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sY2hhcmFjdGVyaXN0aWNVVUlEOlsiMDAwMDJBMDAtMDAwMC0xMDAwLTgwMDAtMDA4MDVGOUIzNEZCIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxtZXRob2RQcm9jZXNzaW5nOltudWxsLFt1ZS5yZXF1aXJlZF1dLHdpdGhSZXNwb25zZTpbITEsW11dfSk7YnJlYWs7Y2FzZSBfdC5DQU46dD10aGlzLmZiLmdyb3VwKHttZXRob2Q6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sbm9kZUlEOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMCksdWUucGF0dGVybih0aGlzLm51bWJlcnNPbmx5UGF0dGVybildXSxpc0V4dGVuZGVkSUQ6WyExLFtdXSxpc0ZEOlshMSxbXV0sYml0cmF0ZVN3aXRjaDpbITEsW11dLGRhdGFMZW5ndGg6W251bGwsW3VlLm1pbigxKSx1ZS5wYXR0ZXJuKHRoaXMubnVtYmVyc09ubHlQYXR0ZXJuKV1dLGRhdGFCeXRlb3JkZXI6W251bGwsW11dLGRhdGFCZWZvcmU6W251bGwsW3VlLnBhdHRlcm4oa3QpLHVlLnBhdHRlcm4odGhpcy5oZXhPbmx5UGF0dGVybildXSxkYXRhQWZ0ZXI6W251bGwsW3VlLnBhdHRlcm4oa3QpLHVlLnBhdHRlcm4odGhpcy5oZXhPbmx5UGF0dGVybildXSxkYXRhSW5IRVg6W251bGwsW3VlLnBhdHRlcm4oa3QpLHVlLnBhdHRlcm4odGhpcy5oZXhPbmx5UGF0dGVybildXSxkYXRhRXhwcmVzc2lvbjpbbnVsbCxbdWUucGF0dGVybihrdCldXX0pO2JyZWFrO2Nhc2UgX3QuRlRQOnQ9dGhpcy5mYi5ncm91cCh7bWV0aG9kRmlsdGVyOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHZhbHVlRXhwcmVzc2lvbjpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXX0pO2JyZWFrO2Nhc2UgX3QuT0NQUDp0PXRoaXMuZmIuZ3JvdXAoe21ldGhvZFJQQzpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx2YWx1ZUV4cHJlc3Npb246W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sd2l0aFJlc3BvbnNlOlshMSxbXV19KTticmVhaztjYXNlIF90LlNPQ0tFVDp0PXRoaXMuZmIuZ3JvdXAoe21ldGhvZFJQQzpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxtZXRob2RQcm9jZXNzaW5nOltudWxsLFt1ZS5yZXF1aXJlZF1dLGVuY29kaW5nOlthbi5VVEZfOCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx3aXRoUmVzcG9uc2U6WyExLFtdXX0pO2JyZWFrO2Nhc2UgX3QuWE1QUDp0PXRoaXMuZmIuZ3JvdXAoe21ldGhvZFJQQzpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx2YWx1ZUV4cHJlc3Npb246W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sd2l0aFJlc3BvbnNlOlshMSxbXV19KTticmVhaztjYXNlIF90LlNOTVA6dD10aGlzLmZiLmdyb3VwKHtyZXF1ZXN0RmlsdGVyOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLG1ldGhvZDpbbnVsbCxbdWUucmVxdWlyZWRdXSx3aXRoUmVzcG9uc2U6WyExLFtdXSxvaWQ6dGhpcy5mYi5hcnJheShbXSxbdWUucmVxdWlyZWRdKX0pO2JyZWFrO2Nhc2UgX3QuUkVTVDp0PXRoaXMuZmIuZ3JvdXAoe21ldGhvZEZpbHRlcjpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxodHRwTWV0aG9kOltudWxsLFt1ZS5yZXF1aXJlZF1dLHJlcXVlc3RVcmxFeHByZXNzaW9uOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKHRoaXMudXJsUGF0dGVybildXSxyZXNwb25zZVRpbWVvdXQ6W251bGwsW3VlLnJlcXVpcmVkLHVlLm1pbigxMCksdWUucGF0dGVybih0aGlzLm51bWJlcnNPbmx5UGF0dGVybildXSx0aW1lb3V0OltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMTApLHVlLnBhdHRlcm4odGhpcy5udW1iZXJzT25seVBhdHRlcm4pXV0sdHJpZXM6W251bGwsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5wYXR0ZXJuKHRoaXMubnVtYmVyc09ubHlQYXR0ZXJuKV1dLHZhbHVlRXhwcmVzc2lvbjpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxodHRwSGVhZGVyczp0aGlzLmZiLmFycmF5KFtdKSxzZWN1cml0eTpbe30sW3VlLnJlcXVpcmVkXV19KTticmVhaztjYXNlIF90LlJFUVVFU1Q6dD10aGlzLmZiLmdyb3VwKHttZXRob2RGaWx0ZXI6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0saHR0cE1ldGhvZDpbbnVsbCxbdWUucmVxdWlyZWRdXSxyZXF1ZXN0VXJsRXhwcmVzc2lvbjpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybih0aGlzLnVybFBhdHRlcm4pXV0scmVzcG9uc2VUaW1lb3V0OltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMTApLHVlLnBhdHRlcm4odGhpcy5udW1iZXJzT25seVBhdHRlcm4pXV0sdGltZW91dDpbbnVsbCxbdWUucmVxdWlyZWQsdWUubWluKDEwKSx1ZS5wYXR0ZXJuKHRoaXMubnVtYmVyc09ubHlQYXR0ZXJuKV1dLHRyaWVzOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybih0aGlzLm51bWJlcnNPbmx5UGF0dGVybildXSxyZXF1ZXN0VmFsdWVFeHByZXNzaW9uOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHJlc3BvbnNlVmFsdWVFeHByZXNzaW9uOltudWxsLFt1ZS5wYXR0ZXJuKGt0KV1dLGh0dHBIZWFkZXJzOnRoaXMuZmIuYXJyYXkoW10pfSk7YnJlYWs7ZGVmYXVsdDp0PXRoaXMuZmIuZ3JvdXAoe2NvbW1hbmQ6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scGFyYW1zOlt7fSxbSXRdXX0pfXJldHVybiB0fWFkZFNOTVBvaWQoZT1udWxsKXtjb25zdCB0PXRoaXMuY29tbWFuZEZvcm0uZ2V0KCJvaWQiKTt0JiZ0LnB1c2godGhpcy5mYi5jb250cm9sKGUsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXSkse2VtaXRFdmVudDohMX0pfXJlbW92ZVNOTVBvaWQoZSl7dGhpcy5jb21tYW5kRm9ybS5nZXQoIm9pZCIpLnJlbW92ZUF0KGUpfWFkZEhUVFBIZWFkZXIoZT17aGVhZGVyTmFtZTpudWxsLHZhbHVlOm51bGx9KXtjb25zdCB0PXRoaXMuY29tbWFuZEZvcm0uZ2V0KCJodHRwSGVhZGVycyIpLG49dGhpcy5mYi5ncm91cCh7aGVhZGVyTmFtZTpbZS5oZWFkZXJOYW1lLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHZhbHVlOltlLnZhbHVlLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dfSk7dCYmdC5wdXNoKG4se2VtaXRFdmVudDohMX0pfXJlbW92ZUhUVFBIZWFkZXIoZSl7dGhpcy5jb21tYW5kRm9ybS5nZXQoImh0dHBIZWFkZXJzIikucmVtb3ZlQXQoZSl9Z2V0Rm9ybUFycmF5Q29udHJvbHMoZSl7cmV0dXJuIHRoaXMuY29tbWFuZEZvcm0uZ2V0KGUpLmNvbnRyb2xzfW9wZW5FZGl0SlNPTkRpYWxvZyhlKXtlJiZlLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuZGlhbG9nLm9wZW4oUWUse2Rpc2FibGVDbG9zZTohMCxwYW5lbENsYXNzOlsidGItZGlhbG9nIiwidGItZnVsbHNjcmVlbi1kaWFsb2ciXSxkYXRhOntqc29uVmFsdWU6dGhpcy5jb21tYW5kRm9ybS5nZXQoInBhcmFtcyIpLnZhbHVlLHJlcXVpcmVkOiEwfX0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChlPT57ZSYmdGhpcy5jb21tYW5kRm9ybS5nZXQoInBhcmFtcyIpLnNldFZhbHVlKGUpfSkpfXNhdmUoKXt0aGlzLnNhdmVUZW1wbGF0ZS5lbWl0KCl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLnByb3BhZ2F0ZUNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe31jbGVhckZyb21BcnJheUJ5TmFtZShlKXtjb25zdCB0PXRoaXMuY29tbWFuZEZvcm0uZ2V0KGUpO2Zvcig7MCE9PXQubGVuZ3RoOyl0LnJlbW92ZUF0KDApfXdyaXRlVmFsdWUoZSl7aWYoIm9iamVjdCI9PXR5cGVvZiBlKXtzd2l0Y2goZT1KKGUpLHRoaXMuY29ubmVjdG9yVHlwZSl7Y2FzZSBfdC5TTk1QOnRoaXMuY2xlYXJGcm9tQXJyYXlCeU5hbWUoIm9pZCIpLGUub2lkLmZvckVhY2goKGU9Pnt0aGlzLmFkZFNOTVBvaWQoZSl9KSksZGVsZXRlIGUub2lkO2JyZWFrO2Nhc2UgX3QuUkVRVUVTVDpjYXNlIF90LlJFU1Q6dGhpcy5jbGVhckZyb21BcnJheUJ5TmFtZSgiaHR0cEhlYWRlcnMiKSxlLmh0dHBIZWFkZXJzJiZPYmplY3QuZW50cmllcyhlLmh0dHBIZWFkZXJzKS5mb3JFYWNoKChlPT57dGhpcy5hZGRIVFRQSGVhZGVyKHtoZWFkZXJOYW1lOmVbMF0sdmFsdWU6ZVsxXX0pfSkpLGRlbGV0ZSBlLmh0dHBIZWFkZXJzfXRoaXMuY29tbWFuZEZvcm0ucGF0Y2hWYWx1ZShlLHtvbmx5U2VsZjohMX0pfX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkFhLGRlcHM6W3t0b2tlbjptZS5Gb3JtQnVpbGRlcn0se3Rva2VuOkplLk1hdERpYWxvZ31dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6QWEsc2VsZWN0b3I6InRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yIixpbnB1dHM6e2Nvbm5lY3RvclR5cGU6ImNvbm5lY3RvclR5cGUifSxvdXRwdXRzOntzZW5kQ29tbWFuZDoic2VuZENvbW1hbmQiLHNhdmVUZW1wbGF0ZToic2F2ZVRlbXBsYXRlIn0scHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+QWEpKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iIGNsYXNzPSJjb21tYW5kLWZvcm0iIFtmb3JtR3JvdXBdPSJjb21tYW5kRm9ybSI+XG4gIDxkaXZcbiAgICBjbGFzcz0ibWF0LXN1YnRpdGxlLTEgdGl0bGUiPnt7IFwnZ2F0ZXdheS5ycGMudGl0bGVcJyB8IHRyYW5zbGF0ZToge3R5cGU6IGdhdGV3YXlDb25uZWN0b3JEZWZhdWx0VHlwZXNUcmFuc2xhdGVzLmdldChjb25uZWN0b3JUeXBlKX0gfX08L2Rpdj5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT0iY29ubmVjdG9yVHlwZSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJjb25uZWN0b3JUeXBlIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5CQUNORVQiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFJQQ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIiBwbGFjZWhvbGRlcj0ic2V0X3N0YXRlIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdFR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icmVxdWVzdFR5cGUiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBiQUNuZXRSZXF1ZXN0VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICB7e2JBQ25ldFJlcXVlc3RUeXBlc1RyYW5zbGF0ZXMuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdFRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RUaW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgIG1pbj0iMTAiIHN0ZXA9IjEiIHBsYWNlaG9sZGVyPSIxMDAwIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4Ij5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCIgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMub2JqZWN0VHlwZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9Im9iamVjdFR5cGUiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGJBQ25ldE9iamVjdFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICB7e2JBQ25ldE9iamVjdFR5cGVzVHJhbnNsYXRlcy5nZXQodHlwZSkgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuaWRlbnRpZmllclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJpZGVudGlmaWVyIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgbWluPSIxIiBzdGVwPSIxIiBwbGFjZWhvbGRlcj0iMSIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnByb3BlcnR5SWRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InByb3BlcnR5SWQiIHBsYWNlaG9sZGVyPSJwcmVzZW50VmFsdWUiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuQkxFIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RSUENcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZFJQQyIgcGxhY2Vob2xkZXI9InJwY01ldGhvZDEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5jaGFyYWN0ZXJpc3RpY1VVSURcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImNoYXJhY3RlcmlzdGljVVVJRCIgcGxhY2Vob2xkZXI9IjAwMDAyQTAwLTAwMDAtMTAwMC04MDAwLTAwODA1RjlCMzRGQiIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFByb2Nlc3NpbmdcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kUHJvY2Vzc2luZyI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGJMRU1ldGhvZHMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICB7e2JMRU1ldGhvZHNUcmFuc2xhdGVzLmdldCh0eXBlKSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLkNBTiI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiIHBsYWNlaG9sZGVyPSJzZW5kU2FtZURhdGEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5ub2RlSURcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im5vZGVJRCIgdHlwZT0ibnVtYmVyIiBwbGFjZWhvbGRlcj0iNCIgbWluPSIwIiBzdGVwPSIxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9ImlzRXh0ZW5kZWRJRCI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy5pc0V4dGVuZGVkSURcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9ImlzRkQiPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMuaXNGRFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0iYml0cmF0ZVN3aXRjaCI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy5iaXRyYXRlU3dpdGNoXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFMZW5ndGhcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUxlbmd0aCIgdHlwZT0ibnVtYmVyIiBwbGFjZWhvbGRlcj0iMiIgbWluPSIxIiBzdGVwPSIxIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayIgZnhGbGV4PSI1MCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuZGF0YUJ5dGVvcmRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRhdGFCeXRlb3JkZXIiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBvcmRlciBvZiBjQU5CeXRlT3JkZXJzIiBbdmFsdWVdPSJvcmRlciI+XG4gICAgICAgICAgICAgICAge3sgb3JkZXIgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFCZWZvcmVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUJlZm9yZSIgcGxhY2Vob2xkZXI9IjAwQUEiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjUwIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5kYXRhQWZ0ZXJcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUFmdGVyIiBwbGFjZWhvbGRlcj0iMDEwMiIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFJbkhFWFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUluSEVYIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iYWEgYmIgY2MgZGQgZWUgZmYgICBhYSBiYiBhYSBiYiBjYyBkIGVlIGZmIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuZGF0YUV4cHJlc3Npb25cJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImRhdGFFeHByZXNzaW9uIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0idXNlclNwZWVkIGlmIG1heEFsbG93ZWRTcGVlZCA+IHVzZXJTcGVlZCBlbHNlIG1heEFsbG93ZWRTcGVlZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5GVFAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIiBwbGFjZWhvbGRlcj0icmVhZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnZhbHVlRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLk9DUFAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFJQQ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kUlBDIiBwbGFjZWhvbGRlcj0icnBjMSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnZhbHVlRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLlNPQ0tFVCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RSUEMiIHBsYWNlaG9sZGVyPSJycGNNZXRob2QxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUHJvY2Vzc2luZ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RQcm9jZXNzaW5nIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBzb2NrZXRNZXRob2RQcm9jZXNzaW5ncyIgW3ZhbHVlXT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAge3sgU29ja2V0TWV0aG9kUHJvY2Vzc2luZ3NUcmFuc2xhdGVzLmdldChtZXRob2QpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmVuY29kaW5nXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJlbmNvZGluZyIgcGxhY2Vob2xkZXI9Int7c29ja2V0RW5jb2RpbmdzWzBdfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0id2l0aFJlc3BvbnNlIj5cbiAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLndpdGhSZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuWE1QUCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RSUEMiIHBsYWNlaG9sZGVyPSJycGMxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSIke3BhcmFtc30iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0id2l0aFJlc3BvbnNlIj5cbiAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLndpdGhSZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuU05NUCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVxdWVzdEZpbHRlciIgcGxhY2Vob2xkZXI9InNldERhdGEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBzTk1QTWV0aG9kcyIgW3ZhbHVlXT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAge3sgU05NUE1ldGhvZHNUcmFuc2xhdGlvbnMuZ2V0KG1ldGhvZCkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZmllbGRzIGJvcmRlciIgZnhMYXlvdXQ9ImNvbHVtbiIgZnhMYXlvdXRHYXA9IjEwcHgiIGZvcm1BcnJheU5hbWU9Im9pZCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkcy1sYWJlbCI+e3sgXCdnYXRld2F5LnJwYy5vaWRzXCcgfCB0cmFuc2xhdGUgfX0qPC9zcGFuPlxuICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgICAgICAgKm5nRm9yPSJsZXQgY29udHJvbCBvZiBnZXRGb3JtQXJyYXlDb250cm9scyhcJ29pZFwnKTsgbGV0IGkgPSBpbmRleCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWlubGluZS1maWVsZCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4IHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPSJjb250cm9sIiByZXF1aXJlZC8+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1pY29uIHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PSIzMHB4IlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9InJlbW92ZVNOTVBvaWQoaSkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LnJwYy5yZW1vdmVcJyB8IHRyYW5zbGF0ZSB9fSI+ZGVsZXRlXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgIGZ4RmxleEFsaWduPSJzdGFydCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9ImFkZFNOTVBvaWQoKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmFkZC1vaWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5SRVNUIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RGaWx0ZXJcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZEZpbHRlciIgcGxhY2Vob2xkZXI9InBvc3RfYXR0cmlidXRlcyIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmh0dHBNZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJodHRwTWV0aG9kIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbWV0aG9kIG9mIGhUVFBNZXRob2RzIiBbdmFsdWVdPSJtZXRob2QiPlxuICAgICAgICAgICAgICAgIHt7IG1ldGhvZCB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlcXVlc3RVcmxFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RVcmxFeHByZXNzaW9uIlxuICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJodHRwOi8vMTI3LjAuMC4xOjUwMDAvbXlfZGV2aWNlcyIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlc3BvbnNlVGltZW91dFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRpbWVvdXQiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgICAgICAgICBzdGVwPSIxIiBtaW49IjEwIiBwbGFjZWhvbGRlcj0iMTAiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudGltZW91dFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ0aW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgc3RlcD0iMSIgbWluPSIxMCIgcGxhY2Vob2xkZXI9IjEwMDAiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudHJpZXNcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idHJpZXMiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgICAgICAgICBzdGVwPSIxIiBtaW49IjEiIHBsYWNlaG9sZGVyPSIzIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSIke3BhcmFtc30iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmaWVsZHMgYm9yZGVyIiBmeExheW91dD0iY29sdW1uIiBmeExheW91dEdhcD0iMTBweCIgZm9ybUFycmF5TmFtZT0iaHR0cEhlYWRlcnMiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZHMtbGFiZWwiPnt7IFwnZ2F0ZXdheS5ycGMuaHR0cEhlYWRlcnNcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJib3JkZXIiIGZ4TGF5b3V0PSJjb2x1bW4iIGZ4TGF5b3V0R2FwPSIxMHB4IiAqbmdJZj0iZ2V0Rm9ybUFycmF5Q29udHJvbHMoXCdodHRwSGVhZGVyc1wnKS5sZW5ndGgiPlxuICAgICAgICAgICAgPGRpdiBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciI+XG4gICAgICAgICAgICAgIDxzcGFuIGZ4RmxleCBjbGFzcz0idGl0bGUiPnt7IFwnZ2F0ZXdheS5ycGMuaGVhZGVyLW5hbWVcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gZnhGbGV4IGNsYXNzPSJ0aXRsZSI+e3sgXCdnYXRld2F5LnJwYy52YWx1ZVwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBmeEZsZXg9IjMwcHgiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgICAgKm5nRm9yPSJsZXQgY29udHJvbCBvZiBnZXRGb3JtQXJyYXlDb250cm9scyhcJ2h0dHBIZWFkZXJzXCcpOyBsZXQgaSA9IGluZGV4Ij5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwTmFtZV09ImkiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBmeEZsZXg+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJoZWFkZXJOYW1lIi8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4PlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWUiIHBsYWNlaG9sZGVyPSJhcHBsaWNhdGlvbi9qc29uIi8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PSIzMHB4IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJyZW1vdmVIVFRQSGVhZGVyKGkpIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkucnBjLnJlbW92ZVwnIHwgdHJhbnNsYXRlIH19Ij5kZWxldGVcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgIGZ4RmxleEFsaWduPSJzdGFydCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9ImFkZEhUVFBIZWFkZXIoKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmFkZC1oZWFkZXJcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgICA8dGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHkgW2Zvcm1Db250cm9sXT0iY29tbWFuZEZvcm0uZ2V0KFwnc2VjdXJpdHlcJykiPjwvdGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHk+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLlJFUVVFU1QiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIiBwbGFjZWhvbGRlcj0iZWNobyIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmh0dHBNZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJodHRwTWV0aG9kIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbWV0aG9kIG9mIGhUVFBNZXRob2RzIiBbdmFsdWVdPSJtZXRob2QiPlxuICAgICAgICAgICAgICAgIHt7IG1ldGhvZCB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlcXVlc3RVcmxFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RVcmxFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iaHR0cDovLzEyNy4wLjAuMTo1MDAwL215X2RldmljZXMiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRHYXA9IjEwcHgiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjMzIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXNwb25zZVRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUaW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgc3RlcD0iMSIgbWluPSIxMCIgcGxhY2Vob2xkZXI9IjEwIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idGltZW91dCIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgIHN0ZXA9IjEiIG1pbj0iMTAiIHBsYWNlaG9sZGVyPSIxMCIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy50cmllc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ0cmllcyIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgIHN0ZXA9IjEiIG1pbj0iMSIgcGxhY2Vob2xkZXI9IjEiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXF1ZXN0VmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0VmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVzcG9uc2VWYWx1ZUV4cHJlc3Npb25cJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlc3BvbnNlVmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHt0ZW1wfSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZpZWxkcyBib3JkZXIiIGZ4TGF5b3V0PSJjb2x1bW4iIGZ4TGF5b3V0R2FwPSIxMHB4IiBmb3JtQXJyYXlOYW1lPSJodHRwSGVhZGVycyI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkcy1sYWJlbCI+e3sgXCdnYXRld2F5LnJwYy5odHRwSGVhZGVyc1wnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImJvcmRlciIgZnhMYXlvdXQ9ImNvbHVtbiIgZnhMYXlvdXRHYXA9IjEwcHgiICpuZ0lmPSJnZXRGb3JtQXJyYXlDb250cm9scyhcJ2h0dHBIZWFkZXJzXCcpLmxlbmd0aCI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIj5cbiAgICAgICAgICAgICAgPHNwYW4gZnhGbGV4IGNsYXNzPSJ0aXRsZSI+e3sgXCdnYXRld2F5LnJwYy5oZWFkZXItbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBmeEZsZXggY2xhc3M9InRpdGxlIj57eyBcJ2dhdGV3YXkucnBjLnZhbHVlXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGZ4RmxleD0iMzBweCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgICAgICAgICAqbmdGb3I9ImxldCBjb250cm9sIG9mIGdldEZvcm1BcnJheUNvbnRyb2xzKFwnaHR0cEhlYWRlcnNcJyk7IGxldCBpID0gaW5kZXgiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBOYW1lXT0iaSI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGZ4RmxleD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImhlYWRlck5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkucnBjLnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4PlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWUiLz5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBmeEZsZXg9IjMwcHgiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9InJlbW92ZUhUVFBIZWFkZXIoaSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5ycGMucmVtb3ZlXCcgfCB0cmFuc2xhdGUgfX0iPmRlbGV0ZVxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgZnhGbGV4QWxpZ249InN0YXJ0IlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iYWRkSFRUUEhlYWRlcigpIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMuYWRkLWhlYWRlclwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIG5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY29tbWFuZFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iY29tbWFuZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCd3aWRnZXQtY29uZmlnLmRhdGFzb3VyY2UtcGFyYW1ldGVyc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icGFyYW1zIiB0eXBlPSJKU09OIiB0Yi1qc29uLXRvLXN0cmluZy8+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCIgYXJpYS1oaWRkZW49ImZhbHNlIiBhcmlhLWxhYmVsPSJoZWxwLWljb24iXG4gICAgICAgICAgICAgICAgICAgIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ib3BlbkVkaXRKU09ORGlhbG9nKCRldmVudCkiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1lZGl0LXBhcmFtc1wnIHwgdHJhbnNsYXRlIH19Ij5lZGl0XG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb21tYW5kRm9ybS5nZXQoXCdwYXJhbXNcJykuaGFzRXJyb3IoXCdpbnZhbGlkSlNPTlwnKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmpzb24tdmFsdWUtaW52YWxpZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPSJ0ZW1wbGF0ZS1hY3Rpb25zIiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciIgZnhMYXlvdXRHYXA9IjEwcHgiPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9InNhdmUoKSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09ImNvbW1hbmRGb3JtLmludmFsaWQiPlxuICAgICAge3sgXCdnYXRld2F5LnJwYy1jb21tYW5kLXNhdmUtdGVtcGxhdGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0ic2VuZENvbW1hbmQuZW1pdCgpIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0iY29tbWFuZEZvcm0uaW52YWxpZCI+XG4gICAgICB7eyBcJ2dhdGV3YXkucnBjLWNvbW1hbmQtc2VuZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MH06aG9zdCAudGl0bGV7Zm9udC13ZWlnaHQ6NTAwfTpob3N0IC5jb21tYW5kLWZvcm17ZmxleC13cmFwOm5vd3JhcH06aG9zdCAuY29tbWFuZC1mb3JtPmJ1dHRvbnttYXJnaW4tdG9wOjEwcHh9Omhvc3QgLm1hdC1tZGMtc2xpZGUtdG9nZ2xlLm1hcmdpbnttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLWxlZnQ6MTBweH06aG9zdCAuZmllbGRzIC5maWVsZHMtbGFiZWx7Zm9udC13ZWlnaHQ6NTAwfTpob3N0IC5ib3JkZXJ7cGFkZGluZzoxNnB4O21hcmdpbi1ib3R0b206MTBweDtib3gtc2hhZG93OjAgMCAjMDAwMywwIDAgIzAwMDAwMDI0LDAgMCAjMDAwMDAwMWY7Ym9yZGVyOnNvbGlkIDFweCAjZTBlMGUwO2JvcmRlci1yYWRpdXM6NHB4fTpob3N0IC5ib3JkZXIgLnRpdGxle2NvbG9yOiMwMDAwMDA4YX06aG9zdCAuYm9yZGVyIC5tYXQtaWNvbntjb2xvcjojMDAwMDAwNjF9Omhvc3QgLmJvcmRlciAubWF0LWRpdmlkZXJ7bWFyZ2luLWxlZnQ6LTE2cHg7bWFyZ2luLXJpZ2h0Oi0xNnB4O21hcmdpbi1ib3R0b206MTZweH1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaCxzZWxlY3RvcjoiW25nU3dpdGNoXSIsaW5wdXRzOlsibmdTd2l0Y2giXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoQ2FzZSxzZWxlY3RvcjoiW25nU3dpdGNoQ2FzZV0iLGlucHV0czpbIm5nU3dpdGNoQ2FzZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdTd2l0Y2hEZWZhdWx0LHNlbGVjdG9yOiJbbmdTd2l0Y2hEZWZhdWx0XSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WmUuVGJKc29uVG9TdHJpbmdEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0Yi1qc29uLXRvLXN0cmluZ10ifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0RXJyb3Isc2VsZWN0b3I6Im1hdC1lcnJvciwgW21hdEVycm9yXSIsaW5wdXRzOlsiaWQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRTdWZmaXgsc2VsZWN0b3I6IlttYXRTdWZmaXhdLCBbbWF0SWNvblN1ZmZpeF0sIFttYXRUZXh0U3VmZml4XSIsaW5wdXRzOlsibWF0VGV4dFN1ZmZpeCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOndlLk1hdFNlbGVjdCxzZWxlY3RvcjoibWF0LXNlbGVjdCIsaW5wdXRzOlsiYXJpYS1kZXNjcmliZWRieSIsInBhbmVsQ2xhc3MiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3IiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwibXVsdGlwbGUiLCJkaXNhYmxlT3B0aW9uQ2VudGVyaW5nIiwiY29tcGFyZVdpdGgiLCJ2YWx1ZSIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJlcnJvclN0YXRlTWF0Y2hlciIsInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLCJzb3J0Q29tcGFyYXRvciIsImlkIiwicGFuZWxXaWR0aCJdLG91dHB1dHM6WyJvcGVuZWRDaGFuZ2UiLCJvcGVuZWQiLCJjbG9zZWQiLCJzZWxlY3Rpb25DaGFuZ2UiLCJ2YWx1ZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2VsZWN0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnouTWF0RGl2aWRlcixzZWxlY3RvcjoibWF0LWRpdmlkZXIiLGlucHV0czpbInZlcnRpY2FsIiwiaW5zZXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRHYXBEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0R2FwXSwgW2Z4TGF5b3V0R2FwLnhzXSwgW2Z4TGF5b3V0R2FwLnNtXSwgW2Z4TGF5b3V0R2FwLm1kXSwgIFtmeExheW91dEdhcC5sZ10sIFtmeExheW91dEdhcC54bF0sIFtmeExheW91dEdhcC5sdC1zbV0sIFtmeExheW91dEdhcC5sdC1tZF0sICBbZnhMYXlvdXRHYXAubHQtbGddLCBbZnhMYXlvdXRHYXAubHQteGxdLCBbZnhMYXlvdXRHYXAuZ3QteHNdLCBbZnhMYXlvdXRHYXAuZ3Qtc21dLCAgW2Z4TGF5b3V0R2FwLmd0LW1kXSwgW2Z4TGF5b3V0R2FwLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRHYXAiLCJmeExheW91dEdhcC54cyIsImZ4TGF5b3V0R2FwLnNtIiwiZnhMYXlvdXRHYXAubWQiLCJmeExheW91dEdhcC5sZyIsImZ4TGF5b3V0R2FwLnhsIiwiZnhMYXlvdXRHYXAubHQtc20iLCJmeExheW91dEdhcC5sdC1tZCIsImZ4TGF5b3V0R2FwLmx0LWxnIiwiZnhMYXlvdXRHYXAubHQteGwiLCJmeExheW91dEdhcC5ndC14cyIsImZ4TGF5b3V0R2FwLmd0LXNtIiwiZnhMYXlvdXRHYXAuZ3QtbWQiLCJmeExheW91dEdhcC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhBbGlnbkRpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4QWxpZ25dLCBbZnhGbGV4QWxpZ24ueHNdLCBbZnhGbGV4QWxpZ24uc21dLCBbZnhGbGV4QWxpZ24ubWRdLCAgW2Z4RmxleEFsaWduLmxnXSwgW2Z4RmxleEFsaWduLnhsXSwgW2Z4RmxleEFsaWduLmx0LXNtXSwgW2Z4RmxleEFsaWduLmx0LW1kXSwgIFtmeEZsZXhBbGlnbi5sdC1sZ10sIFtmeEZsZXhBbGlnbi5sdC14bF0sIFtmeEZsZXhBbGlnbi5ndC14c10sIFtmeEZsZXhBbGlnbi5ndC1zbV0sICBbZnhGbGV4QWxpZ24uZ3QtbWRdLCBbZnhGbGV4QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeEZsZXhBbGlnbiIsImZ4RmxleEFsaWduLnhzIiwiZnhGbGV4QWxpZ24uc20iLCJmeEZsZXhBbGlnbi5tZCIsImZ4RmxleEFsaWduLmxnIiwiZnhGbGV4QWxpZ24ueGwiLCJmeEZsZXhBbGlnbi5sdC1zbSIsImZ4RmxleEFsaWduLmx0LW1kIiwiZnhGbGV4QWxpZ24ubHQtbGciLCJmeEZsZXhBbGlnbi5sdC14bCIsImZ4RmxleEFsaWduLmd0LXhzIiwiZnhGbGV4QWxpZ24uZ3Qtc20iLCJmeEZsZXhBbGlnbi5ndC1tZCIsImZ4RmxleEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1pblZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLGlucHV0czpbIm1pbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwTmFtZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdIixpbnB1dHM6WyJmb3JtR3JvdXBOYW1lIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUFycmF5TmFtZSxzZWxlY3RvcjoiW2Zvcm1BcnJheU5hbWVdIixpbnB1dHM6WyJmb3JtQXJyYXlOYW1lIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6SWEsc2VsZWN0b3I6InRiLXJlc3QtY29ubmVjdG9yLXNlY3VyaXR5In0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XX0pfX1lKCJHYXRld2F5U2VydmljZVJQQ0Nvbm5lY3RvckNvbXBvbmVudCIsQWEpLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6QWEsZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yIixwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5BYSkpLG11bHRpOiEwfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iIGNsYXNzPSJjb21tYW5kLWZvcm0iIFtmb3JtR3JvdXBdPSJjb21tYW5kRm9ybSI+XG4gIDxkaXZcbiAgICBjbGFzcz0ibWF0LXN1YnRpdGxlLTEgdGl0bGUiPnt7IFwnZ2F0ZXdheS5ycGMudGl0bGVcJyB8IHRyYW5zbGF0ZToge3R5cGU6IGdhdGV3YXlDb25uZWN0b3JEZWZhdWx0VHlwZXNUcmFuc2xhdGVzLmdldChjb25uZWN0b3JUeXBlKX0gfX08L2Rpdj5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT0iY29ubmVjdG9yVHlwZSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJjb25uZWN0b3JUeXBlIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5CQUNORVQiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFJQQ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIiBwbGFjZWhvbGRlcj0ic2V0X3N0YXRlIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdFR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icmVxdWVzdFR5cGUiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBiQUNuZXRSZXF1ZXN0VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICB7e2JBQ25ldFJlcXVlc3RUeXBlc1RyYW5zbGF0ZXMuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdFRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RUaW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgIG1pbj0iMTAiIHN0ZXA9IjEiIHBsYWNlaG9sZGVyPSIxMDAwIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4Ij5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCIgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMub2JqZWN0VHlwZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9Im9iamVjdFR5cGUiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGJBQ25ldE9iamVjdFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICB7e2JBQ25ldE9iamVjdFR5cGVzVHJhbnNsYXRlcy5nZXQodHlwZSkgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuaWRlbnRpZmllclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJpZGVudGlmaWVyIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgbWluPSIxIiBzdGVwPSIxIiBwbGFjZWhvbGRlcj0iMSIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnByb3BlcnR5SWRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InByb3BlcnR5SWQiIHBsYWNlaG9sZGVyPSJwcmVzZW50VmFsdWUiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuQkxFIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RSUENcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZFJQQyIgcGxhY2Vob2xkZXI9InJwY01ldGhvZDEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5jaGFyYWN0ZXJpc3RpY1VVSURcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImNoYXJhY3RlcmlzdGljVVVJRCIgcGxhY2Vob2xkZXI9IjAwMDAyQTAwLTAwMDAtMTAwMC04MDAwLTAwODA1RjlCMzRGQiIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFByb2Nlc3NpbmdcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kUHJvY2Vzc2luZyI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGJMRU1ldGhvZHMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICB7e2JMRU1ldGhvZHNUcmFuc2xhdGVzLmdldCh0eXBlKSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLkNBTiI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiIHBsYWNlaG9sZGVyPSJzZW5kU2FtZURhdGEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5ub2RlSURcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im5vZGVJRCIgdHlwZT0ibnVtYmVyIiBwbGFjZWhvbGRlcj0iNCIgbWluPSIwIiBzdGVwPSIxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9ImlzRXh0ZW5kZWRJRCI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy5pc0V4dGVuZGVkSURcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9ImlzRkQiPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMuaXNGRFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0iYml0cmF0ZVN3aXRjaCI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy5iaXRyYXRlU3dpdGNoXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFMZW5ndGhcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUxlbmd0aCIgdHlwZT0ibnVtYmVyIiBwbGFjZWhvbGRlcj0iMiIgbWluPSIxIiBzdGVwPSIxIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayIgZnhGbGV4PSI1MCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuZGF0YUJ5dGVvcmRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRhdGFCeXRlb3JkZXIiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBvcmRlciBvZiBjQU5CeXRlT3JkZXJzIiBbdmFsdWVdPSJvcmRlciI+XG4gICAgICAgICAgICAgICAge3sgb3JkZXIgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFCZWZvcmVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUJlZm9yZSIgcGxhY2Vob2xkZXI9IjAwQUEiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjUwIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5kYXRhQWZ0ZXJcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUFmdGVyIiBwbGFjZWhvbGRlcj0iMDEwMiIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFJbkhFWFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUluSEVYIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iYWEgYmIgY2MgZGQgZWUgZmYgICBhYSBiYiBhYSBiYiBjYyBkIGVlIGZmIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuZGF0YUV4cHJlc3Npb25cJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImRhdGFFeHByZXNzaW9uIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0idXNlclNwZWVkIGlmIG1heEFsbG93ZWRTcGVlZCA+IHVzZXJTcGVlZCBlbHNlIG1heEFsbG93ZWRTcGVlZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5GVFAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIiBwbGFjZWhvbGRlcj0icmVhZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnZhbHVlRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLk9DUFAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFJQQ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kUlBDIiBwbGFjZWhvbGRlcj0icnBjMSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnZhbHVlRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLlNPQ0tFVCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RSUEMiIHBsYWNlaG9sZGVyPSJycGNNZXRob2QxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUHJvY2Vzc2luZ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RQcm9jZXNzaW5nIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBzb2NrZXRNZXRob2RQcm9jZXNzaW5ncyIgW3ZhbHVlXT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAge3sgU29ja2V0TWV0aG9kUHJvY2Vzc2luZ3NUcmFuc2xhdGVzLmdldChtZXRob2QpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmVuY29kaW5nXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJlbmNvZGluZyIgcGxhY2Vob2xkZXI9Int7c29ja2V0RW5jb2RpbmdzWzBdfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0id2l0aFJlc3BvbnNlIj5cbiAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLndpdGhSZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuWE1QUCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RSUEMiIHBsYWNlaG9sZGVyPSJycGMxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSIke3BhcmFtc30iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0id2l0aFJlc3BvbnNlIj5cbiAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLndpdGhSZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuU05NUCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVxdWVzdEZpbHRlciIgcGxhY2Vob2xkZXI9InNldERhdGEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBzTk1QTWV0aG9kcyIgW3ZhbHVlXT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAge3sgU05NUE1ldGhvZHNUcmFuc2xhdGlvbnMuZ2V0KG1ldGhvZCkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZmllbGRzIGJvcmRlciIgZnhMYXlvdXQ9ImNvbHVtbiIgZnhMYXlvdXRHYXA9IjEwcHgiIGZvcm1BcnJheU5hbWU9Im9pZCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkcy1sYWJlbCI+e3sgXCdnYXRld2F5LnJwYy5vaWRzXCcgfCB0cmFuc2xhdGUgfX0qPC9zcGFuPlxuICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgICAgICAgKm5nRm9yPSJsZXQgY29udHJvbCBvZiBnZXRGb3JtQXJyYXlDb250cm9scyhcJ29pZFwnKTsgbGV0IGkgPSBpbmRleCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWlubGluZS1maWVsZCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4IHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPSJjb250cm9sIiByZXF1aXJlZC8+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1pY29uIHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PSIzMHB4IlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9InJlbW92ZVNOTVBvaWQoaSkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LnJwYy5yZW1vdmVcJyB8IHRyYW5zbGF0ZSB9fSI+ZGVsZXRlXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgIGZ4RmxleEFsaWduPSJzdGFydCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9ImFkZFNOTVBvaWQoKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmFkZC1vaWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5SRVNUIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RGaWx0ZXJcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZEZpbHRlciIgcGxhY2Vob2xkZXI9InBvc3RfYXR0cmlidXRlcyIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmh0dHBNZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJodHRwTWV0aG9kIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbWV0aG9kIG9mIGhUVFBNZXRob2RzIiBbdmFsdWVdPSJtZXRob2QiPlxuICAgICAgICAgICAgICAgIHt7IG1ldGhvZCB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlcXVlc3RVcmxFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RVcmxFeHByZXNzaW9uIlxuICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJodHRwOi8vMTI3LjAuMC4xOjUwMDAvbXlfZGV2aWNlcyIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlc3BvbnNlVGltZW91dFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRpbWVvdXQiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgICAgICAgICBzdGVwPSIxIiBtaW49IjEwIiBwbGFjZWhvbGRlcj0iMTAiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudGltZW91dFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ0aW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgc3RlcD0iMSIgbWluPSIxMCIgcGxhY2Vob2xkZXI9IjEwMDAiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudHJpZXNcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idHJpZXMiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgICAgICAgICBzdGVwPSIxIiBtaW49IjEiIHBsYWNlaG9sZGVyPSIzIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSIke3BhcmFtc30iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmaWVsZHMgYm9yZGVyIiBmeExheW91dD0iY29sdW1uIiBmeExheW91dEdhcD0iMTBweCIgZm9ybUFycmF5TmFtZT0iaHR0cEhlYWRlcnMiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZHMtbGFiZWwiPnt7IFwnZ2F0ZXdheS5ycGMuaHR0cEhlYWRlcnNcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJib3JkZXIiIGZ4TGF5b3V0PSJjb2x1bW4iIGZ4TGF5b3V0R2FwPSIxMHB4IiAqbmdJZj0iZ2V0Rm9ybUFycmF5Q29udHJvbHMoXCdodHRwSGVhZGVyc1wnKS5sZW5ndGgiPlxuICAgICAgICAgICAgPGRpdiBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciI+XG4gICAgICAgICAgICAgIDxzcGFuIGZ4RmxleCBjbGFzcz0idGl0bGUiPnt7IFwnZ2F0ZXdheS5ycGMuaGVhZGVyLW5hbWVcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gZnhGbGV4IGNsYXNzPSJ0aXRsZSI+e3sgXCdnYXRld2F5LnJwYy52YWx1ZVwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBmeEZsZXg9IjMwcHgiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgICAgKm5nRm9yPSJsZXQgY29udHJvbCBvZiBnZXRGb3JtQXJyYXlDb250cm9scyhcJ2h0dHBIZWFkZXJzXCcpOyBsZXQgaSA9IGluZGV4Ij5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwTmFtZV09ImkiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBmeEZsZXg+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJoZWFkZXJOYW1lIi8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4PlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWUiIHBsYWNlaG9sZGVyPSJhcHBsaWNhdGlvbi9qc29uIi8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PSIzMHB4IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJyZW1vdmVIVFRQSGVhZGVyKGkpIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkucnBjLnJlbW92ZVwnIHwgdHJhbnNsYXRlIH19Ij5kZWxldGVcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgIGZ4RmxleEFsaWduPSJzdGFydCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9ImFkZEhUVFBIZWFkZXIoKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmFkZC1oZWFkZXJcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgICA8dGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHkgW2Zvcm1Db250cm9sXT0iY29tbWFuZEZvcm0uZ2V0KFwnc2VjdXJpdHlcJykiPjwvdGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHk+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLlJFUVVFU1QiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIiBwbGFjZWhvbGRlcj0iZWNobyIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmh0dHBNZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJodHRwTWV0aG9kIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbWV0aG9kIG9mIGhUVFBNZXRob2RzIiBbdmFsdWVdPSJtZXRob2QiPlxuICAgICAgICAgICAgICAgIHt7IG1ldGhvZCB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlcXVlc3RVcmxFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RVcmxFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iaHR0cDovLzEyNy4wLjAuMTo1MDAwL215X2RldmljZXMiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRHYXA9IjEwcHgiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjMzIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXNwb25zZVRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUaW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgc3RlcD0iMSIgbWluPSIxMCIgcGxhY2Vob2xkZXI9IjEwIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idGltZW91dCIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgIHN0ZXA9IjEiIG1pbj0iMTAiIHBsYWNlaG9sZGVyPSIxMCIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy50cmllc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ0cmllcyIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgIHN0ZXA9IjEiIG1pbj0iMSIgcGxhY2Vob2xkZXI9IjEiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXF1ZXN0VmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0VmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVzcG9uc2VWYWx1ZUV4cHJlc3Npb25cJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlc3BvbnNlVmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHt0ZW1wfSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZpZWxkcyBib3JkZXIiIGZ4TGF5b3V0PSJjb2x1bW4iIGZ4TGF5b3V0R2FwPSIxMHB4IiBmb3JtQXJyYXlOYW1lPSJodHRwSGVhZGVycyI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkcy1sYWJlbCI+e3sgXCdnYXRld2F5LnJwYy5odHRwSGVhZGVyc1wnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImJvcmRlciIgZnhMYXlvdXQ9ImNvbHVtbiIgZnhMYXlvdXRHYXA9IjEwcHgiICpuZ0lmPSJnZXRGb3JtQXJyYXlDb250cm9scyhcJ2h0dHBIZWFkZXJzXCcpLmxlbmd0aCI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIj5cbiAgICAgICAgICAgICAgPHNwYW4gZnhGbGV4IGNsYXNzPSJ0aXRsZSI+e3sgXCdnYXRld2F5LnJwYy5oZWFkZXItbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBmeEZsZXggY2xhc3M9InRpdGxlIj57eyBcJ2dhdGV3YXkucnBjLnZhbHVlXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGZ4RmxleD0iMzBweCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgICAgICAgICAqbmdGb3I9ImxldCBjb250cm9sIG9mIGdldEZvcm1BcnJheUNvbnRyb2xzKFwnaHR0cEhlYWRlcnNcJyk7IGxldCBpID0gaW5kZXgiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBOYW1lXT0iaSI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGZ4RmxleD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImhlYWRlck5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkucnBjLnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4PlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWUiLz5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBmeEZsZXg9IjMwcHgiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9InJlbW92ZUhUVFBIZWFkZXIoaSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5ycGMucmVtb3ZlXCcgfCB0cmFuc2xhdGUgfX0iPmRlbGV0ZVxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgZnhGbGV4QWxpZ249InN0YXJ0IlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iYWRkSFRUUEhlYWRlcigpIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMuYWRkLWhlYWRlclwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIG5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY29tbWFuZFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iY29tbWFuZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCd3aWRnZXQtY29uZmlnLmRhdGFzb3VyY2UtcGFyYW1ldGVyc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icGFyYW1zIiB0eXBlPSJKU09OIiB0Yi1qc29uLXRvLXN0cmluZy8+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCIgYXJpYS1oaWRkZW49ImZhbHNlIiBhcmlhLWxhYmVsPSJoZWxwLWljb24iXG4gICAgICAgICAgICAgICAgICAgIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ib3BlbkVkaXRKU09ORGlhbG9nKCRldmVudCkiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1lZGl0LXBhcmFtc1wnIHwgdHJhbnNsYXRlIH19Ij5lZGl0XG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb21tYW5kRm9ybS5nZXQoXCdwYXJhbXNcJykuaGFzRXJyb3IoXCdpbnZhbGlkSlNPTlwnKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmpzb24tdmFsdWUtaW52YWxpZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPSJ0ZW1wbGF0ZS1hY3Rpb25zIiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciIgZnhMYXlvdXRHYXA9IjEwcHgiPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9InNhdmUoKSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09ImNvbW1hbmRGb3JtLmludmFsaWQiPlxuICAgICAge3sgXCdnYXRld2F5LnJwYy1jb21tYW5kLXNhdmUtdGVtcGxhdGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0ic2VuZENvbW1hbmQuZW1pdCgpIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0iY29tbWFuZEZvcm0uaW52YWxpZCI+XG4gICAgICB7eyBcJ2dhdGV3YXkucnBjLWNvbW1hbmQtc2VuZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MH06aG9zdCAudGl0bGV7Zm9udC13ZWlnaHQ6NTAwfTpob3N0IC5jb21tYW5kLWZvcm17ZmxleC13cmFwOm5vd3JhcH06aG9zdCAuY29tbWFuZC1mb3JtPmJ1dHRvbnttYXJnaW4tdG9wOjEwcHh9Omhvc3QgLm1hdC1tZGMtc2xpZGUtdG9nZ2xlLm1hcmdpbnttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLWxlZnQ6MTBweH06aG9zdCAuZmllbGRzIC5maWVsZHMtbGFiZWx7Zm9udC13ZWlnaHQ6NTAwfTpob3N0IC5ib3JkZXJ7cGFkZGluZzoxNnB4O21hcmdpbi1ib3R0b206MTBweDtib3gtc2hhZG93OjAgMCAjMDAwMywwIDAgIzAwMDAwMDI0LDAgMCAjMDAwMDAwMWY7Ym9yZGVyOnNvbGlkIDFweCAjZTBlMGUwO2JvcmRlci1yYWRpdXM6NHB4fTpob3N0IC5ib3JkZXIgLnRpdGxle2NvbG9yOiMwMDAwMDA4YX06aG9zdCAuYm9yZGVyIC5tYXQtaWNvbntjb2xvcjojMDAwMDAwNjF9Omhvc3QgLmJvcmRlciAubWF0LWRpdmlkZXJ7bWFyZ2luLWxlZnQ6LTE2cHg7bWFyZ2luLXJpZ2h0Oi0xNnB4O21hcmdpbi1ib3R0b206MTZweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTpKZS5NYXREaWFsb2d9XSxwcm9wRGVjb3JhdG9yczp7Y29ubmVjdG9yVHlwZTpbe3R5cGU6YX1dLHNlbmRDb21tYW5kOlt7dHlwZTpsfV0sc2F2ZVRlbXBsYXRlOlt7dHlwZTpsfV19fSk7Y2xhc3MgTmEgZXh0ZW5kcyBQe2NvbnN0cnVjdG9yKGUsdCxuLGEsbyl7c3VwZXIoZSx0LGEpLHRoaXMuc3RvcmU9ZSx0aGlzLnJvdXRlcj10LHRoaXMuZGF0YT1uLHRoaXMuZGlhbG9nUmVmPWEsdGhpcy5mYj1vLHRoaXMuY29uZmlnPXRoaXMuZGF0YS5jb25maWcsdGhpcy50ZW1wbGF0ZXM9dGhpcy5kYXRhLnRlbXBsYXRlcyx0aGlzLnRlbXBsYXRlTmFtZUN0cmw9dGhpcy5mYi5jb250cm9sKCIiLFt1ZS5yZXF1aXJlZF0pfXZhbGlkYXRlRHVwbGljYXRlTmFtZShlKXtjb25zdCB0PWUudmFsdWUudHJpbSgpO3JldHVybiEhdGhpcy50ZW1wbGF0ZXMuZmluZCgoZT0+ZS5uYW1lPT09dCkpfWNsb3NlKCl7dGhpcy5kaWFsb2dSZWYuY2xvc2UoKX1zYXZlKCl7dGhpcy50ZW1wbGF0ZU5hbWVDdHJsLnNldFZhbHVlKHRoaXMudGVtcGxhdGVOYW1lQ3RybC52YWx1ZS50cmltKCkpLHRoaXMudGVtcGxhdGVOYW1lQ3RybC52YWxpZCYmdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy50ZW1wbGF0ZU5hbWVDdHJsLnZhbHVlKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOk5hLGRlcHM6W3t0b2tlbjpvdC5TdG9yZX0se3Rva2VuOml0LlJvdXRlcn0se3Rva2VuOlhlfSx7dG9rZW46SmUuTWF0RGlhbG9nUmVmfSx7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOk5hLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LXNlcnZpY2UtcnBjLWNvbm5lY3Rvci10ZW1wbGF0ZS1kaWFsb2ciLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10b29sYmFyIGNvbG9yPSJwcmltYXJ5Ij5cbiAgPGgyIHRyYW5zbGF0ZT5nYXRld2F5LnJwYy5zYXZlLXRlbXBsYXRlPC9oMj5cbiAgPHNwYW4gZnhGbGV4Pjwvc3Bhbj5cbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAoY2xpY2spPSJjbG9zZSgpIlxuICAgICAgICAgIHR5cGU9ImJ1dHRvbiI+XG4gICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+Y2xvc2U8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbjwvbWF0LXRvb2xiYXI+XG48ZGl2IG1hdC1kaWFsb2ctY29udGVudCBzdHlsZT0id2lkdGg6IDYwMHB4IiBjbGFzcz0ibWF0LWNvbnRlbnQiIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayB0Yi12YWx1ZS10eXBlIiBzdHlsZT0iZmxleC1ncm93OiAwIj5cbiAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnJwYy50ZW1wbGF0ZS1uYW1lPC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IFtmb3JtQ29udHJvbF09InRlbXBsYXRlTmFtZUN0cmwiIHJlcXVpcmVkLz5cbiAgICA8bWF0LWVycm9yXG4gICAgICAqbmdJZj0idGVtcGxhdGVOYW1lQ3RybC5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgIHt7IFwnZ2F0ZXdheS5ycGMudGVtcGxhdGUtbmFtZS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxkaXYgY2xhc3M9Im1hdC1tZGMtZm9ybS1maWVsZC1lcnJvciJcbiAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDogLTE1cHg7IHBhZGRpbmctbGVmdDogMTBweDsgZm9udC1zaXplOiAxNHB4OyJcbiAgICAgICAqbmdJZj0idmFsaWRhdGVEdXBsaWNhdGVOYW1lKHRlbXBsYXRlTmFtZUN0cmwpIj5cbiAgICB7eyBcJ2dhdGV3YXkucnBjLnRlbXBsYXRlLW5hbWUtZHVwbGljYXRlXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiPlxuICA8YnV0dG9uIG1hdC1idXR0b25cbiAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgKGNsaWNrKT0iY2xvc2UoKSI+XG4gICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG4gIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICBbZGlzYWJsZWRdPSIhdGVtcGxhdGVOYW1lQ3RybC52YWxpZCJcbiAgICAgICAgICAoY2xpY2spPSJzYXZlKCkiPlxuICAgIHt7IFwnYWN0aW9uLnNhdmVcJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbjwvZGl2PlxuJyxkZXBlbmRlbmNpZXM6W3traW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QnV0dG9uLHNlbGVjdG9yOiIgICAgYnV0dG9uW21hdC1idXR0b25dLCBidXR0b25bbWF0LXJhaXNlZC1idXR0b25dLCBidXR0b25bbWF0LWZsYXQtYnV0dG9uXSwgICAgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0gICIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRFcnJvcixzZWxlY3RvcjoibWF0LWVycm9yLCBbbWF0RXJyb3JdIixpbnB1dHM6WyJpZCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnJ0Lk1hdFRvb2xiYXIsc2VsZWN0b3I6Im1hdC10b29sYmFyIixpbnB1dHM6WyJjb2xvciJdLGV4cG9ydEFzOlsibWF0VG9vbGJhciJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOkplLk1hdERpYWxvZ0FjdGlvbnMsc2VsZWN0b3I6IlttYXQtZGlhbG9nLWFjdGlvbnNdLCBtYXQtZGlhbG9nLWFjdGlvbnMsIFttYXREaWFsb2dBY3Rpb25zXSIsaW5wdXRzOlsiYWxpZ24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpKZS5NYXREaWFsb2dDb250ZW50LHNlbGVjdG9yOiJbbWF0LWRpYWxvZy1jb250ZW50XSwgbWF0LWRpYWxvZy1jb250ZW50LCBbbWF0RGlhbG9nQ29udGVudF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRdLCBbZnhMYXlvdXQueHNdLCBbZnhMYXlvdXQuc21dLCBbZnhMYXlvdXQubWRdLCAgW2Z4TGF5b3V0LmxnXSwgW2Z4TGF5b3V0LnhsXSwgW2Z4TGF5b3V0Lmx0LXNtXSwgW2Z4TGF5b3V0Lmx0LW1kXSwgIFtmeExheW91dC5sdC1sZ10sIFtmeExheW91dC5sdC14bF0sIFtmeExheW91dC5ndC14c10sIFtmeExheW91dC5ndC1zbV0sICBbZnhMYXlvdXQuZ3QtbWRdLCBbZnhMYXlvdXQuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dCIsImZ4TGF5b3V0LnhzIiwiZnhMYXlvdXQuc20iLCJmeExheW91dC5tZCIsImZ4TGF5b3V0LmxnIiwiZnhMYXlvdXQueGwiLCJmeExheW91dC5sdC1zbSIsImZ4TGF5b3V0Lmx0LW1kIiwiZnhMYXlvdXQubHQtbGciLCJmeExheW91dC5sdC14bCIsImZ4TGF5b3V0Lmd0LXhzIiwiZnhMYXlvdXQuZ3Qtc20iLCJmeExheW91dC5ndC1tZCIsImZ4TGF5b3V0Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLlJlcXVpcmVkVmFsaWRhdG9yLHNlbGVjdG9yOiI6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sTmFtZV0sOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbF0sOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtuZ01vZGVsXSIsaW5wdXRzOlsicmVxdWlyZWQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2wiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV19KX19ZSgiR2F0ZXdheVNlcnZpY2VSUENDb25uZWN0b3JUZW1wbGF0ZURpYWxvZ0NvbXBvbmVudCIsTmEpLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6TmEsZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yLXRlbXBsYXRlLWRpYWxvZyIsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICA8aDIgdHJhbnNsYXRlPmdhdGV3YXkucnBjLnNhdmUtdGVtcGxhdGU8L2gyPlxuICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgIChjbGljayk9ImNsb3NlKCkiXG4gICAgICAgICAgdHlwZT0iYnV0dG9uIj5cbiAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9tYXQtdG9vbGJhcj5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IHN0eWxlPSJ3aWR0aDogNjAwcHgiIGNsYXNzPSJtYXQtY29udGVudCIgZnhMYXlvdXQ9ImNvbHVtbiI+XG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIHRiLXZhbHVlLXR5cGUiIHN0eWxlPSJmbGV4LWdyb3c6IDAiPlxuICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkucnBjLnRlbXBsYXRlLW5hbWU8L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT0idGVtcGxhdGVOYW1lQ3RybCIgcmVxdWlyZWQvPlxuICAgIDxtYXQtZXJyb3JcbiAgICAgICpuZ0lmPSJ0ZW1wbGF0ZU5hbWVDdHJsLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAge3sgXCdnYXRld2F5LnJwYy50ZW1wbGF0ZS1uYW1lLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPGRpdiBjbGFzcz0ibWF0LW1kYy1mb3JtLWZpZWxkLWVycm9yIlxuICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOiAtMTVweDsgcGFkZGluZy1sZWZ0OiAxMHB4OyBmb250LXNpemU6IDE0cHg7IlxuICAgICAgICpuZ0lmPSJ2YWxpZGF0ZUR1cGxpY2F0ZU5hbWUodGVtcGxhdGVOYW1lQ3RybCkiPlxuICAgIHt7IFwnZ2F0ZXdheS5ycGMudGVtcGxhdGUtbmFtZS1kdXBsaWNhdGVcJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gIDxidXR0b24gbWF0LWJ1dHRvblxuICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAoY2xpY2spPSJjbG9zZSgpIj5cbiAgICB7eyBcJ2FjdGlvbi5jYW5jZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgIFtkaXNhYmxlZF09IiF0ZW1wbGF0ZU5hbWVDdHJsLnZhbGlkIlxuICAgICAgICAgIChjbGljayk9InNhdmUoKSI+XG4gICAge3sgXCdhY3Rpb24uc2F2ZVwnIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4nfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm90LlN0b3JlfSx7dHlwZTppdC5Sb3V0ZXJ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpwLGFyZ3M6W1hlXX1dfSx7dHlwZTpKZS5NYXREaWFsb2dSZWZ9LHt0eXBlOm1lLkZvcm1CdWlsZGVyfV19KTtjbGFzcyBNYXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuZmI9ZSx0aGlzLmNkcj10LHRoaXMudmFsdWVUeXBlS2V5cz1PYmplY3QudmFsdWVzKEduKSx0aGlzLk1hcHBpbmdWYWx1ZVR5cGU9R24sdGhpcy52YWx1ZVR5cGVzPVZuLHRoaXMub25DaGFuZ2U9ZT0+e30sdGhpcy5vblRvdWNoZWQ9KCk9Pnt9LHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cD10aGlzLmZiLmdyb3VwKHttZXRob2Q6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sYXJndW1lbnRzOnRoaXMuZmIuYXJyYXkoW10pfSksdGhpcy5vYnNlcnZlVmFsdWVDaGFuZ2VzKCl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLm9uQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7dGhpcy5vblRvdWNoZWQ9ZX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAudmFsaWQ/bnVsbDp7cnBjUGFyYW1ldGVyc0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fX13cml0ZVZhbHVlKGUpe3RoaXMuY2xlYXJBcmd1bWVudHMoKSxlLmFyZ3VtZW50cz8ubWFwKCgoe3R5cGU6ZSx2YWx1ZTp0fSk9Pih7dHlwZTplLFtlXTp0fSkpKS5mb3JFYWNoKChlPT50aGlzLmFkZEFyZ3VtZW50KGUpKSksdGhpcy5jZHIubWFya0ZvckNoZWNrKCksdGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldCgibWV0aG9kIikucGF0Y2hWYWx1ZShlLm1ldGhvZCl9b2JzZXJ2ZVZhbHVlQ2hhbmdlcygpe3RoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57Y29uc3QgdD1lLmFyZ3VtZW50cy5tYXAoKCh7dHlwZTplLC4uLnR9KT0+KHt0eXBlOmUsdmFsdWU6dFtlXX0pKSk7dGhpcy5vbkNoYW5nZSh7bWV0aG9kOmUubWV0aG9kLGFyZ3VtZW50czp0fSksdGhpcy5vblRvdWNoZWQoKX0pKX1yZW1vdmVBcmd1bWVudChlKXt0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJhcmd1bWVudHMiKS5yZW1vdmVBdChlKX1hZGRBcmd1bWVudChlPXt9KXtjb25zdCB0PXRoaXMuZmIuZ3JvdXAoe3R5cGU6W2UudHlwZT8/R24uU1RSSU5HXSxzdHJpbmc6W2Uuc3RyaW5nPz97dmFsdWU6IiIsZGlzYWJsZWQ6IShlZShlLHt9KXx8ZS5zdHJpbmcpfSxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxpbnRlZ2VyOlt7dmFsdWU6ZS5pbnRlZ2VyPz8wLGRpc2FibGVkOiFpZShlLmludGVnZXIpfSxbdWUucmVxdWlyZWQsdWUucGF0dGVybihMdCldXSxkb3VibGU6W3t2YWx1ZTplLmRvdWJsZT8/MCxkaXNhYmxlZDohaWUoZS5kb3VibGUpfSxbdWUucmVxdWlyZWRdXSxib29sZWFuOlt7dmFsdWU6ZS5ib29sZWFuPz8hMSxkaXNhYmxlZDohaWUoZS5ib29sZWFuKX0sW3VlLnJlcXVpcmVkXV19KTt0aGlzLm9ic2VydmVUeXBlQ2hhbmdlKHQpLHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoImFyZ3VtZW50cyIpLnB1c2godCx7ZW1pdEV2ZW50OiExfSl9Y2xlYXJBcmd1bWVudHMoKXtjb25zdCBlPXRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoImFyZ3VtZW50cyIpO2Zvcig7MCE9PWUubGVuZ3RoOyllLnJlbW92ZUF0KDApfW9ic2VydmVUeXBlQ2hhbmdlKGUpe2UuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgodD0+e2UuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksZS5nZXQoInR5cGUiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLGUuZ2V0KHQpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSl9KSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpNYSxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjp0LkNoYW5nZURldGVjdG9yUmVmfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpNYSxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLWdhdGV3YXktb3BjLXJwYy1wYXJhbWV0ZXJzIixwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5NYSkpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+TWEpKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPSJycGNQYXJhbWV0ZXJzRm9ybUdyb3VwIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCB0Yi1mbGV4IG5vLXBhZGRpbmctdG9wIGhpbnQtY29udGFpbmVyIj5cbiAgICB7eyBcJ2dhdGV3YXkucnBjLmhpbnQub3BjLW1ldGhvZFwnIHwgdHJhbnNsYXRlIH19XG4gIDwvZGl2PlxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXgiPlxuICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZCIgcGxhY2Vob2xkZXI9Im11bHRpcGx5Ii8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxmaWVsZHNldCBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIGFyZ3VtZW50cy1jb250YWluZXIiIGZ4TGF5b3V0PSJjb2x1bW4iIGZvcm1BcnJheU5hbWU9ImFyZ3VtZW50cyI+XG4gICAgPHN0cm9uZz5cbiAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZHMtbGFiZWwiPnt7IFwnZ2F0ZXdheS5ycGMuYXJndW1lbnRzXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPC9zdHJvbmc+XG4gICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRHYXA9IjEwcHgiIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiXG4gICAgICAgICAqbmdGb3I9ImxldCBhcmd1bWVudEZvcm1Hcm91cCBvZiBycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ2FyZ3VtZW50c1wnKVtcJ2NvbnRyb2xzXCddOyBsZXQgaSA9IGluZGV4IiBbZm9ybUdyb3VwXT0iYXJndW1lbnRGb3JtR3JvdXAiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIHR5cGUtY29udGFpbmVyIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS50eXBlPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGZpbGwtd2lkdGgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICA8bWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0idGItbWF0LTE4IiBbc3ZnSWNvbl09InZhbHVlVHlwZXMuZ2V0KGFyZ3VtZW50Rm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUpPy5pY29uIj5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57eyB2YWx1ZVR5cGVzLmdldChhcmd1bWVudEZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8ubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHZhbHVlVHlwZSBvZiB2YWx1ZVR5cGVLZXlzIiBbdmFsdWVdPSJ2YWx1ZVR5cGUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0idGItbWF0LTIwIiBzdmdJY29uPSJ7eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLmljb24gfX0iPlxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgdmFsdWVUeXBlcy5nZXQodmFsdWVUeXBlKS5uYW1lIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyB2YWx1ZS1jb250YWluZXIiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnZhbHVlPC9kaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09ImFyZ3VtZW50Rm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUiPlxuICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuU1RSSU5HIiBtYXRJbnB1dCByZXF1aXJlZCBmb3JtQ29udHJvbE5hbWU9InN0cmluZyJcbiAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuSU5URUdFUiIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJpbnRlZ2VyIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIgLz5cbiAgICAgICAgICAgIDxpbnB1dCAqbmdTd2l0Y2hDYXNlPSJNYXBwaW5nVmFsdWVUeXBlLkRPVUJMRSIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJkb3VibGUiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgKm5nU3dpdGNoQ2FzZT0iTWFwcGluZ1ZhbHVlVHlwZS5CT09MRUFOIiBmb3JtQ29udHJvbE5hbWU9ImJvb2xlYW4iPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPSJ0cnVlIj50cnVlPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPSJmYWxzZSI+ZmFsc2U8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImFyZ3VtZW50Rm9ybUdyb3VwLmdldChhcmd1bWVudEZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBhcmd1bWVudEZvcm1Hcm91cC5nZXQoYXJndW1lbnRGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSkudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPSJyZW1vdmVBcmd1bWVudChpKSJcbiAgICAgICAgICAgICAgY2xhc3M9InRiLWJveC1idXR0b24iXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5ycGMucmVtb3ZlXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIGZ4RmxleEFsaWduPSJzdGFydCJcbiAgICAgICAgICAgIChjbGljayk9ImFkZEFyZ3VtZW50KCkiPlxuICAgICAge3sgXCdnYXRld2F5LnJwYy5hZGQtYXJndW1lbnRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2ZpZWxkc2V0PlxuPC9uZy1jb250YWluZXI+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCAuYXJndW1lbnRzLWNvbnRhaW5lcnttYXJnaW4tYm90dG9tOjEwcHh9Omhvc3QgLnR5cGUtY29udGFpbmVye3dpZHRoOjQwJX06aG9zdCAudmFsdWUtY29udGFpbmVye3dpZHRoOjUwJX06aG9zdCAuaGludC1jb250YWluZXJ7bWFyZ2luLWJvdHRvbToxMnB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaCxzZWxlY3RvcjoiW25nU3dpdGNoXSIsaW5wdXRzOlsibmdTd2l0Y2giXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoQ2FzZSxzZWxlY3RvcjoiW25nU3dpdGNoQ2FzZV0iLGlucHV0czpbIm5nU3dpdGNoQ2FzZSJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdFN1ZmZpeCxzZWxlY3RvcjoiW21hdFN1ZmZpeF0sIFttYXRJY29uU3VmZml4XSwgW21hdFRleHRTdWZmaXhdIixpbnB1dHM6WyJtYXRUZXh0U3VmZml4Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp3ZS5NYXRTZWxlY3RUcmlnZ2VyLHNlbGVjdG9yOiJtYXQtc2VsZWN0LXRyaWdnZXIifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEdhcERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRHYXBdLCBbZnhMYXlvdXRHYXAueHNdLCBbZnhMYXlvdXRHYXAuc21dLCBbZnhMYXlvdXRHYXAubWRdLCAgW2Z4TGF5b3V0R2FwLmxnXSwgW2Z4TGF5b3V0R2FwLnhsXSwgW2Z4TGF5b3V0R2FwLmx0LXNtXSwgW2Z4TGF5b3V0R2FwLmx0LW1kXSwgIFtmeExheW91dEdhcC5sdC1sZ10sIFtmeExheW91dEdhcC5sdC14bF0sIFtmeExheW91dEdhcC5ndC14c10sIFtmeExheW91dEdhcC5ndC1zbV0sICBbZnhMYXlvdXRHYXAuZ3QtbWRdLCBbZnhMYXlvdXRHYXAuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEdhcCIsImZ4TGF5b3V0R2FwLnhzIiwiZnhMYXlvdXRHYXAuc20iLCJmeExheW91dEdhcC5tZCIsImZ4TGF5b3V0R2FwLmxnIiwiZnhMYXlvdXRHYXAueGwiLCJmeExheW91dEdhcC5sdC1zbSIsImZ4TGF5b3V0R2FwLmx0LW1kIiwiZnhMYXlvdXRHYXAubHQtbGciLCJmeExheW91dEdhcC5sdC14bCIsImZ4TGF5b3V0R2FwLmd0LXhzIiwiZnhMYXlvdXRHYXAuZ3Qtc20iLCJmeExheW91dEdhcC5ndC1tZCIsImZ4TGF5b3V0R2FwLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeEZsZXhBbGlnbl0sIFtmeEZsZXhBbGlnbi54c10sIFtmeEZsZXhBbGlnbi5zbV0sIFtmeEZsZXhBbGlnbi5tZF0sICBbZnhGbGV4QWxpZ24ubGddLCBbZnhGbGV4QWxpZ24ueGxdLCBbZnhGbGV4QWxpZ24ubHQtc21dLCBbZnhGbGV4QWxpZ24ubHQtbWRdLCAgW2Z4RmxleEFsaWduLmx0LWxnXSwgW2Z4RmxleEFsaWduLmx0LXhsXSwgW2Z4RmxleEFsaWduLmd0LXhzXSwgW2Z4RmxleEFsaWduLmd0LXNtXSwgIFtmeEZsZXhBbGlnbi5ndC1tZF0sIFtmeEZsZXhBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4RmxleEFsaWduIiwiZnhGbGV4QWxpZ24ueHMiLCJmeEZsZXhBbGlnbi5zbSIsImZ4RmxleEFsaWduLm1kIiwiZnhGbGV4QWxpZ24ubGciLCJmeEZsZXhBbGlnbi54bCIsImZ4RmxleEFsaWduLmx0LXNtIiwiZnhGbGV4QWxpZ24ubHQtbWQiLCJmeEZsZXhBbGlnbi5sdC1sZyIsImZ4RmxleEFsaWduLmx0LXhsIiwiZnhGbGV4QWxpZ24uZ3QteHMiLCJmeEZsZXhBbGlnbi5ndC1zbSIsImZ4RmxleEFsaWduLmd0LW1kIiwiZnhGbGV4QWxpZ24uZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRGbGV4RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeEZsZXhdLCBbZnhGbGV4LnhzXSwgW2Z4RmxleC5zbV0sIFtmeEZsZXgubWRdLCAgW2Z4RmxleC5sZ10sIFtmeEZsZXgueGxdLCBbZnhGbGV4Lmx0LXNtXSwgW2Z4RmxleC5sdC1tZF0sICBbZnhGbGV4Lmx0LWxnXSwgW2Z4RmxleC5sdC14bF0sIFtmeEZsZXguZ3QteHNdLCBbZnhGbGV4Lmd0LXNtXSwgIFtmeEZsZXguZ3QtbWRdLCBbZnhGbGV4Lmd0LWxnXSIsaW5wdXRzOlsiZnhGbGV4IiwiZnhGbGV4LnhzIiwiZnhGbGV4LnNtIiwiZnhGbGV4Lm1kIiwiZnhGbGV4LmxnIiwiZnhGbGV4LnhsIiwiZnhGbGV4Lmx0LXNtIiwiZnhGbGV4Lmx0LW1kIiwiZnhGbGV4Lmx0LWxnIiwiZnhGbGV4Lmx0LXhsIiwiZnhGbGV4Lmd0LXhzIiwiZnhGbGV4Lmd0LXNtIiwiZnhGbGV4Lmd0LW1kIiwiZnhGbGV4Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTnVtYmVyVmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbmdNb2RlbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5SZXF1aXJlZFZhbGlkYXRvcixzZWxlY3RvcjoiOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbE5hbWVdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bbmdNb2RlbF0iLGlucHV0czpbInJlcXVpcmVkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1BcnJheU5hbWUsc2VsZWN0b3I6Iltmb3JtQXJyYXlOYW1lXSIsaW5wdXRzOlsiZm9ybUFycmF5TmFtZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX10Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOk1hLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1nYXRld2F5LW9wYy1ycGMtcGFyYW1ldGVycyIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9Pk1hKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5NYSkpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILERdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0icnBjUGFyYW1ldGVyc0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwgdGItZmxleCBuby1wYWRkaW5nLXRvcCBoaW50LWNvbnRhaW5lciI+XG4gICAge3sgXCdnYXRld2F5LnJwYy5oaW50Lm9wYy1tZXRob2RcJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2Rpdj5cbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiIHBsYWNlaG9sZGVyPSJtdWx0aXBseSIvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8ZmllbGRzZXQgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCBhcmd1bWVudHMtY29udGFpbmVyIiBmeExheW91dD0iY29sdW1uIiBmb3JtQXJyYXlOYW1lPSJhcmd1bWVudHMiPlxuICAgIDxzdHJvbmc+XG4gICAgICA8c3BhbiBjbGFzcz0iZmllbGRzLWxhYmVsIj57eyBcJ2dhdGV3YXkucnBjLmFyZ3VtZW50c1wnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgIDwvc3Ryb25nPlxuICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgKm5nRm9yPSJsZXQgYXJndW1lbnRGb3JtR3JvdXAgb2YgcnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCdhcmd1bWVudHNcJylbXCdjb250cm9sc1wnXTsgbGV0IGkgPSBpbmRleCIgW2Zvcm1Hcm91cF09ImFyZ3VtZW50Rm9ybUdyb3VwIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyB0eXBlLWNvbnRhaW5lciIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudHlwZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBmaWxsLXdpZHRoIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgICAgPG1hdC1zZWxlY3QtdHJpZ2dlcj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGFsaWduLWNlbnRlciI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0xOCIgW3N2Z0ljb25dPSJ2YWx1ZVR5cGVzLmdldChhcmd1bWVudEZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8uaWNvbiI+XG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgdmFsdWVUeXBlcy5nZXQoYXJndW1lbnRGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSk/Lm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB2YWx1ZVR5cGUgb2YgdmFsdWVUeXBlS2V5cyIgW3ZhbHVlXT0idmFsdWVUeXBlIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0yMCIgc3ZnSWNvbj0ie3sgdmFsdWVUeXBlcy5nZXQodmFsdWVUeXBlKS5pY29uIH19Ij5cbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7IHZhbHVlVHlwZXMuZ2V0KHZhbHVlVHlwZSkubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMgdmFsdWUtY29udGFpbmVyIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS52YWx1ZTwvZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4IGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyIgY2xhc3M9InRiLWlubGluZS1maWVsZCBmbGV4IHRiLXN1ZmZpeC1hYnNvbHV0ZSI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJhcmd1bWVudEZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlIj5cbiAgICAgICAgICAgIDxpbnB1dCAqbmdTd2l0Y2hDYXNlPSJNYXBwaW5nVmFsdWVUeXBlLlNUUklORyIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJzdHJpbmciXG4gICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIgLz5cbiAgICAgICAgICAgIDxpbnB1dCAqbmdTd2l0Y2hDYXNlPSJNYXBwaW5nVmFsdWVUeXBlLklOVEVHRVIiIG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0iaW50ZWdlciIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iIC8+XG4gICAgICAgICAgICA8aW5wdXQgKm5nU3dpdGNoQ2FzZT0iTWFwcGluZ1ZhbHVlVHlwZS5ET1VCTEUiIG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0iZG91YmxlIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIgLz5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuQk9PTEVBTiIgZm9ybUNvbnRyb2xOYW1lPSJib29sZWFuIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT0idHJ1ZSI+dHJ1ZTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT0iZmFsc2UiPmZhbHNlPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudmFsdWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJhcmd1bWVudEZvcm1Hcm91cC5nZXQoYXJndW1lbnRGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSkuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgYXJndW1lbnRGb3JtR3JvdXAuZ2V0KGFyZ3VtZW50Rm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0icmVtb3ZlQXJndW1lbnQoaSkiXG4gICAgICAgICAgICAgIGNsYXNzPSJ0Yi1ib3gtYnV0dG9uIlxuICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkucnBjLnJlbW92ZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICBmeEZsZXhBbGlnbj0ic3RhcnQiXG4gICAgICAgICAgICAoY2xpY2spPSJhZGRBcmd1bWVudCgpIj5cbiAgICAgIHt7IFwnZ2F0ZXdheS5ycGMuYWRkLWFyZ3VtZW50XCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9maWVsZHNldD5cbjwvbmctY29udGFpbmVyPlxuXG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLmFyZ3VtZW50cy1jb250YWluZXJ7bWFyZ2luLWJvdHRvbToxMHB4fTpob3N0IC50eXBlLWNvbnRhaW5lcnt3aWR0aDo0MCV9Omhvc3QgLnZhbHVlLWNvbnRhaW5lcnt3aWR0aDo1MCV9Omhvc3QgLmhpbnQtY29udGFpbmVye21hcmdpbi1ib3R0b206MTJweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTp0LkNoYW5nZURldGVjdG9yUmVmfV19KTtjbGFzcyBFYXtjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy5vbkNoYW5nZT1lPT57fSx0aGlzLm9uVG91Y2hlZD0oKT0+e30sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe21ldGhvZEZpbHRlcjpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxyZXF1ZXN0VG9waWNFeHByZXNzaW9uOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHJlc3BvbnNlVG9waWNFeHByZXNzaW9uOlt7dmFsdWU6bnVsbCxkaXNhYmxlZDohMH0sW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVzcG9uc2VUaW1lb3V0Olt7dmFsdWU6bnVsbCxkaXNhYmxlZDohMH0sW3VlLm1pbigxMCksdWUucGF0dGVybihMdCldXSx2YWx1ZUV4cHJlc3Npb246W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sd2l0aFJlc3BvbnNlOlshMSxbXV19KSx0aGlzLm9ic2VydmVWYWx1ZUNoYW5nZXMoKSx0aGlzLm9ic2VydmVXaXRoUmVzcG9uc2UoKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMub25DaGFuZ2U9ZX1yZWdpc3Rlck9uVG91Y2hlZChlKXt0aGlzLm9uVG91Y2hlZD1lfXZhbGlkYXRlKCl7cmV0dXJuIHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC52YWxpZD9udWxsOntycGNQYXJhbWV0ZXJzRm9ybUdyb3VwOnt2YWxpZDohMX19fXdyaXRlVmFsdWUoZSl7dGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLnBhdGNoVmFsdWUoZSx7ZW1pdEV2ZW50OiExfSksdGhpcy50b2dnbGVSZXNwb25zZUZpZWxkcyhlLndpdGhSZXNwb25zZSl9b2JzZXJ2ZVZhbHVlQ2hhbmdlcygpe3RoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpfW9ic2VydmVXaXRoUmVzcG9uc2UoKXt0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJ3aXRoUmVzcG9uc2UiKS52YWx1ZUNoYW5nZXMucGlwZShFZSgoZT0+dGhpcy50b2dnbGVSZXNwb25zZUZpZWxkcyhlKSkpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKX10b2dnbGVSZXNwb25zZUZpZWxkcyhlKXtjb25zdCB0PXRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoInJlc3BvbnNlVG9waWNFeHByZXNzaW9uIiksbj10aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJyZXNwb25zZVRpbWVvdXQiKTtlPyh0LmVuYWJsZSgpLG4uZW5hYmxlKCkpOih0LmRpc2FibGUoKSxuLmRpc2FibGUoKSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpFYSxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOkVhLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItZ2F0ZXdheS1tcXR0LXJwYy1wYXJhbWV0ZXJzIixwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5FYSkpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+RWEpKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPSJycGNQYXJhbWV0ZXJzRm9ybUdyb3VwIj5cbiAgPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2QtbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIlxuICAgICAgICAgICBwbGFjZWhvbGRlcj0iZWNobyIvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlcXVlc3RUb3BpY0V4cHJlc3Npb25cJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RUb3BpY0V4cHJlc3Npb24iXG4gICAgICAgICAgIHBsYWNlaG9sZGVyPSJzZW5zb3IvJHtkZXZpY2VOYW1lfS9yZXF1ZXN0LyR7bWV0aG9kTmFtZX0vJHtyZXF1ZXN0SWR9Ii8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXJnaW4iIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSIgZm9ybUNvbnRyb2xOYW1lPSJ3aXRoUmVzcG9uc2UiPlxuICAgIHt7IFwnZ2F0ZXdheS5ycGMud2l0aFJlc3BvbnNlXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9InJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwnd2l0aFJlc3BvbnNlXCcpPy52YWx1ZSI+XG4gICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlc3BvbnNlVG9waWNFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRvcGljRXhwcmVzc2lvbiJcbiAgICAgICAgICAgcGxhY2Vob2xkZXI9InNlbnNvci8ke2RldmljZU5hbWV9L3Jlc3BvbnNlLyR7bWV0aG9kTmFtZX0vJHtyZXF1ZXN0SWR9Ii8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtZm9ybS1maWVsZCAqbmdJZj0icnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCd3aXRoUmVzcG9uc2VcJyk/LnZhbHVlIj5cbiAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVzcG9uc2VUaW1lb3V0XCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRpbWVvdXQiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgcGxhY2Vob2xkZXI9IjEwMDAwIiBtaW49IjEwIiBzdGVwPSIxIi8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iXG4gICAgICAgICAgIHBsYWNlaG9sZGVyPSIke3BhcmFtc30iLz5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvbmctY29udGFpbmVyPlxuXG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn06aG9zdCAubWF0LW1kYy1zbGlkZS10b2dnbGUubWFyZ2lue21hcmdpbi1ib3R0b206MTBweDttYXJnaW4tbGVmdDoxMHB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTnVtYmVyVmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbmdNb2RlbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5NaW5WYWxpZGF0b3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW25nTW9kZWxdIixpbnB1dHM6WyJtaW4iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV0sY2hhbmdlRGV0ZWN0aW9uOnQuQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNofSl9fXQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6RWEsZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktbXF0dC1ycGMtcGFyYW1ldGVycyIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PkVhKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5FYSkpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILERdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0icnBjUGFyYW1ldGVyc0Zvcm1Hcm91cCI+XG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kLW5hbWVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZEZpbHRlciJcbiAgICAgICAgICAgcGxhY2Vob2xkZXI9ImVjaG8iLz5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXF1ZXN0VG9waWNFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0VG9waWNFeHByZXNzaW9uIlxuICAgICAgICAgICBwbGFjZWhvbGRlcj0ic2Vuc29yLyR7ZGV2aWNlTmFtZX0vcmVxdWVzdC8ke21ldGhvZE5hbWV9LyR7cmVxdWVzdElkfSIvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWFyZ2luIiAoY2xpY2spPSIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkiIGZvcm1Db250cm9sTmFtZT0id2l0aFJlc3BvbnNlIj5cbiAgICB7eyBcJ2dhdGV3YXkucnBjLndpdGhSZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPSJycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ3dpdGhSZXNwb25zZVwnKT8udmFsdWUiPlxuICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXNwb25zZVRvcGljRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUb3BpY0V4cHJlc3Npb24iXG4gICAgICAgICAgIHBsYWNlaG9sZGVyPSJzZW5zb3IvJHtkZXZpY2VOYW1lfS9yZXNwb25zZS8ke21ldGhvZE5hbWV9LyR7cmVxdWVzdElkfSIvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9InJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwnd2l0aFJlc3BvbnNlXCcpPy52YWx1ZSI+XG4gICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlc3BvbnNlVGltZW91dFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUaW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgIHBsYWNlaG9sZGVyPSIxMDAwMCIgbWluPSIxMCIgc3RlcD0iMSIvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnZhbHVlRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIlxuICAgICAgICAgICBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG48L25nLWNvbnRhaW5lcj5cblxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Omhvc3QgLm1hdC1tZGMtc2xpZGUtdG9nZ2xlLm1hcmdpbnttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLWxlZnQ6MTBweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfV19KTtjbGFzcyBxYXtjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy5Nb2RidXNFZGl0YWJsZURhdGFUeXBlcz10YSx0aGlzLk1vZGJ1c0Z1bmN0aW9uQ29kZVRyYW5zbGF0aW9uc01hcD16dCx0aGlzLm1vZGJ1c0RhdGFUeXBlcz1PYmplY3QudmFsdWVzKGVhKSx0aGlzLndyaXRlRnVuY3Rpb25Db2Rlcz1bNSw2LDE1LDE2XSx0aGlzLmRlZmF1bHRGdW5jdGlvbkNvZGVzPVszLDQsNiwxNl0sdGhpcy5yZWFkRnVuY3Rpb25Db2Rlcz1bMSwyLDMsNF0sdGhpcy5iaXRzRnVuY3Rpb25Db2Rlcz1bLi4udGhpcy5yZWFkRnVuY3Rpb25Db2RlcywuLi50aGlzLndyaXRlRnVuY3Rpb25Db2Rlc10sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe3R5cGU6W2VhLkJZVEVTLFt1ZS5yZXF1aXJlZF1dLGZ1bmN0aW9uQ29kZTpbdGhpcy5kZWZhdWx0RnVuY3Rpb25Db2Rlc1swXSxbdWUucmVxdWlyZWRdXSx2YWx1ZTpbe3ZhbHVlOiIiLGRpc2FibGVkOiEwfSxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxhZGRyZXNzOltudWxsLFt1ZS5yZXF1aXJlZF1dLG9iamVjdHNDb3VudDpbMSxbdWUucmVxdWlyZWRdXX0pLHRoaXMudXBkYXRlRnVuY3Rpb25Db2Rlcyh0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWUpLHRoaXMub2JzZXJ2ZVZhbHVlQ2hhbmdlcygpLHRoaXMub2JzZXJ2ZUtleURhdGFUeXBlKCksdGhpcy5vYnNlcnZlRnVuY3Rpb25Db2RlKCl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLm9uQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7dGhpcy5vblRvdWNoZWQ9ZX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAudmFsaWQ/bnVsbDp7cnBjUGFyYW1ldGVyc0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fX13cml0ZVZhbHVlKGUpe3RoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5wYXRjaFZhbHVlKGUse2VtaXRFdmVudDohMX0pfW9ic2VydmVWYWx1ZUNoYW5nZXMoKXt0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMub25DaGFuZ2UoZSksdGhpcy5vblRvdWNoZWQoKX0pKX1vYnNlcnZlS2V5RGF0YVR5cGUoKXt0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMuTW9kYnVzRWRpdGFibGVEYXRhVHlwZXMuaW5jbHVkZXMoZSl8fHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoIm9iamVjdHNDb3VudCIpLnBhdGNoVmFsdWUobmFbZV0se2VtaXRFdmVudDohMX0pLHRoaXMudXBkYXRlRnVuY3Rpb25Db2RlcyhlKX0pKX1vYnNlcnZlRnVuY3Rpb25Db2RlKCl7dGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldCgiZnVuY3Rpb25Db2RlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+dGhpcy51cGRhdGVWYWx1ZUVuYWJsaW5nKGUpKSl9dXBkYXRlVmFsdWVFbmFibGluZyhlKXt0aGlzLndyaXRlRnVuY3Rpb25Db2Rlcy5pbmNsdWRlcyhlKT90aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJ2YWx1ZSIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSk6KHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoInZhbHVlIikuc2V0VmFsdWUobnVsbCksdGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldCgidmFsdWUiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSl9dXBkYXRlRnVuY3Rpb25Db2RlcyhlKXt0aGlzLmZ1bmN0aW9uQ29kZXM9ZT09PWVhLkJJVFM/dGhpcy5iaXRzRnVuY3Rpb25Db2Rlczp0aGlzLmRlZmF1bHRGdW5jdGlvbkNvZGVzLHRoaXMuZnVuY3Rpb25Db2Rlcy5pbmNsdWRlcyh0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJmdW5jdGlvbkNvZGUiKS52YWx1ZSl8fHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoImZ1bmN0aW9uQ29kZSIpLnBhdGNoVmFsdWUodGhpcy5mdW5jdGlvbkNvZGVzWzBdLHtlbWl0RXZlbnQ6ITF9KX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnFhLGRlcHM6W3t0b2tlbjptZS5Gb3JtQnVpbGRlcn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6cWEsaXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LW1vZGJ1cy1ycGMtcGFyYW1ldGVycyIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+cWEpKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PnFhKSksbXVsdGk6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0icnBjUGFyYW1ldGVyc0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwgdGItZmxleCBuby1wYWRkaW5nLXRvcCBoaW50LWNvbnRhaW5lciI+XG4gICAge3sgXCdnYXRld2F5LnJwYy5oaW50Lm1vZGJ1cy1yZXNwb25zZS1yZWFkaW5nXCcgfCB0cmFuc2xhdGUgfX08YnI+XG4gICAge3sgXCdnYXRld2F5LnJwYy5oaW50Lm1vZGJ1cy13cml0aW5nLWZ1bmN0aW9uc1wnIHwgdHJhbnNsYXRlIH19XG4gIDwvZGl2PlxuICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBtb2RidXNEYXRhVHlwZXMiIFt2YWx1ZV09InR5cGUiPnt7IHR5cGUgfX08L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCIgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuZnVuY3Rpb25Db2RlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZnVuY3Rpb25Db2RlIj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgY29kZSBvZiBmdW5jdGlvbkNvZGVzIiBbdmFsdWVdPSJjb2RlIj57eyBNb2RidXNGdW5jdGlvbkNvZGVUcmFuc2xhdGlvbnNNYXAuZ2V0KGNvZGUpIHwgdHJhbnNsYXRlfX08L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9kaXY+XG4gIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4Ij5cbiAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCI+XG4gICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuYWRkcmVzc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG1heD0iNTAwMDAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImFkZHJlc3MiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuYWRkcmVzcy1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAqbmdJZj0icnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCdhZGRyZXNzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ2FkZHJlc3NcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICB3YXJuaW5nXG4gICAgICA8L21hdC1pY29uPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm9iamVjdHNDb3VudFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXRcbiAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgdHlwZT0ibnVtYmVyIlxuICAgICAgICBtaW49IjEiXG4gICAgICAgIG1heD0iNTAwMDAiXG4gICAgICAgIG5hbWU9InZhbHVlIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9Im9iamVjdHNDb3VudCJcbiAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgW3JlYWRvbmx5XT0iIU1vZGJ1c0VkaXRhYmxlRGF0YVR5cGVzLmluY2x1ZGVzKHJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSkiXG4gICAgICAvPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPSJ3cml0ZUZ1bmN0aW9uQ29kZXMuaW5jbHVkZXMocnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCdmdW5jdGlvbkNvZGVcJykudmFsdWUpIiBmeEZsZXggZnhMYXlvdXQ9InJvdyI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iMTAwIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy52YWx1ZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmFsdWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudmFsdWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgKm5nSWY9InJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwndmFsdWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJiBycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ3ZhbHVlXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIlxuICAgICAgPlxuICAgICAgICB3YXJuaW5nXG4gICAgICA8L21hdC1pY29uPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCAuaGludC1jb250YWluZXJ7bWFyZ2luLWJvdHRvbToxMnB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdFN1ZmZpeCxzZWxlY3RvcjoiW21hdFN1ZmZpeF0sIFttYXRJY29uU3VmZml4XSwgW21hdFRleHRTdWZmaXhdIixpbnB1dHM6WyJtYXRUZXh0U3VmZml4Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpDZS5NYXRPcHRpb24sc2VsZWN0b3I6Im1hdC1vcHRpb24iLGlucHV0czpbInZhbHVlIiwiaWQiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJvblNlbGVjdGlvbkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0T3B0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6emUuTWF0VG9vbHRpcCxzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixpbnB1dHM6WyJtYXRUb29sdGlwUG9zaXRpb24iLCJtYXRUb29sdGlwUG9zaXRpb25BdE9yaWdpbiIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBTaG93RGVsYXkiLCJtYXRUb29sdGlwSGlkZURlbGF5IiwibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcENsYXNzIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRHYXBEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0R2FwXSwgW2Z4TGF5b3V0R2FwLnhzXSwgW2Z4TGF5b3V0R2FwLnNtXSwgW2Z4TGF5b3V0R2FwLm1kXSwgIFtmeExheW91dEdhcC5sZ10sIFtmeExheW91dEdhcC54bF0sIFtmeExheW91dEdhcC5sdC1zbV0sIFtmeExheW91dEdhcC5sdC1tZF0sICBbZnhMYXlvdXRHYXAubHQtbGddLCBbZnhMYXlvdXRHYXAubHQteGxdLCBbZnhMYXlvdXRHYXAuZ3QteHNdLCBbZnhMYXlvdXRHYXAuZ3Qtc21dLCAgW2Z4TGF5b3V0R2FwLmd0LW1kXSwgW2Z4TGF5b3V0R2FwLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRHYXAiLCJmeExheW91dEdhcC54cyIsImZ4TGF5b3V0R2FwLnNtIiwiZnhMYXlvdXRHYXAubWQiLCJmeExheW91dEdhcC5sZyIsImZ4TGF5b3V0R2FwLnhsIiwiZnhMYXlvdXRHYXAubHQtc20iLCJmeExheW91dEdhcC5sdC1tZCIsImZ4TGF5b3V0R2FwLmx0LWxnIiwiZnhMYXlvdXRHYXAubHQteGwiLCJmeExheW91dEdhcC5ndC14cyIsImZ4TGF5b3V0R2FwLmd0LXNtIiwiZnhMYXlvdXRHYXAuZ3QtbWQiLCJmeExheW91dEdhcC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OdW1iZXJWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVtuZ01vZGVsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1pblZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLGlucHV0czpbIm1pbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1heFZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21heF1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21heF1bbmdNb2RlbF0iLGlucHV0czpbIm1heCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19dC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpxYSxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItZ2F0ZXdheS1tb2RidXMtcnBjLXBhcmFtZXRlcnMiLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5xYSkpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+cWEpKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxEXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09InJwY1BhcmFtZXRlcnNGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggbm8tcGFkZGluZy10b3AgaGludC1jb250YWluZXIiPlxuICAgIHt7IFwnZ2F0ZXdheS5ycGMuaGludC5tb2RidXMtcmVzcG9uc2UtcmVhZGluZ1wnIHwgdHJhbnNsYXRlIH19PGJyPlxuICAgIHt7IFwnZ2F0ZXdheS5ycGMuaGludC5tb2RidXMtd3JpdGluZy1mdW5jdGlvbnNcJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2Rpdj5cbiAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRHYXA9IjEwcHgiPlxuICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjUwIiBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy50eXBlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2YgbW9kYnVzRGF0YVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj57eyB0eXBlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmZ1bmN0aW9uQ29kZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImZ1bmN0aW9uQ29kZSI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGNvZGUgb2YgZnVuY3Rpb25Db2RlcyIgW3ZhbHVlXT0iY29kZSI+e3sgTW9kYnVzRnVuY3Rpb25Db2RlVHJhbnNsYXRpb25zTWFwLmdldChjb2RlKSB8IHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmFkZHJlc3NcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBtYXg9IjUwMDAwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJhZGRyZXNzIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmFkZHJlc3MtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgKm5nSWY9InJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwnYWRkcmVzc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCdhZGRyZXNzXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgd2FybmluZ1xuICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjUwIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5vYmplY3RzQ291bnRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0XG4gICAgICAgIG1hdElucHV0XG4gICAgICAgIHR5cGU9Im51bWJlciJcbiAgICAgICAgbWluPSIxIlxuICAgICAgICBtYXg9IjUwMDAwIlxuICAgICAgICBuYW1lPSJ2YWx1ZSJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJvYmplY3RzQ291bnQiXG4gICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgIFtyZWFkb25seV09IiFNb2RidXNFZGl0YWJsZURhdGFUeXBlcy5pbmNsdWRlcyhycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUpIlxuICAgICAgLz5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj0id3JpdGVGdW5jdGlvbkNvZGVzLmluY2x1ZGVzKHJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwnZnVuY3Rpb25Db2RlXCcpLnZhbHVlKSIgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciPlxuICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjEwMCI+XG4gICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InZhbHVlIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnZhbHVlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICpuZ0lmPSJycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ3ZhbHVlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYgcnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCd2YWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciJcbiAgICAgID5cbiAgICAgICAgd2FybmluZ1xuICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLmhpbnQtY29udGFpbmVye21hcmdpbi1ib3R0b206MTJweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfV19KTtjbGFzcyBEYXtjb25zdHJ1Y3RvcihlLHQsbixhLG8pe3RoaXMuZmI9ZSx0aGlzLmRpYWxvZz10LHRoaXMudXRpbHM9bix0aGlzLmNkPWEsdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlPW8sdGhpcy5jb250ZW50VHlwZXM9Ryx0aGlzLlJQQ0NvbW1hbmRzPVsiUGluZyIsIlN0YXRzIiwiRGV2aWNlcyIsIlVwZGF0ZSIsIlZlcnNpb24iLCJSZXN0YXJ0IiwiUmVib290Il0sdGhpcy50ZW1wbGF0ZXM9W10sdGhpcy5Db25uZWN0b3JUeXBlPV90LHRoaXMuZ2F0ZXdheUNvbm5lY3RvckRlZmF1bHRUeXBlc1RyYW5zbGF0ZXM9SHQsdGhpcy50eXBlc1dpdGhVcGRhdGVkUGFyYW1zPW5ldyBTZXQoW190Lk1RVFQsX3QuT1BDVUEsX3QuTU9EQlVTXSksdGhpcy5zdWJzY3JpcHRpb25PcHRpb25zPXtjYWxsYmFja3M6e29uRGF0YVVwZGF0ZWQ6KCk9PnRoaXMuY3R4Lm5nWm9uZS5ydW4oKCgpPT57dGhpcy51cGRhdGVUZW1wbGF0ZXMoKX0pKSxvbkRhdGFVcGRhdGVFcnJvcjooZSx0KT0+dGhpcy5jdHgubmdab25lLnJ1bigoKCk9Pnt0aGlzLm9uRGF0YVVwZGF0ZUVycm9yKHQpfSkpLGRhdGFMb2FkaW5nOigpPT57fX19LHRoaXMuY29tbWFuZEZvcm09dGhpcy5mYi5ncm91cCh7Y29tbWFuZDpbbnVsbCxbdWUucmVxdWlyZWRdXSx0aW1lOls2MCxbdWUucmVxdWlyZWQsdWUubWluKDEpXV0scGFyYW1zOlsie30iLFtJdF1dLHJlc3VsdDpbbnVsbF19KX1uZ09uSW5pdCgpe2lmKHRoaXMuaXNDb25uZWN0b3I9dGhpcy5jdHguc2V0dGluZ3MuaXNDb25uZWN0b3IsdGhpcy5pc0Nvbm5lY3Rvcil7dGhpcy5jb25uZWN0b3JUeXBlPXRoaXMuY3R4LnN0YXRlQ29udHJvbGxlci5nZXRTdGF0ZVBhcmFtcygpLmNvbm5lY3Rvcl9ycGMudmFsdWUudHlwZTtjb25zdCBlPVt7dHlwZTpGLmVudGl0eSxlbnRpdHlUeXBlOkkuREVWSUNFLGVudGl0eUlkOnRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24udGFyZ2V0RGV2aWNlSWQsZW50aXR5TmFtZToiQ29ubmVjdG9yIixhdHRyaWJ1dGVzOlt7bmFtZTpgJHt0aGlzLmNvbm5lY3RvclR5cGV9X3RlbXBsYXRlYH1dfV07dGhpcy5jdHguc3Vic2NyaXB0aW9uQXBpLmNyZWF0ZVN1YnNjcmlwdGlvbkZyb21JbmZvKEEubGF0ZXN0LGUsdGhpcy5zdWJzY3JpcHRpb25PcHRpb25zLCExLCEwKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLnN1YnNjcmlwdGlvbj1lfSkpfWVsc2UgdGhpcy5jb21tYW5kRm9ybS5nZXQoImNvbW1hbmQiKS5zZXRWYWx1ZSh0aGlzLlJQQ0NvbW1hbmRzWzBdKX1zZW5kQ29tbWFuZChlKXt0aGlzLnJlc3VsdFRpbWU9bnVsbDtjb25zdCB0PWV8fHRoaXMuY29tbWFuZEZvcm0udmFsdWUsbj10aGlzLmlzQ29ubmVjdG9yP2Ake3RoaXMuY29ubmVjdG9yVHlwZX1fYDoiZ2F0ZXdheV8iLGE9dGhpcy5pc0Nvbm5lY3Rvcj90aGlzLmdldENvbW1hbmRGcm9tUGFyYW1zQnlUeXBlKHQucGFyYW1zKTp0LmNvbW1hbmQudG9Mb3dlckNhc2UoKSxvPXQucGFyYW1zO3RoaXMuY3R4LmNvbnRyb2xBcGkuc2VuZFR3b1dheUNvbW1hbmQobithLG8sdC50aW1lKS5zdWJzY3JpYmUoe25leHQ6ZT0+e3RoaXMucmVzdWx0VGltZT0obmV3IERhdGUpLmdldFRpbWUoKSx0aGlzLmNvbW1hbmRGb3JtLmdldCgicmVzdWx0Iikuc2V0VmFsdWUoSlNPTi5zdHJpbmdpZnkoZSkpfSxlcnJvcjplPT57dGhpcy5yZXN1bHRUaW1lPShuZXcgRGF0ZSkuZ2V0VGltZSgpLGNvbnNvbGUuZXJyb3IoZSksdGhpcy5jb21tYW5kRm9ybS5nZXQoInJlc3VsdCIpLnNldFZhbHVlKEpTT04uc3RyaW5naWZ5KGUuZXJyb3IpKX19KX1nZXRDb21tYW5kRnJvbVBhcmFtc0J5VHlwZShlKXtzd2l0Y2godGhpcy5jb25uZWN0b3JUeXBlKXtjYXNlIF90Lk1RVFQ6Y2FzZSBfdC5GVFA6Y2FzZSBfdC5TTk1QOmNhc2UgX3QuUkVTVDpjYXNlIF90LlJFUVVFU1Q6cmV0dXJuIGUubWV0aG9kRmlsdGVyO2Nhc2UgX3QuTU9EQlVTOnJldHVybiBlLnRhZztjYXNlIF90LkJBQ05FVDpjYXNlIF90LkNBTjpjYXNlIF90Lk9QQ1VBOnJldHVybiBlLm1ldGhvZDtjYXNlIF90LkJMRTpjYXNlIF90Lk9DUFA6Y2FzZSBfdC5TT0NLRVQ6Y2FzZSBfdC5YTVBQOnJldHVybiBlLm1ldGhvZFJQQztkZWZhdWx0OnJldHVybiBlLmNvbW1hbmR9fXNhdmVUZW1wbGF0ZSgpe3RoaXMuZGlhbG9nLm9wZW4oTmEse2Rpc2FibGVDbG9zZTohMCxwYW5lbENsYXNzOlsidGItZGlhbG9nIiwidGItZnVsbHNjcmVlbi1kaWFsb2ciXSxkYXRhOntjb25maWc6dGhpcy5jb21tYW5kRm9ybS52YWx1ZS5wYXJhbXMsdGVtcGxhdGVzOnRoaXMudGVtcGxhdGVzfX0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChlPT57aWYoZSl7Y29uc3QgdD17bmFtZTplLGNvbmZpZzp0aGlzLmNvbW1hbmRGb3JtLnZhbHVlLnBhcmFtc30sbj10aGlzLnRlbXBsYXRlcyxhPW4uZmluZEluZGV4KChlPT5lLm5hbWU9PXQubmFtZSkpO2E+LTEmJm4uc3BsaWNlKGEsMSksbi5wdXNoKHQpO2NvbnN0IG89YCR7dGhpcy5jb25uZWN0b3JUeXBlfV90ZW1wbGF0ZWA7dGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNhdmVFbnRpdHlBdHRyaWJ1dGVzKHtpZDp0aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLnRhcmdldERldmljZUlkLGVudGl0eVR5cGU6SS5ERVZJQ0V9LEwuU0VSVkVSX1NDT1BFLFt7a2V5Om8sdmFsdWU6bn1dKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCl9KSl9fSkpfXVzZVRlbXBsYXRlKGUpe3RoaXMuY29tbWFuZEZvcm0uZ2V0KCJwYXJhbXMiKS5wYXRjaFZhbHVlKGUuY29uZmlnKX11cGRhdGVUZW1wbGF0ZXMoKXt0aGlzLnRlbXBsYXRlcz10aGlzLnN1YnNjcmlwdGlvbi5kYXRhWzBdLmRhdGFbMF1bMV0ubGVuZ3RoP0pTT04ucGFyc2UodGhpcy5zdWJzY3JpcHRpb24uZGF0YVswXS5kYXRhWzBdWzFdKTpbXSx0aGlzLmNkLmRldGVjdENoYW5nZXMoKX1vbkRhdGFVcGRhdGVFcnJvcihlKXtjb25zdCB0PXRoaXMudXRpbHMucGFyc2VFeGNlcHRpb24oZSk7bGV0IG49dC5uYW1lO3QubWVzc2FnZSYmKG4rPSI6ICIrdC5tZXNzYWdlKSxjb25zb2xlLmVycm9yKG4pfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6RGEsZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfSx7dG9rZW46SmUuTWF0RGlhbG9nfSx7dG9rZW46WC5VdGlsc1NlcnZpY2V9LHt0b2tlbjp0LkNoYW5nZURldGVjdG9yUmVmfSx7dG9rZW46WC5BdHRyaWJ1dGVTZXJ2aWNlfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpEYSxzZWxlY3RvcjoidGItZ2F0ZXdheS1zZXJ2aWNlLXJwYyIsaW5wdXRzOntjdHg6ImN0eCIsZGlhbG9nUmVmOiJkaWFsb2dSZWYifSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBmeExheW91dD0iY29sdW1uIiBmeEZsZXggW25nQ2xhc3NdPSJ7XCdib3JkZXJcJzogaXNDb25uZWN0b3J9Ij5cbiAgPGRpdiBmeExheW91dD0icm93IiBmeExheW91dC5sdC1zbT0iY29sdW1uIiBjbGFzcz0iY29tbWFuZC1mb3JtIiBmeExheW91dEdhcD0iMTBweCIgW2Zvcm1Hcm91cF09ImNvbW1hbmRGb3JtIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPSIhaXNDb25uZWN0b3I7IGVsc2UgY29ubmVjdG9yRm9ybSI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY29tbWFuZFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iY29tbWFuZCI+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgY29tbWFuZCBvZiBSUENDb21tYW5kcyIgW3ZhbHVlXT0iY29tbWFuZCI+XG4gICAgICAgICAgICB7eyBjb21tYW5kIH19XG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy50aW1lb3V0LW1zXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idGltZSIgdHlwZT0ibnVtYmVyIiBtaW49IjEiLz5cbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZEZvcm0uZ2V0KFwndGltZVwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MudGltZW91dC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAoY2xpY2spPSJzZW5kQ29tbWFuZCgpIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJjb21tYW5kRm9ybS5pbnZhbGlkIj5cbiAgICAgICAge3sgXCdnYXRld2F5LnJwYy1jb21tYW5kLXNlbmRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNjb25uZWN0b3JGb3JtPlxuICAgICAgPHRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yXG4gICAgICAgICpuZ0lmPSIhdHlwZXNXaXRoVXBkYXRlZFBhcmFtcy5oYXMoY29ubmVjdG9yVHlwZSkgZWxzZSB1cGRhdGVkUGFyYW1ldGVycyJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJwYXJhbXMiXG4gICAgICAgIFtjb25uZWN0b3JUeXBlXT0iY29ubmVjdG9yVHlwZSJcbiAgICAgICAgKHNlbmRDb21tYW5kKT0ic2VuZENvbW1hbmQoKSJcbiAgICAgICAgKHNhdmVUZW1wbGF0ZSk9InNhdmVUZW1wbGF0ZSgpIlxuICAgICAgLz5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjdXBkYXRlZFBhcmFtZXRlcnM+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9ImNvbHVtbiIgY2xhc3M9InJwYy1wYXJhbWV0ZXJzIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXQtc3VidGl0bGUtMSB0Yi1mb3JtLXBhbmVsLXRpdGxlIj57eyBcJ2dhdGV3YXkucnBjLnRpdGxlXCcgfCB0cmFuc2xhdGU6IHt0eXBlOiBnYXRld2F5Q29ubmVjdG9yRGVmYXVsdFR5cGVzVHJhbnNsYXRlcy5nZXQoY29ubmVjdG9yVHlwZSl9IH19PC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJjb25uZWN0b3JUeXBlIj5cbiAgICAgICAgICAgIDx0Yi1nYXRld2F5LW1vZGJ1cy1ycGMtcGFyYW1ldGVycyAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk1PREJVUyIgZm9ybUNvbnRyb2xOYW1lPSJwYXJhbXMiLz5cbiAgICAgICAgICAgIDx0Yi1nYXRld2F5LW1xdHQtcnBjLXBhcmFtZXRlcnMgKm5nU3dpdGNoQ2FzZT0iQ29ubmVjdG9yVHlwZS5NUVRUIiBmb3JtQ29udHJvbE5hbWU9InBhcmFtcyIvPlxuICAgICAgICAgICAgPHRiLWdhdGV3YXktb3BjLXJwYy1wYXJhbWV0ZXJzICpuZ1N3aXRjaENhc2U9IkNvbm5lY3RvclR5cGUuT1BDVUEiIGZvcm1Db250cm9sTmFtZT0icGFyYW1zIi8+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGVtcGxhdGUtYWN0aW9ucyIgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiIGZ4TGF5b3V0R2FwPSIxMHB4Ij5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ic2F2ZVRlbXBsYXRlKCkiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09ImNvbW1hbmRGb3JtLmdldChcJ3BhcmFtc1wnKS5pbnZhbGlkIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJwYy1jb21tYW5kLXNhdmUtdGVtcGxhdGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJzZW5kQ29tbWFuZCgpIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJjb21tYW5kRm9ybS5nZXQoXCdwYXJhbXNcJykuaW52YWxpZCI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1zZW5kXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG4gIDxzZWN0aW9uIGNsYXNzPSJyZXN1bHQtYmxvY2siIFtmb3JtR3JvdXBdPSJjb21tYW5kRm9ybSI+XG4gICAgPHNwYW4+e3sgXCdnYXRld2F5LnJwYy1jb21tYW5kLXJlc3VsdFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8ZGl2ICpuZ0lmPSJyZXN1bHRUaW1lIiBjbGFzcz0icmVzdWx0LXRpbWUiIGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+c2NoZWR1bGU8L21hdC1pY29uPlxuICAgICAgICA8c3Bhbj57eyByZXN1bHRUaW1lIHwgZGF0ZTogXCd5eXl5L01NL2RkIEhIOm1tOnNzXCcgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NwYW4+XG4gICAgPHRiLWpzb24tY29udGVudCBbY29udGVudFR5cGVdPSJjb250ZW50VHlwZXMuSlNPTiIgcmVhZG9ubHk9InRydWUiIGZvcm1Db250cm9sTmFtZT0icmVzdWx0Ij48L3RiLWpzb24tY29udGVudD5cbiAgPC9zZWN0aW9uPlxuPC9kaXY+XG48dGItZ2F0ZXdheS1zZXJ2aWNlLXJwYy1jb25uZWN0b3ItdGVtcGxhdGVzIGZ4RmxleD0iMzAiICpuZ0lmPSJpc0Nvbm5lY3RvciIgY2xhc3M9ImJvcmRlciIgW3JwY1RlbXBsYXRlc109InRlbXBsYXRlcyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2N0eF09ImN0eCIgW2Nvbm5lY3RvclR5cGVdPSJjb25uZWN0b3JUeXBlIiAodXNlVGVtcGxhdGUpPSJ1c2VUZW1wbGF0ZSgkZXZlbnQpIj5cbjwvdGItZ2F0ZXdheS1zZXJ2aWNlLXJwYy1jb25uZWN0b3ItdGVtcGxhdGVzPlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6YXV0bztkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O3BhZGRpbmc6MCA1cHh9Omhvc3Q+KntoZWlnaHQ6MTAwJTtvdmVyZmxvdzphdXRvfTpob3N0PnRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yLXRlbXBsYXRlczpsYXN0LWNoaWxke21hcmdpbi1sZWZ0OjEwcHh9Omhvc3QgLmNvbW1hbmQtZm9ybXtmbGV4LXdyYXA6bm93cmFwO3BhZGRpbmc6MCA1cHggNXB4fTpob3N0IC5jb21tYW5kLWZvcm0+YnV0dG9ue21hcmdpbi10b3A6MTBweH06aG9zdCAucnBjLXBhcmFtZXRlcnN7d2lkdGg6MTAwJX06aG9zdCAucmVzdWx0LWJsb2Nre3BhZGRpbmc6MCA1cHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4OjF9Omhvc3QgLnJlc3VsdC1ibG9jaz5zcGFue2ZvbnQtd2VpZ2h0OjYwMDtwb3NpdGlvbjpyZWxhdGl2ZTtmb250LXNpemU6MTRweDttYXJnaW4tYm90dG9tOjEwcHh9Omhvc3QgLnJlc3VsdC1ibG9jaz5zcGFuIC5yZXN1bHQtdGltZXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MzJweDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjI1cHg7ei1pbmRleDo1O2NvbG9yOiMwMDAwMDA4YX06aG9zdCAucmVzdWx0LWJsb2NrPnNwYW4gLnJlc3VsdC10aW1lIHNwYW57cGFkZGluZy1sZWZ0OjEwcHh9Omhvc3QgLnJlc3VsdC1ibG9jayB0Yi1qc29uLWNvbnRlbnR7ZmxleDoxfTpob3N0IC5ib3JkZXJ7cGFkZGluZzoxNnB4O2JveC1zaGFkb3c6MCAwICMwMDAzLDAgMCAjMDAwMDAwMjQsMCAwICMwMDAwMDAxZjtib3JkZXI6c29saWQgMXB4ICNlMGUwZTA7Ym9yZGVyLXJhZGl1czo0cHh9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0NsYXNzLHNlbGVjdG9yOiJbbmdDbGFzc10iLGlucHV0czpbImNsYXNzIiwibmdDbGFzcyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoLHNlbGVjdG9yOiJbbmdTd2l0Y2hdIixpbnB1dHM6WyJuZ1N3aXRjaCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdTd2l0Y2hDYXNlLHNlbGVjdG9yOiJbbmdTd2l0Y2hDYXNlXSIsaW5wdXRzOlsibmdTd2l0Y2hDYXNlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6c3QuSnNvbkNvbnRlbnRDb21wb25lbnQsc2VsZWN0b3I6InRiLWpzb24tY29udGVudCIsaW5wdXRzOlsibGFiZWwiLCJjb250ZW50VHlwZSIsImRpc2FibGVkIiwiZmlsbEhlaWdodCIsImVkaXRvclN0eWxlIiwidGJQbGFjZWhvbGRlciIsImhpZGVUb29sYmFyIiwicmVhZG9ubHkiLCJ2YWxpZGF0ZUNvbnRlbnQiLCJ2YWxpZGF0ZU9uQ2hhbmdlIiwicmVxdWlyZWQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdEVycm9yLHNlbGVjdG9yOiJtYXQtZXJyb3IsIFttYXRFcnJvcl0iLGlucHV0czpbImlkIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpDZS5NYXRPcHRpb24sc2VsZWN0b3I6Im1hdC1vcHRpb24iLGlucHV0czpbInZhbHVlIiwiaWQiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJvblNlbGVjdGlvbkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0T3B0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRHYXBEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0R2FwXSwgW2Z4TGF5b3V0R2FwLnhzXSwgW2Z4TGF5b3V0R2FwLnNtXSwgW2Z4TGF5b3V0R2FwLm1kXSwgIFtmeExheW91dEdhcC5sZ10sIFtmeExheW91dEdhcC54bF0sIFtmeExheW91dEdhcC5sdC1zbV0sIFtmeExheW91dEdhcC5sdC1tZF0sICBbZnhMYXlvdXRHYXAubHQtbGddLCBbZnhMYXlvdXRHYXAubHQteGxdLCBbZnhMYXlvdXRHYXAuZ3QteHNdLCBbZnhMYXlvdXRHYXAuZ3Qtc21dLCAgW2Z4TGF5b3V0R2FwLmd0LW1kXSwgW2Z4TGF5b3V0R2FwLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRHYXAiLCJmeExheW91dEdhcC54cyIsImZ4TGF5b3V0R2FwLnNtIiwiZnhMYXlvdXRHYXAubWQiLCJmeExheW91dEdhcC5sZyIsImZ4TGF5b3V0R2FwLnhsIiwiZnhMYXlvdXRHYXAubHQtc20iLCJmeExheW91dEdhcC5sdC1tZCIsImZ4TGF5b3V0R2FwLmx0LWxnIiwiZnhMYXlvdXRHYXAubHQteGwiLCJmeExheW91dEdhcC5ndC14cyIsImZ4TGF5b3V0R2FwLmd0LXNtIiwiZnhMYXlvdXRHYXAuZ3QtbWQiLCJmeExheW91dEdhcC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRDbGFzc0RpcmVjdGl2ZSxzZWxlY3RvcjoiICBbbmdDbGFzc10sIFtuZ0NsYXNzLnhzXSwgW25nQ2xhc3Muc21dLCBbbmdDbGFzcy5tZF0sIFtuZ0NsYXNzLmxnXSwgW25nQ2xhc3MueGxdLCAgW25nQ2xhc3MubHQtc21dLCBbbmdDbGFzcy5sdC1tZF0sIFtuZ0NsYXNzLmx0LWxnXSwgW25nQ2xhc3MubHQteGxdLCAgW25nQ2xhc3MuZ3QteHNdLCBbbmdDbGFzcy5ndC1zbV0sIFtuZ0NsYXNzLmd0LW1kXSwgW25nQ2xhc3MuZ3QtbGddIixpbnB1dHM6WyJuZ0NsYXNzIiwibmdDbGFzcy54cyIsIm5nQ2xhc3Muc20iLCJuZ0NsYXNzLm1kIiwibmdDbGFzcy5sZyIsIm5nQ2xhc3MueGwiLCJuZ0NsYXNzLmx0LXNtIiwibmdDbGFzcy5sdC1tZCIsIm5nQ2xhc3MubHQtbGciLCJuZ0NsYXNzLmx0LXhsIiwibmdDbGFzcy5ndC14cyIsIm5nQ2xhc3MuZ3Qtc20iLCJuZ0NsYXNzLmd0LW1kIiwibmdDbGFzcy5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOk1hLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LW9wYy1ycGMtcGFyYW1ldGVycyJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6RWEsc2VsZWN0b3I6InRiLWdhdGV3YXktbXF0dC1ycGMtcGFyYW1ldGVycyJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6cWEsc2VsZWN0b3I6InRiLWdhdGV3YXktbW9kYnVzLXJwYy1wYXJhbWV0ZXJzIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpGYSxzZWxlY3RvcjoidGItZ2F0ZXdheS1zZXJ2aWNlLXJwYy1jb25uZWN0b3ItdGVtcGxhdGVzIixpbnB1dHM6WyJjb25uZWN0b3JUeXBlIiwiY3R4IiwicnBjVGVtcGxhdGVzIl0sb3V0cHV0czpbInNhdmVUZW1wbGF0ZSIsInVzZVRlbXBsYXRlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6QWEsc2VsZWN0b3I6InRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yIixpbnB1dHM6WyJjb25uZWN0b3JUeXBlIl0sb3V0cHV0czpbInNlbmRDb21tYW5kIiwic2F2ZVRlbXBsYXRlIl19LHtraW5kOiJwaXBlIix0eXBlOl8uRGF0ZVBpcGUsbmFtZToiZGF0ZSJ9LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV19KX19ZSgiR2F0ZXdheVNlcnZpY2VSUENDb21wb25lbnQiLERhKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkRhLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1nYXRld2F5LXNlcnZpY2UtcnBjIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgZnhMYXlvdXQ9ImNvbHVtbiIgZnhGbGV4IFtuZ0NsYXNzXT0ie1wnYm9yZGVyXCc6IGlzQ29ubmVjdG9yfSI+XG4gIDxkaXYgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXQubHQtc209ImNvbHVtbiIgY2xhc3M9ImNvbW1hbmQtZm9ybSIgZnhMYXlvdXRHYXA9IjEwcHgiIFtmb3JtR3JvdXBdPSJjb21tYW5kRm9ybSI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iIWlzQ29ubmVjdG9yOyBlbHNlIGNvbm5lY3RvckZvcm0iPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImNvbW1hbmQiPlxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGNvbW1hbmQgb2YgUlBDQ29tbWFuZHMiIFt2YWx1ZV09ImNvbW1hbmQiPlxuICAgICAgICAgICAge3sgY29tbWFuZCB9fVxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3MudGltZW91dC1tc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InRpbWUiIHR5cGU9Im51bWJlciIgbWluPSIxIi8+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbW1hbmRGb3JtLmdldChcJ3RpbWVcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnRpbWVvdXQtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgKGNsaWNrKT0ic2VuZENvbW1hbmQoKSJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iY29tbWFuZEZvcm0uaW52YWxpZCI+XG4gICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1zZW5kXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjY29ubmVjdG9yRm9ybT5cbiAgICAgIDx0Yi1nYXRld2F5LXNlcnZpY2UtcnBjLWNvbm5lY3RvclxuICAgICAgICAqbmdJZj0iIXR5cGVzV2l0aFVwZGF0ZWRQYXJhbXMuaGFzKGNvbm5lY3RvclR5cGUpIGVsc2UgdXBkYXRlZFBhcmFtZXRlcnMiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT0icGFyYW1zIlxuICAgICAgICBbY29ubmVjdG9yVHlwZV09ImNvbm5lY3RvclR5cGUiXG4gICAgICAgIChzZW5kQ29tbWFuZCk9InNlbmRDb21tYW5kKCkiXG4gICAgICAgIChzYXZlVGVtcGxhdGUpPSJzYXZlVGVtcGxhdGUoKSJcbiAgICAgIC8+XG4gICAgICA8bmctdGVtcGxhdGUgI3VwZGF0ZWRQYXJhbWV0ZXJzPlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iIGNsYXNzPSJycGMtcGFyYW1ldGVycyI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0ibWF0LXN1YnRpdGxlLTEgdGItZm9ybS1wYW5lbC10aXRsZSI+e3sgXCdnYXRld2F5LnJwYy50aXRsZVwnIHwgdHJhbnNsYXRlOiB7dHlwZTogZ2F0ZXdheUNvbm5lY3RvckRlZmF1bHRUeXBlc1RyYW5zbGF0ZXMuZ2V0KGNvbm5lY3RvclR5cGUpfSB9fTwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT0iY29ubmVjdG9yVHlwZSI+XG4gICAgICAgICAgICA8dGItZ2F0ZXdheS1tb2RidXMtcnBjLXBhcmFtZXRlcnMgKm5nU3dpdGNoQ2FzZT0iQ29ubmVjdG9yVHlwZS5NT0RCVVMiIGZvcm1Db250cm9sTmFtZT0icGFyYW1zIi8+XG4gICAgICAgICAgICA8dGItZ2F0ZXdheS1tcXR0LXJwYy1wYXJhbWV0ZXJzICpuZ1N3aXRjaENhc2U9IkNvbm5lY3RvclR5cGUuTVFUVCIgZm9ybUNvbnRyb2xOYW1lPSJwYXJhbXMiLz5cbiAgICAgICAgICAgIDx0Yi1nYXRld2F5LW9wYy1ycGMtcGFyYW1ldGVycyAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk9QQ1VBIiBmb3JtQ29udHJvbE5hbWU9InBhcmFtcyIvPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRlbXBsYXRlLWFjdGlvbnMiIGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJlbmQgY2VudGVyIiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9InNhdmVUZW1wbGF0ZSgpIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJjb21tYW5kRm9ybS5nZXQoXCdwYXJhbXNcJykuaW52YWxpZCI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1zYXZlLXRlbXBsYXRlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ic2VuZENvbW1hbmQoKSJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iY29tbWFuZEZvcm0uZ2V0KFwncGFyYW1zXCcpLmludmFsaWQiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLWNvbW1hbmQtc2VuZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuICA8c2VjdGlvbiBjbGFzcz0icmVzdWx0LWJsb2NrIiBbZm9ybUdyb3VwXT0iY29tbWFuZEZvcm0iPlxuICAgIDxzcGFuPnt7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1yZXN1bHRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPGRpdiAqbmdJZj0icmVzdWx0VGltZSIgY2xhc3M9InJlc3VsdC10aW1lIiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPnNjaGVkdWxlPC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4+e3sgcmVzdWx0VGltZSB8IGRhdGU6IFwneXl5eS9NTS9kZCBISDptbTpzc1wnIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9zcGFuPlxuICAgIDx0Yi1qc29uLWNvbnRlbnQgW2NvbnRlbnRUeXBlXT0iY29udGVudFR5cGVzLkpTT04iIHJlYWRvbmx5PSJ0cnVlIiBmb3JtQ29udHJvbE5hbWU9InJlc3VsdCI+PC90Yi1qc29uLWNvbnRlbnQ+XG4gIDwvc2VjdGlvbj5cbjwvZGl2PlxuPHRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yLXRlbXBsYXRlcyBmeEZsZXg9IjMwIiAqbmdJZj0iaXNDb25uZWN0b3IiIGNsYXNzPSJib3JkZXIiIFtycGNUZW1wbGF0ZXNdPSJ0ZW1wbGF0ZXMiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjdHhdPSJjdHgiIFtjb25uZWN0b3JUeXBlXT0iY29ubmVjdG9yVHlwZSIgKHVzZVRlbXBsYXRlKT0idXNlVGVtcGxhdGUoJGV2ZW50KSI+XG48L3RiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yLXRlbXBsYXRlcz5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO292ZXJmbG93OmF1dG87ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztwYWRkaW5nOjAgNXB4fTpob3N0Pip7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6YXV0b306aG9zdD50Yi1nYXRld2F5LXNlcnZpY2UtcnBjLWNvbm5lY3Rvci10ZW1wbGF0ZXM6bGFzdC1jaGlsZHttYXJnaW4tbGVmdDoxMHB4fTpob3N0IC5jb21tYW5kLWZvcm17ZmxleC13cmFwOm5vd3JhcDtwYWRkaW5nOjAgNXB4IDVweH06aG9zdCAuY29tbWFuZC1mb3JtPmJ1dHRvbnttYXJnaW4tdG9wOjEwcHh9Omhvc3QgLnJwYy1wYXJhbWV0ZXJze3dpZHRoOjEwMCV9Omhvc3QgLnJlc3VsdC1ibG9ja3twYWRkaW5nOjAgNXB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleDoxfTpob3N0IC5yZXN1bHQtYmxvY2s+c3Bhbntmb250LXdlaWdodDo2MDA7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1zaXplOjE0cHg7bWFyZ2luLWJvdHRvbToxMHB4fTpob3N0IC5yZXN1bHQtYmxvY2s+c3BhbiAucmVzdWx0LXRpbWV7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjMycHg7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDoyNXB4O3otaW5kZXg6NTtjb2xvcjojMDAwMDAwOGF9Omhvc3QgLnJlc3VsdC1ibG9jaz5zcGFuIC5yZXN1bHQtdGltZSBzcGFue3BhZGRpbmctbGVmdDoxMHB4fTpob3N0IC5yZXN1bHQtYmxvY2sgdGItanNvbi1jb250ZW50e2ZsZXg6MX06aG9zdCAuYm9yZGVye3BhZGRpbmc6MTZweDtib3gtc2hhZG93OjAgMCAjMDAwMywwIDAgIzAwMDAwMDI0LDAgMCAjMDAwMDAwMWY7Ym9yZGVyOnNvbGlkIDFweCAjZTBlMGUwO2JvcmRlci1yYWRpdXM6NHB4fVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9LHt0eXBlOkplLk1hdERpYWxvZ30se3R5cGU6WC5VdGlsc1NlcnZpY2V9LHt0eXBlOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9LHt0eXBlOlguQXR0cmlidXRlU2VydmljZX1dLHByb3BEZWNvcmF0b3JzOntjdHg6W3t0eXBlOmF9XSxkaWFsb2dSZWY6W3t0eXBlOmF9XX19KTtjbGFzcyBQYSBleHRlbmRzIFB7Y29uc3RydWN0b3IoZSx0LG4sYSxvKXtzdXBlcihlLHQsYSksdGhpcy5zdG9yZT1lLHRoaXMucm91dGVyPXQsdGhpcy5kYXRhPW4sdGhpcy5kaWFsb2dSZWY9YSx0aGlzLmZiPW8sdGhpcy5nYXRld2F5TmFtZT10aGlzLmRhdGEuZ2F0ZXdheU5hbWUsdGhpcy5nYXRld2F5Q29udHJvbD10aGlzLmZiLmNvbnRyb2woIiIpfWNsb3NlKCl7dGhpcy5kaWFsb2dSZWYuY2xvc2UoKX10dXJuT2ZmKCl7dGhpcy5kaWFsb2dSZWYuY2xvc2UoITApfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6UGEsZGVwczpbe3Rva2VuOm90LlN0b3JlfSx7dG9rZW46aXQuUm91dGVyfSx7dG9rZW46WGV9LHt0b2tlbjpKZS5NYXREaWFsb2dSZWZ9LHt0b2tlbjptZS5Gb3JtQnVpbGRlcn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6UGEsc2VsZWN0b3I6InRiLWdhdGV3YXktcmVtb3RlLWNvbmZpZ3VyYXRpb24tZGlhbG9nIix1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdG9vbGJhciBjb2xvcj0id2FybiI+XG4gIDxtYXQtaWNvbj53YXJuaW5nPC9tYXQtaWNvbj5cbiAgPGgyIHRyYW5zbGF0ZT5nYXRld2F5LmNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1oZWFkZXI8L2gyPlxuICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgIChjbGljayk9ImNsb3NlKCkiXG4gICAgICAgICAgdHlwZT0iYnV0dG9uIj5cbiAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9tYXQtdG9vbGJhcj5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IHN0eWxlPSJtYXgtd2lkdGg6IDYwMHB4IiBjbGFzcz0ibWF0LWNvbnRlbnQiIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICA8c3BhbiBpbm5lckhUTUw9Int7IFwnZ2F0ZXdheS5jb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctYm9keVwnIHwgdHJhbnNsYXRlIH19IDxiPnt7IGdhdGV3YXlOYW1lIH19PC9iPiIgPjwvc3Bhbj5cbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2sgdGItdmFsdWUtdHlwZSIgc3R5bGU9ImZsZXgtZ3JvdzogMCI+XG4gICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5jb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaW5wdXQ8L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT0iZ2F0ZXdheUNvbnRyb2wiIHJlcXVpcmVkLz5cbiAgICA8bWF0LWVycm9yXG4gICAgICAqbmdJZj0iZ2F0ZXdheUNvbnRyb2wuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICB7eyBcJ2dhdGV3YXkuY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0id2FybiJcbiAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgKGNsaWNrKT0iY2xvc2UoKSI+XG4gICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG4gIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0id2FybiJcbiAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgW2Rpc2FibGVkXT0iZ2F0ZXdheUNvbnRyb2wudmFsdWUgIT09IGdhdGV3YXlOYW1lIlxuICAgICAgICAgIChjbGljayk9InR1cm5PZmYoKSI+XG4gICAge3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1jb25maXJtXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG48L2Rpdj5cbicsZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0RXJyb3Isc2VsZWN0b3I6Im1hdC1lcnJvciwgW21hdEVycm9yXSIsaW5wdXRzOlsiaWQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpKZS5NYXREaWFsb2dBY3Rpb25zLHNlbGVjdG9yOiJbbWF0LWRpYWxvZy1hY3Rpb25zXSwgbWF0LWRpYWxvZy1hY3Rpb25zLCBbbWF0RGlhbG9nQWN0aW9uc10iLGlucHV0czpbImFsaWduIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQ29udGVudCxzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5SZXF1aXJlZFZhbGlkYXRvcixzZWxlY3RvcjoiOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbE5hbWVdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bbmdNb2RlbF0iLGlucHV0czpbInJlcXVpcmVkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlkuVHJhbnNsYXRlRGlyZWN0aXZlLHNlbGVjdG9yOiJbdHJhbnNsYXRlXSxbbmd4LXRyYW5zbGF0ZV0iLGlucHV0czpbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZVBhcmFtcyJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn1dfSl9fXZhciBHYTtlKCJHYXRld2F5UmVtb3RlQ29uZmlndXJhdGlvbkRpYWxvZ0NvbXBvbmVudCIsUGEpLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6UGEsZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktcmVtb3RlLWNvbmZpZ3VyYXRpb24tZGlhbG9nIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdG9vbGJhciBjb2xvcj0id2FybiI+XG4gIDxtYXQtaWNvbj53YXJuaW5nPC9tYXQtaWNvbj5cbiAgPGgyIHRyYW5zbGF0ZT5nYXRld2F5LmNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1oZWFkZXI8L2gyPlxuICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgIChjbGljayk9ImNsb3NlKCkiXG4gICAgICAgICAgdHlwZT0iYnV0dG9uIj5cbiAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9tYXQtdG9vbGJhcj5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IHN0eWxlPSJtYXgtd2lkdGg6IDYwMHB4IiBjbGFzcz0ibWF0LWNvbnRlbnQiIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICA8c3BhbiBpbm5lckhUTUw9Int7IFwnZ2F0ZXdheS5jb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctYm9keVwnIHwgdHJhbnNsYXRlIH19IDxiPnt7IGdhdGV3YXlOYW1lIH19PC9iPiIgPjwvc3Bhbj5cbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2sgdGItdmFsdWUtdHlwZSIgc3R5bGU9ImZsZXgtZ3JvdzogMCI+XG4gICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5jb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaW5wdXQ8L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT0iZ2F0ZXdheUNvbnRyb2wiIHJlcXVpcmVkLz5cbiAgICA8bWF0LWVycm9yXG4gICAgICAqbmdJZj0iZ2F0ZXdheUNvbnRyb2wuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICB7eyBcJ2dhdGV3YXkuY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0id2FybiJcbiAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgKGNsaWNrKT0iY2xvc2UoKSI+XG4gICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG4gIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0id2FybiJcbiAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgW2Rpc2FibGVkXT0iZ2F0ZXdheUNvbnRyb2wudmFsdWUgIT09IGdhdGV3YXlOYW1lIlxuICAgICAgICAgIChjbGljayk9InR1cm5PZmYoKSI+XG4gICAge3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1jb25maXJtXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG48L2Rpdj5cbid9XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6b3QuU3RvcmV9LHt0eXBlOml0LlJvdXRlcn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOnAsYXJnczpbWGVdfV19LHt0eXBlOkplLk1hdERpYWxvZ1JlZn0se3R5cGU6bWUuRm9ybUJ1aWxkZXJ9XX0pLGZ1bmN0aW9uKGUpe2UudGxzPSJ0bHMiLGUuYWNjZXNzVG9rZW49ImFjY2Vzc1Rva2VuIn0oR2F8fChHYT17fSkpO2NvbnN0IE9hPSJjb25maWd1cmF0aW9uX2RyYWZ0cyIsUmE9IlJlbW90ZUxvZ2dpbmdMZXZlbCIsVmE9bmV3IE1hcChbW0dhLnRscywiZ2F0ZXdheS5zZWN1cml0eS10eXBlcy50bHMiXSxbR2EuYWNjZXNzVG9rZW4sImdhdGV3YXkuc2VjdXJpdHktdHlwZXMuYWNjZXNzLXRva2VuIl1dKTt2YXIgQmEsVWE7IWZ1bmN0aW9uKGUpe2Uubm9uZT0iTk9ORSIsZS5jcml0aWNhbD0iQ1JJVElDQUwiLGUuZXJyb3I9IkVSUk9SIixlLndhcm5pbmc9IldBUk5JTkciLGUuaW5mbz0iSU5GTyIsZS5kZWJ1Zz0iREVCVUcifShCYXx8KEJhPXt9KSksZnVuY3Rpb24oZSl7ZS5tZW1vcnk9Im1lbW9yeSIsZS5maWxlPSJmaWxlIn0oVWF8fChVYT17fSkpO2NvbnN0IF9hPW5ldyBNYXAoW1tVYS5tZW1vcnksImdhdGV3YXkuc3RvcmFnZS10eXBlcy5tZW1vcnktc3RvcmFnZSJdLFtVYS5maWxlLCJnYXRld2F5LnN0b3JhZ2UtdHlwZXMuZmlsZS1zdG9yYWdlIl1dKTt2YXIgSGE7IWZ1bmN0aW9uKGUpe2UubXF0dD0iTVFUVCIsZS5tb2RidXM9Ik1vZGJ1cyIsZS5vcGN1YT0iT1BDLVVBIixlLmJsZT0iQkxFIixlLnJlcXVlc3Q9IlJlcXVlc3QiLGUuY2FuPSJDQU4iLGUuYmFjbmV0PSJCQUNuZXQiLGUuY3VzdG9tPSJDdXN0b20ifShIYXx8KEhhPXt9KSk7Y29uc3QgemE9e2NvbmZpZzp7fSxuYW1lOiIiLGNvbmZpZ1R5cGU6bnVsbCxlbmFibGVkOiExfTtmdW5jdGlvbiBXYShlKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZS52YWx1ZSk9PT1KU09OLnN0cmluZ2lmeSh7fSk/e3ZhbGlkSlNPTjohMH06bnVsbH1jb25zdCBqYT0nW2xvZ2dlcnNdfX1rZXlzPXJvb3QsIHNlcnZpY2UsIGNvbm5lY3RvciwgY29udmVydGVyLCB0Yl9jb25uZWN0aW9uLCBzdG9yYWdlLCBleHRlbnNpb259fVtoYW5kbGVyc119fWtleXM9Y29uc29sZUhhbmRsZXIsIHNlcnZpY2VIYW5kbGVyLCBjb25uZWN0b3JIYW5kbGVyLCBjb252ZXJ0ZXJIYW5kbGVyLCB0Yl9jb25uZWN0aW9uSGFuZGxlciwgc3RvcmFnZUhhbmRsZXIsIGV4dGVuc2lvbkhhbmRsZXJ9fVtmb3JtYXR0ZXJzXX19a2V5cz1Mb2dGb3JtYXR0ZXJ9fVtsb2dnZXJfcm9vdF19fWxldmVsPUVSUk9SfX1oYW5kbGVycz1jb25zb2xlSGFuZGxlcn19W2xvZ2dlcl9jb25uZWN0b3JdfX1sZXZlbD17RVJST1J9fX1oYW5kbGVycz1jb25uZWN0b3JIYW5kbGVyfX1mb3JtYXR0ZXI9TG9nRm9ybWF0dGVyfX1xdWFsbmFtZT1jb25uZWN0b3J9fVtsb2dnZXJfc3RvcmFnZV19fWxldmVsPXtFUlJPUn19fWhhbmRsZXJzPXN0b3JhZ2VIYW5kbGVyfX1mb3JtYXR0ZXI9TG9nRm9ybWF0dGVyfX1xdWFsbmFtZT1zdG9yYWdlfX1bbG9nZ2VyX3RiX2Nvbm5lY3Rpb25dfX1sZXZlbD17RVJST1J9fX1oYW5kbGVycz10Yl9jb25uZWN0aW9uSGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19cXVhbG5hbWU9dGJfY29ubmVjdGlvbn19W2xvZ2dlcl9zZXJ2aWNlXX19bGV2ZWw9e0VSUk9SfX19aGFuZGxlcnM9c2VydmljZUhhbmRsZXJ9fWZvcm1hdHRlcj1Mb2dGb3JtYXR0ZXJ9fXF1YWxuYW1lPXNlcnZpY2V9fVtsb2dnZXJfY29udmVydGVyXX19bGV2ZWw9e0VSUk9SfX19aGFuZGxlcnM9Y29udmVydGVySGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19cXVhbG5hbWU9Y29udmVydGVyfX1bbG9nZ2VyX2V4dGVuc2lvbl19fWxldmVsPXtFUlJPUn19fWhhbmRsZXJzPWNvbm5lY3RvckhhbmRsZXJ9fWZvcm1hdHRlcj1Mb2dGb3JtYXR0ZXJ9fXF1YWxuYW1lPWV4dGVuc2lvbn19W2hhbmRsZXJfY29uc29sZUhhbmRsZXJdfX1jbGFzcz1TdHJlYW1IYW5kbGVyfX1sZXZlbD17RVJST1J9fX1mb3JtYXR0ZXI9TG9nRm9ybWF0dGVyfX1hcmdzPShzeXMuc3Rkb3V0LCl9fVtoYW5kbGVyX2Nvbm5lY3RvckhhbmRsZXJdfX1sZXZlbD17RVJST1J9fX1jbGFzcz1sb2dnaW5nLmhhbmRsZXJzLlRpbWVkUm90YXRpbmdGaWxlSGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19YXJncz0oInsuL2xvZ3MvfWNvbm5lY3Rvci5sb2ciLCAiZCIsIDEsIDcsKX19W2hhbmRsZXJfc3RvcmFnZUhhbmRsZXJdfX1sZXZlbD17RVJST1J9fX1jbGFzcz1sb2dnaW5nLmhhbmRsZXJzLlRpbWVkUm90YXRpbmdGaWxlSGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19YXJncz0oInsuL2xvZ3MvfXN0b3JhZ2UubG9nIiwgImQiLCAxLCA3LCl9fVtoYW5kbGVyX3NlcnZpY2VIYW5kbGVyXX19bGV2ZWw9e0VSUk9SfX19Y2xhc3M9bG9nZ2luZy5oYW5kbGVycy5UaW1lZFJvdGF0aW5nRmlsZUhhbmRsZXJ9fWZvcm1hdHRlcj1Mb2dGb3JtYXR0ZXJ9fWFyZ3M9KCJ7Li9sb2dzL31zZXJ2aWNlLmxvZyIsICJkIiwgMSwgNywpfX1baGFuZGxlcl9jb252ZXJ0ZXJIYW5kbGVyXX19bGV2ZWw9e0VSUk9SfX19Y2xhc3M9bG9nZ2luZy5oYW5kbGVycy5UaW1lZFJvdGF0aW5nRmlsZUhhbmRsZXJ9fWZvcm1hdHRlcj1Mb2dGb3JtYXR0ZXJ9fWFyZ3M9KCJ7Li9sb2dzL31jb252ZXJ0ZXIubG9nIiwgImQiLCAxLCAzLCl9fVtoYW5kbGVyX2V4dGVuc2lvbkhhbmRsZXJdfX1sZXZlbD17RVJST1J9fX1jbGFzcz1sb2dnaW5nLmhhbmRsZXJzLlRpbWVkUm90YXRpbmdGaWxlSGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19YXJncz0oInsuL2xvZ3MvfWV4dGVuc2lvbi5sb2ciLCAiZCIsIDEsIDMsKX19W2hhbmRsZXJfdGJfY29ubmVjdGlvbkhhbmRsZXJdfX1sZXZlbD17RVJST1J9fX1jbGFzcz1sb2dnaW5nLmhhbmRsZXJzLlRpbWVkUm90YXRpbmdGaWxlSGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19YXJncz0oInsuL2xvZ3MvfXRiX2Nvbm5lY3Rpb24ubG9nIiwgImQiLCAxLCAzLCl9fVtmb3JtYXR0ZXJfTG9nRm9ybWF0dGVyXX19Zm9ybWF0PSIlKGFzY3RpbWUpcyAtICUobGV2ZWxuYW1lKXMgLSBbJShmaWxlbmFtZSlzXSAtICUobW9kdWxlKXMgLSAlKGxpbmVubylkIC0gJShtZXNzYWdlKXMiIH19ZGF0ZWZtdD0iJVktJW0tJWQgJUg6JU06JVMiJztmdW5jdGlvbiBLYShlKXtyZXR1cm4gZS5yZXBsYWNlKCJfIiwiIikucmVwbGFjZSgiLSIsIiIpLnJlcGxhY2UoL15ccyt8XHMrL2csIiIpLnRvTG93ZXJDYXNlKCkrIi5qc29uIn1mdW5jdGlvbiAkYShlLHQpe3JldHVybiBqYS5yZXBsYWNlKC97RVJST1J9L2csZSkucmVwbGFjZSgvey5cL2xvZ3NcL30vZyx0KX1mdW5jdGlvbiBZYShlKXtyZXR1cm57aWQ6ZSxlbnRpdHlUeXBlOkkuREVWSUNFfX1mdW5jdGlvbiBRYShlKXtjb25zdCB0PXt9O3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwidGhpbmdzYm9hcmQiKSYmKHQuaG9zdD1lLnRoaW5nc2JvYXJkLmhvc3QsdC5wb3J0PWUudGhpbmdzYm9hcmQucG9ydCx0LnJlbW90ZUNvbmZpZ3VyYXRpb249ZS50aGluZ3Nib2FyZC5yZW1vdGVDb25maWd1cmF0aW9uLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLnRoaW5nc2JvYXJkLnNlY3VyaXR5LEdhLmFjY2Vzc1Rva2VuKT8odC5zZWN1cml0eVR5cGU9R2EuYWNjZXNzVG9rZW4sdC5hY2Nlc3NUb2tlbj1lLnRoaW5nc2JvYXJkLnNlY3VyaXR5LmFjY2Vzc1Rva2VuKToodC5zZWN1cml0eVR5cGU9R2EudGxzLHQuY2FDZXJ0UGF0aD1lLnRoaW5nc2JvYXJkLnNlY3VyaXR5LmNhQ2VydCx0LnByaXZhdGVLZXlQYXRoPWUudGhpbmdzYm9hcmQuc2VjdXJpdHkucHJpdmF0ZUtleSx0LmNlcnRQYXRoPWUudGhpbmdzYm9hcmQuc2VjdXJpdHkuY2VydCkpLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCJzdG9yYWdlIikmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLnN0b3JhZ2UsInR5cGUiKSYmKGUuc3RvcmFnZS50eXBlPT09VWEubWVtb3J5Pyh0LnN0b3JhZ2VUeXBlPVVhLm1lbW9yeSx0LnJlYWRSZWNvcmRzQ291bnQ9ZS5zdG9yYWdlLnJlYWRfcmVjb3Jkc19jb3VudCx0Lm1heFJlY29yZHNDb3VudD1lLnN0b3JhZ2UubWF4X3JlY29yZHNfY291bnQpOmUuc3RvcmFnZS50eXBlPT09VWEuZmlsZSYmKHQuc3RvcmFnZVR5cGU9VWEuZmlsZSx0LmRhdGFGb2xkZXJQYXRoPWUuc3RvcmFnZS5kYXRhX2ZvbGRlcl9wYXRoLHQubWF4RmlsZXNDb3VudD1lLnN0b3JhZ2UubWF4X2ZpbGVfY291bnQsdC5yZWFkUmVjb3Jkc0NvdW50PWUuc3RvcmFnZS5yZWFkX3JlY29yZHNfY291bnQsdC5tYXhSZWNvcmRzQ291bnQ9ZS5zdG9yYWdlLm1heF9yZWNvcmRzX2NvdW50KSksdH1mdW5jdGlvbiBKYShlKXtjb25zdCB0PXt9O2Zvcihjb25zdCBuIG9mIGUpbi5lbmFibGVkfHwodFtuLm5hbWVdPXtjb25uZWN0b3I6bi5jb25maWdUeXBlLGNvbmZpZzpuLmNvbmZpZ30pO3JldHVybiB0fWZ1bmN0aW9uIFhhKGUpe2NvbnN0IHQ9e3RoaW5nc2JvYXJkOlphKGUpfTtyZXR1cm4gZnVuY3Rpb24oZSx0KXtmb3IoY29uc3QgbiBvZiB0KWlmKG4uZW5hYmxlZCl7Y29uc3QgdD1uLmNvbmZpZ1R5cGU7QXJyYXkuaXNBcnJheShlW3RdKXx8KGVbdF09W10pO2NvbnN0IGE9e25hbWU6bi5uYW1lLGNvbmZpZzpuLmNvbmZpZ307ZVt0XS5wdXNoKGEpfX0odCxlLmNvbm5lY3RvcnMpLHR9ZnVuY3Rpb24gWmEoZSl7bGV0IHQ7dD1lLnNlY3VyaXR5VHlwZT09PUdhLmFjY2Vzc1Rva2VuP3thY2Nlc3NUb2tlbjplLmFjY2Vzc1Rva2VufTp7Y2FDZXJ0OmUuY2FDZXJ0UGF0aCxwcml2YXRlS2V5OmUucHJpdmF0ZUtleVBhdGgsY2VydDplLmNlcnRQYXRofTtjb25zdCBuPXtob3N0OmUuaG9zdCxyZW1vdGVDb25maWd1cmF0aW9uOmUucmVtb3RlQ29uZmlndXJhdGlvbixwb3J0OmUucG9ydCxzZWN1cml0eTp0fTtsZXQgYTthPWUuc3RvcmFnZVR5cGU9PT1VYS5tZW1vcnk/e3R5cGU6VWEubWVtb3J5LHJlYWRfcmVjb3Jkc19jb3VudDplLnJlYWRSZWNvcmRzQ291bnQsbWF4X3JlY29yZHNfY291bnQ6ZS5tYXhSZWNvcmRzQ291bnR9Ont0eXBlOlVhLmZpbGUsZGF0YV9mb2xkZXJfcGF0aDplLmRhdGFGb2xkZXJQYXRoLG1heF9maWxlX2NvdW50OmUubWF4RmlsZXNDb3VudCxtYXhfcmVhZF9yZWNvcmRzX2NvdW50OmUucmVhZFJlY29yZHNDb3VudCxtYXhfcmVjb3Jkc19wZXJfZmlsZTplLm1heFJlY29yZHNDb3VudH07Y29uc3Qgbz1bXTtmb3IoY29uc3QgdCBvZiBlLmNvbm5lY3RvcnMpaWYodC5lbmFibGVkKXtjb25zdCBlPXtjb25maWd1cmF0aW9uOkthKHQubmFtZSksbmFtZTp0Lm5hbWUsdHlwZTp0LmNvbmZpZ1R5cGV9O28ucHVzaChlKX1yZXR1cm57dGhpbmdzYm9hcmQ6bixjb25uZWN0b3JzOm8sc3RvcmFnZTphLGxvZ3M6d2luZG93LmJ0b2EoJGEoZS5yZW1vdGVMb2dnaW5nTGV2ZWwsZS5yZW1vdGVMb2dnaW5nUGF0aFRvTG9ncykpfX1jbGFzcyBlbyBleHRlbmRzIE97Y29uc3RydWN0b3IoZSx0LG4sYSxvLGkscixzLGwsYyxwKXtzdXBlcihlKSx0aGlzLnN0b3JlPWUsdGhpcy5lbGVtZW50UmVmPXQsdGhpcy51dGlscz1uLHRoaXMubmdab25lPWEsdGhpcy5mYj1vLHRoaXMud2luZG93PWksdGhpcy5kaWFsb2c9cix0aGlzLnRyYW5zbGF0ZT1zLHRoaXMuZGV2aWNlU2VydmljZT1sLHRoaXMuYXR0cmlidXRlU2VydmljZT1jLHRoaXMuaW1wb3J0RXhwb3J0PXAsdGhpcy5hbGlnbm1lbnQ9InJvdyIsdGhpcy5sYXlvdXRHYXA9IjVweCIsdGhpcy5zZWN1cml0eVR5cGVzPVZhLHRoaXMuZ2F0ZXdheUxvZ0xldmVscz1PYmplY3Qua2V5cyhCYSkubWFwKChlPT5CYVtlXSkpLHRoaXMuY29ubmVjdG9yVHlwZXM9T2JqZWN0LmtleXMoSGEpLHRoaXMuc3RvcmFnZVR5cGVzPV9hLHRoaXMudG9hc3RUYXJnZXRJZD0iZ2F0ZXdheS1jb25maWd1cmF0aW9uLXdpZGdldCIrdGhpcy51dGlscy5ndWlkKCksdGhpcy5pc1JlYWRPbmx5Rm9ybT0hMX1nZXQgY29ubmVjdG9ycygpe3JldHVybiB0aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KCJjb25uZWN0b3JzIil9bmdPbkluaXQoKXt0aGlzLmluaXRXaWRnZXRTZXR0aW5ncyh0aGlzLmN0eC5zZXR0aW5ncyksdGhpcy5jdHguZGF0YXNvdXJjZXMmJnRoaXMuY3R4LmRhdGFzb3VyY2VzLmxlbmd0aCYmKHRoaXMuZGV2aWNlTmFtZUZvcm09dGhpcy5jdHguZGF0YXNvdXJjZXNbMF0ubmFtZSksdGhpcy5idWlsZEZvcm0oKSx0aGlzLmN0eC51cGRhdGVXaWRnZXRQYXJhbXMoKSx0aGlzLmZvcm1SZXNpemUkPW5ldyBSZXNpemVPYnNlcnZlcigoKCk9Pnt0aGlzLnJlc2l6ZSgpfSkpLHRoaXMuZm9ybVJlc2l6ZSQub2JzZXJ2ZSh0aGlzLmZvcm1Db250YWluZXJSZWYubmF0aXZlRWxlbWVudCl9bmdPbkRlc3Ryb3koKXt0aGlzLmZvcm1SZXNpemUkJiZ0aGlzLmZvcm1SZXNpemUkLmRpc2Nvbm5lY3QoKSx0aGlzLnN1YnNjcmliZUdhdGV3YXkkLnVuc3Vic2NyaWJlKCksdGhpcy5zdWJzY3JpYmVTdG9yYWdlVHlwZSQudW5zdWJzY3JpYmUoKX1pbml0V2lkZ2V0U2V0dGluZ3MoZSl7bGV0IHQ7dD1lLmdhdGV3YXlUaXRsZSYmZS5nYXRld2F5VGl0bGUubGVuZ3RoP3RoaXMudXRpbHMuY3VzdG9tVHJhbnNsYXRpb24oZS5nYXRld2F5VGl0bGUsZS5nYXRld2F5VGl0bGUpOnRoaXMudHJhbnNsYXRlLmluc3RhbnQoImdhdGV3YXkuZ2F0ZXdheSIpLHRoaXMuY3R4LndpZGdldFRpdGxlPXQsdGhpcy5pc1JlYWRPbmx5Rm9ybT0hIWUucmVhZE9ubHkmJmUucmVhZE9ubHksdGhpcy5hcmNoaXZlRmlsZU5hbWU9ZS5hcmNoaXZlRmlsZU5hbWU/Lmxlbmd0aD9lLmFyY2hpdmVGaWxlTmFtZToiZ2F0ZXdheUNvbmZpZ3VyYXRpb24iLHRoaXMuZ2F0ZXdheVR5cGU9ZS5nYXRld2F5VHlwZT8ubGVuZ3RoP2UuZ2F0ZXdheVR5cGU6IkdhdGV3YXkiLHRoaXMuZ2F0ZXdheU5hbWVFeGlzdHM9dGhpcy51dGlscy5jdXN0b21UcmFuc2xhdGlvbihlLmdhdGV3YXlOYW1lRXhpc3RzLGUuZ2F0ZXdheU5hbWVFeGlzdHMpfHx0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LmdhdGV3YXktZXhpc3RzIiksdGhpcy5zdWNjZXNzZnVsU2F2ZWQ9dGhpcy51dGlscy5jdXN0b21UcmFuc2xhdGlvbihlLnN1Y2Nlc3NmdWxTYXZlLGUuc3VjY2Vzc2Z1bFNhdmUpfHx0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LmdhdGV3YXktc2F2ZWQiKSx0aGlzLnVwZGF0ZVdpZGdldERpc3BsYXlpbmcoKX1yZXNpemUoKXt0aGlzLm5nWm9uZS5ydW4oKCgpPT57dGhpcy51cGRhdGVXaWRnZXREaXNwbGF5aW5nKCksdGhpcy5jdHguZGV0ZWN0Q2hhbmdlcygpfSkpfXVwZGF0ZVdpZGdldERpc3BsYXlpbmcoKXt0aGlzLmN0eC4kY29udGFpbmVyJiZ0aGlzLmN0eC4kY29udGFpbmVyWzBdLm9mZnNldFdpZHRoPD00MjU/KHRoaXMubGF5b3V0R2FwPSIwIix0aGlzLmFsaWdubWVudD0iY29sdW1uIik6KHRoaXMubGF5b3V0R2FwPSI1cHgiLHRoaXMuYWxpZ25tZW50PSJyb3ciKX1zYXZlQXR0cmlidXRlKGUsdCxuKXtjb25zdCBhPXRoaXMuZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoImdhdGV3YXkiKS52YWx1ZSxvPXtrZXk6ZSx2YWx1ZTp0fTtyZXR1cm4gdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNhdmVFbnRpdHlBdHRyaWJ1dGVzKFlhKGEpLG4sW29dKX1jcmVhdGVDb25uZWN0b3IoZT16YSl7dGhpcy5jb25uZWN0b3JzLnB1c2godGhpcy5mYi5ncm91cCh7ZW5hYmxlZDpbZS5lbmFibGVkXSxjb25maWdUeXBlOltlLmNvbmZpZ1R5cGUsW3VlLnJlcXVpcmVkXV0sbmFtZTpbZS5uYW1lLFt1ZS5yZXF1aXJlZF1dLGNvbmZpZzpbZS5jb25maWcsW3VlLm51bGxWYWxpZGF0b3IsV2FdXX0pKX1nZXRGb3JtRmllbGQoZSl7cmV0dXJuIHRoaXMuZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoZSl9YnVpbGRGb3JtKCl7dGhpcy5nYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwPXRoaXMuZmIuZ3JvdXAoe2dhdGV3YXk6W251bGwsW11dLGFjY2Vzc1Rva2VuOltudWxsLFt1ZS5yZXF1aXJlZF1dLHNlY3VyaXR5VHlwZTpbR2EuYWNjZXNzVG9rZW5dLGhvc3Q6W3RoaXMud2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLFt1ZS5yZXF1aXJlZF1dLHBvcnQ6WzE4ODMsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5tYXgoNjU1MzUpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLHJlbW90ZUNvbmZpZ3VyYXRpb246WyEwXSxjYUNlcnRQYXRoOlsiL2V0Yy90aGluZ3Nib2FyZC1nYXRld2F5L2NhLnBlbSJdLHByaXZhdGVLZXlQYXRoOlsiL2V0Yy90aGluZ3Nib2FyZC1nYXRld2F5L3ByaXZhdGVLZXkucGVtIl0sY2VydFBhdGg6WyIvZXRjL3RoaW5nc2JvYXJkLWdhdGV3YXkvY2VydGlmaWNhdGUucGVtIl0scmVtb3RlTG9nZ2luZ0xldmVsOltCYS5kZWJ1Z10scmVtb3RlTG9nZ2luZ1BhdGhUb0xvZ3M6WyIuL2xvZ3MvIixbdWUucmVxdWlyZWRdXSxzdG9yYWdlVHlwZTpbVWEubWVtb3J5XSxyZWFkUmVjb3Jkc0NvdW50OlsxMDAsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxtYXhSZWNvcmRzQ291bnQ6WzFlNCxbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLG1heEZpbGVzQ291bnQ6WzUsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxkYXRhRm9sZGVyUGF0aDpbIi4vZGF0YS8iLFt1ZS5yZXF1aXJlZF1dLGNvbm5lY3RvcnM6dGhpcy5mYi5hcnJheShbXSl9KSx0aGlzLmlzUmVhZE9ubHlGb3JtJiZ0aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5zdWJzY3JpYmVTdG9yYWdlVHlwZSQ9dGhpcy5nZXRGb3JtRmllbGQoInN0b3JhZ2VUeXBlIikudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoZT0+e2U9PT1VYS5tZW1vcnk/KHRoaXMuZ2V0Rm9ybUZpZWxkKCJtYXhGaWxlc0NvdW50IikuZGlzYWJsZSgpLHRoaXMuZ2V0Rm9ybUZpZWxkKCJkYXRhRm9sZGVyUGF0aCIpLmRpc2FibGUoKSk6KHRoaXMuZ2V0Rm9ybUZpZWxkKCJtYXhGaWxlc0NvdW50IikuZW5hYmxlKCksdGhpcy5nZXRGb3JtRmllbGQoImRhdGFGb2xkZXJQYXRoIikuZW5hYmxlKCkpfSkpLHRoaXMuc3Vic2NyaWJlR2F0ZXdheSQ9dGhpcy5nZXRGb3JtRmllbGQoImdhdGV3YXkiKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChlPT57bnVsbCE9PWU/QWUoW3RoaXMuZGV2aWNlU2VydmljZS5nZXREZXZpY2VDcmVkZW50aWFscyhlKS5waXBlKEVlKChlPT57dGhpcy5nZXRGb3JtRmllbGQoImFjY2Vzc1Rva2VuIikucGF0Y2hWYWx1ZShlLmNyZWRlbnRpYWxzSWQpfSkpKSwuLi50aGlzLmdldEF0dHJpYnV0ZXMoZSldKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5nYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLm1hcmtBc1ByaXN0aW5lKCksdGhpcy5jdHguZGV0ZWN0Q2hhbmdlcygpfSkpOnRoaXMuZ2V0Rm9ybUZpZWxkKCJhY2Nlc3NUb2tlbiIpLnBhdGNoVmFsdWUoIiIpfSkpfWdhdGV3YXlFeGlzdCgpe3RoaXMuY3R4LnNob3dFcnJvclRvYXN0KHRoaXMuZ2F0ZXdheU5hbWVFeGlzdHMsInRvcCIsImxlZnQiLHRoaXMudG9hc3RUYXJnZXRJZCl9ZXhwb3J0Q29uZmlnKCl7Y29uc3QgZT10aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAudmFsdWUsdD17fTt2YXIgbixhLG87dFsidGJfZ2F0ZXdheS55YW1sIl09ZnVuY3Rpb24oZSl7bGV0IHQ7dD0idGhpbmdzYm9hcmQ6XG4iLHQrPSIgIGhvc3Q6ICIrZS5ob3N0KyJcbiIsdCs9IiAgcmVtb3RlQ29uZmlndXJhdGlvbjogIitlLnJlbW90ZUNvbmZpZ3VyYXRpb24rIlxuIix0Kz0iICBwb3J0OiAiK2UucG9ydCsiXG4iLHQrPSIgIHNlY3VyaXR5OlxuIixlLnNlY3VyaXR5VHlwZT09PUdhLmFjY2Vzc1Rva2VuP3QrPSIgICAgYWNjZXNzLXRva2VuOiAiK2UuYWNjZXNzVG9rZW4rIlxuIjoodCs9IiAgICBjYV9jZXJ0OiAiK2UuY2FDZXJ0UGF0aCsiXG4iLHQrPSIgICAgcHJpdmF0ZUtleTogIitlLnByaXZhdGVLZXlQYXRoKyJcbiIsdCs9IiAgICBjZXJ0OiAiK2UuY2VydFBhdGgrIlxuIiksdCs9InN0b3JhZ2U6XG4iLGUuc3RvcmFnZVR5cGU9PT1VYS5tZW1vcnk/KHQrPSIgIHR5cGU6IG1lbW9yeVxuIix0Kz0iICByZWFkX3JlY29yZHNfY291bnQ6ICIrZS5yZWFkUmVjb3Jkc0NvdW50KyJcbiIsdCs9IiAgbWF4X3JlY29yZHNfY291bnQ6ICIrZS5tYXhSZWNvcmRzQ291bnQrIlxuIik6KHQrPSIgIHR5cGU6IGZpbGVcbiIsdCs9IiAgZGF0YV9mb2xkZXJfcGF0aDogIitlLmRhdGFGb2xkZXJQYXRoKyJcbiIsdCs9IiAgbWF4X2ZpbGVfY291bnQ6ICIrZS5tYXhGaWxlc0NvdW50KyJcbiIsdCs9IiAgbWF4X3JlYWRfcmVjb3Jkc19jb3VudDogIitlLnJlYWRSZWNvcmRzQ291bnQrIlxuIix0Kz0iICBtYXhfcmVjb3Jkc19wZXJfZmlsZTogIitlLm1heFJlY29yZHNDb3VudCsiXG4iKSx0Kz0iY29ubmVjdG9yczpcbiI7Zm9yKGNvbnN0IG4gb2YgZS5jb25uZWN0b3JzKW4uZW5hYmxlZCYmKHQrPSIgIC1cbiIsdCs9IiAgICBuYW1lOiAiK24ubmFtZSsiXG4iLHQrPSIgICAgdHlwZTogIituLmNvbmZpZ1R5cGUrIlxuIix0Kz0iICAgIGNvbmZpZ3VyYXRpb246ICIrS2Eobi5uYW1lKSsiXG4iKTtyZXR1cm4gdH0oZSksZnVuY3Rpb24oZSx0KXtmb3IoY29uc3QgbiBvZiB0KW4uZW5hYmxlZCYmKGVbS2Eobi5uYW1lKV09SlNPTi5zdHJpbmdpZnkobi5jb25maWcpKX0odCxlLmNvbm5lY3RvcnMpLG49dCxhPWUucmVtb3RlTG9nZ2luZ0xldmVsLG89ZS5yZW1vdGVMb2dnaW5nUGF0aFRvTG9ncyxuWyJsb2dzLmNvbmYiXT0kYShhLG8pLHRoaXMuaW1wb3J0RXhwb3J0LmV4cG9ydEpTWmlwKHQsdGhpcy5hcmNoaXZlRmlsZU5hbWUpLHRoaXMuc2F2ZUF0dHJpYnV0ZShSYSx0aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAudmFsdWUucmVtb3RlTG9nZ2luZ0xldmVsLnRvVXBwZXJDYXNlKCksTC5TSEFSRURfU0NPUEUpfWFkZE5ld0Nvbm5lY3Rvcigpe3RoaXMuY3JlYXRlQ29ubmVjdG9yKCl9cmVtb3ZlQ29ubmVjdG9yKGUpe2U+LTEmJih0aGlzLmNvbm5lY3RvcnMucmVtb3ZlQXQoZSksdGhpcy5jb25uZWN0b3JzLm1hcmtBc0RpcnR5KCkpfW9wZW5Db25maWdEaWFsb2coZSx0LG4sYSl7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uKCksZS5wcmV2ZW50RGVmYXVsdCgpKSx0aGlzLmRpYWxvZy5vcGVuKFFlLHtkaXNhYmxlQ2xvc2U6ITAscGFuZWxDbGFzczpbInRiLWRpYWxvZyIsInRiLWZ1bGxzY3JlZW4tZGlhbG9nIl0sZGF0YTp7anNvblZhbHVlOm4scmVxdWlyZWQ6ITAsdGl0bGU6dGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS50aXRsZS1jb25uZWN0b3JzLWpzb24iLHt0eXBlTmFtZTphfSl9fSkuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKGU9PntlJiYodGhpcy5jb25uZWN0b3JzLmF0KHQpLmdldCgiY29uZmlnIikucGF0Y2hWYWx1ZShlKSx0aGlzLmN0eC5kZXRlY3RDaGFuZ2VzKCkpfSkpfWNyZWF0ZUNvbm5lY3Rvck5hbWUoZSx0LG49MCl7Y29uc3QgYT1uP3Qrbjp0O3JldHVybi0xPT09ZS5maW5kSW5kZXgoKGU9PmUubmFtZT09PWEpKT9hOnRoaXMuY3JlYXRlQ29ubmVjdG9yTmFtZShlLHQsKytuKX12YWxpZGF0ZUNvbm5lY3Rvck5hbWUoZSx0LG4sYT0wKXtmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rKyl7Y29uc3QgaT0wPT09YT90OnQrYTtvIT09biYmZVtvXS5uYW1lPT09aSYmdGhpcy52YWxpZGF0ZUNvbm5lY3Rvck5hbWUoZSx0LG4sKythKX1yZXR1cm4gMD09PWE/dDp0K2F9Y2hhbmdlQ29ubmVjdG9yVHlwZShlKXtpZighZS5nZXQoIm5hbWUiKS52YWx1ZSl7Y29uc3QgdD1lLmdldCgiY29uZmlnVHlwZSIpLnZhbHVlLG49dGhpcy5nYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLnZhbHVlLmNvbm5lY3RvcnM7ZS5nZXQoIm5hbWUiKS5wYXRjaFZhbHVlKHRoaXMuY3JlYXRlQ29ubmVjdG9yTmFtZShuLEhhW3RdKSl9fWNoYW5nZUNvbm5lY3Rvck5hbWUoZSx0KXtjb25zdCBuPXRoaXMuZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC52YWx1ZS5jb25uZWN0b3JzO2UuZ2V0KCJuYW1lIikucGF0Y2hWYWx1ZSh0aGlzLnZhbGlkYXRlQ29ubmVjdG9yTmFtZShuLGUuZ2V0KCJuYW1lIikudmFsdWUsdCkpfXNhdmUoKXtjb25zdCBlPXRoaXMuZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC52YWx1ZTtBZShbdGhpcy5zYXZlQXR0cmlidXRlKCJjb25maWd1cmF0aW9uIix3aW5kb3cuYnRvYShKU09OLnN0cmluZ2lmeShYYShlKSkpLEwuU0hBUkVEX1NDT1BFKSx0aGlzLnNhdmVBdHRyaWJ1dGUoT2Esd2luZG93LmJ0b2EoSlNPTi5zdHJpbmdpZnkoSmEoZS5jb25uZWN0b3JzKSkpLEwuU0VSVkVSX1NDT1BFKSx0aGlzLnNhdmVBdHRyaWJ1dGUoUmEsdGhpcy5nYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLnZhbHVlLnJlbW90ZUxvZ2dpbmdMZXZlbC50b1VwcGVyQ2FzZSgpLEwuU0hBUkVEX1NDT1BFKV0pLnN1YnNjcmliZSgoKCk9Pnt0aGlzLmN0eC5zaG93U3VjY2Vzc1RvYXN0KHRoaXMuc3VjY2Vzc2Z1bFNhdmVkLDJlMywidG9wIiwibGVmdCIsdGhpcy50b2FzdFRhcmdldElkKSx0aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAubWFya0FzUHJpc3RpbmUoKX0pKX1nZXRBdHRyaWJ1dGVzKGUpe2NvbnN0IHQ9W107cmV0dXJuIHQucHVzaChBZShbdGhpcy5nZXRBdHRyaWJ1dGUoImN1cnJlbnRfY29uZmlndXJhdGlvbiIsTC5DTElFTlRfU0NPUEUsZSksdGhpcy5nZXRBdHRyaWJ1dGUoT2EsTC5TRVJWRVJfU0NPUEUsZSldKS5waXBlKEVlKCgoW2UsdF0pPT57dGhpcy5zZXRGb3JtR2F0ZXdheVNldHRpbmdzKGUpLHRoaXMuc2V0Rm9ybUNvbm5lY3RvcnNEcmFmdCh0KSx0aGlzLmlzUmVhZE9ubHlGb3JtJiZ0aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSl9KSkpKSx0LnB1c2godGhpcy5nZXRBdHRyaWJ1dGUoUmEsTC5TSEFSRURfU0NPUEUsZSkucGlwZShFZSgoZT0+dGhpcy5wcm9jZXNzTG9nZ2luZ0xldmVsKGUpKSkpKSx0fWdldEF0dHJpYnV0ZShlLHQsbil7cmV0dXJuIHRoaXMuYXR0cmlidXRlU2VydmljZS5nZXRFbnRpdHlBdHRyaWJ1dGVzKFlhKG4pLHQsW2VdKX1zZXRGb3JtR2F0ZXdheVNldHRpbmdzKGUpe2lmKHRoaXMuY29ubmVjdG9ycy5jbGVhcigpLGUubGVuZ3RoPjApe2NvbnN0IHQ9SlNPTi5wYXJzZSh3aW5kb3cuYXRvYihlWzBdLnZhbHVlKSk7Zm9yKGNvbnN0IGUgb2YgT2JqZWN0LmtleXModCkpe2NvbnN0IG49dFtlXTtpZigidGhpbmdzYm9hcmQiPT09ZSludWxsIT09biYmT2JqZWN0LmtleXMobikubGVuZ3RoPjAmJnRoaXMuZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5wYXRjaFZhbHVlKFFhKG4pKTtlbHNlIGZvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKG4pKXtsZXQgYT0iTm8gbmFtZSI7T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG5bdF0sIm5hbWUiKSYmKGE9blt0XS5uYW1lKTtjb25zdCBvPXtlbmFibGVkOiEwLGNvbmZpZ1R5cGU6ZSxjb25maWc6blt0XS5jb25maWcsbmFtZTphfTt0aGlzLmNyZWF0ZUNvbm5lY3RvcihvKX19fX1zZXRGb3JtQ29ubmVjdG9yc0RyYWZ0KGUpe2lmKGUubGVuZ3RoPjApe2NvbnN0IHQ9SlNPTi5wYXJzZSh3aW5kb3cuYXRvYihlWzBdLnZhbHVlKSk7Zm9yKGNvbnN0IGUgb2YgT2JqZWN0LmtleXModCkpe2NvbnN0IG49e2VuYWJsZWQ6ITEsY29uZmlnVHlwZTp0W2VdLmNvbm5lY3Rvcixjb25maWc6dFtlXS5jb25maWcsbmFtZTplfTt0aGlzLmNyZWF0ZUNvbm5lY3RvcihuKX19fXByb2Nlc3NMb2dnaW5nTGV2ZWwoZSl7bGV0IHQ9QmEuZGVidWc7ZS5sZW5ndGg+MCYmQmFbZVswXS52YWx1ZS50b0xvd2VyQ2FzZSgpXSYmKHQ9QmFbZVswXS52YWx1ZS50b0xvd2VyQ2FzZSgpXSksdGhpcy5nZXRGb3JtRmllbGQoInJlbW90ZUxvZ2dpbmdMZXZlbCIpLnBhdGNoVmFsdWUodCl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTplbyxkZXBzOlt7dG9rZW46b3QuU3RvcmV9LHt0b2tlbjp0LkVsZW1lbnRSZWZ9LHt0b2tlbjpYLlV0aWxzU2VydmljZX0se3Rva2VuOnQuTmdab25lfSx7dG9rZW46bWUuVW50eXBlZEZvcm1CdWlsZGVyfSx7dG9rZW46YWV9LHt0b2tlbjpKZS5NYXREaWFsb2d9LHt0b2tlbjpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0b2tlbjpYLkRldmljZVNlcnZpY2V9LHt0b2tlbjpYLkF0dHJpYnV0ZVNlcnZpY2V9LHt0b2tlbjpsdC5JbXBvcnRFeHBvcnRTZXJ2aWNlfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTplbyxzZWxlY3RvcjoidGItZ2F0ZXdheS1mb3JtIixpbnB1dHM6e2N0eDoiY3R4Iixpc1N0YXRlRm9ybToiaXNTdGF0ZUZvcm0ifSx2aWV3UXVlcmllczpbe3Byb3BlcnR5TmFtZToiZm9ybUNvbnRhaW5lclJlZiIsZmlyc3Q6ITAscHJlZGljYXRlOlsiZm9ybUNvbnRhaW5lciJdLGRlc2NlbmRhbnRzOiEwLHN0YXRpYzohMH0se3Byb3BlcnR5TmFtZToibXVsdGlwbGVJbnB1dEZvcm0iLGZpcnN0OiEwLHByZWRpY2F0ZTpbImdhdGV3YXlDb25maWd1cmF0aW9uRm9ybSJdLGRlc2NlbmRhbnRzOiEwLHN0YXRpYzohMH1dLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGZvcm0gI2Zvcm1Db250YWluZXIgY2xhc3M9ImdhdGV3YXktZm9ybSJcbiAgICAgIFtmb3JtR3JvdXBdPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwIlxuICAgICAgdGItdG9hc3QgdG9hc3RUYXJnZXQ9Int7IHRvYXN0VGFyZ2V0SWQgfX0iXG4gICAgICAobmdTdWJtaXQpPSJzYXZlKCkiPlxuICA8bWF0LWFjY29yZGlvbiBtdWx0aT0idHJ1ZSIgY2xhc3M9Im1hdC1ib2R5LTIiPlxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLXBhbmVsLXRpdGxlIj57eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmRcJyB8IHRyYW5zbGF0ZSB8IHVwcGVyY2FzZSB9fTwvZGl2PlxuICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDx0Yi1lbnRpdHktZ2F0ZXdheS1zZWxlY3RcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9ImdhdGV3YXkiXG4gICAgICAgICAgW2RldmljZU5hbWVdPSJkZXZpY2VOYW1lRm9ybSJcbiAgICAgICAgICBbaXNTdGF0ZUZvcm1dPSJpc1N0YXRlRm9ybSJcbiAgICAgICAgICBbbmV3R2F0ZXdheVR5cGVdPSJnYXRld2F5VHlwZSJcbiAgICAgICAgICAoZ2F0ZXdheU5hbWVFeGlzdCk9ImdhdGV3YXlFeGlzdCgpIlxuICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgID5cbiAgICAgIDwvdGItZW50aXR5LWdhdGV3YXktc2VsZWN0PlxuICAgICAgPGRpdiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7XCdnYXRld2F5LnNlY3VyaXR5LXR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ic2VjdXJpdHlUeXBlIiA+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBzZWN1cml0eVR5cGUgb2Ygc2VjdXJpdHlUeXBlcyB8IGtleXZhbHVlIiBbdmFsdWVdPSJzZWN1cml0eVR5cGUua2V5Ij5cbiAgICAgICAgICAgICAge3sgc2VjdXJpdHlUeXBlLnZhbHVlLnRvU3RyaW5nKCkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgW2Z4TGF5b3V0XT0iYWxpZ25tZW50IiBbZnhMYXlvdXRHYXBdPSJsYXlvdXRHYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkLWhvc3RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJ0ZXh0IiBmb3JtQ29udHJvbE5hbWU9Imhvc3QiPlxuICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnaG9zdFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBnYXRld2F5LnRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWRcbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0XCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9InBvcnQiPlxuICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWRcbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdtaW5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgIGdhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1taW5cbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdtYXhcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgIGdhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1tYXhcbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtcGF0dGVyblxuICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnc2VjdXJpdHlUeXBlXCcpLnZhbHVlID09IFwndGxzXCciIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnRscy1wYXRoLWNhLWNlcnRpZmljYXRlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0idGV4dCIgZm9ybUNvbnRyb2xOYW1lPSJjYUNlcnRQYXRoIj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS50bHMtcGF0aC1wcml2YXRlLWtleVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InRleHQiIGZvcm1Db250cm9sTmFtZT0icHJpdmF0ZUtleVBhdGgiPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnRscy1wYXRoLWNsaWVudC1jZXJ0aWZpY2F0ZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InRleHQiIGZvcm1Db250cm9sTmFtZT0iY2VydFBhdGgiPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxtYXQtY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPSJyZW1vdGVDb25maWd1cmF0aW9uIj57eyBcJ2dhdGV3YXkucmVtb3RlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1jaGVja2JveD5cblxuICAgICAgPGRpdiBbZnhMYXlvdXRdPSJhbGlnbm1lbnQiIFtmeExheW91dEdhcF09ImxheW91dEdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgPG1hdC1sYWJlbD57e1wnZ2F0ZXdheS5yZW1vdGUtbG9nZ2luZy1sZXZlbFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJyZW1vdGVMb2dnaW5nTGV2ZWwiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbG9nTGV2ZWwgb2YgZ2F0ZXdheUxvZ0xldmVscyIgW3ZhbHVlXT0ibG9nTGV2ZWwiPlxuICAgICAgICAgICAgICB7eyBsb2dMZXZlbCB9fVxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnBhdGgtbG9nc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InRleHQiIGZvcm1Db250cm9sTmFtZT0icmVtb3RlTG9nZ2luZ1BhdGhUb0xvZ3MiPlxuICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwncmVtb3RlTG9nZ2luZ1BhdGhUb0xvZ3NcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgZ2F0ZXdheS5wYXRoLWxvZ3MtcmVxdWlyZWRcbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuXG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuXG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItcGFuZWwtdGl0bGUiPnt7IFwnZ2F0ZXdheS5zdG9yYWdlXCcgfCB0cmFuc2xhdGUgfCB1cHBlcmNhc2UgfX08L2Rpdj5cbiAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuXG4gICAgICA8ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3tcJ2dhdGV3YXkuc3RvcmFnZS10eXBlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InN0b3JhZ2VUeXBlIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHN0b3JhZ2VUeXBlIG9mIHN0b3JhZ2VUeXBlcyB8IGtleXZhbHVlIiBbdmFsdWVdPSJzdG9yYWdlVHlwZS5rZXkiPlxuICAgICAgICAgICAgICB7eyBzdG9yYWdlVHlwZS52YWx1ZS50b1N0cmluZygpIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPGRpdiBbZnhMYXlvdXRdPSJhbGlnbm1lbnQiIFtmeExheW91dEdhcF09ImxheW91dEdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0b3JhZ2UtcGFjay1zaXplXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIGZvcm1Db250cm9sTmFtZT0icmVhZFJlY29yZHNDb3VudCI+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlYWRSZWNvcmRzQ291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwncmVhZFJlY29yZHNDb3VudFwnKS5oYXNFcnJvcihcJ21pblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtcGFjay1zaXplLW1pblxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlYWRSZWNvcmRzQ291bnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgIGdhdGV3YXkuc3RvcmFnZS1wYWNrLXNpemUtcGF0dGVyblxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsID5cbiAgICAgICAgICAgICAge3sgKGdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnc3RvcmFnZVR5cGVcJykudmFsdWUgIT09IFwnZmlsZVwnID8gXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHNcJyA6IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlLXJlY29yZHNcJykgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1heFJlY29yZHNDb3VudCI+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ21heFJlY29yZHNDb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgIGdhdGV3YXkuc3RvcmFnZS1tYXgtcmVjb3Jkcy1yZXF1aXJlZFxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ21heFJlY29yZHNDb3VudFwnKS5oYXNFcnJvcihcJ21pblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtbWluXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnbWF4UmVjb3Jkc0NvdW50XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVyblxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBbZnhMYXlvdXRdPSJhbGlnbm1lbnQiIFtmeExheW91dEdhcF09ImxheW91dEdhcCIgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnc3RvcmFnZVR5cGVcJykudmFsdWUgPT0gXCdmaWxlXCciPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1heEZpbGVzQ291bnQiPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdtYXhGaWxlc0NvdW50XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZFxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ21heEZpbGVzQ291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlcy1taW5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdtYXhGaWxlc0NvdW50XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtbWF4LWZpbGVzLXBhdHRlcm5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkuc3RvcmFnZS1wYXRoXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJ0ZXh0IiBmb3JtQ29udHJvbE5hbWU9ImRhdGFGb2xkZXJQYXRoIj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnZGF0YUZvbGRlclBhdGhcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtcGF0aC1yZXF1aXJlZFxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG5cbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1wYW5lbC10aXRsZSI+e3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtY29uZmlnXCcgfCB0cmFuc2xhdGUgfCB1cHBlcmNhc2UgfX08L2Rpdj5cbiAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuXG4gICAgICA8ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iIGNsYXNzPSJnYXRld2F5LWNvbmZpZyI+XG4gICAgICAgIDxzZWN0aW9uIGZvcm1BcnJheU5hbWU9ImNvbm5lY3RvcnMiICpuZ0Zvcj0ibGV0IGNvbm5lY3RvciBvZiBjb25uZWN0b3JzLmNvbnRyb2xzOyBsZXQgaSA9IGluZGV4OyI+XG4gICAgICAgICAgPGRpdiBbZm9ybUdyb3VwTmFtZV09ImkiIGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gc3RyZXRjaCIgZnhMYXlvdXRHYXA9IjhweCI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBzdGFydCI+XG4gICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZvcm1Db250cm9sTmFtZT0iZW5hYmxlZCI+PC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IFtmeExheW91dF09ImFsaWdubWVudCIgW2Z4TGF5b3V0R2FwXT0ibGF5b3V0R2FwIiBmeEZsZXg+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57e1wnZ2F0ZXdheS5jb25uZWN0b3ItdHlwZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJjb25maWdUeXBlIiAoc2VsZWN0aW9uQ2hhbmdlKT0iY2hhbmdlQ29ubmVjdG9yVHlwZShjb25uZWN0b3IpIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGNvbm5lY3RvclR5cGUgb2YgY29ubmVjdG9yVHlwZXMiIFt2YWx1ZV09ImNvbm5lY3RvclR5cGUiPlxuICAgICAgICAgICAgICAgICAgICB7eyBjb25uZWN0b3JUeXBlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbm5lY3Rvci5nZXQoXCdjb25maWdUeXBlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgICAgIGdhdGV3YXkuY29ubmVjdG9yLXR5cGUtcmVxdWlyZWRcbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LmNvbm5lY3Rvci1uYW1lXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0idGV4dCIgZm9ybUNvbnRyb2xOYW1lPSJuYW1lIiAoYmx1cik9ImNoYW5nZUNvbm5lY3Rvck5hbWUoY29ubmVjdG9yLCBpKSI+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29ubmVjdG9yLmdldChcJ25hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgZ2F0ZXdheS5jb25uZWN0b3ItbmFtZS1yZXF1aXJlZFxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IFtmeExheW91dF09ImFsaWdubWVudCIgW2Z4TGF5b3V0R2FwXT0ibGF5b3V0R2FwIlxuICAgICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJ7e2FsaWdubWVudCA9PSBcJ3Jvd1wnID8gXCdlbmQgY2VudGVyXCcgOiBcJ3NwYWNlLWV2ZW5seSBjZW50ZXJcJ319IiBjbGFzcz0iYWN0aW9uLWJ1dHRvbnMiPlxuICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09ImlzUmVhZE9ubHlGb3JtIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0ib3BlbkNvbmZpZ0RpYWxvZygkZXZlbnQsIGksIGNvbm5lY3Rvci5nZXQoXCdjb25maWdcJykudmFsdWUsIGNvbm5lY3Rvci5nZXQoXCduYW1lXCcpLnZhbHVlKSJcbiAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkudXBkYXRlLWNvbmZpZ1wnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPSJ7XCdtYXQtd2FyblwnOiBjb25uZWN0b3IuZ2V0KFwnY29uZmlnXCcpLmludmFsaWR9Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+bW9yZV9ob3JpejwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09ImlzUmVhZE9ubHlGb3JtIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPSJyZW1vdmVDb25uZWN0b3IoaSkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmRlbGV0ZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPHNwYW4gW2Z4U2hvd109IiFjb25uZWN0b3JzLmxlbmd0aCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciIgY2xhc3M9Im5vLWRhdGEtZm91bmQiPnt7XCdnYXRld2F5Lm5vLWNvbm5lY3RvcnNcJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxidXR0b24gW2Z4U2hvd109IiFpc1JlYWRPbmx5Rm9ybSIgbWF0LXJhaXNlZC1idXR0b24gdHlwZT0iYnV0dG9uIiAoY2xpY2spPSJhZGROZXdDb25uZWN0b3IoKSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5jb25uZWN0b3ItYWRkXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICAgIHt7IFwnYWN0aW9uLmFkZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXYgPlxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgPC9tYXQtYWNjb3JkaW9uPlxuICA8c2VjdGlvbiBbZnhTaG93XT0iIWlzUmVhZE9ubHlGb3JtIlxuICAgICAgICAgICBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJlbmQgY2VudGVyIiBjbGFzcz0iZm9ybS1hY3Rpb24tYnV0dG9ucyI+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSIgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgKGNsaWNrKT0iZXhwb3J0Q29uZmlnKCkiXG4gICAgICAgICAgICAqbmdJZj0iIWdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwncmVtb3RlQ29uZmlndXJhdGlvblwnKS52YWx1ZSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09IiFnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmRpcnR5IHx8IGdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuaW52YWxpZCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7XCdnYXRld2F5LmRvd25sb2FkLXRpcFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIHt7XCdhY3Rpb24uZG93bmxvYWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSIgdHlwZT0ic3VibWl0IlxuICAgICAgICAgICAgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwncmVtb3RlQ29uZmlndXJhdGlvblwnKS52YWx1ZSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09IiFnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmRpcnR5IHx8IGdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuaW52YWxpZCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7XCdnYXRld2F5LnNhdmUtdGlwXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAge3tcJ2FjdGlvbi5zYXZlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9zZWN0aW9uPlxuPC9mb3JtPlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC5nYXRld2F5LWZvcm17aGVpZ2h0OjEwMCU7cGFkZGluZzo1cHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtvdmVyZmxvdy15OmF1dG87b3ZlcmZsb3cteDpoaWRkZW59Omhvc3QgLmdhdGV3YXktZm9ybSAuZm9ybS1hY3Rpb24tYnV0dG9uc3twYWRkaW5nLXRvcDo4cHh9Omhvc3QgLmdhdGV3YXktZm9ybSAuZ2F0ZXdheS1jb25maWcgLm5vLWRhdGEtZm91bmR7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpmbGV4O2hlaWdodDo0MHB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdDbGFzcyxzZWxlY3RvcjoiW25nQ2xhc3NdIixpbnB1dHM6WyJjbGFzcyIsIm5nQ2xhc3MiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Y3QuVG9hc3REaXJlY3RpdmUsc2VsZWN0b3I6Ilt0Yi10b2FzdF0iLGlucHV0czpbInRvYXN0VGFyZ2V0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QnV0dG9uLHNlbGVjdG9yOiIgICAgYnV0dG9uW21hdC1idXR0b25dLCBidXR0b25bbWF0LXJhaXNlZC1idXR0b25dLCBidXR0b25bbWF0LWZsYXQtYnV0dG9uXSwgICAgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0gICIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpwdC5NYXRDaGVja2JveCxzZWxlY3RvcjoibWF0LWNoZWNrYm94IixpbnB1dHM6WyJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsImlkIiwicmVxdWlyZWQiLCJsYWJlbFBvc2l0aW9uIiwibmFtZSIsInZhbHVlIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY29sb3IiLCJkaXNhYmxlZEludGVyYWN0aXZlIiwiY2hlY2tlZCIsImRpc2FibGVkIiwiaW5kZXRlcm1pbmF0ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJpbmRldGVybWluYXRlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRDaGVja2JveCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdEVycm9yLHNlbGVjdG9yOiJtYXQtZXJyb3IsIFttYXRFcnJvcl0iLGlucHV0czpbImlkIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpDZS5NYXRPcHRpb24sc2VsZWN0b3I6Im1hdC1vcHRpb24iLGlucHV0czpbInZhbHVlIiwiaWQiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJvblNlbGVjdGlvbkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0T3B0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6emUuTWF0VG9vbHRpcCxzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixpbnB1dHM6WyJtYXRUb29sdGlwUG9zaXRpb24iLCJtYXRUb29sdGlwUG9zaXRpb25BdE9yaWdpbiIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBTaG93RGVsYXkiLCJtYXRUb29sdGlwSGlkZURlbGF5IiwibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcENsYXNzIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6ZXQuTWF0U2xpZGVUb2dnbGUsc2VsZWN0b3I6Im1hdC1zbGlkZS10b2dnbGUiLGlucHV0czpbIm5hbWUiLCJpZCIsImxhYmVsUG9zaXRpb24iLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsInJlcXVpcmVkIiwiY29sb3IiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImNoZWNrZWQiLCJoaWRlSWNvbiIsImRpc2FibGVkSW50ZXJhY3RpdmUiXSxvdXRwdXRzOlsiY2hhbmdlIiwidG9nZ2xlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEFjY29yZGlvbixzZWxlY3RvcjoibWF0LWFjY29yZGlvbiIsaW5wdXRzOlsiaGlkZVRvZ2dsZSIsImRpc3BsYXlNb2RlIiwidG9nZ2xlUG9zaXRpb24iXSxleHBvcnRBczpbIm1hdEFjY29yZGlvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsIixpbnB1dHM6WyJoaWRlVG9nZ2xlIiwidG9nZ2xlUG9zaXRpb24iXSxvdXRwdXRzOlsiYWZ0ZXJFeHBhbmQiLCJhZnRlckNvbGxhcHNlIl0sZXhwb3J0QXM6WyJtYXRFeHBhbnNpb25QYW5lbCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsSGVhZGVyLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciIsaW5wdXRzOlsiZXhwYW5kZWRIZWlnaHQiLCJjb2xsYXBzZWRIZWlnaHQiLCJ0YWJJbmRleCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsVGl0bGUsc2VsZWN0b3I6Im1hdC1wYW5lbC10aXRsZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRHYXBEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0R2FwXSwgW2Z4TGF5b3V0R2FwLnhzXSwgW2Z4TGF5b3V0R2FwLnNtXSwgW2Z4TGF5b3V0R2FwLm1kXSwgIFtmeExheW91dEdhcC5sZ10sIFtmeExheW91dEdhcC54bF0sIFtmeExheW91dEdhcC5sdC1zbV0sIFtmeExheW91dEdhcC5sdC1tZF0sICBbZnhMYXlvdXRHYXAubHQtbGddLCBbZnhMYXlvdXRHYXAubHQteGxdLCBbZnhMYXlvdXRHYXAuZ3QteHNdLCBbZnhMYXlvdXRHYXAuZ3Qtc21dLCAgW2Z4TGF5b3V0R2FwLmd0LW1kXSwgW2Z4TGF5b3V0R2FwLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRHYXAiLCJmeExheW91dEdhcC54cyIsImZ4TGF5b3V0R2FwLnNtIiwiZnhMYXlvdXRHYXAubWQiLCJmeExheW91dEdhcC5sZyIsImZ4TGF5b3V0R2FwLnhsIiwiZnhMYXlvdXRHYXAubHQtc20iLCJmeExheW91dEdhcC5sdC1tZCIsImZ4TGF5b3V0R2FwLmx0LWxnIiwiZnhMYXlvdXRHYXAubHQteGwiLCJmeExheW91dEdhcC5ndC14cyIsImZ4TGF5b3V0R2FwLmd0LXNtIiwiZnhMYXlvdXRHYXAuZ3QtbWQiLCJmeExheW91dEdhcC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRTaG93SGlkZURpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhTaG93XSwgW2Z4U2hvdy5wcmludF0sICBbZnhTaG93LnhzXSwgW2Z4U2hvdy5zbV0sIFtmeFNob3cubWRdLCBbZnhTaG93LmxnXSwgW2Z4U2hvdy54bF0sICBbZnhTaG93Lmx0LXNtXSwgW2Z4U2hvdy5sdC1tZF0sIFtmeFNob3cubHQtbGddLCBbZnhTaG93Lmx0LXhsXSwgIFtmeFNob3cuZ3QteHNdLCBbZnhTaG93Lmd0LXNtXSwgW2Z4U2hvdy5ndC1tZF0sIFtmeFNob3cuZ3QtbGddLCAgW2Z4SGlkZV0sIFtmeEhpZGUucHJpbnRdLCAgW2Z4SGlkZS54c10sIFtmeEhpZGUuc21dLCBbZnhIaWRlLm1kXSwgW2Z4SGlkZS5sZ10sIFtmeEhpZGUueGxdLCAgW2Z4SGlkZS5sdC1zbV0sIFtmeEhpZGUubHQtbWRdLCBbZnhIaWRlLmx0LWxnXSwgW2Z4SGlkZS5sdC14bF0sICBbZnhIaWRlLmd0LXhzXSwgW2Z4SGlkZS5ndC1zbV0sIFtmeEhpZGUuZ3QtbWRdLCBbZnhIaWRlLmd0LWxnXSIsaW5wdXRzOlsiZnhTaG93IiwiZnhTaG93LnByaW50IiwiZnhTaG93LnhzIiwiZnhTaG93LnNtIiwiZnhTaG93Lm1kIiwiZnhTaG93LmxnIiwiZnhTaG93LnhsIiwiZnhTaG93Lmx0LXNtIiwiZnhTaG93Lmx0LW1kIiwiZnhTaG93Lmx0LWxnIiwiZnhTaG93Lmx0LXhsIiwiZnhTaG93Lmd0LXhzIiwiZnhTaG93Lmd0LXNtIiwiZnhTaG93Lmd0LW1kIiwiZnhTaG93Lmd0LWxnIiwiZnhIaWRlIiwiZnhIaWRlLnByaW50IiwiZnhIaWRlLnhzIiwiZnhIaWRlLnNtIiwiZnhIaWRlLm1kIiwiZnhIaWRlLmxnIiwiZnhIaWRlLnhsIiwiZnhIaWRlLmx0LXNtIiwiZnhIaWRlLmx0LW1kIiwiZnhIaWRlLmx0LWxnIiwiZnhIaWRlLmx0LXhsIiwiZnhIaWRlLmd0LXhzIiwiZnhIaWRlLmd0LXNtIiwiZnhIaWRlLmd0LW1kIiwiZnhIaWRlLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Sy5EZWZhdWx0Q2xhc3NEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW25nQ2xhc3NdLCBbbmdDbGFzcy54c10sIFtuZ0NsYXNzLnNtXSwgW25nQ2xhc3MubWRdLCBbbmdDbGFzcy5sZ10sIFtuZ0NsYXNzLnhsXSwgIFtuZ0NsYXNzLmx0LXNtXSwgW25nQ2xhc3MubHQtbWRdLCBbbmdDbGFzcy5sdC1sZ10sIFtuZ0NsYXNzLmx0LXhsXSwgIFtuZ0NsYXNzLmd0LXhzXSwgW25nQ2xhc3MuZ3Qtc21dLCBbbmdDbGFzcy5ndC1tZF0sIFtuZ0NsYXNzLmd0LWxnXSIsaW5wdXRzOlsibmdDbGFzcyIsIm5nQ2xhc3MueHMiLCJuZ0NsYXNzLnNtIiwibmdDbGFzcy5tZCIsIm5nQ2xhc3MubGciLCJuZ0NsYXNzLnhsIiwibmdDbGFzcy5sdC1zbSIsIm5nQ2xhc3MubHQtbWQiLCJuZ0NsYXNzLmx0LWxnIiwibmdDbGFzcy5sdC14bCIsIm5nQ2xhc3MuZ3QteHMiLCJuZ0NsYXNzLmd0LXNtIiwibmdDbGFzcy5ndC1tZCIsIm5nQ2xhc3MuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS7JtU5nTm9WYWxpZGF0ZSxzZWxlY3RvcjoiZm9ybTpub3QoW25nTm9Gb3JtXSk6bm90KFtuZ05hdGl2ZVZhbGlkYXRlXSkifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBOYW1lLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0iLGlucHV0czpbImZvcm1Hcm91cE5hbWUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQXJyYXlOYW1lLHNlbGVjdG9yOiJbZm9ybUFycmF5TmFtZV0iLGlucHV0czpbImZvcm1BcnJheU5hbWUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTptdC5FbnRpdHlHYXRld2F5U2VsZWN0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi1lbnRpdHktZ2F0ZXdheS1zZWxlY3QiLGlucHV0czpbInJlcXVpcmVkIiwibmV3R2F0ZXdheVR5cGUiLCJkZXZpY2VOYW1lIiwiaXNTdGF0ZUZvcm0iXSxvdXRwdXRzOlsiZ2F0ZXdheU5hbWVFeGlzdCJdfSx7a2luZDoicGlwZSIsdHlwZTpfLlVwcGVyQ2FzZVBpcGUsbmFtZToidXBwZXJjYXNlIn0se2tpbmQ6InBpcGUiLHR5cGU6Xy5LZXlWYWx1ZVBpcGUsbmFtZToia2V5dmFsdWUifSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn1dfSl9fWUoIkdhdGV3YXlGb3JtQ29tcG9uZW50IixlbyksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTplbyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItZ2F0ZXdheS1mb3JtIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2Vcbjxmb3JtICNmb3JtQ29udGFpbmVyIGNsYXNzPSJnYXRld2F5LWZvcm0iXG4gICAgICBbZm9ybUdyb3VwXT0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cCJcbiAgICAgIHRiLXRvYXN0IHRvYXN0VGFyZ2V0PSJ7eyB0b2FzdFRhcmdldElkIH19IlxuICAgICAgKG5nU3VibWl0KT0ic2F2ZSgpIj5cbiAgPG1hdC1hY2NvcmRpb24gbXVsdGk9InRydWUiIGNsYXNzPSJtYXQtYm9keS0yIj5cbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1wYW5lbC10aXRsZSI+e3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkXCcgfCB0cmFuc2xhdGUgfCB1cHBlcmNhc2UgfX08L2Rpdj5cbiAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICA8dGItZW50aXR5LWdhdGV3YXktc2VsZWN0XG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJnYXRld2F5IlxuICAgICAgICAgIFtkZXZpY2VOYW1lXT0iZGV2aWNlTmFtZUZvcm0iXG4gICAgICAgICAgW2lzU3RhdGVGb3JtXT0iaXNTdGF0ZUZvcm0iXG4gICAgICAgICAgW25ld0dhdGV3YXlUeXBlXT0iZ2F0ZXdheVR5cGUiXG4gICAgICAgICAgKGdhdGV3YXlOYW1lRXhpc3QpPSJnYXRld2F5RXhpc3QoKSJcbiAgICAgICAgICByZXF1aXJlZFxuICAgICAgICA+XG4gICAgICA8L3RiLWVudGl0eS1nYXRld2F5LXNlbGVjdD5cbiAgICAgIDxkaXYgZnhMYXlvdXQ9ImNvbHVtbiI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgPG1hdC1sYWJlbD57e1wnZ2F0ZXdheS5zZWN1cml0eS10eXBlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5VHlwZSIgPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgc2VjdXJpdHlUeXBlIG9mIHNlY3VyaXR5VHlwZXMgfCBrZXl2YWx1ZSIgW3ZhbHVlXT0ic2VjdXJpdHlUeXBlLmtleSI+XG4gICAgICAgICAgICAgIHt7IHNlY3VyaXR5VHlwZS52YWx1ZS50b1N0cmluZygpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IFtmeExheW91dF09ImFsaWdubWVudCIgW2Z4TGF5b3V0R2FwXT0ibGF5b3V0R2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1ob3N0XCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0idGV4dCIgZm9ybUNvbnRyb2xOYW1lPSJob3N0Ij5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgZ2F0ZXdheS50aGluZ3Nib2FyZC1ob3N0LXJlcXVpcmVkXG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0Ij5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkXG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtbWluXG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtbWF4XG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LXBhdHRlcm5cbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2ICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3NlY3VyaXR5VHlwZVwnKS52YWx1ZSA9PSBcJ3Rsc1wnIiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS50bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InRleHQiIGZvcm1Db250cm9sTmFtZT0iY2FDZXJ0UGF0aCI+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkudGxzLXBhdGgtcHJpdmF0ZS1rZXlcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJ0ZXh0IiBmb3JtQ29udHJvbE5hbWU9InByaXZhdGVLZXlQYXRoIj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS50bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJ0ZXh0IiBmb3JtQ29udHJvbE5hbWU9ImNlcnRQYXRoIj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8bWF0LWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT0icmVtb3RlQ29uZmlndXJhdGlvbiI+e3sgXCdnYXRld2F5LnJlbW90ZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtY2hlY2tib3g+XG5cbiAgICAgIDxkaXYgW2Z4TGF5b3V0XT0iYWxpZ25tZW50IiBbZnhMYXlvdXRHYXBdPSJsYXlvdXRHYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3tcJ2dhdGV3YXkucmVtb3RlLWxvZ2dpbmctbGV2ZWxcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icmVtb3RlTG9nZ2luZ0xldmVsIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGxvZ0xldmVsIG9mIGdhdGV3YXlMb2dMZXZlbHMiIFt2YWx1ZV09ImxvZ0xldmVsIj5cbiAgICAgICAgICAgICAge3sgbG9nTGV2ZWwgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5wYXRoLWxvZ3NcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJ0ZXh0IiBmb3JtQ29udHJvbE5hbWU9InJlbW90ZUxvZ2dpbmdQYXRoVG9Mb2dzIj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlbW90ZUxvZ2dpbmdQYXRoVG9Mb2dzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgIGdhdGV3YXkucGF0aC1sb2dzLXJlcXVpcmVkXG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cblxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cblxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLXBhbmVsLXRpdGxlIj57eyBcJ2dhdGV3YXkuc3RvcmFnZVwnIHwgdHJhbnNsYXRlIHwgdXBwZXJjYXNlIH19PC9kaXY+XG4gICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cblxuICAgICAgPGRpdiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7XCdnYXRld2F5LnN0b3JhZ2UtdHlwZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJzdG9yYWdlVHlwZSI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBzdG9yYWdlVHlwZSBvZiBzdG9yYWdlVHlwZXMgfCBrZXl2YWx1ZSIgW3ZhbHVlXT0ic3RvcmFnZVR5cGUua2V5Ij5cbiAgICAgICAgICAgICAge3sgc3RvcmFnZVR5cGUudmFsdWUudG9TdHJpbmcoKSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgIDxkaXYgW2Z4TGF5b3V0XT0iYWxpZ25tZW50IiBbZnhMYXlvdXRHYXBdPSJsYXlvdXRHYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5zdG9yYWdlLXBhY2stc2l6ZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9InJlYWRSZWNvcmRzQ291bnQiPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdyZWFkUmVjb3Jkc0NvdW50XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLXBhY2stc2l6ZS1yZXF1aXJlZFxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlYWRSZWNvcmRzQ291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLXBhY2stc2l6ZS1taW5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdyZWFkUmVjb3Jkc0NvdW50XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtcGFjay1zaXplLXBhdHRlcm5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbCA+XG4gICAgICAgICAgICAgIHt7IChnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3N0b3JhZ2VUeXBlXCcpLnZhbHVlICE9PSBcJ2ZpbGVcJyA/IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzXCcgOiBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzXCcpIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgZm9ybUNvbnRyb2xOYW1lPSJtYXhSZWNvcmRzQ291bnQiPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdtYXhSZWNvcmRzQ291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWRcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdtYXhSZWNvcmRzQ291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLW1pblxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ21heFJlY29yZHNDb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLXBhdHRlcm5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgW2Z4TGF5b3V0XT0iYWxpZ25tZW50IiBbZnhMYXlvdXRHYXBdPSJsYXlvdXRHYXAiICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3N0b3JhZ2VUeXBlXCcpLnZhbHVlID09IFwnZmlsZVwnIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXNcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgZm9ybUNvbnRyb2xOYW1lPSJtYXhGaWxlc0NvdW50Ij5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnbWF4RmlsZXNDb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgIGdhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWRcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdtYXhGaWxlc0NvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgIGdhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXMtbWluXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnbWF4RmlsZXNDb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0b3JhZ2UtcGF0aFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0idGV4dCIgZm9ybUNvbnRyb2xOYW1lPSJkYXRhRm9sZGVyUGF0aCI+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ2RhdGFGb2xkZXJQYXRoXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLXBhdGgtcmVxdWlyZWRcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuXG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItcGFuZWwtdGl0bGUiPnt7IFwnZ2F0ZXdheS5jb25uZWN0b3JzLWNvbmZpZ1wnIHwgdHJhbnNsYXRlIHwgdXBwZXJjYXNlIH19PC9kaXY+XG4gICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cblxuICAgICAgPGRpdiBmeExheW91dD0iY29sdW1uIiBjbGFzcz0iZ2F0ZXdheS1jb25maWciPlxuICAgICAgICA8c2VjdGlvbiBmb3JtQXJyYXlOYW1lPSJjb25uZWN0b3JzIiAqbmdGb3I9ImxldCBjb25uZWN0b3Igb2YgY29ubmVjdG9ycy5jb250cm9sczsgbGV0IGkgPSBpbmRleDsiPlxuICAgICAgICAgIDxkaXYgW2Zvcm1Hcm91cE5hbWVdPSJpIiBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIHN0cmV0Y2giIGZ4TGF5b3V0R2FwPSI4cHgiPlxuICAgICAgICAgICAgPGRpdiBmeExheW91dD0iY29sdW1uIiBmeExheW91dEFsaWduPSJjZW50ZXIgc3RhcnQiPlxuICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmb3JtQ29udHJvbE5hbWU9ImVuYWJsZWQiPjwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBbZnhMYXlvdXRdPSJhbGlnbm1lbnQiIFtmeExheW91dEdhcF09ImxheW91dEdhcCIgZnhGbGV4PlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3tcJ2dhdGV3YXkuY29ubmVjdG9yLXR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iY29uZmlnVHlwZSIgKHNlbGVjdGlvbkNoYW5nZSk9ImNoYW5nZUNvbm5lY3RvclR5cGUoY29ubmVjdG9yKSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBjb25uZWN0b3JUeXBlIG9mIGNvbm5lY3RvclR5cGVzIiBbdmFsdWVdPSJjb25uZWN0b3JUeXBlIj5cbiAgICAgICAgICAgICAgICAgICAge3sgY29ubmVjdG9yVHlwZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb25uZWN0b3IuZ2V0KFwnY29uZmlnVHlwZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICBnYXRld2F5LmNvbm5lY3Rvci10eXBlLXJlcXVpcmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5jb25uZWN0b3ItbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InRleHQiIGZvcm1Db250cm9sTmFtZT0ibmFtZSIgKGJsdXIpPSJjaGFuZ2VDb25uZWN0b3JOYW1lKGNvbm5lY3RvciwgaSkiPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbm5lY3Rvci5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgICAgIGdhdGV3YXkuY29ubmVjdG9yLW5hbWUtcmVxdWlyZWRcbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBbZnhMYXlvdXRdPSJhbGlnbm1lbnQiIFtmeExheW91dEdhcF09ImxheW91dEdhcCJcbiAgICAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj0ie3thbGlnbm1lbnQgPT0gXCdyb3dcJyA/IFwnZW5kIGNlbnRlclwnIDogXCdzcGFjZS1ldmVubHkgY2VudGVyXCd9fSIgY2xhc3M9ImFjdGlvbi1idXR0b25zIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPSJpc1JlYWRPbmx5Rm9ybSIgbWF0LWljb24tYnV0dG9uIChjbGljayk9Im9wZW5Db25maWdEaWFsb2coJGV2ZW50LCBpLCBjb25uZWN0b3IuZ2V0KFwnY29uZmlnXCcpLnZhbHVlLCBjb25uZWN0b3IuZ2V0KFwnbmFtZVwnKS52YWx1ZSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LnVwZGF0ZS1jb25maWdcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT0ie1wnbWF0LXdhcm5cJzogY29ubmVjdG9yLmdldChcJ2NvbmZpZ1wnKS5pbnZhbGlkfSI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPm1vcmVfaG9yaXo8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPSJpc1JlYWRPbmx5Rm9ybSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0icmVtb3ZlQ29ubmVjdG9yKGkpIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5kZWxldGVcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDxzcGFuIFtmeFNob3ddPSIhY29ubmVjdG9ycy5sZW5ndGgiIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiIGNsYXNzPSJuby1kYXRhLWZvdW5kIj57e1wnZ2F0ZXdheS5uby1jb25uZWN0b3JzXCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8YnV0dG9uIFtmeFNob3ddPSIhaXNSZWFkT25seUZvcm0iIG1hdC1yYWlzZWQtYnV0dG9uIHR5cGU9ImJ1dHRvbiIgKGNsaWNrKT0iYWRkTmV3Q29ubmVjdG9yKCkiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuY29ubmVjdG9yLWFkZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgICB7eyBcJ2FjdGlvbi5hZGRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2ID5cbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gIDwvbWF0LWFjY29yZGlvbj5cbiAgPHNlY3Rpb24gW2Z4U2hvd109IiFpc1JlYWRPbmx5Rm9ybSJcbiAgICAgICAgICAgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciIgY2xhc3M9ImZvcm0tYWN0aW9uLWJ1dHRvbnMiPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9InByaW1hcnkiIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIChjbGljayk9ImV4cG9ydENvbmZpZygpIlxuICAgICAgICAgICAgKm5nSWY9IiFnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlbW90ZUNvbmZpZ3VyYXRpb25cJykudmFsdWUiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSIhZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5kaXJ0eSB8fCBnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmludmFsaWQiXG4gICAgICAgICAgICBtYXRUb29sdGlwPSJ7e1wnZ2F0ZXdheS5kb3dubG9hZC10aXBcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICB7e1wnYWN0aW9uLmRvd25sb2FkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cblxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9InByaW1hcnkiIHR5cGU9InN1Ym1pdCJcbiAgICAgICAgICAgICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlbW90ZUNvbmZpZ3VyYXRpb25cJykudmFsdWUiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSIhZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5kaXJ0eSB8fCBnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmludmFsaWQiXG4gICAgICAgICAgICBtYXRUb29sdGlwPSJ7e1wnZ2F0ZXdheS5zYXZlLXRpcFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIHt7XCdhY3Rpb24uc2F2ZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvc2VjdGlvbj5cbjwvZm9ybT5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCAuZ2F0ZXdheS1mb3Jte2hlaWdodDoxMDAlO3BhZGRpbmc6NXB4O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7b3ZlcmZsb3cteTphdXRvO292ZXJmbG93LXg6aGlkZGVufTpob3N0IC5nYXRld2F5LWZvcm0gLmZvcm0tYWN0aW9uLWJ1dHRvbnN7cGFkZGluZy10b3A6OHB4fTpob3N0IC5nYXRld2F5LWZvcm0gLmdhdGV3YXktY29uZmlnIC5uby1kYXRhLWZvdW5ke3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6NDBweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm90LlN0b3JlfSx7dHlwZTp0LkVsZW1lbnRSZWZ9LHt0eXBlOlguVXRpbHNTZXJ2aWNlfSx7dHlwZTp0Lk5nWm9uZX0se3R5cGU6bWUuVW50eXBlZEZvcm1CdWlsZGVyfSx7dHlwZTpXaW5kb3csZGVjb3JhdG9yczpbe3R5cGU6cCxhcmdzOlthZV19XX0se3R5cGU6SmUuTWF0RGlhbG9nfSx7dHlwZTpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0eXBlOlguRGV2aWNlU2VydmljZX0se3R5cGU6WC5BdHRyaWJ1dGVTZXJ2aWNlfSx7dHlwZTpsdC5JbXBvcnRFeHBvcnRTZXJ2aWNlfV0scHJvcERlY29yYXRvcnM6e2Zvcm1Db250YWluZXJSZWY6W3t0eXBlOm8sYXJnczpbImZvcm1Db250YWluZXIiLHtzdGF0aWM6ITB9XX1dLG11bHRpcGxlSW5wdXRGb3JtOlt7dHlwZTpvLGFyZ3M6WyJnYXRld2F5Q29uZmlndXJhdGlvbkZvcm0iLHtzdGF0aWM6ITB9XX1dLGN0eDpbe3R5cGU6YX1dLGlzU3RhdGVGb3JtOlt7dHlwZTphfV19fSk7Y2xhc3MgdG8gZXh0ZW5kcyBQe2NvbnN0cnVjdG9yKGUsdCxuLGEsbyxpLHIpe3N1cGVyKGUsdCxhKSx0aGlzLnN0b3JlPWUsdGhpcy5yb3V0ZXI9dCx0aGlzLmRhdGE9bix0aGlzLmRpYWxvZ1JlZj1hLHRoaXMuZmI9byx0aGlzLmlzTGF0ZXN0VmVyc2lvbkNvbmZpZz1pLHRoaXMucmVzb3VyY2VzU2VydmljZT1yLHRoaXMuY29ubmVjdG9yVHlwZT1fdCx0aGlzLmdhdGV3YXlDb25uZWN0b3JEZWZhdWx0VHlwZXNUcmFuc2xhdGVzTWFwPUh0LHRoaXMuZ2F0ZXdheUxvZ0xldmVsPU9iamVjdC52YWx1ZXMoTXQpLHRoaXMuc3VibWl0dGVkPSExLHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMuY29ubmVjdG9yRm9ybT10aGlzLmZiLmdyb3VwKHt0eXBlOltfdC5NUVRULFtdXSxuYW1lOlsiIixbdWUucmVxdWlyZWQsdGhpcy51bmlxTmFtZVJlcXVpcmVkKCksdWUucGF0dGVybihrdCldXSxsb2dMZXZlbDpbTXQuSU5GTyxbXV0sdXNlRGVmYXVsdHM6WyEwLFtdXSxzZW5kRGF0YU9ubHlPbkNoYW5nZTpbITEsW11dLGNsYXNzOlsiIixbXV0sa2V5OlsiYXV0byIsW11dfSl9bmdPbkluaXQoKXt0aGlzLm9ic2VydmVUeXBlQ2hhbmdlKCl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCksc3VwZXIubmdPbkRlc3Ryb3koKX1oZWxwTGlua0lkKCl7cmV0dXJuIHYrIi9kb2NzL2lvdC1nYXRld2F5L2NvbmZpZ3VyYXRpb24vIn1jYW5jZWwoKXt0aGlzLmRpYWxvZ1JlZi5jbG9zZShudWxsKX1hZGQoKXt0aGlzLnN1Ym1pdHRlZD0hMDtjb25zdCBlPXRoaXMuY29ubmVjdG9yRm9ybS5nZXRSYXdWYWx1ZSgpO2UudXNlRGVmYXVsdHM/dGhpcy5nZXREZWZhdWx0Q29uZmlnKGUudHlwZSkuc3Vic2NyaWJlKCh0PT57Y29uc3Qgbj10aGlzLmRhdGEuZ2F0ZXdheVZlcnNpb247biYmKGUuY29uZmlnVmVyc2lvbj1uKSxlLmNvbmZpZ3VyYXRpb25Kc29uPSh0aGlzLmlzTGF0ZXN0VmVyc2lvbkNvbmZpZy50cmFuc2Zvcm0obik/dFtVdC5DdXJyZW50XTp0W1V0LkxlZ2FjeV0pPz90LHRoaXMuY29ubmVjdG9yRm9ybS52YWxpZCYmdGhpcy5kaWFsb2dSZWYuY2xvc2UoZSl9KSk6dGhpcy5jb25uZWN0b3JGb3JtLnZhbGlkJiZ0aGlzLmRpYWxvZ1JlZi5jbG9zZShlKX11bmlxTmFtZVJlcXVpcmVkKCl7cmV0dXJuIGU9Pntjb25zdCB0PWUudmFsdWUudHJpbSgpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIHRoaXMuZGF0YS5kYXRhU291cmNlRGF0YS5zb21lKCgoe3ZhbHVlOntuYW1lOmV9fSk9PmUudG9Mb3dlckNhc2UoKT09PXQpKT97ZHVwbGljYXRlTmFtZTp7dmFsaWQ6ITF9fTpudWxsfX1vYnNlcnZlVHlwZUNoYW5nZSgpe3RoaXMuY29ubmVjdG9yRm9ybS5nZXQoInR5cGUiKS52YWx1ZUNoYW5nZXMucGlwZShFZSgoZT0+e2NvbnN0IHQ9dGhpcy5jb25uZWN0b3JGb3JtLmdldCgidXNlRGVmYXVsdHMiKTtlPT09X3QuR1JQQ3x8ZT09PV90LkNVU1RPTT90LnNldFZhbHVlKCExKTp0LnZhbHVlfHx0LnNldFZhbHVlKCEwKX0pKSxOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCl9Z2V0RGVmYXVsdENvbmZpZyhlKXtyZXR1cm4gdGhpcy5yZXNvdXJjZXNTZXJ2aWNlLmxvYWRKc29uUmVzb3VyY2UoYC9hc3NldHMvbWV0YWRhdGEvY29ubmVjdG9yLWRlZmF1bHQtY29uZmlncy8ke2V9Lmpzb25gKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnRvLGRlcHM6W3t0b2tlbjpvdC5TdG9yZX0se3Rva2VuOml0LlJvdXRlcn0se3Rva2VuOlhlfSx7dG9rZW46SmUuTWF0RGlhbG9nUmVmfSx7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjp2YX0se3Rva2VuOlguUmVzb3VyY2VzU2VydmljZX1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6dG8sc2VsZWN0b3I6InRiLWFkZC1jb25uZWN0b3ItZGlhbG9nIixwcm92aWRlcnM6W10sdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IFtmb3JtR3JvdXBdPSJjb25uZWN0b3JGb3JtIiBjbGFzcz0iYWRkLWNvbm5lY3RvciI+XG4gIDxtYXQtdG9vbGJhciBjb2xvcj0icHJpbWFyeSI+XG4gICAgPGgyPnt7ICJnYXRld2F5LmFkZC1jb25uZWN0b3IiIHwgdHJhbnNsYXRlfX08L2gyPlxuICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgPGRpdiBbdGItaGVscF09ImhlbHBMaW5rSWQoKSI+PC9kaXY+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9ImNhbmNlbCgpIlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIj5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPmNsb3NlPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9tYXQtdG9vbGJhcj5cbiAgPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyIgZnhMYXlvdXQ9ImNvbHVtbiI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnR5cGU8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGdhdGV3YXlDb25uZWN0b3JEZWZhdWx0VHlwZXNUcmFuc2xhdGVzTWFwIHwga2V5dmFsdWUiIFt2YWx1ZV09InR5cGUua2V5Ij5cbiAgICAgICAgICAgICAgICB7eyB0eXBlLnZhbHVlIH19XG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5uYW1lPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGF1dG9jb21wbGV0ZT0ib2ZmIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJuYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwnZHVwbGljYXRlTmFtZVwnKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcJ2dhdGV3YXkuY29ubmVjdG9yLWR1cGxpY2F0ZS1uYW1lXCcgOlwnZ2F0ZXdheS5uYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSIoY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYgY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLnRvdWNoZWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwnZHVwbGljYXRlTmFtZVwnKSJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IGNvbm5lY3RvclR5cGUuQ1VTVE9NIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWNsYXNzPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImNsYXNzIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gY29ubmVjdG9yVHlwZS5HUlBDIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWtleTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJrZXkiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5yZW1vdGUtbG9nZ2luZy1sZXZlbDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibG9nTGV2ZWwiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBsb2dMZXZlbCBvZiBnYXRld2F5TG9nTGV2ZWwiIFt2YWx1ZV09ImxvZ0xldmVsIj57eyBsb2dMZXZlbCB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlICE9PSBjb25uZWN0b3JUeXBlLkdSUEMgJiYgY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlICE9PSBjb25uZWN0b3JUeXBlLkNVU1RPTSJcbiAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIGZpeGVkLXRpdGxlLXdpZHRoIiBmb3JtQ29udHJvbE5hbWU9InVzZURlZmF1bHRzIj5cbiAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuZmlsbC1jb25uZWN0b3ItZGVmYXVsdHMtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5maWxsLWNvbm5lY3Rvci1kZWZhdWx0c1wnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlID09PSBjb25uZWN0b3JUeXBlLk1RVFQiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBmaXhlZC10aXRsZS13aWR0aCIgZm9ybUNvbnRyb2xOYW1lPSJzZW5kRGF0YU9ubHlPbkNoYW5nZSI+XG4gICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LnNlbmQtY2hhbmdlLWRhdGEtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWNoYW5nZS1kYXRhXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucyBmeExheW91dEFsaWduPSJlbmQgY2VudGVyIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICBjZGtGb2N1c0luaXRpYWxcbiAgICAgICAgICAgIChjbGljayk9ImNhbmNlbCgpIj5cbiAgICAgIHt7IFwnYWN0aW9uLmNhbmNlbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIChjbGljayk9ImFkZCgpIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0iY29ubmVjdG9yRm9ybS5pbnZhbGlkIHx8ICFjb25uZWN0b3JGb3JtLmRpcnR5Ij5cbiAgICAgIHt7IFwnYWN0aW9uLmFkZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLmFkZC1jb25uZWN0b3J7bWluLXdpZHRoOjQwMHB4O3dpZHRoOjUwMHB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpkdC5IZWxwQ29tcG9uZW50LHNlbGVjdG9yOiJbdGItaGVscF0iLGlucHV0czpbInRiLWhlbHAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdFN1ZmZpeCxzZWxlY3RvcjoiW21hdFN1ZmZpeF0sIFttYXRJY29uU3VmZml4XSwgW21hdFRleHRTdWZmaXhdIixpbnB1dHM6WyJtYXRUZXh0U3VmZml4Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6cnQuTWF0VG9vbGJhcixzZWxlY3RvcjoibWF0LXRvb2xiYXIiLGlucHV0czpbImNvbG9yIl0sZXhwb3J0QXM6WyJtYXRUb29sYmFyIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQWN0aW9ucyxzZWxlY3RvcjoiW21hdC1kaWFsb2ctYWN0aW9uc10sIG1hdC1kaWFsb2ctYWN0aW9ucywgW21hdERpYWxvZ0FjdGlvbnNdIixpbnB1dHM6WyJhbGlnbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOkplLk1hdERpYWxvZ0NvbnRlbnQsc2VsZWN0b3I6IlttYXQtZGlhbG9nLWNvbnRlbnRdLCBtYXQtZGlhbG9nLWNvbnRlbnQsIFttYXREaWFsb2dDb250ZW50XSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpDZS5NYXRPcHRpb24sc2VsZWN0b3I6Im1hdC1vcHRpb24iLGlucHV0czpbInZhbHVlIiwiaWQiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJvblNlbGVjdGlvbkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0T3B0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6emUuTWF0VG9vbHRpcCxzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixpbnB1dHM6WyJtYXRUb29sdGlwUG9zaXRpb24iLCJtYXRUb29sdGlwUG9zaXRpb25BdE9yaWdpbiIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBTaG93RGVsYXkiLCJtYXRUb29sdGlwSGlkZURlbGF5IiwibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcENsYXNzIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6ZXQuTWF0U2xpZGVUb2dnbGUsc2VsZWN0b3I6Im1hdC1zbGlkZS10b2dnbGUiLGlucHV0czpbIm5hbWUiLCJpZCIsImxhYmVsUG9zaXRpb24iLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsInJlcXVpcmVkIiwiY29sb3IiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImNoZWNrZWQiLCJoaWRlSWNvbiIsImRpc2FibGVkSW50ZXJhY3RpdmUiXSxvdXRwdXRzOlsiY2hhbmdlIiwidG9nZ2xlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRdLCBbZnhMYXlvdXQueHNdLCBbZnhMYXlvdXQuc21dLCBbZnhMYXlvdXQubWRdLCAgW2Z4TGF5b3V0LmxnXSwgW2Z4TGF5b3V0LnhsXSwgW2Z4TGF5b3V0Lmx0LXNtXSwgW2Z4TGF5b3V0Lmx0LW1kXSwgIFtmeExheW91dC5sdC1sZ10sIFtmeExheW91dC5sdC14bF0sIFtmeExheW91dC5ndC14c10sIFtmeExheW91dC5ndC1zbV0sICBbZnhMYXlvdXQuZ3QtbWRdLCBbZnhMYXlvdXQuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dCIsImZ4TGF5b3V0LnhzIiwiZnhMYXlvdXQuc20iLCJmeExheW91dC5tZCIsImZ4TGF5b3V0LmxnIiwiZnhMYXlvdXQueGwiLCJmeExheW91dC5sdC1zbSIsImZ4TGF5b3V0Lmx0LW1kIiwiZnhMYXlvdXQubHQtbGciLCJmeExheW91dC5sdC14bCIsImZ4TGF5b3V0Lmd0LXhzIiwiZnhMYXlvdXQuZ3Qtc20iLCJmeExheW91dC5ndC1tZCIsImZ4TGF5b3V0Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dXQuSGludFRvb2x0aXBJY29uQ29tcG9uZW50LHNlbGVjdG9yOiJbdGItaGludC10b29sdGlwLWljb25dIixpbnB1dHM6WyJ0Yi1oaW50LXRvb2x0aXAtaWNvbiIsInRvb2x0aXBQb3NpdGlvbiIsImhpbnRJY29uIl19LHtraW5kOiJwaXBlIix0eXBlOl8uS2V5VmFsdWVQaXBlLG5hbWU6ImtleXZhbHVlIn0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XX0pfX1lKCJBZGRDb25uZWN0b3JEaWFsb2dDb21wb25lbnQiLHRvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnRvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1hZGQtY29ubmVjdG9yLWRpYWxvZyIscHJvdmlkZXJzOltdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBbZm9ybUdyb3VwXT0iY29ubmVjdG9yRm9ybSIgY2xhc3M9ImFkZC1jb25uZWN0b3IiPlxuICA8bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICAgIDxoMj57eyAiZ2F0ZXdheS5hZGQtY29ubmVjdG9yIiB8IHRyYW5zbGF0ZX19PC9oMj5cbiAgICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICAgIDxkaXYgW3RiLWhlbHBdPSJoZWxwTGlua0lkKCkiPjwvZGl2PlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvbWF0LXRvb2xiYXI+XG4gIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50eXBlPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBnYXRld2F5Q29ubmVjdG9yRGVmYXVsdFR5cGVzVHJhbnNsYXRlc01hcCB8IGtleXZhbHVlIiBbdmFsdWVdPSJ0eXBlLmtleSI+XG4gICAgICAgICAgICAgICAge3sgdHlwZS52YWx1ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkubmFtZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBhdXRvY29tcGxldGU9Im9mZiIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ibmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS5oYXNFcnJvcihcJ2R1cGxpY2F0ZU5hbWVcJykgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCdnYXRld2F5LmNvbm5lY3Rvci1kdXBsaWNhdGUtbmFtZVwnIDpcJ2dhdGV3YXkubmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iKGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS50b3VjaGVkKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS5oYXNFcnJvcihcJ2R1cGxpY2F0ZU5hbWVcJykiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlID09PSBjb25uZWN0b3JUeXBlLkNVU1RPTSIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1jbGFzczwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJjbGFzcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IGNvbm5lY3RvclR5cGUuR1JQQyIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1rZXk8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ia2V5IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucmVtb3RlLWxvZ2dpbmctbGV2ZWw8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImxvZ0xldmVsIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbG9nTGV2ZWwgb2YgZ2F0ZXdheUxvZ0xldmVsIiBbdmFsdWVdPSJsb2dMZXZlbCI+e3sgbG9nTGV2ZWwgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSAhPT0gY29ubmVjdG9yVHlwZS5HUlBDICYmIGNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSAhPT0gY29ubmVjdG9yVHlwZS5DVVNUT00iXG4gICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBmaXhlZC10aXRsZS13aWR0aCIgZm9ybUNvbnRyb2xOYW1lPSJ1c2VEZWZhdWx0cyI+XG4gICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmZpbGwtY29ubmVjdG9yLWRlZmF1bHRzLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZmlsbC1jb25uZWN0b3ItZGVmYXVsdHNcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gY29ubmVjdG9yVHlwZS5NUVRUIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgZml4ZWQtdGl0bGUtd2lkdGgiIGZvcm1Db250cm9sTmFtZT0ic2VuZERhdGFPbmx5T25DaGFuZ2UiPlxuICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5zZW5kLWNoYW5nZS1kYXRhLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc2VuZC1jaGFuZ2UtZGF0YVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5jYW5jZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAoY2xpY2spPSJhZGQoKSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09ImNvbm5lY3RvckZvcm0uaW52YWxpZCB8fCAhY29ubmVjdG9yRm9ybS5kaXJ0eSI+XG4gICAgICB7eyBcJ2FjdGlvbi5hZGRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC5hZGQtY29ubmVjdG9ye21pbi13aWR0aDo0MDBweDt3aWR0aDo1MDBweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm90LlN0b3JlfSx7dHlwZTppdC5Sb3V0ZXJ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpwLGFyZ3M6W1hlXX1dfSx7dHlwZTpKZS5NYXREaWFsb2dSZWZ9LHt0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTp2YX0se3R5cGU6WC5SZXNvdXJjZXNTZXJ2aWNlfV19KTtjbGFzcyBub3tjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy52YWx1ZVR5cGVLZXlzPU9iamVjdC52YWx1ZXMoR24pLHRoaXMudmFsdWVUeXBlcz1Wbix0aGlzLk1hcHBpbmdWYWx1ZVR5cGU9R24sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5wcm9wYWdhdGVDaGFuZ2U9ZT0+e319bmdPbkluaXQoKXt0aGlzLnZhbHVlTGlzdEZvcm1BcnJheT10aGlzLmZiLmFycmF5KFtdKSx0aGlzLnZhbHVlTGlzdEZvcm1BcnJheS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy51cGRhdGVWaWV3KGUpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfXRyYWNrQnlLZXkoZSx0KXtyZXR1cm4gdH1hZGRLZXkoKXtjb25zdCBlPXRoaXMuZmIuZ3JvdXAoe3R5cGU6W0duLlNUUklOR10sc3RyaW5nOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxpbnRlZ2VyOlt7dmFsdWU6MCxkaXNhYmxlZDohMH0sW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oTHQpXV0sZG91YmxlOlt7dmFsdWU6MCxkaXNhYmxlZDohMH0sW3VlLnJlcXVpcmVkXV0sYm9vbGVhbjpbe3ZhbHVlOiExLGRpc2FibGVkOiEwfSxbdWUucmVxdWlyZWRdXX0pO3RoaXMub2JzZXJ2ZVR5cGVDaGFuZ2UoZSksdGhpcy52YWx1ZUxpc3RGb3JtQXJyYXkucHVzaChlKX1vYnNlcnZlVHlwZUNoYW5nZShlKXtlLmdldCgidHlwZSIpLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHQ9PntlLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLGUuZ2V0KCJ0eXBlIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSxlLmdldCh0KS5lbmFibGUoe2VtaXRFdmVudDohMX0pfSkpfWRlbGV0ZUtleShlLHQpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy52YWx1ZUxpc3RGb3JtQXJyYXkucmVtb3ZlQXQodCksdGhpcy52YWx1ZUxpc3RGb3JtQXJyYXkubWFya0FzRGlydHkoKX12YWx1ZVRpdGxlKGUpe3JldHVybiBpZShlKT8ib2JqZWN0Ij09dHlwZW9mIGU/SlNPTi5zdHJpbmdpZnkoZSk6ZToiIn1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMucHJvcGFnYXRlQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7fXdyaXRlVmFsdWUoZSl7Zm9yKGNvbnN0IHQgb2YgZSl7Y29uc3QgZT17dHlwZTpbdC50eXBlXSxzdHJpbmc6W3t2YWx1ZToiIixkaXNhYmxlZDohMH0sW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0saW50ZWdlcjpbe3ZhbHVlOjAsZGlzYWJsZWQ6ITB9LFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKEx0KV1dLGRvdWJsZTpbe3ZhbHVlOjAsZGlzYWJsZWQ6ITB9LFt1ZS5yZXF1aXJlZF1dLGJvb2xlYW46W3t2YWx1ZTohMSxkaXNhYmxlZDohMH0sW3VlLnJlcXVpcmVkXV19O2VbdC50eXBlXVswXT17dmFsdWU6dC52YWx1ZSxkaXNhYmxlZDohMX07Y29uc3Qgbj10aGlzLmZiLmdyb3VwKGUpO3RoaXMub2JzZXJ2ZVR5cGVDaGFuZ2UobiksdGhpcy52YWx1ZUxpc3RGb3JtQXJyYXkucHVzaChuKX19dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy52YWx1ZUxpc3RGb3JtQXJyYXkudmFsaWQ/bnVsbDp7dmFsdWVMaXN0Rm9ybTp7dmFsaWQ6ITF9fX11cGRhdGVWaWV3KGUpe3RoaXMucHJvcGFnYXRlQ2hhbmdlKGUubWFwKCgoe3R5cGU6ZSwuLi50fSk9Pih7dHlwZTplLHZhbHVlOnRbZV19KSkpKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOm5vLGRlcHM6W3t0b2tlbjptZS5VbnR5cGVkRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOm5vLHNlbGVjdG9yOiJ0Yi10eXBlLXZhbHVlLXBhbmVsIixwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5ubykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+bm8pKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBrZXktcGFuZWwiICpuZ0lmPSJ2YWx1ZUxpc3RGb3JtQXJyYXkuY29udHJvbHMubGVuZ3RoOyBlbHNlIG5vS2V5cyI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1mbGV4IG5vLWZsZXggcm93IGNlbnRlciBmaWxsLXdpZHRoIlxuICAgICAgICAgKm5nRm9yPSJsZXQga2V5Q29udHJvbCBvZiB2YWx1ZUxpc3RGb3JtQXJyYXkuY29udHJvbHM7IHRyYWNrQnk6IHRyYWNrQnlLZXk7IGxldCAkaW5kZXggPSBpbmRleDsgbGV0IGxhc3QgPSBsYXN0OyI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQgdGItZmxleCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09ImtleUNvbnRyb2wiPlxuICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ibGFzdCI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZS1jb250YWluZXIiIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyB2YWx1ZVRpdGxlKGtleUNvbnRyb2wuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkudmFsdWUpIH19PC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudHlwZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGZpbGwtd2lkdGgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0xOCIgW3N2Z0ljb25dPSJ2YWx1ZVR5cGVzLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpPy5pY29uIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8ubmFtZSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdmFsdWVUeXBlIG9mIHZhbHVlVHlwZUtleXMiIFt2YWx1ZV09InZhbHVlVHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0idGItbWF0LTIwIiBzdmdJY29uPSJ7eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLmljb24gfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUiPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCAqbmdTd2l0Y2hDYXNlPSJNYXBwaW5nVmFsdWVUeXBlLlNUUklORyIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJzdHJpbmciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuSU5URUdFUiIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJpbnRlZ2VyIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuRE9VQkxFIiBtYXRJbnB1dCByZXF1aXJlZCBmb3JtQ29udHJvbE5hbWU9ImRvdWJsZSIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuQk9PTEVBTiIgZm9ybUNvbnRyb2xOYW1lPSJib29sZWFuIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09InRydWUiPnRydWU8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPSJmYWxzZSI+ZmFsc2U8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIGtleUNvbnRyb2wuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJkZWxldGVLZXkoJGV2ZW50LCAkaW5kZXgpIlxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IlwnZ2F0ZXdheS5kZWxldGUtdmFsdWVcJyB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2PlxuICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9InByaW1hcnkiIChjbGljayk9ImFkZEtleSgpIj5cbiAgICAgIHt7IFwnZ2F0ZXdheS5hZGQtdmFsdWVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNub0tleXM+XG4gIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIGtleS1wYW5lbCI+XG4gICAgPHNwYW4gY2xhc3M9InRiLXByb21wdCIgdHJhbnNsYXRlPnt7IFwnZ2F0ZXdheS5uby12YWx1ZVwnIH19PC9zcGFuPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnRpdGxlLWNvbnRhaW5lcnttYXgtd2lkdGg6MTF2d306aG9zdCAua2V5LXBhbmVse2hlaWdodDoyNTBweDtvdmVyZmxvdzphdXRvfTpob3N0IC50Yi1mb3JtLXBhbmVsIC5tYXQtbWRjLWljb24tYnV0dG9ue3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHg7cGFkZGluZzoxNnB4O2NvbG9yOiMwMDAwMDA4YX06aG9zdCAuc2VlLWV4YW1wbGV7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDttYXJnaW46NHB4fTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaCxzZWxlY3RvcjoiW25nU3dpdGNoXSIsaW5wdXRzOlsibmdTd2l0Y2giXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoQ2FzZSxzZWxlY3RvcjoiW25nU3dpdGNoQ2FzZV0iLGlucHV0czpbIm5nU3dpdGNoQ2FzZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOndlLk1hdFNlbGVjdFRyaWdnZXIsc2VsZWN0b3I6Im1hdC1zZWxlY3QtdHJpZ2dlciJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsIixpbnB1dHM6WyJoaWRlVG9nZ2xlIiwidG9nZ2xlUG9zaXRpb24iXSxvdXRwdXRzOlsiYWZ0ZXJFeHBhbmQiLCJhZnRlckNvbGxhcHNlIl0sZXhwb3J0QXM6WyJtYXRFeHBhbnNpb25QYW5lbCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsSGVhZGVyLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciIsaW5wdXRzOlsiZXhwYW5kZWRIZWlnaHQiLCJjb2xsYXBzZWRIZWlnaHQiLCJ0YWJJbmRleCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsVGl0bGUsc2VsZWN0b3I6Im1hdC1wYW5lbC10aXRsZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxDb250ZW50LHNlbGVjdG9yOiJuZy10ZW1wbGF0ZVttYXRFeHBhbnNpb25QYW5lbENvbnRlbnRdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OdW1iZXJWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVtuZ01vZGVsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLlJlcXVpcmVkVmFsaWRhdG9yLHNlbGVjdG9yOiI6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sTmFtZV0sOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbF0sOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtuZ01vZGVsXSIsaW5wdXRzOlsicmVxdWlyZWQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WWUuVHJ1bmNhdGVXaXRoVG9vbHRpcERpcmVjdGl2ZSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XX0pfX1lKCJUeXBlVmFsdWVQYW5lbENvbXBvbmVudCIsbm8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6bm8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLXR5cGUtdmFsdWUtcGFuZWwiLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9Pm5vKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5ubykpLG11bHRpOiEwfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBrZXktcGFuZWwiICpuZ0lmPSJ2YWx1ZUxpc3RGb3JtQXJyYXkuY29udHJvbHMubGVuZ3RoOyBlbHNlIG5vS2V5cyI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1mbGV4IG5vLWZsZXggcm93IGNlbnRlciBmaWxsLXdpZHRoIlxuICAgICAgICAgKm5nRm9yPSJsZXQga2V5Q29udHJvbCBvZiB2YWx1ZUxpc3RGb3JtQXJyYXkuY29udHJvbHM7IHRyYWNrQnk6IHRyYWNrQnlLZXk7IGxldCAkaW5kZXggPSBpbmRleDsgbGV0IGxhc3QgPSBsYXN0OyI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQgdGItZmxleCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09ImtleUNvbnRyb2wiPlxuICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ibGFzdCI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZS1jb250YWluZXIiIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyB2YWx1ZVRpdGxlKGtleUNvbnRyb2wuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkudmFsdWUpIH19PC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudHlwZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGZpbGwtd2lkdGgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0xOCIgW3N2Z0ljb25dPSJ2YWx1ZVR5cGVzLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpPy5pY29uIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8ubmFtZSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdmFsdWVUeXBlIG9mIHZhbHVlVHlwZUtleXMiIFt2YWx1ZV09InZhbHVlVHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0idGItbWF0LTIwIiBzdmdJY29uPSJ7eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLmljb24gfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUiPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCAqbmdTd2l0Y2hDYXNlPSJNYXBwaW5nVmFsdWVUeXBlLlNUUklORyIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJzdHJpbmciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuSU5URUdFUiIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJpbnRlZ2VyIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuRE9VQkxFIiBtYXRJbnB1dCByZXF1aXJlZCBmb3JtQ29udHJvbE5hbWU9ImRvdWJsZSIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuQk9PTEVBTiIgZm9ybUNvbnRyb2xOYW1lPSJib29sZWFuIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09InRydWUiPnRydWU8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPSJmYWxzZSI+ZmFsc2U8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIGtleUNvbnRyb2wuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJkZWxldGVLZXkoJGV2ZW50LCAkaW5kZXgpIlxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IlwnZ2F0ZXdheS5kZWxldGUtdmFsdWVcJyB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2PlxuICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9InByaW1hcnkiIChjbGljayk9ImFkZEtleSgpIj5cbiAgICAgIHt7IFwnZ2F0ZXdheS5hZGQtdmFsdWVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNub0tleXM+XG4gIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIGtleS1wYW5lbCI+XG4gICAgPHNwYW4gY2xhc3M9InRiLXByb21wdCIgdHJhbnNsYXRlPnt7IFwnZ2F0ZXdheS5uby12YWx1ZVwnIH19PC9zcGFuPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnRpdGxlLWNvbnRhaW5lcnttYXgtd2lkdGg6MTF2d306aG9zdCAua2V5LXBhbmVse2hlaWdodDoyNTBweDtvdmVyZmxvdzphdXRvfTpob3N0IC50Yi1mb3JtLXBhbmVsIC5tYXQtbWRjLWljb24tYnV0dG9ue3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHg7cGFkZGluZzoxNnB4O2NvbG9yOiMwMDAwMDA4YX06aG9zdCAuc2VlLWV4YW1wbGV7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDttYXJnaW46NHB4fTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLlVudHlwZWRGb3JtQnVpbGRlcn1dfSk7Y2xhc3MgYW8gZXh0ZW5kcyBPe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIodCksdGhpcy5mYj1lLHRoaXMuc3RvcmU9dCx0aGlzLnZhbHVlVHlwZUtleXM9T2JqZWN0LnZhbHVlcyhHbiksdGhpcy52YWx1ZVR5cGVFbnVtPUduLHRoaXMudmFsdWVUeXBlcz1Wbix0aGlzLnJhd0RhdGE9ITEsdGhpcy5rZXlzRGF0YUFwcGxpZWQ9bmV3IGksdGhpcy5NYXBwaW5nS2V5c1R5cGU9Tm4sdGhpcy5lcnJvclRleHQ9IiJ9bmdPbkluaXQoKXt0aGlzLmtleXNMaXN0Rm9ybUFycmF5PXRoaXMucHJlcGFyZUtleXNGb3JtQXJyYXkodGhpcy5rZXlzKX10cmFja0J5S2V5KGUsdCl7cmV0dXJuIHR9YWRkS2V5KCl7bGV0IGU7aWYoZT10aGlzLmtleXNUeXBlPT09Tm4uUlBDX01FVEhPRFM/dGhpcy5mYi5ncm91cCh7bWV0aG9kOlsiIixbdWUucmVxdWlyZWRdXSxhcmd1bWVudHM6W1tdLFtdXX0pOnRoaXMuZmIuZ3JvdXAoe2tleTpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sdmFsdWU6WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dfSksdGhpcy5rZXlzVHlwZSE9PU5uLkNVU1RPTSYmdGhpcy5rZXlzVHlwZSE9PU5uLlJQQ19NRVRIT0RTKXtjb25zdCB0PXRoaXMucmF3RGF0YT8icmF3Ijp0aGlzLnZhbHVlVHlwZUtleXNbMF07ZS5hZGRDb250cm9sKCJ0eXBlIix0aGlzLmZiLmNvbnRyb2wodCkpfXRoaXMua2V5c0xpc3RGb3JtQXJyYXkucHVzaChlKX1kZWxldGVLZXkoZSx0KXtlJiZlLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMua2V5c0xpc3RGb3JtQXJyYXkucmVtb3ZlQXQodCksdGhpcy5rZXlzTGlzdEZvcm1BcnJheS5tYXJrQXNEaXJ0eSgpfWNhbmNlbCgpe3RoaXMucG9wb3Zlcj8uaGlkZSgpfWFwcGx5S2V5c0RhdGEoKXtsZXQgZT10aGlzLmtleXNMaXN0Rm9ybUFycmF5LnZhbHVlO2lmKHRoaXMua2V5c1R5cGU9PT1Obi5DVVNUT00pe2U9e307Zm9yKGxldCB0IG9mIHRoaXMua2V5c0xpc3RGb3JtQXJyYXkudmFsdWUpZVt0LmtleV09dC52YWx1ZX10aGlzLmtleXNEYXRhQXBwbGllZC5lbWl0KGUpfXByZXBhcmVLZXlzRm9ybUFycmF5KGUpe2NvbnN0IHQ9W107cmV0dXJuIGUmJih0aGlzLmtleXNUeXBlPT09Tm4uQ1VTVE9NJiYoZT1PYmplY3Qua2V5cyhlKS5tYXAoKHQ9Pih7a2V5OnQsdmFsdWU6ZVt0XSx0eXBlOiIifSkpKSksZS5mb3JFYWNoKChlPT57bGV0IG47aWYodGhpcy5rZXlzVHlwZT09PU5uLlJQQ19NRVRIT0RTKW49dGhpcy5mYi5ncm91cCh7bWV0aG9kOltlLm1ldGhvZCxbdWUucmVxdWlyZWRdXSxhcmd1bWVudHM6W1suLi5lLmFyZ3VtZW50c10sW11dfSk7ZWxzZXtjb25zdHtrZXk6dCx2YWx1ZTphLHR5cGU6b309ZTtuPXRoaXMuZmIuZ3JvdXAoe2tleTpbdCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx2YWx1ZTpbYSxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx0eXBlOltvLFtdXX0pfXQucHVzaChuKX0pKSksdGhpcy5mYi5hcnJheSh0KX12YWx1ZVRpdGxlKGUpe2NvbnN0IHQ9ZS5nZXQodGhpcy5rZXlzVHlwZT09PU5uLlJQQ19NRVRIT0RTPyJtZXRob2QiOiJ2YWx1ZSIpLnZhbHVlO3JldHVybiBpZSh0KT8ib2JqZWN0Ij09dHlwZW9mIHQ/SlNPTi5zdHJpbmdpZnkodCk6dDoiIn1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmFvLGRlcHM6W3t0b2tlbjptZS5VbnR5cGVkRm9ybUJ1aWxkZXJ9LHt0b2tlbjpvdC5TdG9yZX1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6YW8sc2VsZWN0b3I6InRiLW1hcHBpbmctZGF0YS1rZXlzLXBhbmVsIixpbnB1dHM6e3BhbmVsVGl0bGU6InBhbmVsVGl0bGUiLGFkZEtleVRpdGxlOiJhZGRLZXlUaXRsZSIsZGVsZXRlS2V5VGl0bGU6ImRlbGV0ZUtleVRpdGxlIixub0tleXNUZXh0OiJub0tleXNUZXh0IixrZXlzOiJrZXlzIixrZXlzVHlwZToia2V5c1R5cGUiLHZhbHVlVHlwZUtleXM6InZhbHVlVHlwZUtleXMiLHZhbHVlVHlwZUVudW06InZhbHVlVHlwZUVudW0iLHZhbHVlVHlwZXM6InZhbHVlVHlwZXMiLHJhd0RhdGE6InJhd0RhdGEiLHBvcG92ZXI6InBvcG92ZXIifSxvdXRwdXRzOntrZXlzRGF0YUFwcGxpZWQ6ImtleXNEYXRhQXBwbGllZCJ9LHByb3ZpZGVyczpbXSx1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLW1hcHBpbmcta2V5cy1wYW5lbCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPnt7IHBhbmVsVGl0bGUgIHwgdHJhbnNsYXRlIH19e3tcJyAoXCcgKyBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGggKyBcJylcJ319PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBrZXktcGFuZWwiICpuZ0lmPSJrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGg7IGVsc2Ugbm9LZXlzIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItZmxleCBuby1mbGV4IHJvdyBjZW50ZXIgZmlsbC13aWR0aCJcbiAgICAgICAgICAgKm5nRm9yPSJsZXQga2V5Q29udHJvbCBvZiBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9sczsgdHJhY2tCeTogdHJhY2tCeUtleTsgbGV0ICRpbmRleCA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3Q7Ij5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLWZsZXgiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09ImtleUNvbnRyb2wiPlxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJsYXN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9ImtleXNUeXBlICE9PSBNYXBwaW5nS2V5c1R5cGUuUlBDX01FVEhPRFMiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCBjbGFzcz0idGl0bGUtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBrZXlDb250cm9sLmdldChcJ2tleVwnKS52YWx1ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCctXCcgfX1cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgY2xhc3M9InRpdGxlLWNvbnRhaW5lciI+e3sgdmFsdWVUaXRsZShrZXlDb250cm9sKSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0RXhwYW5zaW9uUGFuZWxDb250ZW50PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciXG4gICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5c1R5cGUgIT09IE1hcHBpbmdLZXlzVHlwZS5DVVNUT00gJiYga2V5c1R5cGUgIT09IE1hcHBpbmdLZXlzVHlwZS5SUENfTUVUSE9EUyI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5wbGF0Zm9ybS1zaWRlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5KU09OUGF0aC1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmtleVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImtleSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmtleS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ2tleVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCdrZXlcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LmNvbm5lY3Rvci1zaWRlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93Ij5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudHlwZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAgZmlsbC13aWR0aCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IG5hbWU9InZhbHVlVHlwZSIgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QtdHJpZ2dlciAqbmdJZj0iIXJhd0RhdGEiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj0idmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8uaWNvbiIgY2xhc3M9InRiLW1hdC0xOCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3ZnSWNvbl09InZhbHVlVHlwZXMuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSk/Lmljb24iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPSIhcmF3RGF0YTsgZWxzZSByYXdUZXh0Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgKHZhbHVlVHlwZXMuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSk/Lm5hbWUgfHwgdmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcmF3VGV4dD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgXCdnYXRld2F5LnJhd1wnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9IiFyYXdEYXRhOyBlbHNlIHJhd09wdGlvbiI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdmFsdWVUeXBlIG9mIHZhbHVlVHlwZUtleXMiIFt2YWx1ZV09InZhbHVlVHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9InZhbHVlVHlwZXMuZ2V0KHZhbHVlVHlwZSkuaWNvbiIgY2xhc3M9InRiLW1hdC0yMCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdmdJY29uPSJ7eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLmljb24gfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLm5hbWUgfHwgdmFsdWVUeXBlcy5nZXQodmFsdWVUeXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcmF3T3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09IlwncmF3XCciPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgXCdnYXRld2F5LnJhd1wnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LkpTT05QYXRoLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudmFsdWVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0idmFsdWUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleUNvbnRyb2wuZ2V0KFwndmFsdWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0idGhpcy5rZXlzVHlwZSB8IGdldEdhdGV3YXlIZWxwTGluayA6IGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSA6IHZhbHVlVHlwZUtleXMiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0idGhpcy5rZXlzVHlwZSB8IGdldEdhdGV3YXlIZWxwTGluayA6IGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSA6IHZhbHVlVHlwZUtleXMiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciICpuZ0lmPSJrZXlzVHlwZSA9PT0gTWFwcGluZ0tleXNUeXBlLkNVU1RPTSI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmtleTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJrZXkiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkua2V5LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ2tleVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIGtleUNvbnRyb2wuZ2V0KFwna2V5XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS52YWx1ZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4IGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyIgY2xhc3M9InRiLWlubGluZS1maWVsZCBmbGV4IHRiLXN1ZmZpeC1hYnNvbHV0ZSI+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0idmFsdWUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnZhbHVlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIGtleUNvbnRyb2wuZ2V0KFwndmFsdWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyIgKm5nSWY9ImtleXNUeXBlID09PSBNYXBwaW5nS2V5c1R5cGUuUlBDX01FVEhPRFMiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1ldGhvZC1uYW1lXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXRob2QtbmFtZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkubWV0aG9kLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ21ldGhvZFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIGtleUNvbnRyb2wuZ2V0KFwnbWV0aG9kXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCBjbGFzcz0idGItc2V0dGluZ3MiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciBmeExheW91dD0icm93IHdyYXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUtY29udGFpbmVyIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLmFyZ3VtZW50c1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuYXJndW1lbnRzXCcgfCB0cmFuc2xhdGUgfX17e1wnIChcJyArIGtleUNvbnRyb2wuZ2V0KFwnYXJndW1lbnRzXCcpLnZhbHVlPy5sZW5ndGggKyBcJylcJ319XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0RXhwYW5zaW9uUGFuZWxDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRiLXR5cGUtdmFsdWUtcGFuZWwgZm9ybUNvbnRyb2xOYW1lPSJhcmd1bWVudHMiPjwvdGItdHlwZS12YWx1ZS1wYW5lbD5cbiAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9ImRlbGV0ZUtleSgkZXZlbnQsICRpbmRleCkiXG4gICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJkZWxldGVLZXlUaXRsZSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSIgKGNsaWNrKT0iYWRkS2V5KCkiPlxuICAgICAgICB7eyBhZGRLZXlUaXRsZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI25vS2V5cz5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWZsZXggY2VudGVyIGFsaWduLWNlbnRlciBrZXktcGFuZWwiPlxuICAgICAgPHNwYW4gY2xhc3M9InRiLXByb21wdCIgdHJhbnNsYXRlPnt7IG5vS2V5c1RleHQgfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9InRiLWZsZXggZmxleC1lbmQiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5jYW5jZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgKGNsaWNrKT0iYXBwbHlLZXlzRGF0YSgpIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0ia2V5c0xpc3RGb3JtQXJyYXkuaW52YWxpZCB8fCAha2V5c0xpc3RGb3JtQXJyYXkuZGlydHkiPlxuICAgICAge3sgXCdhY3Rpb24uYXBwbHlcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC50Yi1tYXBwaW5nLWtleXMtcGFuZWx7d2lkdGg6Nzd2dzttYXgtd2lkdGg6NzAwcHh9Omhvc3QgLnRiLW1hcHBpbmcta2V5cy1wYW5lbCAudGl0bGUtY29udGFpbmVye21heC13aWR0aDoxMXZ3O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH06aG9zdCAudGItbWFwcGluZy1rZXlzLXBhbmVsIC5rZXktcGFuZWx7aGVpZ2h0OjUwMHB4O292ZXJmbG93OmF1dG99Omhvc3QgLnRiLW1hcHBpbmcta2V5cy1wYW5lbCB0Yi12YWx1ZS1pbnB1dHt3aWR0aDoxMDAlfTpob3N0IC50Yi1tYXBwaW5nLWtleXMtcGFuZWwgLnRiLWZvcm0tcGFuZWwgLm1hdC1tZGMtaWNvbi1idXR0b257d2lkdGg6NTZweDtoZWlnaHQ6NTZweDtwYWRkaW5nOjE2cHg7Y29sb3I6IzAwMDAwMDhhfTpob3N0IC50Yi1tYXBwaW5nLWtleXMtcGFuZWwgLnNlZS1leGFtcGxle3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7bWFyZ2luOjRweH06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtZm9ybS1maWVsZC1pY29uLXN1ZmZpeHtkaXNwbGF5OmZsZXh9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmd0LkhlbHBQb3B1cENvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhlbHAtcG9wdXBdLCBbdGItaGVscC1wb3B1cC1jb250ZW50XSIsaW5wdXRzOlsidGItaGVscC1wb3B1cCIsInRiLWhlbHAtcG9wdXAtY29udGVudCIsInRyaWdnZXItdGV4dCIsInRyaWdnZXItc3R5bGUiLCJ0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudCIsInRiLWhlbHAtcG9wdXAtc3R5bGUiLCJoaW50TW9kZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOndlLk1hdFNlbGVjdFRyaWdnZXIsc2VsZWN0b3I6Im1hdC1zZWxlY3QtdHJpZ2dlciJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsIixpbnB1dHM6WyJoaWRlVG9nZ2xlIiwidG9nZ2xlUG9zaXRpb24iXSxvdXRwdXRzOlsiYWZ0ZXJFeHBhbmQiLCJhZnRlckNvbGxhcHNlIl0sZXhwb3J0QXM6WyJtYXRFeHBhbnNpb25QYW5lbCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsSGVhZGVyLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciIsaW5wdXRzOlsiZXhwYW5kZWRIZWlnaHQiLCJjb2xsYXBzZWRIZWlnaHQiLCJ0YWJJbmRleCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsVGl0bGUsc2VsZWN0b3I6Im1hdC1wYW5lbC10aXRsZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxDb250ZW50LHNlbGVjdG9yOiJuZy10ZW1wbGF0ZVttYXRFeHBhbnNpb25QYW5lbENvbnRlbnRdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlkuVHJhbnNsYXRlRGlyZWN0aXZlLHNlbGVjdG9yOiJbdHJhbnNsYXRlXSxbbmd4LXRyYW5zbGF0ZV0iLGlucHV0czpbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZVBhcmFtcyJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnV0LkhpbnRUb29sdGlwSWNvbkNvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhpbnQtdG9vbHRpcC1pY29uXSIsaW5wdXRzOlsidGItaGludC10b29sdGlwLWljb24iLCJ0b29sdGlwUG9zaXRpb24iLCJoaW50SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlNhLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOm5vLHNlbGVjdG9yOiJ0Yi10eXBlLXZhbHVlLXBhbmVsIn0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJwaXBlIix0eXBlOlRhLG5hbWU6ImdldEdhdGV3YXlIZWxwTGluayJ9XX0pfX1lKCJNYXBwaW5nRGF0YUtleXNQYW5lbENvbXBvbmVudCIsYW8pLEhlKFtOKCldLGFvLnByb3RvdHlwZSwicmF3RGF0YSIsdm9pZCAwKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmFvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1tYXBwaW5nLWRhdGEta2V5cy1wYW5lbCIscHJvdmlkZXJzOltdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItbWFwcGluZy1rZXlzLXBhbmVsIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSI+e3sgcGFuZWxUaXRsZSAgfCB0cmFuc2xhdGUgfX17e1wnIChcJyArIGtleXNMaXN0Rm9ybUFycmF5LmNvbnRyb2xzLmxlbmd0aCArIFwnKVwnfX08L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIGtleS1wYW5lbCIgKm5nSWY9ImtleXNMaXN0Rm9ybUFycmF5LmNvbnRyb2xzLmxlbmd0aDsgZWxzZSBub0tleXMiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1mbGV4IG5vLWZsZXggcm93IGNlbnRlciBmaWxsLXdpZHRoIlxuICAgICAgICAgICAqbmdGb3I9ImxldCBrZXlDb250cm9sIG9mIGtleXNMaXN0Rm9ybUFycmF5LmNvbnRyb2xzOyB0cmFja0J5OiB0cmFja0J5S2V5OyBsZXQgJGluZGV4ID0gaW5kZXg7IGxldCBsYXN0ID0gbGFzdDsiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQgdGItZmxleCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0ia2V5Q29udHJvbCI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCBjbGFzcz0idGItc2V0dGluZ3MiIFtleHBhbmRlZF09Imxhc3QiPlxuICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0ia2V5c1R5cGUgIT09IE1hcHBpbmdLZXlzVHlwZS5SUENfTUVUSE9EUyI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwIGNsYXNzPSJ0aXRsZS1jb250YWluZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IGtleUNvbnRyb2wuZ2V0KFwna2V5XCcpLnZhbHVlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB7eyBcJy1cJyB9fVxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCBjbGFzcz0idGl0bGUtY29udGFpbmVyIj57eyB2YWx1ZVRpdGxlKGtleUNvbnRyb2wpIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyJcbiAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlzVHlwZSAhPT0gTWFwcGluZ0tleXNUeXBlLkNVU1RPTSAmJiBrZXlzVHlwZSAhPT0gTWFwcGluZ0tleXNUeXBlLlJQQ19NRVRIT0RTIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LnBsYXRmb3JtLXNpZGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LkpTT05QYXRoLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkua2V5XCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ia2V5IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkua2V5LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImtleUNvbnRyb2wuZ2V0KFwna2V5XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlDb250cm9sLmdldChcJ2tleVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9yLXNpZGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS50eXBlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBmaWxsLXdpZHRoIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgbmFtZT0idmFsdWVUeXBlIiBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdC10cmlnZ2VyICpuZ0lmPSIhcmF3RGF0YSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBhbGlnbi1jZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPSJ2YWx1ZVR5cGVzLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpPy5pY29uIiBjbGFzcz0idGItbWF0LTE4IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdmdJY29uXT0idmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8uaWNvbiI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9IiFyYXdEYXRhOyBlbHNlIHJhd1RleHQiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAodmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8ubmFtZSB8fCB2YWx1ZVR5cGVzLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyYXdUZXh0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBcJ2dhdGV3YXkucmF3XCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3QtdHJpZ2dlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iIXJhd0RhdGE7IGVsc2UgcmF3T3B0aW9uIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB2YWx1ZVR5cGUgb2YgdmFsdWVUeXBlS2V5cyIgW3ZhbHVlXT0idmFsdWVUeXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj0idmFsdWVUeXBlcy5nZXQodmFsdWVUeXBlKS5pY29uIiBjbGFzcz0idGItbWF0LTIwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2Z0ljb249Int7IHZhbHVlVHlwZXMuZ2V0KHZhbHVlVHlwZSkuaWNvbiB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHZhbHVlVHlwZXMuZ2V0KHZhbHVlVHlwZSkubmFtZSB8fCB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyYXdPcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT0iXCdyYXdcJyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBcJ2dhdGV3YXkucmF3XCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuSlNPTlBhdGgtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS52YWx1ZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnZhbHVlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ3ZhbHVlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJ0aGlzLmtleXNUeXBlIHwgZ2V0R2F0ZXdheUhlbHBMaW5rIDoga2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlIDogdmFsdWVUeXBlS2V5cyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJ0aGlzLmtleXNUeXBlIHwgZ2V0R2F0ZXdheUhlbHBMaW5rIDoga2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlIDogdmFsdWVUeXBlS2V5cyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyIgKm5nSWY9ImtleXNUeXBlID09PSBNYXBwaW5nS2V5c1R5cGUuQ1VTVE9NIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkua2V5PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImtleSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5rZXktcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImtleUNvbnRyb2wuZ2V0KFwna2V5XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYga2V5Q29udHJvbC5nZXQoXCdrZXlcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnZhbHVlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudmFsdWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ3ZhbHVlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIiAqbmdJZj0ia2V5c1R5cGUgPT09IE1hcHBpbmdLZXlzVHlwZS5SUENfTUVUSE9EUyI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubWV0aG9kLW5hbWVcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1ldGhvZC1uYW1lXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5tZXRob2QtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImtleUNvbnRyb2wuZ2V0KFwnbWV0aG9kXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYga2V5Q29udHJvbC5nZXQoXCdtZXRob2RcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQgdGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZS1jb250YWluZXIiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMuYXJndW1lbnRzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5hcmd1bWVudHNcJyB8IHRyYW5zbGF0ZSB9fXt7XCcgKFwnICsga2V5Q29udHJvbC5nZXQoXCdhcmd1bWVudHNcJykudmFsdWU/Lmxlbmd0aCArIFwnKVwnfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGItdHlwZS12YWx1ZS1wYW5lbCBmb3JtQ29udHJvbE5hbWU9ImFyZ3VtZW50cyI+PC90Yi10eXBlLXZhbHVlLXBhbmVsPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlS2V5KCRldmVudCwgJGluZGV4KSJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09ImRlbGV0ZUtleVRpdGxlIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXY+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJhZGRLZXkoKSI+XG4gICAgICAgIHt7IGFkZEtleVRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjbm9LZXlzPlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIGtleS1wYW5lbCI+XG4gICAgICA8c3BhbiBjbGFzcz0idGItcHJvbXB0IiB0cmFuc2xhdGU+e3sgbm9LZXlzVGV4dCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz0idGItZmxleCBmbGV4LWVuZCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uXG4gICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIChjbGljayk9ImNhbmNlbCgpIj5cbiAgICAgIHt7IFwnYWN0aW9uLmNhbmNlbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAoY2xpY2spPSJhcHBseUtleXNEYXRhKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJrZXlzTGlzdEZvcm1BcnJheS5pbnZhbGlkIHx8ICFrZXlzTGlzdEZvcm1BcnJheS5kaXJ0eSI+XG4gICAgICB7eyBcJ2FjdGlvbi5hcHBseVwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnRiLW1hcHBpbmcta2V5cy1wYW5lbHt3aWR0aDo3N3Z3O21heC13aWR0aDo3MDBweH06aG9zdCAudGItbWFwcGluZy1rZXlzLXBhbmVsIC50aXRsZS1jb250YWluZXJ7bWF4LXdpZHRoOjExdnc7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfTpob3N0IC50Yi1tYXBwaW5nLWtleXMtcGFuZWwgLmtleS1wYW5lbHtoZWlnaHQ6NTAwcHg7b3ZlcmZsb3c6YXV0b306aG9zdCAudGItbWFwcGluZy1rZXlzLXBhbmVsIHRiLXZhbHVlLWlucHV0e3dpZHRoOjEwMCV9Omhvc3QgLnRiLW1hcHBpbmcta2V5cy1wYW5lbCAudGItZm9ybS1wYW5lbCAubWF0LW1kYy1pY29uLWJ1dHRvbnt3aWR0aDo1NnB4O2hlaWdodDo1NnB4O3BhZGRpbmc6MTZweDtjb2xvcjojMDAwMDAwOGF9Omhvc3QgLnRiLW1hcHBpbmcta2V5cy1wYW5lbCAuc2VlLWV4YW1wbGV7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDttYXJnaW46NHB4fTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLlVudHlwZWRGb3JtQnVpbGRlcn0se3R5cGU6b3QuU3RvcmV9XSxwcm9wRGVjb3JhdG9yczp7cGFuZWxUaXRsZTpbe3R5cGU6YX1dLGFkZEtleVRpdGxlOlt7dHlwZTphfV0sZGVsZXRlS2V5VGl0bGU6W3t0eXBlOmF9XSxub0tleXNUZXh0Olt7dHlwZTphfV0sa2V5czpbe3R5cGU6YX1dLGtleXNUeXBlOlt7dHlwZTphfV0sdmFsdWVUeXBlS2V5czpbe3R5cGU6YX1dLHZhbHVlVHlwZUVudW06W3t0eXBlOmF9XSx2YWx1ZVR5cGVzOlt7dHlwZTphfV0scmF3RGF0YTpbe3R5cGU6YX1dLHBvcG92ZXI6W3t0eXBlOmF9XSxrZXlzRGF0YUFwcGxpZWQ6W3t0eXBlOmx9XX19KTtjbGFzcyBvbyBleHRlbmRzIE97Z2V0IGRldmljZUluZm9UeXBlKCl7cmV0dXJuIHRoaXMuZGV2aWNlSW5mb1R5cGVWYWx1ZX1zZXQgZGV2aWNlSW5mb1R5cGUoZSl7dGhpcy5kZXZpY2VJbmZvVHlwZVZhbHVlIT09ZSYmKHRoaXMuZGV2aWNlSW5mb1R5cGVWYWx1ZT1lKX1jb25zdHJ1Y3RvcihlLHQsbixhKXtzdXBlcihlKSx0aGlzLnN0b3JlPWUsdGhpcy50cmFuc2xhdGU9dCx0aGlzLmRpYWxvZz1uLHRoaXMuZmI9YSx0aGlzLlNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXA9TG4sdGhpcy5EZXZpY2VJbmZvVHlwZT1rbix0aGlzLnVzZVNvdXJjZT0hMCx0aGlzLnJlcXVpcmVkPSExLHRoaXMuc291cmNlVHlwZXM9T2JqZWN0LnZhbHVlcyhUbiksdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5wcm9wYWdhdGVDaGFuZ2U9ZT0+e319bmdPbkluaXQoKXt0aGlzLm1hcHBpbmdGb3JtR3JvdXA9dGhpcy5mYi5ncm91cCh7ZGV2aWNlTmFtZUV4cHJlc3Npb246WyIiLHRoaXMucmVxdWlyZWQ/W3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXTpbdWUucGF0dGVybihrdCldXX0pLHRoaXMudXNlU291cmNlJiZ0aGlzLm1hcHBpbmdGb3JtR3JvdXAuYWRkQ29udHJvbCgiZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2UiLHRoaXMuZmIuY29udHJvbCh0aGlzLnNvdXJjZVR5cGVzWzBdLFtdKSksdGhpcy5kZXZpY2VJbmZvVHlwZT09PWtuLkZVTEwmJih0aGlzLnVzZVNvdXJjZSYmdGhpcy5tYXBwaW5nRm9ybUdyb3VwLmFkZENvbnRyb2woImRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlIix0aGlzLmZiLmNvbnRyb2wodGhpcy5zb3VyY2VUeXBlc1swXSxbXSkpLHRoaXMubWFwcGluZ0Zvcm1Hcm91cC5hZGRDb250cm9sKCJkZXZpY2VQcm9maWxlRXhwcmVzc2lvbiIsdGhpcy5mYi5jb250cm9sKCIiLHRoaXMucmVxdWlyZWQ/W3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXTpbdWUucGF0dGVybihrdCldKSkpLHRoaXMubWFwcGluZ0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy51cGRhdGVWaWV3KGUpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpLHN1cGVyLm5nT25EZXN0cm95KCl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLnByb3BhZ2F0ZUNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe313cml0ZVZhbHVlKGUpe3RoaXMubWFwcGluZ0Zvcm1Hcm91cC5wYXRjaFZhbHVlKGUse2VtaXRFdmVudDohMX0pfXZhbGlkYXRlKCl7cmV0dXJuIHRoaXMubWFwcGluZ0Zvcm1Hcm91cC52YWxpZD9udWxsOnttYXBwaW5nRm9ybTp7dmFsaWQ6ITF9fX11cGRhdGVWaWV3KGUpe3RoaXMucHJvcGFnYXRlQ2hhbmdlKGUpfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6b28sZGVwczpbe3Rva2VuOm90LlN0b3JlfSx7dG9rZW46WS5UcmFuc2xhdGVTZXJ2aWNlfSx7dG9rZW46SmUuTWF0RGlhbG9nfSx7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOm9vLHNlbGVjdG9yOiJ0Yi1kZXZpY2UtaW5mby10YWJsZSIsaW5wdXRzOnt1c2VTb3VyY2U6InVzZVNvdXJjZSIscmVxdWlyZWQ6InJlcXVpcmVkIixzb3VyY2VUeXBlczoic291cmNlVHlwZXMiLGRldmljZUluZm9UeXBlOiJkZXZpY2VJbmZvVHlwZSJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9Pm9vKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5vbykpLG11bHRpOiEwfV0sdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG5cbjxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCIgW2Zvcm1Hcm91cF09Im1hcHBpbmdGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiBbY2xhc3MudGItcmVxdWlyZWRdPSJyZXF1aXJlZCIgdHJhbnNsYXRlPmRldmljZS5kZXZpY2U8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZSBuby1wYWRkaW5nIG5vLWdhcCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1oZWFkZXIiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1oZWFkZXItY2VsbCB0YWJsZS1uYW1lLWNvbHVtbiIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLWluZm8uZW50aXR5LWZpZWxkPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPSJ1c2VTb3VyY2UiIGNsYXNzPSJ0Yi1mb3JtLXRhYmxlLWhlYWRlci1jZWxsIHRhYmxlLWNvbHVtbiIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLWluZm8uc291cmNlPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXRhYmxlLWhlYWRlci1jZWxsIHRhYmxlLWNvbHVtbiIgdHJhbnNsYXRlPlxuICAgICAgICBnYXRld2F5LmRldmljZS1pbmZvLmV4cHJlc3Npb25cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtYm9keSBuby1nYXAiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1yb3cgdGItZm9ybS1yb3cgbm8tYm9yZGVyIHNhbWUtcGFkZGluZyB0b3Atc2FtZS1wYWRkaW5nIlxuICAgICAgICAgICBbY2xhc3MuYm90dG9tLXNhbWUtcGFkZGluZ109ImRldmljZUluZm9UeXBlICE9PSBEZXZpY2VJbmZvVHlwZS5GVUxMIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1pbmZvLm5hbWU8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAgcmF3LXZhbHVlLW9wdGlvbiIgKm5nSWY9InVzZVNvdXJjZSI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2UiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNvdXJjZVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICB7eyBTb3VyY2VUeXBlVHJhbnNsYXRpb25zTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtcm93LWNlbGwgdGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLWluZm8uZGV2aWNlLW5hbWUtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lRXhwcmVzc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlTmFtZUV4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj0iXCduYW1lLWZpZWxkXCcgfCBnZXRHYXRld2F5SGVscExpbmsgOiBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVFeHByZXNzaW9uU291cmNlXCcpLnZhbHVlIDogc291cmNlVHlwZXMiXG4gICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCduYW1lLWZpZWxkXCcgfCBnZXRHYXRld2F5SGVscExpbmsgOiBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVFeHByZXNzaW9uU291cmNlXCcpLnZhbHVlIDogc291cmNlVHlwZXMiXG4gICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1yb3cgdGItZm9ybS1yb3cgbm8tYm9yZGVyIHNhbWUtcGFkZGluZyBib3R0b20tc2FtZS1wYWRkaW5nIlxuICAgICAgICAgICAqbmdJZj0iZGV2aWNlSW5mb1R5cGUgPT09IERldmljZUluZm9UeXBlLkZVTEwiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLWluZm8ucHJvZmlsZS1uYW1lPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIHJhdy12YWx1ZS1vcHRpb24iICpuZ0lmPSJ1c2VTb3VyY2UiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBzb3VyY2VUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAge3sgU291cmNlVHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXRhYmxlLXJvdy1jZWxsIHRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZVByb2ZpbGVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1pbmZvLmRldmljZS1wcm9maWxlLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlUHJvZmlsZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZVByb2ZpbGVFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9IlwncHJvZmlsZS1uYW1lXCcgfCBnZXRHYXRld2F5SGVscExpbms6IG1hcHBpbmdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlUHJvZmlsZUV4cHJlc3Npb25Tb3VyY2VcJykudmFsdWUgOiBzb3VyY2VUeXBlcyJcbiAgICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3Byb2ZpbGUtbmFtZVwnIHwgZ2V0R2F0ZXdheUhlbHBMaW5rOiBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlXCcpLnZhbHVlIDogc291cmNlVHlwZXMiXG4gICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9ja306aG9zdCAudGItZm9ybS1yb3cuYm90dG9tLXNhbWUtcGFkZGluZ3twYWRkaW5nLWJvdHRvbToxNnB4fTpob3N0IC50Yi1mb3JtLXJvdy50b3Atc2FtZS1wYWRkaW5ne3BhZGRpbmctdG9wOjE2cHh9Omhvc3QgLnRiLWZvcm0tcm93IC5maXhlZC10aXRsZS13aWR0aHt3aWR0aDoxOSV9Omhvc3QgLnRhYmxlLWNvbHVtbnt3aWR0aDo0MCV9Omhvc3QgLnRhYmxlLW5hbWUtY29sdW1ue3dpZHRoOjIwJX06aG9zdCAucmF3LW5hbWV7d2lkdGg6MTklfTpob3N0IC5yYXctdmFsdWUtb3B0aW9ue21heC13aWR0aDo0MCV9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLWZvcm0tZmllbGQtaWNvbi1zdWZmaXh7ZGlzcGxheTpmbGV4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpndC5IZWxwUG9wdXBDb21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oZWxwLXBvcHVwXSwgW3RiLWhlbHAtcG9wdXAtY29udGVudF0iLGlucHV0czpbInRiLWhlbHAtcG9wdXAiLCJ0Yi1oZWxwLXBvcHVwLWNvbnRlbnQiLCJ0cmlnZ2VyLXRleHQiLCJ0cmlnZ2VyLXN0eWxlIiwidGItaGVscC1wb3B1cC1wbGFjZW1lbnQiLCJ0Yi1oZWxwLXBvcHVwLXN0eWxlIiwiaGludE1vZGUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRTdWZmaXgsc2VsZWN0b3I6IlttYXRTdWZmaXhdLCBbbWF0SWNvblN1ZmZpeF0sIFttYXRUZXh0U3VmZml4XSIsaW5wdXRzOlsibWF0VGV4dFN1ZmZpeCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOndlLk1hdFNlbGVjdCxzZWxlY3RvcjoibWF0LXNlbGVjdCIsaW5wdXRzOlsiYXJpYS1kZXNjcmliZWRieSIsInBhbmVsQ2xhc3MiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3IiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwibXVsdGlwbGUiLCJkaXNhYmxlT3B0aW9uQ2VudGVyaW5nIiwiY29tcGFyZVdpdGgiLCJ2YWx1ZSIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJlcnJvclN0YXRlTWF0Y2hlciIsInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLCJzb3J0Q29tcGFyYXRvciIsImlkIiwicGFuZWxXaWR0aCJdLG91dHB1dHM6WyJvcGVuZWRDaGFuZ2UiLCJvcGVuZWQiLCJjbG9zZWQiLCJzZWxlY3Rpb25DaGFuZ2UiLCJ2YWx1ZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2VsZWN0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoicGlwZSIsdHlwZTpUYSxuYW1lOiJnZXRHYXRld2F5SGVscExpbmsifV0sY2hhbmdlRGV0ZWN0aW9uOnQuQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNofSl9fWUoIkRldmljZUluZm9UYWJsZUNvbXBvbmVudCIsb28pLEhlKFtOKCldLG9vLnByb3RvdHlwZSwidXNlU291cmNlIix2b2lkIDApLEhlKFtOKCldLG9vLnByb3RvdHlwZSwicmVxdWlyZWQiLHZvaWQgMCksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpvbyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItZGV2aWNlLWluZm8tdGFibGUiLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5vbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+b28pKSxtdWx0aTohMH1dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuXG48ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiIFtmb3JtR3JvdXBdPSJtYXBwaW5nRm9ybUdyb3VwIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgW2NsYXNzLnRiLXJlcXVpcmVkXT0icmVxdWlyZWQiIHRyYW5zbGF0ZT5kZXZpY2UuZGV2aWNlPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUgbm8tcGFkZGluZyBuby1nYXAiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtaGVhZGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtaGVhZGVyLWNlbGwgdGFibGUtbmFtZS1jb2x1bW4iIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1pbmZvLmVudGl0eS1maWVsZDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj0idXNlU291cmNlIiBjbGFzcz0idGItZm9ybS10YWJsZS1oZWFkZXItY2VsbCB0YWJsZS1jb2x1bW4iIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1pbmZvLnNvdXJjZTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1oZWFkZXItY2VsbCB0YWJsZS1jb2x1bW4iIHRyYW5zbGF0ZT5cbiAgICAgICAgZ2F0ZXdheS5kZXZpY2UtaW5mby5leHByZXNzaW9uXG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXRhYmxlLWJvZHkgbm8tZ2FwIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtcm93IHRiLWZvcm0tcm93IG5vLWJvcmRlciBzYW1lLXBhZGRpbmcgdG9wLXNhbWUtcGFkZGluZyJcbiAgICAgICAgICAgW2NsYXNzLmJvdHRvbS1zYW1lLXBhZGRpbmddPSJkZXZpY2VJbmZvVHlwZSAhPT0gRGV2aWNlSW5mb1R5cGUuRlVMTCI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5kZXZpY2UtaW5mby5uYW1lPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIHJhdy12YWx1ZS1vcHRpb24iICpuZ0lmPSJ1c2VTb3VyY2UiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVFeHByZXNzaW9uU291cmNlIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBzb3VyY2VUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAge3sgU291cmNlVHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXRhYmxlLXJvdy1jZWxsIHRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1pbmZvLmRldmljZS1uYW1lLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlTmFtZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9IlwnbmFtZS1maWVsZFwnIHwgZ2V0R2F0ZXdheUhlbHBMaW5rIDogbWFwcGluZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZVwnKS52YWx1ZSA6IHNvdXJjZVR5cGVzIlxuICAgICAgICAgICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09IlwnbmFtZS1maWVsZFwnIHwgZ2V0R2F0ZXdheUhlbHBMaW5rIDogbWFwcGluZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZVwnKS52YWx1ZSA6IHNvdXJjZVR5cGVzIlxuICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtcm93IHRiLWZvcm0tcm93IG5vLWJvcmRlciBzYW1lLXBhZGRpbmcgYm90dG9tLXNhbWUtcGFkZGluZyJcbiAgICAgICAgICAgKm5nSWY9ImRldmljZUluZm9UeXBlID09PSBEZXZpY2VJbmZvVHlwZS5GVUxMIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1pbmZvLnByb2ZpbGUtbmFtZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCByYXctdmFsdWUtb3B0aW9uIiAqbmdJZj0idXNlU291cmNlIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VQcm9maWxlRXhwcmVzc2lvblNvdXJjZSI+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2Ygc291cmNlVHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgIHt7IFNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1yb3ctY2VsbCB0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VQcm9maWxlRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2UtaW5mby5kZXZpY2UtcHJvZmlsZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZVByb2ZpbGVFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VQcm9maWxlRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPSJcJ3Byb2ZpbGUtbmFtZVwnIHwgZ2V0R2F0ZXdheUhlbHBMaW5rOiBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlXCcpLnZhbHVlIDogc291cmNlVHlwZXMiXG4gICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCdwcm9maWxlLW5hbWVcJyB8IGdldEdhdGV3YXlIZWxwTGluazogbWFwcGluZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VQcm9maWxlRXhwcmVzc2lvblNvdXJjZVwnKS52YWx1ZSA6IHNvdXJjZVR5cGVzIlxuICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6YmxvY2t9Omhvc3QgLnRiLWZvcm0tcm93LmJvdHRvbS1zYW1lLXBhZGRpbmd7cGFkZGluZy1ib3R0b206MTZweH06aG9zdCAudGItZm9ybS1yb3cudG9wLXNhbWUtcGFkZGluZ3twYWRkaW5nLXRvcDoxNnB4fTpob3N0IC50Yi1mb3JtLXJvdyAuZml4ZWQtdGl0bGUtd2lkdGh7d2lkdGg6MTklfTpob3N0IC50YWJsZS1jb2x1bW57d2lkdGg6NDAlfTpob3N0IC50YWJsZS1uYW1lLWNvbHVtbnt3aWR0aDoyMCV9Omhvc3QgLnJhdy1uYW1le3dpZHRoOjE5JX06aG9zdCAucmF3LXZhbHVlLW9wdGlvbnttYXgtd2lkdGg6NDAlfTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm90LlN0b3JlfSx7dHlwZTpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0eXBlOkplLk1hdERpYWxvZ30se3R5cGU6bWUuRm9ybUJ1aWxkZXJ9XSxwcm9wRGVjb3JhdG9yczp7dXNlU291cmNlOlt7dHlwZTphfV0scmVxdWlyZWQ6W3t0eXBlOmF9XSxzb3VyY2VUeXBlczpbe3R5cGU6YX1dLGRldmljZUluZm9UeXBlOlt7dHlwZTphfV19fSk7Y2xhc3MgaW8gZXh0ZW5kcyBQe2NvbnN0cnVjdG9yKGUsdCxuLGEsbyxpLHIscyxsKXtzdXBlcihlLHQsYSksdGhpcy5zdG9yZT1lLHRoaXMucm91dGVyPXQsdGhpcy5kYXRhPW4sdGhpcy5kaWFsb2dSZWY9YSx0aGlzLmZiPW8sdGhpcy5wb3BvdmVyU2VydmljZT1pLHRoaXMucmVuZGVyZXI9cix0aGlzLnZpZXdDb250YWluZXJSZWY9cyx0aGlzLnRyYW5zbGF0ZT1sLHRoaXMuTWFwcGluZ1R5cGU9Zm4sdGhpcy5xdWFsaXR5VHlwZXM9eG4sdGhpcy5RdWFsaXR5VHJhbnNsYXRpb25zTWFwPXZuLHRoaXMuY29udmVydG9yVHlwZXM9T2JqZWN0LnZhbHVlcyh3biksdGhpcy5Db252ZXJ0b3JUeXBlRW51bT13bix0aGlzLkNvbnZlcnRvclR5cGVUcmFuc2xhdGlvbnNNYXA9Q24sdGhpcy5zb3VyY2VUeXBlcz1PYmplY3QudmFsdWVzKFRuKSx0aGlzLk9QQ1VhU291cmNlVHlwZXM9T2JqZWN0LnZhbHVlcyhTbiksdGhpcy5PUENVYVNvdXJjZVR5cGVzRW51bT1Tbix0aGlzLnNvdXJjZVR5cGVzRW51bT1Ubix0aGlzLlNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXA9TG4sdGhpcy5yZXF1ZXN0VHlwZXM9T2JqZWN0LnZhbHVlcyhJbiksdGhpcy5SZXF1ZXN0VHlwZUVudW09SW4sdGhpcy5SZXF1ZXN0VHlwZXNUcmFuc2xhdGlvbnNNYXA9QW4sdGhpcy5EZXZpY2VJbmZvVHlwZT1rbix0aGlzLlNlcnZlclNpZGVSUENUeXBlPVBuLHRoaXMuTWFwcGluZ0tleXNUeXBlPU5uLHRoaXMuTWFwcGluZ0hpbnRUcmFuc2xhdGlvbnNNYXA9Ym4sdGhpcy5NYXBwaW5nVHlwZVRyYW5zbGF0aW9uc01hcD15bix0aGlzLkRhdGFDb252ZXJzaW9uVHJhbnNsYXRpb25zTWFwPUJuLHRoaXMuSGVscExpbmtCeU1hcHBpbmdUeXBlTWFwPWhuLHRoaXMua2V5c1BvcHVwQ2xvc2VkPSEwLHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMuY3JlYXRlTWFwcGluZ0Zvcm0oKX1nZXQgY29udmVydGVyQXR0cmlidXRlcygpe2lmKHRoaXMuY29udmVydGVyVHlwZSlyZXR1cm4gdGhpcy5tYXBwaW5nRm9ybS5nZXQoImNvbnZlcnRlciIpLmdldCh0aGlzLmNvbnZlcnRlclR5cGUpLnZhbHVlLmF0dHJpYnV0ZXMubWFwKChlPT5lLmtleSkpfWdldCBjb252ZXJ0ZXJUZWxlbWV0cnkoKXtpZih0aGlzLmNvbnZlcnRlclR5cGUpcmV0dXJuIHRoaXMubWFwcGluZ0Zvcm0uZ2V0KCJjb252ZXJ0ZXIiKS5nZXQodGhpcy5jb252ZXJ0ZXJUeXBlKS52YWx1ZS50aW1lc2VyaWVzLm1hcCgoZT0+ZS5rZXkpKX1nZXQgb3BjQXR0cmlidXRlcygpe3JldHVybiB0aGlzLm1hcHBpbmdGb3JtLmdldCgiYXR0cmlidXRlcyIpLnZhbHVlPy5tYXAoKGU9PmUua2V5KSl8fFtdfWdldCBvcGNUZWxlbWV0cnkoKXtyZXR1cm4gdGhpcy5tYXBwaW5nRm9ybS5nZXQoInRpbWVzZXJpZXMiKS52YWx1ZT8ubWFwKChlPT5lLmtleSkpfHxbXX1nZXQgb3BjUnBjTWV0aG9kcygpe3JldHVybiB0aGlzLm1hcHBpbmdGb3JtLmdldCgicnBjX21ldGhvZHMiKS52YWx1ZT8ubWFwKChlPT5lLm1ldGhvZCkpfHxbXX1nZXQgb3BjQXR0cmlidXRlc1VwZGF0ZXMoKXtyZXR1cm4gdGhpcy5tYXBwaW5nRm9ybS5nZXQoImF0dHJpYnV0ZXNfdXBkYXRlcyIpPy52YWx1ZT8ubWFwKChlPT5lLmtleSkpfHxbXX1nZXQgY29udmVydGVyVHlwZSgpe3JldHVybiB0aGlzLm1hcHBpbmdGb3JtLmdldCgiY29udmVydGVyIikuZ2V0KCJ0eXBlIikudmFsdWV9Z2V0IGN1c3RvbUtleXMoKXtyZXR1cm4gT2JqZWN0LmtleXModGhpcy5tYXBwaW5nRm9ybS5nZXQoImNvbnZlcnRlciIpLmdldCgiY3VzdG9tIikudmFsdWUuZXh0ZW5zaW9uQ29uZmlnKX1nZXQgcmVxdWVzdE1hcHBpbmdUeXBlKCl7cmV0dXJuIHRoaXMubWFwcGluZ0Zvcm0uZ2V0KCJyZXF1ZXN0VHlwZSIpLnZhbHVlfWdldCByZXNwb25zZVRpbWVvdXRFcnJvclRvb2x0aXAoKXtjb25zdCBlPXRoaXMubWFwcGluZ0Zvcm0uZ2V0KCJyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5yZXNwb25zZVRpbWVvdXQiKTtyZXR1cm4gZS5oYXNFcnJvcigicmVxdWlyZWQiKT90aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LnJlc3BvbnNlLXRpbWVvdXQtcmVxdWlyZWQiKTplLmhhc0Vycm9yKCJtaW4iKT90aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LnJlc3BvbnNlLXRpbWVvdXQtbGltaXRzLWVycm9yIix7bWluOjF9KToiIn1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKSxzdXBlci5uZ09uRGVzdHJveSgpfWNyZWF0ZU1hcHBpbmdGb3JtKCl7c3dpdGNoKHRoaXMuZGF0YS5tYXBwaW5nVHlwZSl7Y2FzZSBmbi5EQVRBOnRoaXMubWFwcGluZ0Zvcm09dGhpcy5mYi5ncm91cCh7fSksdGhpcy5jcmVhdGVEYXRhTWFwcGluZ0Zvcm0oKTticmVhaztjYXNlIGZuLlJFUVVFU1RTOnRoaXMubWFwcGluZ0Zvcm09dGhpcy5mYi5ncm91cCh7fSksdGhpcy5jcmVhdGVSZXF1ZXN0TWFwcGluZ0Zvcm0oKTticmVhaztjYXNlIGZuLk9QQ1VBOnRoaXMuY3JlYXRlT1BDVUFNYXBwaW5nRm9ybSgpfX1jYW5jZWwoKXt0aGlzLmtleXNQb3B1cENsb3NlZCYmdGhpcy5kaWFsb2dSZWYuY2xvc2UobnVsbCl9YWRkKCl7dGhpcy5tYXBwaW5nRm9ybS52YWxpZCYmdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5wcmVwYXJlTWFwcGluZ0RhdGEoKSl9bWFuYWdlS2V5cyhlLHQsbil7ZSYmZS5zdG9wUHJvcGFnYXRpb24oKTtjb25zdCBhPXQuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtpZih0aGlzLnBvcG92ZXJTZXJ2aWNlLmhhc1BvcG92ZXIoYSkpdGhpcy5wb3BvdmVyU2VydmljZS5oaWRlUG9wb3ZlcihhKTtlbHNle2NvbnN0IGU9KHRoaXMuZGF0YS5tYXBwaW5nVHlwZSE9PWZuLk9QQ1VBP3RoaXMubWFwcGluZ0Zvcm0uZ2V0KCJjb252ZXJ0ZXIiKS5nZXQodGhpcy5jb252ZXJ0ZXJUeXBlKTp0aGlzLm1hcHBpbmdGb3JtKS5nZXQobiksdD17a2V5czplLnZhbHVlLGtleXNUeXBlOm4scmF3RGF0YTp0aGlzLm1hcHBpbmdGb3JtLmdldCgiY29udmVydGVyLnR5cGUiKT8udmFsdWU9PT13bi5CWVRFUyxwYW5lbFRpdGxlOk1uLmdldChuKSxhZGRLZXlUaXRsZTpFbi5nZXQobiksZGVsZXRlS2V5VGl0bGU6cW4uZ2V0KG4pLG5vS2V5c1RleHQ6RG4uZ2V0KG4pfTt0aGlzLmRhdGEubWFwcGluZ1R5cGU9PT1mbi5PUENVQSYmKHQudmFsdWVUeXBlS2V5cz1PYmplY3QudmFsdWVzKFNuKSx0LnZhbHVlVHlwZUVudW09U24sdC52YWx1ZVR5cGVzPUxuKSx0aGlzLmtleXNQb3B1cENsb3NlZD0hMTtjb25zdCBvPXRoaXMucG9wb3ZlclNlcnZpY2UuZGlzcGxheVBvcG92ZXIoYSx0aGlzLnJlbmRlcmVyLHRoaXMudmlld0NvbnRhaW5lclJlZixhbywibGVmdEJvdHRvbSIsITEsbnVsbCx0LHt9LHt9LHt9LCEwKTtvLnRiQ29tcG9uZW50UmVmLmluc3RhbmNlLnBvcG92ZXI9byxvLnRiQ29tcG9uZW50UmVmLmluc3RhbmNlLmtleXNEYXRhQXBwbGllZC5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHQ9PntvLmhpZGUoKSxlLnBhdGNoVmFsdWUodCksZS5tYXJrQXNEaXJ0eSgpfSkpLG8udGJIaWRlU3RhcnQucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMua2V5c1BvcHVwQ2xvc2VkPSEwfSkpfX1wcmVwYXJlTWFwcGluZ0RhdGEoKXtjb25zdCBlPXRoaXMubWFwcGluZ0Zvcm0udmFsdWU7c3dpdGNoKHRoaXMuZGF0YS5tYXBwaW5nVHlwZSl7Y2FzZSBmbi5EQVRBOmNvbnN0e2NvbnZlcnRlcjp0LHRvcGljRmlsdGVyOm4sc3Vic2NyaXB0aW9uUW9zOmF9PWU7cmV0dXJue3RvcGljRmlsdGVyOm4sc3Vic2NyaXB0aW9uUW9zOmEsY29udmVydGVyOnt0eXBlOnQudHlwZSwuLi50W3QudHlwZV19fTtjYXNlIGZuLlJFUVVFU1RTOnJldHVybntyZXF1ZXN0VHlwZTplLnJlcXVlc3RUeXBlLHJlcXVlc3RWYWx1ZTplLnJlcXVlc3RWYWx1ZVtlLnJlcXVlc3RUeXBlXX07ZGVmYXVsdDpyZXR1cm4gZX19Z2V0Rm9ybVZhbHVlRGF0YSgpe2lmKHRoaXMuZGF0YS52YWx1ZSYmT2JqZWN0LmtleXModGhpcy5kYXRhLnZhbHVlKS5sZW5ndGgpc3dpdGNoKHRoaXMuZGF0YS5tYXBwaW5nVHlwZSl7Y2FzZSBmbi5EQVRBOmNvbnN0e2NvbnZlcnRlcjplLHRvcGljRmlsdGVyOnQsc3Vic2NyaXB0aW9uUW9zOm59PXRoaXMuZGF0YS52YWx1ZTtyZXR1cm57dG9waWNGaWx0ZXI6dCxzdWJzY3JpcHRpb25Rb3M6bixjb252ZXJ0ZXI6e3R5cGU6ZS50eXBlLFtlLnR5cGVdOnsuLi5lfX19O2Nhc2UgZm4uUkVRVUVTVFM6cmV0dXJue3JlcXVlc3RUeXBlOnRoaXMuZGF0YS52YWx1ZS5yZXF1ZXN0VHlwZSxyZXF1ZXN0VmFsdWU6e1t0aGlzLmRhdGEudmFsdWUucmVxdWVzdFR5cGVdOnRoaXMuZGF0YS52YWx1ZS5yZXF1ZXN0VmFsdWV9fTtkZWZhdWx0OnJldHVybiB0aGlzLmRhdGEudmFsdWV9fWNyZWF0ZURhdGFNYXBwaW5nRm9ybSgpe3RoaXMubWFwcGluZ0Zvcm0uYWRkQ29udHJvbCgidG9waWNGaWx0ZXIiLHRoaXMuZmIuY29udHJvbCgiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldKSksdGhpcy5tYXBwaW5nRm9ybS5hZGRDb250cm9sKCJzdWJzY3JpcHRpb25Rb3MiLHRoaXMuZmIuY29udHJvbCgwKSksdGhpcy5tYXBwaW5nRm9ybS5hZGRDb250cm9sKCJjb252ZXJ0ZXIiLHRoaXMuZmIuZ3JvdXAoe3R5cGU6W3duLkpTT04sW11dLGpzb246dGhpcy5mYi5ncm91cCh7ZGV2aWNlSW5mbzpbe30sW11dLGF0dHJpYnV0ZXM6W1tdLFtdXSx0aW1lc2VyaWVzOltbXSxbXV19KSxieXRlczp0aGlzLmZiLmdyb3VwKHtkZXZpY2VJbmZvOlt7fSxbXV0sYXR0cmlidXRlczpbW10sW11dLHRpbWVzZXJpZXM6W1tdLFtdXX0pLGN1c3RvbTp0aGlzLmZiLmdyb3VwKHtleHRlbnNpb246WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLGV4dGVuc2lvbkNvbmZpZzpbe30sW11dfSl9KSksdGhpcy5tYXBwaW5nRm9ybS5wYXRjaFZhbHVlKHRoaXMuZ2V0Rm9ybVZhbHVlRGF0YSgpKSx0aGlzLm1hcHBpbmdGb3JtLmdldCgiY29udmVydGVyLnR5cGUiKS52YWx1ZUNoYW5nZXMucGlwZShSZSh0aGlzLm1hcHBpbmdGb3JtLmdldCgiY29udmVydGVyLnR5cGUiKS52YWx1ZSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2NvbnN0IHQ9dGhpcy5tYXBwaW5nRm9ybS5nZXQoImNvbnZlcnRlciIpO3QuZ2V0KCJqc29uIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoImJ5dGVzIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoImN1c3RvbSIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KGUpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSl9KSl9Y3JlYXRlUmVxdWVzdE1hcHBpbmdGb3JtKCl7dGhpcy5tYXBwaW5nRm9ybS5hZGRDb250cm9sKCJyZXF1ZXN0VHlwZSIsdGhpcy5mYi5jb250cm9sKEluLkNPTk5FQ1RfUkVRVUVTVCxbXSkpLHRoaXMubWFwcGluZ0Zvcm0uYWRkQ29udHJvbCgicmVxdWVzdFZhbHVlIix0aGlzLmZiLmdyb3VwKHtjb25uZWN0UmVxdWVzdHM6dGhpcy5mYi5ncm91cCh7dG9waWNGaWx0ZXI6WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLGRldmljZUluZm86W3t9LFtdXX0pLGRpc2Nvbm5lY3RSZXF1ZXN0czp0aGlzLmZiLmdyb3VwKHt0b3BpY0ZpbHRlcjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sZGV2aWNlSW5mbzpbe30sW11dfSksYXR0cmlidXRlUmVxdWVzdHM6dGhpcy5mYi5ncm91cCh7dG9waWNGaWx0ZXI6WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLGRldmljZUluZm86dGhpcy5mYi5ncm91cCh7ZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2U6W1RuLk1TRyxbXV0sZGV2aWNlTmFtZUV4cHJlc3Npb246WyIiLFt1ZS5yZXF1aXJlZF1dfSksYXR0cmlidXRlTmFtZUV4cHJlc3Npb25Tb3VyY2U6W1RuLk1TRyxbXV0sYXR0cmlidXRlTmFtZUV4cHJlc3Npb246WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHRvcGljRXhwcmVzc2lvbjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sdmFsdWVFeHByZXNzaW9uOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxyZXRhaW46WyExLFtdXX0pLGF0dHJpYnV0ZVVwZGF0ZXM6dGhpcy5mYi5ncm91cCh7ZGV2aWNlTmFtZUZpbHRlcjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sYXR0cmlidXRlRmlsdGVyOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx0b3BpY0V4cHJlc3Npb246WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHZhbHVlRXhwcmVzc2lvbjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmV0YWluOlshMCxbXV19KSxzZXJ2ZXJTaWRlUnBjOnRoaXMuZmIuZ3JvdXAoe3R5cGU6W1BuLlRXT19XQVksW11dLGRldmljZU5hbWVGaWx0ZXI6WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLG1ldGhvZEZpbHRlcjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVxdWVzdFRvcGljRXhwcmVzc2lvbjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVzcG9uc2VUb3BpY0V4cHJlc3Npb246WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHZhbHVlRXhwcmVzc2lvbjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVzcG9uc2VUb3BpY1FvUzpbMCxbXV0scmVzcG9uc2VUaW1lb3V0OlsxZTQsW3VlLnJlcXVpcmVkLHVlLm1pbigxKV1dfSl9KSksdGhpcy5tYXBwaW5nRm9ybS5nZXQoInJlcXVlc3RUeXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoUmUodGhpcy5tYXBwaW5nRm9ybS5nZXQoInJlcXVlc3RUeXBlIikudmFsdWUpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pntjb25zdCB0PXRoaXMubWFwcGluZ0Zvcm0uZ2V0KCJyZXF1ZXN0VmFsdWUiKTt0LmdldCgiY29ubmVjdFJlcXVlc3RzIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoImRpc2Nvbm5lY3RSZXF1ZXN0cyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJhdHRyaWJ1dGVSZXF1ZXN0cyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJhdHRyaWJ1dGVVcGRhdGVzIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoInNlcnZlclNpZGVScGMiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSx0LmdldChlKS5lbmFibGUoKX0pKSx0aGlzLm1hcHBpbmdGb3JtLmdldCgicmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMudHlwZSIpLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pntjb25zdCB0PXRoaXMubWFwcGluZ0Zvcm0uZ2V0KCJyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYyIpO2U9PT1Qbi5PTkVfV0FZPyh0LmdldCgicmVzcG9uc2VUb3BpY0V4cHJlc3Npb24iKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSx0LmdldCgicmVzcG9uc2VUb3BpY1FvUyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJyZXNwb25zZVRpbWVvdXQiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSk6KHQuZ2V0KCJyZXNwb25zZVRvcGljRXhwcmVzc2lvbiIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoInJlc3BvbnNlVG9waWNRb1MiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJyZXNwb25zZVRpbWVvdXQiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pKX0pKSx0aGlzLm1hcHBpbmdGb3JtLnBhdGNoVmFsdWUodGhpcy5nZXRGb3JtVmFsdWVEYXRhKCkpfWNyZWF0ZU9QQ1VBTWFwcGluZ0Zvcm0oKXt0aGlzLm1hcHBpbmdGb3JtPXRoaXMuZmIuZ3JvdXAoe2RldmljZU5vZGVTb3VyY2U6W1NuLlBBVEgsW11dLGRldmljZU5vZGVQYXR0ZXJuOlsiIixbdWUucmVxdWlyZWRdXSxkZXZpY2VJbmZvOlt7fSxbXV0sYXR0cmlidXRlczpbW10sW11dLHRpbWVzZXJpZXM6W1tdLFtdXSxycGNfbWV0aG9kczpbW10sW11dLGF0dHJpYnV0ZXNfdXBkYXRlczpbW10sW11dfSksdGhpcy5tYXBwaW5nRm9ybS5wYXRjaFZhbHVlKHRoaXMuZ2V0Rm9ybVZhbHVlRGF0YSgpKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmlvLGRlcHM6W3t0b2tlbjpvdC5TdG9yZX0se3Rva2VuOml0LlJvdXRlcn0se3Rva2VuOlhlfSx7dG9rZW46SmUuTWF0RGlhbG9nUmVmfSx7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjpmdC5UYlBvcG92ZXJTZXJ2aWNlfSx7dG9rZW46dC5SZW5kZXJlcjJ9LHt0b2tlbjp0LlZpZXdDb250YWluZXJSZWZ9LHt0b2tlbjpZLlRyYW5zbGF0ZVNlcnZpY2V9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOmlvLHNlbGVjdG9yOiJ0Yi1tYXBwaW5nLWRpYWxvZyIsdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG5cbjxkaXYgW2Zvcm1Hcm91cF09Im1hcHBpbmdGb3JtIiBjbGFzcz0ia2V5LW1hcHBpbmciPlxuICA8bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICAgIDxoMj57eyBNYXBwaW5nVHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodGhpcy5kYXRhPy5tYXBwaW5nVHlwZSkgfCB0cmFuc2xhdGV9fTwvaDI+XG4gICAgPHNwYW4gZnhGbGV4Pjwvc3Bhbj5cbiAgICA8ZGl2IFt0Yi1oZWxwXT0iSGVscExpbmtCeU1hcHBpbmdUeXBlTWFwLmdldCh0aGlzLmRhdGEubWFwcGluZ1R5cGUpIj48L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L21hdC10b29sYmFyPlxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwiPlxuICAgICAgICB7eyBNYXBwaW5nSGludFRyYW5zbGF0aW9uc01hcC5nZXQodGhpcy5kYXRhPy5tYXBwaW5nVHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJkYXRhLm1hcHBpbmdUeXBlIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJNYXBwaW5nVHlwZS5EQVRBIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS50b3BpYy1maWx0ZXI8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idG9waWNGaWx0ZXIiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnRvcGljLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwndG9waWNGaWx0ZXJcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwndG9waWNGaWx0ZXJcJykudG91Y2hlZDsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS90b3BpYy1maWx0ZXJfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5yZXNwb25zZS10b3BpYy1Rb3MtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1xdHQtcW9zXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ic3Vic2NyaXB0aW9uUW9zIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2YgcXVhbGl0eVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAge3sgUXVhbGl0eVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIGZvcm1Hcm91cE5hbWU9ImNvbnZlcnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucGF5bG9hZC10eXBlPC9kaXY+XG4gICAgICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBjb252ZXJ0b3JUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAgICB7eyBDb252ZXJ0b3JUeXBlVHJhbnNsYXRpb25zTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5kYXRhLWNvbnZlcnNpb248L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCI+XG4gICAgICAgICAgICAgICAge3sgRGF0YUNvbnZlcnNpb25UcmFuc2xhdGlvbnNNYXAuZ2V0KGNvbnZlcnRlclR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBOYW1lXT0iY29udmVydGVyVHlwZSIgW25nU3dpdGNoXT0iY29udmVydGVyVHlwZSI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb252ZXJ0b3JUeXBlRW51bS5KU09OIj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1kZXZpY2UtaW5mby10YWJsZSBmb3JtQ29udHJvbE5hbWU9ImRldmljZUluZm8iIFtkZXZpY2VJbmZvVHlwZV09IkRldmljZUluZm9UeXBlLkZVTEwiIHJlcXVpcmVkPSJ0cnVlIj5cbiAgICAgICAgICAgICAgICAgIDwvdGItZGV2aWNlLWluZm8tdGFibGU+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbnZlcnRvclR5cGVFbnVtLkJZVEVTIj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1kZXZpY2UtaW5mby10YWJsZSBmb3JtQ29udHJvbE5hbWU9ImRldmljZUluZm8iIFtkZXZpY2VJbmZvVHlwZV09IkRldmljZUluZm9UeXBlLkZVTEwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NvdXJjZVR5cGVzXT0iW3NvdXJjZVR5cGVzRW51bS5NU0csIHNvdXJjZVR5cGVzRW51bS5DT05TVF0iIHJlcXVpcmVkPSJ0cnVlIj5cbiAgICAgICAgICAgICAgICAgIDwvdGItZGV2aWNlLWluZm8tdGFibGU+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIlxuICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImNvbnZlcnRlclR5cGUgPT09IENvbnZlcnRvclR5cGVFbnVtLkJZVEVTIHx8IGNvbnZlcnRlclR5cGUgPT09IENvbnZlcnRvclR5cGVFbnVtLkpTT04iPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZXM8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0Ym94IFt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdPSJjb252ZXJ0ZXJBdHRyaWJ1dGVzIiBjbGFzcz0idGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCBhdHRyaWJ1dGUgb2YgY29udmVydGVyQXR0cmlidXRlcyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgYXR0cmlidXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNhdHRyaWJ1dGVzQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgYXR0cmlidXRlc0J1dHRvbiwgTWFwcGluZ0tleXNUeXBlLkFUVFJJQlVURVMpIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50aW1lc2VyaWVzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggZWxsaXBzaXMtY2hpcHMtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoaXAtbGlzdGJveCBjbGFzcz0idGItZmxleCIgW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09ImNvbnZlcnRlclRlbGVtZXRyeSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgdGVsZW1ldHJ5IG9mIGNvbnZlcnRlclRlbGVtZXRyeSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRlbGVtZXRyeSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3RlbGVtZXRyeUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIHRlbGVtZXRyeUJ1dHRvbiwgTWFwcGluZ0tleXNUeXBlLlRJTUVTRVJJRVMpIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIiAqbmdJZj0iY29udmVydGVyVHlwZSA9PT0gQ29udmVydG9yVHlwZUVudW0uQ1VTVE9NIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmV4dGVuc2lvbi1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5leHRlbnNpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZXh0ZW5zaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmV4dGVuc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwnY29udmVydGVyLmN1c3RvbS5leHRlbnNpb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdjb252ZXJ0ZXIuY3VzdG9tLmV4dGVuc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gc2FtZS1wYWRkaW5nIHRiLWZsZXggY29sdW1uIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuZXh0ZW5zaW9uLWNvbmZpZ3VyYXRpb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCI+e3sgXCdnYXRld2F5LmV4dGVuc2lvbi1jb25maWd1cmF0aW9uLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5rZXlzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09ImN1c3RvbUtleXMiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IHRlbGVtZXRyeSBvZiBjdXN0b21LZXlzIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB0ZWxlbWV0cnkgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAja2V5c0J1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwga2V5c0J1dHRvbiwgTWFwcGluZ0tleXNUeXBlLkNVU1RPTSkiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGItaWNvbiBtYXRCdXR0b25JY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJNYXBwaW5nVHlwZS5SRVFVRVNUUyI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnJlcXVlc3QtdHlwZTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icmVxdWVzdFR5cGUiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHJlcXVlc3RUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgUmVxdWVzdFR5cGVzVHJhbnNsYXRpb25zTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgZm9ybUdyb3VwTmFtZT0icmVxdWVzdFZhbHVlIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlXCcpLmdldChyZXF1ZXN0TWFwcGluZ1R5cGUpIiBbbmdTd2l0Y2hdPSJyZXF1ZXN0TWFwcGluZ1R5cGUiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiXG4gICAgICAgICAgICAgICAgICAgICAqbmdJZj0icmVxdWVzdE1hcHBpbmdUeXBlID09PSBSZXF1ZXN0VHlwZUVudW0uQVRUUklCVVRFX1JFUVVFU1QgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0TWFwcGluZ1R5cGUgPT09IFJlcXVlc3RUeXBlRW51bS5DT05ORUNUX1JFUVVFU1QgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0TWFwcGluZ1R5cGUgPT09IFJlcXVlc3RUeXBlRW51bS5ESVNDT05ORUNUX1JFUVVFU1QiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnRvcGljLWZpbHRlcjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgW2Zvcm1Db250cm9sXT0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlXCcpLmdldChyZXF1ZXN0TWFwcGluZ1R5cGUpLmdldChcJ3RvcGljRmlsdGVyXCcpIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS50b3BpYy1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZVwnKS5nZXQocmVxdWVzdE1hcHBpbmdUeXBlKS5nZXQoXCd0b3BpY0ZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWVcJykuZ2V0KHJlcXVlc3RNYXBwaW5nVHlwZSkuZ2V0KFwndG9waWNGaWx0ZXJcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L3RvcGljLWZpbHRlcl9mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IlJlcXVlc3RUeXBlRW51bS5DT05ORUNUX1JFUVVFU1QiPlxuICAgICAgICAgICAgICAgICAgPHRiLWRldmljZS1pbmZvLXRhYmxlIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlSW5mbyIgW2RldmljZUluZm9UeXBlXT0iRGV2aWNlSW5mb1R5cGUuRlVMTCIgcmVxdWlyZWQ9InRydWUiPlxuICAgICAgICAgICAgICAgICAgPC90Yi1kZXZpY2UtaW5mby10YWJsZT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iUmVxdWVzdFR5cGVFbnVtLkRJU0NPTk5FQ1RfUkVRVUVTVCI+XG4gICAgICAgICAgICAgICAgICA8dGItZGV2aWNlLWluZm8tdGFibGUgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VJbmZvIiBbZGV2aWNlSW5mb1R5cGVdPSJEZXZpY2VJbmZvVHlwZS5QQVJUSUFMIiByZXF1aXJlZD0idHJ1ZSI+XG4gICAgICAgICAgICAgICAgICA8L3RiLWRldmljZS1pbmZvLXRhYmxlPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJSZXF1ZXN0VHlwZUVudW0uQVRUUklCVVRFX1JFUVVFU1QiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZnJvbS1kZXZpY2UtcmVxdWVzdC1zZXR0aW5nczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgZ2F0ZXdheS5mcm9tLWRldmljZS1yZXF1ZXN0LXNldHRpbmdzLWhpbnRcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiIGZvcm1Hcm91cE5hbWU9ImRldmljZUluZm8iPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLWZsZXggbm8tZmxleCBhbGlnbi1jZW50ZXIiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5kZXZpY2UtaW5mby5kZXZpY2UtbmFtZS1leHByZXNzaW9uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVFeHByZXNzaW9uU291cmNlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNvdXJjZVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2UtaW5mby5kZXZpY2UtbmFtZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iKG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy5kZXZpY2VJbmZvLmRldmljZU5hbWVFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy5kZXZpY2VJbmZvLmRldmljZU5hbWVFeHByZXNzaW9uXCcpLnRvdWNoZWQpIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5hdHRyaWJ1dGUtbmFtZS1leHByZXNzaW9uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImF0dHJpYnV0ZU5hbWVFeHByZXNzaW9uU291cmNlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNvdXJjZVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImF0dHJpYnV0ZU5hbWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuYXR0cmlidXRlLW5hbWUtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlUmVxdWVzdHMuYXR0cmlidXRlTmFtZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy5hdHRyaWJ1dGVOYW1lRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUgdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnRvLWRldmljZS1yZXNwb25zZS1zZXR0aW5nczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgZ2F0ZXdheS50by1kZXZpY2UtcmVzcG9uc2Utc2V0dGluZ3MtaGludFxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlc3BvbnNlLXZhbHVlLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkucmVzcG9uc2UtdmFsdWUtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlUmVxdWVzdHMudmFsdWVFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlUmVxdWVzdHMudmFsdWVFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlc3BvbnNlLXRvcGljLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idG9waWNFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkucmVzcG9uc2UtdG9waWMtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlUmVxdWVzdHMudG9waWNFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlUmVxdWVzdHMudG9waWNFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXRhaW4iPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LnJldGFpbi1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0YWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iUmVxdWVzdFR5cGVFbnVtLkFUVFJJQlVURV9VUERBVEUiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmRldmljZS1uYW1lLWZpbHRlclwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VOYW1lRmlsdGVyIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1uYW1lLWZpbHRlci1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVVwZGF0ZXMuZGV2aWNlTmFtZUZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLmRldmljZU5hbWVGaWx0ZXJcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuYXR0cmlidXRlLWZpbHRlci1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5hdHRyaWJ1dGUtZmlsdGVyXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImF0dHJpYnV0ZUZpbHRlciIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5hdHRyaWJ1dGUtZmlsdGVyLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy5hdHRyaWJ1dGVGaWx0ZXJcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLmF0dHJpYnV0ZUZpbHRlclwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkucmVzcG9uc2UtdmFsdWUtZXhwcmVzc2lvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkucmVzcG9uc2UtdmFsdWUtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVVwZGF0ZXMudmFsdWVFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy52YWx1ZUV4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5yZXNwb25zZS10b3BpYy1leHByZXNzaW9uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRvcGljRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXNwb25zZS10b3BpYy1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy50b3BpY0V4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy50b3BpY0V4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgZml4ZWQtdGl0bGUtd2lkdGgiIGZvcm1Db250cm9sTmFtZT0icmV0YWluIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkucmV0YWluLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0YWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IlJlcXVlc3RUeXBlRW51bS5TRVJWRVJfU0lERV9SUEMiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCByb3cgY2VudGVyIGFsaWduLWNlbnRlciBuby1nYXAgZmlsbC13aWR0aCI+XG4gICAgICAgICAgICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gW3ZhbHVlXT0iU2VydmVyU2lkZVJQQ1R5cGUuVFdPX1dBWSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkud2l0aC1yZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uIFt2YWx1ZV09IlNlcnZlclNpZGVSUENUeXBlLk9ORV9XQVkiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LndpdGhvdXQtcmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmRldmljZS1uYW1lLWZpbHRlclwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VOYW1lRmlsdGVyIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1uYW1lLWZpbHRlci1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMuZGV2aWNlTmFtZUZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMuZGV2aWNlTmFtZUZpbHRlclwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5tZXRob2QtZmlsdGVyLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1ldGhvZC1maWx0ZXJcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lm1ldGhvZC1maWx0ZXItcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLm1ldGhvZEZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMubWV0aG9kRmlsdGVyXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5yZXF1ZXN0LXRvcGljLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icmVxdWVzdFRvcGljRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXF1ZXN0LXRvcGljLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlcXVlc3RUb3BpY0V4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlcXVlc3RUb3BpY0V4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS52YWx1ZS1leHByZXNzaW9uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InZhbHVlRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy52YWx1ZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnZhbHVlRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy50eXBlXCcpLnZhbHVlID09PSBTZXJ2ZXJTaWRlUlBDVHlwZS5UV09fV0FZIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlc3BvbnNlLXRvcGljLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUb3BpY0V4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXNwb25zZS10b3BpYy1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlc3BvbnNlVG9waWNFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5yZXNwb25zZVRvcGljRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LnJlc3BvbnNlLXRvcGljLVFvcy1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJlc3BvbnNlLXRvcGljLVFvc1wnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRvcGljUW9TIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBxdWFsaXR5VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFF1YWxpdHlUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlc3BvbnNlLXRpbWVvdXQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIHR5cGU9Im51bWJlciIgbWluPSIxIiBmb3JtQ29udHJvbE5hbWU9InJlc3BvbnNlVGltZW91dCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0icmVzcG9uc2VUaW1lb3V0RXJyb3JUb29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5yZXNwb25zZVRpbWVvdXRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5yZXNwb25zZVRpbWVvdXRcJykuaGFzRXJyb3IoXCdtaW5cJykpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlc3BvbnNlVGltZW91dFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iTWFwcGluZ1R5cGUuT1BDVUEiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBhbGlnbi1jZW50ZXIiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuZGV2aWNlLW5vZGUtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZGV2aWNlLW5vZGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBkZXZpY2UtY29uZmlnIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5vZGVTb3VyY2UiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBbT1BDVWFTb3VyY2VUeXBlc0VudW0uUEFUSCwgT1BDVWFTb3VyY2VUeXBlc0VudW0uSURFTlRJRklFUl0iIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICB7eyBTb3VyY2VUeXBlVHJhbnNsYXRpb25zTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBkZXZpY2Utbm9kZS1wYXR0ZXJuLWZpZWxkIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VOb2RlUGF0dGVybiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLW5vZGUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSIobWFwcGluZ0Zvcm0uZ2V0KFwnZGV2aWNlTm9kZVBhdHRlcm5cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ2RldmljZU5vZGVQYXR0ZXJuXCcpLnRvdWNoZWQpIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCdkZXZpY2Utbm9kZVwnIHwgZ2V0R2F0ZXdheUhlbHBMaW5rOiBtYXBwaW5nRm9ybS5nZXQoXCdkZXZpY2VOb2RlU291cmNlXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dGItZGV2aWNlLWluZm8tdGFibGUgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VJbmZvIiBbc291cmNlVHlwZXNdPSJPUENVYVNvdXJjZVR5cGVzIiBbZGV2aWNlSW5mb1R5cGVdPSJEZXZpY2VJbmZvVHlwZS5GVUxMIiByZXF1aXJlZD0idHJ1ZSI+XG4gICAgICAgICAgPC90Yi1kZXZpY2UtaW5mby10YWJsZT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZXM8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggZWxsaXBzaXMtY2hpcHMtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09Im9wY0F0dHJpYnV0ZXMiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgYXR0cmlidXRlIG9mIG9wY0F0dHJpYnV0ZXMiPlxuICAgICAgICAgICAgICAgICAge3sgYXR0cmlidXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICNvcGNBdHRyaWJ1dGVzQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIG9wY0F0dHJpYnV0ZXNCdXR0b24sIE1hcHBpbmdLZXlzVHlwZS5BVFRSSUJVVEVTKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudGltZXNlcmllczwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgICAgICAgICA8bWF0LWNoaXAtbGlzdGJveCBjbGFzcz0idGItZmxleCIgW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09Im9wY1RlbGVtZXRyeSI+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IHRlbGVtZXRyeSBvZiBvcGNUZWxlbWV0cnkiPlxuICAgICAgICAgICAgICAgICAge3sgdGVsZW1ldHJ5IH19XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICNvcGNUZWxlbWV0cnlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgb3BjVGVsZW1ldHJ5QnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuVElNRVNFUklFUykiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZS11cGRhdGVzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0Ym94IFt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdPSJvcGNBdHRyaWJ1dGVzVXBkYXRlcyIgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCBhdHRyaWJ1dGUgb2Ygb3BjQXR0cmlidXRlc1VwZGF0ZXMiPlxuICAgICAgICAgICAgICAgICAge3sgYXR0cmlidXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICNhdHRyaWJ1dGVzVXBkYXRlc0J1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZUtleXMoJGV2ZW50LCBhdHRyaWJ1dGVzVXBkYXRlc0J1dHRvbiwgTWFwcGluZ0tleXNUeXBlLkFUVFJJQlVURVNfVVBEQVRFUykiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnJwYy1tZXRob2RzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0Ym94IFt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdPSJvcGNScGNNZXRob2RzIiBjbGFzcz0idGItZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZSBvZiBvcGNScGNNZXRob2RzIj5cbiAgICAgICAgICAgICAgICAgIHt7IGF0dHJpYnV0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAjcnBjTWV0aG9kc0J1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZUtleXMoJGV2ZW50LCBycGNNZXRob2RzQnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuUlBDX01FVEhPRFMpIj5cbiAgICAgICAgICAgICAgICA8dGItaWNvbiBtYXRCdXR0b25JY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIGNka0ZvY3VzSW5pdGlhbFxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0iYWRkKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJtYXBwaW5nRm9ybS5pbnZhbGlkIHx8ICFtYXBwaW5nRm9ybS5kaXJ0eSB8fCAha2V5c1BvcHVwQ2xvc2VkIj5cbiAgICAgIHt7IHRoaXMuZGF0YS5idXR0b25UaXRsZSB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e2Rpc3BsYXk6Z3JpZDtoZWlnaHQ6MTAwJX06aG9zdCAua2V5LW1hcHBpbmd7bWF4LXdpZHRoOjkwMHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Omhvc3QgLmtleS1tYXBwaW5nIC5tYXQtdG9vbGJhcnttaW4taGVpZ2h0OjY0cHh9Omhvc3QgLmtleS1tYXBwaW5nIHRiLXRvZ2dsZS1zZWxlY3R7cGFkZGluZzo0cHggMH06aG9zdCAubWF0LW1kYy1kaWFsb2ctY29udGVudHtoZWlnaHQ6NjcwcHh9Omhvc3QgLmVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lcnttYXgtd2lkdGg6NzAlfTpob3N0IDo6bmctZGVlcCAua2V5LW1hcHBpbmcgLm1hdC1tZGMtY2hpcC1saXN0Ym94IC5tZGMtZXZvbHV0aW9uLWNoaXAtc2V0X19jaGlwc3tqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXgtd3JhcDpub3dyYXB9Omhvc3QgOjpuZy1kZWVwIC50Yi1mb3JtLXJvdyAuZml4ZWQtdGl0bGUtd2lkdGh7bWluLXdpZHRoOjQwcHg7d2lkdGg6MzUlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306aG9zdCA6Om5nLWRlZXAgLnRiLWZvcm0tcm93IC5tYXQtbWRjLWZvcm0tZmllbGR7d2lkdGg6MH06aG9zdCA6Om5nLWRlZXAgLnNlZS1leGFtcGxle3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7bWFyZ2luOjRweH06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtZm9ybS1maWVsZC1pY29uLXN1ZmZpeHtkaXNwbGF5OmZsZXh9Omhvc3QgOjpuZy1kZWVwIC5kZXZpY2UtY29uZmlne2dhcDoxMnB4O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6MTBweH06aG9zdCA6Om5nLWRlZXAgLmRldmljZS1ub2RlLXBhdHRlcm4tZmllbGR7ZmxleC1iYXNpczozJX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaCxzZWxlY3RvcjoiW25nU3dpdGNoXSIsaW5wdXRzOlsibmdTd2l0Y2giXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoQ2FzZSxzZWxlY3RvcjoiW25nU3dpdGNoQ2FzZV0iLGlucHV0czpbIm5nU3dpdGNoQ2FzZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmR0LkhlbHBDb21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oZWxwXSIsaW5wdXRzOlsidGItaGVscCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmd0LkhlbHBQb3B1cENvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhlbHAtcG9wdXBdLCBbdGItaGVscC1wb3B1cC1jb250ZW50XSIsaW5wdXRzOlsidGItaGVscC1wb3B1cCIsInRiLWhlbHAtcG9wdXAtY29udGVudCIsInRyaWdnZXItdGV4dCIsInRyaWdnZXItc3R5bGUiLCJ0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudCIsInRiLWhlbHAtcG9wdXAtc3R5bGUiLCJoaW50TW9kZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpKZS5NYXREaWFsb2dBY3Rpb25zLHNlbGVjdG9yOiJbbWF0LWRpYWxvZy1hY3Rpb25zXSwgbWF0LWRpYWxvZy1hY3Rpb25zLCBbbWF0RGlhbG9nQWN0aW9uc10iLGlucHV0czpbImFsaWduIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQ29udGVudCxzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6eXQuTWF0Q2hpcCxzZWxlY3RvcjoibWF0LWJhc2ljLWNoaXAsIFttYXQtYmFzaWMtY2hpcF0sIG1hdC1jaGlwLCBbbWF0LWNoaXBdIixpbnB1dHM6WyJyb2xlIiwiaWQiLCJhcmlhLWxhYmVsIiwiYXJpYS1kZXNjcmlwdGlvbiIsInZhbHVlIiwiY29sb3IiLCJyZW1vdmFibGUiLCJoaWdobGlnaHRlZCIsImRpc2FibGVSaXBwbGUiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJyZW1vdmVkIiwiZGVzdHJveWVkIl0sZXhwb3J0QXM6WyJtYXRDaGlwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6eXQuTWF0Q2hpcExpc3Rib3gsc2VsZWN0b3I6Im1hdC1jaGlwLWxpc3Rib3giLGlucHV0czpbIm11bHRpcGxlIiwiYXJpYS1vcmllbnRhdGlvbiIsInNlbGVjdGFibGUiLCJjb21wYXJlV2l0aCIsInJlcXVpcmVkIiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInZhbHVlIl0sb3V0cHV0czpbImNoYW5nZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRdLCBbZnhMYXlvdXQueHNdLCBbZnhMYXlvdXQuc21dLCBbZnhMYXlvdXQubWRdLCAgW2Z4TGF5b3V0LmxnXSwgW2Z4TGF5b3V0LnhsXSwgW2Z4TGF5b3V0Lmx0LXNtXSwgW2Z4TGF5b3V0Lmx0LW1kXSwgIFtmeExheW91dC5sdC1sZ10sIFtmeExheW91dC5sdC14bF0sIFtmeExheW91dC5ndC14c10sIFtmeExheW91dC5ndC1zbV0sICBbZnhMYXlvdXQuZ3QtbWRdLCBbZnhMYXlvdXQuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dCIsImZ4TGF5b3V0LnhzIiwiZnhMYXlvdXQuc20iLCJmeExheW91dC5tZCIsImZ4TGF5b3V0LmxnIiwiZnhMYXlvdXQueGwiLCJmeExheW91dC5sdC1zbSIsImZ4TGF5b3V0Lmx0LW1kIiwiZnhMYXlvdXQubHQtbGciLCJmeExheW91dC5sdC14bCIsImZ4TGF5b3V0Lmd0LXhzIiwiZnhMYXlvdXQuZ3Qtc20iLCJmeExheW91dC5ndC1tZCIsImZ4TGF5b3V0Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1pblZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLGlucHV0czpbIm1pbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwTmFtZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdIixpbnB1dHM6WyJmb3JtR3JvdXBOYW1lIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bnQuVG9nZ2xlT3B0aW9uLHNlbGVjdG9yOiJ0Yi10b2dnbGUtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmF0LlRvZ2dsZVNlbGVjdENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXNlbGVjdCIsaW5wdXRzOlsiZGlzYWJsZWQiLCJzZWxlY3RNZWRpYUJyZWFrcG9pbnQiLCJhcHBlYXJhbmNlIiwiZGlzYWJsZVBhZ2luYXRpb24iLCJmaWxsSGVpZ2h0IiwiZXh0cmFQYWRkaW5nIiwicHJpbWFyeUJhY2tncm91bmQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpidC5UYkljb25Db21wb25lbnQsc2VsZWN0b3I6InRiLWljb24iLGlucHV0czpbImNvbG9yIl0sZXhwb3J0QXM6WyJ0Ykljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTprYSxzZWxlY3RvcjoiW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF0iLGlucHV0czpbInRiLWVsbGlwc2lzLWNoaXAtbGlzdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOm9vLHNlbGVjdG9yOiJ0Yi1kZXZpY2UtaW5mby10YWJsZSIsaW5wdXRzOlsidXNlU291cmNlIiwicmVxdWlyZWQiLCJzb3VyY2VUeXBlcyIsImRldmljZUluZm9UeXBlIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoicGlwZSIsdHlwZTpUYSxuYW1lOiJnZXRHYXRld2F5SGVscExpbmsifV19KX19ZSgiTWFwcGluZ0RpYWxvZ0NvbXBvbmVudCIsaW8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6aW8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1hcHBpbmctZGlhbG9nIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcblxuPGRpdiBbZm9ybUdyb3VwXT0ibWFwcGluZ0Zvcm0iIGNsYXNzPSJrZXktbWFwcGluZyI+XG4gIDxtYXQtdG9vbGJhciBjb2xvcj0icHJpbWFyeSI+XG4gICAgPGgyPnt7IE1hcHBpbmdUeXBlVHJhbnNsYXRpb25zTWFwLmdldCh0aGlzLmRhdGE/Lm1hcHBpbmdUeXBlKSB8IHRyYW5zbGF0ZX19PC9oMj5cbiAgICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICAgIDxkaXYgW3RiLWhlbHBdPSJIZWxwTGlua0J5TWFwcGluZ1R5cGVNYXAuZ2V0KHRoaXMuZGF0YS5tYXBwaW5nVHlwZSkiPjwvZGl2PlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvbWF0LXRvb2xiYXI+XG4gIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCI+XG4gICAgICAgIHt7IE1hcHBpbmdIaW50VHJhbnNsYXRpb25zTWFwLmdldCh0aGlzLmRhdGE/Lm1hcHBpbmdUeXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09ImRhdGEubWFwcGluZ1R5cGUiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09Ik1hcHBpbmdUeXBlLkRBVEEiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnRvcGljLWZpbHRlcjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ0b3BpY0ZpbHRlciIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudG9waWMtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCd0b3BpY0ZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCd0b3BpY0ZpbHRlclwnKS50b3VjaGVkOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L3RvcGljLWZpbHRlcl9mblwnIlxuICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LnJlc3BvbnNlLXRvcGljLVFvcy1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubXF0dC1xb3NcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJzdWJzY3JpcHRpb25Rb3MiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBxdWFsaXR5VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICB7eyBRdWFsaXR5VHJhbnNsYXRpb25zTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgZm9ybUdyb3VwTmFtZT0iY29udmVydGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5wYXlsb2FkLXR5cGU8L2Rpdj5cbiAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIiBhcHBlYXJhbmNlPSJmaWxsIj5cbiAgICAgICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGNvbnZlcnRvclR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgIHt7IENvbnZlcnRvclR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LmRhdGEtY29udmVyc2lvbjwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIj5cbiAgICAgICAgICAgICAgICB7eyBEYXRhQ29udmVyc2lvblRyYW5zbGF0aW9uc01hcC5nZXQoY29udmVydGVyVHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cE5hbWVdPSJjb252ZXJ0ZXJUeXBlIiBbbmdTd2l0Y2hdPSJjb252ZXJ0ZXJUeXBlIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbnZlcnRvclR5cGVFbnVtLkpTT04iPlxuICAgICAgICAgICAgICAgICAgPHRiLWRldmljZS1pbmZvLXRhYmxlIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlSW5mbyIgW2RldmljZUluZm9UeXBlXT0iRGV2aWNlSW5mb1R5cGUuRlVMTCIgcmVxdWlyZWQ9InRydWUiPlxuICAgICAgICAgICAgICAgICAgPC90Yi1kZXZpY2UtaW5mby10YWJsZT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29udmVydG9yVHlwZUVudW0uQllURVMiPlxuICAgICAgICAgICAgICAgICAgPHRiLWRldmljZS1pbmZvLXRhYmxlIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlSW5mbyIgW2RldmljZUluZm9UeXBlXT0iRGV2aWNlSW5mb1R5cGUuRlVMTCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc291cmNlVHlwZXNdPSJbc291cmNlVHlwZXNFbnVtLk1TRywgc291cmNlVHlwZXNFbnVtLkNPTlNUXSIgcmVxdWlyZWQ9InRydWUiPlxuICAgICAgICAgICAgICAgICAgPC90Yi1kZXZpY2UtaW5mby10YWJsZT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciXG4gICAgICAgICAgICAgICAgICAgICAqbmdJZj0iY29udmVydGVyVHlwZSA9PT0gQ29udmVydG9yVHlwZUVudW0uQllURVMgfHwgY29udmVydGVyVHlwZSA9PT0gQ29udmVydG9yVHlwZUVudW0uSlNPTiI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuYXR0cmlidXRlczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09ImNvbnZlcnRlckF0dHJpYnV0ZXMiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZSBvZiBjb252ZXJ0ZXJBdHRyaWJ1dGVzIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBhdHRyaWJ1dGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2F0dHJpYnV0ZXNCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZUtleXMoJGV2ZW50LCBhdHRyaWJ1dGVzQnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuQVRUUklCVVRFUykiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnRpbWVzZXJpZXM8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0Ym94IGNsYXNzPSJ0Yi1mbGV4IiBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iY29udmVydGVyVGVsZW1ldHJ5Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCB0ZWxlbWV0cnkgb2YgY29udmVydGVyVGVsZW1ldHJ5Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdGVsZW1ldHJ5IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjdGVsZW1ldHJ5QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgdGVsZW1ldHJ5QnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuVElNRVNFUklFUykiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciICpuZ0lmPSJjb252ZXJ0ZXJUeXBlID09PSBDb252ZXJ0b3JUeXBlRW51bS5DVVNUT00iPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuZXh0ZW5zaW9uLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmV4dGVuc2lvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJleHRlbnNpb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZXh0ZW5zaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdjb252ZXJ0ZXIuY3VzdG9tLmV4dGVuc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ2NvbnZlcnRlci5jdXN0b20uZXh0ZW5zaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiBzYW1lLXBhZGRpbmcgdGItZmxleCBjb2x1bW4iPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5leHRlbnNpb24tY29uZmlndXJhdGlvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIj57eyBcJ2dhdGV3YXkuZXh0ZW5zaW9uLWNvbmZpZ3VyYXRpb24taGludFwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmtleXM8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iY3VzdG9tS2V5cyIgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgdGVsZW1ldHJ5IG9mIGN1c3RvbUtleXMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRlbGVtZXRyeSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNrZXlzQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZUtleXMoJGV2ZW50LCBrZXlzQnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuQ1VTVE9NKSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09Ik1hcHBpbmdUeXBlLlJFUVVFU1RTIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucmVxdWVzdC10eXBlPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0VHlwZSI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2YgcmVxdWVzdFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBSZXF1ZXN0VHlwZXNUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBmb3JtR3JvdXBOYW1lPSJyZXF1ZXN0VmFsdWUiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWVcJykuZ2V0KHJlcXVlc3RNYXBwaW5nVHlwZSkiIFtuZ1N3aXRjaF09InJlcXVlc3RNYXBwaW5nVHlwZSI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJyZXF1ZXN0TWFwcGluZ1R5cGUgPT09IFJlcXVlc3RUeXBlRW51bS5BVFRSSUJVVEVfUkVRVUVTVCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RNYXBwaW5nVHlwZSA9PT0gUmVxdWVzdFR5cGVFbnVtLkNPTk5FQ1RfUkVRVUVTVCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RNYXBwaW5nVHlwZSA9PT0gUmVxdWVzdFR5cGVFbnVtLkRJU0NPTk5FQ1RfUkVRVUVTVCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudG9waWMtZmlsdGVyPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBbZm9ybUNvbnRyb2xdPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWVcJykuZ2V0KHJlcXVlc3RNYXBwaW5nVHlwZSkuZ2V0KFwndG9waWNGaWx0ZXJcJykiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnRvcGljLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlXCcpLmdldChyZXF1ZXN0TWFwcGluZ1R5cGUpLmdldChcJ3RvcGljRmlsdGVyXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZVwnKS5nZXQocmVxdWVzdE1hcHBpbmdUeXBlKS5nZXQoXCd0b3BpY0ZpbHRlclwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvdG9waWMtZmlsdGVyX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iUmVxdWVzdFR5cGVFbnVtLkNPTk5FQ1RfUkVRVUVTVCI+XG4gICAgICAgICAgICAgICAgICA8dGItZGV2aWNlLWluZm8tdGFibGUgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VJbmZvIiBbZGV2aWNlSW5mb1R5cGVdPSJEZXZpY2VJbmZvVHlwZS5GVUxMIiByZXF1aXJlZD0idHJ1ZSI+XG4gICAgICAgICAgICAgICAgICA8L3RiLWRldmljZS1pbmZvLXRhYmxlPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJSZXF1ZXN0VHlwZUVudW0uRElTQ09OTkVDVF9SRVFVRVNUIj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1kZXZpY2UtaW5mby10YWJsZSBmb3JtQ29udHJvbE5hbWU9ImRldmljZUluZm8iIFtkZXZpY2VJbmZvVHlwZV09IkRldmljZUluZm9UeXBlLlBBUlRJQUwiIHJlcXVpcmVkPSJ0cnVlIj5cbiAgICAgICAgICAgICAgICAgIDwvdGItZGV2aWNlLWluZm8tdGFibGU+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IlJlcXVlc3RUeXBlRW51bS5BVFRSSUJVVEVfUkVRVUVTVCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5mcm9tLWRldmljZS1yZXF1ZXN0LXNldHRpbmdzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICBnYXRld2F5LmZyb20tZGV2aWNlLXJlcXVlc3Qtc2V0dGluZ3MtaGludFxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciIgZm9ybUdyb3VwTmFtZT0iZGV2aWNlSW5mbyI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItZmxleCBuby1mbGV4IGFsaWduLWNlbnRlciIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1pbmZvLmRldmljZS1uYW1lLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2UiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2Ygc291cmNlVHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgU291cmNlVHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1pbmZvLmRldmljZS1uYW1lLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSIobWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVJlcXVlc3RzLmRldmljZUluZm8uZGV2aWNlTmFtZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVJlcXVlc3RzLmRldmljZUluZm8uZGV2aWNlTmFtZUV4cHJlc3Npb25cJykudG91Y2hlZCkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZS1uYW1lLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYXR0cmlidXRlTmFtZUV4cHJlc3Npb25Tb3VyY2UiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2Ygc291cmNlVHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgU291cmNlVHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iYXR0cmlidXRlTmFtZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5hdHRyaWJ1dGUtbmFtZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy5hdHRyaWJ1dGVOYW1lRXhwcmVzc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVJlcXVlc3RzLmF0dHJpYnV0ZU5hbWVFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudG8tZGV2aWNlLXJlc3BvbnNlLXNldHRpbmdzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICBnYXRld2F5LnRvLWRldmljZS1yZXNwb25zZS1zZXR0aW5ncy1oaW50XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkucmVzcG9uc2UtdmFsdWUtZXhwcmVzc2lvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXNwb25zZS12YWx1ZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy52YWx1ZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy52YWx1ZUV4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkucmVzcG9uc2UtdG9waWMtZXhwcmVzc2lvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ0b3BpY0V4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXNwb25zZS10b3BpYy1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy50b3BpY0V4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy50b3BpY0V4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldGFpbiI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkucmV0YWluLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5yZXRhaW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJSZXF1ZXN0VHlwZUVudW0uQVRUUklCVVRFX1VQREFURSI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5kZXZpY2UtbmFtZS1maWx0ZXItaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVGaWx0ZXIiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy5kZXZpY2VOYW1lRmlsdGVyXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVVwZGF0ZXMuZGV2aWNlTmFtZUZpbHRlclwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5hdHRyaWJ1dGUtZmlsdGVyLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmF0dHJpYnV0ZS1maWx0ZXJcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iYXR0cmlidXRlRmlsdGVyIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmF0dHJpYnV0ZS1maWx0ZXItcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLmF0dHJpYnV0ZUZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVVwZGF0ZXMuYXR0cmlidXRlRmlsdGVyXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5yZXNwb25zZS12YWx1ZS1leHByZXNzaW9uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InZhbHVlRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXNwb25zZS12YWx1ZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy52YWx1ZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLnZhbHVlRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlc3BvbnNlLXRvcGljLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idG9waWNFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnJlc3BvbnNlLXRvcGljLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLnRvcGljRXhwcmVzc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLnRvcGljRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBmaXhlZC10aXRsZS13aWR0aCIgZm9ybUNvbnRyb2xOYW1lPSJyZXRhaW4iPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5yZXRhaW4taGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5yZXRhaW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iUmVxdWVzdFR5cGVFbnVtLlNFUlZFUl9TSURFX1JQQyI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHJvdyBjZW50ZXIgYWxpZ24tY2VudGVyIG5vLWdhcCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIiBhcHBlYXJhbmNlPSJmaWxsIj5cbiAgICAgICAgICAgICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiBbdmFsdWVdPSJTZXJ2ZXJTaWRlUlBDVHlwZS5UV09fV0FZIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS53aXRoLXJlc3BvbnNlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gW3ZhbHVlXT0iU2VydmVyU2lkZVJQQ1R5cGUuT05FX1dBWSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkud2l0aG91dC1yZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5kZXZpY2UtbmFtZS1maWx0ZXItaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVGaWx0ZXIiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5kZXZpY2VOYW1lRmlsdGVyXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5kZXZpY2VOYW1lRmlsdGVyXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5Lm1ldGhvZC1maWx0ZXItaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubWV0aG9kLWZpbHRlclwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RGaWx0ZXIiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkubWV0aG9kLWZpbHRlci1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMubWV0aG9kRmlsdGVyXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5tZXRob2RGaWx0ZXJcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlcXVlc3QtdG9waWMtZXhwcmVzc2lvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0VG9waWNFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnJlcXVlc3QtdG9waWMtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMucmVxdWVzdFRvcGljRXhwcmVzc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMucmVxdWVzdFRvcGljRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnZhbHVlLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnZhbHVlLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnZhbHVlRXhwcmVzc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMudmFsdWVFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnR5cGVcJykudmFsdWUgPT09IFNlcnZlclNpZGVSUENUeXBlLlRXT19XQVkiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkucmVzcG9uc2UtdG9waWMtZXhwcmVzc2lvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRvcGljRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnJlc3BvbnNlLXRvcGljLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMucmVzcG9uc2VUb3BpY0V4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlc3BvbnNlVG9waWNFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkucmVzcG9uc2UtdG9waWMtUW9zLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmVzcG9uc2UtdG9waWMtUW9zXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InJlc3BvbnNlVG9waWNRb1MiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHF1YWxpdHlUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgUXVhbGl0eVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkucmVzcG9uc2UtdGltZW91dDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgdHlwZT0ibnVtYmVyIiBtaW49IjEiIGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUaW1lb3V0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJyZXNwb25zZVRpbWVvdXRFcnJvclRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iKG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlc3BvbnNlVGltZW91dFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlc3BvbnNlVGltZW91dFwnKS5oYXNFcnJvcihcJ21pblwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMucmVzcG9uc2VUaW1lb3V0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJNYXBwaW5nVHlwZS5PUENVQSI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1mbGV4IGFsaWduLWNlbnRlciIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5kZXZpY2Utbm9kZS1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5kZXZpY2Utbm9kZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGRldmljZS1jb25maWciPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTm9kZVNvdXJjZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIFtPUENVYVNvdXJjZVR5cGVzRW51bS5QQVRILCBPUENVYVNvdXJjZVR5cGVzRW51bS5JREVOVElGSUVSXSIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGRldmljZS1ub2RlLXBhdHRlcm4tZmllbGQiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5vZGVQYXR0ZXJuIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2Utbm9kZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihtYXBwaW5nRm9ybS5nZXQoXCdkZXZpY2VOb2RlUGF0dGVyblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwnZGV2aWNlTm9kZVBhdHRlcm5cJykudG91Y2hlZCkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ2RldmljZS1ub2RlXCcgfCBnZXRHYXRld2F5SGVscExpbms6IG1hcHBpbmdGb3JtLmdldChcJ2RldmljZU5vZGVTb3VyY2VcJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDx0Yi1kZXZpY2UtaW5mby10YWJsZSBmb3JtQ29udHJvbE5hbWU9ImRldmljZUluZm8iIFtzb3VyY2VUeXBlc109Ik9QQ1VhU291cmNlVHlwZXMiIFtkZXZpY2VJbmZvVHlwZV09IkRldmljZUluZm9UeXBlLkZVTEwiIHJlcXVpcmVkPSJ0cnVlIj5cbiAgICAgICAgICA8L3RiLWRldmljZS1pbmZvLXRhYmxlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuYXR0cmlidXRlczwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgICAgICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0ib3BjQXR0cmlidXRlcyIgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCBhdHRyaWJ1dGUgb2Ygb3BjQXR0cmlidXRlcyI+XG4gICAgICAgICAgICAgICAgICB7eyBhdHRyaWJ1dGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgI29wY0F0dHJpYnV0ZXNCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgb3BjQXR0cmlidXRlc0J1dHRvbiwgTWFwcGluZ0tleXNUeXBlLkFUVFJJQlVURVMpIj5cbiAgICAgICAgICAgICAgICA8dGItaWNvbiBtYXRCdXR0b25JY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4Ij5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50aW1lc2VyaWVzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0Ym94IGNsYXNzPSJ0Yi1mbGV4IiBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0ib3BjVGVsZW1ldHJ5Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgdGVsZW1ldHJ5IG9mIG9wY1RlbGVtZXRyeSI+XG4gICAgICAgICAgICAgICAgICB7eyB0ZWxlbWV0cnkgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgI29wY1RlbGVtZXRyeUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZUtleXMoJGV2ZW50LCBvcGNUZWxlbWV0cnlCdXR0b24sIE1hcHBpbmdLZXlzVHlwZS5USU1FU0VSSUVTKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuYXR0cmlidXRlLXVwZGF0ZXM8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggZWxsaXBzaXMtY2hpcHMtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09Im9wY0F0dHJpYnV0ZXNVcGRhdGVzIiBjbGFzcz0idGItZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZSBvZiBvcGNBdHRyaWJ1dGVzVXBkYXRlcyI+XG4gICAgICAgICAgICAgICAgICB7eyBhdHRyaWJ1dGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgI2F0dHJpYnV0ZXNVcGRhdGVzQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIGF0dHJpYnV0ZXNVcGRhdGVzQnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuQVRUUklCVVRFU19VUERBVEVTKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucnBjLW1ldGhvZHM8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggZWxsaXBzaXMtY2hpcHMtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09Im9wY1JwY01ldGhvZHMiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgYXR0cmlidXRlIG9mIG9wY1JwY01ldGhvZHMiPlxuICAgICAgICAgICAgICAgICAge3sgYXR0cmlidXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICNycGNNZXRob2RzQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIHJwY01ldGhvZHNCdXR0b24sIE1hcHBpbmdLZXlzVHlwZS5SUENfTUVUSE9EUykiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5jYW5jZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAoY2xpY2spPSJhZGQoKSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09Im1hcHBpbmdGb3JtLmludmFsaWQgfHwgIW1hcHBpbmdGb3JtLmRpcnR5IHx8ICFrZXlzUG9wdXBDbG9zZWQiPlxuICAgICAge3sgdGhpcy5kYXRhLmJ1dHRvblRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7ZGlzcGxheTpncmlkO2hlaWdodDoxMDAlfTpob3N0IC5rZXktbWFwcGluZ3ttYXgtd2lkdGg6OTAwcHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn06aG9zdCAua2V5LW1hcHBpbmcgLm1hdC10b29sYmFye21pbi1oZWlnaHQ6NjRweH06aG9zdCAua2V5LW1hcHBpbmcgdGItdG9nZ2xlLXNlbGVjdHtwYWRkaW5nOjRweCAwfTpob3N0IC5tYXQtbWRjLWRpYWxvZy1jb250ZW50e2hlaWdodDo2NzBweH06aG9zdCAuZWxsaXBzaXMtY2hpcHMtY29udGFpbmVye21heC13aWR0aDo3MCV9Omhvc3QgOjpuZy1kZWVwIC5rZXktbWFwcGluZyAubWF0LW1kYy1jaGlwLWxpc3Rib3ggLm1kYy1ldm9sdXRpb24tY2hpcC1zZXRfX2NoaXBze2p1c3RpZnktY29udGVudDpmbGV4LWVuZDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleC13cmFwOm5vd3JhcH06aG9zdCA6Om5nLWRlZXAgLnRiLWZvcm0tcm93IC5maXhlZC10aXRsZS13aWR0aHttaW4td2lkdGg6NDBweDt3aWR0aDozNSU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfTpob3N0IDo6bmctZGVlcCAudGItZm9ybS1yb3cgLm1hdC1tZGMtZm9ybS1maWVsZHt3aWR0aDowfTpob3N0IDo6bmctZGVlcCAuc2VlLWV4YW1wbGV7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDttYXJnaW46NHB4fTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH06aG9zdCA6Om5nLWRlZXAgLmRldmljZS1jb25maWd7Z2FwOjEycHg7cGFkZGluZy1sZWZ0OjEwcHg7cGFkZGluZy1yaWdodDoxMHB4fTpob3N0IDo6bmctZGVlcCAuZGV2aWNlLW5vZGUtcGF0dGVybi1maWVsZHtmbGV4LWJhc2lzOjMlfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6b3QuU3RvcmV9LHt0eXBlOml0LlJvdXRlcn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOnAsYXJnczpbWGVdfV19LHt0eXBlOkplLk1hdERpYWxvZ1JlZn0se3R5cGU6bWUuRm9ybUJ1aWxkZXJ9LHt0eXBlOmZ0LlRiUG9wb3ZlclNlcnZpY2V9LHt0eXBlOnQuUmVuZGVyZXIyfSx7dHlwZTp0LlZpZXdDb250YWluZXJSZWZ9LHt0eXBlOlkuVHJhbnNsYXRlU2VydmljZX1dfSk7Y2xhc3Mgcm97c2V0IG1hcHBpbmdUeXBlKGUpe3RoaXMubWFwcGluZ1R5cGVWYWx1ZSE9PWUmJih0aGlzLm1hcHBpbmdUeXBlVmFsdWU9ZSl9Z2V0IG1hcHBpbmdUeXBlKCl7cmV0dXJuIHRoaXMubWFwcGluZ1R5cGVWYWx1ZX1jb25zdHJ1Y3RvcihlLHQsbixhKXt0aGlzLnRyYW5zbGF0ZT1lLHRoaXMuZGlhbG9nPXQsdGhpcy5kaWFsb2dTZXJ2aWNlPW4sdGhpcy5mYj1hLHRoaXMucmVxdWlyZWQ9ITEsdGhpcy5tYXBwaW5nVHlwZVRyYW5zbGF0aW9uc01hcD15bix0aGlzLm1hcHBpbmdUeXBlRW51bT1mbix0aGlzLmRpc3BsYXllZENvbHVtbnM9W10sdGhpcy5tYXBwaW5nQ29sdW1ucz1bXSx0aGlzLnRleHRTZWFyY2hNb2RlPSExLHRoaXMuaGlkZVBhZ2VTaXplPSExLHRoaXMuYWN0aXZlVmFsdWU9ITEsdGhpcy5kaXJ0eVZhbHVlPSExLHRoaXMudGV4dFNlYXJjaD10aGlzLmZiLmNvbnRyb2woIiIse25vbk51bGxhYmxlOiEwfSksdGhpcy5vbkNoYW5nZT0oKT0+e30sdGhpcy5vblRvdWNoZWQ9KCk9Pnt9LHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMubWFwcGluZ0Zvcm1Hcm91cD10aGlzLmZiLmFycmF5KFtdKSx0aGlzLmRpcnR5VmFsdWU9IXRoaXMuYWN0aXZlVmFsdWUsdGhpcy5kYXRhU291cmNlPW5ldyBzb31uZ09uSW5pdCgpe3RoaXMuc2V0TWFwcGluZ0NvbHVtbnMoKSx0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaCguLi50aGlzLm1hcHBpbmdDb2x1bW5zLm1hcCgoZT0+ZS5kZWYpKSwiYWN0aW9ucyIpLHRoaXMubWFwcGluZ0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy51cGRhdGVUYWJsZURhdGEoZSksdGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMudGV4dFNlYXJjaC52YWx1ZUNoYW5nZXMucGlwZShWZSgxNTApLEJlKCgoZSx0KT0+KGU/PyIiKT09PXQudHJpbSgpKSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2NvbnN0IHQ9ZS50cmltKCk7dGhpcy51cGRhdGVUYWJsZURhdGEodGhpcy5tYXBwaW5nRm9ybUdyb3VwLnZhbHVlLHQudHJpbSgpKX0pKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMub25DaGFuZ2U9ZX1yZWdpc3Rlck9uVG91Y2hlZChlKXt0aGlzLm9uVG91Y2hlZD1lfXdyaXRlVmFsdWUoZSl7dGhpcy5tYXBwaW5nRm9ybUdyb3VwLmNsZWFyKCksdGhpcy5wdXNoRGF0YUFzRm9ybUFycmF5cyhlKX12YWxpZGF0ZSgpe3JldHVybiF0aGlzLnJlcXVpcmVkfHx0aGlzLm1hcHBpbmdGb3JtR3JvdXAuY29udHJvbHMubGVuZ3RoP251bGw6e21hcHBpbmdGb3JtR3JvdXA6e3ZhbGlkOiExfX19ZW50ZXJGaWx0ZXJNb2RlKCl7dGhpcy50ZXh0U2VhcmNoTW9kZT0hMCxzZXRUaW1lb3V0KCgoKT0+e3RoaXMuc2VhcmNoSW5wdXRGaWVsZC5uYXRpdmVFbGVtZW50LmZvY3VzKCksdGhpcy5zZWFyY2hJbnB1dEZpZWxkLm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoMCwwKX0pLDEwKX1leGl0RmlsdGVyTW9kZSgpe3RoaXMudXBkYXRlVGFibGVEYXRhKHRoaXMubWFwcGluZ0Zvcm1Hcm91cC52YWx1ZSksdGhpcy50ZXh0U2VhcmNoTW9kZT0hMSx0aGlzLnRleHRTZWFyY2gucmVzZXQoKX1tYW5hZ2VNYXBwaW5nKGUsdCl7ZSYmZS5zdG9wUHJvcGFnYXRpb24oKTtjb25zdCBuPWllKHQpP3RoaXMubWFwcGluZ0Zvcm1Hcm91cC5hdCh0KS52YWx1ZTp7fTt0aGlzLmRpYWxvZy5vcGVuKGlvLHtkaXNhYmxlQ2xvc2U6ITAscGFuZWxDbGFzczpbInRiLWRpYWxvZyIsInRiLWZ1bGxzY3JlZW4tZGlhbG9nIl0sZGF0YTp7bWFwcGluZ1R5cGU6dGhpcy5tYXBwaW5nVHlwZSx2YWx1ZTpuLGJ1dHRvblRpdGxlOnJlKHQpPyJhY3Rpb24uYWRkIjoiYWN0aW9uLmFwcGx5In19KS5hZnRlckNsb3NlZCgpLnBpcGUoT2UoMSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2UmJihpZSh0KT90aGlzLm1hcHBpbmdGb3JtR3JvdXAuYXQodCkucGF0Y2hWYWx1ZShlKTp0aGlzLnB1c2hEYXRhQXNGb3JtQXJyYXlzKFtlXSksdGhpcy5tYXBwaW5nRm9ybUdyb3VwLm1hcmtBc0RpcnR5KCkpfSkpfXVwZGF0ZVRhYmxlRGF0YShlLHQpe2xldCBuPWUubWFwKChlPT50aGlzLmdldE1hcHBpbmdWYWx1ZShlKSkpO3QmJihuPW4uZmlsdGVyKChlPT5PYmplY3QudmFsdWVzKGUpLnNvbWUoKGU9PmUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHQudG9Mb3dlckNhc2UoKSkpKSkpKSx0aGlzLmRhdGFTb3VyY2UubG9hZERhdGEobil9ZGVsZXRlTWFwcGluZyhlLHQpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0odGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5kZWxldGUtbWFwcGluZy10aXRsZSIpLCIiLHRoaXMudHJhbnNsYXRlLmluc3RhbnQoImFjdGlvbi5ubyIpLHRoaXMudHJhbnNsYXRlLmluc3RhbnQoImFjdGlvbi55ZXMiKSwhMCkuc3Vic2NyaWJlKChlPT57ZSYmKHRoaXMubWFwcGluZ0Zvcm1Hcm91cC5yZW1vdmVBdCh0KSx0aGlzLm1hcHBpbmdGb3JtR3JvdXAubWFya0FzRGlydHkoKSl9KSl9cHVzaERhdGFBc0Zvcm1BcnJheXMoZSl7ZT8ubGVuZ3RoJiZlLmZvckVhY2goKGU9PnRoaXMubWFwcGluZ0Zvcm1Hcm91cC5wdXNoKHRoaXMuZmIuY29udHJvbChlKSkpKX1nZXRNYXBwaW5nVmFsdWUoZSl7c3dpdGNoKHRoaXMubWFwcGluZ1R5cGUpe2Nhc2UgZm4uREFUQTpjb25zdCB0PUNuLmdldChlLmNvbnZlcnRlcj8udHlwZSk7cmV0dXJue3RvcGljRmlsdGVyOmUudG9waWNGaWx0ZXIsUW9TOmUuc3Vic2NyaXB0aW9uUW9zLGNvbnZlcnRlcjp0P3RoaXMudHJhbnNsYXRlLmluc3RhbnQodCk6IiJ9O2Nhc2UgZm4uUkVRVUVTVFM6bGV0IG47Y29uc3QgYT1lO3JldHVybiBuPWEucmVxdWVzdFR5cGU9PT1Jbi5BVFRSSUJVVEVfVVBEQVRFP2EucmVxdWVzdFZhbHVlLmF0dHJpYnV0ZUZpbHRlcjphLnJlcXVlc3RUeXBlPT09SW4uU0VSVkVSX1NJREVfUlBDP2EucmVxdWVzdFZhbHVlLm1ldGhvZEZpbHRlcjphLnJlcXVlc3RWYWx1ZS50b3BpY0ZpbHRlcix7cmVxdWVzdFR5cGU6ZS5yZXF1ZXN0VHlwZSx0eXBlOnRoaXMudHJhbnNsYXRlLmluc3RhbnQoQW4uZ2V0KGUucmVxdWVzdFR5cGUpKSxkZXRhaWxzOm59O2Nhc2UgZm4uT1BDVUE6Y29uc3Qgbz1lLmRldmljZUluZm8/LmRldmljZU5hbWVFeHByZXNzaW9uLGk9ZS5kZXZpY2VJbmZvPy5kZXZpY2VQcm9maWxlRXhwcmVzc2lvbix7ZGV2aWNlTm9kZVBhdHRlcm46cn09ZTtyZXR1cm57ZGV2aWNlTm9kZVBhdHRlcm46cixkZXZpY2VOYW1lUGF0dGVybjpvLGRldmljZVByb2ZpbGVFeHByZXNzaW9uOml9O2RlZmF1bHQ6cmV0dXJue319fXNldE1hcHBpbmdDb2x1bW5zKCl7c3dpdGNoKHRoaXMubWFwcGluZ1R5cGUpe2Nhc2UgZm4uREFUQTp0aGlzLm1hcHBpbmdDb2x1bW5zLnB1c2goe2RlZjoidG9waWNGaWx0ZXIiLHRpdGxlOiJnYXRld2F5LnRvcGljLWZpbHRlciJ9LHtkZWY6IlFvUyIsdGl0bGU6ImdhdGV3YXkubXF0dC1xb3MifSx7ZGVmOiJjb252ZXJ0ZXIiLHRpdGxlOiJnYXRld2F5LnBheWxvYWQtdHlwZSJ9KTticmVhaztjYXNlIGZuLlJFUVVFU1RTOnRoaXMubWFwcGluZ0NvbHVtbnMucHVzaCh7ZGVmOiJ0eXBlIix0aXRsZToiZ2F0ZXdheS50eXBlIn0se2RlZjoiZGV0YWlscyIsdGl0bGU6ImdhdGV3YXkuZGV0YWlscyJ9KTticmVhaztjYXNlIGZuLk9QQ1VBOnRoaXMubWFwcGluZ0NvbHVtbnMucHVzaCh7ZGVmOiJkZXZpY2VOb2RlUGF0dGVybiIsdGl0bGU6ImdhdGV3YXkuZGV2aWNlLW5vZGUifSx7ZGVmOiJkZXZpY2VOYW1lUGF0dGVybiIsdGl0bGU6ImdhdGV3YXkuZGV2aWNlLW5hbWUifSx7ZGVmOiJkZXZpY2VQcm9maWxlRXhwcmVzc2lvbiIsdGl0bGU6ImdhdGV3YXkuZGV2aWNlLXByb2ZpbGUifSl9fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6cm8sZGVwczpbe3Rva2VuOlkuVHJhbnNsYXRlU2VydmljZX0se3Rva2VuOkplLk1hdERpYWxvZ30se3Rva2VuOlguRGlhbG9nU2VydmljZX0se3Rva2VuOm1lLkZvcm1CdWlsZGVyfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpybyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1hcHBpbmctdGFibGUiLGlucHV0czp7cmVxdWlyZWQ6InJlcXVpcmVkIixtYXBwaW5nVHlwZToibWFwcGluZ1R5cGUifSxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5ybykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+cm8pKSxtdWx0aTohMH1dLHZpZXdRdWVyaWVzOlt7cHJvcGVydHlOYW1lOiJzZWFyY2hJbnB1dEZpZWxkIixmaXJzdDohMCxwcmVkaWNhdGU6WyJzZWFyY2hJbnB1dCJdLGRlc2NlbmRhbnRzOiEwfV0sbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLW1hcHBpbmctdGFibGUgdGItYWJzb2x1dGUtZmlsbCI+XG4gIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJjb2x1bW4iIGNsYXNzPSJ0Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQiPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIiBbZnhTaG93XT0iIXRleHRTZWFyY2hNb2RlIj5cbiAgICAgIDxkaXYgY2xhc3M9Im1hdC10b29sYmFyLXRvb2xzIiAqbmdJZj0iKGRhdGFTb3VyY2UuaXNFbXB0eSgpIHwgYXN5bmMpID09PSBmYWxzZSI+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0ic3RhcnQgY2VudGVyIiBmeExheW91dC54cz0iY29sdW1uIiBmeExheW91dEFsaWduLnhzPSJjZW50ZXIgc3RhcnQiIGNsYXNzPSJ0aXRsZS1jb250YWluZXIiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Yi1tYXBwaW5nLXRhYmxlLXRpdGxlIj57e21hcHBpbmdUeXBlVHJhbnNsYXRpb25zTWFwLmdldChtYXBwaW5nVHlwZSkgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlTWFwcGluZygkZXZlbnQpIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmFkZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPSJlbnRlckZpbHRlck1vZGUoKSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5zZWFyY2hcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICA8bWF0LWljb24+c2VhcmNoPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC10b29sYmFyPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIiBbZnhTaG93XT0idGV4dFNlYXJjaE1vZGUiPlxuICAgICAgPGRpdiBjbGFzcz0ibWF0LXRvb2xiYXItdG9vbHMiPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLnNlYXJjaFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPiZuYnNwOzwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCAjc2VhcmNoSW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT0idGV4dFNlYXJjaCJcbiAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnY29tbW9uLmVudGVyLXNlYXJjaFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9ImV4aXRGaWx0ZXJNb2RlKCkiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uY2xvc2VcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXRvb2xiYXI+XG4gICAgPGRpdiBjbGFzcz0idGFibGUtY29udGFpbmVyIj5cbiAgICAgIDx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPSJkYXRhU291cmNlIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT0iY29sdW1uLmRlZiIgKm5nRm9yPSJsZXQgY29sdW1uIG9mIG1hcHBpbmdDb2x1bW5zOyBsZXQgaSA9IGluZGV4Ij5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MucmVxdWVzdC1jb2x1bW5dPSJtYXBwaW5nVHlwZSA9PT0gbWFwcGluZ1R5cGVFbnVtLlJFUVVFU1RTIj5cbiAgICAgICAgICAgIHt7IGNvbHVtbi50aXRsZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCB0YlRydW5jYXRlV2l0aFRvb2x0aXAgKm1hdENlbGxEZWY9ImxldCBtYXBwaW5nIiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MucmVxdWVzdC1jb2x1bW5dPSJtYXBwaW5nVHlwZSA9PT0gbWFwcGluZ1R5cGVFbnVtLlJFUVVFU1RTIj5cbiAgICAgICAgICAgIHt7IG1hcHBpbmdbY29sdW1uLmRlZl0gfX1cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9ImFjdGlvbnMiIHN0aWNreUVuZD5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZS5ndC1tZF09InsgbWluV2lkdGg6IFwnOTZweFwnLCBtYXhXaWR0aDogXCc5NnB4XCcsIHdpZHRoOiBcJzk2cHhcJywgdGV4dEFsaWduOiBcJ2NlbnRlclwnfSI+XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgbWFwcGluZzsgbGV0IGkgPSBpbmRleCJcbiAgICAgICAgICAgICAgICAgICAgW25nU3R5bGUuZ3QtbWRdPSJ7IG1pbldpZHRoOiBcJzk2cHhcJywgbWF4V2lkdGg6IFwnOTZweFwnLCB3aWR0aDogXCc5NnB4XCd9Ij5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcm93QWN0aW9ucz5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VNYXBwaW5nKCRldmVudCwgaSkiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmRlbGV0ZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlTWFwcGluZygkZXZlbnQsIGkpIj5cbiAgICAgICAgICAgICAgICA8dGItaWNvbj5kZWxldGU8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxkaXYgZnhIaWRlIGZ4U2hvdy5ndC1tZCBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09InJvd0FjdGlvbnMiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGZ4SGlkZSBmeFNob3cubHQtbGcgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0QWxpZ249ImVuZCI+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09ImNlbGxBY3Rpb25zTWVudSI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxtYXQtbWVudSAjY2VsbEFjdGlvbnNNZW51PSJtYXRNZW51IiB4UG9zaXRpb249ImJlZm9yZSI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09InJvd0FjdGlvbnMiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxtYXQtaGVhZGVyLXJvdyBbbmdDbGFzc109IntcJ21hdC1yb3ctc2VsZWN0XCc6IHRydWV9IiAqbWF0SGVhZGVyUm93RGVmPSJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWUiPjwvbWF0LWhlYWRlci1yb3c+XG4gICAgICAgIDxtYXQtcm93ICptYXRSb3dEZWY9ImxldCBtYXBwaW5nOyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyI+PC9tYXQtcm93PlxuICAgICAgPC90YWJsZT5cbiAgICAgIDxzZWN0aW9uIFtmeFNob3ddPSIhdGV4dFNlYXJjaE1vZGUgJiYgKGRhdGFTb3VyY2UuaXNFbXB0eSgpIHwgYXN5bmMpIiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgICAgICAgY2xhc3M9Im1hdC1oZWFkbGluZS01IHRiLWFic29sdXRlLWZpbGwgdGItYWRkLW5ldyI+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjbGFzcz0iY29ubmVjdG9yIlxuICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZU1hcHBpbmcoJGV2ZW50KSI+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJ0Yi1tYXQtOTYiPmFkZDwvbWF0LWljb24+XG4gICAgICAgICAgPHNwYW4+e3sgXCdnYXRld2F5LmFkZC1tYXBwaW5nXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9zZWN0aW9uPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSAmJiAoZGF0YVNvdXJjZS5pc0VtcHR5KCkgfCBhc3luYykiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCIgdHJhbnNsYXRlPlxuICAgICAgd2lkZ2V0Lm5vLWRhdGEtZm91bmRcbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnR7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOiNmZmY7b3ZlcmZsb3c6aGlkZGVufTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQudGItb3V0bGluZWQtYm9yZGVye2JveC1zaGFkb3c6MCAwICMwMDAzLDAgMCAjMDAwMDAwMjQsMCAwICMwMDAwMDAxZjtib3JkZXI6c29saWQgMXB4ICNlMGUwZTA7Ym9yZGVyLXJhZGl1czo0cHh9Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAubWF0LXRvb2xiYXItdG9vbHN7bWluLWhlaWdodDphdXRvfTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQgLnRpdGxlLWNvbnRhaW5lcntvdmVyZmxvdzpoaWRkZW59Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAudGItbWFwcGluZy10YWJsZS10aXRsZXtwYWRkaW5nLXJpZ2h0OjIwcHg7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lcntvdmVyZmxvdzphdXRvfTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lciAubWF0LW1kYy10YWJsZXt0YWJsZS1sYXlvdXQ6Zml4ZWQ7bWluLXdpZHRoOjQ1MHB4fTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lciAubWF0LW1kYy10YWJsZSAudGFibGUtdmFsdWUtY29sdW1ue3BhZGRpbmc6MCAxMnB4O3dpZHRoOjIzJX06aG9zdCAudGItbWFwcGluZy10YWJsZSAudGItbWFwcGluZy10YWJsZS1jb250ZW50IC50YWJsZS1jb250YWluZXIgLm1hdC1tZGMtdGFibGUgLnRhYmxlLXZhbHVlLWNvbHVtbi5yZXF1ZXN0LWNvbHVtbnt3aWR0aDozOCV9Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAuZWxsaXBzaXN7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Omhvc3QgLm5vLWRhdGEtZm91bmR7aGVpZ2h0OmNhbGMoMTAwJSAtIDEyMHB4KX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCl7Omhvc3QgLm1hdC10b29sYmFye2hlaWdodDphdXRvO21pbi1oZWlnaHQ6MTAwcHh9Omhvc3QgLm1hdC10b29sYmFyIC50Yi1tYXBwaW5nLXRhYmxlLXRpdGxle3BhZGRpbmctYm90dG9tOjVweDt3aWR0aDoxMDAlfX06aG9zdCA6Om5nLWRlZXAgbWF0LWNlbGwudGItdmFsdWUtY2VsbHtjdXJzb3I6cG9pbnRlcn06aG9zdCA6Om5nLWRlZXAgbWF0LWNlbGwudGItdmFsdWUtY2VsbCAubWF0LWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDtmb250LXNpemU6MjRweDtjb2xvcjojNzU3NTc1fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nQ2xhc3Msc2VsZWN0b3I6IltuZ0NsYXNzXSIsaW5wdXRzOlsiY2xhc3MiLCJuZ0NsYXNzIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdUZW1wbGF0ZU91dGxldCxzZWxlY3RvcjoiW25nVGVtcGxhdGVPdXRsZXRdIixpbnB1dHM6WyJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCIsIm5nVGVtcGxhdGVPdXRsZXQiLCJuZ1RlbXBsYXRlT3V0bGV0SW5qZWN0b3IiXX0se2tpbmQ6InBpcGUiLHR5cGU6Xy5Bc3luY1BpcGUsbmFtZToiYXN5bmMifSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnJ0Lk1hdFRvb2xiYXIsc2VsZWN0b3I6Im1hdC10b29sYmFyIixpbnB1dHM6WyJjb2xvciJdLGV4cG9ydEFzOlsibWF0VG9vbGJhciJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmh0Lk1hdE1lbnUsc2VsZWN0b3I6Im1hdC1tZW51IixpbnB1dHM6WyJiYWNrZHJvcENsYXNzIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImFyaWEtZGVzY3JpYmVkYnkiLCJ4UG9zaXRpb24iLCJ5UG9zaXRpb24iLCJvdmVybGFwVHJpZ2dlciIsImhhc0JhY2tkcm9wIiwiY2xhc3MiLCJjbGFzc0xpc3QiXSxvdXRwdXRzOlsiY2xvc2VkIiwiY2xvc2UiXSxleHBvcnRBczpbIm1hdE1lbnUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpodC5NYXRNZW51VHJpZ2dlcixzZWxlY3RvcjoiW21hdC1tZW51LXRyaWdnZXItZm9yXSwgW21hdE1lbnVUcmlnZ2VyRm9yXSIsaW5wdXRzOlsibWF0LW1lbnUtdHJpZ2dlci1mb3IiLCJtYXRNZW51VHJpZ2dlckZvciIsIm1hdE1lbnVUcmlnZ2VyRGF0YSIsIm1hdE1lbnVUcmlnZ2VyUmVzdG9yZUZvY3VzIl0sb3V0cHV0czpbIm1lbnVPcGVuZWQiLCJvbk1lbnVPcGVuIiwibWVudUNsb3NlZCIsIm9uTWVudUNsb3NlIl0sZXhwb3J0QXM6WyJtYXRNZW51VHJpZ2dlciJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmIuTWF0VGFibGUsc2VsZWN0b3I6Im1hdC10YWJsZSwgdGFibGVbbWF0LXRhYmxlXSIsZXhwb3J0QXM6WyJtYXRUYWJsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0SGVhZGVyQ2VsbERlZixzZWxlY3RvcjoiW21hdEhlYWRlckNlbGxEZWZdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlclJvd0RlZixzZWxlY3RvcjoiW21hdEhlYWRlclJvd0RlZl0iLGlucHV0czpbIm1hdEhlYWRlclJvd0RlZiIsIm1hdEhlYWRlclJvd0RlZlN0aWNreSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Q29sdW1uRGVmLHNlbGVjdG9yOiJbbWF0Q29sdW1uRGVmXSIsaW5wdXRzOlsibWF0Q29sdW1uRGVmIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsRGVmLHNlbGVjdG9yOiJbbWF0Q2VsbERlZl0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Um93RGVmLHNlbGVjdG9yOiJbbWF0Um93RGVmXSIsaW5wdXRzOlsibWF0Um93RGVmQ29sdW1ucyIsIm1hdFJvd0RlZldoZW4iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlckNlbGwsc2VsZWN0b3I6Im1hdC1oZWFkZXItY2VsbCwgdGhbbWF0LWhlYWRlci1jZWxsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsLHNlbGVjdG9yOiJtYXQtY2VsbCwgdGRbbWF0LWNlbGxdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdEhlYWRlclJvdyxzZWxlY3RvcjoibWF0LWhlYWRlci1yb3csIHRyW21hdC1oZWFkZXItcm93XSIsZXhwb3J0QXM6WyJtYXRIZWFkZXJSb3ciXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdFJvdyxzZWxlY3RvcjoibWF0LXJvdywgdHJbbWF0LXJvd10iLGV4cG9ydEFzOlsibWF0Um93Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRBbGlnbkRpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRBbGlnbl0sIFtmeExheW91dEFsaWduLnhzXSwgW2Z4TGF5b3V0QWxpZ24uc21dLCBbZnhMYXlvdXRBbGlnbi5tZF0sICBbZnhMYXlvdXRBbGlnbi5sZ10sIFtmeExheW91dEFsaWduLnhsXSwgW2Z4TGF5b3V0QWxpZ24ubHQtc21dLCBbZnhMYXlvdXRBbGlnbi5sdC1tZF0sICBbZnhMYXlvdXRBbGlnbi5sdC1sZ10sIFtmeExheW91dEFsaWduLmx0LXhsXSwgW2Z4TGF5b3V0QWxpZ24uZ3QteHNdLCBbZnhMYXlvdXRBbGlnbi5ndC1zbV0sICBbZnhMYXlvdXRBbGlnbi5ndC1tZF0sIFtmeExheW91dEFsaWduLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRBbGlnbiIsImZ4TGF5b3V0QWxpZ24ueHMiLCJmeExheW91dEFsaWduLnNtIiwiZnhMYXlvdXRBbGlnbi5tZCIsImZ4TGF5b3V0QWxpZ24ubGciLCJmeExheW91dEFsaWduLnhsIiwiZnhMYXlvdXRBbGlnbi5sdC1zbSIsImZ4TGF5b3V0QWxpZ24ubHQtbWQiLCJmeExheW91dEFsaWduLmx0LWxnIiwiZnhMYXlvdXRBbGlnbi5sdC14bCIsImZ4TGF5b3V0QWxpZ24uZ3QteHMiLCJmeExheW91dEFsaWduLmd0LXNtIiwiZnhMYXlvdXRBbGlnbi5ndC1tZCIsImZ4TGF5b3V0QWxpZ24uZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRGbGV4RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeEZsZXhdLCBbZnhGbGV4LnhzXSwgW2Z4RmxleC5zbV0sIFtmeEZsZXgubWRdLCAgW2Z4RmxleC5sZ10sIFtmeEZsZXgueGxdLCBbZnhGbGV4Lmx0LXNtXSwgW2Z4RmxleC5sdC1tZF0sICBbZnhGbGV4Lmx0LWxnXSwgW2Z4RmxleC5sdC14bF0sIFtmeEZsZXguZ3QteHNdLCBbZnhGbGV4Lmd0LXNtXSwgIFtmeEZsZXguZ3QtbWRdLCBbZnhGbGV4Lmd0LWxnXSIsaW5wdXRzOlsiZnhGbGV4IiwiZnhGbGV4LnhzIiwiZnhGbGV4LnNtIiwiZnhGbGV4Lm1kIiwiZnhGbGV4LmxnIiwiZnhGbGV4LnhsIiwiZnhGbGV4Lmx0LXNtIiwiZnhGbGV4Lmx0LW1kIiwiZnhGbGV4Lmx0LWxnIiwiZnhGbGV4Lmx0LXhsIiwiZnhGbGV4Lmd0LXhzIiwiZnhGbGV4Lmd0LXNtIiwiZnhGbGV4Lmd0LW1kIiwiZnhGbGV4Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Sy5EZWZhdWx0U2hvd0hpZGVEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4U2hvd10sIFtmeFNob3cucHJpbnRdLCAgW2Z4U2hvdy54c10sIFtmeFNob3cuc21dLCBbZnhTaG93Lm1kXSwgW2Z4U2hvdy5sZ10sIFtmeFNob3cueGxdLCAgW2Z4U2hvdy5sdC1zbV0sIFtmeFNob3cubHQtbWRdLCBbZnhTaG93Lmx0LWxnXSwgW2Z4U2hvdy5sdC14bF0sICBbZnhTaG93Lmd0LXhzXSwgW2Z4U2hvdy5ndC1zbV0sIFtmeFNob3cuZ3QtbWRdLCBbZnhTaG93Lmd0LWxnXSwgIFtmeEhpZGVdLCBbZnhIaWRlLnByaW50XSwgIFtmeEhpZGUueHNdLCBbZnhIaWRlLnNtXSwgW2Z4SGlkZS5tZF0sIFtmeEhpZGUubGddLCBbZnhIaWRlLnhsXSwgIFtmeEhpZGUubHQtc21dLCBbZnhIaWRlLmx0LW1kXSwgW2Z4SGlkZS5sdC1sZ10sIFtmeEhpZGUubHQteGxdLCAgW2Z4SGlkZS5ndC14c10sIFtmeEhpZGUuZ3Qtc21dLCBbZnhIaWRlLmd0LW1kXSwgW2Z4SGlkZS5ndC1sZ10iLGlucHV0czpbImZ4U2hvdyIsImZ4U2hvdy5wcmludCIsImZ4U2hvdy54cyIsImZ4U2hvdy5zbSIsImZ4U2hvdy5tZCIsImZ4U2hvdy5sZyIsImZ4U2hvdy54bCIsImZ4U2hvdy5sdC1zbSIsImZ4U2hvdy5sdC1tZCIsImZ4U2hvdy5sdC1sZyIsImZ4U2hvdy5sdC14bCIsImZ4U2hvdy5ndC14cyIsImZ4U2hvdy5ndC1zbSIsImZ4U2hvdy5ndC1tZCIsImZ4U2hvdy5ndC1sZyIsImZ4SGlkZSIsImZ4SGlkZS5wcmludCIsImZ4SGlkZS54cyIsImZ4SGlkZS5zbSIsImZ4SGlkZS5tZCIsImZ4SGlkZS5sZyIsImZ4SGlkZS54bCIsImZ4SGlkZS5sdC1zbSIsImZ4SGlkZS5sdC1tZCIsImZ4SGlkZS5sdC1sZyIsImZ4SGlkZS5sdC14bCIsImZ4SGlkZS5ndC14cyIsImZ4SGlkZS5ndC1zbSIsImZ4SGlkZS5ndC1tZCIsImZ4SGlkZS5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOksuRGVmYXVsdENsYXNzRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtuZ0NsYXNzXSwgW25nQ2xhc3MueHNdLCBbbmdDbGFzcy5zbV0sIFtuZ0NsYXNzLm1kXSwgW25nQ2xhc3MubGddLCBbbmdDbGFzcy54bF0sICBbbmdDbGFzcy5sdC1zbV0sIFtuZ0NsYXNzLmx0LW1kXSwgW25nQ2xhc3MubHQtbGddLCBbbmdDbGFzcy5sdC14bF0sICBbbmdDbGFzcy5ndC14c10sIFtuZ0NsYXNzLmd0LXNtXSwgW25nQ2xhc3MuZ3QtbWRdLCBbbmdDbGFzcy5ndC1sZ10iLGlucHV0czpbIm5nQ2xhc3MiLCJuZ0NsYXNzLnhzIiwibmdDbGFzcy5zbSIsIm5nQ2xhc3MubWQiLCJuZ0NsYXNzLmxnIiwibmdDbGFzcy54bCIsIm5nQ2xhc3MubHQtc20iLCJuZ0NsYXNzLmx0LW1kIiwibmdDbGFzcy5sdC1sZyIsIm5nQ2xhc3MubHQteGwiLCJuZ0NsYXNzLmd0LXhzIiwibmdDbGFzcy5ndC1zbSIsIm5nQ2xhc3MuZ3QtbWQiLCJuZ0NsYXNzLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Sy5EZWZhdWx0U3R5bGVEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW25nU3R5bGVdLCAgW25nU3R5bGUueHNdLCBbbmdTdHlsZS5zbV0sIFtuZ1N0eWxlLm1kXSwgW25nU3R5bGUubGddLCBbbmdTdHlsZS54bF0sICBbbmdTdHlsZS5sdC1zbV0sIFtuZ1N0eWxlLmx0LW1kXSwgW25nU3R5bGUubHQtbGddLCBbbmdTdHlsZS5sdC14bF0sICBbbmdTdHlsZS5ndC14c10sIFtuZ1N0eWxlLmd0LXNtXSwgW25nU3R5bGUuZ3QtbWRdLCBbbmdTdHlsZS5ndC1sZ10iLGlucHV0czpbIm5nU3R5bGUiLCJuZ1N0eWxlLnhzIiwibmdTdHlsZS5zbSIsIm5nU3R5bGUubWQiLCJuZ1N0eWxlLmxnIiwibmdTdHlsZS54bCIsIm5nU3R5bGUubHQtc20iLCJuZ1N0eWxlLmx0LW1kIiwibmdTdHlsZS5sdC1sZyIsIm5nU3R5bGUubHQteGwiLCJuZ1N0eWxlLmd0LXhzIiwibmdTdHlsZS5ndC1zbSIsIm5nU3R5bGUuZ3QtbWQiLCJuZ1N0eWxlLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlllLlRydW5jYXRlV2l0aFRvb2x0aXBEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0b29sdGlwRW5hYmxlZCIsInBvc2l0aW9uIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlkuVHJhbnNsYXRlRGlyZWN0aXZlLHNlbGVjdG9yOiJbdHJhbnNsYXRlXSxbbmd4LXRyYW5zbGF0ZV0iLGlucHV0czpbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZVBhcmFtcyJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJ0LlRiSWNvbkNvbXBvbmVudCxzZWxlY3RvcjoidGItaWNvbiIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbInRiSWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlNhLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfV0sY2hhbmdlRGV0ZWN0aW9uOnQuQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNofSl9fWUoIk1hcHBpbmdUYWJsZUNvbXBvbmVudCIscm8pLEhlKFtOKCldLHJvLnByb3RvdHlwZSwicmVxdWlyZWQiLHZvaWQgMCksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpybyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItbWFwcGluZy10YWJsZSIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PnJvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5ybykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsU2FdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItbWFwcGluZy10YWJsZSB0Yi1hYnNvbHV0ZS1maWxsIj5cbiAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9ImNvbHVtbiIgY2xhc3M9InRiLW1hcHBpbmctdGFibGUtY29udGVudCI+XG4gICAgPG1hdC10b29sYmFyIGNsYXNzPSJtYXQtbWRjLXRhYmxlLXRvb2xiYXIiIFtmeFNob3ddPSIhdGV4dFNlYXJjaE1vZGUiPlxuICAgICAgPGRpdiBjbGFzcz0ibWF0LXRvb2xiYXItdG9vbHMiICpuZ0lmPSIoZGF0YVNvdXJjZS5pc0VtcHR5KCkgfCBhc3luYykgPT09IGZhbHNlIj5cbiAgICAgICAgPGRpdiBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJzdGFydCBjZW50ZXIiIGZ4TGF5b3V0LnhzPSJjb2x1bW4iIGZ4TGF5b3V0QWxpZ24ueHM9ImNlbnRlciBzdGFydCIgY2xhc3M9InRpdGxlLWNvbnRhaW5lciI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9InRiLW1hcHBpbmctdGFibGUtdGl0bGUiPnt7bWFwcGluZ1R5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KG1hcHBpbmdUeXBlKSB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gZnhGbGV4Pjwvc3Bhbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VNYXBwaW5nKCRldmVudCkiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uYWRkXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9ImVudGVyRmlsdGVyTW9kZSgpIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLnNlYXJjaFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXRvb2xiYXI+XG4gICAgPG1hdC10b29sYmFyIGNsYXNzPSJtYXQtbWRjLXRhYmxlLXRvb2xiYXIiIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSI+XG4gICAgICA8ZGl2IGNsYXNzPSJtYXQtdG9vbGJhci10b29scyI+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+Jm5ic3A7PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0ICNzZWFyY2hJbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPSJ0ZXh0U2VhcmNoIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdjb21tb24uZW50ZXItc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0iZXhpdEZpbHRlck1vZGUoKSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5jbG9zZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1jb250YWluZXIiPlxuICAgICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09ImRhdGFTb3VyY2UiPlxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPSJjb2x1bW4uZGVmIiAqbmdGb3I9ImxldCBjb2x1bW4gb2YgbWFwcGluZ0NvbHVtbnM7IGxldCBpID0gaW5kZXgiPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgY2xhc3M9InRhYmxlLXZhbHVlLWNvbHVtbiJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5yZXF1ZXN0LWNvbHVtbl09Im1hcHBpbmdUeXBlID09PSBtYXBwaW5nVHlwZUVudW0uUkVRVUVTVFMiPlxuICAgICAgICAgICAge3sgY29sdW1uLnRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCAqbWF0Q2VsbERlZj0ibGV0IG1hcHBpbmciIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5yZXF1ZXN0LWNvbHVtbl09Im1hcHBpbmdUeXBlID09PSBtYXBwaW5nVHlwZUVudW0uUkVRVUVTVFMiPlxuICAgICAgICAgICAge3sgbWFwcGluZ1tjb2x1bW4uZGVmXSB9fVxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iYWN0aW9ucyIgc3RpY2t5RW5kPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlLmd0LW1kXT0ieyBtaW5XaWR0aDogXCc5NnB4XCcsIG1heFdpZHRoOiBcJzk2cHhcJywgd2lkdGg6IFwnOTZweFwnLCB0ZXh0QWxpZ246IFwnY2VudGVyXCd9Ij5cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBtYXBwaW5nOyBsZXQgaSA9IGluZGV4IlxuICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZS5ndC1tZF09InsgbWluV2lkdGg6IFwnOTZweFwnLCBtYXhXaWR0aDogXCc5NnB4XCcsIHdpZHRoOiBcJzk2cHhcJ30iPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyb3dBY3Rpb25zPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZU1hcHBpbmcoJGV2ZW50LCBpKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZGVsZXRlXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJkZWxldGVNYXBwaW5nKCRldmVudCwgaSkiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uPmRlbGV0ZTwvdGItaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPGRpdiBmeEhpZGUgZnhTaG93Lmd0LW1kIGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJlbmQiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0icm93QWN0aW9ucyI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgZnhIaWRlIGZ4U2hvdy5sdC1sZyBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT0iY2VsbEFjdGlvbnNNZW51Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPG1hdC1tZW51ICNjZWxsQWN0aW9uc01lbnU9Im1hdE1lbnUiIHhQb3NpdGlvbj0iYmVmb3JlIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0icm93QWN0aW9ucyI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG1hdC1oZWFkZXItcm93IFtuZ0NsYXNzXT0ie1wnbWF0LXJvdy1zZWxlY3RcJzogdHJ1ZX0iICptYXRIZWFkZXJSb3dEZWY9ImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTogdHJ1ZSI+PC9tYXQtaGVhZGVyLXJvdz5cbiAgICAgICAgPG1hdC1yb3cgKm1hdFJvd0RlZj0ibGV0IG1hcHBpbmc7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7Ij48L21hdC1yb3c+XG4gICAgICA8L3RhYmxlPlxuICAgICAgPHNlY3Rpb24gW2Z4U2hvd109IiF0ZXh0U2VhcmNoTW9kZSAmJiAoZGF0YVNvdXJjZS5pc0VtcHR5KCkgfCBhc3luYykiIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiXG4gICAgICAgICAgICAgICBjbGFzcz0ibWF0LWhlYWRsaW5lLTUgdGItYWJzb2x1dGUtZmlsbCB0Yi1hZGQtbmV3Ij5cbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNsYXNzPSJjb25uZWN0b3IiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlTWFwcGluZygkZXZlbnQpIj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC05NiI+YWRkPC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3Bhbj57eyBcJ2dhdGV3YXkuYWRkLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gW2Z4U2hvd109InRleHRTZWFyY2hNb2RlICYmIChkYXRhU291cmNlLmlzRW1wdHkoKSB8IGFzeW5jKSJcbiAgICAgICAgICBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgIGNsYXNzPSJuby1kYXRhLWZvdW5kIiB0cmFuc2xhdGU+XG4gICAgICB3aWRnZXQubm8tZGF0YS1mb3VuZFxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6YmxvY2t9Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6I2ZmZjtvdmVyZmxvdzpoaWRkZW59Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudC50Yi1vdXRsaW5lZC1ib3JkZXJ7Ym94LXNoYWRvdzowIDAgIzAwMDMsMCAwICMwMDAwMDAyNCwwIDAgIzAwMDAwMDFmO2JvcmRlcjpzb2xpZCAxcHggI2UwZTBlMDtib3JkZXItcmFkaXVzOjRweH06aG9zdCAudGItbWFwcGluZy10YWJsZSAudGItbWFwcGluZy10YWJsZS1jb250ZW50IC5tYXQtdG9vbGJhci10b29sc3ttaW4taGVpZ2h0OmF1dG99Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAudGl0bGUtY29udGFpbmVye292ZXJmbG93OmhpZGRlbn06aG9zdCAudGItbWFwcGluZy10YWJsZSAudGItbWFwcGluZy10YWJsZS1jb250ZW50IC50Yi1tYXBwaW5nLXRhYmxlLXRpdGxle3BhZGRpbmctcmlnaHQ6MjBweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAudGFibGUtY29udGFpbmVye292ZXJmbG93OmF1dG99Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAudGFibGUtY29udGFpbmVyIC5tYXQtbWRjLXRhYmxle3RhYmxlLWxheW91dDpmaXhlZDttaW4td2lkdGg6NDUwcHh9Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAudGFibGUtY29udGFpbmVyIC5tYXQtbWRjLXRhYmxlIC50YWJsZS12YWx1ZS1jb2x1bW57cGFkZGluZzowIDEycHg7d2lkdGg6MjMlfTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lciAubWF0LW1kYy10YWJsZSAudGFibGUtdmFsdWUtY29sdW1uLnJlcXVlc3QtY29sdW1ue3dpZHRoOjM4JX06aG9zdCAudGItbWFwcGluZy10YWJsZSAudGItbWFwcGluZy10YWJsZS1jb250ZW50IC5lbGxpcHNpc3tvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306aG9zdCAubm8tZGF0YS1mb3VuZHtoZWlnaHQ6Y2FsYygxMDAlIC0gMTIwcHgpfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KXs6aG9zdCAubWF0LXRvb2xiYXJ7aGVpZ2h0OmF1dG87bWluLWhlaWdodDoxMDBweH06aG9zdCAubWF0LXRvb2xiYXIgLnRiLW1hcHBpbmctdGFibGUtdGl0bGV7cGFkZGluZy1ib3R0b206NXB4O3dpZHRoOjEwMCV9fTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxse2N1cnNvcjpwb2ludGVyfTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxsIC5tYXQtaWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4O2ZvbnQtc2l6ZToyNHB4O2NvbG9yOiM3NTc1NzV9XG4nXX1dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0eXBlOkplLk1hdERpYWxvZ30se3R5cGU6WC5EaWFsb2dTZXJ2aWNlfSx7dHlwZTptZS5Gb3JtQnVpbGRlcn1dLHByb3BEZWNvcmF0b3JzOntyZXF1aXJlZDpbe3R5cGU6YX1dLG1hcHBpbmdUeXBlOlt7dHlwZTphfV0sc2VhcmNoSW5wdXRGaWVsZDpbe3R5cGU6byxhcmdzOlsic2VhcmNoSW5wdXQiXX1dfX0pO2NsYXNzIHNvIGV4dGVuZHMgUntjb25zdHJ1Y3Rvcigpe3N1cGVyKCl9fWUoIk1hcHBpbmdEYXRhc291cmNlIixzbyk7Y2xhc3MgbG97Y29uc3RydWN0b3IoZSx0KXt0aGlzLmZiPWUsdGhpcy5jZHI9dCx0aGlzLnRpdGxlPSJnYXRld2F5LnNlY3VyaXR5Iix0aGlzLmV4dGVuZENlcnRpZmljYXRlc01vZGVsPSExLHRoaXMuQnJva2VyU2VjdXJpdHlUeXBlPXJuLHRoaXMuc2VjdXJpdHlUeXBlcz1PYmplY3QudmFsdWVzKHJuKSx0aGlzLm1vZGVUeXBlcz1PYmplY3QudmFsdWVzKHBuKSx0aGlzLlNlY3VyaXR5VHlwZVRyYW5zbGF0aW9uc01hcD1tbix0aGlzLmRlc3Ryb3kkPW5ldyBTZX1uZ09uSW5pdCgpe3RoaXMuc2VjdXJpdHlGb3JtR3JvdXA9dGhpcy5mYi5ncm91cCh7dHlwZTpbcm4uQU5PTllNT1VTLFtdXSx1c2VybmFtZTpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scGFzc3dvcmQ6WyIiLFt1ZS5wYXR0ZXJuKGt0KV1dLHBhdGhUb0NBQ2VydDpbIiIsW3VlLnBhdHRlcm4oa3QpXV0scGF0aFRvUHJpdmF0ZUtleTpbIiIsW3VlLnBhdHRlcm4oa3QpXV0scGF0aFRvQ2xpZW50Q2VydDpbIiIsW3VlLnBhdHRlcm4oa3QpXV19KSx0aGlzLmV4dGVuZENlcnRpZmljYXRlc01vZGVsJiZ0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmFkZENvbnRyb2woIm1vZGUiLHRoaXMuZmIuY29udHJvbChwbi5OT05FLFtdKSksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+dGhpcy51cGRhdGVWYWxpZGF0b3JzKGUpKSl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9d3JpdGVWYWx1ZShlKXtpZihlKWUudHlwZXx8KGUudHlwZT1ybi5BTk9OWU1PVVMpLHRoaXMudXBkYXRlVmFsaWRhdG9ycyhlLnR5cGUpLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAucmVzZXQoZSx7ZW1pdEV2ZW50OiExfSk7ZWxzZXtjb25zdCBlPXt0eXBlOnJuLkFOT05ZTU9VU307dGhpcy5zZWN1cml0eUZvcm1Hcm91cC5yZXNldChlLHtlbWl0RXZlbnQ6ITF9KX10aGlzLmNkci5tYXJrRm9yQ2hlY2soKX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgidHlwZSIpLnZhbHVlIT09cm4uQkFTSUN8fHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAudmFsaWQ/bnVsbDp7c2VjdXJpdHlGb3JtOnt2YWxpZDohMX19fXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9dXBkYXRlVmFsaWRhdG9ycyhlKXtpZihlKWlmKHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJ1c2VybmFtZSIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJwYXNzd29yZCIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJwYXRoVG9DQUNlcnQiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgicGF0aFRvUHJpdmF0ZUtleSIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJwYXRoVG9DbGllbnRDZXJ0IikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoIm1vZGUiKT8uZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksZT09PXJuLkJBU0lDKXRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJ1c2VybmFtZSIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoInBhc3N3b3JkIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KTtlbHNlIGlmKGU9PT1ybi5DRVJUSUZJQ0FURVMmJih0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgicGF0aFRvQ0FDZXJ0IikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgicGF0aFRvUHJpdmF0ZUtleSIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoInBhdGhUb0NsaWVudENlcnQiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuZXh0ZW5kQ2VydGlmaWNhdGVzTW9kZWwpKXtjb25zdCBlPXRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJtb2RlIik7ZSYmIWUudmFsdWUmJmUuc2V0VmFsdWUocG4uTk9ORSx7ZW1pdEV2ZW50OiExfSksZT8uZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgidXNlcm5hbWUiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJwYXNzd29yZCIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSl9fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6bG8sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfSx7dG9rZW46dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6bG8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1zZWN1cml0eS1jb25maWciLGlucHV0czp7dGl0bGU6InRpdGxlIixleHRlbmRDZXJ0aWZpY2F0ZXNNb2RlbDoiZXh0ZW5kQ2VydGlmaWNhdGVzTW9kZWwifSxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5sbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+bG8pKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHNhbWUtcGFkZGluZyB0Yi1mbGV4IGNvbHVtbiIgW2Zvcm1Hcm91cF09InNlY3VyaXR5Rm9ybUdyb3VwIj5cbiAgPGRpdiBjbGFzcz0idGItZmxleCByb3cgc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIgbm8tZ2FwIGZpbGwtd2lkdGgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIj57eyB0aXRsZSB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNlY3VyaXR5VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICB7eyBTZWN1cml0eVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlIj5cbiAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkJyb2tlclNlY3VyaXR5VHlwZS5CQVNJQyI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS51c2VybmFtZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ1c2VybmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS51c2VybmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndXNlcm5hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndXNlcm5hbWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5wYXNzd29yZDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJwYXNzd29yZCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icGFzc3dvcmQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAgYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0IiBtYXRTdWZmaXg+XG4gICAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1wYXNzd29yZCBjbGFzcz0idGItZmxleCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiPjwvdGItdG9nZ2xlLXBhc3N3b3JkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJCcm9rZXJTZWN1cml0eVR5cGUuQ0VSVElGSUNBVEVTIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwiPnt7IFwnZ2F0ZXdheS5wYXRoLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuQ0EtY2VydGlmaWNhdGUtcGF0aDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwYXRoVG9DQUNlcnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucHJpdmF0ZS1rZXktcGF0aDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwYXRoVG9Qcml2YXRlS2V5IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmNsaWVudC1jZXJ0LXBhdGg8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icGF0aFRvQ2xpZW50Q2VydCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJleHRlbmRDZXJ0aWZpY2F0ZXNNb2RlbCI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkubW9kZTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibW9kZSI+XG4gICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBtb2RlVHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAge3sgdHlwZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudXNlcm5hbWU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idXNlcm5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS51c2VybmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd1c2VybmFtZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3VzZXJuYW1lXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnBhc3N3b3JkPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwYXNzd29yZCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiIG1hdFN1ZmZpeD5cbiAgICAgICAgICAgICAgICA8dGItdG9nZ2xlLXBhc3N3b3JkIGNsYXNzPSJ0Yi1mbGV4IGFsaWduLWNlbnRlciBmaWxsLWhlaWdodCI+PC90Yi10b2dnbGUtcGFzc3dvcmQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9ja31cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdTd2l0Y2gsc2VsZWN0b3I6IltuZ1N3aXRjaF0iLGlucHV0czpbIm5nU3dpdGNoIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaENhc2Usc2VsZWN0b3I6IltuZ1N3aXRjaENhc2VdIixpbnB1dHM6WyJuZ1N3aXRjaENhc2UiXX0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp0dC5Ub2dnbGVQYXNzd29yZENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXBhc3N3b3JkIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpudC5Ub2dnbGVPcHRpb24sc2VsZWN0b3I6InRiLXRvZ2dsZS1vcHRpb24iLGlucHV0czpbInZhbHVlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YXQuVG9nZ2xlU2VsZWN0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi10b2dnbGUtc2VsZWN0IixpbnB1dHM6WyJkaXNhYmxlZCIsInNlbGVjdE1lZGlhQnJlYWtwb2ludCIsImFwcGVhcmFuY2UiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImZpbGxIZWlnaHQiLCJleHRyYVBhZGRpbmciLCJwcmltYXJ5QmFja2dyb3VuZCJdfV0sY2hhbmdlRGV0ZWN0aW9uOnQuQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNofSl9fWUoIlNlY3VyaXR5Q29uZmlnQ29tcG9uZW50IixsbyksSGUoW04oKV0sbG8ucHJvdG90eXBlLCJleHRlbmRDZXJ0aWZpY2F0ZXNNb2RlbCIsdm9pZCAwKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmxvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1zZWN1cml0eS1jb25maWciLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5sbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+bG8pKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxEXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gc2FtZS1wYWRkaW5nIHRiLWZsZXggY29sdW1uIiBbZm9ybUdyb3VwXT0ic2VjdXJpdHlGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHJvdyBzcGFjZS1iZXR3ZWVuIGFsaWduLWNlbnRlciBuby1nYXAgZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiPnt7IHRpdGxlIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgPHRiLXRvZ2dsZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIiBhcHBlYXJhbmNlPSJmaWxsIj5cbiAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2Ygc2VjdXJpdHlUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgIHt7IFNlY3VyaXR5VHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQnJva2VyU2VjdXJpdHlUeXBlLkJBU0lDIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnVzZXJuYW1lPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InVzZXJuYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnVzZXJuYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd1c2VybmFtZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd1c2VybmFtZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnBhc3N3b3JkPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwYXNzd29yZCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiIG1hdFN1ZmZpeD5cbiAgICAgICAgICAgICAgICA8dGItdG9nZ2xlLXBhc3N3b3JkIGNsYXNzPSJ0Yi1mbGV4IGFsaWduLWNlbnRlciBmaWxsLWhlaWdodCI+PC90Yi10b2dnbGUtcGFzc3dvcmQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkJyb2tlclNlY3VyaXR5VHlwZS5DRVJUSUZJQ0FURVMiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCI+e3sgXCdnYXRld2F5LnBhdGgtaGludFwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5DQS1jZXJ0aWZpY2F0ZS1wYXRoPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhdGhUb0NBQ2VydCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5wcml2YXRlLWtleS1wYXRoPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhdGhUb1ByaXZhdGVLZXkiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuY2xpZW50LWNlcnQtcGF0aDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwYXRoVG9DbGllbnRDZXJ0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9ImV4dGVuZENlcnRpZmljYXRlc01vZGVsIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5tb2RlPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtb2RlIj5cbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIG1vZGVUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAgICB7eyB0eXBlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS51c2VybmFtZTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ1c2VybmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnVzZXJuYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3VzZXJuYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndXNlcm5hbWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucGFzc3dvcmQ8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhc3N3b3JkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGFsaWduLWNlbnRlciBmaWxsLWhlaWdodCIgbWF0U3VmZml4PlxuICAgICAgICAgICAgICAgIDx0Yi10b2dnbGUtcGFzc3dvcmQgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0Ij48L3RiLXRvZ2dsZS1wYXNzd29yZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9LHt0eXBlOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9XSxwcm9wRGVjb3JhdG9yczp7dGl0bGU6W3t0eXBlOmF9XSxleHRlbmRDZXJ0aWZpY2F0ZXNNb2RlbDpbe3R5cGU6YX1dfX0pO2NsYXNzIGNve2NvbnN0cnVjdG9yKGUpe3RoaXMuZmI9ZSx0aGlzLmhpZGVOZXdGaWVsZHM9ITEsdGhpcy5zZWN1cml0eVBvbGljeVR5cGVzPV9uLHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMuc2VydmVyQ29uZmlnRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe3VybDpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sdGltZW91dEluTWlsbGlzOlsxZTMsW3VlLnJlcXVpcmVkLHVlLm1pbigxZTMpXV0sc2NhblBlcmlvZEluTWlsbGlzOltWLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMWUzKV1dLHBvbGxQZXJpb2RJbk1pbGxpczpbNWUzLFt1ZS5yZXF1aXJlZCx1ZS5taW4oNTApXV0sZW5hYmxlU3Vic2NyaXB0aW9uczpbITAsW11dLHN1YkNoZWNrUGVyaW9kSW5NaWxsaXM6WzEwMCxbdWUucmVxdWlyZWQsdWUubWluKDEwMCldXSxzaG93TWFwOlshMSxbXV0sc2VjdXJpdHk6W1VuLkJBU0lDMTI4LFtdXSxpZGVudGl0eTpbXX0pLHRoaXMuc2VydmVyQ29uZmlnRm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLm9uQ2hhbmdlKGUpLHRoaXMub25Ub3VjaGVkKCl9KSl9bmdBZnRlclZpZXdJbml0KCl7dGhpcy5oaWRlTmV3RmllbGRzJiZ0aGlzLnNlcnZlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoInBvbGxQZXJpb2RJbk1pbGxpcyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5zZXJ2ZXJDb25maWdGb3JtR3JvdXAudmFsaWQ/bnVsbDp7c2VydmVyQ29uZmlnRm9ybUdyb3VwOnt2YWxpZDohMX19fXdyaXRlVmFsdWUoZSl7Y29uc3R7dGltZW91dEluTWlsbGlzOnQ9MWUzLHNjYW5QZXJpb2RJbk1pbGxpczpuPVYscG9sbFBlcmlvZEluTWlsbGlzOmE9NWUzLGVuYWJsZVN1YnNjcmlwdGlvbnM6bz0hMCxzdWJDaGVja1BlcmlvZEluTWlsbGlzOmk9MTAwLHNob3dNYXA6cj0hMSxzZWN1cml0eTpzPVVuLkJBU0lDMTI4LGlkZW50aXR5Omw9e319PWU7dGhpcy5zZXJ2ZXJDb25maWdGb3JtR3JvdXAucmVzZXQoey4uLmUsdGltZW91dEluTWlsbGlzOnQsc2NhblBlcmlvZEluTWlsbGlzOm4scG9sbFBlcmlvZEluTWlsbGlzOmEsZW5hYmxlU3Vic2NyaXB0aW9uczpvLHN1YkNoZWNrUGVyaW9kSW5NaWxsaXM6aSxzaG93TWFwOnIsc2VjdXJpdHk6cyxpZGVudGl0eTpsfSx7ZW1pdEV2ZW50OiExfSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpjbyxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOmNvLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItb3BjLXNlcnZlci1jb25maWciLGlucHV0czp7aGlkZU5ld0ZpZWxkczoiaGlkZU5ld0ZpZWxkcyJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PmNvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5jbykpLG11bHRpOiEwfV0sbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiIFtmb3JtR3JvdXBdPSJzZXJ2ZXJDb25maWdGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGJUcnVuY2F0ZVdpdGhUb29sdGlwIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci11cmw8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idXJsIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuc2VydmVyLXVybC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndXJsXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndXJsXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5vcGMtdGltZW91dFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS50aW1lb3V0XCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjEwMDAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRpbWVvdXRJbk1pbGxpcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkudGltZW91dC1lcnJvclwnIHwgdHJhbnNsYXRlOiB7bWluOiAxMDAwfSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSIoc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3RpbWVvdXRJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3RpbWVvdXRJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ21pblwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndGltZW91dEluTWlsbGlzXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5zZWN1cml0eS1wb2xpY3lcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkuc2VjdXJpdHktcG9saWN5XCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5Ij5cbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB2ZXJzaW9uIG9mIHNlY3VyaXR5UG9saWN5VHlwZXMiIFt2YWx1ZV09InZlcnNpb24udmFsdWUiPnt7IHZlcnNpb24ubmFtZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLnNjYW4tcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgXCdnYXRld2F5LnNjYW4tcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjEwMDAiIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJzY2FuUGVyaW9kSW5NaWxsaXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iXCdnYXRld2F5LnNjYW4tcGVyaW9kLWVycm9yXCcgfCB0cmFuc2xhdGU6IHttaW46IDEwMDB9IlxuICAgICAgICAgICAgICAgICAgKm5nSWY9IihzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2NhblBlcmlvZEluTWlsbGlzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2NhblBlcmlvZEluTWlsbGlzXCcpLmhhc0Vycm9yKFwnbWluXCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzY2FuUGVyaW9kSW5NaWxsaXNcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgd2FybmluZ1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9IiFoaWRlTmV3RmllbGRzIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iNTAiIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJwb2xsUGVyaW9kSW5NaWxsaXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iXCdnYXRld2F5LnBvbGwtcGVyaW9kLWVycm9yXCcgfCB0cmFuc2xhdGU6IHttaW46IDUwfSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSIoc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvbGxQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvbGxQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ21pblwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9sbFBlcmlvZEluTWlsbGlzXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5zdWItY2hlY2stcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgXCdnYXRld2F5LnN1Yi1jaGVjay1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMTAwIiBuYW1lPSJ2YWx1ZSJcbiAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0ic3ViQ2hlY2tQZXJpb2RJbk1pbGxpcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkuc3ViLWNoZWNrLXBlcmlvZC1lcnJvclwnIHwgdHJhbnNsYXRlOiB7bWluOiAxMDB9IlxuICAgICAgICAgICAgICAgICAgKm5nSWY9IihzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc3ViQ2hlY2tQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3N1YkNoZWNrUGVyaW9kSW5NaWxsaXNcJykuaGFzRXJyb3IoXCdtaW5cJykpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3N1YkNoZWNrUGVyaW9kSW5NaWxsaXNcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgd2FybmluZ1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJlbmFibGVTdWJzY3JpcHRpb25zIj5cbiAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5lbmFibGUtc3Vic2NyaXB0aW9uXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkuZW5hYmxlLXN1YnNjcmlwdGlvblwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8L21hdC1sYWJlbD5cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic2hvd01hcCI+XG4gICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMuc2hvdy1tYXBcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgIHt7IFwnZ2F0ZXdheS5zaG93LW1hcFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1sYWJlbD5cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvZGl2PlxuICA8dGItc2VjdXJpdHktY29uZmlnIGZvcm1Db250cm9sTmFtZT0iaWRlbnRpdHkiXG4gICAgICAgICAgICAgICAgICAgICAgW2V4dGVuZENlcnRpZmljYXRlc01vZGVsXT0idHJ1ZSI+XG4gIDwvdGItc2VjdXJpdHktY29uZmlnPlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdFN1ZmZpeCxzZWxlY3RvcjoiW21hdFN1ZmZpeF0sIFttYXRJY29uU3VmZml4XSwgW21hdFRleHRTdWZmaXhdIixpbnB1dHM6WyJtYXRUZXh0U3VmZml4Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpDZS5NYXRPcHRpb24sc2VsZWN0b3I6Im1hdC1vcHRpb24iLGlucHV0czpbInZhbHVlIiwiaWQiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJvblNlbGVjdGlvbkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0T3B0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6emUuTWF0VG9vbHRpcCxzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixpbnB1dHM6WyJtYXRUb29sdGlwUG9zaXRpb24iLCJtYXRUb29sdGlwUG9zaXRpb25BdE9yaWdpbiIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBTaG93RGVsYXkiLCJtYXRUb29sdGlwSGlkZURlbGF5IiwibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcENsYXNzIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6ZXQuTWF0U2xpZGVUb2dnbGUsc2VsZWN0b3I6Im1hdC1zbGlkZS10b2dnbGUiLGlucHV0czpbIm5hbWUiLCJpZCIsImxhYmVsUG9zaXRpb24iLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsInJlcXVpcmVkIiwiY29sb3IiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImNoZWNrZWQiLCJoaWRlSWNvbiIsImRpc2FibGVkSW50ZXJhY3RpdmUiXSxvdXRwdXRzOlsiY2hhbmdlIiwidG9nZ2xlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlllLlRydW5jYXRlV2l0aFRvb2x0aXBEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0b29sdGlwRW5hYmxlZCIsInBvc2l0aW9uIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlkuVHJhbnNsYXRlRGlyZWN0aXZlLHNlbGVjdG9yOiJbdHJhbnNsYXRlXSxbbmd4LXRyYW5zbGF0ZV0iLGlucHV0czpbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZVBhcmFtcyJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnV0LkhpbnRUb29sdGlwSWNvbkNvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhpbnQtdG9vbHRpcC1pY29uXSIsaW5wdXRzOlsidGItaGludC10b29sdGlwLWljb24iLCJ0b29sdGlwUG9zaXRpb24iLCJoaW50SWNvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmxvLHNlbGVjdG9yOiJ0Yi1zZWN1cml0eS1jb25maWciLGlucHV0czpbInRpdGxlIiwiZXh0ZW5kQ2VydGlmaWNhdGVzTW9kZWwiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJPcGNTZXJ2ZXJDb25maWdDb21wb25lbnQiLGNvKSxIZShbTigpXSxjby5wcm90b3R5cGUsImhpZGVOZXdGaWVsZHMiLHZvaWQgMCksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpjbyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItb3BjLXNlcnZlci1jb25maWciLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5jbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+Y28pKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxELGxvLFNhXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiIFtmb3JtR3JvdXBdPSJzZXJ2ZXJDb25maWdGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGJUcnVuY2F0ZVdpdGhUb29sdGlwIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci11cmw8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idXJsIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuc2VydmVyLXVybC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndXJsXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndXJsXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5vcGMtdGltZW91dFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS50aW1lb3V0XCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjEwMDAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRpbWVvdXRJbk1pbGxpcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkudGltZW91dC1lcnJvclwnIHwgdHJhbnNsYXRlOiB7bWluOiAxMDAwfSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSIoc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3RpbWVvdXRJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3RpbWVvdXRJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ21pblwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndGltZW91dEluTWlsbGlzXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5zZWN1cml0eS1wb2xpY3lcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkuc2VjdXJpdHktcG9saWN5XCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5Ij5cbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB2ZXJzaW9uIG9mIHNlY3VyaXR5UG9saWN5VHlwZXMiIFt2YWx1ZV09InZlcnNpb24udmFsdWUiPnt7IHZlcnNpb24ubmFtZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLnNjYW4tcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgXCdnYXRld2F5LnNjYW4tcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjEwMDAiIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJzY2FuUGVyaW9kSW5NaWxsaXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iXCdnYXRld2F5LnNjYW4tcGVyaW9kLWVycm9yXCcgfCB0cmFuc2xhdGU6IHttaW46IDEwMDB9IlxuICAgICAgICAgICAgICAgICAgKm5nSWY9IihzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2NhblBlcmlvZEluTWlsbGlzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2NhblBlcmlvZEluTWlsbGlzXCcpLmhhc0Vycm9yKFwnbWluXCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzY2FuUGVyaW9kSW5NaWxsaXNcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgd2FybmluZ1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9IiFoaWRlTmV3RmllbGRzIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iNTAiIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJwb2xsUGVyaW9kSW5NaWxsaXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iXCdnYXRld2F5LnBvbGwtcGVyaW9kLWVycm9yXCcgfCB0cmFuc2xhdGU6IHttaW46IDUwfSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSIoc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvbGxQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvbGxQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ21pblwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9sbFBlcmlvZEluTWlsbGlzXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5zdWItY2hlY2stcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgXCdnYXRld2F5LnN1Yi1jaGVjay1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMTAwIiBuYW1lPSJ2YWx1ZSJcbiAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0ic3ViQ2hlY2tQZXJpb2RJbk1pbGxpcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkuc3ViLWNoZWNrLXBlcmlvZC1lcnJvclwnIHwgdHJhbnNsYXRlOiB7bWluOiAxMDB9IlxuICAgICAgICAgICAgICAgICAgKm5nSWY9IihzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc3ViQ2hlY2tQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3N1YkNoZWNrUGVyaW9kSW5NaWxsaXNcJykuaGFzRXJyb3IoXCdtaW5cJykpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3N1YkNoZWNrUGVyaW9kSW5NaWxsaXNcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgd2FybmluZ1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJlbmFibGVTdWJzY3JpcHRpb25zIj5cbiAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5lbmFibGUtc3Vic2NyaXB0aW9uXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkuZW5hYmxlLXN1YnNjcmlwdGlvblwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8L21hdC1sYWJlbD5cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic2hvd01hcCI+XG4gICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMuc2hvdy1tYXBcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgIHt7IFwnZ2F0ZXdheS5zaG93LW1hcFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1sYWJlbD5cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvZGl2PlxuICA8dGItc2VjdXJpdHktY29uZmlnIGZvcm1Db250cm9sTmFtZT0iaWRlbnRpdHkiXG4gICAgICAgICAgICAgICAgICAgICAgW2V4dGVuZENlcnRpZmljYXRlc01vZGVsXT0idHJ1ZSI+XG4gIDwvdGItc2VjdXJpdHktY29uZmlnPlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9XSxwcm9wRGVjb3JhdG9yczp7aGlkZU5ld0ZpZWxkczpbe3R5cGU6YX1dfX0pO2NsYXNzIHBvIGV4dGVuZHMgeWF7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubWFwcGluZ1R5cGVzPWZuLHRoaXMuaXNMZWdhY3k9ITF9aW5pdEJhc2ljRm9ybUdyb3VwKCl7cmV0dXJuIHRoaXMuZmIuZ3JvdXAoe21hcHBpbmc6W10sc2VydmVyOltdfSl9bWFwQ29uZmlnVG9Gb3JtVmFsdWUoZSl7cmV0dXJue3NlcnZlcjplLnNlcnZlcj8/e30sbWFwcGluZzplLm1hcHBpbmc/P1tdfX1nZXRNYXBwZWRWYWx1ZShlKXtyZXR1cm57c2VydmVyOmUuc2VydmVyLG1hcHBpbmc6ZS5tYXBwaW5nfX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnBvLGRlcHM6bnVsbCx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOnBvLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItb3BjLXVhLWJhc2ljLWNvbmZpZyIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+cG8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PnBvKSksbXVsdGk6ITB9XSx1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdGFiLWdyb3VwIFtmb3JtR3JvdXBdPSJiYXNpY0Zvcm1Hcm91cCI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZ2VuZXJhbFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuc2VydmVyXCcgfCB0cmFuc2xhdGUgfX0qIj5cbiAgICA8dGItb3BjLXNlcnZlci1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZXJ2ZXIiIFtoaWRlTmV3RmllbGRzXT0iaXNMZWdhY3kiPjwvdGItb3BjLXNlcnZlci1jb25maWc+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5kYXRhLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AgdGItZmxleCBmaWxsLWhlaWdodCI+XG4gICAgICA8dGItbWFwcGluZy10YWJsZSBmb3JtQ29udHJvbE5hbWU9Im1hcHBpbmciIFtyZXF1aXJlZF09InRydWUiIFttYXBwaW5nVHlwZV09Im1hcHBpbmdUeXBlcy5PUENVQSI+PC90Yi1tYXBwaW5nLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLXRhYi1ncm91cCw6aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWJvZHktd3JhcHBlcntoZWlnaHQ6MTAwJX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1RlbXBsYXRlT3V0bGV0LHNlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0iLGlucHV0czpbIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IiwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRJbmplY3RvciJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6cm8sc2VsZWN0b3I6InRiLW1hcHBpbmctdGFibGUiLGlucHV0czpbInJlcXVpcmVkIiwibWFwcGluZ1R5cGUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpjbyxzZWxlY3RvcjoidGItb3BjLXNlcnZlci1jb25maWciLGlucHV0czpbImhpZGVOZXdGaWVsZHMiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJPcGNVYUJhc2ljQ29uZmlnQ29tcG9uZW50IixwbyksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpwbyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItb3BjLXVhLWJhc2ljLWNvbmZpZyIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PnBvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5wbykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsbG8scm8sY29dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10YWItZ3JvdXAgW2Zvcm1Hcm91cF09ImJhc2ljRm9ybUdyb3VwIj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5nZW5lcmFsXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJnZW5lcmFsVGFiQ29udGVudCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5zZXJ2ZXJcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDx0Yi1vcGMtc2VydmVyLWNvbmZpZyBmb3JtQ29udHJvbE5hbWU9InNlcnZlciIgW2hpZGVOZXdGaWVsZHNdPSJpc0xlZ2FjeSI+PC90Yi1vcGMtc2VydmVyLWNvbmZpZz5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmRhdGEtbWFwcGluZ1wnIHwgdHJhbnNsYXRlIH19KiI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCB0Yi1mbGV4IGZpbGwtaGVpZ2h0Ij5cbiAgICAgIDx0Yi1tYXBwaW5nLXRhYmxlIGZvcm1Db250cm9sTmFtZT0ibWFwcGluZyIgW3JlcXVpcmVkXT0idHJ1ZSIgW21hcHBpbmdUeXBlXT0ibWFwcGluZ1R5cGVzLk9QQ1VBIj48L3RiLW1hcHBpbmctdGFibGU+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHtoZWlnaHQ6MTAwJX06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWdyb3VwLDpob3N0IDo6bmctZGVlcCAubWF0LW1kYy10YWItYm9keS13cmFwcGVye2hlaWdodDoxMDAlfVxuJ119XX1dfSk7Y2xhc3MgbW97Y29uc3RydWN0b3IoZSx0KXt0aGlzLmZiPWUsdGhpcy5jZHI9dCx0aGlzLm1xdHRWZXJzaW9ucz1nbix0aGlzLnBvcnRMaW1pdHM9RXQsdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5icm9rZXJDb25maWdGb3JtR3JvdXA9dGhpcy5mYi5ncm91cCh7aG9zdDpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scG9ydDpbbnVsbCxbdWUucmVxdWlyZWQsdWUubWluKEV0Lk1JTiksdWUubWF4KEV0Lk1BWCldXSx2ZXJzaW9uOls1LFtdXSxjbGllbnRJZDpbInRiX2d3XyIrc2UoNSksW3VlLnBhdHRlcm4oa3QpXV0sc2VjdXJpdHk6W119KSx0aGlzLmJyb2tlckNvbmZpZ0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfWdlbmVyYXRlKGUpe3RoaXMuYnJva2VyQ29uZmlnRm9ybUdyb3VwLmdldChlKT8ucGF0Y2hWYWx1ZSgidGJfZ3dfIitzZSg1KSl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLm9uQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7dGhpcy5vblRvdWNoZWQ9ZX13cml0ZVZhbHVlKGUpe2NvbnN0e3ZlcnNpb246dD01LGNsaWVudElkOm49YHRiX2d3XyR7c2UoNSl9YCxzZWN1cml0eTphPXt9fT1lO3RoaXMuYnJva2VyQ29uZmlnRm9ybUdyb3VwLnJlc2V0KHsuLi5lLHZlcnNpb246dCxjbGllbnRJZDpuLHNlY3VyaXR5OmF9LHtlbWl0RXZlbnQ6ITF9KSx0aGlzLmNkci5tYXJrRm9yQ2hlY2soKX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLmJyb2tlckNvbmZpZ0Zvcm1Hcm91cC52YWxpZD9udWxsOnticm9rZXJDb25maWdGb3JtR3JvdXA6e3ZhbGlkOiExfX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTptbyxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjp0LkNoYW5nZURldGVjdG9yUmVmfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTptbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLWJyb2tlci1jb25maWctY29udHJvbCIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+bW8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9Pm1vKSksbXVsdGk6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCIgW2Zvcm1Hcm91cF09ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5ob3N0PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9Imhvc3QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5ob3N0LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdob3N0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICB3YXJuaW5nXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnBvcnQ8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49Int7cG9ydExpbWl0cy5NSU59fSIgbWF4PSJ7e3BvcnRMaW1pdHMuTUFYfX0iXG4gICAgICAgICAgICAgICBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpIHwgZ2V0R2F0ZXdheVBvcnRUb29sdGlwIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9Iihicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICB3YXJuaW5nXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5Lm1xdHQtdmVyc2lvbjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idmVyc2lvbiI+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdmVyc2lvbiBvZiBtcXR0VmVyc2lvbnMiIFt2YWx1ZV09InZlcnNpb24udmFsdWUiPnt7IHZlcnNpb24ubmFtZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jbGllbnQtaWQ8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY2xpZW50SWQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0iR2VuZXJhdGUiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmdlbmVyYXRlLWNsaWVudC1pZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0iZ2VuZXJhdGUoXCdjbGllbnRJZFwnKSJcbiAgICAgICAgICAgICAgICAqbmdJZj0iIWJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdjbGllbnRJZFwnKS52YWx1ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPmF1dG9yZW5ldzwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDx0Yi1zZWN1cml0eS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZWN1cml0eSI+XG4gIDwvdGItc2VjdXJpdHktY29uZmlnPlxuPC9kaXY+XG4nLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRTdWZmaXgsc2VsZWN0b3I6IlttYXRTdWZmaXhdLCBbbWF0SWNvblN1ZmZpeF0sIFttYXRUZXh0U3VmZml4XSIsaW5wdXRzOlsibWF0VGV4dFN1ZmZpeCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOndlLk1hdFNlbGVjdCxzZWxlY3RvcjoibWF0LXNlbGVjdCIsaW5wdXRzOlsiYXJpYS1kZXNjcmliZWRieSIsInBhbmVsQ2xhc3MiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3IiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwibXVsdGlwbGUiLCJkaXNhYmxlT3B0aW9uQ2VudGVyaW5nIiwiY29tcGFyZVdpdGgiLCJ2YWx1ZSIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJlcnJvclN0YXRlTWF0Y2hlciIsInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLCJzb3J0Q29tcGFyYXRvciIsImlkIiwicGFuZWxXaWR0aCJdLG91dHB1dHM6WyJvcGVuZWRDaGFuZ2UiLCJvcGVuZWQiLCJjbG9zZWQiLCJzZWxlY3Rpb25DaGFuZ2UiLCJ2YWx1ZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2VsZWN0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWF4VmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttYXhdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtuZ01vZGVsXSIsaW5wdXRzOlsibWF4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpsbyxzZWxlY3RvcjoidGItc2VjdXJpdHktY29uZmlnIixpbnB1dHM6WyJ0aXRsZSIsImV4dGVuZENlcnRpZmljYXRlc01vZGVsIl19LHtraW5kOiJwaXBlIix0eXBlOndhLG5hbWU6ImdldEdhdGV3YXlQb3J0VG9vbHRpcCJ9XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19ZSgiQnJva2VyQ29uZmlnQ29udHJvbENvbXBvbmVudCIsbW8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6bW8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWJyb2tlci1jb25maWctY29udHJvbCIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxELGxvLHdhXSxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5tbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+bW8pKSxtdWx0aTohMH1dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCIgW2Zvcm1Hcm91cF09ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5ob3N0PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9Imhvc3QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5ob3N0LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdob3N0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICB3YXJuaW5nXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnBvcnQ8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49Int7cG9ydExpbWl0cy5NSU59fSIgbWF4PSJ7e3BvcnRMaW1pdHMuTUFYfX0iXG4gICAgICAgICAgICAgICBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpIHwgZ2V0R2F0ZXdheVBvcnRUb29sdGlwIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9Iihicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICB3YXJuaW5nXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5Lm1xdHQtdmVyc2lvbjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idmVyc2lvbiI+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdmVyc2lvbiBvZiBtcXR0VmVyc2lvbnMiIFt2YWx1ZV09InZlcnNpb24udmFsdWUiPnt7IHZlcnNpb24ubmFtZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jbGllbnQtaWQ8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY2xpZW50SWQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0iR2VuZXJhdGUiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmdlbmVyYXRlLWNsaWVudC1pZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0iZ2VuZXJhdGUoXCdjbGllbnRJZFwnKSJcbiAgICAgICAgICAgICAgICAqbmdJZj0iIWJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdjbGllbnRJZFwnKS52YWx1ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPmF1dG9yZW5ldzwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDx0Yi1zZWN1cml0eS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZWN1cml0eSI+XG4gIDwvdGItc2VjdXJpdHktY29uZmlnPlxuPC9kaXY+XG4nfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTp0LkNoYW5nZURldGVjdG9yUmVmfV19KTtjbGFzcyB1b3tjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy53b3JrZXJzQ29uZmlnRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe21heE51bWJlck9mV29ya2VyczpbMTAwLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSldXSxtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyOlsxMCxbdWUucmVxdWlyZWQsdWUubWluKDEpXV19KSx0aGlzLndvcmtlcnNDb25maWdGb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMub25DaGFuZ2UoZSksdGhpcy5vblRvdWNoZWQoKX0pKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMub25DaGFuZ2U9ZX1yZWdpc3Rlck9uVG91Y2hlZChlKXt0aGlzLm9uVG91Y2hlZD1lfXdyaXRlVmFsdWUoZSl7Y29uc3R7bWF4TnVtYmVyT2ZXb3JrZXJzOnQsbWF4TWVzc2FnZU51bWJlclBlcldvcmtlcjpufT1lO3RoaXMud29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cC5yZXNldCh7bWF4TnVtYmVyT2ZXb3JrZXJzOnR8fDEwMCxtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyOm58fDEwfSx7ZW1pdEV2ZW50OiExfSl9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy53b3JrZXJzQ29uZmlnRm9ybUdyb3VwLnZhbGlkP251bGw6e3dvcmtlcnNDb25maWdGb3JtR3JvdXA6e3ZhbGlkOiExfX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTp1byxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOnVvLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItd29ya2Vycy1jb25maWctY29udHJvbCIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+dW8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PnVvKSksbXVsdGk6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCIgW2Zvcm1Hcm91cF09IndvcmtlcnNDb25maWdGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgW3N0eWxlLndpZHRoLiVdPSI1MCJcbiAgICAgICAgIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkubWF4LW51bWJlci1vZi13b3JrZXJzLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkubWF4LW51bWJlci1vZi13b3JrZXJzXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIHR5cGU9Im51bWJlciIgbWluPSIxIiBmb3JtQ29udHJvbE5hbWU9Im1heE51bWJlck9mV29ya2VycyJcbiAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5tYXgtbnVtYmVyLW9mLXdvcmtlcnMtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAqbmdJZj0id29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdtYXhOdW1iZXJPZldvcmtlcnNcJykuaGFzRXJyb3IoXCdtaW5cJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAod29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdtYXhOdW1iZXJPZldvcmtlcnNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcnNDb25maWdGb3JtR3JvdXAuZ2V0KFwnbWF4TnVtYmVyT2ZXb3JrZXJzXCcpLnRvdWNoZWQpIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICB3YXJuaW5nXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIFtzdHlsZS53aWR0aC4lXT0iNTAiXG4gICAgICAgICB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5Lm1heC1tZXNzYWdlcy1xdWV1ZS1mb3Itd29ya2VyLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkubWF4LW1lc3NhZ2VzLXF1ZXVlLWZvci13b3JrZXJcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgdHlwZT0ibnVtYmVyIiBtaW49IjEiIGZvcm1Db250cm9sTmFtZT0ibWF4TWVzc2FnZU51bWJlclBlcldvcmtlciJcbiAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5tYXgtbWVzc2FnZXMtcXVldWUtZm9yLXdvcmtlci1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJ3b3JrZXJzQ29uZmlnRm9ybUdyb3VwLmdldChcJ21heE1lc3NhZ2VOdW1iZXJQZXJXb3JrZXJcJykuaGFzRXJyb3IoXCdtaW5cJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAod29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JrZXJzQ29uZmlnRm9ybUdyb3VwLmdldChcJ21heE1lc3NhZ2VOdW1iZXJQZXJXb3JrZXJcJykudG91Y2hlZCkiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdFN1ZmZpeCxzZWxlY3RvcjoiW21hdFN1ZmZpeF0sIFttYXRJY29uU3VmZml4XSwgW21hdFRleHRTdWZmaXhdIixpbnB1dHM6WyJtYXRUZXh0U3VmZml4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6emUuTWF0VG9vbHRpcCxzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixpbnB1dHM6WyJtYXRUb29sdGlwUG9zaXRpb24iLCJtYXRUb29sdGlwUG9zaXRpb25BdE9yaWdpbiIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBTaG93RGVsYXkiLCJtYXRUb29sdGlwSGlkZURlbGF5IiwibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcENsYXNzIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTnVtYmVyVmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbmdNb2RlbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5NaW5WYWxpZGF0b3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW25nTW9kZWxdIixpbnB1dHM6WyJtaW4iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WWUuVHJ1bmNhdGVXaXRoVG9vbHRpcERpcmVjdGl2ZSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dXQuSGludFRvb2x0aXBJY29uQ29tcG9uZW50LHNlbGVjdG9yOiJbdGItaGludC10b29sdGlwLWljb25dIixpbnB1dHM6WyJ0Yi1oaW50LXRvb2x0aXAtaWNvbiIsInRvb2x0aXBQb3NpdGlvbiIsImhpbnRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6U2Esc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0b29sdGlwRW5hYmxlZCIsInBvc2l0aW9uIl19XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19ZSgiV29ya2Vyc0NvbmZpZ0NvbnRyb2xDb21wb25lbnQiLHVvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnVvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi13b3JrZXJzLWNvbmZpZy1jb250cm9sIixjaGFuZ2VEZXRlY3Rpb246ZC5PblB1c2gsc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsU2FdLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PnVvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT51bykpLG11bHRpOiEwfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIiBbZm9ybUdyb3VwXT0id29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiBbc3R5bGUud2lkdGguJV09IjUwIlxuICAgICAgICAgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5tYXgtbnVtYmVyLW9mLXdvcmtlcnMtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS5tYXgtbnVtYmVyLW9mLXdvcmtlcnNcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgdHlwZT0ibnVtYmVyIiBtaW49IjEiIGZvcm1Db250cm9sTmFtZT0ibWF4TnVtYmVyT2ZXb3JrZXJzIlxuICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lm1heC1udW1iZXItb2Ytd29ya2Vycy1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJ3b3JrZXJzQ29uZmlnRm9ybUdyb3VwLmdldChcJ21heE51bWJlck9mV29ya2Vyc1wnKS5oYXNFcnJvcihcJ21pblwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3b3JrZXJzQ29uZmlnRm9ybUdyb3VwLmdldChcJ21heE51bWJlck9mV29ya2Vyc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdtYXhOdW1iZXJPZldvcmtlcnNcJykudG91Y2hlZCkiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgW3N0eWxlLndpZHRoLiVdPSI1MCJcbiAgICAgICAgIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkubWF4LW1lc3NhZ2VzLXF1ZXVlLWZvci13b3JrZXItaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS5tYXgtbWVzc2FnZXMtcXVldWUtZm9yLXdvcmtlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiB0eXBlPSJudW1iZXIiIG1pbj0iMSIgZm9ybUNvbnRyb2xOYW1lPSJtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyIlxuICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lm1heC1tZXNzYWdlcy1xdWV1ZS1mb3Itd29ya2VyLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9IndvcmtlcnNDb25maWdGb3JtR3JvdXAuZ2V0KFwnbWF4TWVzc2FnZU51bWJlclBlcldvcmtlclwnKS5oYXNFcnJvcihcJ21pblwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3b3JrZXJzQ29uZmlnRm9ybUdyb3VwLmdldChcJ21heE1lc3NhZ2VOdW1iZXJQZXJXb3JrZXJcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcnNDb25maWdGb3JtR3JvdXAuZ2V0KFwnbWF4TWVzc2FnZU51bWJlclBlcldvcmtlclwnKS50b3VjaGVkKSJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgd2FybmluZ1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbid9XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9XX0pO2NsYXNzIGdve2NvbnN0cnVjdG9yKGUpe3RoaXMuZmI9ZSx0aGlzLmlzRXhwYW5zaW9uTW9kZT0hMSx0aGlzLmRlZmF1bHRWYWx1ZT1sbi5LZXksdGhpcy5yZXBvcnRTdHJhdGVneVR5cGVzPU9iamVjdC52YWx1ZXMoc24pLHRoaXMuUmVwb3J0VHlwZVRyYW5zbGF0ZU1hcD1jbix0aGlzLlJlcG9ydFN0cmF0ZWd5VHlwZT1zbix0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLnNob3dTdHJhdGVneUNvbnRyb2w9dGhpcy5mYi5jb250cm9sKCExKSx0aGlzLnJlcG9ydFN0cmF0ZWd5Rm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe3R5cGU6W3t2YWx1ZTpzbi5PblJlcG9ydFBlcmlvZCxkaXNhYmxlZDohMH0sW11dLHJlcG9ydFBlcmlvZDpbe3ZhbHVlOnRoaXMuZGVmYXVsdFZhbHVlLGRpc2FibGVkOiEwfSxbdWUucmVxdWlyZWRdXX0pLHRoaXMub2JzZXJ2ZVN0cmF0ZWd5Rm9ybUNoYW5nZSgpLHRoaXMub2JzZXJ2ZVN0cmF0ZWd5VG9nZ2xlKCl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9d3JpdGVWYWx1ZShlKXt0aGlzLmlzRXhwYW5zaW9uTW9kZSYmdGhpcy5zaG93U3RyYXRlZ3lDb250cm9sLnNldFZhbHVlKCEhZSx7ZW1pdEV2ZW50OiExfSksZSYmdGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC5lbmFibGUoe2VtaXRFdmVudDohMX0pO2NvbnN0e3R5cGU6dD1zbi5PblJlcG9ydFBlcmlvZCxyZXBvcnRQZXJpb2Q6bj10aGlzLmRlZmF1bHRWYWx1ZX09ZT8/e307dGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC5zZXRWYWx1ZSh7dHlwZTp0LHJlcG9ydFBlcmlvZDpufSx7ZW1pdEV2ZW50OiExfSksdGhpcy5vblR5cGVDaGFuZ2UodCl9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC52YWxpZHx8dGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC5kaXNhYmxlZD9udWxsOntyZXBvcnRTdHJhdGVneUZvcm06e3ZhbGlkOiExfX19cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLm9uQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7dGhpcy5vblRvdWNoZWQ9ZX1vYnNlcnZlU3RyYXRlZ3lGb3JtQ2hhbmdlKCl7dGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpLHRoaXMucmVwb3J0U3RyYXRlZ3lGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+dGhpcy5vblR5cGVDaGFuZ2UoZSkpKX1vYnNlcnZlU3RyYXRlZ3lUb2dnbGUoKXt0aGlzLnNob3dTdHJhdGVneUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCksTWUoKCgpPT50aGlzLmlzRXhwYW5zaW9uTW9kZSkpKS5zdWJzY3JpYmUoKGU9PntlPyh0aGlzLnJlcG9ydFN0cmF0ZWd5Rm9ybUdyb3VwLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC5nZXQoInJlcG9ydFBlcmlvZCIpLmFkZFZhbGlkYXRvcnModWUucmVxdWlyZWQpLHRoaXMub25DaGFuZ2UodGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC52YWx1ZSkpOih0aGlzLnJlcG9ydFN0cmF0ZWd5Rm9ybUdyb3VwLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHRoaXMucmVwb3J0U3RyYXRlZ3lGb3JtR3JvdXAuZ2V0KCJyZXBvcnRQZXJpb2QiKS5yZW1vdmVWYWxpZGF0b3JzKHVlLnJlcXVpcmVkKSx0aGlzLm9uQ2hhbmdlKG51bGwpKSx0aGlzLnJlcG9ydFN0cmF0ZWd5Rm9ybUdyb3VwLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohMX0pfSkpfW9uVHlwZUNoYW5nZShlKXtjb25zdCB0PXRoaXMucmVwb3J0U3RyYXRlZ3lGb3JtR3JvdXAuZ2V0KCJyZXBvcnRQZXJpb2QiKTtlPT09c24uT25DaGFuZ2U/dC5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KTp0aGlzLmlzRXhwYW5zaW9uTW9kZSYmIXRoaXMuc2hvd1N0cmF0ZWd5Q29udHJvbC52YWx1ZXx8dC5lbmFibGUoe2VtaXRFdmVudDohMX0pfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Z28sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpnbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLXJlcG9ydC1zdHJhdGVneSIsaW5wdXRzOntpc0V4cGFuc2lvbk1vZGU6ImlzRXhwYW5zaW9uTW9kZSIsZGVmYXVsdFZhbHVlOiJkZWZhdWx0VmFsdWUifSxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5nbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+Z28pKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IFtmb3JtR3JvdXBdPSJyZXBvcnRTdHJhdGVneUZvcm1Hcm91cCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gIDxtYXQtZXhwYW5zaW9uLXBhbmVsICpuZ0lmPSJpc0V4cGFuc2lvbk1vZGUgZWxzZSBkZWZhdWx0TW9kZSIgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJzaG93U3RyYXRlZ3lDb250cm9sLnZhbHVlIj5cbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZ4TGF5b3V0QWxpZ249ImNlbnRlciIgW2Zvcm1Db250cm9sXT0ic2hvd1N0cmF0ZWd5Q29udHJvbCIgY2xhc3M9Im1hdC1zbGlkZSIgKGNsaWNrKT0iJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LnJlcG9ydC1zdHJhdGVneS5sYWJlbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09InN0cmF0ZWd5RmllbGRzIj48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHRNb2RlPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LnJlcG9ydC1zdHJhdGVneS5sYWJlbDwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJzdHJhdGVneUZpZWxkcyI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSAjc3RyYXRlZ3lGaWVsZHM+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCI+e3sgXCdnYXRld2F5LnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHJlcG9ydFN0cmF0ZWd5VHlwZXMiIFt2YWx1ZV09InR5cGUiPnt7IFJlcG9ydFR5cGVUcmFuc2xhdGVNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9InJlcG9ydFN0cmF0ZWd5Rm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUgIT09IFJlcG9ydFN0cmF0ZWd5VHlwZS5PbkNoYW5nZSIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiPlxuICAgICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPlxuICAgICAgICAgIGdhdGV3YXkucmVwb3J0LXN0cmF0ZWd5LnJlcG9ydC1wZXJpb2RcbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXBvcnRQZXJpb2QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4nLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdUZW1wbGF0ZU91dGxldCxzZWxlY3RvcjoiW25nVGVtcGxhdGVPdXRsZXRdIixpbnB1dHM6WyJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCIsIm5nVGVtcGxhdGVPdXRsZXQiLCJuZ1RlbXBsYXRlT3V0bGV0SW5qZWN0b3IiXX0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWwsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwiLGlucHV0czpbImhpZGVUb2dnbGUiLCJ0b2dnbGVQb3NpdGlvbiJdLG91dHB1dHM6WyJhZnRlckV4cGFuZCIsImFmdGVyQ29sbGFwc2UiXSxleHBvcnRBczpbIm1hdEV4cGFuc2lvblBhbmVsIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIixpbnB1dHM6WyJleHBhbmRlZEhlaWdodCIsImNvbGxhcHNlZEhlaWdodCIsInRhYkluZGV4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxUaXRsZSxzZWxlY3RvcjoibWF0LXBhbmVsLXRpdGxlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJSZXBvcnRTdHJhdGVneUNvbXBvbmVudCIsZ28pLEhlKFtOKCldLGdvLnByb3RvdHlwZSwiaXNFeHBhbnNpb25Nb2RlIix2b2lkIDApLEhlKFtCKCldLGdvLnByb3RvdHlwZSwiZGVmYXVsdFZhbHVlIix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Z28sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLXJlcG9ydC1zdHJhdGVneSIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PmdvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5nbykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsU2FdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBbZm9ybUdyb3VwXT0icmVwb3J0U3RyYXRlZ3lGb3JtR3JvdXAiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICA8bWF0LWV4cGFuc2lvbi1wYW5lbCAqbmdJZj0iaXNFeHBhbnNpb25Nb2RlIGVsc2UgZGVmYXVsdE1vZGUiIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ic2hvd1N0cmF0ZWd5Q29udHJvbC52YWx1ZSI+XG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmeExheW91dEFsaWduPSJjZW50ZXIiIFtmb3JtQ29udHJvbF09InNob3dTdHJhdGVneUNvbnRyb2wiIGNsYXNzPSJtYXQtc2xpZGUiIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5yZXBvcnQtc3RyYXRlZ3kubGFiZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJzdHJhdGVneUZpZWxkcyI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgPG5nLXRlbXBsYXRlICNkZWZhdWx0TW9kZT5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5yZXBvcnQtc3RyYXRlZ3kubGFiZWw8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0ic3RyYXRlZ3lGaWVsZHMiPjwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI3N0cmF0ZWd5RmllbGRzPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiPnt7IFwnZ2F0ZXdheS50eXBlXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSI+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiByZXBvcnRTdHJhdGVneVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj57eyBSZXBvcnRUeXBlVHJhbnNsYXRlTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJyZXBvcnRTdHJhdGVneUZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlICE9PSBSZXBvcnRTdHJhdGVneVR5cGUuT25DaGFuZ2UiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIj5cbiAgICAgICAgPHNwYW4gdGJUcnVuY2F0ZVdpdGhUb29sdGlwIHRyYW5zbGF0ZT5cbiAgICAgICAgICBnYXRld2F5LnJlcG9ydC1zdHJhdGVneS5yZXBvcnQtcGVyaW9kXG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icmVwb3J0UGVyaW9kIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuJ31dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTptZS5Gb3JtQnVpbGRlcn1dLHByb3BEZWNvcmF0b3JzOntpc0V4cGFuc2lvbk1vZGU6W3t0eXBlOmF9XSxkZWZhdWx0VmFsdWU6W3t0eXBlOmF9XX19KTtjbGFzcyBmb3tjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy5pc01hc3Rlcj0hMSx0aGlzLmhpZGVOZXdGaWVsZHM9ITEsdGhpcy5rZXlzRGF0YUFwcGxpZWQ9bmV3IGksdGhpcy5tb2RidXNEYXRhVHlwZXM9T2JqZWN0LnZhbHVlcyhlYSksdGhpcy5tb2RpZmllclR5cGVzPU9iamVjdC52YWx1ZXMoT24pLHRoaXMud2l0aEZ1bmN0aW9uQ29kZT0hMCx0aGlzLndpdGhSZXBvcnRTdHJhdGVneT0hMCx0aGlzLmVuYWJsZU1vZGlmaWVyc0NvbnRyb2xNYXA9bmV3IE1hcCx0aGlzLnNob3dNb2RpZmllcnNNYXA9bmV3IE1hcCx0aGlzLmZ1bmN0aW9uQ29kZXNNYXA9bmV3IE1hcCx0aGlzLmRlZmF1bHRGdW5jdGlvbkNvZGVzPVtdLHRoaXMuTW9kYnVzRWRpdGFibGVEYXRhVHlwZXM9dGEsdGhpcy5Nb2RidXNGdW5jdGlvbkNvZGVUcmFuc2xhdGlvbnNNYXA9enQsdGhpcy5Nb2RpZmllclR5cGVzTWFwPVJuLHRoaXMuUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWU9bG4sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5kZWZhdWx0UmVhZEZ1bmN0aW9uQ29kZXM9WzMsNF0sdGhpcy5iaXRzUmVhZEZ1bmN0aW9uQ29kZXM9WzEsMl0sdGhpcy5kZWZhdWx0V3JpdGVGdW5jdGlvbkNvZGVzPVs2LDE2XSx0aGlzLmJpdHNXcml0ZUZ1bmN0aW9uQ29kZXM9WzUsMTVdfW5nT25Jbml0KCl7dGhpcy53aXRoRnVuY3Rpb25Db2RlPSF0aGlzLmlzTWFzdGVyfHx0aGlzLmtleXNUeXBlIT09YWEuQVRUUklCVVRFUyYmdGhpcy5rZXlzVHlwZSE9PWFhLlRJTUVTRVJJRVMsdGhpcy53aXRoUmVwb3J0U3RyYXRlZ3k9ISh0aGlzLmlzTWFzdGVyfHx0aGlzLmtleXNUeXBlIT09YWEuQVRUUklCVVRFUyYmdGhpcy5rZXlzVHlwZSE9PWFhLlRJTUVTRVJJRVN8fHRoaXMuaGlkZU5ld0ZpZWxkcyksdGhpcy5rZXlzTGlzdEZvcm1BcnJheT10aGlzLnByZXBhcmVLZXlzRm9ybUFycmF5KHRoaXMudmFsdWVzKSx0aGlzLmRlZmF1bHRGdW5jdGlvbkNvZGVzPXRoaXMuZ2V0RGVmYXVsdEZ1bmN0aW9uQ29kZXMoKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX10cmFja0J5Q29udHJvbElkKGUsdCl7cmV0dXJuIHQudmFsdWUuaWR9YWRkS2V5KCl7Y29uc3QgZT1zZSg1KSx0PXRoaXMuZmIuZ3JvdXAoe3RhZzpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sdmFsdWU6W3t2YWx1ZToiIixkaXNhYmxlZDohdGhpcy5pc01hc3Rlcn0sW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sdHlwZTpbZWEuQllURVMsW3VlLnJlcXVpcmVkXV0sYWRkcmVzczpbbnVsbCxbdWUucmVxdWlyZWRdXSxvYmplY3RzQ291bnQ6WzEsW3VlLnJlcXVpcmVkXV0sZnVuY3Rpb25Db2RlOlt7dmFsdWU6dGhpcy5nZXREZWZhdWx0RnVuY3Rpb25Db2RlcygpWzBdLGRpc2FibGVkOiF0aGlzLndpdGhGdW5jdGlvbkNvZGV9LFt1ZS5yZXF1aXJlZF1dLHJlcG9ydFN0cmF0ZWd5Olt7dmFsdWU6bnVsbCxkaXNhYmxlZDohdGhpcy53aXRoUmVwb3J0U3RyYXRlZ3l9XSxtb2RpZmllclR5cGU6W3t2YWx1ZTpPbi5NVUxUSVBMSUVSLGRpc2FibGVkOiEwfV0sbW9kaWZpZXJWYWx1ZTpbe3ZhbHVlOjEsZGlzYWJsZWQ6ITB9LFt1ZS5wYXR0ZXJuKEZ0KV1dLGlkOlt7dmFsdWU6ZSxkaXNhYmxlZDohMH1dfSk7dGhpcy5zaG93TW9kaWZpZXJzTWFwLnNldChlLCExKSx0aGlzLmVuYWJsZU1vZGlmaWVyc0NvbnRyb2xNYXAuc2V0KGUsdGhpcy5mYi5jb250cm9sKCExKSksdGhpcy5vYnNlcnZlS2V5RGF0YVR5cGUodCksdGhpcy5vYnNlcnZlRW5hYmxlTW9kaWZpZXIodCksdGhpcy5rZXlzTGlzdEZvcm1BcnJheS5wdXNoKHQpfWRlbGV0ZUtleShlLHQpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5rZXlzTGlzdEZvcm1BcnJheS5yZW1vdmVBdCh0KSx0aGlzLmtleXNMaXN0Rm9ybUFycmF5Lm1hcmtBc0RpcnR5KCl9Y2FuY2VsKCl7dGhpcy5wb3BvdmVyLmhpZGUoKX1hcHBseUtleXNEYXRhKCl7dGhpcy5rZXlzRGF0YUFwcGxpZWQuZW1pdCh0aGlzLmdldEZvcm1WYWx1ZSgpKX1nZXRGb3JtVmFsdWUoKXtyZXR1cm4gdGhpcy5tYXBLZXlzV2l0aE1vZGlmaWVyKHRoaXMud2l0aFJlcG9ydFN0cmF0ZWd5P3RoaXMuY2xlYW5VcEVtcHR5U3RyYXRlZ2llcyh0aGlzLmtleXNMaXN0Rm9ybUFycmF5LnZhbHVlKTp0aGlzLmtleXNMaXN0Rm9ybUFycmF5LnZhbHVlKX1jbGVhblVwRW1wdHlTdHJhdGVnaWVzKGUpe3JldHVybiBlLm1hcCgoZT0+e2NvbnN0e3JlcG9ydFN0cmF0ZWd5OnQsLi4ubn09ZTtyZXR1cm4gdD9lOm59KSl9bWFwS2V5c1dpdGhNb2RpZmllcihlKXtyZXR1cm4gZS5tYXAoKChlLHQpPT57aWYodGhpcy5zaG93TW9kaWZpZXJzTWFwLmdldCh0aGlzLmtleXNMaXN0Rm9ybUFycmF5LmNvbnRyb2xzW3RdLmdldCgiaWQiKS52YWx1ZSkpe2NvbnN0e21vZGlmaWVyVHlwZTp0LG1vZGlmaWVyVmFsdWU6biwuLi5hfT1lO3JldHVybiB0P3suLi5hLFt0XTpufTphfXJldHVybiBlfSkpfXByZXBhcmVLZXlzRm9ybUFycmF5KGUpe2NvbnN0IHQ9W107cmV0dXJuIGUmJmUuZm9yRWFjaCgoZT0+e2NvbnN0IG49dGhpcy5jcmVhdGVEYXRhS2V5Rm9ybUdyb3VwKGUpO3RoaXMub2JzZXJ2ZUtleURhdGFUeXBlKG4pLHRoaXMub2JzZXJ2ZUVuYWJsZU1vZGlmaWVyKG4pLHRoaXMuZnVuY3Rpb25Db2Rlc01hcC5zZXQobi5nZXQoImlkIikudmFsdWUsdGhpcy5nZXRGdW5jdGlvbkNvZGVzKGUudHlwZSkpLHQucHVzaChuKX0pKSx0aGlzLmZiLmFycmF5KHQpfWNyZWF0ZURhdGFLZXlGb3JtR3JvdXAoZSl7Y29uc3R7dGFnOnQsdmFsdWU6bix0eXBlOmEsYWRkcmVzczpvLG9iamVjdHNDb3VudDppLGZ1bmN0aW9uQ29kZTpyLG11bHRpcGxpZXI6cyxkaXZpZGVyOmwscmVwb3J0U3RyYXRlZ3k6Y309ZSxwPXNlKDUpLG09dGhpcy5zaG91bGRTaG93TW9kaWZpZXIoYSk7cmV0dXJuIHRoaXMuc2hvd01vZGlmaWVyc01hcC5zZXQocCxtKSx0aGlzLmVuYWJsZU1vZGlmaWVyc0NvbnRyb2xNYXAuc2V0KHAsdGhpcy5mYi5jb250cm9sKChzfHxsKSYmbSkpLHRoaXMuZmIuZ3JvdXAoe3RhZzpbdCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx2YWx1ZTpbe3ZhbHVlOm4sZGlzYWJsZWQ6IXRoaXMuaXNNYXN0ZXJ9LFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHR5cGU6W2EsW3VlLnJlcXVpcmVkXV0sYWRkcmVzczpbbyxbdWUucmVxdWlyZWRdXSxvYmplY3RzQ291bnQ6W2ksW3VlLnJlcXVpcmVkXV0sZnVuY3Rpb25Db2RlOlt7dmFsdWU6cixkaXNhYmxlZDohdGhpcy53aXRoRnVuY3Rpb25Db2RlfSxbdWUucmVxdWlyZWRdXSxtb2RpZmllclR5cGU6W3t2YWx1ZTpsP09uLkRJVklERVI6T24uTVVMVElQTElFUixkaXNhYmxlZDohdGhpcy5lbmFibGVNb2RpZmllcnNDb250cm9sTWFwLmdldChwKS52YWx1ZX1dLG1vZGlmaWVyVmFsdWU6W3t2YWx1ZTpzPz9sPz8xLGRpc2FibGVkOiF0aGlzLmVuYWJsZU1vZGlmaWVyc0NvbnRyb2xNYXAuZ2V0KHApLnZhbHVlfSxbdWUucGF0dGVybihGdCldXSxpZDpbe3ZhbHVlOnAsZGlzYWJsZWQ6ITB9XSxyZXBvcnRTdHJhdGVneTpbe3ZhbHVlOmMsZGlzYWJsZWQ6IXRoaXMud2l0aFJlcG9ydFN0cmF0ZWd5fV19KX1zaG91bGRTaG93TW9kaWZpZXIoZSl7cmV0dXJuISh0aGlzLmlzTWFzdGVyfHx0aGlzLmtleXNUeXBlIT09YWEuQVRUUklCVVRFUyYmdGhpcy5rZXlzVHlwZSE9PWFhLlRJTUVTRVJJRVN8fHRoaXMuTW9kYnVzRWRpdGFibGVEYXRhVHlwZXMuaW5jbHVkZXMoZSkpfW9ic2VydmVLZXlEYXRhVHlwZShlKXtlLmdldCgidHlwZSIpLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHQ9Pnt0aGlzLk1vZGJ1c0VkaXRhYmxlRGF0YVR5cGVzLmluY2x1ZGVzKHQpfHxlLmdldCgib2JqZWN0c0NvdW50IikucGF0Y2hWYWx1ZShuYVt0XSx7ZW1pdEV2ZW50OiExfSk7Y29uc3Qgbj10aGlzLnNob3VsZFNob3dNb2RpZmllcih0KTt0aGlzLnNob3dNb2RpZmllcnNNYXAuc2V0KGUuZ2V0KCJpZCIpLnZhbHVlLG4pLHRoaXMudXBkYXRlRnVuY3Rpb25Db2RlcyhlLHQpfSkpfW9ic2VydmVFbmFibGVNb2RpZmllcihlKXt0aGlzLmVuYWJsZU1vZGlmaWVyc0NvbnRyb2xNYXAuZ2V0KGUuZ2V0KCJpZCIpLnZhbHVlKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh0PT50aGlzLnRvZ2dsZU1vZGlmaWVyQ29udHJvbHMoZSx0KSkpfXRvZ2dsZU1vZGlmaWVyQ29udHJvbHMoZSx0KXtjb25zdCBuPWUuZ2V0KCJtb2RpZmllclR5cGUiKSxhPWUuZ2V0KCJtb2RpZmllclZhbHVlIik7dD8obi5lbmFibGUoKSxhLmVuYWJsZSgpKToobi5kaXNhYmxlKCksYS5kaXNhYmxlKCkpfXVwZGF0ZUZ1bmN0aW9uQ29kZXMoZSx0KXtjb25zdCBuPXRoaXMuZ2V0RnVuY3Rpb25Db2Rlcyh0KTt0aGlzLmZ1bmN0aW9uQ29kZXNNYXAuc2V0KGUuZ2V0KCJpZCIpLnZhbHVlLG4pLG4uaW5jbHVkZXMoZS5nZXQoImZ1bmN0aW9uQ29kZSIpLnZhbHVlKXx8ZS5nZXQoImZ1bmN0aW9uQ29kZSIpLnBhdGNoVmFsdWUoblswXSx7ZW1pdEV2ZW50OiExfSl9Z2V0RnVuY3Rpb25Db2RlcyhlKXtjb25zdCB0PVsuLi5lPT09ZWEuQklUUz90aGlzLmJpdHNXcml0ZUZ1bmN0aW9uQ29kZXM6W10sLi4udGhpcy5kZWZhdWx0V3JpdGVGdW5jdGlvbkNvZGVzXTtpZih0aGlzLmtleXNUeXBlPT09YWEuQVRUUklCVVRFU19VUERBVEVTKXJldHVybiB0LnNvcnQoKChlLHQpPT5lLXQpKTtjb25zdCBuPVsuLi50aGlzLmRlZmF1bHRSZWFkRnVuY3Rpb25Db2Rlc107cmV0dXJuIGU9PT1lYS5CSVRTJiZuLnB1c2goLi4udGhpcy5iaXRzUmVhZEZ1bmN0aW9uQ29kZXMpLHRoaXMua2V5c1R5cGU9PT1hYS5SUENfUkVRVUVTVFMmJm4ucHVzaCguLi50KSxuLnNvcnQoKChlLHQpPT5lLXQpKX1nZXREZWZhdWx0RnVuY3Rpb25Db2Rlcygpe3JldHVybiB0aGlzLmtleXNUeXBlPT09YWEuQVRUUklCVVRFU19VUERBVEVTP3RoaXMuZGVmYXVsdFdyaXRlRnVuY3Rpb25Db2Rlczp0aGlzLmtleXNUeXBlPT09YWEuUlBDX1JFUVVFU1RTP1suLi50aGlzLmRlZmF1bHRSZWFkRnVuY3Rpb25Db2RlcywuLi50aGlzLmRlZmF1bHRXcml0ZUZ1bmN0aW9uQ29kZXNdOnRoaXMuZGVmYXVsdFJlYWRGdW5jdGlvbkNvZGVzfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Zm8sZGVwczpbe3Rva2VuOm1lLlVudHlwZWRGb3JtQnVpbGRlcn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6Zm8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1tb2RidXMtZGF0YS1rZXlzLXBhbmVsIixpbnB1dHM6e2lzTWFzdGVyOiJpc01hc3RlciIsaGlkZU5ld0ZpZWxkczoiaGlkZU5ld0ZpZWxkcyIscGFuZWxUaXRsZToicGFuZWxUaXRsZSIsYWRkS2V5VGl0bGU6ImFkZEtleVRpdGxlIixkZWxldGVLZXlUaXRsZToiZGVsZXRlS2V5VGl0bGUiLG5vS2V5c1RleHQ6Im5vS2V5c1RleHQiLGtleXNUeXBlOiJrZXlzVHlwZSIsdmFsdWVzOiJ2YWx1ZXMiLHBvcG92ZXI6InBvcG92ZXIifSxvdXRwdXRzOntrZXlzRGF0YUFwcGxpZWQ6ImtleXNEYXRhQXBwbGllZCJ9LG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1tb2RidXMta2V5cy1wYW5lbCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPnt7IHBhbmVsVGl0bGUgIHwgdHJhbnNsYXRlIH19e3tcJyAoXCcgKyBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGggKyBcJylcJ319PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBrZXktcGFuZWwiICpuZ0lmPSJrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGg7IGVsc2Ugbm9LZXlzIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItZmxleCBuby1mbGV4IHJvdyBjZW50ZXIgZmlsbC13aWR0aCJcbiAgICAgICAgICAgKm5nRm9yPSJsZXQga2V5Q29udHJvbCBvZiBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9sczsgdHJhY2tCeTogdHJhY2tCeUNvbnRyb2xJZDsgbGV0ICRpbmRleCA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3Q7Ij5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLWZsZXgiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09ImtleUNvbnRyb2wiPlxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJsYXN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9ImlzTWFzdGVyIGVsc2UgdGFnTmFtZSIgY2xhc3M9InRpdGxlLWNvbnRhaW5lciIgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPlxuICAgICAgICAgICAgICAgICAgICB7eyBrZXlDb250cm9sLmdldChcJ3RhZ1wnKS52YWx1ZSB9fXt7IFwnLVwnIH19e3sga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS52YWx1ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3RhZ05hbWU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlLWNvbnRhaW5lciB0Yi1mbGV4Ij57eyBcJ2dhdGV3YXkua2V5XCcgfCB0cmFuc2xhdGUgfX06XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ia2V5LWxhYmVsIiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sga2V5Q29udHJvbC5nZXQoXCd0YWdcJykudmFsdWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUtY29udGFpbmVyIj57eyBcJ2dhdGV3YXkuYWRkcmVzc1wnIHwgdHJhbnNsYXRlIH19OlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImtleS1sYWJlbCI+e3sga2V5Q29udHJvbC5nZXQoXCdhZGRyZXNzXCcpLnZhbHVlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlLWNvbnRhaW5lciI+e3sgXCdnYXRld2F5LnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTpcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrZXktbGFiZWwiPnt7IGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0RXhwYW5zaW9uUGFuZWxDb250ZW50PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwgdGItZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuZGF0YS1rZXlzXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9tb2RidXMtZnVuY3Rpb25zLWRhdGEtdHlwZXNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5wbGF0Zm9ybS1zaWRlPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmtleVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgZ2F0ZXdheS5rZXlcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRhZyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5rZXktcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImtleUNvbnRyb2wuZ2V0KFwndGFnXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlDb250cm9sLmdldChcJ3RhZ1wnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9yLXNpZGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgIGdhdGV3YXkudHlwZVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIG1vZGJ1c0RhdGFUeXBlcyIgW3ZhbHVlXT0idHlwZSI+e3sgdHlwZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj0id2l0aEZ1bmN0aW9uQ29kZSIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuZnVuY3Rpb24tY29kZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZnVuY3Rpb25Db2RlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9ImxldCBjb2RlIG9mIGZ1bmN0aW9uQ29kZXNNYXAuZ2V0KGtleUNvbnRyb2wuZ2V0KFwnaWRcJykudmFsdWUpIHx8IGRlZmF1bHRGdW5jdGlvbkNvZGVzIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09ImNvZGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBNb2RidXNGdW5jdGlvbkNvZGVUcmFuc2xhdGlvbnNNYXAuZ2V0KGNvZGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5vYmplY3RzLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5Lm9iamVjdHMtY291bnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtaW49IjEiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1heD0iNTAwMDAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9Im9iamVjdHNDb3VudCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT0iIU1vZGJ1c0VkaXRhYmxlRGF0YVR5cGVzLmluY2x1ZGVzKGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5vYmplY3RzLWNvdW50LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ29iamVjdHNDb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCdvYmplY3RzQ291bnRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmFkZHJlc3NcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuYWRkcmVzczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbWF4PSI1MDAwMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iYWRkcmVzcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5hZGRyZXNzLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ2FkZHJlc3NcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleUNvbnRyb2wuZ2V0KFwnYWRkcmVzc1wnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9InNob3dNb2RpZmllcnNNYXAuZ2V0KGtleUNvbnRyb2wuZ2V0KFwnaWRcJykudmFsdWUpIiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLXNsaWRlLXRvZ2dsZSI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0iZW5hYmxlTW9kaWZpZXJzQ29udHJvbE1hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdpZFwnKS52YWx1ZSkudmFsdWUiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciBmeExheW91dD0icm93IHdyYXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJjZW50ZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT0iZW5hYmxlTW9kaWZpZXJzQ29udHJvbE1hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdpZFwnKS52YWx1ZSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1hdC1zbGlkZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLm1vZGlmaWVyXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1vZGlmaWVyXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMgdGItZmxleCBmdWxsLXdpZHRoIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50eXBlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGZpbGwtd2lkdGgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9Im1vZGlmaWVyVHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBhbGlnbi1jZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJ0Yi1tYXQtMTgiIFtzdmdJY29uXT0iTW9kaWZpZXJUeXBlc01hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclR5cGVcJykudmFsdWUpPy5pY29uIj48L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgTW9kaWZpZXJUeXBlc01hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclR5cGVcJykudmFsdWUpPy5uYW1lIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBtb2RpZmllclR5cGUgb2YgbW9kaWZpZXJUeXBlcyIgW3ZhbHVlXT0ibW9kaWZpZXJUeXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0yMCIgc3ZnSWNvbj0ie3sgTW9kaWZpZXJUeXBlc01hcC5nZXQobW9kaWZpZXJUeXBlKS5pY29uIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IE1vZGlmaWVyVHlwZXNNYXAuZ2V0KG1vZGlmaWVyVHlwZSkubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0ibW9kaWZpZXJWYWx1ZSIgc3RlcD0iMC4xIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lm1vZGlmaWVyLWludmFsaWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclZhbHVlXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleUNvbnRyb2wuZ2V0KFwnbW9kaWZpZXJWYWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9ImlzTWFzdGVyIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS52YWx1ZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1yZXBvcnQtc3RyYXRlZ3lcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9IndpdGhSZXBvcnRTdHJhdGVneSJcbiAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRWYWx1ZV09IlJlcG9ydFN0cmF0ZWd5RGVmYXVsdFZhbHVlLktleSJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJyZXBvcnRTdHJhdGVneSJcbiAgICAgICAgICAgICAgICAgICAgW2lzRXhwYW5zaW9uTW9kZV09InRydWUiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlS2V5KCRldmVudCwgJGluZGV4KSJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09ImRlbGV0ZUtleVRpdGxlIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXY+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJhZGRLZXkoKSI+XG4gICAgICAgIHt7IGFkZEtleVRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjbm9LZXlzPlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIGtleS1wYW5lbCI+XG4gICAgICA8c3BhbiBjbGFzcz0idGItcHJvbXB0IiB0cmFuc2xhdGU+e3sgbm9LZXlzVGV4dCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz0idGItZmxleCBmbGV4LWVuZCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uXG4gICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIChjbGljayk9ImNhbmNlbCgpIj5cbiAgICAgIHt7IFwnYWN0aW9uLmNhbmNlbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAoY2xpY2spPSJhcHBseUtleXNEYXRhKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJrZXlzTGlzdEZvcm1BcnJheS5pbnZhbGlkIHx8ICFrZXlzTGlzdEZvcm1BcnJheS5kaXJ0eSI+XG4gICAgICB7eyBcJ2FjdGlvbi5hcHBseVwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnRiLW1vZGJ1cy1rZXlzLXBhbmVse3dpZHRoOjc3dnc7bWF4LXdpZHRoOjcwMHB4fTpob3N0IC50Yi1tb2RidXMta2V5cy1wYW5lbCAudGl0bGUtY29udGFpbmVye3dpZHRoOjE4MHB4fTpob3N0IC50Yi1tb2RidXMta2V5cy1wYW5lbCAua2V5LWxhYmVse2ZvbnQtd2VpZ2h0OjQwMH06aG9zdCAudGItbW9kYnVzLWtleXMtcGFuZWwgLmtleS1wYW5lbHtoZWlnaHQ6NTAwcHg7b3ZlcmZsb3c6YXV0b306aG9zdCAudGItbW9kYnVzLWtleXMtcGFuZWwgLnRiLWZvcm0tcGFuZWwgLm1hdC1tZGMtaWNvbi1idXR0b257d2lkdGg6NTZweDtoZWlnaHQ6NTZweDtwYWRkaW5nOjE2cHg7Y29sb3I6IzAwMDAwMDhhfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmd0LkhlbHBQb3B1cENvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhlbHAtcG9wdXBdLCBbdGItaGVscC1wb3B1cC1jb250ZW50XSIsaW5wdXRzOlsidGItaGVscC1wb3B1cCIsInRiLWhlbHAtcG9wdXAtY29udGVudCIsInRyaWdnZXItdGV4dCIsInRyaWdnZXItc3R5bGUiLCJ0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudCIsInRiLWhlbHAtcG9wdXAtc3R5bGUiLCJoaW50TW9kZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOndlLk1hdFNlbGVjdFRyaWdnZXIsc2VsZWN0b3I6Im1hdC1zZWxlY3QtdHJpZ2dlciJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmV0Lk1hdFNsaWRlVG9nZ2xlLHNlbGVjdG9yOiJtYXQtc2xpZGUtdG9nZ2xlIixpbnB1dHM6WyJuYW1lIiwiaWQiLCJsYWJlbFBvc2l0aW9uIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImFyaWEtZGVzY3JpYmVkYnkiLCJyZXF1aXJlZCIsImNvbG9yIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJjaGVja2VkIiwiaGlkZUljb24iLCJkaXNhYmxlZEludGVyYWN0aXZlIl0sb3V0cHV0czpbImNoYW5nZSIsInRvZ2dsZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2xpZGVUb2dnbGUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbCxzZWxlY3RvcjoibWF0LWV4cGFuc2lvbi1wYW5lbCIsaW5wdXRzOlsiaGlkZVRvZ2dsZSIsInRvZ2dsZVBvc2l0aW9uIl0sb3V0cHV0czpbImFmdGVyRXhwYW5kIiwiYWZ0ZXJDb2xsYXBzZSJdLGV4cG9ydEFzOlsibWF0RXhwYW5zaW9uUGFuZWwiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbEhlYWRlcixzZWxlY3RvcjoibWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIiLGlucHV0czpbImV4cGFuZGVkSGVpZ2h0IiwiY29sbGFwc2VkSGVpZ2h0IiwidGFiSW5kZXgiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbFRpdGxlLHNlbGVjdG9yOiJtYXQtcGFuZWwtdGl0bGUifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsQ29udGVudCxzZWxlY3RvcjoibmctdGVtcGxhdGVbbWF0RXhwYW5zaW9uUGFuZWxDb250ZW50XSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRBbGlnbkRpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRBbGlnbl0sIFtmeExheW91dEFsaWduLnhzXSwgW2Z4TGF5b3V0QWxpZ24uc21dLCBbZnhMYXlvdXRBbGlnbi5tZF0sICBbZnhMYXlvdXRBbGlnbi5sZ10sIFtmeExheW91dEFsaWduLnhsXSwgW2Z4TGF5b3V0QWxpZ24ubHQtc21dLCBbZnhMYXlvdXRBbGlnbi5sdC1tZF0sICBbZnhMYXlvdXRBbGlnbi5sdC1sZ10sIFtmeExheW91dEFsaWduLmx0LXhsXSwgW2Z4TGF5b3V0QWxpZ24uZ3QteHNdLCBbZnhMYXlvdXRBbGlnbi5ndC1zbV0sICBbZnhMYXlvdXRBbGlnbi5ndC1tZF0sIFtmeExheW91dEFsaWduLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRBbGlnbiIsImZ4TGF5b3V0QWxpZ24ueHMiLCJmeExheW91dEFsaWduLnNtIiwiZnhMYXlvdXRBbGlnbi5tZCIsImZ4TGF5b3V0QWxpZ24ubGciLCJmeExheW91dEFsaWduLnhsIiwiZnhMYXlvdXRBbGlnbi5sdC1zbSIsImZ4TGF5b3V0QWxpZ24ubHQtbWQiLCJmeExheW91dEFsaWduLmx0LWxnIiwiZnhMYXlvdXRBbGlnbi5sdC14bCIsImZ4TGF5b3V0QWxpZ24uZ3QteHMiLCJmeExheW91dEFsaWduLmd0LXNtIiwiZnhMYXlvdXRBbGlnbi5ndC1tZCIsImZ4TGF5b3V0QWxpZ24uZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRGbGV4RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeEZsZXhdLCBbZnhGbGV4LnhzXSwgW2Z4RmxleC5zbV0sIFtmeEZsZXgubWRdLCAgW2Z4RmxleC5sZ10sIFtmeEZsZXgueGxdLCBbZnhGbGV4Lmx0LXNtXSwgW2Z4RmxleC5sdC1tZF0sICBbZnhGbGV4Lmx0LWxnXSwgW2Z4RmxleC5sdC14bF0sIFtmeEZsZXguZ3QteHNdLCBbZnhGbGV4Lmd0LXNtXSwgIFtmeEZsZXguZ3QtbWRdLCBbZnhGbGV4Lmd0LWxnXSIsaW5wdXRzOlsiZnhGbGV4IiwiZnhGbGV4LnhzIiwiZnhGbGV4LnNtIiwiZnhGbGV4Lm1kIiwiZnhGbGV4LmxnIiwiZnhGbGV4LnhsIiwiZnhGbGV4Lmx0LXNtIiwiZnhGbGV4Lmx0LW1kIiwiZnhGbGV4Lmx0LWxnIiwiZnhGbGV4Lmx0LXhsIiwiZnhGbGV4Lmd0LXhzIiwiZnhGbGV4Lmd0LXNtIiwiZnhGbGV4Lmd0LW1kIiwiZnhGbGV4Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTnVtYmVyVmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbmdNb2RlbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5SZXF1aXJlZFZhbGlkYXRvcixzZWxlY3RvcjoiOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbE5hbWVdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bbmdNb2RlbF0iLGlucHV0czpbInJlcXVpcmVkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWF4VmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttYXhdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtuZ01vZGVsXSIsaW5wdXRzOlsibWF4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpnbyxzZWxlY3RvcjoidGItcmVwb3J0LXN0cmF0ZWd5IixpbnB1dHM6WyJpc0V4cGFuc2lvbk1vZGUiLCJkZWZhdWx0VmFsdWUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dfSl9fWUoIk1vZGJ1c0RhdGFLZXlzUGFuZWxDb21wb25lbnQiLGZvKSxIZShbTigpXSxmby5wcm90b3R5cGUsImlzTWFzdGVyIix2b2lkIDApLEhlKFtOKCldLGZvLnByb3RvdHlwZSwiaGlkZU5ld0ZpZWxkcyIsdm9pZCAwKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmZvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1tb2RidXMtZGF0YS1rZXlzLXBhbmVsIixzdGFuZGFsb25lOiEwLGltcG9ydHM6W0gsRCxUYSxnbyxTYV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1tb2RidXMta2V5cy1wYW5lbCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPnt7IHBhbmVsVGl0bGUgIHwgdHJhbnNsYXRlIH19e3tcJyAoXCcgKyBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGggKyBcJylcJ319PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBrZXktcGFuZWwiICpuZ0lmPSJrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGg7IGVsc2Ugbm9LZXlzIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItZmxleCBuby1mbGV4IHJvdyBjZW50ZXIgZmlsbC13aWR0aCJcbiAgICAgICAgICAgKm5nRm9yPSJsZXQga2V5Q29udHJvbCBvZiBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9sczsgdHJhY2tCeTogdHJhY2tCeUNvbnRyb2xJZDsgbGV0ICRpbmRleCA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3Q7Ij5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLWZsZXgiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09ImtleUNvbnRyb2wiPlxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJsYXN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9ImlzTWFzdGVyIGVsc2UgdGFnTmFtZSIgY2xhc3M9InRpdGxlLWNvbnRhaW5lciIgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPlxuICAgICAgICAgICAgICAgICAgICB7eyBrZXlDb250cm9sLmdldChcJ3RhZ1wnKS52YWx1ZSB9fXt7IFwnLVwnIH19e3sga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS52YWx1ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3RhZ05hbWU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlLWNvbnRhaW5lciB0Yi1mbGV4Ij57eyBcJ2dhdGV3YXkua2V5XCcgfCB0cmFuc2xhdGUgfX06XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ia2V5LWxhYmVsIiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sga2V5Q29udHJvbC5nZXQoXCd0YWdcJykudmFsdWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUtY29udGFpbmVyIj57eyBcJ2dhdGV3YXkuYWRkcmVzc1wnIHwgdHJhbnNsYXRlIH19OlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImtleS1sYWJlbCI+e3sga2V5Q29udHJvbC5nZXQoXCdhZGRyZXNzXCcpLnZhbHVlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlLWNvbnRhaW5lciI+e3sgXCdnYXRld2F5LnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTpcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrZXktbGFiZWwiPnt7IGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0RXhwYW5zaW9uUGFuZWxDb250ZW50PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwgdGItZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuZGF0YS1rZXlzXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9tb2RidXMtZnVuY3Rpb25zLWRhdGEtdHlwZXNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5wbGF0Zm9ybS1zaWRlPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmtleVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgZ2F0ZXdheS5rZXlcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRhZyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5rZXktcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImtleUNvbnRyb2wuZ2V0KFwndGFnXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlDb250cm9sLmdldChcJ3RhZ1wnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9yLXNpZGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgIGdhdGV3YXkudHlwZVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIG1vZGJ1c0RhdGFUeXBlcyIgW3ZhbHVlXT0idHlwZSI+e3sgdHlwZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj0id2l0aEZ1bmN0aW9uQ29kZSIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuZnVuY3Rpb24tY29kZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZnVuY3Rpb25Db2RlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9ImxldCBjb2RlIG9mIGZ1bmN0aW9uQ29kZXNNYXAuZ2V0KGtleUNvbnRyb2wuZ2V0KFwnaWRcJykudmFsdWUpIHx8IGRlZmF1bHRGdW5jdGlvbkNvZGVzIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09ImNvZGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBNb2RidXNGdW5jdGlvbkNvZGVUcmFuc2xhdGlvbnNNYXAuZ2V0KGNvZGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5vYmplY3RzLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5Lm9iamVjdHMtY291bnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtaW49IjEiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1heD0iNTAwMDAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9Im9iamVjdHNDb3VudCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT0iIU1vZGJ1c0VkaXRhYmxlRGF0YVR5cGVzLmluY2x1ZGVzKGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5vYmplY3RzLWNvdW50LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ29iamVjdHNDb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCdvYmplY3RzQ291bnRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmFkZHJlc3NcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuYWRkcmVzczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbWF4PSI1MDAwMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iYWRkcmVzcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5hZGRyZXNzLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ2FkZHJlc3NcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleUNvbnRyb2wuZ2V0KFwnYWRkcmVzc1wnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9InNob3dNb2RpZmllcnNNYXAuZ2V0KGtleUNvbnRyb2wuZ2V0KFwnaWRcJykudmFsdWUpIiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLXNsaWRlLXRvZ2dsZSI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0iZW5hYmxlTW9kaWZpZXJzQ29udHJvbE1hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdpZFwnKS52YWx1ZSkudmFsdWUiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciBmeExheW91dD0icm93IHdyYXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJjZW50ZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT0iZW5hYmxlTW9kaWZpZXJzQ29udHJvbE1hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdpZFwnKS52YWx1ZSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1hdC1zbGlkZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLm1vZGlmaWVyXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1vZGlmaWVyXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMgdGItZmxleCBmdWxsLXdpZHRoIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50eXBlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGZpbGwtd2lkdGgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9Im1vZGlmaWVyVHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBhbGlnbi1jZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJ0Yi1tYXQtMTgiIFtzdmdJY29uXT0iTW9kaWZpZXJUeXBlc01hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclR5cGVcJykudmFsdWUpPy5pY29uIj48L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgTW9kaWZpZXJUeXBlc01hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclR5cGVcJykudmFsdWUpPy5uYW1lIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBtb2RpZmllclR5cGUgb2YgbW9kaWZpZXJUeXBlcyIgW3ZhbHVlXT0ibW9kaWZpZXJUeXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0yMCIgc3ZnSWNvbj0ie3sgTW9kaWZpZXJUeXBlc01hcC5nZXQobW9kaWZpZXJUeXBlKS5pY29uIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IE1vZGlmaWVyVHlwZXNNYXAuZ2V0KG1vZGlmaWVyVHlwZSkubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0ibW9kaWZpZXJWYWx1ZSIgc3RlcD0iMC4xIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lm1vZGlmaWVyLWludmFsaWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclZhbHVlXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleUNvbnRyb2wuZ2V0KFwnbW9kaWZpZXJWYWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9ImlzTWFzdGVyIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS52YWx1ZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1yZXBvcnQtc3RyYXRlZ3lcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9IndpdGhSZXBvcnRTdHJhdGVneSJcbiAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRWYWx1ZV09IlJlcG9ydFN0cmF0ZWd5RGVmYXVsdFZhbHVlLktleSJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJyZXBvcnRTdHJhdGVneSJcbiAgICAgICAgICAgICAgICAgICAgW2lzRXhwYW5zaW9uTW9kZV09InRydWUiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlS2V5KCRldmVudCwgJGluZGV4KSJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09ImRlbGV0ZUtleVRpdGxlIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXY+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJhZGRLZXkoKSI+XG4gICAgICAgIHt7IGFkZEtleVRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjbm9LZXlzPlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIGtleS1wYW5lbCI+XG4gICAgICA8c3BhbiBjbGFzcz0idGItcHJvbXB0IiB0cmFuc2xhdGU+e3sgbm9LZXlzVGV4dCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz0idGItZmxleCBmbGV4LWVuZCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uXG4gICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIChjbGljayk9ImNhbmNlbCgpIj5cbiAgICAgIHt7IFwnYWN0aW9uLmNhbmNlbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAoY2xpY2spPSJhcHBseUtleXNEYXRhKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJrZXlzTGlzdEZvcm1BcnJheS5pbnZhbGlkIHx8ICFrZXlzTGlzdEZvcm1BcnJheS5kaXJ0eSI+XG4gICAgICB7eyBcJ2FjdGlvbi5hcHBseVwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnRiLW1vZGJ1cy1rZXlzLXBhbmVse3dpZHRoOjc3dnc7bWF4LXdpZHRoOjcwMHB4fTpob3N0IC50Yi1tb2RidXMta2V5cy1wYW5lbCAudGl0bGUtY29udGFpbmVye3dpZHRoOjE4MHB4fTpob3N0IC50Yi1tb2RidXMta2V5cy1wYW5lbCAua2V5LWxhYmVse2ZvbnQtd2VpZ2h0OjQwMH06aG9zdCAudGItbW9kYnVzLWtleXMtcGFuZWwgLmtleS1wYW5lbHtoZWlnaHQ6NTAwcHg7b3ZlcmZsb3c6YXV0b306aG9zdCAudGItbW9kYnVzLWtleXMtcGFuZWwgLnRiLWZvcm0tcGFuZWwgLm1hdC1tZGMtaWNvbi1idXR0b257d2lkdGg6NTZweDtoZWlnaHQ6NTZweDtwYWRkaW5nOjE2cHg7Y29sb3I6IzAwMDAwMDhhfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuVW50eXBlZEZvcm1CdWlsZGVyfV0scHJvcERlY29yYXRvcnM6e2lzTWFzdGVyOlt7dHlwZTphfV0saGlkZU5ld0ZpZWxkczpbe3R5cGU6YX1dLHBhbmVsVGl0bGU6W3t0eXBlOmF9XSxhZGRLZXlUaXRsZTpbe3R5cGU6YX1dLGRlbGV0ZUtleVRpdGxlOlt7dHlwZTphfV0sbm9LZXlzVGV4dDpbe3R5cGU6YX1dLGtleXNUeXBlOlt7dHlwZTphfV0sdmFsdWVzOlt7dHlwZTphfV0scG9wb3Zlcjpbe3R5cGU6YX1dLGtleXNEYXRhQXBwbGllZDpbe3R5cGU6bH1dfX0pO2NsYXNzIHlve2NvbnN0cnVjdG9yKGUsdCxuLGEsbyl7dGhpcy5mYj1lLHRoaXMucG9wb3ZlclNlcnZpY2U9dCx0aGlzLnJlbmRlcmVyPW4sdGhpcy52aWV3Q29udGFpbmVyUmVmPWEsdGhpcy5jZHI9byx0aGlzLnNpbmdsZU1vZGU9ITEsdGhpcy5oaWRlTmV3RmllbGRzPSExLHRoaXMuZGlzYWJsZWQ9ITEsdGhpcy5tb2RidXNSZWdpc3RlclR5cGVzPU9iamVjdC52YWx1ZXMoWG4pLHRoaXMubW9kYnVzVmFsdWVLZXlzPU9iamVjdC52YWx1ZXMoYWEpLHRoaXMuTW9kYnVzVmFsdWVzVHJhbnNsYXRpb25zTWFwPVpuLHRoaXMuTW9kYnVzVmFsdWVLZXk9YWEsdGhpcy5kZXN0cm95JD1uZXcgU2V9bmdPbkluaXQoKXt0aGlzLmluaXRpYWxpemVWYWx1ZXNGb3JtR3JvdXAoKSx0aGlzLm9ic2VydmVWYWx1ZXNDaGFuZ2VzKCl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLm9uQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7dGhpcy5vblRvdWNoZWQ9ZX13cml0ZVZhbHVlKGUpe2lmKHRoaXMuc2luZ2xlTW9kZSl0aGlzLnZhbHVlc0Zvcm1Hcm91cC5zZXRWYWx1ZSh0aGlzLmdldFNpbmdsZVJlZ2lzdGVyU3RhdGUoZSkse2VtaXRFdmVudDohMX0pO2Vsc2V7Y29uc3R7aG9sZGluZ19yZWdpc3RlcnM6dCxjb2lsc19pbml0aWFsaXplcjpuLGlucHV0X3JlZ2lzdGVyczphLGRpc2NyZXRlX2lucHV0czpvfT1lO3RoaXMudmFsdWVzRm9ybUdyb3VwLnNldFZhbHVlKHtob2xkaW5nX3JlZ2lzdGVyczp0aGlzLmdldFNpbmdsZVJlZ2lzdGVyU3RhdGUodCksY29pbHNfaW5pdGlhbGl6ZXI6dGhpcy5nZXRTaW5nbGVSZWdpc3RlclN0YXRlKG4pLGlucHV0X3JlZ2lzdGVyczp0aGlzLmdldFNpbmdsZVJlZ2lzdGVyU3RhdGUoYSksZGlzY3JldGVfaW5wdXRzOnRoaXMuZ2V0U2luZ2xlUmVnaXN0ZXJTdGF0ZShvKX0se2VtaXRFdmVudDohMX0pfXRoaXMuY2RyLm1hcmtGb3JDaGVjaygpfXZhbGlkYXRlKCl7cmV0dXJuIHRoaXMudmFsdWVzRm9ybUdyb3VwLnZhbGlkP251bGw6e3ZhbHVlc0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fX1zZXREaXNhYmxlZFN0YXRlKGUpe3RoaXMuZGlzYWJsZWQ9ZSx0aGlzLmNkci5tYXJrRm9yQ2hlY2soKX1nZXRWYWx1ZUdyb3VwKGUsdCl7cmV0dXJuIHQ/dGhpcy52YWx1ZXNGb3JtR3JvdXAuZ2V0KHQpLmdldChlKTp0aGlzLnZhbHVlc0Zvcm1Hcm91cC5nZXQoZSl9bWFuYWdlS2V5cyhlLHQsbixhKXtlLnN0b3BQcm9wYWdhdGlvbigpO2NvbnN0IG89dC5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O2lmKHRoaXMucG9wb3ZlclNlcnZpY2UuaGFzUG9wb3ZlcihvKSlyZXR1cm4gdm9pZCB0aGlzLnBvcG92ZXJTZXJ2aWNlLmhpZGVQb3BvdmVyKG8pO2NvbnN0IGk9dGhpcy5nZXRWYWx1ZUdyb3VwKG4sYSkscj17dmFsdWVzOmkudmFsdWUsaXNNYXN0ZXI6IXRoaXMuc2luZ2xlTW9kZSxrZXlzVHlwZTpuLHBhbmVsVGl0bGU6b2EuZ2V0KG4pLGFkZEtleVRpdGxlOmlhLmdldChuKSxkZWxldGVLZXlUaXRsZTpyYS5nZXQobiksbm9LZXlzVGV4dDpzYS5nZXQobiksaGlkZU5ld0ZpZWxkczp0aGlzLmhpZGVOZXdGaWVsZHN9LHM9dGhpcy5wb3BvdmVyU2VydmljZS5kaXNwbGF5UG9wb3ZlcihvLHRoaXMucmVuZGVyZXIsdGhpcy52aWV3Q29udGFpbmVyUmVmLGZvLCJsZWZ0Qm90dG9tIiwhMSxudWxsLHIse30se30se30sITApO3MudGJDb21wb25lbnRSZWYuaW5zdGFuY2UucG9wb3Zlcj1zLHMudGJDb21wb25lbnRSZWYuaW5zdGFuY2Uua2V5c0RhdGFBcHBsaWVkLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3MuaGlkZSgpLGkucGF0Y2hWYWx1ZShlKSxpLm1hcmtBc0RpcnR5KCksdGhpcy5jZHIubWFya0ZvckNoZWNrKCl9KSl9aW5pdGlhbGl6ZVZhbHVlc0Zvcm1Hcm91cCgpe2NvbnN0IGU9KCk9PnRoaXMuZmIuZ3JvdXAodGhpcy5tb2RidXNWYWx1ZUtleXMucmVkdWNlKCgoZSx0KT0+KGVbdF09dGhpcy5mYi5jb250cm9sKFtbXSxbXV0pLGUpKSx7fSkpO3RoaXMuc2luZ2xlTW9kZT90aGlzLnZhbHVlc0Zvcm1Hcm91cD1lKCk6dGhpcy52YWx1ZXNGb3JtR3JvdXA9dGhpcy5mYi5ncm91cCh0aGlzLm1vZGJ1c1JlZ2lzdGVyVHlwZXMucmVkdWNlKCgodCxuKT0+KHRbbl09ZSgpLHQpKSx7fSkpfW9ic2VydmVWYWx1ZXNDaGFuZ2VzKCl7dGhpcy52YWx1ZXNGb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMub25DaGFuZ2UoZSksdGhpcy5vblRvdWNoZWQoKX0pKX1nZXRTaW5nbGVSZWdpc3RlclN0YXRlKGUpe3JldHVybnthdHRyaWJ1dGVzOmU/LmF0dHJpYnV0ZXM/P1tdLHRpbWVzZXJpZXM6ZT8udGltZXNlcmllcz8/W10sYXR0cmlidXRlVXBkYXRlczplPy5hdHRyaWJ1dGVVcGRhdGVzPz9bXSxycGM6ZT8ucnBjPz9bXX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTp5byxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjpmdC5UYlBvcG92ZXJTZXJ2aWNlfSx7dG9rZW46dC5SZW5kZXJlcjJ9LHt0b2tlbjp0LlZpZXdDb250YWluZXJSZWZ9LHt0b2tlbjp0LkNoYW5nZURldGVjdG9yUmVmfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTp5byxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1vZGJ1cy12YWx1ZXMiLGlucHV0czp7c2luZ2xlTW9kZToic2luZ2xlTW9kZSIsaGlkZU5ld0ZpZWxkczoiaGlkZU5ld0ZpZWxkcyJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PnlvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT55bykpLG11bHRpOiEwfV0sbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcblxuPG5nLWNvbnRhaW5lciAqbmdJZj0ic2luZ2xlTW9kZSBlbHNlIG11bHRpcGxlVmlldyI+XG4gIDxkaXYgW2Zvcm1Hcm91cF09InZhbHVlc0Zvcm1Hcm91cCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJzaW5nbGVWaWV3IiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPSJ7JGltcGxpY2l0OiBudWxsfSI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjbXVsdGlwbGVWaWV3PlxuICA8bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0idmFsdWVzRm9ybUdyb3VwIj5cbiAgICA8bWF0LXRhYiAqbmdGb3I9ImxldCByZWdpc3RlciBvZiBtb2RidXNSZWdpc3RlclR5cGVzIiBsYWJlbD0ie3sgTW9kYnVzVmFsdWVzVHJhbnNsYXRpb25zTWFwLmdldChyZWdpc3RlcikgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiBbZm9ybUdyb3VwXT0idmFsdWVzRm9ybUdyb3VwLmdldChyZWdpc3RlcikiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09InNpbmdsZVZpZXciIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09InskaW1wbGljaXQ6IHJlZ2lzdGVyfSI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC10YWI+XG4gIDwvbWF0LXRhYi1ncm91cD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2luZ2xlVmlldyBsZXQtcmVnaXN0ZXI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZXM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5BVFRSSUJVVEVTLCByZWdpc3RlcikudmFsdWUiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZSBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVMsIHJlZ2lzdGVyKS52YWx1ZSI+XG4gICAgICAgICAge3sgYXR0cmlidXRlLnRhZyB9fVxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJkaXNhYmxlZCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAjYXR0cmlidXRlc0J1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgYXR0cmlidXRlc0J1dHRvbiwgTW9kYnVzVmFsdWVLZXkuQVRUUklCVVRFUywgcmVnaXN0ZXIpIj5cbiAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50aW1lc2VyaWVzPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggY2xhc3M9InRiLWZsZXgiIFt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdPSJnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LlRJTUVTRVJJRVMsIHJlZ2lzdGVyKS52YWx1ZSI+XG4gICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCB0ZWxlbWV0cnkgb2YgZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5USU1FU0VSSUVTLCByZWdpc3RlcikudmFsdWUiPlxuICAgICAgICAgIHt7IHRlbGVtZXRyeS50YWcgfX1cbiAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iZGlzYWJsZWQiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgI3RlbGVtZXRyeUJ1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgdGVsZW1ldHJ5QnV0dG9uLCBNb2RidXNWYWx1ZUtleS5USU1FU0VSSUVTLCByZWdpc3RlcikiPlxuICAgICAgICA8dGItaWNvbiBtYXRCdXR0b25JY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZS11cGRhdGVzPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09ImdldFZhbHVlR3JvdXAoTW9kYnVzVmFsdWVLZXkuQVRUUklCVVRFU19VUERBVEVTLCByZWdpc3RlcikudmFsdWUiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZVVwZGF0ZSBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVNfVVBEQVRFUywgcmVnaXN0ZXIpLnZhbHVlIj5cbiAgICAgICAgICB7eyBhdHRyaWJ1dGVVcGRhdGUudGFnIH19XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iZGlzYWJsZWQiXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICNhdHRyaWJ1dGVzVXBkYXRlc0J1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgYXR0cmlidXRlc1VwZGF0ZXNCdXR0b24sIE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVNfVVBEQVRFUywgcmVnaXN0ZXIpIj5cbiAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5ycGMtcmVxdWVzdHM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5SUENfUkVRVUVTVFMsIHJlZ2lzdGVyKS52YWx1ZSIgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgcnBjUmVxdWVzdCBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LlJQQ19SRVFVRVNUUywgcmVnaXN0ZXIpLnZhbHVlIj5cbiAgICAgICAgICB7eyBycGNSZXF1ZXN0LnRhZyB9fVxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJkaXNhYmxlZCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAjcnBjUmVxdWVzdHNCdXR0b25cbiAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIHJwY1JlcXVlc3RzQnV0dG9uLCBNb2RidXNWYWx1ZUtleS5SUENfUkVRVUVTVFMsIHJlZ2lzdGVyKSI+XG4gICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWJvZHktd3JhcHBlcnttaW4taGVpZ2h0OjMyMHB4fTo6bmctZGVlcCAubWRjLWV2b2x1dGlvbi1jaGlwLXNldF9fY2hpcHN7YWxpZ24taXRlbXM6Y2VudGVyfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1RlbXBsYXRlT3V0bGV0LHNlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0iLGlucHV0czpbIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IiwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRJbmplY3RvciJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp5dC5NYXRDaGlwLHNlbGVjdG9yOiJtYXQtYmFzaWMtY2hpcCwgW21hdC1iYXNpYy1jaGlwXSwgbWF0LWNoaXAsIFttYXQtY2hpcF0iLGlucHV0czpbInJvbGUiLCJpZCIsImFyaWEtbGFiZWwiLCJhcmlhLWRlc2NyaXB0aW9uIiwidmFsdWUiLCJjb2xvciIsInJlbW92YWJsZSIsImhpZ2hsaWdodGVkIiwiZGlzYWJsZVJpcHBsZSIsImRpc2FibGVkIl0sb3V0cHV0czpbInJlbW92ZWQiLCJkZXN0cm95ZWQiXSxleHBvcnRBczpbIm1hdENoaXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp5dC5NYXRDaGlwTGlzdGJveCxzZWxlY3RvcjoibWF0LWNoaXAtbGlzdGJveCIsaW5wdXRzOlsibXVsdGlwbGUiLCJhcmlhLW9yaWVudGF0aW9uIiwic2VsZWN0YWJsZSIsImNvbXBhcmVXaXRoIiwicmVxdWlyZWQiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwidmFsdWUiXSxvdXRwdXRzOlsiY2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YnQuVGJJY29uQ29tcG9uZW50LHNlbGVjdG9yOiJ0Yi1pY29uIixpbnB1dHM6WyJjb2xvciJdLGV4cG9ydEFzOlsidGJJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6a2Esc2VsZWN0b3I6Ilt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdIixpbnB1dHM6WyJ0Yi1lbGxpcHNpcy1jaGlwLWxpc3QiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJNb2RidXNWYWx1ZXNDb21wb25lbnQiLHlvKSxIZShbTigpXSx5by5wcm90b3R5cGUsInNpbmdsZU1vZGUiLHZvaWQgMCksSGUoW04oKV0seW8ucHJvdG90eXBlLCJoaWRlTmV3RmllbGRzIix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6eW8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy12YWx1ZXMiLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT55bykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+eW8pKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxELGthXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcblxuPG5nLWNvbnRhaW5lciAqbmdJZj0ic2luZ2xlTW9kZSBlbHNlIG11bHRpcGxlVmlldyI+XG4gIDxkaXYgW2Zvcm1Hcm91cF09InZhbHVlc0Zvcm1Hcm91cCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJzaW5nbGVWaWV3IiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPSJ7JGltcGxpY2l0OiBudWxsfSI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjbXVsdGlwbGVWaWV3PlxuICA8bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0idmFsdWVzRm9ybUdyb3VwIj5cbiAgICA8bWF0LXRhYiAqbmdGb3I9ImxldCByZWdpc3RlciBvZiBtb2RidXNSZWdpc3RlclR5cGVzIiBsYWJlbD0ie3sgTW9kYnVzVmFsdWVzVHJhbnNsYXRpb25zTWFwLmdldChyZWdpc3RlcikgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiBbZm9ybUdyb3VwXT0idmFsdWVzRm9ybUdyb3VwLmdldChyZWdpc3RlcikiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09InNpbmdsZVZpZXciIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09InskaW1wbGljaXQ6IHJlZ2lzdGVyfSI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC10YWI+XG4gIDwvbWF0LXRhYi1ncm91cD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2luZ2xlVmlldyBsZXQtcmVnaXN0ZXI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZXM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5BVFRSSUJVVEVTLCByZWdpc3RlcikudmFsdWUiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZSBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVMsIHJlZ2lzdGVyKS52YWx1ZSI+XG4gICAgICAgICAge3sgYXR0cmlidXRlLnRhZyB9fVxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJkaXNhYmxlZCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAjYXR0cmlidXRlc0J1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgYXR0cmlidXRlc0J1dHRvbiwgTW9kYnVzVmFsdWVLZXkuQVRUUklCVVRFUywgcmVnaXN0ZXIpIj5cbiAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50aW1lc2VyaWVzPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggY2xhc3M9InRiLWZsZXgiIFt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdPSJnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LlRJTUVTRVJJRVMsIHJlZ2lzdGVyKS52YWx1ZSI+XG4gICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCB0ZWxlbWV0cnkgb2YgZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5USU1FU0VSSUVTLCByZWdpc3RlcikudmFsdWUiPlxuICAgICAgICAgIHt7IHRlbGVtZXRyeS50YWcgfX1cbiAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iZGlzYWJsZWQiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgI3RlbGVtZXRyeUJ1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgdGVsZW1ldHJ5QnV0dG9uLCBNb2RidXNWYWx1ZUtleS5USU1FU0VSSUVTLCByZWdpc3RlcikiPlxuICAgICAgICA8dGItaWNvbiBtYXRCdXR0b25JY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZS11cGRhdGVzPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09ImdldFZhbHVlR3JvdXAoTW9kYnVzVmFsdWVLZXkuQVRUUklCVVRFU19VUERBVEVTLCByZWdpc3RlcikudmFsdWUiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZVVwZGF0ZSBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVNfVVBEQVRFUywgcmVnaXN0ZXIpLnZhbHVlIj5cbiAgICAgICAgICB7eyBhdHRyaWJ1dGVVcGRhdGUudGFnIH19XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iZGlzYWJsZWQiXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICNhdHRyaWJ1dGVzVXBkYXRlc0J1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgYXR0cmlidXRlc1VwZGF0ZXNCdXR0b24sIE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVNfVVBEQVRFUywgcmVnaXN0ZXIpIj5cbiAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5ycGMtcmVxdWVzdHM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5SUENfUkVRVUVTVFMsIHJlZ2lzdGVyKS52YWx1ZSIgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgcnBjUmVxdWVzdCBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LlJQQ19SRVFVRVNUUywgcmVnaXN0ZXIpLnZhbHVlIj5cbiAgICAgICAgICB7eyBycGNSZXF1ZXN0LnRhZyB9fVxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJkaXNhYmxlZCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAjcnBjUmVxdWVzdHNCdXR0b25cbiAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIHJwY1JlcXVlc3RzQnV0dG9uLCBNb2RidXNWYWx1ZUtleS5SUENfUkVRVUVTVFMsIHJlZ2lzdGVyKSI+XG4gICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWJvZHktd3JhcHBlcnttaW4taGVpZ2h0OjMyMHB4fTo6bmctZGVlcCAubWRjLWV2b2x1dGlvbi1jaGlwLXNldF9fY2hpcHN7YWxpZ24taXRlbXM6Y2VudGVyfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9LHt0eXBlOmZ0LlRiUG9wb3ZlclNlcnZpY2V9LHt0eXBlOnQuUmVuZGVyZXIyfSx7dHlwZTp0LlZpZXdDb250YWluZXJSZWZ9LHt0eXBlOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9XSxwcm9wRGVjb3JhdG9yczp7c2luZ2xlTW9kZTpbe3R5cGU6YX1dLGhpZGVOZXdGaWVsZHM6W3t0eXBlOmF9XX19KTtjbGFzcyBib3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuZmI9ZSx0aGlzLmNkcj10LHRoaXMuaXNNYXN0ZXI9ITEsdGhpcy5kaXNhYmxlZD0hMSx0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLnNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe2NlcnRmaWxlOlsiIixbdWUucGF0dGVybihrdCldXSxrZXlmaWxlOlsiIixbdWUucGF0dGVybihrdCldXSxwYXNzd29yZDpbIiIsW3VlLnBhdHRlcm4oa3QpXV0sc2VydmVyX2hvc3RuYW1lOlsiIixbdWUucGF0dGVybihrdCldXSxyZXFjbGljZXJ0Olt7dmFsdWU6ITEsZGlzYWJsZWQ6ITB9XX0pLHRoaXMub2JzZXJ2ZVZhbHVlQ2hhbmdlcygpfW5nT25DaGFuZ2VzKCl7dGhpcy51cGRhdGVNYXN0ZXJFbmFibGluZygpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9c2V0RGlzYWJsZWRTdGF0ZShlKXt0aGlzLmRpc2FibGVkPWUsdGhpcy5kaXNhYmxlZD90aGlzLnNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwLmRpc2FibGUoe2VtaXRFdmVudDohMX0pOnRoaXMuc2VjdXJpdHlDb25maWdGb3JtR3JvdXAuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnVwZGF0ZU1hc3RlckVuYWJsaW5nKCksdGhpcy5jZHIubWFya0ZvckNoZWNrKCl9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5zZWN1cml0eUNvbmZpZ0Zvcm1Hcm91cC52YWxpZD9udWxsOntzZWN1cml0eUNvbmZpZ0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fX13cml0ZVZhbHVlKGUpe2NvbnN0e2NlcnRmaWxlOnQscGFzc3dvcmQ6bixrZXlmaWxlOmEsc2VydmVyX2hvc3RuYW1lOm99PWUsaT17Y2VydGZpbGU6dD8/IiIscGFzc3dvcmQ6bj8/IiIsa2V5ZmlsZTphPz8iIixzZXJ2ZXJfaG9zdG5hbWU6bz8/IiIscmVxY2xpY2VydDohIWUucmVxY2xpY2VydH07dGhpcy5zZWN1cml0eUNvbmZpZ0Zvcm1Hcm91cC5yZXNldChpLHtlbWl0RXZlbnQ6ITF9KX11cGRhdGVNYXN0ZXJFbmFibGluZygpe3RoaXMuaXNNYXN0ZXI/KHRoaXMuZGlzYWJsZWR8fHRoaXMuc2VjdXJpdHlDb25maWdGb3JtR3JvdXAuZ2V0KCJyZXFjbGljZXJ0IikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwLmdldCgic2VydmVyX2hvc3RuYW1lIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpOih0aGlzLmRpc2FibGVkfHx0aGlzLnNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwLmdldCgic2VydmVyX2hvc3RuYW1lIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwLmdldCgicmVxY2xpY2VydCIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pKX1vYnNlcnZlVmFsdWVDaGFuZ2VzKCl7dGhpcy5zZWN1cml0eUNvbmZpZ0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Ym8sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfSx7dG9rZW46dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6Ym8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1tb2RidXMtc2VjdXJpdHktY29uZmlnIixpbnB1dHM6e2lzTWFzdGVyOiJpc01hc3RlciJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PmJvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5ibykpLG11bHRpOiEwfV0sdXNlc09uQ2hhbmdlczohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyIgW2Zvcm1Hcm91cF09InNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCI+e3sgXCdnYXRld2F5LmhpbnRzLnBhdGgtaW4tb3NcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLmNhLWNlcnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPmdhdGV3YXkuY2xpZW50LWNlcnQtcGF0aDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY2VydGZpbGUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkucHJpdmF0ZS1rZXktcGF0aFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIDxzcGFuIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCB0cmFuc2xhdGU+Z2F0ZXdheS5wcml2YXRlLWtleS1wYXRoPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJrZXlmaWxlIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5wYXNzd29yZDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJwYXNzd29yZCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icGFzc3dvcmQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAgYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0IiBtYXRTdWZmaXg+XG4gICAgICAgICAgPHRiLXRvZ2dsZS1wYXNzd29yZCBjbGFzcz0idGItZmxleCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiPjwvdGItdG9nZ2xlLXBhc3N3b3JkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPSIhaXNNYXN0ZXIiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci1ob3N0bmFtZTwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJ2ZXJfaG9zdG5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPSJpc01hc3RlciIgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXFjbGljZXJ0Ij5cbiAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgIHt7IFwnZ2F0ZXdheS5yZXF1ZXN0LWNsaWVudC1jZXJ0aWZpY2F0ZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1sYWJlbD5cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp0dC5Ub2dnbGVQYXNzd29yZENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXBhc3N3b3JkIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1IZShbTigpXSxiby5wcm90b3R5cGUsImlzTWFzdGVyIix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Ym8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1zZWN1cml0eS1jb25maWciLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5ibykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+Ym8pKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxELFNhXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciIFtmb3JtR3JvdXBdPSJzZWN1cml0eUNvbmZpZ0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwiPnt7IFwnZ2F0ZXdheS5oaW50cy5wYXRoLWluLW9zXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5jYS1jZXJ0XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPHNwYW4gdGJUcnVuY2F0ZVdpdGhUb29sdGlwIHRyYW5zbGF0ZT5nYXRld2F5LmNsaWVudC1jZXJ0LXBhdGg8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImNlcnRmaWxlIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LnByaXZhdGUta2V5LXBhdGhcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPmdhdGV3YXkucHJpdmF0ZS1rZXktcGF0aDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ia2V5ZmlsZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucGFzc3dvcmQ8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhc3N3b3JkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGFsaWduLWNlbnRlciBmaWxsLWhlaWdodCIgbWF0U3VmZml4PlxuICAgICAgICAgIDx0Yi10b2dnbGUtcGFzc3dvcmQgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0Ij48L3RiLXRvZ2dsZS1wYXNzd29yZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj0iIWlzTWFzdGVyIiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5zZXJ2ZXItaG9zdG5hbWU8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ic2VydmVyX2hvc3RuYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj0iaXNNYXN0ZXIiIGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmVxY2xpY2VydCI+XG4gICAgICA8bWF0LWxhYmVsPlxuICAgICAgICB7eyBcJ2dhdGV3YXkucmVxdWVzdC1jbGllbnQtY2VydGlmaWNhdGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9tYXQtbGFiZWw+XG4gICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICA8L2Rpdj5cbjwvZGl2PlxuJ31dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTptZS5Gb3JtQnVpbGRlcn0se3R5cGU6dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHByb3BEZWNvcmF0b3JzOntpc01hc3Rlcjpbe3R5cGU6YX1dfX0pO2NsYXNzIGhvIGV4dGVuZHMgUHtjb25zdHJ1Y3RvcihlLHQsbixhLG8pe3N1cGVyKHQsbixvKSx0aGlzLmZiPWUsdGhpcy5zdG9yZT10LHRoaXMucm91dGVyPW4sdGhpcy5kYXRhPWEsdGhpcy5kaWFsb2dSZWY9byx0aGlzLnBvcnRMaW1pdHM9RXQsdGhpcy5tb2RidXNQcm90b2NvbFR5cGVzPU9iamVjdC52YWx1ZXMoSG4pLHRoaXMubW9kYnVzTWV0aG9kVHlwZXM9T2JqZWN0LnZhbHVlcyhXbiksdGhpcy5tb2RidXNTZXJpYWxNZXRob2RUeXBlcz1PYmplY3QudmFsdWVzKGpuKSx0aGlzLm1vZGJ1c1Bhcml0aWVzPU9iamVjdC52YWx1ZXMoWW4pLHRoaXMubW9kYnVzQnl0ZVNpemVzPSRuLHRoaXMubW9kYnVzQmF1ZHJhdGVzPWxhLHRoaXMubW9kYnVzT3JkZXJUeXBlPU9iamVjdC52YWx1ZXMoSm4pLHRoaXMuTW9kYnVzUHJvdG9jb2xUeXBlPUhuLHRoaXMuTW9kYnVzUGFyaXR5TGFiZWxzTWFwPVFuLHRoaXMuTW9kYnVzUHJvdG9jb2xMYWJlbHNNYXA9em4sdGhpcy5Nb2RidXNNZXRob2RMYWJlbHNNYXA9S24sdGhpcy5SZXBvcnRTdHJhdGVneURlZmF1bHRWYWx1ZT1sbix0aGlzLm1vZGJ1c0hlbHBMaW5rPXYrIi9kb2NzL2lvdC1nYXRld2F5L2NvbmZpZy9tb2RidXMvI3NlY3Rpb24tbWFzdGVyLWRlc2NyaXB0aW9uLWFuZC1jb25maWd1cmF0aW9uLXBhcmFtZXRlcnMiLHRoaXMuc2VyaWFsU3BlY2lmaWNDb250cm9sS2V5cz1bInNlcmlhbFBvcnQiLCJiYXVkcmF0ZSIsInN0b3BiaXRzIiwiYnl0ZXNpemUiLCJwYXJpdHkiLCJzdHJpY3QiXSx0aGlzLnRjcFVkcFNwZWNpZmljQ29udHJvbEtleXM9WyJwb3J0Iiwic2VjdXJpdHkiLCJob3N0Il0sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5zaG93U2VjdXJpdHlDb250cm9sPXRoaXMuZmIuY29udHJvbCghMSksdGhpcy5pbml0aWFsaXplU2xhdmVGb3JtR3JvdXAoKSx0aGlzLnVwZGF0ZVNsYXZlRm9ybUdyb3VwKCksdGhpcy51cGRhdGVDb250cm9sc0VuYWJsaW5nKHRoaXMuZGF0YS52YWx1ZS50eXBlKSx0aGlzLm9ic2VydmVUeXBlQ2hhbmdlKCksdGhpcy5vYnNlcnZlU2hvd1NlY3VyaXR5KCksdGhpcy5zaG93U2VjdXJpdHlDb250cm9sLnBhdGNoVmFsdWUoISF0aGlzLmRhdGEudmFsdWUuc2VjdXJpdHkmJiFlZSh0aGlzLmRhdGEudmFsdWUuc2VjdXJpdHkse30pKX1nZXQgcHJvdG9jb2xUeXBlKCl7cmV0dXJuIHRoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWV9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9Y2FuY2VsKCl7dGhpcy5kaWFsb2dSZWYuY2xvc2UobnVsbCl9YWRkKCl7dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC52YWxpZCYmdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5nZXRTbGF2ZVJlc3VsdERhdGEoKSl9aW5pdGlhbGl6ZVNsYXZlRm9ybUdyb3VwKCl7dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cD10aGlzLmZiLmdyb3VwKHt0eXBlOltIbi5UQ1BdLGhvc3Q6WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHBvcnQ6W251bGwsW3VlLnJlcXVpcmVkLHVlLm1pbihFdC5NSU4pLHVlLm1heChFdC5NQVgpXV0sc2VyaWFsUG9ydDpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sbWV0aG9kOltXbi5TT0NLRVQsW3VlLnJlcXVpcmVkXV0sYmF1ZHJhdGU6W3RoaXMubW9kYnVzQmF1ZHJhdGVzWzBdXSxzdG9wYml0czpbMV0sYnl0ZXNpemU6WyRuWzBdXSxwYXJpdHk6W1luLk5vbmVdLHN0cmljdDpbITBdLHVuaXRJZDpbbnVsbCxbdWUucmVxdWlyZWRdXSxkZXZpY2VOYW1lOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxkZXZpY2VUeXBlOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx0aW1lb3V0OlszNV0sYnl0ZU9yZGVyOltKbi5CSUddLHdvcmRPcmRlcjpbSm4uQklHXSxyZXRyaWVzOlshMF0scmV0cnlPbkVtcHR5OlshMF0scmV0cnlPbkludmFsaWQ6WyEwXSxwb2xsUGVyaW9kOls1ZTMsW3VlLnJlcXVpcmVkXV0sY29ubmVjdEF0dGVtcHRUaW1lTXM6WzVlMyxbdWUucmVxdWlyZWRdXSxjb25uZWN0QXR0ZW1wdENvdW50Ols1LFt1ZS5yZXF1aXJlZF1dLHdhaXRBZnRlckZhaWxlZEF0dGVtcHRzTXM6WzNlNSxbdWUucmVxdWlyZWRdXSx2YWx1ZXM6W3t9XSxzZWN1cml0eTpbe31dfSksdGhpcy5hZGRGaWVsZHNUb0Zvcm1Hcm91cCgpfXVwZGF0ZVNsYXZlRm9ybUdyb3VwKCl7dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5wYXRjaFZhbHVlKHsuLi50aGlzLmRhdGEudmFsdWUscG9ydDp0aGlzLmRhdGEudmFsdWUudHlwZT09PUhuLlNlcmlhbD9udWxsOnRoaXMuZGF0YS52YWx1ZS5wb3J0LHNlcmlhbFBvcnQ6dGhpcy5kYXRhLnZhbHVlLnR5cGU9PT1Ibi5TZXJpYWw/dGhpcy5kYXRhLnZhbHVlLnBvcnQ6IiIsdmFsdWVzOnthdHRyaWJ1dGVzOnRoaXMuZGF0YS52YWx1ZS5hdHRyaWJ1dGVzPz9bXSx0aW1lc2VyaWVzOnRoaXMuZGF0YS52YWx1ZS50aW1lc2VyaWVzPz9bXSxhdHRyaWJ1dGVVcGRhdGVzOnRoaXMuZGF0YS52YWx1ZS5hdHRyaWJ1dGVVcGRhdGVzPz9bXSxycGM6dGhpcy5kYXRhLnZhbHVlLnJwYz8/W119fSl9b2JzZXJ2ZVR5cGVDaGFuZ2UoKXt0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldCgidHlwZSIpLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLnVwZGF0ZUNvbnRyb2xzRW5hYmxpbmcoZSksdGhpcy51cGRhdGVNZXRob2RUeXBlKGUpfSkpfXVwZGF0ZU1ldGhvZFR5cGUoZSl7dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoIm1ldGhvZCIpLnZhbHVlIT09V24uUlRVJiZ0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldCgibWV0aG9kIikucGF0Y2hWYWx1ZShlPT09SG4uU2VyaWFsP2puLkFTQ0lJOlduLlNPQ0tFVCx7ZW1pdEV2ZW50OiExfSl9dXBkYXRlQ29udHJvbHNFbmFibGluZyhlKXtjb25zdFt0LG5dPWU9PT1Ibi5TZXJpYWw/W3RoaXMuc2VyaWFsU3BlY2lmaWNDb250cm9sS2V5cyx0aGlzLnRjcFVkcFNwZWNpZmljQ29udHJvbEtleXNdOlt0aGlzLnRjcFVkcFNwZWNpZmljQ29udHJvbEtleXMsdGhpcy5zZXJpYWxTcGVjaWZpY0NvbnRyb2xLZXlzXTt0LmZvckVhY2goKGU9PnRoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KGUpPy5lbmFibGUoe2VtaXRFdmVudDohMX0pKSksbi5mb3JFYWNoKChlPT50aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChlKT8uZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpKSx0aGlzLnVwZGF0ZVNlY3VyaXR5RW5hYmxpbmcodGhpcy5zaG93U2VjdXJpdHlDb250cm9sLnZhbHVlKX1vYnNlcnZlU2hvd1NlY3VyaXR5KCl7dGhpcy5zaG93U2VjdXJpdHlDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9PnRoaXMudXBkYXRlU2VjdXJpdHlFbmFibGluZyhlKSkpfXVwZGF0ZVNlY3VyaXR5RW5hYmxpbmcoZSl7ZSYmdGhpcy5wcm90b2NvbFR5cGUhPT1Ibi5TZXJpYWw/dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoInNlY3VyaXR5IikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KTp0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldCgic2VjdXJpdHkiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmhvLGRlcHM6W3t0b2tlbjptZS5Gb3JtQnVpbGRlcn0se3Rva2VuOm90LlN0b3JlfSx7dG9rZW46aXQuUm91dGVyfSx7dG9rZW46WGV9LHt0b2tlbjpKZS5NYXREaWFsb2dSZWZ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5EaXJlY3RpdmV9KX1zdGF0aWN7dGhpcy7JtWRpcj10Lsm1ybVuZ0RlY2xhcmVEaXJlY3RpdmUoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOmhvLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0fSl9fWUoIk1vZGJ1c1NsYXZlRGlhbG9nQWJzdHJhY3QiLGhvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmhvLGRlY29yYXRvcnM6W3t0eXBlOnN9XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTpvdC5TdG9yZX0se3R5cGU6aXQuUm91dGVyfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6cCxhcmdzOltYZV19XX0se3R5cGU6SmUuTWF0RGlhbG9nUmVmfV19KTtjbGFzcyB4byBleHRlbmRzIGhve2NvbnN0cnVjdG9yKGUsdCxuLGEsbyl7c3VwZXIoZSx0LG4sYSxvKSx0aGlzLmZiPWUsdGhpcy5zdG9yZT10LHRoaXMucm91dGVyPW4sdGhpcy5kYXRhPWEsdGhpcy5kaWFsb2dSZWY9b31nZXRTbGF2ZVJlc3VsdERhdGEoKXtjb25zdHt2YWx1ZXM6ZSx0eXBlOnQsc2VyaWFsUG9ydDpuLC4uLmF9PXRoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAudmFsdWUsbz17Li4uYSx0eXBlOnQsLi4uZX07cmV0dXJuIHQ9PT1Ibi5TZXJpYWwmJihvLnBvcnQ9biksby5yZXBvcnRTdHJhdGVneXx8ZGVsZXRlIG8ucmVwb3J0U3RyYXRlZ3ksb31hZGRGaWVsZHNUb0Zvcm1Hcm91cCgpe3RoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuYWRkQ29udHJvbCgicmVwb3J0U3RyYXRlZ3kiLHRoaXMuZmIuY29udHJvbChudWxsKSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTp4byxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjpvdC5TdG9yZX0se3Rva2VuOml0LlJvdXRlcn0se3Rva2VuOlhlfSx7dG9rZW46SmUuTWF0RGlhbG9nUmVmfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTp4byxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1vZGJ1cy1zbGF2ZS1kaWFsb2ciLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0ic2xhdmVzLWNvbmZpZy1jb250YWluZXIiPlxuICA8bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICAgIDxoMj57eyBcJ2dhdGV3YXkuc2VydmVyLXNsYXZlXCcgfCB0cmFuc2xhdGUgfX08L2gyPlxuICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgPGRpdiBbdGItaGVscF09Im1vZGJ1c0hlbHBMaW5rIj48L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L21hdC10b29sYmFyPlxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBbZm9ybUdyb3VwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIj5cbiAgICA8ZGl2IGNsYXNzPSJzdHJva2VkIHRiLWZvcm0tcGFuZWwiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggcm93IHNwYWNlLWJldHdlZW4gYWxpZ24tY2VudGVyIG5vLWdhcCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuc2VydmVyLWNvbm5lY3Rpb248L2Rpdj5cbiAgICAgICAgICA8dGItdG9nZ2xlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiIGFwcGVhcmFuY2U9ImZpbGwiPlxuICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBtb2RidXNQcm90b2NvbFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj57eyBNb2RidXNQcm90b2NvbExhYmVsc01hcC5nZXQodHlwZSkgfX08L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyJcbiAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ob3N0XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5Lmhvc3Q8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iaG9zdCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuaG9zdC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIGVsc2Ugc2VyaWFsUG9ydCJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiXG4gICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSJ7e3BvcnRMaW1pdHMuTUlOfX0iIG1heD0ie3twb3J0TGltaXRzLk1BWH19IlxuICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKSB8IGdldEdhdGV3YXlQb3J0VG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ21pblwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2VyaWFsUG9ydD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc2VyaWFsLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucG9ydDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJpYWxQb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkucG9ydC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzZXJpYWxQb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2VyaWFsUG9ydFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmZyYW1lci10eXBlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5tZXRob2RcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwgPyBtb2RidXNTZXJpYWxNZXRob2RUeXBlcyA6IG1vZGJ1c01ldGhvZFR5cGVzIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT0ibWV0aG9kIj57eyBNb2RidXNNZXRob2RMYWJlbHNNYXAuZ2V0KG1ldGhvZCkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJhdWRyYXRlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJhdWRyYXRlPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJiYXVkcmF0ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCByYXRlIG9mIG1vZGJ1c0JhdWRyYXRlcyIgW3ZhbHVlXT0icmF0ZSI+e3sgcmF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ieXRlc2l6ZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlc2l6ZTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYnl0ZXNpemUiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgc2l6ZSBvZiBtb2RidXNCeXRlU2l6ZXMiIFt2YWx1ZV09InNpemUiPnt7IHNpemUgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc3RvcGJpdHNcJyB8IHRyYW5zbGF0ZSB9fSIgIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3BiaXRzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzdG9wYml0cyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucGFyaXR5XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnBhcml0eTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icGFyaXR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHBhcml0eSBvZiBtb2RidXNQYXJpdGllcyIgW3ZhbHVlXT0icGFyaXR5Ij57eyBNb2RidXNQYXJpdHlMYWJlbHNNYXAuZ2V0KHBhcml0eSkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic3RyaWN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5zdHJpY3RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0cmljdFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLnVuaXQtaWRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkudW5pdC1pZDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idW5pdElkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudW5pdC1pZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCd1bml0SWRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1uYW1lPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2UtbmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLXByb2ZpbGU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlVHlwZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1wcm9maWxlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9ImRhdGEuaGlkZU5ld0ZpZWxkcyBlbHNlIHJlcG9ydFN0cmF0ZWd5IiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InNlbmREYXRhT25seU9uQ2hhbmdlIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWRhdGEtb24tY2hhbmdlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcmVwb3J0U3RyYXRlZ3k+XG4gICAgICAgICAgPHRiLXJlcG9ydC1zdHJhdGVneSBbZGVmYXVsdFZhbHVlXT0iUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWUuRGV2aWNlIiBmb3JtQ29udHJvbE5hbWU9InJlcG9ydFN0cmF0ZWd5IiBbaXNFeHBhbnNpb25Nb2RlXT0idHJ1ZSIvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuYWR2YW5jZWQtY29ubmVjdGlvbi1zZXR0aW5nczwvZGl2PlxuICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3Rpb24tdGltZW91dFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0aW9uLXRpbWVvdXQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRpbWVvdXQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuYnl0ZS1vcmRlclwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlLW9yZGVyPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJieXRlT3JkZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndvcmQtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud29yZC1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0id29yZE9yZGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBvcmRlciBvZiBtb2RidXNPcmRlclR5cGUiIFt2YWx1ZV09Im9yZGVyIj57eyBvcmRlciB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCB0Yi1zbGlkZS10b2dnbGUiPlxuICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ic2hvd1NlY3VyaXR5Q29udHJvbC52YWx1ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmeExheW91dEFsaWduPSJjZW50ZXIiIFtmb3JtQ29udHJvbF09InNob3dTZWN1cml0eUNvbnRyb2wiIGNsYXNzPSJtYXQtc2xpZGUiIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGxzLWNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICA8dGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZyBjbGFzcz0ic2VjdXJpdHktY29uZmlnIiBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5Ij48L3RiLW1vZGJ1cy1zZWN1cml0eS1jb25maWc+XG4gICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJpZXMiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5yZXRyaWVzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllc1wnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmV0cnlPbkVtcHR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1lbXB0eVwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJldHJpZXMtb24tZW1wdHlcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJ5T25JbnZhbGlkIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoLTI2MCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICBnYXRld2F5LnBvbGwtcGVyaW9kXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb2xsUGVyaW9kIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgtMjYwIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5jb25uZWN0LWF0dGVtcHQtdGltZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtdGltZTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY29ubmVjdEF0dGVtcHRUaW1lTXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3QtYXR0ZW1wdC1jb3VudFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtY291bnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImNvbm5lY3RBdHRlbXB0Q291bnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ3YWl0QWZ0ZXJGYWlsZWRBdHRlbXB0c01zIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgPHRiLW1vZGJ1cy12YWx1ZXMgW3NpbmdsZU1vZGVdPSJ0cnVlIiBbaGlkZU5ld0ZpZWxkc109ImRhdGEuaGlkZU5ld0ZpZWxkcyIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZXMiPjwvdGItbW9kYnVzLXZhbHVlcz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIGNka0ZvY3VzSW5pdGlhbFxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0iYWRkKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5pbnZhbGlkIHx8ICFzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5kaXJ0eSI+XG4gICAgICB7eyBkYXRhLmJ1dHRvblRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnNsYXZlcy1jb25maWctY29udGFpbmVye3dpZHRoOjgwdnc7bWF4LXdpZHRoOjkwMHB4fTpob3N0IC5zbGF2ZS1uYW1lLWxhYmVse21hcmdpbi1yaWdodDoxNnB4O2NvbG9yOiMwMDAwMDBkZX06aG9zdCAuZml4ZWQtdGl0bGUtd2lkdGgtMjYwe21pbi13aWR0aDoyNjBweH06aG9zdCA6Om5nLWRlZXAgLnNlY3VyaXR5LWNvbmZpZyAuZml4ZWQtdGl0bGUtd2lkdGh7bWluLXdpZHRoOjIzMHB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmR0LkhlbHBDb21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oZWxwXSIsaW5wdXRzOlsidGItaGVscCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpKZS5NYXREaWFsb2dBY3Rpb25zLHNlbGVjdG9yOiJbbWF0LWRpYWxvZy1hY3Rpb25zXSwgbWF0LWRpYWxvZy1hY3Rpb25zLCBbbWF0RGlhbG9nQWN0aW9uc10iLGlucHV0czpbImFsaWduIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQ29udGVudCxzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWwsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwiLGlucHV0czpbImhpZGVUb2dnbGUiLCJ0b2dnbGVQb3NpdGlvbiJdLG91dHB1dHM6WyJhZnRlckV4cGFuZCIsImFmdGVyQ29sbGFwc2UiXSxleHBvcnRBczpbIm1hdEV4cGFuc2lvblBhbmVsIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIixpbnB1dHM6WyJleHBhbmRlZEhlaWdodCIsImNvbGxhcHNlZEhlaWdodCIsInRhYkluZGV4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxUaXRsZSxzZWxlY3RvcjoibWF0LXBhbmVsLXRpdGxlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OdW1iZXJWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVtuZ01vZGVsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1pblZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLGlucHV0czpbIm1pbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1heFZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21heF1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21heF1bbmdNb2RlbF0iLGlucHV0czpbIm1heCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WWUuVHJ1bmNhdGVXaXRoVG9vbHRpcERpcmVjdGl2ZSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bnQuVG9nZ2xlT3B0aW9uLHNlbGVjdG9yOiJ0Yi10b2dnbGUtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmF0LlRvZ2dsZVNlbGVjdENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXNlbGVjdCIsaW5wdXRzOlsiZGlzYWJsZWQiLCJzZWxlY3RNZWRpYUJyZWFrcG9pbnQiLCJhcHBlYXJhbmNlIiwiZGlzYWJsZVBhZ2luYXRpb24iLCJmaWxsSGVpZ2h0IiwiZXh0cmFQYWRkaW5nIiwicHJpbWFyeUJhY2tncm91bmQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp5byxzZWxlY3RvcjoidGItbW9kYnVzLXZhbHVlcyIsaW5wdXRzOlsic2luZ2xlTW9kZSIsImhpZGVOZXdGaWVsZHMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpibyxzZWxlY3RvcjoidGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZyIsaW5wdXRzOlsiaXNNYXN0ZXIiXX0se2tpbmQ6InBpcGUiLHR5cGU6d2EsbmFtZToiZ2V0R2F0ZXdheVBvcnRUb29sdGlwIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpnbyxzZWxlY3RvcjoidGItcmVwb3J0LXN0cmF0ZWd5IixpbnB1dHM6WyJpc0V4cGFuc2lvbk1vZGUiLCJkZWZhdWx0VmFsdWUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJNb2RidXNTbGF2ZURpYWxvZ0NvbXBvbmVudCIseG8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6eG8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1zbGF2ZS1kaWFsb2ciLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxzdGFuZGFsb25lOiEwLGltcG9ydHM6W0gsRCx5byxibyx3YSxnbyxTYV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJzbGF2ZXMtY29uZmlnLWNvbnRhaW5lciI+XG4gIDxtYXQtdG9vbGJhciBjb2xvcj0icHJpbWFyeSI+XG4gICAgPGgyPnt7IFwnZ2F0ZXdheS5zZXJ2ZXItc2xhdmVcJyB8IHRyYW5zbGF0ZSB9fTwvaDI+XG4gICAgPHNwYW4gZnhGbGV4Pjwvc3Bhbj5cbiAgICA8ZGl2IFt0Yi1oZWxwXT0ibW9kYnVzSGVscExpbmsiPjwvZGl2PlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvbWF0LXRvb2xiYXI+XG4gIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50IFtmb3JtR3JvdXBdPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cCIgY2xhc3M9InRiLWZvcm0tcGFuZWwiPlxuICAgIDxkaXYgY2xhc3M9InN0cm9rZWQgdGItZm9ybS1wYW5lbCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCByb3cgc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIgbm8tZ2FwIGZpbGwtd2lkdGgiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5zZXJ2ZXItY29ubmVjdGlvbjwvZGl2PlxuICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIG1vZGJ1c1Byb3RvY29sVHlwZXMiIFt2YWx1ZV09InR5cGUiPnt7IE1vZGJ1c1Byb3RvY29sTGFiZWxzTWFwLmdldCh0eXBlKSB9fTwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPSJwcm90b2NvbFR5cGUgIT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwiXG4gICAgICAgICAgICAgICBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIlxuICAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmhvc3RcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuaG9zdDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJob3N0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5ob3N0LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPSJwcm90b2NvbFR5cGUgIT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwgZWxzZSBzZXJpYWxQb3J0IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyJcbiAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5wb3J0XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnBvcnQ8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49Int7cG9ydExpbWl0cy5NSU59fSIgbWF4PSJ7e3BvcnRMaW1pdHMuTUFYfX0iXG4gICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvcnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpIHwgZ2V0R2F0ZXdheVBvcnRUb29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iKHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdtYXhcJykpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNzZXJpYWxQb3J0PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5zZXJpYWwtcG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InNlcmlhbFBvcnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IlwnZ2F0ZXdheS5wb3J0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3NlcmlhbFBvcnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzZXJpYWxQb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuZnJhbWVyLXR5cGVcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5Lm1ldGhvZFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbWV0aG9kIG9mIHByb3RvY29sVHlwZSA9PT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCA/IG1vZGJ1c1NlcmlhbE1ldGhvZFR5cGVzIDogbW9kYnVzTWV0aG9kVHlwZXMiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPSJtZXRob2QiPnt7IE1vZGJ1c01ldGhvZExhYmVsc01hcC5nZXQobWV0aG9kKSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9InByb3RvY29sVHlwZSA9PT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuYmF1ZHJhdGVcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuYmF1ZHJhdGU8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImJhdWRyYXRlIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHJhdGUgb2YgbW9kYnVzQmF1ZHJhdGVzIiBbdmFsdWVdPSJyYXRlIj57eyByYXRlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJ5dGVzaXplXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJ5dGVzaXplPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJieXRlc2l6ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBzaXplIG9mIG1vZGJ1c0J5dGVTaXplcyIgW3ZhbHVlXT0ic2l6ZSI+e3sgc2l6ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5zdG9wYml0c1wnIHwgdHJhbnNsYXRlIH19IiAgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcGJpdHM8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InN0b3BiaXRzIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5wYXJpdHlcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucGFyaXR5PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJwYXJpdHkiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgcGFyaXR5IG9mIG1vZGJ1c1Bhcml0aWVzIiBbdmFsdWVdPSJwYXJpdHkiPnt7IE1vZGJ1c1Bhcml0eUxhYmVsc01hcC5nZXQocGFyaXR5KSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJzdHJpY3QiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLnN0cmljdFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RyaWN0XCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMudW5pdC1pZFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS51bml0LWlkPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ1bml0SWQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS51bml0LWlkLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwndW5pdElkXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLW5hbWU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1uYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5kZXZpY2UtcHJvZmlsZTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VUeXBlIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLXByb2ZpbGUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlVHlwZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlVHlwZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj0iZGF0YS5oaWRlTmV3RmllbGRzIGVsc2UgcmVwb3J0U3RyYXRlZ3kiIGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic2VuZERhdGFPbmx5T25DaGFuZ2UiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnNlbmQtZGF0YS1vbi1jaGFuZ2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNyZXBvcnRTdHJhdGVneT5cbiAgICAgICAgICA8dGItcmVwb3J0LXN0cmF0ZWd5IFtkZWZhdWx0VmFsdWVdPSJSZXBvcnRTdHJhdGVneURlZmF1bHRWYWx1ZS5EZXZpY2UiIGZvcm1Db250cm9sTmFtZT0icmVwb3J0U3RyYXRlZ3kiIFtpc0V4cGFuc2lvbk1vZGVdPSJ0cnVlIi8+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIj5cbiAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5hZHZhbmNlZC1jb25uZWN0aW9uLXNldHRpbmdzPC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuY29ubmVjdGlvbi10aW1lb3V0XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmNvbm5lY3Rpb24tdGltZW91dDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idGltZW91dCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ieXRlLW9yZGVyXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJ5dGUtb3JkZXI8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImJ5dGVPcmRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgb3JkZXIgb2YgbW9kYnVzT3JkZXJUeXBlIiBbdmFsdWVdPSJvcmRlciI+e3sgb3JkZXIgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMud29yZC1vcmRlclwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS53b3JkLW9yZGVyPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ3b3JkT3JkZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLXNsaWRlLXRvZ2dsZSI+XG4gICAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJzaG93U2VjdXJpdHlDb250cm9sLnZhbHVlIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciBmeExheW91dD0icm93IHdyYXAiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZ4TGF5b3V0QWxpZ249ImNlbnRlciIgW2Zvcm1Db250cm9sXT0ic2hvd1NlY3VyaXR5Q29udHJvbCIgY2xhc3M9Im1hdC1zbGlkZSIgKGNsaWNrKT0iJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50bHMtY29ubmVjdGlvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1tb2RidXMtc2VjdXJpdHktY29uZmlnIGNsYXNzPSJzZWN1cml0eS1jb25maWciIGZvcm1Db250cm9sTmFtZT0ic2VjdXJpdHkiPjwvdGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZz5cbiAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmV0cmllcyI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLnJldHJpZXNcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5yZXRyaWVzXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXRyeU9uRW1wdHkiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5yZXRyaWVzLW9uLWVtcHR5XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllcy1vbi1lbXB0eVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmV0cnlPbkludmFsaWQiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5yZXRyaWVzLW9uLWludmFsaWRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5yZXRyaWVzLW9uLWludmFsaWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgtMjYwIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5wb2xsLXBlcmlvZFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICAgIGdhdGV3YXkucG9sbC1wZXJpb2RcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvbGxQZXJpb2QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3QtYXR0ZW1wdC10aW1lXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmNvbm5lY3QtYXR0ZW1wdC10aW1lPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJjb25uZWN0QXR0ZW1wdFRpbWVNcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoLTI2MCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuY29ubmVjdC1hdHRlbXB0LWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmNvbm5lY3QtYXR0ZW1wdC1jb3VudDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY29ubmVjdEF0dGVtcHRDb3VudCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoLTI2MCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMud2FpdC1hZnRlci1mYWlsZWQtYXR0ZW1wdHNcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud2FpdC1hZnRlci1mYWlsZWQtYXR0ZW1wdHM8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9IndhaXRBZnRlckZhaWxlZEF0dGVtcHRzTXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICAgICAgICA8dGItbW9kYnVzLXZhbHVlcyBbc2luZ2xlTW9kZV09InRydWUiIFtoaWRlTmV3RmllbGRzXT0iZGF0YS5oaWRlTmV3RmllbGRzIiBmb3JtQ29udHJvbE5hbWU9InZhbHVlcyI+PC90Yi1tb2RidXMtdmFsdWVzPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5jYW5jZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAoY2xpY2spPSJhZGQoKSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09InNsYXZlQ29uZmlnRm9ybUdyb3VwLmludmFsaWQgfHwgIXNsYXZlQ29uZmlnRm9ybUdyb3VwLmRpcnR5Ij5cbiAgICAgIHt7IGRhdGEuYnV0dG9uVGl0bGUgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCAuc2xhdmVzLWNvbmZpZy1jb250YWluZXJ7d2lkdGg6ODB2dzttYXgtd2lkdGg6OTAwcHh9Omhvc3QgLnNsYXZlLW5hbWUtbGFiZWx7bWFyZ2luLXJpZ2h0OjE2cHg7Y29sb3I6IzAwMDAwMGRlfTpob3N0IC5maXhlZC10aXRsZS13aWR0aC0yNjB7bWluLXdpZHRoOjI2MHB4fTpob3N0IDo6bmctZGVlcCAuc2VjdXJpdHktY29uZmlnIC5maXhlZC10aXRsZS13aWR0aHttaW4td2lkdGg6MjMwcHh9XG4nXX1dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTptZS5Gb3JtQnVpbGRlcn0se3R5cGU6b3QuU3RvcmV9LHt0eXBlOml0LlJvdXRlcn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOnAsYXJnczpbWGVdfV19LHt0eXBlOkplLk1hdERpYWxvZ1JlZn1dfSk7Y2xhc3Mgdm8gZXh0ZW5kcyBob3tjb25zdHJ1Y3RvcihlLHQsbixhLG8pe3N1cGVyKGUsdCxuLGEsbyksdGhpcy5mYj1lLHRoaXMuc3RvcmU9dCx0aGlzLnJvdXRlcj1uLHRoaXMuZGF0YT1hLHRoaXMuZGlhbG9nUmVmPW99Z2V0U2xhdmVSZXN1bHREYXRhKCl7Y29uc3R7dmFsdWVzOmUsdHlwZTp0LHNlcmlhbFBvcnQ6biwuLi5hfT10aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLnZhbHVlLG89ey4uLmEsdHlwZTp0LC4uLmV9O3JldHVybiB0PT09SG4uU2VyaWFsJiYoby5wb3J0PW4pLG99YWRkRmllbGRzVG9Gb3JtR3JvdXAoKXt0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmFkZENvbnRyb2woInNlbmREYXRhT25seU9uQ2hhbmdlIix0aGlzLmZiLmNvbnRyb2woITEpKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnZvLGRlcHM6W3t0b2tlbjptZS5Gb3JtQnVpbGRlcn0se3Rva2VuOm90LlN0b3JlfSx7dG9rZW46aXQuUm91dGVyfSx7dG9rZW46WGV9LHt0b2tlbjpKZS5NYXREaWFsb2dSZWZ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOnZvLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItbW9kYnVzLWxlZ2FjeS1zbGF2ZS1kaWFsb2ciLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0ic2xhdmVzLWNvbmZpZy1jb250YWluZXIiPlxuICA8bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICAgIDxoMj57eyBcJ2dhdGV3YXkuc2VydmVyLXNsYXZlXCcgfCB0cmFuc2xhdGUgfX08L2gyPlxuICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgPGRpdiBbdGItaGVscF09Im1vZGJ1c0hlbHBMaW5rIj48L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L21hdC10b29sYmFyPlxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBbZm9ybUdyb3VwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIj5cbiAgICA8ZGl2IGNsYXNzPSJzdHJva2VkIHRiLWZvcm0tcGFuZWwiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggcm93IHNwYWNlLWJldHdlZW4gYWxpZ24tY2VudGVyIG5vLWdhcCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuc2VydmVyLWNvbm5lY3Rpb248L2Rpdj5cbiAgICAgICAgICA8dGItdG9nZ2xlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiIGFwcGVhcmFuY2U9ImZpbGwiPlxuICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBtb2RidXNQcm90b2NvbFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj57eyBNb2RidXNQcm90b2NvbExhYmVsc01hcC5nZXQodHlwZSkgfX08L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyJcbiAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ob3N0XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5Lmhvc3Q8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iaG9zdCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuaG9zdC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIGVsc2Ugc2VyaWFsUG9ydCJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiXG4gICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSJ7e3BvcnRMaW1pdHMuTUlOfX0iIG1heD0ie3twb3J0TGltaXRzLk1BWH19IlxuICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKSB8IGdldEdhdGV3YXlQb3J0VG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ21pblwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2VyaWFsUG9ydD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc2VyaWFsLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucG9ydDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJpYWxQb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkucG9ydC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzZXJpYWxQb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2VyaWFsUG9ydFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmZyYW1lci10eXBlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5tZXRob2RcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwgPyBtb2RidXNTZXJpYWxNZXRob2RUeXBlcyA6IG1vZGJ1c01ldGhvZFR5cGVzIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT0ibWV0aG9kIj57eyBNb2RidXNNZXRob2RMYWJlbHNNYXAuZ2V0KG1ldGhvZCkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJhdWRyYXRlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJhdWRyYXRlPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJiYXVkcmF0ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCByYXRlIG9mIG1vZGJ1c0JhdWRyYXRlcyIgW3ZhbHVlXT0icmF0ZSI+e3sgcmF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ieXRlc2l6ZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlc2l6ZTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYnl0ZXNpemUiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgc2l6ZSBvZiBtb2RidXNCeXRlU2l6ZXMiIFt2YWx1ZV09InNpemUiPnt7IHNpemUgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc3RvcGJpdHNcJyB8IHRyYW5zbGF0ZSB9fSIgIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3BiaXRzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzdG9wYml0cyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucGFyaXR5XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnBhcml0eTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icGFyaXR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHBhcml0eSBvZiBtb2RidXNQYXJpdGllcyIgW3ZhbHVlXT0icGFyaXR5Ij57eyBNb2RidXNQYXJpdHlMYWJlbHNNYXAuZ2V0KHBhcml0eSkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic3RyaWN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5zdHJpY3RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0cmljdFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLnVuaXQtaWRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkudW5pdC1pZDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idW5pdElkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudW5pdC1pZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCd1bml0SWRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1uYW1lPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2UtbmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLXByb2ZpbGU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlVHlwZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1wcm9maWxlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9ImRhdGEuaGlkZU5ld0ZpZWxkcyBlbHNlIHJlcG9ydFN0cmF0ZWd5IiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InNlbmREYXRhT25seU9uQ2hhbmdlIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWRhdGEtb24tY2hhbmdlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcmVwb3J0U3RyYXRlZ3k+XG4gICAgICAgICAgPHRiLXJlcG9ydC1zdHJhdGVneSBbZGVmYXVsdFZhbHVlXT0iUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWUuRGV2aWNlIiBmb3JtQ29udHJvbE5hbWU9InJlcG9ydFN0cmF0ZWd5IiBbaXNFeHBhbnNpb25Nb2RlXT0idHJ1ZSIvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuYWR2YW5jZWQtY29ubmVjdGlvbi1zZXR0aW5nczwvZGl2PlxuICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3Rpb24tdGltZW91dFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0aW9uLXRpbWVvdXQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRpbWVvdXQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuYnl0ZS1vcmRlclwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlLW9yZGVyPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJieXRlT3JkZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndvcmQtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud29yZC1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0id29yZE9yZGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBvcmRlciBvZiBtb2RidXNPcmRlclR5cGUiIFt2YWx1ZV09Im9yZGVyIj57eyBvcmRlciB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCB0Yi1zbGlkZS10b2dnbGUiPlxuICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ic2hvd1NlY3VyaXR5Q29udHJvbC52YWx1ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmeExheW91dEFsaWduPSJjZW50ZXIiIFtmb3JtQ29udHJvbF09InNob3dTZWN1cml0eUNvbnRyb2wiIGNsYXNzPSJtYXQtc2xpZGUiIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGxzLWNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICA8dGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZyBjbGFzcz0ic2VjdXJpdHktY29uZmlnIiBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5Ij48L3RiLW1vZGJ1cy1zZWN1cml0eS1jb25maWc+XG4gICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJpZXMiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5yZXRyaWVzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllc1wnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmV0cnlPbkVtcHR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1lbXB0eVwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJldHJpZXMtb24tZW1wdHlcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJ5T25JbnZhbGlkIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoLTI2MCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICBnYXRld2F5LnBvbGwtcGVyaW9kXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb2xsUGVyaW9kIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgtMjYwIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5jb25uZWN0LWF0dGVtcHQtdGltZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtdGltZTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY29ubmVjdEF0dGVtcHRUaW1lTXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3QtYXR0ZW1wdC1jb3VudFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtY291bnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImNvbm5lY3RBdHRlbXB0Q291bnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ3YWl0QWZ0ZXJGYWlsZWRBdHRlbXB0c01zIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgPHRiLW1vZGJ1cy12YWx1ZXMgW3NpbmdsZU1vZGVdPSJ0cnVlIiBbaGlkZU5ld0ZpZWxkc109ImRhdGEuaGlkZU5ld0ZpZWxkcyIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZXMiPjwvdGItbW9kYnVzLXZhbHVlcz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIGNka0ZvY3VzSW5pdGlhbFxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0iYWRkKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5pbnZhbGlkIHx8ICFzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5kaXJ0eSI+XG4gICAgICB7eyBkYXRhLmJ1dHRvblRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnNsYXZlcy1jb25maWctY29udGFpbmVye3dpZHRoOjgwdnc7bWF4LXdpZHRoOjkwMHB4fTpob3N0IC5zbGF2ZS1uYW1lLWxhYmVse21hcmdpbi1yaWdodDoxNnB4O2NvbG9yOiMwMDAwMDBkZX06aG9zdCAuZml4ZWQtdGl0bGUtd2lkdGgtMjYwe21pbi13aWR0aDoyNjBweH06aG9zdCA6Om5nLWRlZXAgLnNlY3VyaXR5LWNvbmZpZyAuZml4ZWQtdGl0bGUtd2lkdGh7bWluLXdpZHRoOjIzMHB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmR0LkhlbHBDb21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oZWxwXSIsaW5wdXRzOlsidGItaGVscCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpKZS5NYXREaWFsb2dBY3Rpb25zLHNlbGVjdG9yOiJbbWF0LWRpYWxvZy1hY3Rpb25zXSwgbWF0LWRpYWxvZy1hY3Rpb25zLCBbbWF0RGlhbG9nQWN0aW9uc10iLGlucHV0czpbImFsaWduIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQ29udGVudCxzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWwsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwiLGlucHV0czpbImhpZGVUb2dnbGUiLCJ0b2dnbGVQb3NpdGlvbiJdLG91dHB1dHM6WyJhZnRlckV4cGFuZCIsImFmdGVyQ29sbGFwc2UiXSxleHBvcnRBczpbIm1hdEV4cGFuc2lvblBhbmVsIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIixpbnB1dHM6WyJleHBhbmRlZEhlaWdodCIsImNvbGxhcHNlZEhlaWdodCIsInRhYkluZGV4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxUaXRsZSxzZWxlY3RvcjoibWF0LXBhbmVsLXRpdGxlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OdW1iZXJWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVtuZ01vZGVsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1pblZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLGlucHV0czpbIm1pbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1heFZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21heF1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21heF1bbmdNb2RlbF0iLGlucHV0czpbIm1heCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WWUuVHJ1bmNhdGVXaXRoVG9vbHRpcERpcmVjdGl2ZSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bnQuVG9nZ2xlT3B0aW9uLHNlbGVjdG9yOiJ0Yi10b2dnbGUtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmF0LlRvZ2dsZVNlbGVjdENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXNlbGVjdCIsaW5wdXRzOlsiZGlzYWJsZWQiLCJzZWxlY3RNZWRpYUJyZWFrcG9pbnQiLCJhcHBlYXJhbmNlIiwiZGlzYWJsZVBhZ2luYXRpb24iLCJmaWxsSGVpZ2h0IiwiZXh0cmFQYWRkaW5nIiwicHJpbWFyeUJhY2tncm91bmQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp5byxzZWxlY3RvcjoidGItbW9kYnVzLXZhbHVlcyIsaW5wdXRzOlsic2luZ2xlTW9kZSIsImhpZGVOZXdGaWVsZHMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpibyxzZWxlY3RvcjoidGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZyIsaW5wdXRzOlsiaXNNYXN0ZXIiXX0se2tpbmQ6InBpcGUiLHR5cGU6d2EsbmFtZToiZ2V0R2F0ZXdheVBvcnRUb29sdGlwIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpnbyxzZWxlY3RvcjoidGItcmVwb3J0LXN0cmF0ZWd5IixpbnB1dHM6WyJpc0V4cGFuc2lvbk1vZGUiLCJkZWZhdWx0VmFsdWUiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJNb2RidXNMZWdhY3lTbGF2ZURpYWxvZ0NvbXBvbmVudCIsdm8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6dm8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1sZWdhY3ktc2xhdmUtZGlhbG9nIixjaGFuZ2VEZXRlY3Rpb246ZC5PblB1c2gsc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQseW8sYm8sd2EsZ29dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0ic2xhdmVzLWNvbmZpZy1jb250YWluZXIiPlxuICA8bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICAgIDxoMj57eyBcJ2dhdGV3YXkuc2VydmVyLXNsYXZlXCcgfCB0cmFuc2xhdGUgfX08L2gyPlxuICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgPGRpdiBbdGItaGVscF09Im1vZGJ1c0hlbHBMaW5rIj48L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L21hdC10b29sYmFyPlxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBbZm9ybUdyb3VwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIj5cbiAgICA8ZGl2IGNsYXNzPSJzdHJva2VkIHRiLWZvcm0tcGFuZWwiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggcm93IHNwYWNlLWJldHdlZW4gYWxpZ24tY2VudGVyIG5vLWdhcCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuc2VydmVyLWNvbm5lY3Rpb248L2Rpdj5cbiAgICAgICAgICA8dGItdG9nZ2xlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiIGFwcGVhcmFuY2U9ImZpbGwiPlxuICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBtb2RidXNQcm90b2NvbFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj57eyBNb2RidXNQcm90b2NvbExhYmVsc01hcC5nZXQodHlwZSkgfX08L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyJcbiAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ob3N0XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5Lmhvc3Q8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iaG9zdCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuaG9zdC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIGVsc2Ugc2VyaWFsUG9ydCJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiXG4gICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSJ7e3BvcnRMaW1pdHMuTUlOfX0iIG1heD0ie3twb3J0TGltaXRzLk1BWH19IlxuICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKSB8IGdldEdhdGV3YXlQb3J0VG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ21pblwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2VyaWFsUG9ydD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc2VyaWFsLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucG9ydDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJpYWxQb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkucG9ydC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzZXJpYWxQb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2VyaWFsUG9ydFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmZyYW1lci10eXBlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5tZXRob2RcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwgPyBtb2RidXNTZXJpYWxNZXRob2RUeXBlcyA6IG1vZGJ1c01ldGhvZFR5cGVzIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT0ibWV0aG9kIj57eyBNb2RidXNNZXRob2RMYWJlbHNNYXAuZ2V0KG1ldGhvZCkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJhdWRyYXRlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJhdWRyYXRlPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJiYXVkcmF0ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCByYXRlIG9mIG1vZGJ1c0JhdWRyYXRlcyIgW3ZhbHVlXT0icmF0ZSI+e3sgcmF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ieXRlc2l6ZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlc2l6ZTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYnl0ZXNpemUiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgc2l6ZSBvZiBtb2RidXNCeXRlU2l6ZXMiIFt2YWx1ZV09InNpemUiPnt7IHNpemUgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc3RvcGJpdHNcJyB8IHRyYW5zbGF0ZSB9fSIgIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3BiaXRzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzdG9wYml0cyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucGFyaXR5XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnBhcml0eTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icGFyaXR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHBhcml0eSBvZiBtb2RidXNQYXJpdGllcyIgW3ZhbHVlXT0icGFyaXR5Ij57eyBNb2RidXNQYXJpdHlMYWJlbHNNYXAuZ2V0KHBhcml0eSkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic3RyaWN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5zdHJpY3RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0cmljdFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLnVuaXQtaWRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkudW5pdC1pZDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idW5pdElkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudW5pdC1pZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCd1bml0SWRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1uYW1lPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2UtbmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLXByb2ZpbGU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlVHlwZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1wcm9maWxlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9ImRhdGEuaGlkZU5ld0ZpZWxkcyBlbHNlIHJlcG9ydFN0cmF0ZWd5IiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InNlbmREYXRhT25seU9uQ2hhbmdlIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWRhdGEtb24tY2hhbmdlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcmVwb3J0U3RyYXRlZ3k+XG4gICAgICAgICAgPHRiLXJlcG9ydC1zdHJhdGVneSBbZGVmYXVsdFZhbHVlXT0iUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWUuRGV2aWNlIiBmb3JtQ29udHJvbE5hbWU9InJlcG9ydFN0cmF0ZWd5IiBbaXNFeHBhbnNpb25Nb2RlXT0idHJ1ZSIvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuYWR2YW5jZWQtY29ubmVjdGlvbi1zZXR0aW5nczwvZGl2PlxuICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3Rpb24tdGltZW91dFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0aW9uLXRpbWVvdXQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRpbWVvdXQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuYnl0ZS1vcmRlclwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlLW9yZGVyPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJieXRlT3JkZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndvcmQtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud29yZC1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0id29yZE9yZGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBvcmRlciBvZiBtb2RidXNPcmRlclR5cGUiIFt2YWx1ZV09Im9yZGVyIj57eyBvcmRlciB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCB0Yi1zbGlkZS10b2dnbGUiPlxuICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ic2hvd1NlY3VyaXR5Q29udHJvbC52YWx1ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmeExheW91dEFsaWduPSJjZW50ZXIiIFtmb3JtQ29udHJvbF09InNob3dTZWN1cml0eUNvbnRyb2wiIGNsYXNzPSJtYXQtc2xpZGUiIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGxzLWNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICA8dGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZyBjbGFzcz0ic2VjdXJpdHktY29uZmlnIiBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5Ij48L3RiLW1vZGJ1cy1zZWN1cml0eS1jb25maWc+XG4gICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJpZXMiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5yZXRyaWVzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllc1wnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmV0cnlPbkVtcHR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1lbXB0eVwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJldHJpZXMtb24tZW1wdHlcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJ5T25JbnZhbGlkIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoLTI2MCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICBnYXRld2F5LnBvbGwtcGVyaW9kXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb2xsUGVyaW9kIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgtMjYwIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5jb25uZWN0LWF0dGVtcHQtdGltZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtdGltZTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY29ubmVjdEF0dGVtcHRUaW1lTXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3QtYXR0ZW1wdC1jb3VudFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtY291bnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImNvbm5lY3RBdHRlbXB0Q291bnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ3YWl0QWZ0ZXJGYWlsZWRBdHRlbXB0c01zIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgPHRiLW1vZGJ1cy12YWx1ZXMgW3NpbmdsZU1vZGVdPSJ0cnVlIiBbaGlkZU5ld0ZpZWxkc109ImRhdGEuaGlkZU5ld0ZpZWxkcyIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZXMiPjwvdGItbW9kYnVzLXZhbHVlcz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIGNka0ZvY3VzSW5pdGlhbFxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0iYWRkKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5pbnZhbGlkIHx8ICFzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5kaXJ0eSI+XG4gICAgICB7eyBkYXRhLmJ1dHRvblRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnNsYXZlcy1jb25maWctY29udGFpbmVye3dpZHRoOjgwdnc7bWF4LXdpZHRoOjkwMHB4fTpob3N0IC5zbGF2ZS1uYW1lLWxhYmVse21hcmdpbi1yaWdodDoxNnB4O2NvbG9yOiMwMDAwMDBkZX06aG9zdCAuZml4ZWQtdGl0bGUtd2lkdGgtMjYwe21pbi13aWR0aDoyNjBweH06aG9zdCA6Om5nLWRlZXAgLnNlY3VyaXR5LWNvbmZpZyAuZml4ZWQtdGl0bGUtd2lkdGh7bWluLXdpZHRoOjIzMHB4fVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9LHt0eXBlOm90LlN0b3JlfSx7dHlwZTppdC5Sb3V0ZXJ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpwLGFyZ3M6W1hlXX1dfSx7dHlwZTpKZS5NYXREaWFsb2dSZWZ9XX0pO2NsYXNzIHdve2NvbnN0cnVjdG9yKGUsdCxuLGEsbyl7dGhpcy50cmFuc2xhdGU9ZSx0aGlzLmRpYWxvZz10LHRoaXMuZGlhbG9nU2VydmljZT1uLHRoaXMuZmI9YSx0aGlzLmNkcj1vLHRoaXMuaXNMZWdhY3k9ITEsdGhpcy50ZXh0U2VhcmNoTW9kZT0hMSx0aGlzLnRleHRTZWFyY2g9dGhpcy5mYi5jb250cm9sKCIiLHtub25OdWxsYWJsZTohMH0pLHRoaXMuTW9kYnVzUHJvdG9jb2xMYWJlbHNNYXA9em4sdGhpcy5vbkNoYW5nZT0oKT0+e30sdGhpcy5vblRvdWNoZWQ9KCk9Pnt9LHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMubWFzdGVyRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe3NsYXZlczp0aGlzLmZiLmFycmF5KFtdKX0pLHRoaXMuZGF0YVNvdXJjZT1uZXcgQ299Z2V0IHNsYXZlcygpe3JldHVybiB0aGlzLm1hc3RlckZvcm1Hcm91cC5nZXQoInNsYXZlcyIpfW5nT25Jbml0KCl7dGhpcy5tYXN0ZXJGb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMudXBkYXRlVGFibGVEYXRhKGUuc2xhdmVzKSx0aGlzLm9uQ2hhbmdlKGUpLHRoaXMub25Ub3VjaGVkKCl9KSl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9bmdBZnRlclZpZXdJbml0KCl7dGhpcy50ZXh0U2VhcmNoLnZhbHVlQ2hhbmdlcy5waXBlKFZlKDE1MCksQmUoKChlLHQpPT4oZT8/IiIpPT09dC50cmltKCkpKSxOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT50aGlzLnVwZGF0ZVRhYmxlRGF0YSh0aGlzLnNsYXZlcy52YWx1ZSxlLnRyaW0oKSkpKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMub25DaGFuZ2U9ZX1yZWdpc3Rlck9uVG91Y2hlZChlKXt0aGlzLm9uVG91Y2hlZD1lfXdyaXRlVmFsdWUoZSl7dGhpcy5zbGF2ZXMuY2xlYXIoKSx0aGlzLnB1c2hEYXRhQXNGb3JtQXJyYXlzKGUuc2xhdmVzKX1lbnRlckZpbHRlck1vZGUoKXt0aGlzLnRleHRTZWFyY2hNb2RlPSEwLHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtjb25zdCBlPXRoaXMuc2VhcmNoSW5wdXRGaWVsZC5uYXRpdmVFbGVtZW50O2UuZm9jdXMoKSxlLnNldFNlbGVjdGlvblJhbmdlKDAsMCl9ZXhpdEZpbHRlck1vZGUoKXt0aGlzLnVwZGF0ZVRhYmxlRGF0YSh0aGlzLnNsYXZlcy52YWx1ZSksdGhpcy50ZXh0U2VhcmNoTW9kZT0hMSx0aGlzLnRleHRTZWFyY2gucmVzZXQoKX1tYW5hZ2VTbGF2ZShlLHQpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCk7Y29uc3Qgbj1pZSh0KSxhPW4/dGhpcy5zbGF2ZXMuYXQodCkudmFsdWU6e307dGhpcy5nZXRTbGF2ZURpYWxvZyhhLG4/ImFjdGlvbi5hcHBseSI6ImFjdGlvbi5hZGQiKS5hZnRlckNsb3NlZCgpLnBpcGUoT2UoMSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2UmJihuP3RoaXMuc2xhdmVzLmF0KHQpLnBhdGNoVmFsdWUoZSk6dGhpcy5zbGF2ZXMucHVzaCh0aGlzLmZiLmNvbnRyb2woZSkpLHRoaXMubWFzdGVyRm9ybUdyb3VwLm1hcmtBc0RpcnR5KCkpfSkpfWdldFNsYXZlRGlhbG9nKGUsdCl7cmV0dXJuIHRoaXMuaXNMZWdhY3k/dGhpcy5kaWFsb2cub3Blbih2byx7ZGlzYWJsZUNsb3NlOiEwLHBhbmVsQ2xhc3M6WyJ0Yi1kaWFsb2ciLCJ0Yi1mdWxsc2NyZWVuLWRpYWxvZyJdLGRhdGE6e3ZhbHVlOmUsaGlkZU5ld0ZpZWxkczohMCxidXR0b25UaXRsZTp0fX0pOnRoaXMuZGlhbG9nLm9wZW4oeG8se2Rpc2FibGVDbG9zZTohMCxwYW5lbENsYXNzOlsidGItZGlhbG9nIiwidGItZnVsbHNjcmVlbi1kaWFsb2ciXSxkYXRhOnt2YWx1ZTplLGJ1dHRvblRpdGxlOnQsaGlkZU5ld0ZpZWxkczohMX19KX1kZWxldGVTbGF2ZShlLHQpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0odGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5kZWxldGUtc2xhdmUtdGl0bGUiKSwiIix0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJhY3Rpb24ubm8iKSx0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJhY3Rpb24ueWVzIiksITApLnBpcGUoT2UoMSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2UmJih0aGlzLnNsYXZlcy5yZW1vdmVBdCh0KSx0aGlzLm1hc3RlckZvcm1Hcm91cC5tYXJrQXNEaXJ0eSgpKX0pKX11cGRhdGVUYWJsZURhdGEoZSx0KXt0JiYoZT1lLmZpbHRlcigoZT0+T2JqZWN0LnZhbHVlcyhlKS5zb21lKChlPT5lLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0LnRvTG93ZXJDYXNlKCkpKSkpKSksdGhpcy5kYXRhU291cmNlLmxvYWREYXRhKGUpfXB1c2hEYXRhQXNGb3JtQXJyYXlzKGUpe2U/Lmxlbmd0aCYmZS5mb3JFYWNoKChlPT50aGlzLnNsYXZlcy5wdXNoKHRoaXMuZmIuY29udHJvbChlKSkpKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOndvLGRlcHM6W3t0b2tlbjpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0b2tlbjpKZS5NYXREaWFsb2d9LHt0b2tlbjpYLkRpYWxvZ1NlcnZpY2V9LHt0b2tlbjptZS5Gb3JtQnVpbGRlcn0se3Rva2VuOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOndvLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItbW9kYnVzLW1hc3Rlci10YWJsZSIsaW5wdXRzOntpc0xlZ2FjeToiaXNMZWdhY3kifSxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT53bykpLG11bHRpOiEwfV0sdmlld1F1ZXJpZXM6W3twcm9wZXJ0eU5hbWU6InNlYXJjaElucHV0RmllbGQiLGZpcnN0OiEwLHByZWRpY2F0ZTpbInNlYXJjaElucHV0Il0sZGVzY2VuZGFudHM6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItbWFzdGVyLXRhYmxlIHRiLWFic29sdXRlLWZpbGwiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggY2VudGVyIj57eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLW1hc3RlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGZ4RmxleCBmeExheW91dD0iY29sdW1uIiBjbGFzcz0idGItbWFzdGVyLXRhYmxlLWNvbnRlbnQiPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIiBbZnhTaG93XT0iIXRleHRTZWFyY2hNb2RlIj5cbiAgICAgIDxkaXYgY2xhc3M9Im1hdC10b29sYmFyLXRvb2xzIiAqbmdJZj0iKGRhdGFTb3VyY2UuaXNFbXB0eSgpIHwgYXN5bmMpID09PSBmYWxzZSI+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0ic3RhcnQgY2VudGVyIiBmeExheW91dC54cz0iY29sdW1uIiBmeExheW91dEFsaWduLnhzPSJjZW50ZXIgc3RhcnQiIGNsYXNzPSJ0aXRsZS1jb250YWluZXIiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Yi1tYXN0ZXItdGFibGUtdGl0bGUiPnt7IFwnZ2F0ZXdheS5zZXJ2ZXJzLXNsYXZlc1wnIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZVNsYXZlKCRldmVudCkiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uYWRkXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9ImVudGVyRmlsdGVyTW9kZSgpIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLnNlYXJjaFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXRvb2xiYXI+XG4gICAgPG1hdC10b29sYmFyIGNsYXNzPSJtYXQtbWRjLXRhYmxlLXRvb2xiYXIiIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSI+XG4gICAgICA8ZGl2IGNsYXNzPSJtYXQtdG9vbGJhci10b29scyI+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+Jm5ic3A7PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0ICNzZWFyY2hJbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPSJ0ZXh0U2VhcmNoIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdjb21tb24uZW50ZXItc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0iZXhpdEZpbHRlck1vZGUoKSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5jbG9zZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1jb250YWluZXIiPlxuICAgICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09ImRhdGFTb3VyY2UiPlxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPSJcJ2RldmljZU5hbWVcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS5kZXZpY2UtbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgc2xhdmUiIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iPlxuICAgICAgICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgc2xhdmVbXCdkZXZpY2VOYW1lXCddIH19PC9kaXY+XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW21hdENvbHVtbkRlZl09IlwnaW5mb1wnIj5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmluZm9cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlIiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IHNsYXZlW1wnaG9zdFwnXSA/PyBzbGF2ZVtcJ3BvcnRcJ10gfX08L2Rpdj5cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT0iXCd1bml0SWRcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS51bml0LWlkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBzbGF2ZSIgY2xhc3M9InRhYmxlLXZhbHVlLWNvbHVtbiI+XG4gICAgICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBzbGF2ZVtcJ3VuaXRJZFwnXSB9fTwvZGl2PlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPSJcJ3R5cGVcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXY+e3sgXCdnYXRld2F5LnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlIiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIHt7IE1vZGJ1c1Byb3RvY29sTGFiZWxzTWFwLmdldChzbGF2ZVtcJ3R5cGVcJ10pIH19XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPSJhY3Rpb25zIiBzdGlja3lFbmQ+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGUuZ3QtbWRdPSJ7IG1pbldpZHRoOiBcJzk2cHhcJywgbWF4V2lkdGg6IFwnOTZweFwnLCB3aWR0aDogXCc5NnB4XCcsIHRleHRBbGlnbjogXCdjZW50ZXJcJ30iPlxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlOyBsZXQgaSA9IGluZGV4IlxuICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZS5ndC1tZF09InsgbWluV2lkdGg6IFwnOTZweFwnLCBtYXhXaWR0aDogXCc5NnB4XCcsIHdpZHRoOiBcJzk2cHhcJ30iPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyb3dBY3Rpb25zPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZVNsYXZlKCRldmVudCwgaSkiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmRlbGV0ZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlU2xhdmUoJGV2ZW50LCBpKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24+ZGVsZXRlPC90Yi1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8ZGl2IGZ4SGlkZSBmeFNob3cuZ3QtbWQgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0QWxpZ249ImVuZCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJyb3dBY3Rpb25zIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmeEhpZGUgZnhTaG93Lmx0LWxnIGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJlbmQiPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPSJjZWxsQWN0aW9uc01lbnUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8bWF0LW1lbnUgI2NlbGxBY3Rpb25zTWVudT0ibWF0TWVudSIgeFBvc2l0aW9uPSJiZWZvcmUiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJyb3dBY3Rpb25zIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bWF0LWhlYWRlci1yb3cgW25nQ2xhc3NdPSJ7XCdtYXQtcm93LXNlbGVjdFwnOiB0cnVlfSIgKm1hdEhlYWRlclJvd0RlZj0iW1wnZGV2aWNlTmFtZVwnLCBcJ2luZm9cJywgXCd1bml0SWRcJywgXCd0eXBlXCcsIFwnYWN0aW9uc1wnXTsgc3RpY2t5OiB0cnVlIj48L21hdC1oZWFkZXItcm93PlxuICAgICAgICA8bWF0LXJvdyAqbWF0Um93RGVmPSJsZXQgc2xhdmU7IGNvbHVtbnM6IFtcJ2RldmljZU5hbWVcJywgXCdpbmZvXCcsIFwndW5pdElkXCcsIFwndHlwZVwnLCBcJ2FjdGlvbnNcJ10iPjwvbWF0LXJvdz5cbiAgICAgIDwvdGFibGU+XG4gICAgICA8c2VjdGlvbiBbZnhTaG93XT0iIXRleHRTZWFyY2hNb2RlICYmIChkYXRhU291cmNlLmlzRW1wdHkoKSB8IGFzeW5jKSIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgIGNsYXNzPSJtYXQtaGVhZGxpbmUtNSB0Yi1hYnNvbHV0ZS1maWxsIHRiLWFkZC1uZXciPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9ImNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VTbGF2ZSgkZXZlbnQpIj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC05NiI+YWRkPC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3Bhbj57eyBcJ2dhdGV3YXkuYWRkLXNsYXZlXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9zZWN0aW9uPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSAmJiAoZGF0YVNvdXJjZS5pc0VtcHR5KCkgfCBhc3luYykiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCIgdHJhbnNsYXRlPlxuICAgICAgd2lkZ2V0Lm5vLWRhdGEtZm91bmRcbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojZmZmO292ZXJmbG93OmhpZGRlbn06aG9zdCAudGItbWFzdGVyLXRhYmxlIC50Yi1tYXN0ZXItdGFibGUtY29udGVudCAubWF0LXRvb2xiYXItdG9vbHN7bWluLWhlaWdodDphdXRvfTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50aXRsZS1jb250YWluZXJ7b3ZlcmZsb3c6aGlkZGVufTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50Yi1tYXN0ZXItdGFibGUtdGl0bGV7cGFkZGluZy1yaWdodDoyMHB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306aG9zdCAudGItbWFzdGVyLXRhYmxlIC50Yi1tYXN0ZXItdGFibGUtY29udGVudCAudGFibGUtY29udGFpbmVye292ZXJmbG93OmF1dG99Omhvc3QgLnRiLW1hc3Rlci10YWJsZSAudGItbWFzdGVyLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lciAubWF0LW1kYy10YWJsZXt0YWJsZS1sYXlvdXQ6Zml4ZWQ7bWluLXdpZHRoOjQ1MHB4fTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50YWJsZS1jb250YWluZXIgLm1hdC1tZGMtdGFibGUgLnRhYmxlLXZhbHVlLWNvbHVtbntwYWRkaW5nOjAgMTJweDt3aWR0aDozOCV9Omhvc3QgLm5vLWRhdGEtZm91bmR7aGVpZ2h0OmNhbGMoMTAwJSAtIDEyMHB4KX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCl7Omhvc3QgLm1hdC10b29sYmFye2hlaWdodDphdXRvO21pbi1oZWlnaHQ6MTAwcHh9Omhvc3QgLm1hdC10b29sYmFyIC50Yi1tYXN0ZXItdGFibGUtdGl0bGV7cGFkZGluZy1ib3R0b206NXB4O3dpZHRoOjEwMCV9fTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxse2N1cnNvcjpwb2ludGVyfTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxsIC5tYXQtaWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4O2ZvbnQtc2l6ZToyNHB4O2NvbG9yOiM3NTc1NzV9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJuZ21vZHVsZSIsdHlwZTpIfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdDbGFzcyxzZWxlY3RvcjoiW25nQ2xhc3NdIixpbnB1dHM6WyJjbGFzcyIsIm5nQ2xhc3MiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nVGVtcGxhdGVPdXRsZXQsc2VsZWN0b3I6IltuZ1RlbXBsYXRlT3V0bGV0XSIsaW5wdXRzOlsibmdUZW1wbGF0ZU91dGxldENvbnRleHQiLCJuZ1RlbXBsYXRlT3V0bGV0IiwibmdUZW1wbGF0ZU91dGxldEluamVjdG9yIl19LHtraW5kOiJwaXBlIix0eXBlOl8uQXN5bmNQaXBlLG5hbWU6ImFzeW5jIn0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QnV0dG9uLHNlbGVjdG9yOiIgICAgYnV0dG9uW21hdC1idXR0b25dLCBidXR0b25bbWF0LXJhaXNlZC1idXR0b25dLCBidXR0b25bbWF0LWZsYXQtYnV0dG9uXSwgICAgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0gICIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpodC5NYXRNZW51LHNlbGVjdG9yOiJtYXQtbWVudSIsaW5wdXRzOlsiYmFja2Ryb3BDbGFzcyIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwieFBvc2l0aW9uIiwieVBvc2l0aW9uIiwib3ZlcmxhcFRyaWdnZXIiLCJoYXNCYWNrZHJvcCIsImNsYXNzIiwiY2xhc3NMaXN0Il0sb3V0cHV0czpbImNsb3NlZCIsImNsb3NlIl0sZXhwb3J0QXM6WyJtYXRNZW51Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6aHQuTWF0TWVudVRyaWdnZXIsc2VsZWN0b3I6IlttYXQtbWVudS10cmlnZ2VyLWZvcl0sIFttYXRNZW51VHJpZ2dlckZvcl0iLGlucHV0czpbIm1hdC1tZW51LXRyaWdnZXItZm9yIiwibWF0TWVudVRyaWdnZXJGb3IiLCJtYXRNZW51VHJpZ2dlckRhdGEiLCJtYXRNZW51VHJpZ2dlclJlc3RvcmVGb2N1cyJdLG91dHB1dHM6WyJtZW51T3BlbmVkIiwib25NZW51T3BlbiIsIm1lbnVDbG9zZWQiLCJvbk1lbnVDbG9zZSJdLGV4cG9ydEFzOlsibWF0TWVudVRyaWdnZXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdFRhYmxlLHNlbGVjdG9yOiJtYXQtdGFibGUsIHRhYmxlW21hdC10YWJsZV0iLGV4cG9ydEFzOlsibWF0VGFibGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlckNlbGxEZWYsc2VsZWN0b3I6IlttYXRIZWFkZXJDZWxsRGVmXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRIZWFkZXJSb3dEZWYsc2VsZWN0b3I6IlttYXRIZWFkZXJSb3dEZWZdIixpbnB1dHM6WyJtYXRIZWFkZXJSb3dEZWYiLCJtYXRIZWFkZXJSb3dEZWZTdGlja3kiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdENvbHVtbkRlZixzZWxlY3RvcjoiW21hdENvbHVtbkRlZl0iLGlucHV0czpbIm1hdENvbHVtbkRlZiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Q2VsbERlZixzZWxlY3RvcjoiW21hdENlbGxEZWZdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdFJvd0RlZixzZWxlY3RvcjoiW21hdFJvd0RlZl0iLGlucHV0czpbIm1hdFJvd0RlZkNvbHVtbnMiLCJtYXRSb3dEZWZXaGVuIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRIZWFkZXJDZWxsLHNlbGVjdG9yOiJtYXQtaGVhZGVyLWNlbGwsIHRoW21hdC1oZWFkZXItY2VsbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Q2VsbCxzZWxlY3RvcjoibWF0LWNlbGwsIHRkW21hdC1jZWxsXSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Yi5NYXRIZWFkZXJSb3csc2VsZWN0b3I6Im1hdC1oZWFkZXItcm93LCB0clttYXQtaGVhZGVyLXJvd10iLGV4cG9ydEFzOlsibWF0SGVhZGVyUm93Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Yi5NYXRSb3csc2VsZWN0b3I6Im1hdC1yb3csIHRyW21hdC1yb3ddIixleHBvcnRBczpbIm1hdFJvdyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRdLCBbZnhMYXlvdXQueHNdLCBbZnhMYXlvdXQuc21dLCBbZnhMYXlvdXQubWRdLCAgW2Z4TGF5b3V0LmxnXSwgW2Z4TGF5b3V0LnhsXSwgW2Z4TGF5b3V0Lmx0LXNtXSwgW2Z4TGF5b3V0Lmx0LW1kXSwgIFtmeExheW91dC5sdC1sZ10sIFtmeExheW91dC5sdC14bF0sIFtmeExheW91dC5ndC14c10sIFtmeExheW91dC5ndC1zbV0sICBbZnhMYXlvdXQuZ3QtbWRdLCBbZnhMYXlvdXQuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dCIsImZ4TGF5b3V0LnhzIiwiZnhMYXlvdXQuc20iLCJmeExheW91dC5tZCIsImZ4TGF5b3V0LmxnIiwiZnhMYXlvdXQueGwiLCJmeExheW91dC5sdC1zbSIsImZ4TGF5b3V0Lmx0LW1kIiwiZnhMYXlvdXQubHQtbGciLCJmeExheW91dC5sdC14bCIsImZ4TGF5b3V0Lmd0LXhzIiwiZnhMYXlvdXQuZ3Qtc20iLCJmeExheW91dC5ndC1tZCIsImZ4TGF5b3V0Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOksuRGVmYXVsdFNob3dIaWRlRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeFNob3ddLCBbZnhTaG93LnByaW50XSwgIFtmeFNob3cueHNdLCBbZnhTaG93LnNtXSwgW2Z4U2hvdy5tZF0sIFtmeFNob3cubGddLCBbZnhTaG93LnhsXSwgIFtmeFNob3cubHQtc21dLCBbZnhTaG93Lmx0LW1kXSwgW2Z4U2hvdy5sdC1sZ10sIFtmeFNob3cubHQteGxdLCAgW2Z4U2hvdy5ndC14c10sIFtmeFNob3cuZ3Qtc21dLCBbZnhTaG93Lmd0LW1kXSwgW2Z4U2hvdy5ndC1sZ10sICBbZnhIaWRlXSwgW2Z4SGlkZS5wcmludF0sICBbZnhIaWRlLnhzXSwgW2Z4SGlkZS5zbV0sIFtmeEhpZGUubWRdLCBbZnhIaWRlLmxnXSwgW2Z4SGlkZS54bF0sICBbZnhIaWRlLmx0LXNtXSwgW2Z4SGlkZS5sdC1tZF0sIFtmeEhpZGUubHQtbGddLCBbZnhIaWRlLmx0LXhsXSwgIFtmeEhpZGUuZ3QteHNdLCBbZnhIaWRlLmd0LXNtXSwgW2Z4SGlkZS5ndC1tZF0sIFtmeEhpZGUuZ3QtbGddIixpbnB1dHM6WyJmeFNob3ciLCJmeFNob3cucHJpbnQiLCJmeFNob3cueHMiLCJmeFNob3cuc20iLCJmeFNob3cubWQiLCJmeFNob3cubGciLCJmeFNob3cueGwiLCJmeFNob3cubHQtc20iLCJmeFNob3cubHQtbWQiLCJmeFNob3cubHQtbGciLCJmeFNob3cubHQteGwiLCJmeFNob3cuZ3QteHMiLCJmeFNob3cuZ3Qtc20iLCJmeFNob3cuZ3QtbWQiLCJmeFNob3cuZ3QtbGciLCJmeEhpZGUiLCJmeEhpZGUucHJpbnQiLCJmeEhpZGUueHMiLCJmeEhpZGUuc20iLCJmeEhpZGUubWQiLCJmeEhpZGUubGciLCJmeEhpZGUueGwiLCJmeEhpZGUubHQtc20iLCJmeEhpZGUubHQtbWQiLCJmeEhpZGUubHQtbGciLCJmeEhpZGUubHQteGwiLCJmeEhpZGUuZ3QteHMiLCJmeEhpZGUuZ3Qtc20iLCJmeEhpZGUuZ3QtbWQiLCJmeEhpZGUuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRDbGFzc0RpcmVjdGl2ZSxzZWxlY3RvcjoiICBbbmdDbGFzc10sIFtuZ0NsYXNzLnhzXSwgW25nQ2xhc3Muc21dLCBbbmdDbGFzcy5tZF0sIFtuZ0NsYXNzLmxnXSwgW25nQ2xhc3MueGxdLCAgW25nQ2xhc3MubHQtc21dLCBbbmdDbGFzcy5sdC1tZF0sIFtuZ0NsYXNzLmx0LWxnXSwgW25nQ2xhc3MubHQteGxdLCAgW25nQ2xhc3MuZ3QteHNdLCBbbmdDbGFzcy5ndC1zbV0sIFtuZ0NsYXNzLmd0LW1kXSwgW25nQ2xhc3MuZ3QtbGddIixpbnB1dHM6WyJuZ0NsYXNzIiwibmdDbGFzcy54cyIsIm5nQ2xhc3Muc20iLCJuZ0NsYXNzLm1kIiwibmdDbGFzcy5sZyIsIm5nQ2xhc3MueGwiLCJuZ0NsYXNzLmx0LXNtIiwibmdDbGFzcy5sdC1tZCIsIm5nQ2xhc3MubHQtbGciLCJuZ0NsYXNzLmx0LXhsIiwibmdDbGFzcy5ndC14cyIsIm5nQ2xhc3MuZ3Qtc20iLCJuZ0NsYXNzLmd0LW1kIiwibmdDbGFzcy5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOksuRGVmYXVsdFN0eWxlRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtuZ1N0eWxlXSwgIFtuZ1N0eWxlLnhzXSwgW25nU3R5bGUuc21dLCBbbmdTdHlsZS5tZF0sIFtuZ1N0eWxlLmxnXSwgW25nU3R5bGUueGxdLCAgW25nU3R5bGUubHQtc21dLCBbbmdTdHlsZS5sdC1tZF0sIFtuZ1N0eWxlLmx0LWxnXSwgW25nU3R5bGUubHQteGxdLCAgW25nU3R5bGUuZ3QteHNdLCBbbmdTdHlsZS5ndC1zbV0sIFtuZ1N0eWxlLmd0LW1kXSwgW25nU3R5bGUuZ3QtbGddIixpbnB1dHM6WyJuZ1N0eWxlIiwibmdTdHlsZS54cyIsIm5nU3R5bGUuc20iLCJuZ1N0eWxlLm1kIiwibmdTdHlsZS5sZyIsIm5nU3R5bGUueGwiLCJuZ1N0eWxlLmx0LXNtIiwibmdTdHlsZS5sdC1tZCIsIm5nU3R5bGUubHQtbGciLCJuZ1N0eWxlLmx0LXhsIiwibmdTdHlsZS5ndC14cyIsIm5nU3R5bGUuZ3Qtc20iLCJuZ1N0eWxlLmd0LW1kIiwibmdTdHlsZS5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpidC5UYkljb25Db21wb25lbnQsc2VsZWN0b3I6InRiLWljb24iLGlucHV0czpbImNvbG9yIl0sZXhwb3J0QXM6WyJ0Ykljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJNb2RidXNNYXN0ZXJUYWJsZUNvbXBvbmVudCIsd28pLEhlKFt4dCgpXSx3by5wcm90b3R5cGUsImlzTGVnYWN5Iix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6d28sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1tYXN0ZXItdGFibGUiLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT53bykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsU2FdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItbWFzdGVyLXRhYmxlIHRiLWFic29sdXRlLWZpbGwiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggY2VudGVyIj57eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLW1hc3RlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGZ4RmxleCBmeExheW91dD0iY29sdW1uIiBjbGFzcz0idGItbWFzdGVyLXRhYmxlLWNvbnRlbnQiPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIiBbZnhTaG93XT0iIXRleHRTZWFyY2hNb2RlIj5cbiAgICAgIDxkaXYgY2xhc3M9Im1hdC10b29sYmFyLXRvb2xzIiAqbmdJZj0iKGRhdGFTb3VyY2UuaXNFbXB0eSgpIHwgYXN5bmMpID09PSBmYWxzZSI+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0ic3RhcnQgY2VudGVyIiBmeExheW91dC54cz0iY29sdW1uIiBmeExheW91dEFsaWduLnhzPSJjZW50ZXIgc3RhcnQiIGNsYXNzPSJ0aXRsZS1jb250YWluZXIiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Yi1tYXN0ZXItdGFibGUtdGl0bGUiPnt7IFwnZ2F0ZXdheS5zZXJ2ZXJzLXNsYXZlc1wnIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZVNsYXZlKCRldmVudCkiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uYWRkXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9ImVudGVyRmlsdGVyTW9kZSgpIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLnNlYXJjaFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXRvb2xiYXI+XG4gICAgPG1hdC10b29sYmFyIGNsYXNzPSJtYXQtbWRjLXRhYmxlLXRvb2xiYXIiIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSI+XG4gICAgICA8ZGl2IGNsYXNzPSJtYXQtdG9vbGJhci10b29scyI+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+Jm5ic3A7PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0ICNzZWFyY2hJbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPSJ0ZXh0U2VhcmNoIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdjb21tb24uZW50ZXItc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0iZXhpdEZpbHRlck1vZGUoKSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5jbG9zZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1jb250YWluZXIiPlxuICAgICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09ImRhdGFTb3VyY2UiPlxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPSJcJ2RldmljZU5hbWVcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS5kZXZpY2UtbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgc2xhdmUiIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iPlxuICAgICAgICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgc2xhdmVbXCdkZXZpY2VOYW1lXCddIH19PC9kaXY+XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW21hdENvbHVtbkRlZl09IlwnaW5mb1wnIj5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmluZm9cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlIiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IHNsYXZlW1wnaG9zdFwnXSA/PyBzbGF2ZVtcJ3BvcnRcJ10gfX08L2Rpdj5cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT0iXCd1bml0SWRcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS51bml0LWlkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBzbGF2ZSIgY2xhc3M9InRhYmxlLXZhbHVlLWNvbHVtbiI+XG4gICAgICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBzbGF2ZVtcJ3VuaXRJZFwnXSB9fTwvZGl2PlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPSJcJ3R5cGVcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXY+e3sgXCdnYXRld2F5LnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlIiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIHt7IE1vZGJ1c1Byb3RvY29sTGFiZWxzTWFwLmdldChzbGF2ZVtcJ3R5cGVcJ10pIH19XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPSJhY3Rpb25zIiBzdGlja3lFbmQ+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGUuZ3QtbWRdPSJ7IG1pbldpZHRoOiBcJzk2cHhcJywgbWF4V2lkdGg6IFwnOTZweFwnLCB3aWR0aDogXCc5NnB4XCcsIHRleHRBbGlnbjogXCdjZW50ZXJcJ30iPlxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlOyBsZXQgaSA9IGluZGV4IlxuICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZS5ndC1tZF09InsgbWluV2lkdGg6IFwnOTZweFwnLCBtYXhXaWR0aDogXCc5NnB4XCcsIHdpZHRoOiBcJzk2cHhcJ30iPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyb3dBY3Rpb25zPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZVNsYXZlKCRldmVudCwgaSkiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmRlbGV0ZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlU2xhdmUoJGV2ZW50LCBpKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24+ZGVsZXRlPC90Yi1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8ZGl2IGZ4SGlkZSBmeFNob3cuZ3QtbWQgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0QWxpZ249ImVuZCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJyb3dBY3Rpb25zIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmeEhpZGUgZnhTaG93Lmx0LWxnIGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJlbmQiPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPSJjZWxsQWN0aW9uc01lbnUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8bWF0LW1lbnUgI2NlbGxBY3Rpb25zTWVudT0ibWF0TWVudSIgeFBvc2l0aW9uPSJiZWZvcmUiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJyb3dBY3Rpb25zIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bWF0LWhlYWRlci1yb3cgW25nQ2xhc3NdPSJ7XCdtYXQtcm93LXNlbGVjdFwnOiB0cnVlfSIgKm1hdEhlYWRlclJvd0RlZj0iW1wnZGV2aWNlTmFtZVwnLCBcJ2luZm9cJywgXCd1bml0SWRcJywgXCd0eXBlXCcsIFwnYWN0aW9uc1wnXTsgc3RpY2t5OiB0cnVlIj48L21hdC1oZWFkZXItcm93PlxuICAgICAgICA8bWF0LXJvdyAqbWF0Um93RGVmPSJsZXQgc2xhdmU7IGNvbHVtbnM6IFtcJ2RldmljZU5hbWVcJywgXCdpbmZvXCcsIFwndW5pdElkXCcsIFwndHlwZVwnLCBcJ2FjdGlvbnNcJ10iPjwvbWF0LXJvdz5cbiAgICAgIDwvdGFibGU+XG4gICAgICA8c2VjdGlvbiBbZnhTaG93XT0iIXRleHRTZWFyY2hNb2RlICYmIChkYXRhU291cmNlLmlzRW1wdHkoKSB8IGFzeW5jKSIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgIGNsYXNzPSJtYXQtaGVhZGxpbmUtNSB0Yi1hYnNvbHV0ZS1maWxsIHRiLWFkZC1uZXciPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9ImNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VTbGF2ZSgkZXZlbnQpIj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC05NiI+YWRkPC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3Bhbj57eyBcJ2dhdGV3YXkuYWRkLXNsYXZlXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9zZWN0aW9uPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSAmJiAoZGF0YVNvdXJjZS5pc0VtcHR5KCkgfCBhc3luYykiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCIgdHJhbnNsYXRlPlxuICAgICAgd2lkZ2V0Lm5vLWRhdGEtZm91bmRcbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojZmZmO292ZXJmbG93OmhpZGRlbn06aG9zdCAudGItbWFzdGVyLXRhYmxlIC50Yi1tYXN0ZXItdGFibGUtY29udGVudCAubWF0LXRvb2xiYXItdG9vbHN7bWluLWhlaWdodDphdXRvfTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50aXRsZS1jb250YWluZXJ7b3ZlcmZsb3c6aGlkZGVufTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50Yi1tYXN0ZXItdGFibGUtdGl0bGV7cGFkZGluZy1yaWdodDoyMHB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306aG9zdCAudGItbWFzdGVyLXRhYmxlIC50Yi1tYXN0ZXItdGFibGUtY29udGVudCAudGFibGUtY29udGFpbmVye292ZXJmbG93OmF1dG99Omhvc3QgLnRiLW1hc3Rlci10YWJsZSAudGItbWFzdGVyLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lciAubWF0LW1kYy10YWJsZXt0YWJsZS1sYXlvdXQ6Zml4ZWQ7bWluLXdpZHRoOjQ1MHB4fTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50YWJsZS1jb250YWluZXIgLm1hdC1tZGMtdGFibGUgLnRhYmxlLXZhbHVlLWNvbHVtbntwYWRkaW5nOjAgMTJweDt3aWR0aDozOCV9Omhvc3QgLm5vLWRhdGEtZm91bmR7aGVpZ2h0OmNhbGMoMTAwJSAtIDEyMHB4KX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCl7Omhvc3QgLm1hdC10b29sYmFye2hlaWdodDphdXRvO21pbi1oZWlnaHQ6MTAwcHh9Omhvc3QgLm1hdC10b29sYmFyIC50Yi1tYXN0ZXItdGFibGUtdGl0bGV7cGFkZGluZy1ib3R0b206NXB4O3dpZHRoOjEwMCV9fTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxse2N1cnNvcjpwb2ludGVyfTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxsIC5tYXQtaWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4O2ZvbnQtc2l6ZToyNHB4O2NvbG9yOiM3NTc1NzV9XG4nXX1dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0eXBlOkplLk1hdERpYWxvZ30se3R5cGU6WC5EaWFsb2dTZXJ2aWNlfSx7dHlwZTptZS5Gb3JtQnVpbGRlcn0se3R5cGU6dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHByb3BEZWNvcmF0b3JzOntzZWFyY2hJbnB1dEZpZWxkOlt7dHlwZTpvLGFyZ3M6WyJzZWFyY2hJbnB1dCJdfV0saXNMZWdhY3k6W3t0eXBlOmF9XX19KTtjbGFzcyBDbyBleHRlbmRzIFJ7Y29uc3RydWN0b3IoKXtzdXBlcigpfX1lKCJTbGF2ZXNEYXRhc291cmNlIixDbyk7Y2xhc3MgVG8gZXh0ZW5kcyB5YXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5lbmFibGVTbGF2ZUNvbnRyb2w9bmV3IHllKCExKSx0aGlzLmVuYWJsZVNsYXZlQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy51cGRhdGVTbGF2ZUVuYWJsaW5nKGUpLHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJzbGF2ZSIpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohIXRoaXMub25DaGFuZ2V9KX0pKX13cml0ZVZhbHVlKGUpe3N1cGVyLndyaXRlVmFsdWUoZSksdGhpcy5vbkVuYWJsZVNsYXZlQ29udHJvbChlKX12YWxpZGF0ZSgpe2NvbnN0e21hc3RlcjplLHNsYXZlOnR9PXRoaXMuYmFzaWNGb3JtR3JvdXAudmFsdWUsbj0hZT8uc2xhdmVzPy5sZW5ndGgmJihlZSh0LHt9KXx8IXQpO3JldHVybiF0aGlzLmJhc2ljRm9ybUdyb3VwLnZhbGlkfHxuP3tiYXNpY0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fTpudWxsfWluaXRCYXNpY0Zvcm1Hcm91cCgpe3JldHVybiB0aGlzLmZiLmdyb3VwKHttYXN0ZXI6W10sc2xhdmU6W119KX11cGRhdGVTbGF2ZUVuYWJsaW5nKGUpe2U/dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInNsYXZlIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KTp0aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgic2xhdmUiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KX1vbkVuYWJsZVNsYXZlQ29udHJvbChlKXt0aGlzLmVuYWJsZVNsYXZlQ29udHJvbC5zZXRWYWx1ZSghIWUuc2xhdmUmJiFlZShlLnNsYXZlLHt9KSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpUbyxkZXBzOltdLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkRpcmVjdGl2ZX0pfXN0YXRpY3t0aGlzLsm1ZGlyPXQuybXJtW5nRGVjbGFyZURpcmVjdGl2ZSh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6VG8sdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnR9KX19ZSgiTW9kYnVzQmFzaWNDb25maWdEaXJlY3RpdmUiLFRvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlRvLGRlY29yYXRvcnM6W3t0eXBlOnN9XSxjdG9yUGFyYW1ldGVyczooKT0+W119KTtjbGFzcyBTb3tjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy5Nb2RidXNQcm90b2NvbExhYmVsc01hcD16bix0aGlzLk1vZGJ1c01ldGhvZExhYmVsc01hcD1Lbix0aGlzLnBvcnRMaW1pdHM9RXQsdGhpcy5tb2RidXNQcm90b2NvbFR5cGVzPU9iamVjdC52YWx1ZXMoSG4pLHRoaXMubW9kYnVzTWV0aG9kVHlwZXM9T2JqZWN0LnZhbHVlcyhXbiksdGhpcy5tb2RidXNTZXJpYWxNZXRob2RUeXBlcz1PYmplY3QudmFsdWVzKGpuKSx0aGlzLm1vZGJ1c09yZGVyVHlwZT1PYmplY3QudmFsdWVzKEpuKSx0aGlzLk1vZGJ1c1Byb3RvY29sVHlwZT1Ibix0aGlzLm1vZGJ1c0JhdWRyYXRlcz1sYSx0aGlzLmlzU2xhdmVFbmFibGVkPSExLHRoaXMuc2VyaWFsU3BlY2lmaWNDb250cm9sS2V5cz1bInNlcmlhbFBvcnQiLCJiYXVkcmF0ZSJdLHRoaXMudGNwVWRwU3BlY2lmaWNDb250cm9sS2V5cz1bInBvcnQiLCJzZWN1cml0eSIsImhvc3QiXSx0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLnNob3dTZWN1cml0eUNvbnRyb2w9dGhpcy5mYi5jb250cm9sKCExKSx0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe3R5cGU6W0huLlRDUF0saG9zdDpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scG9ydDpbbnVsbCxbdWUucmVxdWlyZWQsdWUubWluKEV0Lk1JTiksdWUubWF4KEV0Lk1BWCldXSxzZXJpYWxQb3J0OlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxtZXRob2Q6W1duLlNPQ0tFVF0sdW5pdElkOltudWxsLFt1ZS5yZXF1aXJlZF1dLGJhdWRyYXRlOlt0aGlzLm1vZGJ1c0JhdWRyYXRlc1swXV0sZGV2aWNlTmFtZTpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sZGV2aWNlVHlwZTpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scG9sbFBlcmlvZDpbNWUzLFt1ZS5yZXF1aXJlZF1dLHNlbmREYXRhVG9UaGluZ3NCb2FyZDpbITFdLGJ5dGVPcmRlcjpbSm4uQklHXSx3b3JkT3JkZXI6W0puLkJJR10sc2VjdXJpdHk6W10saWRlbnRpdHk6dGhpcy5mYi5ncm91cCh7dmVuZG9yTmFtZTpbIiIsW3VlLnBhdHRlcm4oa3QpXV0scHJvZHVjdENvZGU6WyIiLFt1ZS5wYXR0ZXJuKGt0KV1dLHZlbmRvclVybDpbIiIsW3VlLnBhdHRlcm4oa3QpXV0scHJvZHVjdE5hbWU6WyIiLFt1ZS5wYXR0ZXJuKGt0KV1dLG1vZGVsTmFtZTpbIiIsW3VlLnBhdHRlcm4oa3QpXV19KSx2YWx1ZXM6W119KSx0aGlzLm9ic2VydmVWYWx1ZUNoYW5nZXMoKSx0aGlzLm9ic2VydmVUeXBlQ2hhbmdlKCksdGhpcy5vYnNlcnZlU2hvd1NlY3VyaXR5KCl9Z2V0IHByb3RvY29sVHlwZSgpe3JldHVybiB0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldCgidHlwZSIpLnZhbHVlfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC52YWxpZD9udWxsOntzbGF2ZUNvbmZpZ0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fX13cml0ZVZhbHVlKGUpe3RoaXMuc2hvd1NlY3VyaXR5Q29udHJvbC5wYXRjaFZhbHVlKCEhZS5zZWN1cml0eSYmIWVlKGUuc2VjdXJpdHkse30pKSx0aGlzLnVwZGF0ZVNsYXZlQ29uZmlnKGUpfXNldERpc2FibGVkU3RhdGUoZSl7dGhpcy5pc1NsYXZlRW5hYmxlZD0hZSx0aGlzLnVwZGF0ZUZvcm1FbmFibGVTdGF0ZSgpfW9ic2VydmVWYWx1ZUNoYW5nZXMoKXt0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9PntlLnR5cGU9PT1Ibi5TZXJpYWwmJihlLnBvcnQ9ZS5zZXJpYWxQb3J0LGRlbGV0ZSBlLnNlcmlhbFBvcnQpLHRoaXMub25DaGFuZ2UoZSksdGhpcy5vblRvdWNoZWQoKX0pKX1vYnNlcnZlVHlwZUNoYW5nZSgpe3RoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMudXBkYXRlRm9ybUVuYWJsZVN0YXRlKCksdGhpcy51cGRhdGVNZXRob2RUeXBlKGUpfSkpfXVwZGF0ZU1ldGhvZFR5cGUoZSl7dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoIm1ldGhvZCIpLnZhbHVlIT09V24uUlRVJiZ0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldCgibWV0aG9kIikucGF0Y2hWYWx1ZShlPT09SG4uU2VyaWFsP2puLkFTQ0lJOlduLlNPQ0tFVCx7ZW1pdEV2ZW50OiExfSl9dXBkYXRlRm9ybUVuYWJsZVN0YXRlKCl7dGhpcy5pc1NsYXZlRW5hYmxlZD8odGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5lbmFibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuc2hvd1NlY3VyaXR5Q29udHJvbC5lbmFibGUoe2VtaXRFdmVudDohMX0pKToodGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNob3dTZWN1cml0eUNvbnRyb2wuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpLHRoaXMudXBkYXRlRW5hYmxpbmdCeVByb3RvY29sKCksdGhpcy51cGRhdGVTZWN1cml0eUVuYWJsZSh0aGlzLnNob3dTZWN1cml0eUNvbnRyb2wudmFsdWUpfW9ic2VydmVTaG93U2VjdXJpdHkoKXt0aGlzLnNob3dTZWN1cml0eUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+dGhpcy51cGRhdGVTZWN1cml0eUVuYWJsZShlKSkpfXVwZGF0ZVNlY3VyaXR5RW5hYmxlKGUpe2UmJnRoaXMuaXNTbGF2ZUVuYWJsZWQmJnRoaXMucHJvdG9jb2xUeXBlIT09SG4uU2VyaWFsP3RoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KCJzZWN1cml0eSIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSk6dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoInNlY3VyaXR5IikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSl9dXBkYXRlRW5hYmxpbmdCeVByb3RvY29sKCl7Y29uc3QgZT10aGlzLnByb3RvY29sVHlwZT09PUhuLlNlcmlhbCx0PWU/dGhpcy5zZXJpYWxTcGVjaWZpY0NvbnRyb2xLZXlzOnRoaXMudGNwVWRwU3BlY2lmaWNDb250cm9sS2V5cyxuPWU/dGhpcy50Y3BVZHBTcGVjaWZpY0NvbnRyb2xLZXlzOnRoaXMuc2VyaWFsU3BlY2lmaWNDb250cm9sS2V5czt0aGlzLmlzU2xhdmVFbmFibGVkJiZ0LmZvckVhY2goKGU9PnRoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KGUpPy5lbmFibGUoe2VtaXRFdmVudDohMX0pKSksbi5mb3JFYWNoKChlPT50aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChlKT8uZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpKX11cGRhdGVTbGF2ZUNvbmZpZyhlKXtjb25zdHt0eXBlOnQ9SG4uVENQLG1ldGhvZDpuPVduLlJUVSx1bml0SWQ6YT0wLGRldmljZU5hbWU6bz0iIixkZXZpY2VUeXBlOmk9IiIscG9sbFBlcmlvZDpyPTVlMyxzZW5kRGF0YVRvVGhpbmdzQm9hcmQ6cz0hMSxieXRlT3JkZXI6bD1Kbi5CSUcsd29yZE9yZGVyOmM9Sm4uQklHLHNlY3VyaXR5OnA9e30saWRlbnRpdHk6bT17dmVuZG9yTmFtZToiIixwcm9kdWN0Q29kZToiIix2ZW5kb3JVcmw6IiIscHJvZHVjdE5hbWU6IiIsbW9kZWxOYW1lOiIifSx2YWx1ZXM6ZD17fSxiYXVkcmF0ZTp1PXRoaXMubW9kYnVzQmF1ZHJhdGVzWzBdLGhvc3Q6Zz0iIixwb3J0OmY9bnVsbH09ZSx5PXt0eXBlOnQsbWV0aG9kOm4sdW5pdElkOmEsZGV2aWNlTmFtZTpvLGRldmljZVR5cGU6aSxwb2xsUGVyaW9kOnIsc2VuZERhdGFUb1RoaW5nc0JvYXJkOiEhcyxieXRlT3JkZXI6bCx3b3JkT3JkZXI6YyxzZWN1cml0eTpwLGlkZW50aXR5Om0sdmFsdWVzOmQsYmF1ZHJhdGU6dSxob3N0OnQ9PT1Ibi5TZXJpYWw/IiI6Zyxwb3J0OnQ9PT1Ibi5TZXJpYWw/bnVsbDpmLHNlcmlhbFBvcnQ6dD09PUhuLlNlcmlhbD9mOiIifTt0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLnNldFZhbHVlKHkse2VtaXRFdmVudDohMX0pfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6U28sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpTbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1vZGJ1cy1zbGF2ZS1jb25maWciLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PlNvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5TbykpLG11bHRpOiEwfV0sbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgW2Zvcm1Hcm91cF09InNsYXZlQ29uZmlnRm9ybUdyb3VwIiBjbGFzcz0ic2xhdmUtY29udGFpbmVyIj5cbiAgPGRpdiBjbGFzcz0ic2xhdmUtY29udGVudCB0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIiA+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCByb3cgc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIgbm8tZ2FwIGZpbGwtd2lkdGgiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci1zbGF2ZS1jb25maWc8L2Rpdj5cbiAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2YgbW9kYnVzUHJvdG9jb2xUeXBlcyIgW3ZhbHVlXT0idHlwZSI+e3sgTW9kYnVzUHJvdG9jb2xMYWJlbHNNYXAuZ2V0KHR5cGUpIH19PC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiPlxuICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIlxuICAgICAgICAgICBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIlxuICAgICAgICAgICBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmhvc3RcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuaG9zdDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJob3N0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lmhvc3QtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCBlbHNlIHNlcmlhbFBvcnQiXG4gICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiXG4gICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSJ7e3BvcnRMaW1pdHMuTUlOfX0iIG1heD0ie3twb3J0TGltaXRzLk1BWH19IlxuICAgICAgICAgICAgICAgICAgIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvcnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykgfCBnZXRHYXRld2F5UG9ydFRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ21heFwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLXRlbXBsYXRlICNzZXJpYWxQb3J0PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc2VyaWFsLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucG9ydDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJpYWxQb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IlwnZ2F0ZXdheS5wb3J0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5mcmFtZXItdHlwZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+XG4gICAgICAgICAgZ2F0ZXdheS5tZXRob2RcbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBtZXRob2Qgb2YgcHJvdG9jb2xUeXBlID09PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsID8gbW9kYnVzU2VyaWFsTWV0aG9kVHlwZXMgOiBtb2RidXNNZXRob2RUeXBlcyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT0ibWV0aG9kIj57eyBNb2RidXNNZXRob2RMYWJlbHNNYXAuZ2V0KG1ldGhvZCkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy51bml0LWlkXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnVuaXQtaWQ8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InVuaXRJZCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudW5pdC1pZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCd1bml0SWRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLW5hbWU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLXByb2ZpbGU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlVHlwZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLXByb2ZpbGUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VUeXBlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgIDxzcGFuIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCB0cmFuc2xhdGU+XG4gICAgICAgICAgZ2F0ZXdheS5wb2xsLXBlcmlvZFxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvbGxQZXJpb2QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSA9PT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJhdWRyYXRlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJhdWRyYXRlPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJiYXVkcmF0ZSI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCByYXRlIG9mIG1vZGJ1c0JhdWRyYXRlcyIgW3ZhbHVlXT0icmF0ZSI+e3sgcmF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJzZW5kRGF0YVRvVGhpbmdzQm9hcmQiPlxuICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWRhdGEtdG8tcGxhdGZvcm1cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIj5cbiAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5hZHZhbmNlZC1jb25uZWN0aW9uLXNldHRpbmdzPC9kaXY+XG4gICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJ5dGUtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuYnl0ZS1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYnl0ZU9yZGVyIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndvcmQtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud29yZC1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0id29yZE9yZGVyIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCB0Yi1zbGlkZS10b2dnbGUiPlxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJzaG93U2VjdXJpdHlDb250cm9sLnZhbHVlIj5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZ4TGF5b3V0QWxpZ249ImNlbnRlciIgW2Zvcm1Db250cm9sXT0ic2hvd1NlY3VyaXR5Q29udHJvbCIgY2xhc3M9Im1hdC1zbGlkZSIgKGNsaWNrKT0iJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGxzLWNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgPHRiLW1vZGJ1cy1zZWN1cml0eS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZWN1cml0eSI+PC90Yi1tb2RidXMtc2VjdXJpdHktY29uZmlnPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2lkZW50aXR5XCcpIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudmVuZG9yLW5hbWU8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmVuZG9yTmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnByb2R1Y3QtY29kZTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwcm9kdWN0Q29kZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnZlbmRvci11cmw8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmVuZG9yVXJsIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucHJvZHVjdC1uYW1lPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InByb2R1Y3ROYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkubW9kZWwtbmFtZTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJtb2RlbE5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWVzPC9kaXY+XG4gICAgICA8dGItbW9kYnVzLXZhbHVlcyBmb3JtQ29udHJvbE5hbWU9InZhbHVlcyI+PC90Yi1tb2RidXMtdmFsdWVzPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxkZXBlbmRlbmNpZXM6W3traW5kOiJuZ21vZHVsZSIsdHlwZTpIfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWwsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwiLGlucHV0czpbImhpZGVUb2dnbGUiLCJ0b2dnbGVQb3NpdGlvbiJdLG91dHB1dHM6WyJhZnRlckV4cGFuZCIsImFmdGVyQ29sbGFwc2UiXSxleHBvcnRBczpbIm1hdEV4cGFuc2lvblBhbmVsIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIixpbnB1dHM6WyJleHBhbmRlZEhlaWdodCIsImNvbGxhcHNlZEhlaWdodCIsInRhYkluZGV4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxUaXRsZSxzZWxlY3RvcjoibWF0LXBhbmVsLXRpdGxlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWF4VmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttYXhdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtuZ01vZGVsXSIsaW5wdXRzOlsibWF4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpudC5Ub2dnbGVPcHRpb24sc2VsZWN0b3I6InRiLXRvZ2dsZS1vcHRpb24iLGlucHV0czpbInZhbHVlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YXQuVG9nZ2xlU2VsZWN0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi10b2dnbGUtc2VsZWN0IixpbnB1dHM6WyJkaXNhYmxlZCIsInNlbGVjdE1lZGlhQnJlYWtwb2ludCIsImFwcGVhcmFuY2UiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImZpbGxIZWlnaHQiLCJleHRyYVBhZGRpbmciLCJwcmltYXJ5QmFja2dyb3VuZCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnV0LkhpbnRUb29sdGlwSWNvbkNvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhpbnQtdG9vbHRpcC1pY29uXSIsaW5wdXRzOlsidGItaGludC10b29sdGlwLWljb24iLCJ0b29sdGlwUG9zaXRpb24iLCJoaW50SWNvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnlvLHNlbGVjdG9yOiJ0Yi1tb2RidXMtdmFsdWVzIixpbnB1dHM6WyJzaW5nbGVNb2RlIiwiaGlkZU5ld0ZpZWxkcyJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJvLHNlbGVjdG9yOiJ0Yi1tb2RidXMtc2VjdXJpdHktY29uZmlnIixpbnB1dHM6WyJpc01hc3RlciJdfSx7a2luZDoicGlwZSIsdHlwZTp3YSxuYW1lOiJnZXRHYXRld2F5UG9ydFRvb2x0aXAifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlNhLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfV0sY2hhbmdlRGV0ZWN0aW9uOnQuQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNofSl9fXQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6U28sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1zbGF2ZS1jb25maWciLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5TbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+U28pKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxELHlvLGJvLHdhLFNhXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgW2Zvcm1Hcm91cF09InNsYXZlQ29uZmlnRm9ybUdyb3VwIiBjbGFzcz0ic2xhdmUtY29udGFpbmVyIj5cbiAgPGRpdiBjbGFzcz0ic2xhdmUtY29udGVudCB0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIiA+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCByb3cgc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIgbm8tZ2FwIGZpbGwtd2lkdGgiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci1zbGF2ZS1jb25maWc8L2Rpdj5cbiAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2YgbW9kYnVzUHJvdG9jb2xUeXBlcyIgW3ZhbHVlXT0idHlwZSI+e3sgTW9kYnVzUHJvdG9jb2xMYWJlbHNNYXAuZ2V0KHR5cGUpIH19PC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiPlxuICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIlxuICAgICAgICAgICBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIlxuICAgICAgICAgICBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmhvc3RcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuaG9zdDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJob3N0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lmhvc3QtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCBlbHNlIHNlcmlhbFBvcnQiXG4gICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiXG4gICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSJ7e3BvcnRMaW1pdHMuTUlOfX0iIG1heD0ie3twb3J0TGltaXRzLk1BWH19IlxuICAgICAgICAgICAgICAgICAgIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvcnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykgfCBnZXRHYXRld2F5UG9ydFRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ21heFwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLXRlbXBsYXRlICNzZXJpYWxQb3J0PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc2VyaWFsLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucG9ydDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJpYWxQb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IlwnZ2F0ZXdheS5wb3J0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5mcmFtZXItdHlwZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+XG4gICAgICAgICAgZ2F0ZXdheS5tZXRob2RcbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBtZXRob2Qgb2YgcHJvdG9jb2xUeXBlID09PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsID8gbW9kYnVzU2VyaWFsTWV0aG9kVHlwZXMgOiBtb2RidXNNZXRob2RUeXBlcyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT0ibWV0aG9kIj57eyBNb2RidXNNZXRob2RMYWJlbHNNYXAuZ2V0KG1ldGhvZCkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy51bml0LWlkXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnVuaXQtaWQ8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InVuaXRJZCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudW5pdC1pZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCd1bml0SWRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLW5hbWU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLXByb2ZpbGU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlVHlwZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLXByb2ZpbGUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VUeXBlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgIDxzcGFuIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCB0cmFuc2xhdGU+XG4gICAgICAgICAgZ2F0ZXdheS5wb2xsLXBlcmlvZFxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvbGxQZXJpb2QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSA9PT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJhdWRyYXRlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJhdWRyYXRlPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJiYXVkcmF0ZSI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCByYXRlIG9mIG1vZGJ1c0JhdWRyYXRlcyIgW3ZhbHVlXT0icmF0ZSI+e3sgcmF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJzZW5kRGF0YVRvVGhpbmdzQm9hcmQiPlxuICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWRhdGEtdG8tcGxhdGZvcm1cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIj5cbiAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5hZHZhbmNlZC1jb25uZWN0aW9uLXNldHRpbmdzPC9kaXY+XG4gICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJ5dGUtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuYnl0ZS1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYnl0ZU9yZGVyIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndvcmQtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud29yZC1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0id29yZE9yZGVyIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCB0Yi1zbGlkZS10b2dnbGUiPlxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJzaG93U2VjdXJpdHlDb250cm9sLnZhbHVlIj5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZ4TGF5b3V0QWxpZ249ImNlbnRlciIgW2Zvcm1Db250cm9sXT0ic2hvd1NlY3VyaXR5Q29udHJvbCIgY2xhc3M9Im1hdC1zbGlkZSIgKGNsaWNrKT0iJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGxzLWNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgPHRiLW1vZGJ1cy1zZWN1cml0eS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZWN1cml0eSI+PC90Yi1tb2RidXMtc2VjdXJpdHktY29uZmlnPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2lkZW50aXR5XCcpIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudmVuZG9yLW5hbWU8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmVuZG9yTmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnByb2R1Y3QtY29kZTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwcm9kdWN0Q29kZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnZlbmRvci11cmw8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmVuZG9yVXJsIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucHJvZHVjdC1uYW1lPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InByb2R1Y3ROYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkubW9kZWwtbmFtZTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJtb2RlbE5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWVzPC9kaXY+XG4gICAgICA8dGItbW9kYnVzLXZhbHVlcyBmb3JtQ29udHJvbE5hbWU9InZhbHVlcyI+PC90Yi1tb2RidXMtdmFsdWVzPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuJ31dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTptZS5Gb3JtQnVpbGRlcn1dfSk7Y2xhc3Mga28gZXh0ZW5kcyBUb3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5pc0xlZ2FjeT0hMX1tYXBDb25maWdUb0Zvcm1WYWx1ZSh7bWFzdGVyOmUsc2xhdmU6dH0pe3JldHVybnttYXN0ZXI6ZT8uc2xhdmVzP2U6e3NsYXZlczpbXX0sc2xhdmU6dD8/e319fWdldE1hcHBlZFZhbHVlKGUpe3JldHVybnttYXN0ZXI6ZS5tYXN0ZXIsc2xhdmU6ZS5zbGF2ZX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTprbyxkZXBzOm51bGwsdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTprbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1vZGJ1cy1iYXNpYy1jb25maWciLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PmtvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5rbykpLG11bHRpOiEwfV0sdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0iYmFzaWNGb3JtR3JvdXAiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09ImdlbmVyYWxUYWJDb250ZW50Ij48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5Lm1hc3Rlci1jb25uZWN0aW9uc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8dGItbW9kYnVzLW1hc3Rlci10YWJsZSBbaXNMZWdhY3ldPSJpc0xlZ2FjeSIgZm9ybUNvbnRyb2xOYW1lPSJtYXN0ZXIiPjwvdGItbW9kYnVzLW1hc3Rlci10YWJsZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnNlcnZlci1jb25maWdcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggY2VudGVyIj57eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLXNlcnZlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBbZm9ybUNvbnRyb2xdPSJlbmFibGVTbGF2ZUNvbnRyb2wiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZW5hYmxlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPHRiLW1vZGJ1cy1zbGF2ZS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzbGF2ZSI+PC90Yi1tb2RidXMtc2xhdmUtY29uZmlnPlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJuZ21vZHVsZSIsdHlwZTpIfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdUZW1wbGF0ZU91dGxldCxzZWxlY3RvcjoiW25nVGVtcGxhdGVPdXRsZXRdIixpbnB1dHM6WyJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCIsIm5nVGVtcGxhdGVPdXRsZXQiLCJuZ1RlbXBsYXRlT3V0bGV0SW5qZWN0b3IiXX0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWIsc2VsZWN0b3I6Im1hdC10YWIiLGlucHV0czpbImRpc2FibGVkIiwibGFiZWwiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwibGFiZWxDbGFzcyIsImJvZHlDbGFzcyJdLGV4cG9ydEFzOlsibWF0VGFiIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWJHcm91cCxzZWxlY3RvcjoibWF0LXRhYi1ncm91cCIsaW5wdXRzOlsiY29sb3IiLCJmaXRJbmtCYXJUb0NvbnRlbnQiLCJtYXQtc3RyZXRjaC10YWJzIiwiZHluYW1pY0hlaWdodCIsInNlbGVjdGVkSW5kZXgiLCJoZWFkZXJQb3NpdGlvbiIsImFuaW1hdGlvbkR1cmF0aW9uIiwiY29udGVudFRhYkluZGV4IiwiZGlzYWJsZVBhZ2luYXRpb24iLCJkaXNhYmxlUmlwcGxlIiwicHJlc2VydmVDb250ZW50IiwiYmFja2dyb3VuZENvbG9yIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSJdLG91dHB1dHM6WyJzZWxlY3RlZEluZGV4Q2hhbmdlIiwiZm9jdXNDaGFuZ2UiLCJhbmltYXRpb25Eb25lIiwic2VsZWN0ZWRUYWJDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFRhYkdyb3VwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6ZXQuTWF0U2xpZGVUb2dnbGUsc2VsZWN0b3I6Im1hdC1zbGlkZS10b2dnbGUiLGlucHV0czpbIm5hbWUiLCJpZCIsImxhYmVsUG9zaXRpb24iLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsInJlcXVpcmVkIiwiY29sb3IiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImNoZWNrZWQiLCJoaWRlSWNvbiIsImRpc2FibGVkSW50ZXJhY3RpdmUiXSxvdXRwdXRzOlsiY2hhbmdlIiwidG9nZ2xlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2wiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpTbyxzZWxlY3RvcjoidGItbW9kYnVzLXNsYXZlLWNvbmZpZyJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d28sc2VsZWN0b3I6InRiLW1vZGJ1cy1tYXN0ZXItdGFibGUiLGlucHV0czpbImlzTGVnYWN5Il19XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19ZSgiTW9kYnVzQmFzaWNDb25maWdDb21wb25lbnQiLGtvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmtvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1tb2RidXMtYmFzaWMtY29uZmlnIixjaGFuZ2VEZXRlY3Rpb246ZC5PblB1c2gscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+a28pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PmtvKSksbXVsdGk6ITB9XSxzdGFuZGFsb25lOiEwLGltcG9ydHM6W0gsRCxTbyx3byxrYV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0iYmFzaWNGb3JtR3JvdXAiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09ImdlbmVyYWxUYWJDb250ZW50Ij48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5Lm1hc3Rlci1jb25uZWN0aW9uc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8dGItbW9kYnVzLW1hc3Rlci10YWJsZSBbaXNMZWdhY3ldPSJpc0xlZ2FjeSIgZm9ybUNvbnRyb2xOYW1lPSJtYXN0ZXIiPjwvdGItbW9kYnVzLW1hc3Rlci10YWJsZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnNlcnZlci1jb25maWdcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggY2VudGVyIj57eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLXNlcnZlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBbZm9ybUNvbnRyb2xdPSJlbmFibGVTbGF2ZUNvbnRyb2wiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZW5hYmxlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPHRiLW1vZGJ1cy1zbGF2ZS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzbGF2ZSI+PC90Yi1tb2RidXMtc2xhdmUtY29uZmlnPlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9XG4nXX1dfV19KTtjbGFzcyBMbyBleHRlbmRzIFRve2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmlzTGVnYWN5PSEwfW1hcENvbmZpZ1RvRm9ybVZhbHVlKGUpe3JldHVybnttYXN0ZXI6ZS5tYXN0ZXI/LnNsYXZlcz9lLm1hc3Rlcjp7c2xhdmVzOltdfSxzbGF2ZTplLnNsYXZlP2hhLm1hcFNsYXZlVG9VcGdyYWRlZFZlcnNpb24oZS5zbGF2ZSk6e319fWdldE1hcHBlZFZhbHVlKGUpe3JldHVybnttYXN0ZXI6ZS5tYXN0ZXIsc2xhdmU6ZS5zbGF2ZT9oYS5tYXBTbGF2ZVRvRG93bmdyYWRlZFZlcnNpb24oZS5zbGF2ZSk6e319fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6TG8sZGVwczpudWxsLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6TG8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1tb2RidXMtbGVnYWN5LWJhc2ljLWNvbmZpZyIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+TG8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkxvKSksbXVsdGk6ITB9XSx1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdGFiLWdyb3VwIFtmb3JtR3JvdXBdPSJiYXNpY0Zvcm1Hcm91cCI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZ2VuZXJhbFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkubWFzdGVyLWNvbm5lY3Rpb25zXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDx0Yi1tb2RidXMtbWFzdGVyLXRhYmxlIFtpc0xlZ2FjeV09ImlzTGVnYWN5IiBmb3JtQ29udHJvbE5hbWU9Im1hc3RlciI+PC90Yi1tb2RidXMtbWFzdGVyLXRhYmxlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuc2VydmVyLWNvbmZpZ1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwgdGItZmxleCBjZW50ZXIiPnt7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMtc2VydmVyXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIFtmb3JtQ29udHJvbF09ImVuYWJsZVNsYXZlQ29udHJvbCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5lbmFibGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8dGItbW9kYnVzLXNsYXZlLWNvbmZpZyBmb3JtQ29udHJvbE5hbWU9InNsYXZlIj48L3RiLW1vZGJ1cy1zbGF2ZS1jb25maWc+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHtoZWlnaHQ6MTAwJX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1RlbXBsYXRlT3V0bGV0LHNlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0iLGlucHV0czpbIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IiwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRJbmplY3RvciJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOlNvLHNlbGVjdG9yOiJ0Yi1tb2RidXMtc2xhdmUtY29uZmlnIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3byxzZWxlY3RvcjoidGItbW9kYnVzLW1hc3Rlci10YWJsZSIsaW5wdXRzOlsiaXNMZWdhY3kiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJNb2RidXNMZWdhY3lCYXNpY0NvbmZpZ0NvbXBvbmVudCIsTG8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6TG8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1sZWdhY3ktYmFzaWMtY29uZmlnIixjaGFuZ2VEZXRlY3Rpb246ZC5PblB1c2gscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+TG8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkxvKSksbXVsdGk6ITB9XSxzdGFuZGFsb25lOiEwLGltcG9ydHM6W0gsRCxTbyx3byxrYV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0iYmFzaWNGb3JtR3JvdXAiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09ImdlbmVyYWxUYWJDb250ZW50Ij48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5Lm1hc3Rlci1jb25uZWN0aW9uc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8dGItbW9kYnVzLW1hc3Rlci10YWJsZSBbaXNMZWdhY3ldPSJpc0xlZ2FjeSIgZm9ybUNvbnRyb2xOYW1lPSJtYXN0ZXIiPjwvdGItbW9kYnVzLW1hc3Rlci10YWJsZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnNlcnZlci1jb25maWdcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggY2VudGVyIj57eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLXNlcnZlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBbZm9ybUNvbnRyb2xdPSJlbmFibGVTbGF2ZUNvbnRyb2wiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZW5hYmxlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPHRiLW1vZGJ1cy1zbGF2ZS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzbGF2ZSI+PC90Yi1tb2RidXMtc2xhdmUtY29uZmlnPlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9XG4nXX1dfV19KTtjbGFzcyBGbyBleHRlbmRzIHlhe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm1hcHBpbmdUeXBlcz1mbix0aGlzLmlzTGVnYWN5PSEwfWluaXRCYXNpY0Zvcm1Hcm91cCgpe3JldHVybiB0aGlzLmZiLmdyb3VwKHttYXBwaW5nOltdLHNlcnZlcjpbXX0pfW1hcENvbmZpZ1RvRm9ybVZhbHVlKGUpe3JldHVybntzZXJ2ZXI6ZS5zZXJ2ZXI/eGEubWFwU2VydmVyVG9VcGdyYWRlZFZlcnNpb24oZS5zZXJ2ZXIpOnt9LG1hcHBpbmc6ZS5zZXJ2ZXI/Lm1hcHBpbmc/eGEubWFwTWFwcGluZ1RvVXBncmFkZWRWZXJzaW9uKGUuc2VydmVyLm1hcHBpbmcpOltdfX1nZXRNYXBwZWRWYWx1ZShlKXtyZXR1cm57c2VydmVyOnhhLm1hcFNlcnZlclRvRG93bmdyYWRlZFZlcnNpb24oZSl9fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Rm8sZGVwczpudWxsLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6Rm8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1vcGMtdWEtbGVnYWN5LWJhc2ljLWNvbmZpZyIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+Rm8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkZvKSksbXVsdGk6ITB9XSx1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdGFiLWdyb3VwIFtmb3JtR3JvdXBdPSJiYXNpY0Zvcm1Hcm91cCI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZ2VuZXJhbFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuc2VydmVyXCcgfCB0cmFuc2xhdGUgfX0qIj5cbiAgICA8dGItb3BjLXNlcnZlci1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZXJ2ZXIiIFtoaWRlTmV3RmllbGRzXT0iaXNMZWdhY3kiPjwvdGItb3BjLXNlcnZlci1jb25maWc+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5kYXRhLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AgdGItZmxleCBmaWxsLWhlaWdodCI+XG4gICAgICA8dGItbWFwcGluZy10YWJsZSBmb3JtQ29udHJvbE5hbWU9Im1hcHBpbmciIFtyZXF1aXJlZF09InRydWUiIFttYXBwaW5nVHlwZV09Im1hcHBpbmdUeXBlcy5PUENVQSI+PC90Yi1tYXBwaW5nLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLXRhYi1ncm91cCw6aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWJvZHktd3JhcHBlcntoZWlnaHQ6MTAwJX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1RlbXBsYXRlT3V0bGV0LHNlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0iLGlucHV0czpbIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IiwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRJbmplY3RvciJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6cm8sc2VsZWN0b3I6InRiLW1hcHBpbmctdGFibGUiLGlucHV0czpbInJlcXVpcmVkIiwibWFwcGluZ1R5cGUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpjbyxzZWxlY3RvcjoidGItb3BjLXNlcnZlci1jb25maWciLGlucHV0czpbImhpZGVOZXdGaWVsZHMiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX10Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkZvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1vcGMtdWEtbGVnYWN5LWJhc2ljLWNvbmZpZyIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PkZvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5GbykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsbG8scm8sY29dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10YWItZ3JvdXAgW2Zvcm1Hcm91cF09ImJhc2ljRm9ybUdyb3VwIj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5nZW5lcmFsXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJnZW5lcmFsVGFiQ29udGVudCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5zZXJ2ZXJcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDx0Yi1vcGMtc2VydmVyLWNvbmZpZyBmb3JtQ29udHJvbE5hbWU9InNlcnZlciIgW2hpZGVOZXdGaWVsZHNdPSJpc0xlZ2FjeSI+PC90Yi1vcGMtc2VydmVyLWNvbmZpZz5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmRhdGEtbWFwcGluZ1wnIHwgdHJhbnNsYXRlIH19KiI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCB0Yi1mbGV4IGZpbGwtaGVpZ2h0Ij5cbiAgICAgIDx0Yi1tYXBwaW5nLXRhYmxlIGZvcm1Db250cm9sTmFtZT0ibWFwcGluZyIgW3JlcXVpcmVkXT0idHJ1ZSIgW21hcHBpbmdUeXBlXT0ibWFwcGluZ1R5cGVzLk9QQ1VBIj48L3RiLW1hcHBpbmctdGFibGU+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHtoZWlnaHQ6MTAwJX06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWdyb3VwLDpob3N0IDo6bmctZGVlcCAubWF0LW1kYy10YWItYm9keS13cmFwcGVye2hlaWdodDoxMDAlfVxuJ119XX1dfSk7Y2xhc3MgSW8gZXh0ZW5kcyB5YXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5NYXBwaW5nVHlwZT1mbn1pbml0QmFzaWNGb3JtR3JvdXAoKXtyZXR1cm4gdGhpcy5mYi5ncm91cCh7bWFwcGluZzpbXSxyZXF1ZXN0c01hcHBpbmc6W10sYnJva2VyOltdLHdvcmtlcnM6W119KX1nZXRSZXF1ZXN0RGF0YUFycmF5KGUpe2NvbnN0IHQ9W107cmV0dXJuIGxlKGUpJiZPYmplY3Qua2V5cyhlKS5mb3JFYWNoKChuPT57Zm9yKGNvbnN0IGEgb2YgZVtuXSl0LnB1c2goe3JlcXVlc3RUeXBlOm4scmVxdWVzdFZhbHVlOmF9KX0pKSx0fWdldFJlcXVlc3REYXRhT2JqZWN0KGUpe3JldHVybiBlLnJlZHVjZSgoKGUse3JlcXVlc3RUeXBlOnQscmVxdWVzdFZhbHVlOm59KT0+KGVbdF0ucHVzaChuKSxlKSkse2Nvbm5lY3RSZXF1ZXN0czpbXSxkaXNjb25uZWN0UmVxdWVzdHM6W10sYXR0cmlidXRlUmVxdWVzdHM6W10sYXR0cmlidXRlVXBkYXRlczpbXSxzZXJ2ZXJTaWRlUnBjOltdfSl9Z2V0QnJva2VyTWFwcGVkVmFsdWUoZSx0KXtyZXR1cm57Li4uZSxtYXhOdW1iZXJPZldvcmtlcnM6dC5tYXhOdW1iZXJPZldvcmtlcnM/PzEwMCxtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyOnQubWF4TWVzc2FnZU51bWJlclBlcldvcmtlcj8/MTB9fXdyaXRlVmFsdWUoZSl7dGhpcy5iYXNpY0Zvcm1Hcm91cC5zZXRWYWx1ZSh0aGlzLm1hcENvbmZpZ1RvRm9ybVZhbHVlKGUpLHtlbWl0RXZlbnQ6ITF9KX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOklvLGRlcHM6bnVsbCx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5EaXJlY3RpdmV9KX1zdGF0aWN7dGhpcy7JtWRpcj10Lsm1ybVuZ0RlY2xhcmVEaXJlY3RpdmUoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOklvLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0fSl9fXQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6SW8sZGVjb3JhdG9yczpbe3R5cGU6c31dfSk7Y2xhc3MgQW8gZXh0ZW5kcyBJb3ttYXBDb25maWdUb0Zvcm1WYWx1ZShlKXtjb25zdHticm9rZXI6dCxtYXBwaW5nOm49W10sY29ubmVjdFJlcXVlc3RzOmE9W10sZGlzY29ubmVjdFJlcXVlc3RzOm89W10sYXR0cmlidXRlUmVxdWVzdHM6aT1bXSxhdHRyaWJ1dGVVcGRhdGVzOnI9W10sc2VydmVyU2lkZVJwYzpzPVtdfT1lLGw9bWEubWFwUmVxdWVzdHNUb1VwZ3JhZGVkVmVyc2lvbih7Y29ubmVjdFJlcXVlc3RzOmEsZGlzY29ubmVjdFJlcXVlc3RzOm8sYXR0cmlidXRlUmVxdWVzdHM6aSxhdHRyaWJ1dGVVcGRhdGVzOnIsc2VydmVyU2lkZVJwYzpzfSk7cmV0dXJue3dvcmtlcnM6dCYmKHQubWF4TnVtYmVyT2ZXb3JrZXJzfHx0Lm1heE1lc3NhZ2VOdW1iZXJQZXJXb3JrZXIpP3ttYXhOdW1iZXJPZldvcmtlcnM6dC5tYXhOdW1iZXJPZldvcmtlcnMsbWF4TWVzc2FnZU51bWJlclBlcldvcmtlcjp0Lm1heE1lc3NhZ2VOdW1iZXJQZXJXb3JrZXJ9Ont9LG1hcHBpbmc6bWEubWFwTWFwcGluZ1RvVXBncmFkZWRWZXJzaW9uKG4pfHxbXSxicm9rZXI6dHx8e30scmVxdWVzdHNNYXBwaW5nOnRoaXMuZ2V0UmVxdWVzdERhdGFBcnJheShsKX19Z2V0TWFwcGVkVmFsdWUoZSl7Y29uc3R7YnJva2VyOnQsd29ya2VyczpuLG1hcHBpbmc6YSxyZXF1ZXN0c01hcHBpbmc6b309ZXx8e30saT1vPy5sZW5ndGg/dGhpcy5nZXRSZXF1ZXN0RGF0YU9iamVjdChvKTp7fTtyZXR1cm57YnJva2VyOnRoaXMuZ2V0QnJva2VyTWFwcGVkVmFsdWUodCxuKSxtYXBwaW5nOm1hLm1hcE1hcHBpbmdUb0Rvd25ncmFkZWRWZXJzaW9uKGEpLC4uLm1hLm1hcFJlcXVlc3RzVG9Eb3duZ3JhZGVkVmVyc2lvbihpKX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpBbyxkZXBzOm51bGwsdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpBbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1xdHQtbGVnYWN5LWJhc2ljLWNvbmZpZyIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+QW8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkFvKSksbXVsdGk6ITB9XSx1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdGFiLWdyb3VwIFtmb3JtR3JvdXBdPSJiYXNpY0Zvcm1Hcm91cCI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZ2VuZXJhbFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuYnJva2VyLmNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDx0Yi1icm9rZXItY29uZmlnLWNvbnRyb2wgZm9ybUNvbnRyb2xOYW1lPSJicm9rZXIiPjwvdGItYnJva2VyLWNvbmZpZy1jb250cm9sPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZGF0YS1tYXBwaW5nXCcgfCB0cmFuc2xhdGUgfX0qIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIHRiLWZsZXggZmlsbC1oZWlnaHQiPlxuICAgICAgPHRiLW1hcHBpbmctdGFibGUgZm9ybUNvbnRyb2xOYW1lPSJtYXBwaW5nIiBbcmVxdWlyZWRdPSJ0cnVlIiBbbWFwcGluZ1R5cGVdPSJNYXBwaW5nVHlwZS5EQVRBIj48L3RiLW1hcHBpbmctdGFibGU+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5yZXF1ZXN0cy1tYXBwaW5nXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AgdGItZmxleCBmaWxsLWhlaWdodCI+XG4gICAgICA8dGItbWFwcGluZy10YWJsZSBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RzTWFwcGluZyIgW21hcHBpbmdUeXBlXT0iTWFwcGluZ1R5cGUuUkVRVUVTVFMiPjwvdGItbWFwcGluZy10YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LndvcmtlcnMtc2V0dGluZ3NcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgICA8dGItd29ya2Vycy1jb25maWctY29udHJvbCBmb3JtQ29udHJvbE5hbWU9IndvcmtlcnMiPjwvdGItd29ya2Vycy1jb25maWctY29udHJvbD5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtdGFiPlxuPC9tYXQtdGFiLWdyb3VwPlxuXG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLXRhYi1ncm91cCw6aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWJvZHktd3JhcHBlcntoZWlnaHQ6MTAwJX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1RlbXBsYXRlT3V0bGV0LHNlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0iLGlucHV0czpbIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IiwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRJbmplY3RvciJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dW8sc2VsZWN0b3I6InRiLXdvcmtlcnMtY29uZmlnLWNvbnRyb2wifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOm1vLHNlbGVjdG9yOiJ0Yi1icm9rZXItY29uZmlnLWNvbnRyb2wifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnJvLHNlbGVjdG9yOiJ0Yi1tYXBwaW5nLXRhYmxlIixpbnB1dHM6WyJyZXF1aXJlZCIsIm1hcHBpbmdUeXBlIl19XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19dC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpBbyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItbXF0dC1sZWdhY3ktYmFzaWMtY29uZmlnIixjaGFuZ2VEZXRlY3Rpb246ZC5PblB1c2gscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+QW8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkFvKSksbXVsdGk6ITB9XSxzdGFuZGFsb25lOiEwLGltcG9ydHM6W0gsRCxsbyx1byxtbyxyb10sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0iYmFzaWNGb3JtR3JvdXAiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09ImdlbmVyYWxUYWJDb250ZW50Ij48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmJyb2tlci5jb25uZWN0aW9uXCcgfCB0cmFuc2xhdGUgfX0qIj5cbiAgICA8dGItYnJva2VyLWNvbmZpZy1jb250cm9sIGZvcm1Db250cm9sTmFtZT0iYnJva2VyIj48L3RiLWJyb2tlci1jb25maWctY29udHJvbD5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmRhdGEtbWFwcGluZ1wnIHwgdHJhbnNsYXRlIH19KiI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCB0Yi1mbGV4IGZpbGwtaGVpZ2h0Ij5cbiAgICAgIDx0Yi1tYXBwaW5nLXRhYmxlIGZvcm1Db250cm9sTmFtZT0ibWFwcGluZyIgW3JlcXVpcmVkXT0idHJ1ZSIgW21hcHBpbmdUeXBlXT0iTWFwcGluZ1R5cGUuREFUQSI+PC90Yi1tYXBwaW5nLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkucmVxdWVzdHMtbWFwcGluZ1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIHRiLWZsZXggZmlsbC1oZWlnaHQiPlxuICAgICAgPHRiLW1hcHBpbmctdGFibGUgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0c01hcHBpbmciIFttYXBwaW5nVHlwZV09Ik1hcHBpbmdUeXBlLlJFUVVFU1RTIj48L3RiLW1hcHBpbmctdGFibGU+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS53b3JrZXJzLXNldHRpbmdzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciPlxuICAgICAgPHRiLXdvcmtlcnMtY29uZmlnLWNvbnRyb2wgZm9ybUNvbnRyb2xOYW1lPSJ3b3JrZXJzIj48L3RiLXdvcmtlcnMtY29uZmlnLWNvbnRyb2w+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cblxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e2hlaWdodDoxMDAlfTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy10YWItZ3JvdXAsOmhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLXRhYi1ib2R5LXdyYXBwZXJ7aGVpZ2h0OjEwMCV9XG4nXX1dfV19KTtjbGFzcyBObyBleHRlbmRzIElve21hcENvbmZpZ1RvRm9ybVZhbHVlKGUpe2NvbnN0e2Jyb2tlcjp0LG1hcHBpbmc6bj1bXSxyZXF1ZXN0c01hcHBpbmc6YX09ZTtyZXR1cm57d29ya2Vyczp0JiYodC5tYXhOdW1iZXJPZldvcmtlcnN8fHQubWF4TWVzc2FnZU51bWJlclBlcldvcmtlcik/e21heE51bWJlck9mV29ya2Vyczp0Lm1heE51bWJlck9mV29ya2VycyxtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyOnQubWF4TWVzc2FnZU51bWJlclBlcldvcmtlcn06e30sbWFwcGluZzpuPz9bXSxicm9rZXI6dD8/e30scmVxdWVzdHNNYXBwaW5nOnRoaXMuZ2V0UmVxdWVzdERhdGFBcnJheShhKX19Z2V0TWFwcGVkVmFsdWUoZSl7Y29uc3R7YnJva2VyOnQsd29ya2VyczpuLG1hcHBpbmc6YSxyZXF1ZXN0c01hcHBpbmc6b309ZXx8e307cmV0dXJue2Jyb2tlcjp0aGlzLmdldEJyb2tlck1hcHBlZFZhbHVlKHQsbiksbWFwcGluZzphLHJlcXVlc3RzTWFwcGluZzpvPy5sZW5ndGg/dGhpcy5nZXRSZXF1ZXN0RGF0YU9iamVjdChvKTp7fX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpObyxkZXBzOm51bGwsdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpObyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1xdHQtYmFzaWMtY29uZmlnIixwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5ObykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+Tm8pKSxtdWx0aTohMH1dLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10YWItZ3JvdXAgW2Zvcm1Hcm91cF09ImJhc2ljRm9ybUdyb3VwIj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5nZW5lcmFsXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJnZW5lcmFsVGFiQ29udGVudCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5icm9rZXIuY29ubmVjdGlvblwnIHwgdHJhbnNsYXRlIH19KiI+XG4gICAgPHRiLWJyb2tlci1jb25maWctY29udHJvbCBmb3JtQ29udHJvbE5hbWU9ImJyb2tlciI+PC90Yi1icm9rZXItY29uZmlnLWNvbnRyb2w+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5kYXRhLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AgdGItZmxleCBmaWxsLWhlaWdodCI+XG4gICAgICA8dGItbWFwcGluZy10YWJsZSBmb3JtQ29udHJvbE5hbWU9Im1hcHBpbmciIFtyZXF1aXJlZF09InRydWUiIFttYXBwaW5nVHlwZV09Ik1hcHBpbmdUeXBlLkRBVEEiPjwvdGItbWFwcGluZy10YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnJlcXVlc3RzLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCB0Yi1mbGV4IGZpbGwtaGVpZ2h0Ij5cbiAgICAgIDx0Yi1tYXBwaW5nLXRhYmxlIGZvcm1Db250cm9sTmFtZT0icmVxdWVzdHNNYXBwaW5nIiBbbWFwcGluZ1R5cGVdPSJNYXBwaW5nVHlwZS5SRVFVRVNUUyI+PC90Yi1tYXBwaW5nLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkud29ya2Vycy1zZXR0aW5nc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgIDx0Yi13b3JrZXJzLWNvbmZpZy1jb250cm9sIGZvcm1Db250cm9sTmFtZT0id29ya2VycyI+PC90Yi13b3JrZXJzLWNvbmZpZy1jb250cm9sPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHtoZWlnaHQ6MTAwJX06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWdyb3VwLDpob3N0IDo6bmctZGVlcCAubWF0LW1kYy10YWItYm9keS13cmFwcGVye2hlaWdodDoxMDAlfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nVGVtcGxhdGVPdXRsZXQsc2VsZWN0b3I6IltuZ1RlbXBsYXRlT3V0bGV0XSIsaW5wdXRzOlsibmdUZW1wbGF0ZU91dGxldENvbnRleHQiLCJuZ1RlbXBsYXRlT3V0bGV0IiwibmdUZW1wbGF0ZU91dGxldEluamVjdG9yIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOlcuTWF0VGFiLHNlbGVjdG9yOiJtYXQtdGFiIixpbnB1dHM6WyJkaXNhYmxlZCIsImxhYmVsIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImxhYmVsQ2xhc3MiLCJib2R5Q2xhc3MiXSxleHBvcnRBczpbIm1hdFRhYiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOlcuTWF0VGFiR3JvdXAsc2VsZWN0b3I6Im1hdC10YWItZ3JvdXAiLGlucHV0czpbImNvbG9yIiwiZml0SW5rQmFyVG9Db250ZW50IiwibWF0LXN0cmV0Y2gtdGFicyIsImR5bmFtaWNIZWlnaHQiLCJzZWxlY3RlZEluZGV4IiwiaGVhZGVyUG9zaXRpb24iLCJhbmltYXRpb25EdXJhdGlvbiIsImNvbnRlbnRUYWJJbmRleCIsImRpc2FibGVQYWdpbmF0aW9uIiwiZGlzYWJsZVJpcHBsZSIsInByZXNlcnZlQ29udGVudCIsImJhY2tncm91bmRDb2xvciIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiXSxvdXRwdXRzOlsic2VsZWN0ZWRJbmRleENoYW5nZSIsImZvY3VzQ2hhbmdlIiwiYW5pbWF0aW9uRG9uZSIsInNlbGVjdGVkVGFiQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRUYWJHcm91cCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5SZXF1aXJlZFZhbGlkYXRvcixzZWxlY3RvcjoiOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbE5hbWVdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bbmdNb2RlbF0iLGlucHV0czpbInJlcXVpcmVkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1byxzZWxlY3RvcjoidGItd29ya2Vycy1jb25maWctY29udHJvbCJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6bW8sc2VsZWN0b3I6InRiLWJyb2tlci1jb25maWctY29udHJvbCJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6cm8sc2VsZWN0b3I6InRiLW1hcHBpbmctdGFibGUiLGlucHV0czpbInJlcXVpcmVkIiwibWFwcGluZ1R5cGUiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX10Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOk5vLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1tcXR0LWJhc2ljLWNvbmZpZyIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9Pk5vKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5ObykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsbG8sdW8sbW8scm9dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10YWItZ3JvdXAgW2Zvcm1Hcm91cF09ImJhc2ljRm9ybUdyb3VwIj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5nZW5lcmFsXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJnZW5lcmFsVGFiQ29udGVudCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5icm9rZXIuY29ubmVjdGlvblwnIHwgdHJhbnNsYXRlIH19KiI+XG4gICAgPHRiLWJyb2tlci1jb25maWctY29udHJvbCBmb3JtQ29udHJvbE5hbWU9ImJyb2tlciI+PC90Yi1icm9rZXItY29uZmlnLWNvbnRyb2w+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5kYXRhLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AgdGItZmxleCBmaWxsLWhlaWdodCI+XG4gICAgICA8dGItbWFwcGluZy10YWJsZSBmb3JtQ29udHJvbE5hbWU9Im1hcHBpbmciIFtyZXF1aXJlZF09InRydWUiIFttYXBwaW5nVHlwZV09Ik1hcHBpbmdUeXBlLkRBVEEiPjwvdGItbWFwcGluZy10YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnJlcXVlc3RzLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCB0Yi1mbGV4IGZpbGwtaGVpZ2h0Ij5cbiAgICAgIDx0Yi1tYXBwaW5nLXRhYmxlIGZvcm1Db250cm9sTmFtZT0icmVxdWVzdHNNYXBwaW5nIiBbbWFwcGluZ1R5cGVdPSJNYXBwaW5nVHlwZS5SRVFVRVNUUyI+PC90Yi1tYXBwaW5nLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkud29ya2Vycy1zZXR0aW5nc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgIDx0Yi13b3JrZXJzLWNvbmZpZy1jb250cm9sIGZvcm1Db250cm9sTmFtZT0id29ya2VycyI+PC90Yi13b3JrZXJzLWNvbmZpZy1jb250cm9sPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHtoZWlnaHQ6MTAwJX06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWdyb3VwLDpob3N0IDo6bmctZGVlcCAubWF0LW1kYy10YWItYm9keS13cmFwcGVye2hlaWdodDoxMDAlfVxuJ119XX1dfSk7Y2xhc3MgTW97aXNFcnJvclN0YXRlKGUpe3JldHVybiBlJiZlLmludmFsaWR9fWUoIkZvcmNlRXJyb3JTdGF0ZU1hdGNoZXIiLE1vKTtjbGFzcyBFbyBleHRlbmRzIE97Y29uc3RydWN0b3IoZSx0LG4sYSxvLGkscixzLGwsYyxwKXtzdXBlcihlKSx0aGlzLnN0b3JlPWUsdGhpcy5mYj10LHRoaXMudHJhbnNsYXRlPW4sdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlPWEsdGhpcy5kaWFsb2dTZXJ2aWNlPW8sdGhpcy5kaWFsb2c9aSx0aGlzLnRlbGVtZXRyeVdzU2VydmljZT1yLHRoaXMuem9uZT1zLHRoaXMudXRpbHM9bCx0aGlzLmlzTGF0ZXN0VmVyc2lvbkNvbmZpZz1jLHRoaXMuY2Q9cCx0aGlzLkNvbm5lY3RvclR5cGU9X3QsdGhpcy5hbGxvd0Jhc2ljQ29uZmlnPW5ldyBTZXQoW190Lk1RVFQsX3QuT1BDVUEsX3QuTU9EQlVTXSksdGhpcy5nYXRld2F5TG9nTGV2ZWw9T2JqZWN0LnZhbHVlcyhNdCksdGhpcy5kaXNwbGF5ZWRDb2x1bW5zPVsiZW5hYmxlZCIsImtleSIsInR5cGUiLCJzeW5jU3RhdHVzIiwiZXJyb3JzIiwiYWN0aW9ucyJdLHRoaXMuR2F0ZXdheUNvbm5lY3RvclR5cGVzVHJhbnNsYXRlc01hcD1IdCx0aGlzLkNvbm5lY3RvckNvbmZpZ3VyYXRpb25Nb2Rlcz1vbix0aGlzLlJlcG9ydFN0cmF0ZWd5RGVmYXVsdFZhbHVlPWxuLHRoaXMubW9kZT10aGlzLkNvbm5lY3RvckNvbmZpZ3VyYXRpb25Nb2Rlcy5CQVNJQyx0aGlzLmJhc2ljQ29uZmlnSW5pdFN1YmplY3Q9bmV3IFNlLHRoaXMuYWN0aXZlRGF0YT1bXSx0aGlzLmluYWN0aXZlRGF0YT1bXSx0aGlzLnNoYXJlZEF0dHJpYnV0ZURhdGE9W10sdGhpcy5zdWJzY3JpcHRpb25PcHRpb25zPXtjYWxsYmFja3M6e29uRGF0YVVwZGF0ZWQ6KCk9PnRoaXMuY3R4Lm5nWm9uZS5ydW4oKCgpPT57dGhpcy5vbkVycm9yc1VwZGF0ZWQoKX0pKSxvbkRhdGFVcGRhdGVFcnJvcjooZSx0KT0+dGhpcy5jdHgubmdab25lLnJ1bigoKCk9Pnt0aGlzLm9uRGF0YVVwZGF0ZUVycm9yKHQpfSkpfX0sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5hdHRyaWJ1dGVVcGRhdGVTdWJqZWN0PW5ldyBTZSx0aGlzLmluaXREYXRhU291cmNlcygpLHRoaXMuaW5pdENvbm5lY3RvckZvcm0oKSx0aGlzLm9ic2VydmVBdHRyaWJ1dGVDaGFuZ2UoKX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLmRhdGFTb3VyY2Uuc29ydD10aGlzLnNvcnQsdGhpcy5kYXRhU291cmNlLnNvcnRpbmdEYXRhQWNjZXNzb3I9dGhpcy5nZXRTb3J0aW5nRGF0YUFjY2Vzc29yKCksdGhpcy5jdHguJHNjb3BlLmdhdGV3YXlDb25uZWN0b3JzPXRoaXMsdGhpcy5sb2FkQ29ubmVjdG9ycygpLHRoaXMubG9hZEdhdGV3YXlTdGF0ZSgpLHRoaXMub2JzZXJ2ZU1vZGVDaGFuZ2UoKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKSxzdXBlci5uZ09uRGVzdHJveSgpfW9uU2F2ZUNvbm5lY3Rvcigpe3RoaXMuc2F2ZUNvbm5lY3Rvcih0aGlzLmdldFVwZGF0ZWRDb25uZWN0b3JEYXRhKHRoaXMuY29ubmVjdG9yRm9ybS52YWx1ZSksITEpfXNhdmVDb25uZWN0b3IoZSx0PSEwKXtjb25zdCBuPXR8fHRoaXMuYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyh0aGlzLmluaXRpYWxDb25uZWN0b3IubmFtZSk/TC5TSEFSRURfU0NPUEU6TC5TRVJWRVJfU0NPUEU7QWUodGhpcy5nZXRFbnRpdHlBdHRyaWJ1dGVUYXNrcyhlLG4pKS5waXBlKE9lKDEpKS5zdWJzY3JpYmUoKG49Pnt0aGlzLnNob3dUb2FzdCh0P3RoaXMudHJhbnNsYXRlLmluc3RhbnQoImdhdGV3YXkuY29ubmVjdG9yLWNyZWF0ZWQiKTp0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LmNvbm5lY3Rvci11cGRhdGVkIikpLHRoaXMuaW5pdGlhbENvbm5lY3Rvcj1lLHRoaXMudXBkYXRlRGF0YSghMCksdGhpcy5jb25uZWN0b3JGb3JtLm1hcmtBc1ByaXN0aW5lKCl9KSl9Z2V0RW50aXR5QXR0cmlidXRlVGFza3MoZSx0KXtjb25zdCBuPVtdLGE9W3trZXk6ZS5uYW1lLHZhbHVlOmV9XSxvPVtdLGk9IXRoaXMuYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyhlLm5hbWUpJiZ0PT09TC5TSEFSRURfU0NPUEV8fCF0aGlzLmluYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyhlLm5hbWUpJiZ0PT09TC5TRVJWRVJfU0NPUEUscj10aGlzLmluaXRpYWxDb25uZWN0b3ImJnRoaXMuaW5pdGlhbENvbm5lY3Rvci5uYW1lIT09ZS5uYW1lO3JldHVybiByJiYoby5wdXNoKHtrZXk6dGhpcy5pbml0aWFsQ29ubmVjdG9yLm5hbWV9KSx0aGlzLnJlbW92ZUNvbm5lY3RvckZyb21MaXN0KHRoaXMuaW5pdGlhbENvbm5lY3Rvci5uYW1lLCEwKSx0aGlzLnJlbW92ZUNvbm5lY3RvckZyb21MaXN0KHRoaXMuaW5pdGlhbENvbm5lY3Rvci5uYW1lLCExKSksaSYmKHQ9PT1MLlNIQVJFRF9TQ09QRT90aGlzLmFjdGl2ZUNvbm5lY3RvcnMucHVzaChlLm5hbWUpOnRoaXMuaW5hY3RpdmVDb25uZWN0b3JzLnB1c2goZS5uYW1lKSksKHJ8fGkpJiZuLnB1c2godGhpcy5nZXRTYXZlRW50aXR5QXR0cmlidXRlc1Rhc2sodCkpLG4ucHVzaCh0aGlzLmF0dHJpYnV0ZVNlcnZpY2Uuc2F2ZUVudGl0eUF0dHJpYnV0ZXModGhpcy5kZXZpY2UsdCxhKSksby5sZW5ndGgmJm4ucHVzaCh0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZGVsZXRlRW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSx0LG8pKSxufWdldFNhdmVFbnRpdHlBdHRyaWJ1dGVzVGFzayhlKXtjb25zdCB0PWU9PT1MLlNIQVJFRF9TQ09QRT8iYWN0aXZlX2Nvbm5lY3RvcnMiOiJpbmFjdGl2ZV9jb25uZWN0b3JzIixuPWU9PT1MLlNIQVJFRF9TQ09QRT90aGlzLmFjdGl2ZUNvbm5lY3RvcnM6dGhpcy5pbmFjdGl2ZUNvbm5lY3RvcnM7cmV0dXJuIHRoaXMuYXR0cmlidXRlU2VydmljZS5zYXZlRW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSxlLFt7a2V5OnQsdmFsdWU6bn1dKX1yZW1vdmVDb25uZWN0b3JGcm9tTGlzdChlLHQpe2NvbnN0IG49dD90aGlzLmFjdGl2ZUNvbm5lY3RvcnM6dGhpcy5pbmFjdGl2ZUNvbm5lY3RvcnMsYT1uLmluZGV4T2YoZSk7LTEhPT1hJiZuLnNwbGljZShhLDEpfWdldFVwZGF0ZWRDb25uZWN0b3JEYXRhKGUpe2NvbnN0IHQ9ey4uLmV9O3JldHVybiB0LmNvbmZpZ3VyYXRpb249YCR7Y2UodC5uYW1lKX0uanNvbmAsZGVsZXRlIHQuYmFzaWNDb25maWcsdC50eXBlIT09X3QuR1JQQyYmZGVsZXRlIHQua2V5LHQudHlwZSE9PV90LkNVU1RPTSYmZGVsZXRlIHQuY2xhc3MsdC50eXBlPT09X3QuTU9EQlVTJiZ0aGlzLmlzTGF0ZXN0VmVyc2lvbkNvbmZpZy50cmFuc2Zvcm0odC5jb25maWdWZXJzaW9uKSYmKHQucmVwb3J0U3RyYXRlZ3l8fCh0LnJlcG9ydFN0cmF0ZWd5PXt0eXBlOnNuLk9uUmVwb3J0UGVyaW9kLHJlcG9ydFBlcmlvZDpsbi5Db25uZWN0b3J9LGRlbGV0ZSB0LnNlbmREYXRhT25seU9uQ2hhbmdlKSksdGhpcy5nYXRld2F5VmVyc2lvbiYmIXQuY29uZmlnVmVyc2lvbiYmKHQuY29uZmlnVmVyc2lvbj10aGlzLmdhdGV3YXlWZXJzaW9uKSx0LnRzPURhdGUubm93KCksdH11cGRhdGVEYXRhKGU9ITEpe3RoaXMucGFnZUxpbmsuc29ydE9yZGVyLnByb3BlcnR5PXRoaXMuc29ydC5hY3RpdmUsdGhpcy5wYWdlTGluay5zb3J0T3JkZXIuZGlyZWN0aW9uPXdbdGhpcy5zb3J0LmRpcmVjdGlvbi50b1VwcGVyQ2FzZSgpXSx0aGlzLmF0dHJpYnV0ZURhdGFTb3VyY2UubG9hZEF0dHJpYnV0ZXModGhpcy5kZXZpY2UsTC5DTElFTlRfU0NPUEUsdGhpcy5wYWdlTGluayxlKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLmFjdGl2ZURhdGE9ZS5kYXRhLmZpbHRlcigoZT0+dGhpcy5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKGUua2V5KSkpLHRoaXMuY29tYmluZURhdGEoKSx0aGlzLmdlbmVyYXRlU3Vic2NyaXB0aW9uKCksdGhpcy5zZXRDbGllbnREYXRhKGUpfSkpLHRoaXMuaW5hY3RpdmVDb25uZWN0b3JzRGF0YVNvdXJjZS5sb2FkQXR0cmlidXRlcyh0aGlzLmRldmljZSxMLlNIQVJFRF9TQ09QRSx0aGlzLnBhZ2VMaW5rLGUpLnN1YnNjcmliZSgoZT0+e3RoaXMuc2hhcmVkQXR0cmlidXRlRGF0YT1lLmRhdGEuZmlsdGVyKChlPT50aGlzLmFjdGl2ZUNvbm5lY3RvcnMuaW5jbHVkZXMoZS5rZXkpKSksdGhpcy5jb21iaW5lRGF0YSgpfSkpLHRoaXMuc2VydmVyRGF0YVNvdXJjZS5sb2FkQXR0cmlidXRlcyh0aGlzLmRldmljZSxMLlNFUlZFUl9TQ09QRSx0aGlzLnBhZ2VMaW5rLGUpLnN1YnNjcmliZSgoZT0+e3RoaXMuaW5hY3RpdmVEYXRhPWUuZGF0YS5maWx0ZXIoKGU9PnRoaXMuaW5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKGUua2V5KSkpLHRoaXMuY29tYmluZURhdGEoKX0pKX1pc0Nvbm5lY3RvclN5bmNlZChlKXtjb25zdCB0PWUudmFsdWU7aWYoIXQudHN8fGUuc2tpcFN5bmN8fCF0aGlzLmlzR2F0ZXdheUFjdGl2ZSlyZXR1cm4hMTtpZigtMT09PXRoaXMuYWN0aXZlRGF0YS5maW5kSW5kZXgoKGU9Pigic3RyaW5nIj09dHlwZW9mIGUudmFsdWU/SlNPTi5wYXJzZShlLnZhbHVlKTplLnZhbHVlKS5uYW1lPT09dC5uYW1lKSkpcmV0dXJuITE7cmV0dXJuLTEhPT10aGlzLnNoYXJlZEF0dHJpYnV0ZURhdGEuZmluZEluZGV4KChlPT57Y29uc3Qgbj1lLnZhbHVlLGE9bi5uYW1lPT09dC5uYW1lLG89ZWUobi5jb25maWd1cmF0aW9uSnNvbix7fSkmJmEsaT10aGlzLmhhc1NhbWVDb25maWcobi5jb25maWd1cmF0aW9uSnNvbix0LmNvbmZpZ3VyYXRpb25Kc29uKSxyPW4udHMmJm4udHM8PXQudHM7cmV0dXJuIGEmJnImJihpfHxvKX0pKX1oYXNTYW1lQ29uZmlnKGUsdCl7Y29uc3R7bmFtZTpuLGlkOmEsZW5hYmxlUmVtb3RlTG9nZ2luZzpvLGxvZ0xldmVsOmkscmVwb3J0U3RyYXRlZ3k6cixjb25maWdWZXJzaW9uOnMsLi4ubH09ZSx7bmFtZTpjLGlkOnAsZW5hYmxlUmVtb3RlTG9nZ2luZzptLGxvZ0xldmVsOmQscmVwb3J0U3RyYXRlZ3k6dSxjb25maWdWZXJzaW9uOmcsLi4uZn09dDtyZXR1cm4gZWUobCxmKX1jb21iaW5lRGF0YSgpe2NvbnN0IGU9Wy4uLnRoaXMuYWN0aXZlRGF0YSwuLi50aGlzLmluYWN0aXZlRGF0YSwuLi50aGlzLnNoYXJlZEF0dHJpYnV0ZURhdGFdLnJlZHVjZSgoKGUsdCk9Pntjb25zdCBuPWUuZmluZEluZGV4KChlPT5lLmtleT09PXQua2V5KSk7cmV0dXJuLTE9PT1uP2UucHVzaCh0KTp0Lmxhc3RVcGRhdGVUcz5lW25dLmxhc3RVcGRhdGVUcyYmIXRoaXMuaXNDb25uZWN0b3JTeW5jZWQoZVtuXSkmJihlW25dPXsuLi50LHNraXBTeW5jOiEwfSksZX0pLFtdKTt0aGlzLmRhdGFTb3VyY2UuZGF0YT1lLm1hcCgoZT0+KHsuLi5lLHZhbHVlOiJzdHJpbmciPT10eXBlb2YgZS52YWx1ZT9KU09OLnBhcnNlKGUudmFsdWUpOmUudmFsdWV9KSkpfWNsZWFyT3V0Q29ubmVjdG9yRm9ybSgpe3RoaXMuaW5pdGlhbENvbm5lY3Rvcj1udWxsLHRoaXMuY29ubmVjdG9yRm9ybS5zZXRWYWx1ZSh7bW9kZTpvbi5CQVNJQyxuYW1lOiIiLHR5cGU6X3QuTVFUVCxzZW5kRGF0YU9ubHlPbkNoYW5nZTohMSxlbmFibGVSZW1vdGVMb2dnaW5nOiExLGxvZ0xldmVsOk10LklORk8sa2V5OiJhdXRvIixjbGFzczoiIixjb25maWd1cmF0aW9uOiIiLGNvbmZpZ3VyYXRpb25Kc29uOnt9LGJhc2ljQ29uZmlnOnt9LGNvbmZpZ1ZlcnNpb246IiIscmVwb3J0U3RyYXRlZ3k6W3t2YWx1ZTp7fSxkaXNhYmxlZDohMH1dfSx7ZW1pdEV2ZW50OiExfSksdGhpcy5jb25uZWN0b3JGb3JtLm1hcmtBc1ByaXN0aW5lKCl9c2VsZWN0Q29ubmVjdG9yKGUsdCl7ZSYmZS5zdG9wUHJvcGFnYXRpb24oKTtjb25zdCBuPXQudmFsdWU7bj8ubmFtZSE9PXRoaXMuaW5pdGlhbENvbm5lY3Rvcj8ubmFtZSYmdGhpcy5jb25maXJtQ29ubmVjdG9yQ2hhbmdlKCkuc3Vic2NyaWJlKChlPT57ZSYmdGhpcy5zZXRGb3JtVmFsdWUobil9KSl9aXNTYW1lQ29ubmVjdG9yKGUpe2lmKCF0aGlzLmluaXRpYWxDb25uZWN0b3IpcmV0dXJuITE7Y29uc3QgdD1lLnZhbHVlO3JldHVybiB0aGlzLmluaXRpYWxDb25uZWN0b3IubmFtZT09PXQubmFtZX1zaG93VG9hc3QoZSl7dGhpcy5zdG9yZS5kaXNwYXRjaCh7dHlwZToiW05vdGlmaWNhdGlvbl0gU2hvdyIsbm90aWZpY2F0aW9uOnttZXNzYWdlOmUsdHlwZToic3VjY2VzcyIsZHVyYXRpb246MWUzLHZlcnRpY2FsUG9zaXRpb246InRvcCIsaG9yaXpvbnRhbFBvc2l0aW9uOiJsZWZ0Iix0YXJnZXQ6ImRhc2hib2FyZFJvb3QiLGZvcmNlRGlzbWlzczohMH19KX1yZXR1cm5UeXBlKGUpe2NvbnN0IHQ9ZS52YWx1ZTtyZXR1cm4gdGhpcy5HYXRld2F5Q29ubmVjdG9yVHlwZXNUcmFuc2xhdGVzTWFwLmdldCh0LnR5cGUpfWRlbGV0ZUNvbm5lY3RvcihlLHQpe3Q/LnN0b3BQcm9wYWdhdGlvbigpO2NvbnN0IG49YERlbGV0ZSBjb25uZWN0b3IgIiR7ZS5rZXl9Ij9gO3RoaXMuZGlhbG9nU2VydmljZS5jb25maXJtKG4sIkFsbCBjb25uZWN0b3IgZGF0YSB3aWxsIGJlIGRlbGV0ZWQuIiwiQ2FuY2VsIiwiRGVsZXRlIikucGlwZShPZSgxKSxVZSgodD0+e2lmKCF0KXJldHVybjtjb25zdCBuPVtdLGE9dGhpcy5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKGUudmFsdWU/Lm5hbWUpP0wuU0hBUkVEX1NDT1BFOkwuU0VSVkVSX1NDT1BFO3JldHVybiBuLnB1c2godGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLmRlbGV0ZUVudGl0eUF0dHJpYnV0ZXModGhpcy5kZXZpY2UsYSxbZV0pKSx0aGlzLnJlbW92ZUNvbm5lY3RvckZyb21MaXN0KGUua2V5LCEwKSx0aGlzLnJlbW92ZUNvbm5lY3RvckZyb21MaXN0KGUua2V5LCExKSxuLnB1c2godGhpcy5nZXRTYXZlRW50aXR5QXR0cmlidXRlc1Rhc2soYSkpLEFlKG4pfSkpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5pbml0aWFsQ29ubmVjdG9yJiZ0aGlzLmluaXRpYWxDb25uZWN0b3IubmFtZSE9PWUua2V5fHwodGhpcy5jbGVhck91dENvbm5lY3RvckZvcm0oKSx0aGlzLmNkLmRldGVjdENoYW5nZXMoKSx0aGlzLmNvbm5lY3RvckZvcm0uZGlzYWJsZSgpKSx0aGlzLnVwZGF0ZURhdGEoITApfSkpfWNvbm5lY3RvckxvZ3MoZSx0KXt0JiZ0LnN0b3BQcm9wYWdhdGlvbigpO2NvbnN0IG49Sih0aGlzLmN0eC5zdGF0ZUNvbnRyb2xsZXIuZ2V0U3RhdGVQYXJhbXMoKSk7bi5jb25uZWN0b3JfbG9ncz1lLG4udGFyZ2V0RW50aXR5UGFyYW1OYW1lPSJjb25uZWN0b3JfbG9ncyIsdGhpcy5jdHguc3RhdGVDb250cm9sbGVyLm9wZW5TdGF0ZSgiY29ubmVjdG9yX2xvZ3MiLG4pfWNvbm5lY3RvclJwYyhlLHQpe3QmJnQuc3RvcFByb3BhZ2F0aW9uKCk7Y29uc3Qgbj1KKHRoaXMuY3R4LnN0YXRlQ29udHJvbGxlci5nZXRTdGF0ZVBhcmFtcygpKTtuLmNvbm5lY3Rvcl9ycGM9ZSxuLnRhcmdldEVudGl0eVBhcmFtTmFtZT0iY29ubmVjdG9yX3JwYyIsdGhpcy5jdHguc3RhdGVDb250cm9sbGVyLm9wZW5TdGF0ZSgiY29ubmVjdG9yX3JwYyIsbil9b25FbmFibGVDb25uZWN0b3IoZSl7ZS52YWx1ZS50cz0obmV3IERhdGUpLmdldFRpbWUoKSx0aGlzLnVwZGF0ZUFjdGl2ZUNvbm5lY3RvcktleXMoZS5rZXkpLHRoaXMuYXR0cmlidXRlVXBkYXRlU3ViamVjdC5uZXh0KGUpfWdldEVycm9yc0NvdW50KGUpe2NvbnN0IHQ9ZS5rZXksbj10aGlzLnN1YnNjcmlwdGlvbiYmdGhpcy5zdWJzY3JpcHRpb24uZGF0YS5maW5kKChlPT5lJiZlLmRhdGFLZXkubmFtZT09PWAke3R9X0VSUk9SU19DT1VOVGApKTtyZXR1cm4gbiYmdGhpcy5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKHQpP24uZGF0YVswXVsxXXx8MDoiSW5hY3RpdmUifW9uQWRkQ29ubmVjdG9yKGUpe2U/LnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuY29uZmlybUNvbm5lY3RvckNoYW5nZSgpLnBpcGUoT2UoMSksTWUoQm9vbGVhbiksVWUoKCgpPT50aGlzLm9wZW5BZGRDb25uZWN0b3JEaWFsb2coKSkpLE1lKEJvb2xlYW4pKS5zdWJzY3JpYmUoKGU9PnRoaXMuYWRkQ29ubmVjdG9yKGUpKSl9YWRkQ29ubmVjdG9yKGUpe3RoaXMuY29ubmVjdG9yRm9ybS5kaXNhYmxlZCYmdGhpcy5jb25uZWN0b3JGb3JtLmVuYWJsZSgpLGUuY29uZmlndXJhdGlvbkpzb258fChlLmNvbmZpZ3VyYXRpb25Kc29uPXt9KSx0aGlzLmdhdGV3YXlWZXJzaW9uJiYhZS5jb25maWdWZXJzaW9uJiYoZS5jb25maWdWZXJzaW9uPXRoaXMuZ2F0ZXdheVZlcnNpb24pLGUuYmFzaWNDb25maWc9ZS5jb25maWd1cmF0aW9uSnNvbix0aGlzLmluaXRpYWxDb25uZWN0b3I9ZTtjb25zdCB0PXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoInR5cGUiKS52YWx1ZTt0aGlzLnNldEluaXRpYWxDb25uZWN0b3JWYWx1ZXMoZSksdGhpcy5zYXZlQ29ubmVjdG9yKHRoaXMuZ2V0VXBkYXRlZENvbm5lY3RvckRhdGEoZSkpLHQhPT1lLnR5cGUmJnRoaXMuYWxsb3dCYXNpY0NvbmZpZy5oYXMoZS50eXBlKT90aGlzLmJhc2ljQ29uZmlnSW5pdFN1YmplY3QucGlwZShPZSgxKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMucGF0Y2hCYXNpY0NvbmZpZ0Nvbm5lY3RvcihlKX0pKTp0aGlzLnBhdGNoQmFzaWNDb25maWdDb25uZWN0b3IoZSl9c2V0SW5pdGlhbENvbm5lY3RvclZhbHVlcyhlKXtjb25zdHtiYXNpY0NvbmZpZzp0LG1vZGU6biwuLi5hfT1lO3RoaXMudG9nZ2xlUmVwb3J0U3RyYXRlZ3koZS50eXBlKSx0aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJtb2RlIikuc2V0VmFsdWUodGhpcy5hbGxvd0Jhc2ljQ29uZmlnLmhhcyhlLnR5cGUpP2UubW9kZT8/b24uQkFTSUM6bnVsbCx7ZW1pdEV2ZW50OiExfSksdGhpcy5jb25uZWN0b3JGb3JtLnBhdGNoVmFsdWUoYSx7ZW1pdEV2ZW50OiExfSl9b3BlbkFkZENvbm5lY3RvckRpYWxvZygpe3JldHVybiB0aGlzLmN0eC5uZ1pvbmUucnVuKCgoKT0+dGhpcy5kaWFsb2cub3Blbih0byx7ZGlzYWJsZUNsb3NlOiEwLHBhbmVsQ2xhc3M6WyJ0Yi1kaWFsb2ciLCJ0Yi1mdWxsc2NyZWVuLWRpYWxvZyJdLGRhdGE6e2RhdGFTb3VyY2VEYXRhOnRoaXMuZGF0YVNvdXJjZS5kYXRhLGdhdGV3YXlWZXJzaW9uOnRoaXMuZ2F0ZXdheVZlcnNpb259fSkuYWZ0ZXJDbG9zZWQoKSkpfXVuaXFOYW1lUmVxdWlyZWQoKXtyZXR1cm4gZT0+e2NvbnN0IHQ9ZS52YWx1ZT8udHJpbSgpLnRvTG93ZXJDYXNlKCksbj10aGlzLmRhdGFTb3VyY2UuZGF0YS5zb21lKChlPT5lLnZhbHVlLm5hbWUudG9Mb3dlckNhc2UoKT09PXQpKSxhPXRoaXMuaW5pdGlhbENvbm5lY3Rvcj8ubmFtZS50b0xvd2VyQ2FzZSgpPT09dDtyZXR1cm4gbiYmIWE/e2R1cGxpY2F0ZU5hbWU6e3ZhbGlkOiExfX06bnVsbH19aW5pdERhdGFTb3VyY2VzKCl7Y29uc3QgZT17cHJvcGVydHk6ImtleSIsZGlyZWN0aW9uOncuQVNDfTt0aGlzLnBhZ2VMaW5rPW5ldyBDKDFlMywwLG51bGwsZSksdGhpcy5hdHRyaWJ1dGVEYXRhU291cmNlPW5ldyBMYSh0aGlzLmF0dHJpYnV0ZVNlcnZpY2UsdGhpcy50ZWxlbWV0cnlXc1NlcnZpY2UsdGhpcy56b25lLHRoaXMudHJhbnNsYXRlKSx0aGlzLmluYWN0aXZlQ29ubmVjdG9yc0RhdGFTb3VyY2U9bmV3IExhKHRoaXMuYXR0cmlidXRlU2VydmljZSx0aGlzLnRlbGVtZXRyeVdzU2VydmljZSx0aGlzLnpvbmUsdGhpcy50cmFuc2xhdGUpLHRoaXMuc2VydmVyRGF0YVNvdXJjZT1uZXcgTGEodGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLHRoaXMudGVsZW1ldHJ5V3NTZXJ2aWNlLHRoaXMuem9uZSx0aGlzLnRyYW5zbGF0ZSksdGhpcy5kYXRhU291cmNlPW5ldyB5KFtdKX1pbml0Q29ubmVjdG9yRm9ybSgpe3RoaXMuY29ubmVjdG9yRm9ybT10aGlzLmZiLmdyb3VwKHttb2RlOltvbi5CQVNJQ10sbmFtZTpbIiIsW3VlLnJlcXVpcmVkLHRoaXMudW5pcU5hbWVSZXF1aXJlZCgpLHVlLnBhdHRlcm4oa3QpXV0sdHlwZTpbIiIsW3VlLnJlcXVpcmVkXV0sZW5hYmxlUmVtb3RlTG9nZ2luZzpbITFdLGxvZ0xldmVsOlsiIixbdWUucmVxdWlyZWRdXSxzZW5kRGF0YU9ubHlPbkNoYW5nZTpbITFdLGtleTpbImF1dG8iXSxjbGFzczpbIiJdLGNvbmZpZ3VyYXRpb246WyIiXSxjb25maWd1cmF0aW9uSnNvbjpbe30sW3VlLnJlcXVpcmVkXV0sYmFzaWNDb25maWc6W3t9XSxjb25maWdWZXJzaW9uOlsiIl0scmVwb3J0U3RyYXRlZ3k6W3t2YWx1ZTp7fSxkaXNhYmxlZDohMH1dfSksdGhpcy5jb25uZWN0b3JGb3JtLmRpc2FibGUoKX1nZXRTb3J0aW5nRGF0YUFjY2Vzc29yKCl7cmV0dXJuKGUsdCk9Pntzd2l0Y2godCl7Y2FzZSJzeW5jU3RhdHVzIjpyZXR1cm4gdGhpcy5pc0Nvbm5lY3RvclN5bmNlZChlKT8xOjA7Y2FzZSJlbmFibGVkIjpyZXR1cm4gdGhpcy5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKGUua2V5KT8xOjA7Y2FzZSJlcnJvcnMiOmNvbnN0IG49dGhpcy5nZXRFcnJvcnNDb3VudChlKTtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIG4/dGhpcy5zb3J0LmRpcmVjdGlvbi50b1VwcGVyQ2FzZSgpPT09dy5ERVNDPy0xOjEvMDpuO2RlZmF1bHQ6cmV0dXJuIGVbdF18fGUudmFsdWVbdF19fX1sb2FkQ29ubmVjdG9ycygpe3RoaXMuZGV2aWNlJiZ0aGlzLmRldmljZS5pZCE9PWsmJkFlKFt0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0RW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSxMLlNIQVJFRF9TQ09QRSxbImFjdGl2ZV9jb25uZWN0b3JzIl0pLHRoaXMuYXR0cmlidXRlU2VydmljZS5nZXRFbnRpdHlBdHRyaWJ1dGVzKHRoaXMuZGV2aWNlLEwuU0VSVkVSX1NDT1BFLFsiaW5hY3RpdmVfY29ubmVjdG9ycyJdKSx0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0RW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSxMLkNMSUVOVF9TQ09QRSxbIlZlcnNpb24iXSldKS5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLmFjdGl2ZUNvbm5lY3RvcnM9dGhpcy5wYXJzZUNvbm5lY3RvcnMoZVswXSksdGhpcy5pbmFjdGl2ZUNvbm5lY3RvcnM9dGhpcy5wYXJzZUNvbm5lY3RvcnMoZVsxXSksdGhpcy5nYXRld2F5VmVyc2lvbj1lWzJdWzBdPy52YWx1ZSx0aGlzLnVwZGF0ZURhdGEoITApfSkpfWxvYWRHYXRld2F5U3RhdGUoKXt0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0RW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSxMLlNFUlZFUl9TQ09QRSkucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57Y29uc3QgdD1lLmZpbmQoKGU9PiJhY3RpdmUiPT09ZS5rZXkpKS52YWx1ZSxuPWUuZmluZCgoZT0+Imxhc3REaXNjb25uZWN0VGltZSI9PT1lLmtleSkpPy52YWx1ZSxhPWUuZmluZCgoZT0+Imxhc3RDb25uZWN0VGltZSI9PT1lLmtleSkpPy52YWx1ZTt0aGlzLmlzR2F0ZXdheUFjdGl2ZT10aGlzLmdldEdhdGV3YXlTdGF0dXModCxhLG4pfSkpfXBhcnNlQ29ubmVjdG9ycyhlKXtjb25zdCB0PWU/LlswXT8udmFsdWV8fFtdO3JldHVybiBuZSh0KT9KU09OLnBhcnNlKHQpOnR9b2JzZXJ2ZU1vZGVDaGFuZ2UoKXt0aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJtb2RlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJtb2RlIikubWFya0FzUHJpc3RpbmUoKX0pKX1vYnNlcnZlQXR0cmlidXRlQ2hhbmdlKCl7dGhpcy5hdHRyaWJ1dGVVcGRhdGVTdWJqZWN0LnBpcGUoVmUoMzAwKSxFZSgoZT0+dGhpcy5leGVjdXRlQXR0cmlidXRlVXBkYXRlcyhlKSkpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKX11cGRhdGVBY3RpdmVDb25uZWN0b3JLZXlzKGUpe2lmKHRoaXMuYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyhlKSl7Y29uc3QgdD10aGlzLmFjdGl2ZUNvbm5lY3RvcnMuaW5kZXhPZihlKTstMSE9PXQmJnRoaXMuYWN0aXZlQ29ubmVjdG9ycy5zcGxpY2UodCwxKSx0aGlzLmluYWN0aXZlQ29ubmVjdG9ycy5wdXNoKGUpfWVsc2V7Y29uc3QgdD10aGlzLmluYWN0aXZlQ29ubmVjdG9ycy5pbmRleE9mKGUpOy0xIT09dCYmdGhpcy5pbmFjdGl2ZUNvbm5lY3RvcnMuc3BsaWNlKHQsMSksdGhpcy5hY3RpdmVDb25uZWN0b3JzLnB1c2goZSl9fWV4ZWN1dGVBdHRyaWJ1dGVVcGRhdGVzKGUpe0FlKHRoaXMuZ2V0QXR0cmlidXRlRXhlY3V0aW9uVGFza3MoZSkpLnBpcGUoT2UoMSksRWUoKCgpPT50aGlzLnVwZGF0ZURhdGEoITApKSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgpfWdldEF0dHJpYnV0ZUV4ZWN1dGlvblRhc2tzKGUpe2NvbnN0IHQ9dGhpcy5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKGUua2V5KSxuPXQ/TC5TRVJWRVJfU0NPUEU6TC5TSEFSRURfU0NPUEUsYT10P0wuU0hBUkVEX1NDT1BFOkwuU0VSVkVSX1NDT1BFO3JldHVyblt0aGlzLmF0dHJpYnV0ZVNlcnZpY2Uuc2F2ZUVudGl0eUF0dHJpYnV0ZXModGhpcy5kZXZpY2UsTC5TSEFSRURfU0NPUEUsW3trZXk6ImFjdGl2ZV9jb25uZWN0b3JzIix2YWx1ZTp0aGlzLmFjdGl2ZUNvbm5lY3RvcnN9XSksdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNhdmVFbnRpdHlBdHRyaWJ1dGVzKHRoaXMuZGV2aWNlLEwuU0VSVkVSX1NDT1BFLFt7a2V5OiJpbmFjdGl2ZV9jb25uZWN0b3JzIix2YWx1ZTp0aGlzLmluYWN0aXZlQ29ubmVjdG9yc31dKSx0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZGVsZXRlRW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSxuLFtlXSksdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNhdmVFbnRpdHlBdHRyaWJ1dGVzKHRoaXMuZGV2aWNlLGEsW2VdKV19b25EYXRhVXBkYXRlRXJyb3IoZSl7Y29uc3QgdD10aGlzLnV0aWxzLnBhcnNlRXhjZXB0aW9uKGUpO2xldCBuPXQubmFtZTt0Lm1lc3NhZ2UmJihuKz0iOiAiK3QubWVzc2FnZSksY29uc29sZS5lcnJvcihuKX1vbkVycm9yc1VwZGF0ZWQoKXt0aGlzLmNkLmRldGVjdENoYW5nZXMoKX1vbkRhdGFVcGRhdGVkKCl7Y29uc3QgZT10aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLmRhdGEsdD1lLmZpbmQoKGU9PiJhY3RpdmUiPT09ZS5kYXRhS2V5Lm5hbWUpKS5kYXRhWzBdWzFdLG49ZS5maW5kKChlPT4ibGFzdERpc2Nvbm5lY3RUaW1lIj09PWUuZGF0YUtleS5uYW1lKSkuZGF0YVswXVsxXSxhPWUuZmluZCgoZT0+Imxhc3RDb25uZWN0VGltZSI9PT1lLmRhdGFLZXkubmFtZSkpLmRhdGFbMF1bMV07dGhpcy5pc0dhdGV3YXlBY3RpdmU9dGhpcy5nZXRHYXRld2F5U3RhdHVzKHQsYSxuKSx0aGlzLmNkLmRldGVjdENoYW5nZXMoKX1nZXRHYXRld2F5U3RhdHVzKGUsdCxuKXtyZXR1cm4hIWUmJighbnx8dD5uKX1nZW5lcmF0ZVN1YnNjcmlwdGlvbigpe2lmKHRoaXMuc3Vic2NyaXB0aW9uJiZ0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMuZGV2aWNlKXtjb25zdCBlPVt7dHlwZTpGLmVudGl0eSxlbnRpdHlUeXBlOkkuREVWSUNFLGVudGl0eUlkOnRoaXMuZGV2aWNlLmlkLGVudGl0eU5hbWU6IkdhdGV3YXkiLHRpbWVzZXJpZXM6W119XTt0aGlzLmRhdGFTb3VyY2UuZGF0YS5mb3JFYWNoKCh0PT57ZVswXS50aW1lc2VyaWVzLnB1c2goe25hbWU6YCR7dC5rZXl9X0VSUk9SU19DT1VOVGAsbGFiZWw6YCR7dC5rZXl9X0VSUk9SU19DT1VOVGB9KX0pKSx0aGlzLmN0eC5zdWJzY3JpcHRpb25BcGkuY3JlYXRlU3Vic2NyaXB0aW9uRnJvbUluZm8oQS5sYXRlc3QsZSx0aGlzLnN1YnNjcmlwdGlvbk9wdGlvbnMsITEsITApLnN1YnNjcmliZSgoZT0+e3RoaXMuc3Vic2NyaXB0aW9uPWV9KSl9fWNyZWF0ZUJhc2ljQ29uZmlnV2F0Y2hlcigpe3RoaXMuYmFzaWNDb25maWdTdWImJnRoaXMuYmFzaWNDb25maWdTdWIudW5zdWJzY3JpYmUoKSx0aGlzLmJhc2ljQ29uZmlnU3ViPXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoImJhc2ljQ29uZmlnIikudmFsdWVDaGFuZ2VzLnBpcGUoTWUoKCgpPT4hIXRoaXMuaW5pdGlhbENvbm5lY3RvcikpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pntjb25zdCB0PXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoImNvbmZpZ3VyYXRpb25Kc29uIiksbj10aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJ0eXBlIikudmFsdWUsYT10aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJtb2RlIikudmFsdWU7aWYoIWVlKGUsdD8udmFsdWUpJiZ0aGlzLmFsbG93QmFzaWNDb25maWcuaGFzKG4pJiZhPT09b24uQkFTSUMpe2NvbnN0IG49ey4uLnQudmFsdWUsLi4uZX07dGhpcy5jb25uZWN0b3JGb3JtLmdldCgiY29uZmlndXJhdGlvbkpzb24iKS5wYXRjaFZhbHVlKG4se2VtaXRFdmVudDohMX0pfX0pKX1jcmVhdGVKc29uQ29uZmlnV2F0Y2hlcigpe3RoaXMuanNvbkNvbmZpZ1N1YiYmdGhpcy5qc29uQ29uZmlnU3ViLnVuc3Vic2NyaWJlKCksdGhpcy5qc29uQ29uZmlnU3ViPXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoImNvbmZpZ3VyYXRpb25Kc29uIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2NvbnN0IHQ9dGhpcy5jb25uZWN0b3JGb3JtLmdldCgiYmFzaWNDb25maWciKSxuPXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoInR5cGUiKS52YWx1ZSxhPXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoIm1vZGUiKS52YWx1ZTshZWUoZSx0Py52YWx1ZSkmJnRoaXMuYWxsb3dCYXNpY0NvbmZpZy5oYXMobikmJmE9PT1vbi5BRFZBTkNFRCYmdGhpcy5jb25uZWN0b3JGb3JtLmdldCgiYmFzaWNDb25maWciKS5wYXRjaFZhbHVlKGUse2VtaXRFdmVudDohMX0pfSkpfWNvbmZpcm1Db25uZWN0b3JDaGFuZ2UoKXtyZXR1cm4gdGhpcy5pbml0aWFsQ29ubmVjdG9yJiZ0aGlzLmNvbm5lY3RvckZvcm0uZGlydHk/dGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0odGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5jaGFuZ2UtY29ubmVjdG9yLXRpdGxlIiksdGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5jaGFuZ2UtY29ubmVjdG9yLXRleHQiKSx0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJhY3Rpb24ubm8iKSx0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJhY3Rpb24ueWVzIiksITApOkllKCEwKX1zZXRGb3JtVmFsdWUoZSl7dGhpcy5jb25uZWN0b3JGb3JtLmRpc2FibGVkJiZ0aGlzLmNvbm5lY3RvckZvcm0uZW5hYmxlKCk7Y29uc3QgdD1iYS5nZXRDb25maWcoe2NvbmZpZ3VyYXRpb246IiIsa2V5OiJhdXRvIixjb25maWd1cmF0aW9uSnNvbjp7fSwuLi5lfSx0aGlzLmdhdGV3YXlWZXJzaW9uKTt0aGlzLmdhdGV3YXlWZXJzaW9uJiYhdC5jb25maWdWZXJzaW9uJiYodC5jb25maWdWZXJzaW9uPXRoaXMuZ2F0ZXdheVZlcnNpb24pLHQuYmFzaWNDb25maWc9dC5jb25maWd1cmF0aW9uSnNvbix0aGlzLmluaXRpYWxDb25uZWN0b3I9dCx0aGlzLnVwZGF0ZUNvbm5lY3Rvcih0KX11cGRhdGVDb25uZWN0b3IoZSl7c3dpdGNoKHRoaXMuanNvbkNvbmZpZ1N1Yj8udW5zdWJzY3JpYmUoKSxlLnR5cGUpe2Nhc2UgX3QuTVFUVDpjYXNlIF90Lk9QQ1VBOmNhc2UgX3QuTU9EQlVTOnRoaXMudXBkYXRlQmFzaWNDb25maWdDb25uZWN0b3IoZSk7YnJlYWs7ZGVmYXVsdDp0aGlzLmNvbm5lY3RvckZvcm0ucGF0Y2hWYWx1ZSh7Li4uZSxtb2RlOm51bGx9KSx0aGlzLmNvbm5lY3RvckZvcm0ubWFya0FzUHJpc3RpbmUoKSx0aGlzLmNyZWF0ZUpzb25Db25maWdXYXRjaGVyKCl9fXVwZGF0ZUJhc2ljQ29uZmlnQ29ubmVjdG9yKGUpe3RoaXMuYmFzaWNDb25maWdTdWI/LnVuc3Vic2NyaWJlKCk7Y29uc3QgdD10aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJ0eXBlIikudmFsdWU7dGhpcy5zZXRJbml0aWFsQ29ubmVjdG9yVmFsdWVzKGUpLHQhPT1lLnR5cGUmJnRoaXMuYWxsb3dCYXNpY0NvbmZpZy5oYXMoZS50eXBlKT90aGlzLmJhc2ljQ29uZmlnSW5pdFN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShPZSgxKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMucGF0Y2hCYXNpY0NvbmZpZ0Nvbm5lY3RvcihlKX0pKTp0aGlzLnBhdGNoQmFzaWNDb25maWdDb25uZWN0b3IoZSl9cGF0Y2hCYXNpY0NvbmZpZ0Nvbm5lY3RvcihlKXt0aGlzLmNvbm5lY3RvckZvcm0ucGF0Y2hWYWx1ZShlLHtlbWl0RXZlbnQ6ITF9KSx0aGlzLmNvbm5lY3RvckZvcm0ubWFya0FzUHJpc3RpbmUoKSx0aGlzLmNyZWF0ZUJhc2ljQ29uZmlnV2F0Y2hlcigpLHRoaXMuY3JlYXRlSnNvbkNvbmZpZ1dhdGNoZXIoKX10b2dnbGVSZXBvcnRTdHJhdGVneShlKXtjb25zdCB0PXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoInJlcG9ydFN0cmF0ZWd5Iik7ZT09PV90Lk1PREJVUz90LmVuYWJsZSh7ZW1pdEV2ZW50OiExfSk6dC5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KX1zZXRDbGllbnREYXRhKGUpe2lmKHRoaXMuaW5pdGlhbENvbm5lY3Rvcil7Y29uc3QgdD1lLmRhdGEuZmluZCgoZT0+ZS5rZXk9PT10aGlzLmluaXRpYWxDb25uZWN0b3IubmFtZSkpO3QmJih0LnZhbHVlPSJzdHJpbmciPT10eXBlb2YgdC52YWx1ZT9KU09OLnBhcnNlKHQudmFsdWUpOnQudmFsdWUsdGhpcy5pc0Nvbm5lY3RvclN5bmNlZCh0KSYmdC52YWx1ZS5jb25maWd1cmF0aW9uSnNvbiYmdGhpcy5zZXRGb3JtVmFsdWUoey4uLnQudmFsdWUsbW9kZTp0aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJtb2RlIikudmFsdWU/P3QudmFsdWUubW9kZX0pKX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpFbyxkZXBzOlt7dG9rZW46b3QuU3RvcmV9LHt0b2tlbjptZS5Gb3JtQnVpbGRlcn0se3Rva2VuOlkuVHJhbnNsYXRlU2VydmljZX0se3Rva2VuOlguQXR0cmlidXRlU2VydmljZX0se3Rva2VuOlguRGlhbG9nU2VydmljZX0se3Rva2VuOkplLk1hdERpYWxvZ30se3Rva2VuOlguVGVsZW1ldHJ5V2Vic29ja2V0U2VydmljZX0se3Rva2VuOnQuTmdab25lfSx7dG9rZW46WC5VdGlsc1NlcnZpY2V9LHt0b2tlbjp2YX0se3Rva2VuOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOkVvLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LWNvbm5lY3RvciIsaW5wdXRzOntjdHg6ImN0eCIsZGV2aWNlOiJkZXZpY2UifSxwcm92aWRlcnM6W3twcm92aWRlOlRlLHVzZUNsYXNzOk1vfV0sdmlld1F1ZXJpZXM6W3twcm9wZXJ0eU5hbWU6Im5hbWVJbnB1dCIsZmlyc3Q6ITAscHJlZGljYXRlOlsibmFtZUlucHV0Il0sZGVzY2VuZGFudHM6ITB9LHtwcm9wZXJ0eU5hbWU6InNvcnQiLGZpcnN0OiEwLHByZWRpY2F0ZTpnLGRlc2NlbmRhbnRzOiEwfV0sdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJjb25uZWN0b3ItY29udGFpbmVyIHRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIj5cbiAgPHNlY3Rpb24gY2xhc3M9InRhYmxlLXNlY3Rpb24gdGItZm9ybS1wYW5lbCBuby1wYWRkaW5nIGZsZXggc2VjdGlvbi1jb250YWluZXIiPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIj5cbiAgICAgIDxoMj57eyBcJ2dhdGV3YXkuY29ubmVjdG9yc1wnIHwgdHJhbnNsYXRlIH19PC9oMj5cbiAgICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgICA8YnV0dG9uICpuZ0lmPSJkYXRhU291cmNlPy5kYXRhPy5sZW5ndGgiXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJpc0xvYWRpbmckIHwgYXN5bmMiXG4gICAgICAgICAgICAgIChjbGljayk9Im9uQWRkQ29ubmVjdG9yKCRldmVudCkiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmFkZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L21hdC10b29sYmFyPlxuICAgIDxkaXYgY2xhc3M9InRhYmxlLWNvbnRhaW5lciI+XG4gICAgICA8c2VjdGlvbiAqbmdJZj0iIWRhdGFTb3VyY2U/LmRhdGE/Lmxlbmd0aCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgIGNsYXNzPSJtYXQtaGVhZGxpbmUtNSB0Yi1hYnNvbHV0ZS1maWxsIHRiLWFkZC1uZXciPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9ImNvbm5lY3RvciJcbiAgICAgICAgKGNsaWNrKT0ib25BZGRDb25uZWN0b3IoJGV2ZW50KSI+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJ0Yi1tYXQtOTYiPmFkZDwvbWF0LWljb24+XG4gICAgICAgICAgPHNwYW4+e3sgXCdnYXRld2F5LmFkZC1jb25uZWN0b3JcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT0iZGF0YVNvdXJjZSJcbiAgICAgICAgICAgICBtYXRTb3J0IFttYXRTb3J0QWN0aXZlXT0icGFnZUxpbmsuc29ydE9yZGVyLnByb3BlcnR5IiBbbWF0U29ydERpcmVjdGlvbl09InBhZ2VMaW5rLnNvcnREaXJlY3Rpb24oKSJcbiAgICAgICAgICAgICBtYXRTb3J0RGlzYWJsZUNsZWFyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iZW5hYmxlZCIgc3RpY2t5PlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgc3R5bGU9IndpZHRoOiA2MHB4O21pbi13aWR0aDogNjBweDsiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtZW5hYmxlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgYXR0cmlidXRlIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIFtjaGVja2VkXT0iYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyhhdHRyaWJ1dGUua2V5KSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgb25FbmFibGVDb25uZWN0b3IoYXR0cmlidXRlKSI+PC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0ia2V5Ij5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDQwJSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1uYW1lXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiPlxuICAgICAgICAgICAge3sgYXR0cmlidXRlLmtleSB9fVxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0idHlwZSI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgc3R5bGU9IndpZHRoOiAzMCUiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtdHlwZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgYXR0cmlidXRlIiBzdHlsZT0idGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSI+XG4gICAgICAgICAgICB7eyByZXR1cm5UeXBlKGF0dHJpYnV0ZSkgfX1cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9InN5bmNTdGF0dXMiPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIHN0eWxlPSJ3aWR0aDogMzAlIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5jb25maWd1cmF0aW9uXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzIiBbY2xhc3NdPSJpc0Nvbm5lY3RvclN5bmNlZChhdHRyaWJ1dGUpID8gXCdzdGF0dXMtc3luY1wnIDogXCdzdGF0dXMtdW5zeW5jXCciPlxuICAgICAgICAgICAgICAgIHt7IGlzQ29ubmVjdG9yU3luY2VkKGF0dHJpYnV0ZSkgPyBcJ3N5bmNcJyA6IFwnb3V0IG9mIHN5bmNcJyB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9ImVycm9ycyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgc3R5bGU9IndpZHRoOiAzMCUiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtc3RhdHVzXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkb3QiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ0Vycm9yczogXCcrIGdldEVycm9yc0NvdW50KGF0dHJpYnV0ZSl9fSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPSJjb25uZWN0b3JMb2dzKGF0dHJpYnV0ZSwgJGV2ZW50KSJcbiAgICAgICAgICAgICAgICAgIFtjbGFzc109IntcJ2hhc0Vycm9yc1wnOiArZ2V0RXJyb3JzQ291bnQoYXR0cmlidXRlKSA+IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCdub0Vycm9yc1wnOiArZ2V0RXJyb3JzQ291bnQoYXR0cmlidXRlKSA9PT0gMCB8fCBnZXRFcnJvcnNDb3VudChhdHRyaWJ1dGUpID09PSBcJ1wnfSI+PC9zcGFuPlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iYWN0aW9ucyIgc3RpY2t5RW5kPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlLmd0LW1kXT0ieyBtaW5XaWR0aDogXCcxNDRweFwnLCBtYXhXaWR0aDogXCcxNDRweFwnLCB3aWR0aDogXCcxNDRweFwnLCB0ZXh0QWxpZ246IFwnY2VudGVyXCd9Ij5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWFjdGlvbnNcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IGF0dHJpYnV0ZSJcbiAgICAgICAgICAgICAgICAgICAgW25nU3R5bGUuZ3QtbWRdPSJ7IG1pbldpZHRoOiBcJzE0NHB4XCcsIG1heFdpZHRoOiBcJzE0NHB4XCcsIHdpZHRoOiBcJzE0NHB4XCd9Ij5cbiAgICAgICAgICAgIDxkaXYgZnhIaWRlIGZ4U2hvdy5ndC1tZCBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJSUEMiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJjb25uZWN0b3JScGMoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+cHJpdmF0ZV9jb25uZWN0aXZpdHk8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJMb2dzIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iY29ubmVjdG9yTG9ncyhhdHRyaWJ1dGUsICRldmVudCkiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5saXN0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0iRGVsZXRlIGNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9ImRlbGV0ZUNvbm5lY3RvcihhdHRyaWJ1dGUsICRldmVudCkiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmeEhpZGUgZnhTaG93Lmx0LWxnPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPSJjZWxsQWN0aW9uc01lbnUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8bWF0LW1lbnUgI2NlbGxBY3Rpb25zTWVudT0ibWF0TWVudSIgeFBvc2l0aW9uPSJiZWZvcmUiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJSUEMiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iY29ubmVjdG9yUnBjKGF0dHJpYnV0ZSwgJGV2ZW50KSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24+cHJpdmF0ZV9jb25uZWN0aXZpdHk8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJMb2dzIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9ImNvbm5lY3RvckxvZ3MoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5saXN0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0iRGVsZXRlIGNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJkZWxldGVDb25uZWN0b3IoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxtYXQtaGVhZGVyLXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbWF0SGVhZGVyUm93RGVmPSJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWUiPjwvbWF0LWhlYWRlci1yb3c+XG4gICAgICAgIDxtYXQtcm93IGNsYXNzPSJtYXQtcm93LXNlbGVjdCIgW2NsYXNzXT0ie1wndGItY3VycmVudC1lbnRpdHlcJzogaXNTYW1lQ29ubmVjdG9yKGF0dHJpYnV0ZSl9IlxuICAgICAgICAgICAgICAgICAqbWF0Um93RGVmPSJsZXQgYXR0cmlidXRlOyBsZXQgaSA9IGluZGV4OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyIgKGNsaWNrKT0ic2VsZWN0Q29ubmVjdG9yKCRldmVudCwgYXR0cmlidXRlKSI+PC9tYXQtcm93PlxuICAgICAgPC90YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9zZWN0aW9uPlxuICA8c2VjdGlvbiBbZm9ybUdyb3VwXT0iY29ubmVjdG9yRm9ybSIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc2VjdGlvbi1jb250YWluZXIgZmxleCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSB0Yi1mbGV4IG5vLWZsZXggc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSI+XG4gICAgICAgIHt7IGluaXRpYWxDb25uZWN0b3I/LnR5cGUgPyBHYXRld2F5Q29ubmVjdG9yVHlwZXNUcmFuc2xhdGVzTWFwLmdldChpbml0aWFsQ29ubmVjdG9yLnR5cGUpIDogXCdcJyB9fVxuICAgICAgICB7eyBcJ2dhdGV3YXkuY29uZmlndXJhdGlvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDxzcGFuIGNsYXNzPSJ2ZXJzaW9uLXBsYWNlaG9sZGVyIiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdjb25maWdWZXJzaW9uXCcpLnZhbHVlIj52e3tjb25uZWN0b3JGb3JtLmdldChcJ2NvbmZpZ1ZlcnNpb25cJykudmFsdWV9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgKm5nSWY9ImluaXRpYWxDb25uZWN0b3IgJiYgYWxsb3dCYXNpY0NvbmZpZy5oYXMoaW5pdGlhbENvbm5lY3Rvci50eXBlKSJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0ibW9kZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uIFt2YWx1ZV09IkNvbm5lY3RvckNvbmZpZ3VyYXRpb25Nb2Rlcy5CQVNJQyI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LmJhc2ljXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiBbdmFsdWVdPSJDb25uZWN0b3JDb25maWd1cmF0aW9uTW9kZXMuQURWQU5DRUQiPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5hZHZhbmNlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgIDwvdGItdG9nZ2xlLXNlbGVjdD5cbiAgICA8L2Rpdj5cbiAgICA8c3BhbiBbZnhTaG93XT0iIWluaXRpYWxDb25uZWN0b3IiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCIgdHJhbnNsYXRlPlxuICAgICAgZ2F0ZXdheS5zZWxlY3QtY29ubmVjdG9yXG4gICAgPC9zcGFuPlxuICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHNlY3Rpb24tY29udGFpbmVyIG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLWZsZXggc3BhY2UtYmV0d2VlbiIgKm5nSWY9ImluaXRpYWxDb25uZWN0b3IiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdtb2RlXCcpPy52YWx1ZSA9PT0gQ29ubmVjdG9yQ29uZmlndXJhdGlvbk1vZGVzLkJBU0lDIGVsc2UgZGVmYXVsdENvbmZpZyI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT0iaW5pdGlhbENvbm5lY3Rvci50eXBlIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9IkNvbm5lY3RvclR5cGUuTVFUVCI+XG4gICAgICAgICAgICA8dGItbXF0dC1iYXNpYy1jb25maWdcbiAgICAgICAgICAgICAgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwnY29uZmlnVmVyc2lvblwnKS52YWx1ZSB8IGlzTGF0ZXN0VmVyc2lvbkNvbmZpZyBlbHNlIGxlZ2FjeSJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgW2dlbmVyYWxUYWJDb250ZW50XT0iZ2VuZXJhbFRhYkNvbnRlbnQiXG4gICAgICAgICAgICAgIChpbml0aWFsaXplZCk9ImJhc2ljQ29uZmlnSW5pdFN1YmplY3QubmV4dCgpIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbGVnYWN5PlxuICAgICAgICAgICAgICA8dGItbXF0dC1sZWdhY3ktYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk9QQ1VBIj5cbiAgICAgICAgICAgIDx0Yi1vcGMtdWEtYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ2NvbmZpZ1ZlcnNpb25cJykudmFsdWUgfCBpc0xhdGVzdFZlcnNpb25Db25maWcgZWxzZSBsZWdhY3kiXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICAgICAgICAgIFtnZW5lcmFsVGFiQ29udGVudF09ImdlbmVyYWxUYWJDb250ZW50IlxuICAgICAgICAgICAgICAoaW5pdGlhbGl6ZWQpPSJiYXNpY0NvbmZpZ0luaXRTdWJqZWN0Lm5leHQoKSJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2xlZ2FjeT5cbiAgICAgICAgICAgICAgPHRiLW9wYy11YS1sZWdhY3ktYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk1PREJVUyI+XG4gICAgICAgICAgICA8dGItbW9kYnVzLWJhc2ljLWNvbmZpZ1xuICAgICAgICAgICAgICAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdjb25maWdWZXJzaW9uXCcpLnZhbHVlIHwgaXNMYXRlc3RWZXJzaW9uQ29uZmlnIGVsc2UgbGVnYWN5IlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9ImJhc2ljQ29uZmlnIlxuICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNsZWdhY3k+XG4gICAgICAgICAgICAgIDx0Yi1tb2RidXMtbGVnYWN5LWJhc2ljLWNvbmZpZ1xuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgW2dlbmVyYWxUYWJDb250ZW50XT0iZ2VuZXJhbFRhYkNvbnRlbnQiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q29uZmlnPlxuICAgICAgICA8bWF0LXRhYi1ncm91cD5cbiAgICAgICAgICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgICAgICAgICAgPHRiLWpzb24tb2JqZWN0LWVkaXRcbiAgICAgICAgICAgICAgZmlsbEhlaWdodD0idHJ1ZSJcbiAgICAgICAgICAgICAgY2xhc3M9InRiLWZsZXggZmlsbC1oZWlnaHQiXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PSJjb2x1bW4iXG4gICAgICAgICAgICAgIGpzb25SZXF1aXJlZFxuICAgICAgICAgICAgICBsYWJlbD0ie3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJjb25maWd1cmF0aW9uSnNvbiI+XG4gICAgICAgICAgICA8L3RiLWpzb24tb2JqZWN0LWVkaXQ+XG4gICAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgICA8L21hdC10YWItZ3JvdXA+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGRpdiBmeExheW91dEFsaWduPSJlbmQgY2VudGVyIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iIWNvbm5lY3RvckZvcm0uZGlydHkgfHwgY29ubmVjdG9yRm9ybS5pbnZhbGlkIlxuICAgICAgICAgICAgICAgIChjbGljayk9Im9uU2F2ZUNvbm5lY3RvcigpIj5cbiAgICAgICAgICB7eyBcJ2FjdGlvbi5zYXZlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG4gIDwvc2VjdGlvbj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNnZW5lcmFsVGFiQ29udGVudD5cbiAgPHNlY3Rpb24gW2Zvcm1Hcm91cF09ImNvbm5lY3RvckZvcm0iIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIHNlY3Rpb24tY29udGFpbmVyIGZsZXgiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiID5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5uYW1lPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGF1dG9jb21wbGV0ZT0ib2ZmIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJuYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS5oYXNFcnJvcihcJ2R1cGxpY2F0ZU5hbWVcJykgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCdnYXRld2F5LmNvbm5lY3Rvci1kdXBsaWNhdGUtbmFtZVwnIDogXCdnYXRld2F5Lm5hbWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSIoY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYgY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLnRvdWNoZWQpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0b3JGb3JtLmdldChcJ25hbWVcJykuaGFzRXJyb3IoXCdkdXBsaWNhdGVOYW1lXCcpIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IENvbm5lY3RvclR5cGUuQ1VTVE9NIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1jbGFzczwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJjbGFzcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlID09PSBDb25uZWN0b3JUeXBlLkdSUEMiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWtleTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJrZXkiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5sb2dzLWNvbmZpZ3VyYXRpb248L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0iZW5hYmxlUmVtb3RlTG9nZ2luZyI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5lbmFibGUtcmVtb3RlLWxvZ2dpbmdcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucmVtb3RlLWxvZ2dpbmctbGV2ZWw8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImxvZ0xldmVsIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbG9nTGV2ZWwgb2YgZ2F0ZXdheUxvZ0xldmVsIiBbdmFsdWVdPSJsb2dMZXZlbCI+e3sgbG9nTGV2ZWwgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IENvbm5lY3RvclR5cGUuTVFUVCIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJzZW5kRGF0YU9ubHlPbkNoYW5nZSI+XG4gICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5zZW5kLWNoYW5nZS1kYXRhLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnNlbmQtY2hhbmdlLWRhdGFcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8L2Rpdj5cbiAgICA8dGItcmVwb3J0LXN0cmF0ZWd5XG4gICAgICBbZGVmYXVsdFZhbHVlXT0iUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWUuQ29ubmVjdG9yIlxuICAgICAgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gQ29ubmVjdG9yVHlwZS5NT0RCVVMgJiYgKGNvbm5lY3RvckZvcm0uZ2V0KFwnY29uZmlnVmVyc2lvblwnKS52YWx1ZSB8IGlzTGF0ZXN0VmVyc2lvbkNvbmZpZykiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9InJlcG9ydFN0cmF0ZWd5IlxuICAgIC8+XG4gIDwvc2VjdGlvbj5cbjwvbmctdGVtcGxhdGU+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrO292ZXJmbG93LXg6YXV0bztwYWRkaW5nOjB9Omhvc3QgLnZlcnNpb24tcGxhY2Vob2xkZXJ7Y29sb3I6Z3JheTtmb250LXNpemU6MTJweH06aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lcntoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2ZsZXgtZGlyZWN0aW9uOnJvd31AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpezpob3N0IC5jb25uZWN0b3ItY29udGFpbmVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn19Omhvc3QgLmNvbm5lY3Rvci1jb250YWluZXI+c2VjdGlvbjpub3QoLnRhYmxlLXNlY3Rpb24pe21heC13aWR0aDp1bnNldH1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpezpob3N0IC5jb25uZWN0b3ItY29udGFpbmVyPnNlY3Rpb246bm90KC50YWJsZS1zZWN0aW9uKXttYXgtd2lkdGg6NTAlfX06aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGFibGUtc2VjdGlvbnttaW4taGVpZ2h0OjM1dmg7b3ZlcmZsb3c6aGlkZGVufTpob3N0IC5jb25uZWN0b3ItY29udGFpbmVyIC50YWJsZS1zZWN0aW9uIC50YWJsZS1jb250YWluZXJ7b3ZlcmZsb3c6YXV0b306aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAuZmxleHtmbGV4OjF9Omhvc3QgLmNvbm5lY3Rvci1jb250YWluZXIgLmlucHV0LWNvbnRhaW5lcntoZWlnaHQ6YXV0b306aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAuc2VjdGlvbi1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfTpob3N0IC5tYXQtdG9vbGJhcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMDAwMDBkZSFpbXBvcnRhbnR9Omhvc3QgLm1hdC1tZGMtc2xpZGUtdG9nZ2xle21hcmdpbjowIDhweH06aG9zdCAuc3RhdHVze3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6MTZweDtmb250LXdlaWdodDo1MDA7d2lkdGg6Zml0LWNvbnRlbnQ7cGFkZGluZzo1cHggMTVweH06aG9zdCAuc3RhdHVzLXN5bmN7YmFja2dyb3VuZDojMTk4MDM4MGY7Y29sb3I6IzE5ODAzOH06aG9zdCAuc3RhdHVzLXVuc3luY3tiYWNrZ3JvdW5kOiNjYjI1MzAwZjtjb2xvcjojY2IyNTMwfTpob3N0IG1hdC1yb3d7Y3Vyc29yOnBvaW50ZXJ9Omhvc3QgLmRvdHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4O2JhY2tncm91bmQtY29sb3I6I2JiYjtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1ibG9ja306aG9zdCAuaGFzRXJyb3Jze2JhY2tncm91bmQtY29sb3I6I2NiMjUzMH06aG9zdCAubm9FcnJvcnN7YmFja2dyb3VuZC1jb2xvcjojMTk4MDM4fTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAubWF0LW1kYy10YWItZ3JvdXAsOmhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC5tYXQtbWRjLXRhYi1ib2R5LXdyYXBwZXJ7aGVpZ2h0OjEwMCV9Omhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC5tYXQtbWRjLXRhYi1ib2R5Lm1hdC1tZGMtdGFiLWJvZHktYWN0aXZle3Bvc2l0aW9uOmFic29sdXRlfTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGItZm9ybS1yb3cgLmZpeGVkLXRpdGxlLXdpZHRoe21pbi13aWR0aDoxMjBweDt3aWR0aDozMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGItYWRkLW5ld3tkaXNwbGF5OmZsZXg7ei1pbmRleDo5OTk7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Omhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC50Yi1hZGQtbmV3IGJ1dHRvbi5jb25uZWN0b3J7aGVpZ2h0OmF1dG87cGFkZGluZy1yaWdodDoxMnB4O2ZvbnQtc2l6ZToyMHB4O2JvcmRlci1zdHlsZTpkYXNoZWQ7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItcmFkaXVzOjhweDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6IzAwMDAwMDYxfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nVGVtcGxhdGVPdXRsZXQsc2VsZWN0b3I6IltuZ1RlbXBsYXRlT3V0bGV0XSIsaW5wdXRzOlsibmdUZW1wbGF0ZU91dGxldENvbnRleHQiLCJuZ1RlbXBsYXRlT3V0bGV0IiwibmdUZW1wbGF0ZU91dGxldEluamVjdG9yIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaCxzZWxlY3RvcjoiW25nU3dpdGNoXSIsaW5wdXRzOlsibmdTd2l0Y2giXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoQ2FzZSxzZWxlY3RvcjoiW25nU3dpdGNoQ2FzZV0iLGlucHV0czpbIm5nU3dpdGNoQ2FzZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZ0Lkpzb25PYmplY3RFZGl0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi1qc29uLW9iamVjdC1lZGl0IixpbnB1dHM6WyJsYWJlbCIsImRpc2FibGVkIiwiZmlsbEhlaWdodCIsImVkaXRvclN0eWxlIiwic29ydCIsImpzb25SZXF1aXJlZCIsInJlYWRvbmx5Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QnV0dG9uLHNlbGVjdG9yOiIgICAgYnV0dG9uW21hdC1idXR0b25dLCBidXR0b25bbWF0LXJhaXNlZC1idXR0b25dLCBidXR0b25bbWF0LWZsYXQtYnV0dG9uXSwgICAgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0gICIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRTdWZmaXgsc2VsZWN0b3I6IlttYXRTdWZmaXhdLCBbbWF0SWNvblN1ZmZpeF0sIFttYXRUZXh0U3VmZml4XSIsaW5wdXRzOlsibWF0VGV4dFN1ZmZpeCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnJ0Lk1hdFRvb2xiYXIsc2VsZWN0b3I6Im1hdC10b29sYmFyIixpbnB1dHM6WyJjb2xvciJdLGV4cG9ydEFzOlsibWF0VG9vbGJhciJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmh0Lk1hdE1lbnUsc2VsZWN0b3I6Im1hdC1tZW51IixpbnB1dHM6WyJiYWNrZHJvcENsYXNzIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImFyaWEtZGVzY3JpYmVkYnkiLCJ4UG9zaXRpb24iLCJ5UG9zaXRpb24iLCJvdmVybGFwVHJpZ2dlciIsImhhc0JhY2tkcm9wIiwiY2xhc3MiLCJjbGFzc0xpc3QiXSxvdXRwdXRzOlsiY2xvc2VkIiwiY2xvc2UiXSxleHBvcnRBczpbIm1hdE1lbnUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpodC5NYXRNZW51VHJpZ2dlcixzZWxlY3RvcjoiW21hdC1tZW51LXRyaWdnZXItZm9yXSwgW21hdE1lbnVUcmlnZ2VyRm9yXSIsaW5wdXRzOlsibWF0LW1lbnUtdHJpZ2dlci1mb3IiLCJtYXRNZW51VHJpZ2dlckZvciIsIm1hdE1lbnVUcmlnZ2VyRGF0YSIsIm1hdE1lbnVUcmlnZ2VyUmVzdG9yZUZvY3VzIl0sb3V0cHV0czpbIm1lbnVPcGVuZWQiLCJvbk1lbnVPcGVuIiwibWVudUNsb3NlZCIsIm9uTWVudUNsb3NlIl0sZXhwb3J0QXM6WyJtYXRNZW51VHJpZ2dlciJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOndlLk1hdFNlbGVjdCxzZWxlY3RvcjoibWF0LXNlbGVjdCIsaW5wdXRzOlsiYXJpYS1kZXNjcmliZWRieSIsInBhbmVsQ2xhc3MiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3IiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwibXVsdGlwbGUiLCJkaXNhYmxlT3B0aW9uQ2VudGVyaW5nIiwiY29tcGFyZVdpdGgiLCJ2YWx1ZSIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJlcnJvclN0YXRlTWF0Y2hlciIsInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLCJzb3J0Q29tcGFyYXRvciIsImlkIiwicGFuZWxXaWR0aCJdLG91dHB1dHM6WyJvcGVuZWRDaGFuZ2UiLCJvcGVuZWQiLCJjbG9zZWQiLCJzZWxlY3Rpb25DaGFuZ2UiLCJ2YWx1ZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2VsZWN0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmIuTWF0VGFibGUsc2VsZWN0b3I6Im1hdC10YWJsZSwgdGFibGVbbWF0LXRhYmxlXSIsZXhwb3J0QXM6WyJtYXRUYWJsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0SGVhZGVyQ2VsbERlZixzZWxlY3RvcjoiW21hdEhlYWRlckNlbGxEZWZdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlclJvd0RlZixzZWxlY3RvcjoiW21hdEhlYWRlclJvd0RlZl0iLGlucHV0czpbIm1hdEhlYWRlclJvd0RlZiIsIm1hdEhlYWRlclJvd0RlZlN0aWNreSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Q29sdW1uRGVmLHNlbGVjdG9yOiJbbWF0Q29sdW1uRGVmXSIsaW5wdXRzOlsibWF0Q29sdW1uRGVmIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsRGVmLHNlbGVjdG9yOiJbbWF0Q2VsbERlZl0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Um93RGVmLHNlbGVjdG9yOiJbbWF0Um93RGVmXSIsaW5wdXRzOlsibWF0Um93RGVmQ29sdW1ucyIsIm1hdFJvd0RlZldoZW4iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlckNlbGwsc2VsZWN0b3I6Im1hdC1oZWFkZXItY2VsbCwgdGhbbWF0LWhlYWRlci1jZWxsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsLHNlbGVjdG9yOiJtYXQtY2VsbCwgdGRbbWF0LWNlbGxdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdEhlYWRlclJvdyxzZWxlY3RvcjoibWF0LWhlYWRlci1yb3csIHRyW21hdC1oZWFkZXItcm93XSIsZXhwb3J0QXM6WyJtYXRIZWFkZXJSb3ciXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdFJvdyxzZWxlY3RvcjoibWF0LXJvdywgdHJbbWF0LXJvd10iLGV4cG9ydEFzOlsibWF0Um93Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Zi5NYXRTb3J0LHNlbGVjdG9yOiJbbWF0U29ydF0iLGlucHV0czpbIm1hdFNvcnRBY3RpdmUiLCJtYXRTb3J0U3RhcnQiLCJtYXRTb3J0RGlyZWN0aW9uIiwibWF0U29ydERpc2FibGVDbGVhciIsIm1hdFNvcnREaXNhYmxlZCJdLG91dHB1dHM6WyJtYXRTb3J0Q2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTb3J0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Zi5NYXRTb3J0SGVhZGVyLHNlbGVjdG9yOiJbbWF0LXNvcnQtaGVhZGVyXSIsaW5wdXRzOlsibWF0LXNvcnQtaGVhZGVyIiwiYXJyb3dQb3NpdGlvbiIsInN0YXJ0IiwiZGlzYWJsZWQiLCJzb3J0QWN0aW9uRGVzY3JpcHRpb24iLCJkaXNhYmxlQ2xlYXIiXSxleHBvcnRBczpbIm1hdFNvcnRIZWFkZXIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRBbGlnbkRpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRBbGlnbl0sIFtmeExheW91dEFsaWduLnhzXSwgW2Z4TGF5b3V0QWxpZ24uc21dLCBbZnhMYXlvdXRBbGlnbi5tZF0sICBbZnhMYXlvdXRBbGlnbi5sZ10sIFtmeExheW91dEFsaWduLnhsXSwgW2Z4TGF5b3V0QWxpZ24ubHQtc21dLCBbZnhMYXlvdXRBbGlnbi5sdC1tZF0sICBbZnhMYXlvdXRBbGlnbi5sdC1sZ10sIFtmeExheW91dEFsaWduLmx0LXhsXSwgW2Z4TGF5b3V0QWxpZ24uZ3QteHNdLCBbZnhMYXlvdXRBbGlnbi5ndC1zbV0sICBbZnhMYXlvdXRBbGlnbi5ndC1tZF0sIFtmeExheW91dEFsaWduLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRBbGlnbiIsImZ4TGF5b3V0QWxpZ24ueHMiLCJmeExheW91dEFsaWduLnNtIiwiZnhMYXlvdXRBbGlnbi5tZCIsImZ4TGF5b3V0QWxpZ24ubGciLCJmeExheW91dEFsaWduLnhsIiwiZnhMYXlvdXRBbGlnbi5sdC1zbSIsImZ4TGF5b3V0QWxpZ24ubHQtbWQiLCJmeExheW91dEFsaWduLmx0LWxnIiwiZnhMYXlvdXRBbGlnbi5sdC14bCIsImZ4TGF5b3V0QWxpZ24uZ3QteHMiLCJmeExheW91dEFsaWduLmd0LXNtIiwiZnhMYXlvdXRBbGlnbi5ndC1tZCIsImZ4TGF5b3V0QWxpZ24uZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRGbGV4RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeEZsZXhdLCBbZnhGbGV4LnhzXSwgW2Z4RmxleC5zbV0sIFtmeEZsZXgubWRdLCAgW2Z4RmxleC5sZ10sIFtmeEZsZXgueGxdLCBbZnhGbGV4Lmx0LXNtXSwgW2Z4RmxleC5sdC1tZF0sICBbZnhGbGV4Lmx0LWxnXSwgW2Z4RmxleC5sdC14bF0sIFtmeEZsZXguZ3QteHNdLCBbZnhGbGV4Lmd0LXNtXSwgIFtmeEZsZXguZ3QtbWRdLCBbZnhGbGV4Lmd0LWxnXSIsaW5wdXRzOlsiZnhGbGV4IiwiZnhGbGV4LnhzIiwiZnhGbGV4LnNtIiwiZnhGbGV4Lm1kIiwiZnhGbGV4LmxnIiwiZnhGbGV4LnhsIiwiZnhGbGV4Lmx0LXNtIiwiZnhGbGV4Lmx0LW1kIiwiZnhGbGV4Lmx0LWxnIiwiZnhGbGV4Lmx0LXhsIiwiZnhGbGV4Lmd0LXhzIiwiZnhGbGV4Lmd0LXNtIiwiZnhGbGV4Lmd0LW1kIiwiZnhGbGV4Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Sy5EZWZhdWx0U2hvd0hpZGVEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4U2hvd10sIFtmeFNob3cucHJpbnRdLCAgW2Z4U2hvdy54c10sIFtmeFNob3cuc21dLCBbZnhTaG93Lm1kXSwgW2Z4U2hvdy5sZ10sIFtmeFNob3cueGxdLCAgW2Z4U2hvdy5sdC1zbV0sIFtmeFNob3cubHQtbWRdLCBbZnhTaG93Lmx0LWxnXSwgW2Z4U2hvdy5sdC14bF0sICBbZnhTaG93Lmd0LXhzXSwgW2Z4U2hvdy5ndC1zbV0sIFtmeFNob3cuZ3QtbWRdLCBbZnhTaG93Lmd0LWxnXSwgIFtmeEhpZGVdLCBbZnhIaWRlLnByaW50XSwgIFtmeEhpZGUueHNdLCBbZnhIaWRlLnNtXSwgW2Z4SGlkZS5tZF0sIFtmeEhpZGUubGddLCBbZnhIaWRlLnhsXSwgIFtmeEhpZGUubHQtc21dLCBbZnhIaWRlLmx0LW1kXSwgW2Z4SGlkZS5sdC1sZ10sIFtmeEhpZGUubHQteGxdLCAgW2Z4SGlkZS5ndC14c10sIFtmeEhpZGUuZ3Qtc21dLCBbZnhIaWRlLmd0LW1kXSwgW2Z4SGlkZS5ndC1sZ10iLGlucHV0czpbImZ4U2hvdyIsImZ4U2hvdy5wcmludCIsImZ4U2hvdy54cyIsImZ4U2hvdy5zbSIsImZ4U2hvdy5tZCIsImZ4U2hvdy5sZyIsImZ4U2hvdy54bCIsImZ4U2hvdy5sdC1zbSIsImZ4U2hvdy5sdC1tZCIsImZ4U2hvdy5sdC1sZyIsImZ4U2hvdy5sdC14bCIsImZ4U2hvdy5ndC14cyIsImZ4U2hvdy5ndC1zbSIsImZ4U2hvdy5ndC1tZCIsImZ4U2hvdy5ndC1sZyIsImZ4SGlkZSIsImZ4SGlkZS5wcmludCIsImZ4SGlkZS54cyIsImZ4SGlkZS5zbSIsImZ4SGlkZS5tZCIsImZ4SGlkZS5sZyIsImZ4SGlkZS54bCIsImZ4SGlkZS5sdC1zbSIsImZ4SGlkZS5sdC1tZCIsImZ4SGlkZS5sdC1sZyIsImZ4SGlkZS5sdC14bCIsImZ4SGlkZS5ndC14cyIsImZ4SGlkZS5ndC1zbSIsImZ4SGlkZS5ndC1tZCIsImZ4SGlkZS5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOksuRGVmYXVsdFN0eWxlRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtuZ1N0eWxlXSwgIFtuZ1N0eWxlLnhzXSwgW25nU3R5bGUuc21dLCBbbmdTdHlsZS5tZF0sIFtuZ1N0eWxlLmxnXSwgW25nU3R5bGUueGxdLCAgW25nU3R5bGUubHQtc21dLCBbbmdTdHlsZS5sdC1tZF0sIFtuZ1N0eWxlLmx0LWxnXSwgW25nU3R5bGUubHQteGxdLCAgW25nU3R5bGUuZ3QteHNdLCBbbmdTdHlsZS5ndC1zbV0sIFtuZ1N0eWxlLmd0LW1kXSwgW25nU3R5bGUuZ3QtbGddIixpbnB1dHM6WyJuZ1N0eWxlIiwibmdTdHlsZS54cyIsIm5nU3R5bGUuc20iLCJuZ1N0eWxlLm1kIiwibmdTdHlsZS5sZyIsIm5nU3R5bGUueGwiLCJuZ1N0eWxlLmx0LXNtIiwibmdTdHlsZS5sdC1tZCIsIm5nU3R5bGUubHQtbGciLCJuZ1N0eWxlLmx0LXhsIiwibmdTdHlsZS5ndC14cyIsIm5nU3R5bGUuZ3Qtc20iLCJuZ1N0eWxlLmd0LW1kIiwibmdTdHlsZS5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bnQuVG9nZ2xlT3B0aW9uLHNlbGVjdG9yOiJ0Yi10b2dnbGUtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmF0LlRvZ2dsZVNlbGVjdENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXNlbGVjdCIsaW5wdXRzOlsiZGlzYWJsZWQiLCJzZWxlY3RNZWRpYUJyZWFrcG9pbnQiLCJhcHBlYXJhbmNlIiwiZGlzYWJsZVBhZ2luYXRpb24iLCJmaWxsSGVpZ2h0IiwiZXh0cmFQYWRkaW5nIiwicHJpbWFyeUJhY2tncm91bmQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpMbyxzZWxlY3RvcjoidGItbW9kYnVzLWxlZ2FjeS1iYXNpYy1jb25maWcifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmtvLHNlbGVjdG9yOiJ0Yi1tb2RidXMtYmFzaWMtY29uZmlnIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpGbyxzZWxlY3RvcjoidGItb3BjLXVhLWxlZ2FjeS1iYXNpYy1jb25maWcifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnBvLHNlbGVjdG9yOiJ0Yi1vcGMtdWEtYmFzaWMtY29uZmlnIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpBbyxzZWxlY3RvcjoidGItbXF0dC1sZWdhY3ktYmFzaWMtY29uZmlnIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpObyxzZWxlY3RvcjoidGItbXF0dC1iYXNpYy1jb25maWcifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmdvLHNlbGVjdG9yOiJ0Yi1yZXBvcnQtc3RyYXRlZ3kiLGlucHV0czpbImlzRXhwYW5zaW9uTW9kZSIsImRlZmF1bHRWYWx1ZSJdfSx7a2luZDoicGlwZSIsdHlwZTpfLkFzeW5jUGlwZSxuYW1lOiJhc3luYyJ9LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoicGlwZSIsdHlwZTp2YSxuYW1lOiJpc0xhdGVzdFZlcnNpb25Db25maWcifV19KX19ZSgiR2F0ZXdheUNvbm5lY3RvckNvbXBvbmVudCIsRW8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6RW8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktY29ubmVjdG9yIixwcm92aWRlcnM6W3twcm92aWRlOlRlLHVzZUNsYXNzOk1vfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJjb25uZWN0b3ItY29udGFpbmVyIHRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIj5cbiAgPHNlY3Rpb24gY2xhc3M9InRhYmxlLXNlY3Rpb24gdGItZm9ybS1wYW5lbCBuby1wYWRkaW5nIGZsZXggc2VjdGlvbi1jb250YWluZXIiPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIj5cbiAgICAgIDxoMj57eyBcJ2dhdGV3YXkuY29ubmVjdG9yc1wnIHwgdHJhbnNsYXRlIH19PC9oMj5cbiAgICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgICA8YnV0dG9uICpuZ0lmPSJkYXRhU291cmNlPy5kYXRhPy5sZW5ndGgiXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJpc0xvYWRpbmckIHwgYXN5bmMiXG4gICAgICAgICAgICAgIChjbGljayk9Im9uQWRkQ29ubmVjdG9yKCRldmVudCkiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmFkZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L21hdC10b29sYmFyPlxuICAgIDxkaXYgY2xhc3M9InRhYmxlLWNvbnRhaW5lciI+XG4gICAgICA8c2VjdGlvbiAqbmdJZj0iIWRhdGFTb3VyY2U/LmRhdGE/Lmxlbmd0aCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgIGNsYXNzPSJtYXQtaGVhZGxpbmUtNSB0Yi1hYnNvbHV0ZS1maWxsIHRiLWFkZC1uZXciPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9ImNvbm5lY3RvciJcbiAgICAgICAgKGNsaWNrKT0ib25BZGRDb25uZWN0b3IoJGV2ZW50KSI+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJ0Yi1tYXQtOTYiPmFkZDwvbWF0LWljb24+XG4gICAgICAgICAgPHNwYW4+e3sgXCdnYXRld2F5LmFkZC1jb25uZWN0b3JcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT0iZGF0YVNvdXJjZSJcbiAgICAgICAgICAgICBtYXRTb3J0IFttYXRTb3J0QWN0aXZlXT0icGFnZUxpbmsuc29ydE9yZGVyLnByb3BlcnR5IiBbbWF0U29ydERpcmVjdGlvbl09InBhZ2VMaW5rLnNvcnREaXJlY3Rpb24oKSJcbiAgICAgICAgICAgICBtYXRTb3J0RGlzYWJsZUNsZWFyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iZW5hYmxlZCIgc3RpY2t5PlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgc3R5bGU9IndpZHRoOiA2MHB4O21pbi13aWR0aDogNjBweDsiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtZW5hYmxlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgYXR0cmlidXRlIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIFtjaGVja2VkXT0iYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyhhdHRyaWJ1dGUua2V5KSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgb25FbmFibGVDb25uZWN0b3IoYXR0cmlidXRlKSI+PC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0ia2V5Ij5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDQwJSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1uYW1lXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiPlxuICAgICAgICAgICAge3sgYXR0cmlidXRlLmtleSB9fVxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0idHlwZSI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgc3R5bGU9IndpZHRoOiAzMCUiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtdHlwZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgYXR0cmlidXRlIiBzdHlsZT0idGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSI+XG4gICAgICAgICAgICB7eyByZXR1cm5UeXBlKGF0dHJpYnV0ZSkgfX1cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9InN5bmNTdGF0dXMiPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIHN0eWxlPSJ3aWR0aDogMzAlIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5jb25maWd1cmF0aW9uXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzIiBbY2xhc3NdPSJpc0Nvbm5lY3RvclN5bmNlZChhdHRyaWJ1dGUpID8gXCdzdGF0dXMtc3luY1wnIDogXCdzdGF0dXMtdW5zeW5jXCciPlxuICAgICAgICAgICAgICAgIHt7IGlzQ29ubmVjdG9yU3luY2VkKGF0dHJpYnV0ZSkgPyBcJ3N5bmNcJyA6IFwnb3V0IG9mIHN5bmNcJyB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9ImVycm9ycyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgc3R5bGU9IndpZHRoOiAzMCUiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtc3RhdHVzXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkb3QiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ0Vycm9yczogXCcrIGdldEVycm9yc0NvdW50KGF0dHJpYnV0ZSl9fSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPSJjb25uZWN0b3JMb2dzKGF0dHJpYnV0ZSwgJGV2ZW50KSJcbiAgICAgICAgICAgICAgICAgIFtjbGFzc109IntcJ2hhc0Vycm9yc1wnOiArZ2V0RXJyb3JzQ291bnQoYXR0cmlidXRlKSA+IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCdub0Vycm9yc1wnOiArZ2V0RXJyb3JzQ291bnQoYXR0cmlidXRlKSA9PT0gMCB8fCBnZXRFcnJvcnNDb3VudChhdHRyaWJ1dGUpID09PSBcJ1wnfSI+PC9zcGFuPlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iYWN0aW9ucyIgc3RpY2t5RW5kPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlLmd0LW1kXT0ieyBtaW5XaWR0aDogXCcxNDRweFwnLCBtYXhXaWR0aDogXCcxNDRweFwnLCB3aWR0aDogXCcxNDRweFwnLCB0ZXh0QWxpZ246IFwnY2VudGVyXCd9Ij5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWFjdGlvbnNcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IGF0dHJpYnV0ZSJcbiAgICAgICAgICAgICAgICAgICAgW25nU3R5bGUuZ3QtbWRdPSJ7IG1pbldpZHRoOiBcJzE0NHB4XCcsIG1heFdpZHRoOiBcJzE0NHB4XCcsIHdpZHRoOiBcJzE0NHB4XCd9Ij5cbiAgICAgICAgICAgIDxkaXYgZnhIaWRlIGZ4U2hvdy5ndC1tZCBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJSUEMiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJjb25uZWN0b3JScGMoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+cHJpdmF0ZV9jb25uZWN0aXZpdHk8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJMb2dzIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iY29ubmVjdG9yTG9ncyhhdHRyaWJ1dGUsICRldmVudCkiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5saXN0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0iRGVsZXRlIGNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9ImRlbGV0ZUNvbm5lY3RvcihhdHRyaWJ1dGUsICRldmVudCkiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmeEhpZGUgZnhTaG93Lmx0LWxnPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPSJjZWxsQWN0aW9uc01lbnUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8bWF0LW1lbnUgI2NlbGxBY3Rpb25zTWVudT0ibWF0TWVudSIgeFBvc2l0aW9uPSJiZWZvcmUiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJSUEMiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iY29ubmVjdG9yUnBjKGF0dHJpYnV0ZSwgJGV2ZW50KSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24+cHJpdmF0ZV9jb25uZWN0aXZpdHk8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJMb2dzIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9ImNvbm5lY3RvckxvZ3MoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5saXN0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0iRGVsZXRlIGNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJkZWxldGVDb25uZWN0b3IoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxtYXQtaGVhZGVyLXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbWF0SGVhZGVyUm93RGVmPSJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWUiPjwvbWF0LWhlYWRlci1yb3c+XG4gICAgICAgIDxtYXQtcm93IGNsYXNzPSJtYXQtcm93LXNlbGVjdCIgW2NsYXNzXT0ie1wndGItY3VycmVudC1lbnRpdHlcJzogaXNTYW1lQ29ubmVjdG9yKGF0dHJpYnV0ZSl9IlxuICAgICAgICAgICAgICAgICAqbWF0Um93RGVmPSJsZXQgYXR0cmlidXRlOyBsZXQgaSA9IGluZGV4OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyIgKGNsaWNrKT0ic2VsZWN0Q29ubmVjdG9yKCRldmVudCwgYXR0cmlidXRlKSI+PC9tYXQtcm93PlxuICAgICAgPC90YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9zZWN0aW9uPlxuICA8c2VjdGlvbiBbZm9ybUdyb3VwXT0iY29ubmVjdG9yRm9ybSIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc2VjdGlvbi1jb250YWluZXIgZmxleCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSB0Yi1mbGV4IG5vLWZsZXggc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSI+XG4gICAgICAgIHt7IGluaXRpYWxDb25uZWN0b3I/LnR5cGUgPyBHYXRld2F5Q29ubmVjdG9yVHlwZXNUcmFuc2xhdGVzTWFwLmdldChpbml0aWFsQ29ubmVjdG9yLnR5cGUpIDogXCdcJyB9fVxuICAgICAgICB7eyBcJ2dhdGV3YXkuY29uZmlndXJhdGlvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDxzcGFuIGNsYXNzPSJ2ZXJzaW9uLXBsYWNlaG9sZGVyIiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdjb25maWdWZXJzaW9uXCcpLnZhbHVlIj52e3tjb25uZWN0b3JGb3JtLmdldChcJ2NvbmZpZ1ZlcnNpb25cJykudmFsdWV9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgKm5nSWY9ImluaXRpYWxDb25uZWN0b3IgJiYgYWxsb3dCYXNpY0NvbmZpZy5oYXMoaW5pdGlhbENvbm5lY3Rvci50eXBlKSJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0ibW9kZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uIFt2YWx1ZV09IkNvbm5lY3RvckNvbmZpZ3VyYXRpb25Nb2Rlcy5CQVNJQyI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LmJhc2ljXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiBbdmFsdWVdPSJDb25uZWN0b3JDb25maWd1cmF0aW9uTW9kZXMuQURWQU5DRUQiPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5hZHZhbmNlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgIDwvdGItdG9nZ2xlLXNlbGVjdD5cbiAgICA8L2Rpdj5cbiAgICA8c3BhbiBbZnhTaG93XT0iIWluaXRpYWxDb25uZWN0b3IiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCIgdHJhbnNsYXRlPlxuICAgICAgZ2F0ZXdheS5zZWxlY3QtY29ubmVjdG9yXG4gICAgPC9zcGFuPlxuICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHNlY3Rpb24tY29udGFpbmVyIG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLWZsZXggc3BhY2UtYmV0d2VlbiIgKm5nSWY9ImluaXRpYWxDb25uZWN0b3IiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdtb2RlXCcpPy52YWx1ZSA9PT0gQ29ubmVjdG9yQ29uZmlndXJhdGlvbk1vZGVzLkJBU0lDIGVsc2UgZGVmYXVsdENvbmZpZyI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT0iaW5pdGlhbENvbm5lY3Rvci50eXBlIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9IkNvbm5lY3RvclR5cGUuTVFUVCI+XG4gICAgICAgICAgICA8dGItbXF0dC1iYXNpYy1jb25maWdcbiAgICAgICAgICAgICAgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwnY29uZmlnVmVyc2lvblwnKS52YWx1ZSB8IGlzTGF0ZXN0VmVyc2lvbkNvbmZpZyBlbHNlIGxlZ2FjeSJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgW2dlbmVyYWxUYWJDb250ZW50XT0iZ2VuZXJhbFRhYkNvbnRlbnQiXG4gICAgICAgICAgICAgIChpbml0aWFsaXplZCk9ImJhc2ljQ29uZmlnSW5pdFN1YmplY3QubmV4dCgpIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbGVnYWN5PlxuICAgICAgICAgICAgICA8dGItbXF0dC1sZWdhY3ktYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk9QQ1VBIj5cbiAgICAgICAgICAgIDx0Yi1vcGMtdWEtYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ2NvbmZpZ1ZlcnNpb25cJykudmFsdWUgfCBpc0xhdGVzdFZlcnNpb25Db25maWcgZWxzZSBsZWdhY3kiXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICAgICAgICAgIFtnZW5lcmFsVGFiQ29udGVudF09ImdlbmVyYWxUYWJDb250ZW50IlxuICAgICAgICAgICAgICAoaW5pdGlhbGl6ZWQpPSJiYXNpY0NvbmZpZ0luaXRTdWJqZWN0Lm5leHQoKSJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2xlZ2FjeT5cbiAgICAgICAgICAgICAgPHRiLW9wYy11YS1sZWdhY3ktYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk1PREJVUyI+XG4gICAgICAgICAgICA8dGItbW9kYnVzLWJhc2ljLWNvbmZpZ1xuICAgICAgICAgICAgICAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdjb25maWdWZXJzaW9uXCcpLnZhbHVlIHwgaXNMYXRlc3RWZXJzaW9uQ29uZmlnIGVsc2UgbGVnYWN5IlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9ImJhc2ljQ29uZmlnIlxuICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNsZWdhY3k+XG4gICAgICAgICAgICAgIDx0Yi1tb2RidXMtbGVnYWN5LWJhc2ljLWNvbmZpZ1xuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgW2dlbmVyYWxUYWJDb250ZW50XT0iZ2VuZXJhbFRhYkNvbnRlbnQiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q29uZmlnPlxuICAgICAgICA8bWF0LXRhYi1ncm91cD5cbiAgICAgICAgICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgICAgICAgICAgPHRiLWpzb24tb2JqZWN0LWVkaXRcbiAgICAgICAgICAgICAgZmlsbEhlaWdodD0idHJ1ZSJcbiAgICAgICAgICAgICAgY2xhc3M9InRiLWZsZXggZmlsbC1oZWlnaHQiXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PSJjb2x1bW4iXG4gICAgICAgICAgICAgIGpzb25SZXF1aXJlZFxuICAgICAgICAgICAgICBsYWJlbD0ie3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJjb25maWd1cmF0aW9uSnNvbiI+XG4gICAgICAgICAgICA8L3RiLWpzb24tb2JqZWN0LWVkaXQ+XG4gICAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgICA8L21hdC10YWItZ3JvdXA+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGRpdiBmeExheW91dEFsaWduPSJlbmQgY2VudGVyIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iIWNvbm5lY3RvckZvcm0uZGlydHkgfHwgY29ubmVjdG9yRm9ybS5pbnZhbGlkIlxuICAgICAgICAgICAgICAgIChjbGljayk9Im9uU2F2ZUNvbm5lY3RvcigpIj5cbiAgICAgICAgICB7eyBcJ2FjdGlvbi5zYXZlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG4gIDwvc2VjdGlvbj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNnZW5lcmFsVGFiQ29udGVudD5cbiAgPHNlY3Rpb24gW2Zvcm1Hcm91cF09ImNvbm5lY3RvckZvcm0iIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIHNlY3Rpb24tY29udGFpbmVyIGZsZXgiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiID5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5uYW1lPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGF1dG9jb21wbGV0ZT0ib2ZmIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJuYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS5oYXNFcnJvcihcJ2R1cGxpY2F0ZU5hbWVcJykgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCdnYXRld2F5LmNvbm5lY3Rvci1kdXBsaWNhdGUtbmFtZVwnIDogXCdnYXRld2F5Lm5hbWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSIoY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYgY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLnRvdWNoZWQpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0b3JGb3JtLmdldChcJ25hbWVcJykuaGFzRXJyb3IoXCdkdXBsaWNhdGVOYW1lXCcpIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IENvbm5lY3RvclR5cGUuQ1VTVE9NIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1jbGFzczwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJjbGFzcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlID09PSBDb25uZWN0b3JUeXBlLkdSUEMiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWtleTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJrZXkiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5sb2dzLWNvbmZpZ3VyYXRpb248L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0iZW5hYmxlUmVtb3RlTG9nZ2luZyI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5lbmFibGUtcmVtb3RlLWxvZ2dpbmdcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucmVtb3RlLWxvZ2dpbmctbGV2ZWw8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImxvZ0xldmVsIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbG9nTGV2ZWwgb2YgZ2F0ZXdheUxvZ0xldmVsIiBbdmFsdWVdPSJsb2dMZXZlbCI+e3sgbG9nTGV2ZWwgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IENvbm5lY3RvclR5cGUuTVFUVCIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJzZW5kRGF0YU9ubHlPbkNoYW5nZSI+XG4gICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5zZW5kLWNoYW5nZS1kYXRhLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnNlbmQtY2hhbmdlLWRhdGFcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8L2Rpdj5cbiAgICA8dGItcmVwb3J0LXN0cmF0ZWd5XG4gICAgICBbZGVmYXVsdFZhbHVlXT0iUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWUuQ29ubmVjdG9yIlxuICAgICAgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gQ29ubmVjdG9yVHlwZS5NT0RCVVMgJiYgKGNvbm5lY3RvckZvcm0uZ2V0KFwnY29uZmlnVmVyc2lvblwnKS52YWx1ZSB8IGlzTGF0ZXN0VmVyc2lvbkNvbmZpZykiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9InJlcG9ydFN0cmF0ZWd5IlxuICAgIC8+XG4gIDwvc2VjdGlvbj5cbjwvbmctdGVtcGxhdGU+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrO292ZXJmbG93LXg6YXV0bztwYWRkaW5nOjB9Omhvc3QgLnZlcnNpb24tcGxhY2Vob2xkZXJ7Y29sb3I6Z3JheTtmb250LXNpemU6MTJweH06aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lcntoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2ZsZXgtZGlyZWN0aW9uOnJvd31AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpezpob3N0IC5jb25uZWN0b3ItY29udGFpbmVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn19Omhvc3QgLmNvbm5lY3Rvci1jb250YWluZXI+c2VjdGlvbjpub3QoLnRhYmxlLXNlY3Rpb24pe21heC13aWR0aDp1bnNldH1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpezpob3N0IC5jb25uZWN0b3ItY29udGFpbmVyPnNlY3Rpb246bm90KC50YWJsZS1zZWN0aW9uKXttYXgtd2lkdGg6NTAlfX06aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGFibGUtc2VjdGlvbnttaW4taGVpZ2h0OjM1dmg7b3ZlcmZsb3c6aGlkZGVufTpob3N0IC5jb25uZWN0b3ItY29udGFpbmVyIC50YWJsZS1zZWN0aW9uIC50YWJsZS1jb250YWluZXJ7b3ZlcmZsb3c6YXV0b306aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAuZmxleHtmbGV4OjF9Omhvc3QgLmNvbm5lY3Rvci1jb250YWluZXIgLmlucHV0LWNvbnRhaW5lcntoZWlnaHQ6YXV0b306aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAuc2VjdGlvbi1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfTpob3N0IC5tYXQtdG9vbGJhcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMDAwMDBkZSFpbXBvcnRhbnR9Omhvc3QgLm1hdC1tZGMtc2xpZGUtdG9nZ2xle21hcmdpbjowIDhweH06aG9zdCAuc3RhdHVze3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6MTZweDtmb250LXdlaWdodDo1MDA7d2lkdGg6Zml0LWNvbnRlbnQ7cGFkZGluZzo1cHggMTVweH06aG9zdCAuc3RhdHVzLXN5bmN7YmFja2dyb3VuZDojMTk4MDM4MGY7Y29sb3I6IzE5ODAzOH06aG9zdCAuc3RhdHVzLXVuc3luY3tiYWNrZ3JvdW5kOiNjYjI1MzAwZjtjb2xvcjojY2IyNTMwfTpob3N0IG1hdC1yb3d7Y3Vyc29yOnBvaW50ZXJ9Omhvc3QgLmRvdHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4O2JhY2tncm91bmQtY29sb3I6I2JiYjtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1ibG9ja306aG9zdCAuaGFzRXJyb3Jze2JhY2tncm91bmQtY29sb3I6I2NiMjUzMH06aG9zdCAubm9FcnJvcnN7YmFja2dyb3VuZC1jb2xvcjojMTk4MDM4fTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAubWF0LW1kYy10YWItZ3JvdXAsOmhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC5tYXQtbWRjLXRhYi1ib2R5LXdyYXBwZXJ7aGVpZ2h0OjEwMCV9Omhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC5tYXQtbWRjLXRhYi1ib2R5Lm1hdC1tZGMtdGFiLWJvZHktYWN0aXZle3Bvc2l0aW9uOmFic29sdXRlfTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGItZm9ybS1yb3cgLmZpeGVkLXRpdGxlLXdpZHRoe21pbi13aWR0aDoxMjBweDt3aWR0aDozMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGItYWRkLW5ld3tkaXNwbGF5OmZsZXg7ei1pbmRleDo5OTk7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Omhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC50Yi1hZGQtbmV3IGJ1dHRvbi5jb25uZWN0b3J7aGVpZ2h0OmF1dG87cGFkZGluZy1yaWdodDoxMnB4O2ZvbnQtc2l6ZToyMHB4O2JvcmRlci1zdHlsZTpkYXNoZWQ7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItcmFkaXVzOjhweDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6IzAwMDAwMDYxfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6b3QuU3RvcmV9LHt0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0eXBlOlguQXR0cmlidXRlU2VydmljZX0se3R5cGU6WC5EaWFsb2dTZXJ2aWNlfSx7dHlwZTpKZS5NYXREaWFsb2d9LHt0eXBlOlguVGVsZW1ldHJ5V2Vic29ja2V0U2VydmljZX0se3R5cGU6dC5OZ1pvbmV9LHt0eXBlOlguVXRpbHNTZXJ2aWNlfSx7dHlwZTp2YX0se3R5cGU6dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHByb3BEZWNvcmF0b3JzOntjdHg6W3t0eXBlOmF9XSxkZXZpY2U6W3t0eXBlOmF9XSxuYW1lSW5wdXQ6W3t0eXBlOm8sYXJnczpbIm5hbWVJbnB1dCJdfV0sc29ydDpbe3R5cGU6byxhcmdzOltnLHtzdGF0aWM6ITF9XX1dfX0pO2NsYXNzIHFve2NvbnN0cnVjdG9yKGUpe3RoaXMuZGV2aWNlU2VydmljZT1lfWRvd25sb2FkKGUpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5kZXZpY2VJZCYmdGhpcy5kZXZpY2VTZXJ2aWNlLmRvd25sb2FkR2F0ZXdheURvY2tlckNvbXBvc2VGaWxlKHRoaXMuZGV2aWNlSWQpLnN1YnNjcmliZSgoKCk9Pnt9KSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpxbyxkZXBzOlt7dG9rZW46WC5EZXZpY2VTZXJ2aWNlfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpxbyxzZWxlY3RvcjoidGItZ2F0ZXdheS1jb21tYW5kIixpbnB1dHM6e2RldmljZUlkOiJkZXZpY2VJZCJ9LG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudCBzdHlsZT0icGFkZGluZzogMTZweCAxNnB4IDhweCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIj5cbiAgPGRpdiBjbGFzcz0idGItbm8tZGF0YS10ZXh0Ij57eyBcJ2dhdGV3YXkuZG9ja2VyLWxhYmVsXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+ZGV2aWNlLmNvbm5lY3Rpdml0eS5pbnN0YWxsLW5lY2Vzc2FyeS1jbGllbnQtdG9vbHM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyBzcGFjZS1iZXR3ZWVuIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLW5vLWRhdGEtdGV4dCB0Yi1jb21tYW5kcy1oaW50IiB0cmFuc2xhdGU+Z2F0ZXdheS5pbnN0YWxsLWRvY2tlci1jb21wb3NlPC9kaXY+XG4gICAgICA8YSBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9InByaW1hcnkiIGhyZWY9Imh0dHBzOi8vZG9jcy5kb2NrZXIuY29tL2NvbXBvc2UvaW5zdGFsbC8iIHRhcmdldD0iX2JsYW5rIj5cbiAgICAgICAgPG1hdC1pY29uPmRlc2NyaXB0aW9uPC9tYXQtaWNvbj5cbiAgICAgICAge3sgXCdjb21tb24uZG9jdW1lbnRhdGlvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2E+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuZG93bmxvYWQtY29uZmlndXJhdGlvbi1maWxlPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgc3BhY2UtYmV0d2VlbiI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1uby1kYXRhLXRleHQgdGItY29tbWFuZHMtaGludCIgdHJhbnNsYXRlPmdhdGV3YXkuZG93bmxvYWQtZG9ja2VyLWNvbXBvc2U8L2Rpdj5cbiAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJkb3dubG9hZCgkZXZlbnQpIj5cbiAgICAgICAgPG1hdC1pY29uPmRvd25sb2FkPC9tYXQtaWNvbj5cbiAgICAgICAge3sgXCdhY3Rpb24uZG93bmxvYWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkubGF1bmNoLWdhdGV3YXk8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1uby1kYXRhLXRleHQgdGItY29tbWFuZHMtaGludCIgdHJhbnNsYXRlPmdhdGV3YXkubGF1bmNoLWRvY2tlci1jb21wb3NlPC9kaXY+XG4gICAgPHRiLW1hcmtkb3duIHVzZVBsYWluTWFya2Rvd24gY29udGFpbmVyQ2xhc3M9InN0YXJ0LWNvZGUiXG4gICAgICAgICAgICAgICAgIGRhdGE9IlxuICAgICAgICAgIGBgYGJhc2hcbiAgICAgICAgICBkb2NrZXIgY29tcG9zZSB1cFxuICAgICAgICAgIHs6Y29weS1jb2RlfVxuICAgICAgICAgIGBgYFxuICAgICAgIj48L3RiLW1hcmtkb3duPlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC50Yi1jb21tYW5kcy1oaW50e2NvbG9yOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2ZsZXg6MX06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgLmNvZGUtd3JhcHBlcntwYWRkaW5nOjB9Omhvc3QgOjpuZy1kZWVwIC50Yi1tYXJrZG93bi12aWV3IC5zdGFydC1jb2RlIC5jb2RlLXdyYXBwZXIgcHJlW2NsYXNzKj1sYW5ndWFnZS1de21hcmdpbjowO2JhY2tncm91bmQ6I2YzZjZmYTtib3JkZXItY29sb3I6IzMwNTY4MDtwYWRkaW5nLXJpZ2h0OjM4cHg7b3ZlcmZsb3c6c2Nyb2xsO3BhZGRpbmctYm90dG9tOjRweDttaW4taGVpZ2h0OjQycHg7c2Nyb2xsYmFyLXdpZHRoOnRoaW59Omhvc3QgOjpuZy1kZWVwIC50Yi1tYXJrZG93bi12aWV3IC5zdGFydC1jb2RlIC5jb2RlLXdyYXBwZXIgcHJlW2NsYXNzKj1sYW5ndWFnZS1dOjotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo0cHg7aGVpZ2h0OjRweH06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG57cmlnaHQ6LTJweH06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG4gcHtjb2xvcjojMzA1NjgwfTpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBwLDpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBkaXZ7YmFja2dyb3VuZC1jb2xvcjojZjNmNmZhfTpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBkaXYgaW1ne2Rpc3BsYXk6bm9uZX06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG4gZGl2OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246aW5pdGlhbDtkaXNwbGF5OmJsb2NrO3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7YmFja2dyb3VuZDojMzA1NjgwO21hc2staW1hZ2U6dXJsKC9hc3NldHMvY29weS1jb2RlLWljb24uc3ZnKTstd2Via2l0LW1hc2staW1hZ2U6dXJsKC9hc3NldHMvY29weS1jb2RlLWljb24uc3ZnKTttYXNrLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1tYXNrLXJlcGVhdDpuby1yZXBlYXR9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJjb21wb25lbnQiLHR5cGU6d3QuVGJNYXJrZG93bkNvbXBvbmVudCxzZWxlY3RvcjoidGItbWFya2Rvd24iLGlucHV0czpbImRhdGEiLCJjb250ZXh0IiwiYWRkaXRpb25hbENvbXBpbGVNb2R1bGVzIiwibWFya2Rvd25DbGFzcyIsImNvbnRhaW5lckNsYXNzIiwic3R5bGUiLCJhcHBseURlZmF1bHRNYXJrZG93blN0eWxlIiwiYWRkaXRpb25hbFN0eWxlcyIsImxpbmVOdW1iZXJzIiwiZmFsbGJhY2tUb1BsYWluTWFya2Rvd24iLCJ1c2VQbGFpbk1hcmtkb3duIl0sb3V0cHV0czpbInJlYWR5Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QW5jaG9yLHNlbGVjdG9yOiJhW21hdC1idXR0b25dLCBhW21hdC1yYWlzZWQtYnV0dG9uXSwgYVttYXQtZmxhdC1idXR0b25dLCBhW21hdC1zdHJva2VkLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIiwibWF0QW5jaG9yIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QnV0dG9uLHNlbGVjdG9yOiIgICAgYnV0dG9uW21hdC1idXR0b25dLCBidXR0b25bbWF0LXJhaXNlZC1idXR0b25dLCBidXR0b25bbWF0LWZsYXQtYnV0dG9uXSwgICAgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0gICIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQ29udGVudCxzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XX0pfX1lKCJEZXZpY2VHYXRld2F5Q29tbWFuZENvbXBvbmVudCIscW8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6cW8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktY29tbWFuZCIsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudCBzdHlsZT0icGFkZGluZzogMTZweCAxNnB4IDhweCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIj5cbiAgPGRpdiBjbGFzcz0idGItbm8tZGF0YS10ZXh0Ij57eyBcJ2dhdGV3YXkuZG9ja2VyLWxhYmVsXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+ZGV2aWNlLmNvbm5lY3Rpdml0eS5pbnN0YWxsLW5lY2Vzc2FyeS1jbGllbnQtdG9vbHM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyBzcGFjZS1iZXR3ZWVuIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLW5vLWRhdGEtdGV4dCB0Yi1jb21tYW5kcy1oaW50IiB0cmFuc2xhdGU+Z2F0ZXdheS5pbnN0YWxsLWRvY2tlci1jb21wb3NlPC9kaXY+XG4gICAgICA8YSBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9InByaW1hcnkiIGhyZWY9Imh0dHBzOi8vZG9jcy5kb2NrZXIuY29tL2NvbXBvc2UvaW5zdGFsbC8iIHRhcmdldD0iX2JsYW5rIj5cbiAgICAgICAgPG1hdC1pY29uPmRlc2NyaXB0aW9uPC9tYXQtaWNvbj5cbiAgICAgICAge3sgXCdjb21tb24uZG9jdW1lbnRhdGlvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2E+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuZG93bmxvYWQtY29uZmlndXJhdGlvbi1maWxlPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgc3BhY2UtYmV0d2VlbiI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1uby1kYXRhLXRleHQgdGItY29tbWFuZHMtaGludCIgdHJhbnNsYXRlPmdhdGV3YXkuZG93bmxvYWQtZG9ja2VyLWNvbXBvc2U8L2Rpdj5cbiAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJkb3dubG9hZCgkZXZlbnQpIj5cbiAgICAgICAgPG1hdC1pY29uPmRvd25sb2FkPC9tYXQtaWNvbj5cbiAgICAgICAge3sgXCdhY3Rpb24uZG93bmxvYWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkubGF1bmNoLWdhdGV3YXk8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1uby1kYXRhLXRleHQgdGItY29tbWFuZHMtaGludCIgdHJhbnNsYXRlPmdhdGV3YXkubGF1bmNoLWRvY2tlci1jb21wb3NlPC9kaXY+XG4gICAgPHRiLW1hcmtkb3duIHVzZVBsYWluTWFya2Rvd24gY29udGFpbmVyQ2xhc3M9InN0YXJ0LWNvZGUiXG4gICAgICAgICAgICAgICAgIGRhdGE9IlxuICAgICAgICAgIGBgYGJhc2hcbiAgICAgICAgICBkb2NrZXIgY29tcG9zZSB1cFxuICAgICAgICAgIHs6Y29weS1jb2RlfVxuICAgICAgICAgIGBgYFxuICAgICAgIj48L3RiLW1hcmtkb3duPlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC50Yi1jb21tYW5kcy1oaW50e2NvbG9yOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2ZsZXg6MX06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgLmNvZGUtd3JhcHBlcntwYWRkaW5nOjB9Omhvc3QgOjpuZy1kZWVwIC50Yi1tYXJrZG93bi12aWV3IC5zdGFydC1jb2RlIC5jb2RlLXdyYXBwZXIgcHJlW2NsYXNzKj1sYW5ndWFnZS1de21hcmdpbjowO2JhY2tncm91bmQ6I2YzZjZmYTtib3JkZXItY29sb3I6IzMwNTY4MDtwYWRkaW5nLXJpZ2h0OjM4cHg7b3ZlcmZsb3c6c2Nyb2xsO3BhZGRpbmctYm90dG9tOjRweDttaW4taGVpZ2h0OjQycHg7c2Nyb2xsYmFyLXdpZHRoOnRoaW59Omhvc3QgOjpuZy1kZWVwIC50Yi1tYXJrZG93bi12aWV3IC5zdGFydC1jb2RlIC5jb2RlLXdyYXBwZXIgcHJlW2NsYXNzKj1sYW5ndWFnZS1dOjotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo0cHg7aGVpZ2h0OjRweH06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG57cmlnaHQ6LTJweH06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG4gcHtjb2xvcjojMzA1NjgwfTpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBwLDpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBkaXZ7YmFja2dyb3VuZC1jb2xvcjojZjNmNmZhfTpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBkaXYgaW1ne2Rpc3BsYXk6bm9uZX06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG4gZGl2OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246aW5pdGlhbDtkaXNwbGF5OmJsb2NrO3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7YmFja2dyb3VuZDojMzA1NjgwO21hc2staW1hZ2U6dXJsKC9hc3NldHMvY29weS1jb2RlLWljb24uc3ZnKTstd2Via2l0LW1hc2staW1hZ2U6dXJsKC9hc3NldHMvY29weS1jb2RlLWljb24uc3ZnKTttYXNrLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1tYXNrLXJlcGVhdDpuby1yZXBlYXR9XG4nXX1dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTpYLkRldmljZVNlcnZpY2V9XSxwcm9wRGVjb3JhdG9yczp7ZGV2aWNlSWQ6W3t0eXBlOmF9XX19KTtjbGFzcyBEb3tjb25zdHJ1Y3RvcihlLHQsbixhKXt0aGlzLmZiPWUsdGhpcy5kZXZpY2VTZXJ2aWNlPXQsdGhpcy5jZD1uLHRoaXMuZGlhbG9nPWEsdGhpcy5kaWFsb2dNb2RlPSExLHRoaXMuaW5pdGlhbENyZWRlbnRpYWxzVXBkYXRlZD1uZXcgaSx0aGlzLlN0b3JhZ2VUeXBlcz1BdCx0aGlzLnN0b3JhZ2VUeXBlcz1PYmplY3QudmFsdWVzKEF0KSx0aGlzLnN0b3JhZ2VUeXBlc1RyYW5zbGF0aW9uTWFwPVJ0LHRoaXMubG9nU2F2aW5nUGVyaW9kcz1PdCx0aGlzLmxvY2FsTG9nc0NvbmZpZ3M9T2JqZWN0LmtleXMoUHQpLHRoaXMubG9jYWxMb2dzQ29uZmlnVHJhbnNsYXRlTWFwPUd0LHRoaXMuc2VjdXJpdHlUeXBlcz1CdCx0aGlzLmdhdGV3YXlMb2dMZXZlbD1PYmplY3QudmFsdWVzKE10KSx0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLmluaXRCYXNpY0Zvcm1Hcm91cCgpLHRoaXMub2JzZXJ2ZUZvcm1DaGFuZ2VzKCksdGhpcy5iYXNpY0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9d3JpdGVWYWx1ZShlKXt0aGlzLmJhc2ljRm9ybUdyb3VwLnBhdGNoVmFsdWUoZSx7ZW1pdEV2ZW50OiExfSksdGhpcy5jaGVja0FuZEZldGNoQ3JlZGVudGlhbHMoZT8udGhpbmdzYm9hcmQ/LnNlY3VyaXR5Pz97fSksZT8uZ3JwYyYmdGhpcy50b2dnbGVScGNGaWVsZHMoZS5ncnBjLmVuYWJsZWQpOyhlPy50aGluZ3Nib2FyZD8uc3RhdGlzdGljcz8uY29tbWFuZHM/P1tdKS5mb3JFYWNoKChlPT50aGlzLmFkZENvbW1hbmQoZSwhMSkpKX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLmJhc2ljRm9ybUdyb3VwLnZhbGlkP251bGw6e2Jhc2ljRm9ybUdyb3VwOnt2YWxpZDohMX19fWF0TGVhc3RPbmVSZXF1aXJlZChlLHQ9bnVsbCl7cmV0dXJuIG49Pnt0fHwodD1PYmplY3Qua2V5cyhuLmNvbnRyb2xzKSk7cmV0dXJuIG4/LmNvbnRyb2xzJiZ0LnNvbWUoKHQ9PiFlKG4uY29udHJvbHNbdF0pKSk/bnVsbDp7YXRMZWFzdE9uZTohMH19fXRvZ2dsZVJwY0ZpZWxkcyhlKXtjb25zdCB0PXRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJncnBjIik7ZT8odC5nZXQoInNlcnZlclBvcnQiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJrZWVwQWxpdmVUaW1lTXMiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJrZWVwQWxpdmVUaW1lb3V0TXMiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJrZWVwYWxpdmVQZXJtaXRXaXRob3V0Q2FsbHMiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJtYXhQaW5nc1dpdGhvdXREYXRhIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0LmdldCgibWluVGltZUJldHdlZW5QaW5nc01zIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0LmdldCgibWluUGluZ0ludGVydmFsV2l0aG91dERhdGFNcyIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSkpOih0LmdldCgic2VydmVyUG9ydCIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJrZWVwQWxpdmVUaW1lTXMiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSx0LmdldCgia2VlcEFsaXZlVGltZW91dE1zIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoImtlZXBhbGl2ZVBlcm1pdFdpdGhvdXRDYWxscyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJtYXhQaW5nc1dpdGhvdXREYXRhIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoIm1pblRpbWVCZXR3ZWVuUGluZ3NNcyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJtaW5QaW5nSW50ZXJ2YWxXaXRob3V0RGF0YU1zIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpfWFkZExvY2FsTG9nQ29uZmlnKGUsdCl7Y29uc3Qgbj10aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgibG9ncy5sb2NhbCIpLGE9dGhpcy5mYi5ncm91cCh7bG9nTGV2ZWw6W3QubG9nTGV2ZWx8fE10LklORk8sW3VlLnJlcXVpcmVkXV0sZmlsZVBhdGg6W3QuZmlsZVBhdGh8fCIuL2xvZ3MiLFt1ZS5yZXF1aXJlZF1dLGJhY2t1cENvdW50Olt0LmJhY2t1cENvdW50fHw3LFt1ZS5yZXF1aXJlZCx1ZS5taW4oMCldXSxzYXZpbmdUaW1lOlt0LnNhdmluZ1RpbWV8fDMsW3VlLnJlcXVpcmVkLHVlLm1pbigwKV1dLHNhdmluZ1BlcmlvZDpbdC5zYXZpbmdQZXJpb2R8fER0LmRheXMsW3VlLnJlcXVpcmVkXV19KTtuLmFkZENvbnRyb2woZSxhKX1nZXRMb2dGb3JtR3JvdXAoZSl7cmV0dXJuIHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KGBsb2dzLmxvY2FsLiR7ZX1gKX1jb21tYW5kRm9ybUFycmF5KCl7cmV0dXJuIHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJ0aGluZ3Nib2FyZC5zdGF0aXN0aWNzLmNvbW1hbmRzIil9cmVtb3ZlQ29tbWFuZENvbnRyb2woZSx0KXsiIiE9PXQucG9pbnRlclR5cGUmJih0aGlzLmNvbW1hbmRGb3JtQXJyYXkoKS5yZW1vdmVBdChlKSx0aGlzLmJhc2ljRm9ybUdyb3VwLm1hcmtBc0RpcnR5KCkpfXJlbW92ZUFsbFNlY3VyaXR5VmFsaWRhdG9ycygpe2NvbnN0IGU9dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInRoaW5nc2JvYXJkLnNlY3VyaXR5Iik7ZS5jbGVhclZhbGlkYXRvcnMoKTtmb3IoY29uc3QgdCBpbiBlLmNvbnRyb2xzKSJ0eXBlIiE9PXQmJihlLmNvbnRyb2xzW3RdLmNsZWFyVmFsaWRhdG9ycygpLGUuY29udHJvbHNbdF0uc2V0RXJyb3JzKG51bGwpLGUuY29udHJvbHNbdF0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpKX1yZW1vdmVBbGxTdG9yYWdlVmFsaWRhdG9ycygpe2NvbnN0IGU9dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInN0b3JhZ2UiKTtmb3IoY29uc3QgdCBpbiBlLmNvbnRyb2xzKSJ0eXBlIiE9PXQmJihlLmNvbnRyb2xzW3RdLmNsZWFyVmFsaWRhdG9ycygpLGUuY29udHJvbHNbdF0uc2V0RXJyb3JzKG51bGwpLGUuY29udHJvbHNbdF0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpKX1vcGVuQ29uZmlndXJhdGlvbkNvbmZpcm1EaWFsb2coKXt0aGlzLmRldmljZVNlcnZpY2UuZ2V0RGV2aWNlKHRoaXMuZGV2aWNlLmlkKS5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLmRpYWxvZy5vcGVuKFBhLHtkaXNhYmxlQ2xvc2U6ITAscGFuZWxDbGFzczpbInRiLWRpYWxvZyIsInRiLWZ1bGxzY3JlZW4tZGlhbG9nIl0sZGF0YTp7Z2F0ZXdheU5hbWU6ZS5uYW1lfX0pLmFmdGVyQ2xvc2VkKCkucGlwZShPZSgxKSkuc3Vic2NyaWJlKChlPT57ZXx8dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInRoaW5nc2JvYXJkLnJlbW90ZUNvbmZpZ3VyYXRpb24iKS5zZXRWYWx1ZSghMCx7ZW1pdEV2ZW50OiExfSl9KSl9KSl9YWRkQ29tbWFuZChlLHQ9ITApe2NvbnN0e2F0dHJpYnV0ZU9uR2F0ZXdheTpuPW51bGwsY29tbWFuZDphPW51bGwsdGltZW91dDpvPW51bGx9PWV8fHt9LGk9dGhpcy5mYi5ncm91cCh7YXR0cmlidXRlT25HYXRld2F5OltuLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKC9eW14uXHNdKyQvKV1dLGNvbW1hbmQ6W2EsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oL14oPz1cUykuKlxTJC8pXV0sdGltZW91dDpbbyxbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKSx1ZS5wYXR0ZXJuKC9eW14uXHNdKyQvKV1dfSk7dGhpcy5jb21tYW5kRm9ybUFycmF5KCkucHVzaChpLHtlbWl0RXZlbnQ6dH0pfWluaXRCYXNpY0Zvcm1Hcm91cCgpe3RoaXMuYmFzaWNGb3JtR3JvdXA9dGhpcy5mYi5ncm91cCh7dGhpbmdzYm9hcmQ6dGhpcy5pbml0VGhpbmdzYm9hcmRGb3JtR3JvdXAoKSxzdG9yYWdlOnRoaXMuaW5pdFN0b3JhZ2VGb3JtR3JvdXAoKSxncnBjOnRoaXMuaW5pdEdycGNGb3JtR3JvdXAoKSxjb25uZWN0b3JzOnRoaXMuZmIuYXJyYXkoW10pLGxvZ3M6dGhpcy5pbml0TG9nc0Zvcm1Hcm91cCgpfSl9aW5pdFRoaW5nc2JvYXJkRm9ybUdyb3VwKCl7cmV0dXJuIHRoaXMuZmIuZ3JvdXAoe2hvc3Q6W3dpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSxbdWUucmVxdWlyZWQsdWUucGF0dGVybigvXlteXHNdKyQvKV1dLHBvcnQ6WzE4ODMsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5tYXgoNjU1MzUpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLHJlbW90ZVNoZWxsOlshMV0scmVtb3RlQ29uZmlndXJhdGlvbjpbITBdLGNoZWNrQ29ubmVjdG9yc0NvbmZpZ3VyYXRpb25JblNlY29uZHM6WzYwLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sc3RhdGlzdGljczp0aGlzLmZiLmdyb3VwKHtlbmFibGU6WyEwXSxzdGF0c1NlbmRQZXJpb2RJblNlY29uZHM6WzM2MDAsW3VlLnJlcXVpcmVkLHVlLm1pbig2MCksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sY29tbWFuZHM6dGhpcy5mYi5hcnJheShbXSl9KSxtYXhQYXlsb2FkU2l6ZUJ5dGVzOls4MTk2LFt1ZS5yZXF1aXJlZCx1ZS5taW4oMTAwKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxtaW5QYWNrU2VuZERlbGF5TVM6WzUwLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMTApLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLG1pblBhY2tTaXplVG9TZW5kOls1MDAsW3VlLnJlcXVpcmVkLHVlLm1pbigxMDApLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLGhhbmRsZURldmljZVJlbmFtaW5nOlshMF0sY2hlY2tpbmdEZXZpY2VBY3Rpdml0eTp0aGlzLmluaXRDaGVja2luZ0RldmljZUFjdGl2aXR5Rm9ybUdyb3VwKCksc2VjdXJpdHk6dGhpcy5pbml0U2VjdXJpdHlGb3JtR3JvdXAoKSxxb3M6WzEsW3VlLnJlcXVpcmVkLHVlLm1pbigwKSx1ZS5tYXgoMSksdWUucGF0dGVybigvXlteLlxzXSskLyldXX0pfWluaXRTdG9yYWdlRm9ybUdyb3VwKCl7cmV0dXJuIHRoaXMuZmIuZ3JvdXAoe3R5cGU6W0F0Lk1FTU9SWSxbdWUucmVxdWlyZWRdXSxyZWFkX3JlY29yZHNfY291bnQ6WzEwMCxbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLG1heF9yZWNvcmRzX2NvdW50OlsxZTUsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxkYXRhX2ZvbGRlcl9wYXRoOlsiLi9kYXRhLyIsW3VlLnJlcXVpcmVkXV0sbWF4X2ZpbGVfY291bnQ6WzEwLFt1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sbWF4X3JlYWRfcmVjb3Jkc19jb3VudDpbMTAsW3VlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxtYXhfcmVjb3Jkc19wZXJfZmlsZTpbMWU0LFt1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sZGF0YV9maWxlX3BhdGg6WyIuL2RhdGEvZGF0YS5kYiIsW3VlLnJlcXVpcmVkXV0sbWVzc2FnZXNfdHRsX2NoZWNrX2luX2hvdXJzOlsxLFt1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sbWVzc2FnZXNfdHRsX2luX2RheXM6WzcsW3VlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXX0pfWluaXRHcnBjRm9ybUdyb3VwKCl7cmV0dXJuIHRoaXMuZmIuZ3JvdXAoe2VuYWJsZWQ6WyExXSxzZXJ2ZXJQb3J0Ols5NTk1LFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUubWF4KDY1NTM1KSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxrZWVwQWxpdmVUaW1lTXM6WzFlNCxbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLGtlZXBBbGl2ZVRpbWVvdXRNczpbNWUzLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sa2VlcGFsaXZlUGVybWl0V2l0aG91dENhbGxzOlshMF0sbWF4UGluZ3NXaXRob3V0RGF0YTpbMCxbdWUucmVxdWlyZWQsdWUubWluKDApLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLG1pblRpbWVCZXR3ZWVuUGluZ3NNczpbMWU0LFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sbWluUGluZ0ludGVydmFsV2l0aG91dERhdGFNczpbNWUzLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV19KX1pbml0TG9nc0Zvcm1Hcm91cCgpe3JldHVybiB0aGlzLmZiLmdyb3VwKHtkYXRlRm9ybWF0OlsiJVktJW0tJWQgJUg6JU06JVMiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKC9eW15cc10uKlteXHNdJC8pXV0sbG9nRm9ybWF0OlsiJShhc2N0aW1lKXMgLSB8JShsZXZlbG5hbWUpc3wgLSBbJShmaWxlbmFtZSlzXSAtICUobW9kdWxlKXMgLSAlKGZ1bmNOYW1lKXMgLSAlKGxpbmVubylkIC0gJShtZXNzYWdlKXMiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKC9eW15cc10uKlteXHNdJC8pXV0sdHlwZTpbInJlbW90ZSIsW3VlLnJlcXVpcmVkXV0scmVtb3RlOnRoaXMuZmIuZ3JvdXAoe2VuYWJsZWQ6WyExXSxsb2dMZXZlbDpbTXQuSU5GTyxbdWUucmVxdWlyZWRdXX0pLGxvY2FsOnRoaXMuZmIuZ3JvdXAoe30pfSl9aW5pdENoZWNraW5nRGV2aWNlQWN0aXZpdHlGb3JtR3JvdXAoKXtyZXR1cm4gdGhpcy5mYi5ncm91cCh7Y2hlY2tEZXZpY2VJbmFjdGl2aXR5OlshMV0saW5hY3Rpdml0eVRpbWVvdXRTZWNvbmRzOlsyMDAsW3VlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxpbmFjdGl2aXR5Q2hlY2tQZXJpb2RTZWNvbmRzOls1MDAsW3VlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXX0pfWluaXRTZWN1cml0eUZvcm1Hcm91cCgpe3JldHVybiB0aGlzLmZiLmdyb3VwKHt0eXBlOltWdC5BQ0NFU1NfVE9LRU4sW3VlLnJlcXVpcmVkXV0sYWNjZXNzVG9rZW46W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oL15bXi5cc10rJC8pXV0sY2xpZW50SWQ6W251bGwsW3VlLnBhdHRlcm4oL15bXi5cc10rJC8pXV0sdXNlcm5hbWU6W251bGwsW3VlLnBhdHRlcm4oL15bXi5cc10rJC8pXV0scGFzc3dvcmQ6W251bGwsW3VlLnBhdHRlcm4oL15bXi5cc10rJC8pXV0sY2FDZXJ0OltudWxsXSxjZXJ0OltudWxsXSxwcml2YXRlS2V5OltudWxsXX0pfW9ic2VydmVGb3JtQ2hhbmdlcygpe3RoaXMub2JzZXJ2ZVNlY3VyaXR5UGFzc3dvcmRDaGFuZ2VzKCksdGhpcy5vYnNlcnZlUmVtb3RlQ29uZmlndXJhdGlvbkNoYW5nZXMoKSx0aGlzLm9ic2VydmVEZXZpY2VBY3Rpdml0eUNoYW5nZXMoKSx0aGlzLm9ic2VydmVTZWN1cml0eVR5cGVDaGFuZ2VzKCksdGhpcy5vYnNlcnZlU3RvcmFnZVR5cGVDaGFuZ2VzKCl9b2JzZXJ2ZVNlY3VyaXR5UGFzc3dvcmRDaGFuZ2VzKCl7Y29uc3QgZT10aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgidGhpbmdzYm9hcmQuc2VjdXJpdHkudXNlcm5hbWUiKTt0aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgidGhpbmdzYm9hcmQuc2VjdXJpdHkucGFzc3dvcmQiKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh0PT57dCYmIiIhPT10P2Uuc2V0VmFsaWRhdG9ycyhbdWUucmVxdWlyZWRdKTplLmNsZWFyVmFsaWRhdG9ycygpLGUudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiExfSl9KSl9b2JzZXJ2ZVJlbW90ZUNvbmZpZ3VyYXRpb25DaGFuZ2VzKCl7dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInRoaW5nc2JvYXJkLnJlbW90ZUNvbmZpZ3VyYXRpb24iKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57ZXx8dGhpcy5vcGVuQ29uZmlndXJhdGlvbkNvbmZpcm1EaWFsb2coKX0pKSx0aGlzLmxvZ1NlbGVjdG9yPXRoaXMuZmIuY29udHJvbChQdC5zZXJ2aWNlKTtmb3IoY29uc3QgZSBvZiBPYmplY3Qua2V5cyhQdCkpdGhpcy5hZGRMb2NhbExvZ0NvbmZpZyhlLHt9KX1vYnNlcnZlRGV2aWNlQWN0aXZpdHlDaGFuZ2VzKCl7Y29uc3QgZT10aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgidGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eSIpO2UuZ2V0KCJjaGVja0RldmljZUluYWN0aXZpdHkiKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh0PT57ZS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7Y29uc3Qgbj1bdWUubWluKDEpLHVlLnJlcXVpcmVkLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV07dD8oZS5nZXQoImluYWN0aXZpdHlUaW1lb3V0U2Vjb25kcyIpLnNldFZhbGlkYXRvcnMobiksZS5nZXQoImluYWN0aXZpdHlDaGVja1BlcmlvZFNlY29uZHMiKS5zZXRWYWxpZGF0b3JzKG4pKTooZS5nZXQoImluYWN0aXZpdHlUaW1lb3V0U2Vjb25kcyIpLmNsZWFyVmFsaWRhdG9ycygpLGUuZ2V0KCJpbmFjdGl2aXR5Q2hlY2tQZXJpb2RTZWNvbmRzIikuY2xlYXJWYWxpZGF0b3JzKCkpLGUuZ2V0KCJpbmFjdGl2aXR5VGltZW91dFNlY29uZHMiKS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtlbWl0RXZlbnQ6ITF9KSxlLmdldCgiaW5hY3Rpdml0eUNoZWNrUGVyaW9kU2Vjb25kcyIpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohMX0pfSkpLHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJncnBjLmVuYWJsZWQiKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy50b2dnbGVScGNGaWVsZHMoZSl9KSl9b2JzZXJ2ZVNlY3VyaXR5VHlwZUNoYW5nZXMoKXtjb25zdCBlPXRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJ0aGluZ3Nib2FyZC5zZWN1cml0eSIpO2UuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgodD0+e3N3aXRjaCh0aGlzLnJlbW92ZUFsbFNlY3VyaXR5VmFsaWRhdG9ycygpLHQpe2Nhc2UgVnQuQUNDRVNTX1RPS0VOOnRoaXMuYWRkQWNjZXNzVG9rZW5WYWxpZGF0b3JzKGUpO2JyZWFrO2Nhc2UgVnQuVExTX1BSSVZBVEVfS0VZOnRoaXMuYWRkVGxzUHJpdmF0ZUtleVZhbGlkYXRvcnMoZSk7YnJlYWs7Y2FzZSBWdC5UTFNfQUNDRVNTX1RPS0VOOnRoaXMuYWRkVGxzQWNjZXNzVG9rZW5WYWxpZGF0b3JzKGUpO2JyZWFrO2Nhc2UgVnQuVVNFUk5BTUVfUEFTU1dPUkQ6ZS5hZGRWYWxpZGF0b3JzKFt0aGlzLmF0TGVhc3RPbmVSZXF1aXJlZCh1ZS5yZXF1aXJlZCxbImNsaWVudElkIiwidXNlcm5hbWUiXSldKX1lLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKX0pKSxbImNhQ2VydCIsInByaXZhdGVLZXkiLCJjZXJ0Il0uZm9yRWFjaCgodD0+e2UuZ2V0KHQpLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCgpPT50aGlzLmNkLmRldGVjdENoYW5nZXMoKSkpfSkpfW9ic2VydmVTdG9yYWdlVHlwZUNoYW5nZXMoKXtjb25zdCBlPXRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJzdG9yYWdlIik7ZS5nZXQoInR5cGUiKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh0PT57c3dpdGNoKHRoaXMucmVtb3ZlQWxsU3RvcmFnZVZhbGlkYXRvcnMoKSx0KXtjYXNlIEF0Lk1FTU9SWTp0aGlzLmFkZE1lbW9yeVN0b3JhZ2VWYWxpZGF0b3JzKGUpO2JyZWFrO2Nhc2UgQXQuRklMRTp0aGlzLmFkZEZpbGVTdG9yYWdlVmFsaWRhdG9ycyhlKTticmVhaztjYXNlIEF0LlNRTElURTp0aGlzLmFkZFNxbGl0ZVN0b3JhZ2VWYWxpZGF0b3JzKGUpfX0pKX1hZGRBY2Nlc3NUb2tlblZhbGlkYXRvcnMoZSl7ZS5nZXQoImFjY2Vzc1Rva2VuIikuYWRkVmFsaWRhdG9ycyhbdWUucmVxdWlyZWQsdWUucGF0dGVybigvXlteLlxzXSskLyldKSxlLmdldCgiYWNjZXNzVG9rZW4iKS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCl9YWRkVGxzUHJpdmF0ZUtleVZhbGlkYXRvcnMoZSl7WyJjYUNlcnQiLCJwcml2YXRlS2V5IiwiY2VydCJdLmZvckVhY2goKHQ9PntlLmdldCh0KS5hZGRWYWxpZGF0b3JzKFt1ZS5yZXF1aXJlZF0pLGUuZ2V0KHQpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKX0pKX1hZGRUbHNBY2Nlc3NUb2tlblZhbGlkYXRvcnMoZSl7dGhpcy5hZGRBY2Nlc3NUb2tlblZhbGlkYXRvcnMoZSksZS5nZXQoImNhQ2VydCIpLmFkZFZhbGlkYXRvcnMoW3VlLnJlcXVpcmVkXSksZS5nZXQoImNhQ2VydCIpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKX1hZGRNZW1vcnlTdG9yYWdlVmFsaWRhdG9ycyhlKXtlLmdldCgicmVhZF9yZWNvcmRzX2NvdW50IikuYWRkVmFsaWRhdG9ycyhbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV0pLGUuZ2V0KCJtYXhfcmVjb3Jkc19jb3VudCIpLmFkZFZhbGlkYXRvcnMoW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldKSxlLmdldCgicmVhZF9yZWNvcmRzX2NvdW50IikudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiExfSksZS5nZXQoIm1heF9yZWNvcmRzX2NvdW50IikudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiExfSl9YWRkRmlsZVN0b3JhZ2VWYWxpZGF0b3JzKGUpe1sibWF4X2ZpbGVfY291bnQiLCJtYXhfcmVhZF9yZWNvcmRzX2NvdW50IiwibWF4X3JlY29yZHNfcGVyX2ZpbGUiXS5mb3JFYWNoKCh0PT57ZS5nZXQodCkuYWRkVmFsaWRhdG9ycyhbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV0pLGUuZ2V0KHQpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohMX0pfSkpfWFkZFNxbGl0ZVN0b3JhZ2VWYWxpZGF0b3JzKGUpe1sibWVzc2FnZXNfdHRsX2NoZWNrX2luX2hvdXJzIiwibWVzc2FnZXNfdHRsX2luX2RheXMiXS5mb3JFYWNoKCh0PT57ZS5nZXQodCkuYWRkVmFsaWRhdG9ycyhbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV0pLGUuZ2V0KHQpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohMX0pfSkpfWNoZWNrQW5kRmV0Y2hDcmVkZW50aWFscyhlKXtlLnR5cGUhPT1WdC5UTFNfUFJJVkFURV9LRVkmJnRoaXMuZGV2aWNlU2VydmljZS5nZXREZXZpY2VDcmVkZW50aWFscyh0aGlzLmRldmljZS5pZCkucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh0PT57dGhpcy5pbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkLmVtaXQodCksdGhpcy51cGRhdGVTZWN1cml0eVR5cGUoZSx0KSx0aGlzLnVwZGF0ZUNyZWRlbnRpYWxzKHQsZSl9KSl9dXBkYXRlU2VjdXJpdHlUeXBlKGUsdCl7Y29uc3Qgbj10LmNyZWRlbnRpYWxzVHlwZT09PVUuQUNDRVNTX1RPS0VOfHxlLnR5cGU9PT1WdC5UTFNfQUNDRVNTX1RPS0VOP2UudHlwZT09PVZ0LlRMU19BQ0NFU1NfVE9LRU4/VnQuVExTX0FDQ0VTU19UT0tFTjpWdC5BQ0NFU1NfVE9LRU46dC5jcmVkZW50aWFsc1R5cGU9PT1VLk1RVFRfQkFTSUM/VnQuVVNFUk5BTUVfUEFTU1dPUkQ6bnVsbDtuJiZ0aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgidGhpbmdzYm9hcmQuc2VjdXJpdHkudHlwZSIpLnNldFZhbHVlKG4se2VtaXRFdmVudDohMX0pfXVwZGF0ZUNyZWRlbnRpYWxzKGUsdCl7c3dpdGNoKGUuY3JlZGVudGlhbHNUeXBlKXtjYXNlIFUuQUNDRVNTX1RPS0VOOnRoaXMudXBkYXRlQWNjZXNzVG9rZW5DcmVkZW50aWFscyhlLHQpO2JyZWFrO2Nhc2UgVS5NUVRUX0JBU0lDOnRoaXMudXBkYXRlTXF0dEJhc2ljQ3JlZGVudGlhbHMoZSk7Y2FzZSBVLlg1MDlfQ0VSVElGSUNBVEU6fX11cGRhdGVBY2Nlc3NUb2tlbkNyZWRlbnRpYWxzKGUsdCl7dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInRoaW5nc2JvYXJkLnNlY3VyaXR5LmFjY2Vzc1Rva2VuIikuc2V0VmFsdWUoZS5jcmVkZW50aWFsc0lkLHtlbWl0RXZlbnQ6ITF9KSx0LnR5cGU9PT1WdC5UTFNfQUNDRVNTX1RPS0VOJiZ0aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgidGhpbmdzYm9hcmQuc2VjdXJpdHkuY2FDZXJ0Iikuc2V0VmFsdWUodC5jYUNlcnQse2VtaXRFdmVudDohMX0pfXVwZGF0ZU1xdHRCYXNpY0NyZWRlbnRpYWxzKGUpe2NvbnN0IHQ9SlNPTi5wYXJzZShlLmNyZWRlbnRpYWxzVmFsdWUpO3RoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJ0aGluZ3Nib2FyZC5zZWN1cml0eS5jbGllbnRJZCIpLnNldFZhbHVlKHQuY2xpZW50SWQse2VtaXRFdmVudDohMX0pLHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJ0aGluZ3Nib2FyZC5zZWN1cml0eS51c2VybmFtZSIpLnNldFZhbHVlKHQudXNlck5hbWUse2VtaXRFdmVudDohMX0pLHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJ0aGluZ3Nib2FyZC5zZWN1cml0eS5wYXNzd29yZCIpLnNldFZhbHVlKHQucGFzc3dvcmQse2VtaXRFdmVudDohMX0pfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6RG8sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfSx7dG9rZW46WC5EZXZpY2VTZXJ2aWNlfSx7dG9rZW46dC5DaGFuZ2VEZXRlY3RvclJlZn0se3Rva2VuOkplLk1hdERpYWxvZ31dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6RG8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LWJhc2ljLWNvbmZpZ3VyYXRpb24iLGlucHV0czp7ZGV2aWNlOiJkZXZpY2UiLGRpYWxvZ01vZGU6ImRpYWxvZ01vZGUifSxvdXRwdXRzOntpbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkOiJpbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkIn0scHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+RG8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkRvKSksbXVsdGk6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10YWItZ3JvdXAgY2xhc3M9InRhYi1ncm91cC1ibG9jayIgW2Zvcm1Hcm91cF09ImJhc2ljRm9ybUdyb3VwIiBbY2xhc3MuZGlhbG9nLW1vZGVdPSJkaWFsb2dNb2RlIj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5nZW5lcmFsXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy10ZW1wbGF0ZSBtYXRUYWJDb250ZW50PlxuICAgICAgPGRpdiBmb3JtR3JvdXBOYW1lPSJ0aGluZ3Nib2FyZCIgY2xhc3M9Im1hdC1jb250ZW50IG1hdC1wYWRkaW5nIGNvbmZpZ3VyYXRpb24tYmxvY2siPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIj5cbiAgICAgICAgICA8ZGl2IHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucmVtb3RlLWNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBjb2xvcj0icHJpbWFyeSIgZm9ybUNvbnRyb2xOYW1lPSJyZW1vdGVDb25maWd1cmF0aW9uIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJlbW90ZS1jb25maWd1cmF0aW9uXCcgIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLnJlbW90ZS1zaGVsbFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGNvbG9yPSJwcmltYXJ5IiBmb3JtQ29udHJvbE5hbWU9InJlbW90ZVNoZWxsIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJlbW90ZS1zaGVsbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkudGhpbmdzYm9hcmQtaG9zdDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJob3N0Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuaG9zdFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmhvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icG9ydCIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5wb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucG9ydFwnKS5oYXNFcnJvcihcJ21heFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtbWF4XCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnBvcnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMucG9ydFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCI+XG4gICAgICAgICAgPGRpdiB0cmFuc2xhdGUgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPnNlY3VyaXR5LnNlY3VyaXR5PC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBmb3JtR3JvdXBOYW1lPSJzZWN1cml0eSI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLXNlbGVjdCBjbGFzcz0idG9nZ2xlLWdyb3VwIiBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCBzZWN1cml0eVR5cGUgb2Ygc2VjdXJpdHlUeXBlcyB8IGtleXZhbHVlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPSJzZWN1cml0eVR5cGUua2V5Ij57eyBzZWN1cml0eVR5cGUudmFsdWUgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnR5cGVcJykudmFsdWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhcJ2FjY2Vzc3Rva2VuXCcpIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+c2VjdXJpdHkuYWNjZXNzLXRva2VuPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImFjY2Vzc1Rva2VuIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LmFjY2Vzc1Rva2VuXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnc2VjdXJpdHkuYWNjZXNzLXRva2VuLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDx0Yi1jb3B5LWJ1dHRvblxuICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgIG1pbmlCdXR0b249ImZhbHNlIlxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5hY2Nlc3NUb2tlblwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICBbY29weVRleHRdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5hY2Nlc3NUb2tlblwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICB0b29sdGlwVGV4dD0ie3sgXCdkZXZpY2UuY29weS1hY2Nlc3MtdG9rZW5cJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgIGljb249ImNvbnRlbnRfY29weSI+XG4gICAgICAgICAgICAgIDwvdGItY29weS1idXR0b24+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMudG9rZW5cJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMiXG4gICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnR5cGVcJykudmFsdWUgPT09IFwndXNlcm5hbWVQYXNzd29yZFwnIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+c2VjdXJpdHkuY2xpZW50SWQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImNsaWVudElkIi8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5jbGllbnRJZFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdzZWN1cml0eS5jbGllbnRJZC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1jb3B5LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWluaUJ1dHRvbj0iZmFsc2UiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5jbGllbnRJZFwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgW2NvcHlUZXh0XT0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkuY2xpZW50SWRcJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0PSJ7eyBcJ2dhdGV3YXkuY29weS1jbGllbnQtaWRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj0iY29udGVudF9jb3B5Ij5cbiAgICAgICAgICAgICAgICAgIDwvdGItY29weS1idXR0b24+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5jbGllbnQtaWRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5zZWN1cml0eS51c2VybmFtZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idXNlcm5hbWUiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnVzZXJuYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ3NlY3VyaXR5LnVzZXJuYW1lLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPHRiLWNvcHktYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtaW5pQnV0dG9uPSJmYWxzZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnVzZXJuYW1lXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgICAgICBbY29weVRleHRdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS51c2VybmFtZVwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcFRleHQ9Int7IFwnZ2F0ZXdheS5jb3B5LXVzZXJuYW1lXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgIGljb249ImNvbnRlbnRfY29weSI+XG4gICAgICAgICAgICAgICAgICA8L3RiLWNvcHktYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMudXNlcm5hbWVcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyIgc3R5bGU9IndpZHRoOiAxMDAlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnR5cGVcJykudmFsdWUgPT09IFwndXNlcm5hbWVQYXNzd29yZFwnIj5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnBhc3N3b3JkPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icGFzc3dvcmQiLz5cbiAgICAgICAgICAgICAgICA8dGItY29weS1idXR0b25cbiAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWluaUJ1dHRvbj0iZmFsc2UiXG4gICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkucGFzc3dvcmRcJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICBbY29weVRleHRdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5wYXNzd29yZFwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0PSJ7eyBcJ2dhdGV3YXkuY29weS1wYXNzd29yZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIGljb249ImNvbnRlbnRfY29weSI+XG4gICAgICAgICAgICAgICAgPC90Yi1jb3B5LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMucGFzc3dvcmRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8dGItZXJyb3Igc3R5bGU9Im1hcmdpbi10b3A6IC0xMnB4OyBkaXNwbGF5OiBibG9jazsiIGZ4RmxleD0iMTAwIlxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS50eXBlXCcpLnZhbHVlID09PSBcJ3VzZXJuYW1lUGFzc3dvcmRcJyJcbiAgICAgICAgICAgICAgICAgICAgICBbZXJyb3JdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eVwnKS5oYXNFcnJvcihcJ2F0TGVhc3RPbmVcJykgP1xuICAgICAgICAgIChcJ2RldmljZS5jbGllbnQtaWQtb3ItdXNlci1uYW1lLW5lY2Vzc2FyeVwnIHwgdHJhbnNsYXRlKSA6IFwnXCciPjwvdGItZXJyb3I+XG4gICAgICAgICAgICA8dGItZmlsZS1pbnB1dFxuICAgICAgICAgICAgICBmeEZsZXg9IjEwMCJcbiAgICAgICAgICAgICAgaGludD0ie3sgXCdnYXRld2F5LmhpbnRzLmNhLWNlcnRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnR5cGVcJykudmFsdWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhcJ3Rsc1wnKSJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJjYUNlcnQiXG4gICAgICAgICAgICAgIGxhYmVsPSJ7eyBcJ3NlY3VyaXR5LmNhLWNlcnRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgW2FsbG93ZWRFeHRlbnNpb25zXT0iXCdwZW0sIGNlcnQsIGtleVwnIlxuICAgICAgICAgICAgICBbYWNjZXB0XT0iXCcucGVtLCBhcHBsaWNhdGlvbi9wZW0sLmNlcnQsIGFwcGxpY2F0aW9uL2NlcnQsIC5rZXksYXBwbGljYXRpb24va2V5XCciXG4gICAgICAgICAgICAgIGRyb3BMYWJlbD0ie3sgXCdnYXRld2F5LmRyb3AtZmlsZVwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgIDwvdGItZmlsZS1pbnB1dD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkubG9ncy5sb2dzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy10ZW1wbGF0ZSBtYXRUYWJDb250ZW50PlxuICAgICAgPGRpdiBmb3JtR3JvdXBOYW1lPSJsb2dzIiBjbGFzcz0ibWF0LWNvbnRlbnQgbWF0LXBhZGRpbmcgY29uZmlndXJhdGlvbi1ibG9jayI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tcGFkZGluZy1ib3R0b20iPlxuICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9ImNvbHVtbiI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5kYXRlLWZvcm1hdDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJkYXRlRm9ybWF0Ii8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2xvZ3MuZGF0ZUZvcm1hdFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5kYXRlLWZvcm1hdC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmRhdGUtZm9ybVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmxvZ3MubG9nLWZvcm1hdDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJsb2dGb3JtYXQiIHJvd3M9IjIiPjwvdGV4dGFyZWE+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2xvZ3MubG9nRm9ybWF0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLmxvZy1mb3JtYXQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5sb2ctZm9ybWF0XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIiBmb3JtR3JvdXBOYW1lPSJyZW1vdGUiPlxuICAgICAgICAgIDxkaXYgdHJhbnNsYXRlIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIj5nYXRld2F5LmxvZ3MucmVtb3RlPC9kaXY+XG4gICAgICAgICAgPGRpdiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLnJlbW90ZS1sb2dcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBjb2xvcj0icHJpbWFyeSIgZm9ybUNvbnRyb2xOYW1lPSJlbmFibGVkIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmxvZ3MucmVtb3RlLWxvZ3NcJyAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmxvZ3MubGV2ZWw8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibG9nTGV2ZWwiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBsb2dMZXZlbCBvZiBnYXRld2F5TG9nTGV2ZWwiIFt2YWx1ZV09ImxvZ0xldmVsIj57eyBsb2dMZXZlbCB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1wYWRkaW5nLWJvdHRvbSIgZm9ybUdyb3VwTmFtZT0ibG9jYWwiPlxuICAgICAgICAgIDxkaXYgdHJhbnNsYXRlIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIj5nYXRld2F5LmxvZ3MubG9jYWw8L2Rpdj5cbiAgICAgICAgICA8dGItdG9nZ2xlLXNlbGVjdCBjbGFzcz0idG9nZ2xlLWdyb3VwIiBbZm9ybUNvbnRyb2xdPSJsb2dTZWxlY3RvciI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCBsb2dDb25maWcgb2YgbG9jYWxMb2dzQ29uZmlncyIgW3ZhbHVlXT0ibG9nQ29uZmlnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImZpcnN0LWNhcGl0YWwiPnt7IGxvY2FsTG9nc0NvbmZpZ1RyYW5zbGF0ZU1hcC5nZXQobG9nQ29uZmlnKSB9fTwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0iZ2V0TG9nRm9ybUdyb3VwKGxvZ1NlbGVjdG9yLnZhbHVlKSI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmxvZ3MubGV2ZWw8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImxvZ0xldmVsIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGxvZ0xldmVsIG9mIGdhdGV3YXlMb2dMZXZlbCIgW3ZhbHVlXT0ibG9nTGV2ZWwiPnt7IGxvZ0xldmVsIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmxvZ3MuZmlsZS1wYXRoPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZmlsZVBhdGgiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdsb2dzLmxvY2FsLlwnICsgbG9nU2VsZWN0b3IudmFsdWUgKyBcJy5maWxlUGF0aFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLmZpbGUtcGF0aC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgc2F2aW5nLXBlcmlvZCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5zYXZpbmctcGVyaW9kPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJzYXZpbmdUaW1lIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnbG9ncy5sb2NhbC5cJyArIGxvZ1NlbGVjdG9yLnZhbHVlICsgXCcuc2F2aW5nVGltZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmxvZ3Muc2F2aW5nLXBlcmlvZC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2xvZ3MubG9jYWwuXCcgKyBsb2dTZWxlY3Rvci52YWx1ZSArIFwnLnNhdmluZ1RpbWVcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5zYXZpbmctcGVyaW9kLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBoaWRlUmVxdWlyZWRNYXJrZXIgc3R5bGU9Im1pbi13aWR0aDogMTEwcHg7IHdpZHRoOiAzMCUiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJzYXZpbmdQZXJpb2QiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBwZXJpb2Qgb2YgbG9nU2F2aW5nUGVyaW9kcyB8IGtleXZhbHVlIiBbdmFsdWVdPSJwZXJpb2Qua2V5Ij5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBwZXJpb2QudmFsdWUgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5iYWNrdXAtY291bnQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJiYWNrdXBDb3VudCIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnbG9ncy5sb2NhbC5cJyArIGxvZ1NlbGVjdG9yLnZhbHVlICsgXCcuYmFja3VwQ291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5iYWNrdXAtY291bnQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdsb2dzLmxvY2FsLlwnICsgbG9nU2VsZWN0b3IudmFsdWUgKyBcJy5iYWNrdXBDb3VudFwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5iYWNrdXAtY291bnQtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuYmFja3VwLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnN0b3JhZ2VcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9InN0b3JhZ2UiIGNsYXNzPSJtYXQtY29udGVudCBtYXQtcGFkZGluZyBjb25maWd1cmF0aW9uLWJsb2NrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1wYWRkaW5nLWJvdHRvbSI+XG4gICAgICAgICAgPGRpdiB0cmFuc2xhdGUgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPmdhdGV3YXkuc3RvcmFnZTwvZGl2PlxuICAgICAgICAgIDxkaXYgdHJhbnNsYXRlIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLWhpbnQiPmdhdGV3YXkuaGludHMuc3RvcmFnZTwvZGl2PlxuICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGNsYXNzPSJ0b2dnbGUtZ3JvdXAiIGZvcm1Db250cm9sTmFtZT0idHlwZSI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCBzdG9yYWdlVHlwZSBvZiBzdG9yYWdlVHlwZXMiIFt2YWx1ZV09InN0b3JhZ2VUeXBlIj5cbiAgICAgICAgICAgICAge3sgc3RvcmFnZVR5cGVzVHJhbnNsYXRpb25NYXAuZ2V0KHN0b3JhZ2VUeXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgIDwvdGItdG9nZ2xlLXNlbGVjdD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLWhpbnQiPnt7IFwnZ2F0ZXdheS5oaW50cy5cJyArIGJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UudHlwZVwnKS52YWx1ZSB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS50eXBlXCcpLnZhbHVlIj5cbiAgICAgICAgICAgIDxzZWN0aW9uICpuZ1N3aXRjaENhc2U9IlN0b3JhZ2VUeXBlcy5NRU1PUlkiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlYWRfcmVjb3Jkc19jb3VudCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UucmVhZF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UucmVhZF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5yZWFkX3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5yZWFkLXJlY29yZC1jb3VudFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1heF9yZWNvcmRzX2NvdW50Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tYXhfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tYXhfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1heC1yZWNvcmRzLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPHNlY3Rpb24gKm5nU3dpdGNoQ2FzZT0iU3RvcmFnZVR5cGVzLkZJTEUiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdG9yYWdlLWRhdGEtZm9sZGVyLXBhdGg8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImRhdGFfZm9sZGVyX3BhdGgiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UuZGF0YV9mb2xkZXJfcGF0aFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtZGF0YS1mb2xkZXItcGF0aC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0LWZvcm0tZmllbGQtaW5maXggcG9pbnRlci1ldmVudCBzdWZmaXgtaWNvbiIgYXJpYS1oaWRkZW49ImZhbHNlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9ImhlbHAtaWNvbiJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRTdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZGF0YS1mb2xkZXJcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtbWF4LWZpbGVzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1heF9maWxlX2NvdW50Ii8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9maWxlX2NvdW50XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9maWxlX2NvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LWZpbGVzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X2ZpbGVfY291bnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LWZpbGVzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5tYXgtZmlsZS1jb3VudFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgZm9ybUNvbnRyb2xOYW1lPSJtYXhfcmVhZF9yZWNvcmRzX2NvdW50Ii8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWFkX3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlYWRfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWFkX3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5tYXgtcmVhZC1jb3VudFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1heF9yZWNvcmRzX3Blcl9maWxlIi8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWNvcmRzX3Blcl9maWxlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtcmVjb3Jkcy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlY29yZHNfcGVyX2ZpbGVcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtcmVjb3Jkcy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWNvcmRzX3Blcl9maWxlXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5tYXgtcmVjb3Jkc1wnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPHNlY3Rpb24gKm5nU3dpdGNoQ2FzZT0iU3RvcmFnZVR5cGVzLlNRTElURSI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtcGF0aDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YV9maWxlX3BhdGgiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UuZGF0YV9maWxlX3BhdGhcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLXBhdGgtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5kYXRhLWZvbGRlclwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1lc3NhZ2VzX3R0bF9jaGVja19pbl9ob3VycyIvPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tZXNzYWdlc190dGxfY2hlY2tfaW5faG91cnNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXNzYWdlcy10dGwtY2hlY2staW4taG91cnMtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9jaGVja19pbl9ob3Vyc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXNzYWdlcy10dGwtY2hlY2staW4taG91cnMtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tZXNzYWdlc190dGxfY2hlY2tfaW5faG91cnNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMudHRsLWNoZWNrLWhvdXJcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubWVzc2FnZXMtdHRsLWluLWRheXM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1lc3NhZ2VzX3R0bF9pbl9kYXlzIi8+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tZXNzYWdlc190dGxfaW5fZGF5c1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXNzYWdlcy10dGwtaW4tZGF5cy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tZXNzYWdlc190dGxfaW5fZGF5c1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubWVzc2FnZXMtdHRsLWluLWRheXMtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9pbl9kYXlzXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubWVzc2FnZXMtdHRsLWluLWRheXMtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLnR0bC1tZXNzYWdlcy1kYXlcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdycGNcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9ImdycGMiIGNsYXNzPSJtYXQtY29udGVudCBtYXQtcGFkZGluZyBjb25maWd1cmF0aW9uLWJsb2NrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1wYWRkaW5nLWJvdHRvbSI+XG4gICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgY29sb3I9InByaW1hcnkiIGZvcm1Db250cm9sTmFtZT0iZW5hYmxlZCI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwY1wnICB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8ZGl2IHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucGVybWl0LXdpdGhvdXQtY2FsbHNcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBjb2xvcj0icHJpbWFyeSIgZm9ybUNvbnRyb2xOYW1lPSJrZWVwYWxpdmVQZXJtaXRXaXRob3V0Q2FsbHMiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucGVybWl0LXdpdGhvdXQtY2FsbHNcJyAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c2VjdGlvbj5cbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci1wb3J0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ic2VydmVyUG9ydCIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuc2VydmVyLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5zZXJ2ZXJQb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMuc2VydmVyUG9ydFwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMuc2VydmVyUG9ydFwnKS5oYXNFcnJvcihcJ21heFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1tYXhcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMuc2VydmVyUG9ydFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtdGltZW91dDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImtlZXBBbGl2ZVRpbWVvdXRNcyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5rZWVwQWxpdmVUaW1lb3V0TXNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMua2VlcEFsaXZlVGltZW91dE1zXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtdGltZW91dC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMua2VlcEFsaXZlVGltZW91dE1zXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5ncnBjLWtlZXAtYWxpdmU8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJrZWVwQWxpdmVUaW1lTXMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmdycGMta2VlcC1hbGl2ZVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLmtlZXBBbGl2ZVRpbWVNc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMua2VlcEFsaXZlVGltZU1zXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLmtlZXBBbGl2ZVRpbWVNc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMta2VlcC1hbGl2ZS1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5nczwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1pblRpbWVCZXR3ZWVuUGluZ3NNcyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWluVGltZUJldHdlZW5QaW5nc01zXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5taW5UaW1lQmV0d2VlblBpbmdzTXNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWluVGltZUJldHdlZW5QaW5nc01zXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWF4UGluZ3NXaXRob3V0RGF0YSIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWF4UGluZ3NXaXRob3V0RGF0YVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWF4UGluZ3NXaXRob3V0RGF0YVwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5tYXhQaW5nc1dpdGhvdXREYXRhXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGE8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtaW5QaW5nSW50ZXJ2YWxXaXRob3V0RGF0YU1zIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5ncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLm1pblBpbmdJbnRlcnZhbFdpdGhvdXREYXRhTXNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWluUGluZ0ludGVydmFsV2l0aG91dERhdGFNc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLm1pblBpbmdJbnRlcnZhbFdpdGhvdXREYXRhTXNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnN0YXRpc3RpY3Muc3RhdGlzdGljc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT0idGhpbmdzYm9hcmQiIGNsYXNzPSJtYXQtY29udGVudCBtYXQtcGFkZGluZyBjb25maWd1cmF0aW9uLWJsb2NrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1wYWRkaW5nLWJvdHRvbSIgZm9ybUdyb3VwTmFtZT0ic3RhdGlzdGljcyI+XG4gICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY29sb3I9InByaW1hcnkiIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0iZW5hYmxlIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnN0YXRpc3RpY3NcJyAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLnNlbmQtcGVyaW9kPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJzdGF0c1NlbmRQZXJpb2RJblNlY29uZHMiIHR5cGU9Im51bWJlciIgbWluPSI2MCIvPlxuICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc3RhdGlzdGljcy5zdGF0c1NlbmRQZXJpb2RJblNlY29uZHNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnNlbmQtcGVyaW9kLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc3RhdGlzdGljcy5zdGF0c1NlbmRQZXJpb2RJblNlY29uZHNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5zZW5kLXBlcmlvZC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zdGF0aXN0aWNzLnN0YXRzU2VuZFBlcmlvZEluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5zZW5kLXBlcmlvZC1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmRzPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC1oaW50IiB0cmFuc2xhdGU+Z2F0ZXdheS5oaW50cy5jb21tYW5kczwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgZm9ybUdyb3VwTmFtZT0ic3RhdGlzdGljcyI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PSJyb3ciIGZvcm1BcnJheU5hbWU9ImNvbW1hbmRzIiBjbGFzcz0ic3RhdGlzdGljcy1jb250YWluZXIiXG4gICAgICAgICAgICAgICAgICpuZ0Zvcj0ibGV0IGNvbW1hbmRDb250cm9sIG9mIGNvbW1hbmRGb3JtQXJyYXkoKS5jb250cm9sczsgbGV0ICRpbmRleCA9IGluZGV4Ij5cbiAgICAgICAgICAgICAgPHNlY3Rpb24gW2Zvcm1Hcm91cE5hbWVdPSIkaW5kZXgiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQgbm8tcGFkZGluZy1ib3R0b20gbm8tZ2FwIGNvbW1hbmQtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3MuYXR0cmlidXRlLW5hbWU8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iYXR0cmlidXRlT25HYXRld2F5Ii8+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbW1hbmRDb250cm9sLmdldChcJ2F0dHJpYnV0ZU9uR2F0ZXdheVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5hdHRyaWJ1dGUtbmFtZS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmF0dHJpYnV0ZVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLnRpbWVvdXQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idGltZW91dCIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZENvbnRyb2wuZ2V0KFwndGltZW91dFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy50aW1lb3V0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbW1hbmRDb250cm9sLmdldChcJ3RpbWVvdXRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnRpbWVvdXQtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbW1hbmRDb250cm9sLmdldChcJ3RpbWVvdXRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy50aW1lb3V0LXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy50aW1lb3V0XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RhdGlzdGljcy5jb21tYW5kPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJjb21tYW5kIi8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb21tYW5kQ29udHJvbC5nZXQoXCdjb21tYW5kXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5jb21tYW5kLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZENvbnRyb2wuZ2V0KFwnY29tbWFuZFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5jb21tYW5kLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5jb21tYW5kXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPSJyZW1vdmVDb21tYW5kQ29udHJvbCgkaW5kZXgsICRldmVudCkiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWJveC1idXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iIWJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnJlbW90ZUNvbmZpZ3VyYXRpb25cJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LnN0YXRpc3RpY3MucmVtb3ZlXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiBmaXQtY29udGVudDsiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iIWJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnJlbW90ZUNvbmZpZ3VyYXRpb25cJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9ImFkZENvbW1hbmQoKSI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmFkZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkub3RoZXJcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9InRoaW5nc2JvYXJkIiBjbGFzcz0ibWF0LWNvbnRlbnQgbWF0LXBhZGRpbmcgY29uZmlndXJhdGlvbi1ibG9jayI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwiIGZvcm1Hcm91cE5hbWU9ImNoZWNraW5nRGV2aWNlQWN0aXZpdHkiXG4gICAgICAgICAgICAgW2NsYXNzLm5vLXBhZGRpbmctYm90dG9tXT0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5jaGVja0RldmljZUluYWN0aXZpdHlcJykudmFsdWUiPlxuICAgICAgICAgIDxkaXYgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5jaGVjay1kZXZpY2UtYWN0aXZpdHlcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBjb2xvcj0icHJpbWFyeSIgZm9ybUNvbnRyb2xOYW1lPSJjaGVja0RldmljZUluYWN0aXZpdHkiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuY2hlY2tpbmctZGV2aWNlLWFjdGl2aXR5XCcgIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiXG4gICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNraW5nRGV2aWNlQWN0aXZpdHkuY2hlY2tEZXZpY2VJbmFjdGl2aXR5XCcpLnZhbHVlIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iaW5hY3Rpdml0eVRpbWVvdXRTZWNvbmRzIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNraW5nRGV2aWNlQWN0aXZpdHkuaW5hY3Rpdml0eVRpbWVvdXRTZWNvbmRzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNraW5nRGV2aWNlQWN0aXZpdHkuaW5hY3Rpdml0eVRpbWVvdXRTZWNvbmRzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5pbmFjdGl2aXR5VGltZW91dFNlY29uZHNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmluYWN0aXZpdHktdGltZW91dFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5pbmFjdGl2aXR5LWNoZWNrLXBlcmlvZC1zZWNvbmRzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgZm9ybUNvbnRyb2xOYW1lPSJpbmFjdGl2aXR5Q2hlY2tQZXJpb2RTZWNvbmRzIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5pbmFjdGl2aXR5Q2hlY2tQZXJpb2RTZWNvbmRzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LWNoZWNrLXBlcmlvZC1zZWNvbmRzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5pbmFjdGl2aXR5Q2hlY2tQZXJpb2RTZWNvbmRzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja2luZ0RldmljZUFjdGl2aXR5LmluYWN0aXZpdHlDaGVja1BlcmlvZFNlY29uZHNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuaW5hY3Rpdml0eS1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5hZHZhbmNlZDwvZGl2PlxuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubWluLXBhY2stc2VuZC1kZWxheTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtaW5QYWNrU2VuZERlbGF5TVMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1pblBhY2tTZW5kRGVsYXlNU1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubWluLXBhY2stc2VuZC1kZWxheS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5taW5QYWNrU2VuZERlbGF5TVNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5taW4tcGFjay1zZW5kLWRlbGF5LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1pblBhY2tTZW5kRGVsYXlNU1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5taW4tcGFjay1zZW5kLWRlbGF5LXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5taW5pbWFsLXBhY2stZGVsYXlcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubXF0dC1xb3M8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icW9zIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbWF4PSIxIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnFvc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubXF0dC1xb3MtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucW9zXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubXF0dC1xb3MtcmFuZ2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucW9zXCcpLmhhc0Vycm9yKFwnbWF4XCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubXF0dC1xb3MtcmFuZ2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5xb3NcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLmNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbjwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJjaGVja0Nvbm5lY3RvcnNDb25maWd1cmF0aW9uSW5TZWNvbmRzIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNrQ29ubmVjdG9yc0NvbmZpZ3VyYXRpb25JblNlY29uZHNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tDb25uZWN0b3JzQ29uZmlndXJhdGlvbkluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNrQ29ubmVjdG9yc0NvbmZpZ3VyYXRpb25JblNlY29uZHNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5jaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RhdGlzdGljcy5tYXgtcGF5bG9hZC1zaXplLWJ5dGVzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1heFBheWxvYWRTaXplQnl0ZXMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWF4UGF5bG9hZFNpemVCeXRlc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5tYXgtcGF5bG9hZC1zaXplLWJ5dGVzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWF4UGF5bG9hZFNpemVCeXRlc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MubWF4LXBheWxvYWQtc2l6ZS1ieXRlcy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5tYXhQYXlsb2FkU2l6ZUJ5dGVzXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MubWF4LXBheWxvYWQtc2l6ZS1ieXRlcy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMubWF4LXBheWxvYWQtc2l6ZS1ieXRlc1wnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3MubWluLXBhY2stc2l6ZS10by1zZW5kPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1pblBhY2tTaXplVG9TZW5kIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1pblBhY2tTaXplVG9TZW5kXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLm1pbi1wYWNrLXNpemUtdG8tc2VuZC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1pblBhY2tTaXplVG9TZW5kXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5taW4tcGFjay1zaXplLXRvLXNlbmQtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWluUGFja1NpemVUb1NlbmRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5taW4tcGFjay1zaXplLXRvLXNlbmQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1pbi1wYWNrLXNpemUtdG8tc2VuZFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1yb3dzOm1pbi1jb250ZW50IG1pbm1heChhdXRvLDFmcikgbWluLWNvbnRlbnR9Omhvc3QgLmNvbmZpZ3VyYXRpb24tYmxvY2t7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTZweDttYXgtaGVpZ2h0Ojcwdmh9Omhvc3QgLmRpYWxvZy1tb2RlIC5jb25maWd1cmF0aW9uLWJsb2Nre21heC1oZWlnaHQ6NjB2aH06aG9zdCAubWF0LXRvb2xiYXJ7Z3JpZC1yb3c6MTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMDAwMDBkZSFpbXBvcnRhbnR9Omhvc3QgLnRhYi1ncm91cC1ibG9ja3ttaW4td2lkdGg6MDtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjA7Z3JpZC1yb3c6Mn06aG9zdCAudG9nZ2xlLWdyb3Vwe21hcmdpbi1yaWdodDphdXRvfTpob3N0IC5maXJzdC1jYXBpdGFse3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemV9Omhvc3QgdGV4dGFyZWF7cmVzaXplOm5vbmV9Omhvc3QgLnNhdmluZy1wZXJpb2R7ZmxleDoxfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lcnt3aWR0aDoxMDAlfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciAuY29tbWFuZC1jb250YWluZXJ7d2lkdGg6MTAwJX06aG9zdCBtYXQtZm9ybS1maWVsZCBtYXQtZXJyb3J7ZGlzcGxheTpub25lIWltcG9ydGFudH06aG9zdCBtYXQtZm9ybS1maWVsZCBtYXQtZXJyb3I6Zmlyc3QtY2hpbGR7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9Omhvc3QgOjpuZy1kZWVwIC5wb2ludGVyLWV2ZW50e3BvaW50ZXItZXZlbnRzOmFsbH06aG9zdCA6Om5nLWRlZXAgLnRvZ2dsZS1ncm91cCBzcGFue3BhZGRpbmc6MCAyNXB4fTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2NvbG9yOiNlMGUwZTB9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLWZvcm0tZmllbGQtaWNvbi1zdWZmaXg6aG92ZXJ7Y29sb3I6IzllOWU5ZX06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtZm9ybS1maWVsZC1pY29uLXN1ZmZpeHtkaXNwbGF5OmZsZXh9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJuZ21vZHVsZSIsdHlwZTpIfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoLHNlbGVjdG9yOiJbbmdTd2l0Y2hdIixpbnB1dHM6WyJuZ1N3aXRjaCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdTd2l0Y2hDYXNlLHNlbGVjdG9yOiJbbmdTd2l0Y2hDYXNlXSIsaW5wdXRzOlsibmdTd2l0Y2hDYXNlIl19LHtraW5kOiJwaXBlIix0eXBlOl8uS2V5VmFsdWVQaXBlLG5hbWU6ImtleXZhbHVlIn0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q3QuVGJFcnJvckNvbXBvbmVudCxzZWxlY3RvcjoidGItZXJyb3IiLGlucHV0czpbIm5vTWFyZ2luIiwiZXJyb3IiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdEVycm9yLHNlbGVjdG9yOiJtYXQtZXJyb3IsIFttYXRFcnJvcl0iLGlucHV0czpbImlkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpXLk1hdFRhYkNvbnRlbnQsc2VsZWN0b3I6IlttYXRUYWJDb250ZW50XSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWIsc2VsZWN0b3I6Im1hdC10YWIiLGlucHV0czpbImRpc2FibGVkIiwibGFiZWwiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwibGFiZWxDbGFzcyIsImJvZHlDbGFzcyJdLGV4cG9ydEFzOlsibWF0VGFiIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWJHcm91cCxzZWxlY3RvcjoibWF0LXRhYi1ncm91cCIsaW5wdXRzOlsiY29sb3IiLCJmaXRJbmtCYXJUb0NvbnRlbnQiLCJtYXQtc3RyZXRjaC10YWJzIiwiZHluYW1pY0hlaWdodCIsInNlbGVjdGVkSW5kZXgiLCJoZWFkZXJQb3NpdGlvbiIsImFuaW1hdGlvbkR1cmF0aW9uIiwiY29udGVudFRhYkluZGV4IiwiZGlzYWJsZVBhZ2luYXRpb24iLCJkaXNhYmxlUmlwcGxlIiwicHJlc2VydmVDb250ZW50IiwiYmFja2dyb3VuZENvbG9yIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSJdLG91dHB1dHM6WyJzZWxlY3RlZEluZGV4Q2hhbmdlIiwiZm9jdXNDaGFuZ2UiLCJhbmltYXRpb25Eb25lIiwic2VsZWN0ZWRUYWJDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFRhYkdyb3VwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6ZXQuTWF0U2xpZGVUb2dnbGUsc2VsZWN0b3I6Im1hdC1zbGlkZS10b2dnbGUiLGlucHV0czpbIm5hbWUiLCJpZCIsImxhYmVsUG9zaXRpb24iLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsInJlcXVpcmVkIiwiY29sb3IiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImNoZWNrZWQiLCJoaWRlSWNvbiIsImRpc2FibGVkSW50ZXJhY3RpdmUiXSxvdXRwdXRzOlsiY2hhbmdlIiwidG9nZ2xlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRdLCBbZnhMYXlvdXQueHNdLCBbZnhMYXlvdXQuc21dLCBbZnhMYXlvdXQubWRdLCAgW2Z4TGF5b3V0LmxnXSwgW2Z4TGF5b3V0LnhsXSwgW2Z4TGF5b3V0Lmx0LXNtXSwgW2Z4TGF5b3V0Lmx0LW1kXSwgIFtmeExheW91dC5sdC1sZ10sIFtmeExheW91dC5sdC14bF0sIFtmeExheW91dC5ndC14c10sIFtmeExheW91dC5ndC1zbV0sICBbZnhMYXlvdXQuZ3QtbWRdLCBbZnhMYXlvdXQuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dCIsImZ4TGF5b3V0LnhzIiwiZnhMYXlvdXQuc20iLCJmeExheW91dC5tZCIsImZ4TGF5b3V0LmxnIiwiZnhMYXlvdXQueGwiLCJmeExheW91dC5sdC1zbSIsImZ4TGF5b3V0Lmx0LW1kIiwiZnhMYXlvdXQubHQtbGciLCJmeExheW91dC5sdC14bCIsImZ4TGF5b3V0Lmd0LXhzIiwiZnhMYXlvdXQuZ3Qtc20iLCJmeExheW91dC5ndC1tZCIsImZ4TGF5b3V0Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWF4VmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttYXhdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtuZ01vZGVsXSIsaW5wdXRzOlsibWF4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBOYW1lLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0iLGlucHV0czpbImZvcm1Hcm91cE5hbWUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQXJyYXlOYW1lLHNlbGVjdG9yOiJbZm9ybUFycmF5TmFtZV0iLGlucHV0czpbImZvcm1BcnJheU5hbWUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpUdC5GaWxlSW5wdXRDb21wb25lbnQsc2VsZWN0b3I6InRiLWZpbGUtaW5wdXQiLGlucHV0czpbImxhYmVsIiwiaGludCIsImFjY2VwdCIsIm5vRmlsZVRleHQiLCJpbnB1dElkIiwiYWxsb3dlZEV4dGVuc2lvbnMiLCJkcm9wTGFiZWwiLCJtYXhTaXplQnl0ZSIsImNvbnRlbnRDb252ZXJ0RnVuY3Rpb24iLCJyZXF1aXJlZCIsInJlcXVpcmVkQXNFcnJvciIsImRpc2FibGVkIiwiZXhpc3RpbmdGaWxlTmFtZSIsInJlYWRBc0JpbmFyeSIsIndvcmtGcm9tRmlsZU9iaiIsIm11bHRpcGxlRmlsZSJdLG91dHB1dHM6WyJmaWxlTmFtZUNoYW5nZWQiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6U3QuQ29weUJ1dHRvbkNvbXBvbmVudCxzZWxlY3RvcjoidGItY29weS1idXR0b24iLGlucHV0czpbImNvcHlUZXh0IiwiZGlzYWJsZWQiLCJtZGlJY29uIiwiaWNvbiIsInRvb2x0aXBUZXh0IiwidG9vbHRpcFBvc2l0aW9uIiwic3R5bGUiLCJjb2xvciIsIm1pbmlCdXR0b24iXSxvdXRwdXRzOlsic3VjY2Vzc0NvcGllZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm50LlRvZ2dsZU9wdGlvbixzZWxlY3RvcjoidGItdG9nZ2xlLW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTphdC5Ub2dnbGVTZWxlY3RDb21wb25lbnQsc2VsZWN0b3I6InRiLXRvZ2dsZS1zZWxlY3QiLGlucHV0czpbImRpc2FibGVkIiwic2VsZWN0TWVkaWFCcmVha3BvaW50IiwiYXBwZWFyYW5jZSIsImRpc2FibGVQYWdpbmF0aW9uIiwiZmlsbEhlaWdodCIsImV4dHJhUGFkZGluZyIsInByaW1hcnlCYWNrZ3JvdW5kIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dXQuSGludFRvb2x0aXBJY29uQ29tcG9uZW50LHNlbGVjdG9yOiJbdGItaGludC10b29sdGlwLWljb25dIixpbnB1dHM6WyJ0Yi1oaW50LXRvb2x0aXAtaWNvbiIsInRvb2x0aXBQb3NpdGlvbiIsImhpbnRJY29uIl19XX0pfX1lKCJHYXRld2F5QmFzaWNDb25maWd1cmF0aW9uQ29tcG9uZW50IixEbyksSGUoW04oKV0sRG8ucHJvdG90eXBlLCJkaWFsb2dNb2RlIix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6RG8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktYmFzaWMtY29uZmlndXJhdGlvbiIsc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILERdLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PkRvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5EbykpLG11bHRpOiEwfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRhYi1ncm91cCBjbGFzcz0idGFiLWdyb3VwLWJsb2NrIiBbZm9ybUdyb3VwXT0iYmFzaWNGb3JtR3JvdXAiIFtjbGFzcy5kaWFsb2ctbW9kZV09ImRpYWxvZ01vZGUiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9InRoaW5nc2JvYXJkIiBjbGFzcz0ibWF0LWNvbnRlbnQgbWF0LXBhZGRpbmcgY29uZmlndXJhdGlvbi1ibG9jayI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tcGFkZGluZy1ib3R0b20iPlxuICAgICAgICAgIDxkaXYgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5yZW1vdGUtY29uZmlndXJhdGlvblwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGNvbG9yPSJwcmltYXJ5IiBmb3JtQ29udHJvbE5hbWU9InJlbW90ZUNvbmZpZ3VyYXRpb24iPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmVtb3RlLWNvbmZpZ3VyYXRpb25cJyAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucmVtb3RlLXNoZWxsXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmciPlxuICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgY29sb3I9InByaW1hcnkiIGZvcm1Db250cm9sTmFtZT0icmVtb3RlU2hlbGwiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmVtb3RlLXNoZWxsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS50aGluZ3Nib2FyZC1ob3N0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Imhvc3QiLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5ob3N0XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuaG9zdFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkudGhpbmdzYm9hcmQtcG9ydDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5wb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnBvcnRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5wb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1tYXhcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucG9ydFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5wb3J0XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIj5cbiAgICAgICAgICA8ZGl2IHRyYW5zbGF0ZSBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSI+c2VjdXJpdHkuc2VjdXJpdHk8L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIGZvcm1Hcm91cE5hbWU9InNlY3VyaXR5Ij5cbiAgICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGNsYXNzPSJ0b2dnbGUtZ3JvdXAiIGZvcm1Db250cm9sTmFtZT0idHlwZSI+XG4gICAgICAgICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IHNlY3VyaXR5VHlwZSBvZiBzZWN1cml0eVR5cGVzIHwga2V5dmFsdWUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09InNlY3VyaXR5VHlwZS5rZXkiPnt7IHNlY3VyaXR5VHlwZS52YWx1ZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudHlwZVwnKS52YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFwnYWNjZXNzdG9rZW5cJykiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5zZWN1cml0eS5hY2Nlc3MtdG9rZW48L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iYWNjZXNzVG9rZW4iLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkuYWNjZXNzVG9rZW5cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdzZWN1cml0eS5hY2Nlc3MtdG9rZW4tcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPHRiLWNvcHktYnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgbWluaUJ1dHRvbj0iZmFsc2UiXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LmFjY2Vzc1Rva2VuXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgIFtjb3B5VGV4dF09ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LmFjY2Vzc1Rva2VuXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0PSJ7eyBcJ2RldmljZS5jb3B5LWFjY2Vzcy10b2tlblwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgaWNvbj0iY29udGVudF9jb3B5Ij5cbiAgICAgICAgICAgICAgPC90Yi1jb3B5LWJ1dHRvbj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy50b2tlblwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPHNlY3Rpb24+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyJcbiAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudHlwZVwnKS52YWx1ZSA9PT0gXCd1c2VybmFtZVBhc3N3b3JkXCciPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5zZWN1cml0eS5jbGllbnRJZDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iY2xpZW50SWQiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LmNsaWVudElkXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ3NlY3VyaXR5LmNsaWVudElkLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPHRiLWNvcHktYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtaW5pQnV0dG9uPSJmYWxzZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LmNsaWVudElkXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgICAgICBbY29weVRleHRdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5jbGllbnRJZFwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcFRleHQ9Int7IFwnZ2F0ZXdheS5jb3B5LWNsaWVudC1pZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBpY29uPSJjb250ZW50X2NvcHkiPlxuICAgICAgICAgICAgICAgICAgPC90Yi1jb3B5LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmNsaWVudC1pZFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPnNlY3VyaXR5LnVzZXJuYW1lPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ1c2VybmFtZSIvPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudXNlcm5hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnc2VjdXJpdHkudXNlcm5hbWUtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8dGItY29weS1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgIG1pbmlCdXR0b249ImZhbHNlIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudXNlcm5hbWVcJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICAgIFtjb3B5VGV4dF09ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnVzZXJuYW1lXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgICAgICB0b29sdGlwVGV4dD0ie3sgXCdnYXRld2F5LmNvcHktdXNlcm5hbWVcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj0iY29udGVudF9jb3B5Ij5cbiAgICAgICAgICAgICAgICAgIDwvdGItY29weS1idXR0b24+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy51c2VybmFtZVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBzdHlsZT0id2lkdGg6IDEwMCUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudHlwZVwnKS52YWx1ZSA9PT0gXCd1c2VybmFtZVBhc3N3b3JkXCciPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkucGFzc3dvcmQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJwYXNzd29yZCIvPlxuICAgICAgICAgICAgICAgIDx0Yi1jb3B5LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtaW5pQnV0dG9uPSJmYWxzZSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5wYXNzd29yZFwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgIFtjb3B5VGV4dF09ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnBhc3N3b3JkXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgICAgdG9vbHRpcFRleHQ9Int7IFwnZ2F0ZXdheS5jb3B5LXBhc3N3b3JkXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgaWNvbj0iY29udGVudF9jb3B5Ij5cbiAgICAgICAgICAgICAgICA8L3RiLWNvcHktYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5wYXNzd29yZFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDx0Yi1lcnJvciBzdHlsZT0ibWFyZ2luLXRvcDogLTEycHg7IGRpc3BsYXk6IGJsb2NrOyIgZnhGbGV4PSIxMDAiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnR5cGVcJykudmFsdWUgPT09IFwndXNlcm5hbWVQYXNzd29yZFwnIlxuICAgICAgICAgICAgICAgICAgICAgIFtlcnJvcl09ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5XCcpLmhhc0Vycm9yKFwnYXRMZWFzdE9uZVwnKSA/XG4gICAgICAgICAgKFwnZGV2aWNlLmNsaWVudC1pZC1vci11c2VyLW5hbWUtbmVjZXNzYXJ5XCcgfCB0cmFuc2xhdGUpIDogXCdcJyI+PC90Yi1lcnJvcj5cbiAgICAgICAgICAgIDx0Yi1maWxlLWlucHV0XG4gICAgICAgICAgICAgIGZ4RmxleD0iMTAwIlxuICAgICAgICAgICAgICBoaW50PSJ7eyBcJ2dhdGV3YXkuaGludHMuY2EtY2VydFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudHlwZVwnKS52YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFwndGxzXCcpIlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9ImNhQ2VydCJcbiAgICAgICAgICAgICAgbGFiZWw9Int7IFwnc2VjdXJpdHkuY2EtY2VydFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBbYWxsb3dlZEV4dGVuc2lvbnNdPSJcJ3BlbSwgY2VydCwga2V5XCciXG4gICAgICAgICAgICAgIFthY2NlcHRdPSJcJy5wZW0sIGFwcGxpY2F0aW9uL3BlbSwuY2VydCwgYXBwbGljYXRpb24vY2VydCwgLmtleSxhcHBsaWNhdGlvbi9rZXlcJyJcbiAgICAgICAgICAgICAgZHJvcExhYmVsPSJ7eyBcJ2dhdGV3YXkuZHJvcC1maWxlXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgPC90Yi1maWxlLWlucHV0PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5sb2dzLmxvZ3NcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9ImxvZ3MiIGNsYXNzPSJtYXQtY29udGVudCBtYXQtcGFkZGluZyBjb25maWd1cmF0aW9uLWJsb2NrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1wYWRkaW5nLWJvdHRvbSI+XG4gICAgICAgICAgPGRpdiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5sb2dzLmRhdGUtZm9ybWF0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImRhdGVGb3JtYXQiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnbG9ncy5kYXRlRm9ybWF0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLmRhdGUtZm9ybWF0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZGF0ZS1mb3JtXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5sb2ctZm9ybWF0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImxvZ0Zvcm1hdCIgcm93cz0iMiI+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnbG9ncy5sb2dGb3JtYXRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmxvZ3MubG9nLWZvcm1hdC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmxvZy1mb3JtYXRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tcGFkZGluZy1ib3R0b20iIGZvcm1Hcm91cE5hbWU9InJlbW90ZSI+XG4gICAgICAgICAgPGRpdiB0cmFuc2xhdGUgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPmdhdGV3YXkubG9ncy5yZW1vdGU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucmVtb3RlLWxvZ1wnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGNvbG9yPSJwcmltYXJ5IiBmb3JtQ29udHJvbE5hbWU9ImVuYWJsZWQiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5yZW1vdGUtbG9nc1wnICB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5sZXZlbDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJsb2dMZXZlbCI+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGxvZ0xldmVsIG9mIGdhdGV3YXlMb2dMZXZlbCIgW3ZhbHVlXT0ibG9nTGV2ZWwiPnt7IGxvZ0xldmVsIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIiBmb3JtR3JvdXBOYW1lPSJsb2NhbCI+XG4gICAgICAgICAgPGRpdiB0cmFuc2xhdGUgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPmdhdGV3YXkubG9ncy5sb2NhbDwvZGl2PlxuICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGNsYXNzPSJ0b2dnbGUtZ3JvdXAiIFtmb3JtQ29udHJvbF09ImxvZ1NlbGVjdG9yIj5cbiAgICAgICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IGxvZ0NvbmZpZyBvZiBsb2NhbExvZ3NDb25maWdzIiBbdmFsdWVdPSJsb2dDb25maWciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZmlyc3QtY2FwaXRhbCI+e3sgbG9jYWxMb2dzQ29uZmlnVHJhbnNsYXRlTWFwLmdldChsb2dDb25maWcpIH19PC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgIDwvdGItdG9nZ2xlLXNlbGVjdD5cbiAgICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPSJnZXRMb2dGb3JtR3JvdXAobG9nU2VsZWN0b3IudmFsdWUpIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5sZXZlbDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibG9nTGV2ZWwiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbG9nTGV2ZWwgb2YgZ2F0ZXdheUxvZ0xldmVsIiBbdmFsdWVdPSJsb2dMZXZlbCI+e3sgbG9nTGV2ZWwgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5maWxlLXBhdGg8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJmaWxlUGF0aCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2xvZ3MubG9jYWwuXCcgKyBsb2dTZWxlY3Rvci52YWx1ZSArIFwnLmZpbGVQYXRoXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmxvZ3MuZmlsZS1wYXRoLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBzYXZpbmctcGVyaW9kIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5sb2dzLnNhdmluZy1wZXJpb2Q8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InNhdmluZ1RpbWUiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdsb2dzLmxvY2FsLlwnICsgbG9nU2VsZWN0b3IudmFsdWUgKyBcJy5zYXZpbmdUaW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5zYXZpbmctcGVyaW9kLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnbG9ncy5sb2NhbC5cJyArIGxvZ1NlbGVjdG9yLnZhbHVlICsgXCcuc2F2aW5nVGltZVwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLnNhdmluZy1wZXJpb2QtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGhpZGVSZXF1aXJlZE1hcmtlciBzdHlsZT0ibWluLXdpZHRoOiAxMTBweDsgd2lkdGg6IDMwJSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InNhdmluZ1BlcmlvZCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHBlcmlvZCBvZiBsb2dTYXZpbmdQZXJpb2RzIHwga2V5dmFsdWUiIFt2YWx1ZV09InBlcmlvZC5rZXkiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IHBlcmlvZC52YWx1ZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5sb2dzLmJhY2t1cC1jb3VudDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImJhY2t1cENvdW50IiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdsb2dzLmxvY2FsLlwnICsgbG9nU2VsZWN0b3IudmFsdWUgKyBcJy5iYWNrdXBDb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLmJhY2t1cC1jb3VudC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2xvZ3MubG9jYWwuXCcgKyBsb2dTZWxlY3Rvci52YWx1ZSArIFwnLmJhY2t1cENvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLmJhY2t1cC1jb3VudC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5iYWNrdXAtY291bnRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuc3RvcmFnZVwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT0ic3RvcmFnZSIgY2xhc3M9Im1hdC1jb250ZW50IG1hdC1wYWRkaW5nIGNvbmZpZ3VyYXRpb24tYmxvY2siPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIj5cbiAgICAgICAgICA8ZGl2IHRyYW5zbGF0ZSBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSI+Z2F0ZXdheS5zdG9yYWdlPC9kaXY+XG4gICAgICAgICAgPGRpdiB0cmFuc2xhdGUgY2xhc3M9InRiLWZvcm0tcGFuZWwtaGludCI+Z2F0ZXdheS5oaW50cy5zdG9yYWdlPC9kaXY+XG4gICAgICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgY2xhc3M9InRvZ2dsZS1ncm91cCIgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IHN0b3JhZ2VUeXBlIG9mIHN0b3JhZ2VUeXBlcyIgW3ZhbHVlXT0ic3RvcmFnZVR5cGUiPlxuICAgICAgICAgICAgICB7eyBzdG9yYWdlVHlwZXNUcmFuc2xhdGlvbk1hcC5nZXQoc3RvcmFnZVR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtaGludCI+e3sgXCdnYXRld2F5LmhpbnRzLlwnICsgYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS50eXBlXCcpLnZhbHVlIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLnR5cGVcJykudmFsdWUiPlxuICAgICAgICAgICAgPHNlY3Rpb24gKm5nU3dpdGNoQ2FzZT0iU3RvcmFnZVR5cGVzLk1FTU9SWSIgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVhZF9yZWNvcmRzX2NvdW50Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5yZWFkX3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5yZWFkX3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLnJlYWRfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLnJlYWQtcmVjb3JkLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcmFnZS1tYXgtcmVjb3JkczwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWF4X3JlY29yZHNfY291bnQiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMubWF4LXJlY29yZHMtY291bnRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8c2VjdGlvbiAqbmdTd2l0Y2hDYXNlPSJTdG9yYWdlVHlwZXMuRklMRSI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtZGF0YS1mb2xkZXItcGF0aDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YV9mb2xkZXJfcGF0aCIvPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5kYXRhX2ZvbGRlcl9wYXRoXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXQtZm9ybS1maWVsZC1pbmZpeCBwb2ludGVyLWV2ZW50IHN1ZmZpeC1pY29uIiBhcmlhLWhpZGRlbj0iZmFsc2UiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0iaGVscC1pY29uIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5kYXRhLWZvbGRlclwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIGZvcm1Db250cm9sTmFtZT0ibWF4X2ZpbGVfY291bnQiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X2ZpbGVfY291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X2ZpbGVfY291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXMtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tYXhfZmlsZV9jb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXMtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1heC1maWxlLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1heF9yZWFkX3JlY29yZHNfY291bnQiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlYWRfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tYXhfcmVhZF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlYWRfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1heC1yZWFkLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdG9yYWdlLW1heC1maWxlLXJlY29yZHM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIGZvcm1Db250cm9sTmFtZT0ibWF4X3JlY29yZHNfcGVyX2ZpbGUiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlY29yZHNfcGVyX2ZpbGVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tYXhfcmVjb3Jkc19wZXJfZmlsZVwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlY29yZHNfcGVyX2ZpbGVcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1heC1yZWNvcmRzXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8c2VjdGlvbiAqbmdTd2l0Y2hDYXNlPSJTdG9yYWdlVHlwZXMuU1FMSVRFIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcmFnZS1wYXRoPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJkYXRhX2ZpbGVfcGF0aCIvPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5kYXRhX2ZpbGVfcGF0aFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtcGF0aC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmRhdGEtZm9sZGVyXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5tZXNzYWdlcy10dGwtY2hlY2staW4taG91cnM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIGZvcm1Db250cm9sTmFtZT0ibWVzc2FnZXNfdHRsX2NoZWNrX2luX2hvdXJzIi8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9jaGVja19pbl9ob3Vyc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWVzc2FnZXNfdHRsX2NoZWNrX2luX2hvdXJzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9jaGVja19pbl9ob3Vyc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy50dGwtY2hlY2staG91clwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5tZXNzYWdlcy10dGwtaW4tZGF5czwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIGZvcm1Db250cm9sTmFtZT0ibWVzc2FnZXNfdHRsX2luX2RheXMiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9pbl9kYXlzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1lc3NhZ2VzLXR0bC1pbi1kYXlzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9pbl9kYXlzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXNzYWdlcy10dGwtaW4tZGF5cy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWVzc2FnZXNfdHRsX2luX2RheXNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXNzYWdlcy10dGwtaW4tZGF5cy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMudHRsLW1lc3NhZ2VzLWRheVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZ3JwY1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT0iZ3JwYyIgY2xhc3M9Im1hdC1jb250ZW50IG1hdC1wYWRkaW5nIGNvbmZpZ3VyYXRpb24tYmxvY2siPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBjb2xvcj0icHJpbWFyeSIgZm9ybUNvbnRyb2xOYW1lPSJlbmFibGVkIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjXCcgIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDxkaXYgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5wZXJtaXQtd2l0aG91dC1jYWxsc1wnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGNvbG9yPSJwcmltYXJ5IiBmb3JtQ29udHJvbE5hbWU9ImtlZXBhbGl2ZVBlcm1pdFdpdGhvdXRDYWxscyI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5wZXJtaXQtd2l0aG91dC1jYWxsc1wnICB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc2VydmVyLXBvcnQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJzZXJ2ZXJQb3J0IiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5zZXJ2ZXItcG9ydFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLnNlcnZlclBvcnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5zZXJ2ZXJQb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5zZXJ2ZXJQb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LW1heFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5zZXJ2ZXJQb3J0XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmdycGMta2VlcC1hbGl2ZS10aW1lb3V0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ia2VlcEFsaXZlVGltZW91dE1zIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5ncnBjLWtlZXAtYWxpdmUtdGltZW91dFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLmtlZXBBbGl2ZVRpbWVvdXRNc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtdGltZW91dC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5rZWVwQWxpdmVUaW1lb3V0TXNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMta2VlcC1hbGl2ZS10aW1lb3V0LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5rZWVwQWxpdmVUaW1lb3V0TXNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtdGltZW91dC1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmdycGMta2VlcC1hbGl2ZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImtlZXBBbGl2ZVRpbWVNcyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZ3JwYy1rZWVwLWFsaXZlXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMua2VlcEFsaXZlVGltZU1zXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMta2VlcC1hbGl2ZS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5rZWVwQWxpdmVUaW1lTXNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMta2VlcC1hbGl2ZS1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMua2VlcEFsaXZlVGltZU1zXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1rZWVwLWFsaXZlLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWluVGltZUJldHdlZW5QaW5nc01zIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5ncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3NcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5taW5UaW1lQmV0d2VlblBpbmdzTXNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLm1pblRpbWVCZXR3ZWVuUGluZ3NNc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5taW5UaW1lQmV0d2VlblBpbmdzTXNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5ncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGE8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtYXhQaW5nc1dpdGhvdXREYXRhIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5ncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGFcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5tYXhQaW5nc1dpdGhvdXREYXRhXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5tYXhQaW5nc1dpdGhvdXREYXRhXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLm1heFBpbmdzV2l0aG91dERhdGFcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5ncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1pblBpbmdJbnRlcnZhbFdpdGhvdXREYXRhTXMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWluUGluZ0ludGVydmFsV2l0aG91dERhdGFNc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5taW5QaW5nSW50ZXJ2YWxXaXRob3V0RGF0YU1zXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWluUGluZ0ludGVydmFsV2l0aG91dERhdGFNc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5zdGF0aXN0aWNzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy10ZW1wbGF0ZSBtYXRUYWJDb250ZW50PlxuICAgICAgPGRpdiBmb3JtR3JvdXBOYW1lPSJ0aGluZ3Nib2FyZCIgY2xhc3M9Im1hdC1jb250ZW50IG1hdC1wYWRkaW5nIGNvbmZpZ3VyYXRpb24tYmxvY2siPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIiBmb3JtR3JvdXBOYW1lPSJzdGF0aXN0aWNzIj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjb2xvcj0icHJpbWFyeSIgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJlbmFibGUiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3Muc3RhdGlzdGljc1wnICB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3Muc2VuZC1wZXJpb2Q8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InN0YXRzU2VuZFBlcmlvZEluU2Vjb25kcyIgdHlwZT0ibnVtYmVyIiBtaW49IjYwIi8+XG4gICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zdGF0aXN0aWNzLnN0YXRzU2VuZFBlcmlvZEluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3Muc2VuZC1wZXJpb2QtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zdGF0aXN0aWNzLnN0YXRzU2VuZFBlcmlvZEluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnNlbmQtcGVyaW9kLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnN0YXRpc3RpY3Muc3RhdHNTZW5kUGVyaW9kSW5TZWNvbmRzXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnNlbmQtcGVyaW9kLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3MuY29tbWFuZHM8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLWhpbnQiIHRyYW5zbGF0ZT5nYXRld2F5LmhpbnRzLmNvbW1hbmRzPC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBmb3JtR3JvdXBOYW1lPSJzdGF0aXN0aWNzIj5cbiAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9InJvdyIgZm9ybUFycmF5TmFtZT0iY29tbWFuZHMiIGNsYXNzPSJzdGF0aXN0aWNzLWNvbnRhaW5lciJcbiAgICAgICAgICAgICAgICAgKm5nRm9yPSJsZXQgY29tbWFuZENvbnRyb2wgb2YgY29tbWFuZEZvcm1BcnJheSgpLmNvbnRyb2xzOyBsZXQgJGluZGV4ID0gaW5kZXgiPlxuICAgICAgICAgICAgICA8c2VjdGlvbiBbZm9ybUdyb3VwTmFtZV09IiRpbmRleCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCBuby1wYWRkaW5nLWJvdHRvbSBuby1nYXAgY29tbWFuZC1jb250YWluZXIiPlxuICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RhdGlzdGljcy5hdHRyaWJ1dGUtbmFtZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJhdHRyaWJ1dGVPbkdhdGV3YXkiLz5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZENvbnRyb2wuZ2V0KFwnYXR0cmlidXRlT25HYXRld2F5XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmF0dHJpYnV0ZS1uYW1lLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuYXR0cmlidXRlXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3MudGltZW91dDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ0aW1lb3V0IiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb21tYW5kQ29udHJvbC5nZXQoXCd0aW1lb3V0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnRpbWVvdXQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZENvbnRyb2wuZ2V0KFwndGltZW91dFwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MudGltZW91dC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZENvbnRyb2wuZ2V0KFwndGltZW91dFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnRpbWVvdXQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLnRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImNvbW1hbmQiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbW1hbmRDb250cm9sLmdldChcJ2NvbW1hbmRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb21tYW5kQ29udHJvbC5nZXQoXCdjb21tYW5kXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmNvbW1hbmRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9InJlbW92ZUNvbW1hbmRDb250cm9sKCRpbmRleCwgJGV2ZW50KSJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItYm94LWJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPSIhYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucmVtb3RlQ29uZmlndXJhdGlvblwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5yZW1vdmVcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IGZpdC1jb250ZW50OyJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPSIhYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucmVtb3RlQ29uZmlndXJhdGlvblwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iYWRkQ29tbWFuZCgpIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuYWRkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5vdGhlclwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT0idGhpbmdzYm9hcmQiIGNsYXNzPSJtYXQtY29udGVudCBtYXQtcGFkZGluZyBjb25maWd1cmF0aW9uLWJsb2NrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCIgZm9ybUdyb3VwTmFtZT0iY2hlY2tpbmdEZXZpY2VBY3Rpdml0eSJcbiAgICAgICAgICAgICBbY2xhc3Mubm8tcGFkZGluZy1ib3R0b21dPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja2luZ0RldmljZUFjdGl2aXR5LmNoZWNrRGV2aWNlSW5hY3Rpdml0eVwnKS52YWx1ZSI+XG4gICAgICAgICAgPGRpdiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLmNoZWNrLWRldmljZS1hY3Rpdml0eVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGNvbG9yPSJwcmltYXJ5IiBmb3JtQ29udHJvbE5hbWU9ImNoZWNrRGV2aWNlSW5hY3Rpdml0eSI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5jaGVja2luZy1kZXZpY2UtYWN0aXZpdHlcJyAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyJcbiAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5jaGVja0RldmljZUluYWN0aXZpdHlcJykudmFsdWUiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5pbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kczwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJpbmFjdGl2aXR5VGltZW91dFNlY29uZHMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5pbmFjdGl2aXR5VGltZW91dFNlY29uZHNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5pbmFjdGl2aXR5VGltZW91dFNlY29uZHNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja2luZ0RldmljZUFjdGl2aXR5LmluYWN0aXZpdHlUaW1lb3V0U2Vjb25kc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuaW5hY3Rpdml0eS10aW1lb3V0XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBmb3JtQ29udHJvbE5hbWU9ImluYWN0aXZpdHlDaGVja1BlcmlvZFNlY29uZHMiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja2luZ0RldmljZUFjdGl2aXR5LmluYWN0aXZpdHlDaGVja1BlcmlvZFNlY29uZHNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja2luZ0RldmljZUFjdGl2aXR5LmluYWN0aXZpdHlDaGVja1BlcmlvZFNlY29uZHNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LWNoZWNrLXBlcmlvZC1zZWNvbmRzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNraW5nRGV2aWNlQWN0aXZpdHkuaW5hY3Rpdml0eUNoZWNrUGVyaW9kU2Vjb25kc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LWNoZWNrLXBlcmlvZC1zZWNvbmRzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5pbmFjdGl2aXR5LXBlcmlvZFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tcGFkZGluZy1ib3R0b20iPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LmFkdmFuY2VkPC9kaXY+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5taW4tcGFjay1zZW5kLWRlbGF5PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1pblBhY2tTZW5kRGVsYXlNUyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWluUGFja1NlbmREZWxheU1TXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5taW4tcGFjay1zZW5kLWRlbGF5LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1pblBhY2tTZW5kRGVsYXlNU1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1pbi1wYWNrLXNlbmQtZGVsYXktbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWluUGFja1NlbmREZWxheU1TXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1pbi1wYWNrLXNlbmQtZGVsYXktcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1pbmltYWwtcGFjay1kZWxheVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5tcXR0LXFvczwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJxb3MiIHR5cGU9Im51bWJlciIgbWluPSIwIiBtYXg9IjEiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucW9zXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tcXR0LXFvcy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5xb3NcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tcXR0LXFvcy1yYW5nZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5xb3NcJykuaGFzRXJyb3IoXCdtYXhcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tcXR0LXFvcy1yYW5nZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLnFvc1wnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3MuY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImNoZWNrQ29ubmVjdG9yc0NvbmZpZ3VyYXRpb25JblNlY29uZHMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tDb25uZWN0b3JzQ29uZmlndXJhdGlvbkluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5jaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja0Nvbm5lY3RvcnNDb25maWd1cmF0aW9uSW5TZWNvbmRzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5jaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tDb25uZWN0b3JzQ29uZmlndXJhdGlvbkluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbi1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLm1heC1wYXlsb2FkLXNpemUtYnl0ZXM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWF4UGF5bG9hZFNpemVCeXRlcyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5tYXhQYXlsb2FkU2l6ZUJ5dGVzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLm1heC1wYXlsb2FkLXNpemUtYnl0ZXMtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5tYXhQYXlsb2FkU2l6ZUJ5dGVzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5tYXgtcGF5bG9hZC1zaXplLWJ5dGVzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1heFBheWxvYWRTaXplQnl0ZXNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5tYXgtcGF5bG9hZC1zaXplLWJ5dGVzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5tYXgtcGF5bG9hZC1zaXplLWJ5dGVzXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RhdGlzdGljcy5taW4tcGFjay1zaXplLXRvLXNlbmQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWluUGFja1NpemVUb1NlbmQiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWluUGFja1NpemVUb1NlbmRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MubWluLXBhY2stc2l6ZS10by1zZW5kLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWluUGFja1NpemVUb1NlbmRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLm1pbi1wYWNrLXNpemUtdG8tc2VuZC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5taW5QYWNrU2l6ZVRvU2VuZFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLm1pbi1wYWNrLXNpemUtdG8tc2VuZC1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMubWluLXBhY2stc2l6ZS10by1zZW5kXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLXJvd3M6bWluLWNvbnRlbnQgbWlubWF4KGF1dG8sMWZyKSBtaW4tY29udGVudH06aG9zdCAuY29uZmlndXJhdGlvbi1ibG9ja3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxNnB4O21heC1oZWlnaHQ6NzB2aH06aG9zdCAuZGlhbG9nLW1vZGUgLmNvbmZpZ3VyYXRpb24tYmxvY2t7bWF4LWhlaWdodDo2MHZofTpob3N0IC5tYXQtdG9vbGJhcntncmlkLXJvdzoxO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6IzAwMDAwMGRlIWltcG9ydGFudH06aG9zdCAudGFiLWdyb3VwLWJsb2Nre21pbi13aWR0aDowO2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6MDtncmlkLXJvdzoyfTpob3N0IC50b2dnbGUtZ3JvdXB7bWFyZ2luLXJpZ2h0OmF1dG99Omhvc3QgLmZpcnN0LWNhcGl0YWx7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZX06aG9zdCB0ZXh0YXJlYXtyZXNpemU6bm9uZX06aG9zdCAuc2F2aW5nLXBlcmlvZHtmbGV4OjF9Omhvc3QgLnN0YXRpc3RpY3MtY29udGFpbmVye3dpZHRoOjEwMCV9Omhvc3QgLnN0YXRpc3RpY3MtY29udGFpbmVyIC5jb21tYW5kLWNvbnRhaW5lcnt3aWR0aDoxMDAlfTpob3N0IG1hdC1mb3JtLWZpZWxkIG1hdC1lcnJvcntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fTpob3N0IG1hdC1mb3JtLWZpZWxkIG1hdC1lcnJvcjpmaXJzdC1jaGlsZHtkaXNwbGF5OmJsb2NrIWltcG9ydGFudH06aG9zdCA6Om5nLWRlZXAgLnBvaW50ZXItZXZlbnR7cG9pbnRlci1ldmVudHM6YWxsfTpob3N0IDo6bmctZGVlcCAudG9nZ2xlLWdyb3VwIHNwYW57cGFkZGluZzowIDI1cHh9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLWZvcm0tZmllbGQtaWNvbi1zdWZmaXh7Y29sb3I6I2UwZTBlMH06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtZm9ybS1maWVsZC1pY29uLXN1ZmZpeDpob3Zlcntjb2xvcjojOWU5ZTllfTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTpYLkRldmljZVNlcnZpY2V9LHt0eXBlOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9LHt0eXBlOkplLk1hdERpYWxvZ31dLHByb3BEZWNvcmF0b3JzOntkZXZpY2U6W3t0eXBlOmF9XSxkaWFsb2dNb2RlOlt7dHlwZTphfV0saW5pdGlhbENyZWRlbnRpYWxzVXBkYXRlZDpbe3R5cGU6bH1dfX0pO2NsYXNzIFBve2NvbnN0cnVjdG9yKGUpe3RoaXMuZmI9ZSx0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLmFkdmFuY2VkRm9ybUNvbnRyb2w9dGhpcy5mYi5jb250cm9sKCIiKSx0aGlzLmFkdmFuY2VkRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMub25DaGFuZ2UoZSksdGhpcy5vblRvdWNoZWQoKX0pKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMub25DaGFuZ2U9ZX1yZWdpc3Rlck9uVG91Y2hlZChlKXt0aGlzLm9uVG91Y2hlZD1lfXdyaXRlVmFsdWUoZSl7dGhpcy5hZHZhbmNlZEZvcm1Db250cm9sLnJlc2V0KGUse2VtaXRFdmVudDohMX0pfXZhbGlkYXRlKCl7cmV0dXJuIHRoaXMuYWR2YW5jZWRGb3JtQ29udHJvbC52YWxpZD9udWxsOnthZHZhbmNlZEZvcm1Db250cm9sOnt2YWxpZDohMX19fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6UG8sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpQbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLWdhdGV3YXktYWR2YW5jZWQtY29uZmlndXJhdGlvbiIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+UG8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PlBvKSksbXVsdGk6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuXG48dGItanNvbi1vYmplY3QtZWRpdFxuICBmaWxsSGVpZ2h0PSJ0cnVlIlxuICBjbGFzcz0idGItZmxleCBjb25maWctY29udGFpbmVyIlxuICBmeExheW91dD0iY29sdW1uIlxuICBqc29uUmVxdWlyZWRcbiAgbGFiZWw9Int7IFwnZ2F0ZXdheS5jb25maWd1cmF0aW9uXCcgfCB0cmFuc2xhdGUgfX0iXG4gIFtmb3JtQ29udHJvbF09ImFkdmFuY2VkRm9ybUNvbnRyb2wiXG4vPlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC5jb25maWctY29udGFpbmVye2hlaWdodDpjYWxjKDEwMCUgLSA2MHB4KTtwYWRkaW5nOjhweH1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZ0Lkpzb25PYmplY3RFZGl0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi1qc29uLW9iamVjdC1lZGl0IixpbnB1dHM6WyJsYWJlbCIsImRpc2FibGVkIiwiZmlsbEhlaWdodCIsImVkaXRvclN0eWxlIiwic29ydCIsImpzb25SZXF1aXJlZCIsInJlYWRvbmx5Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2wiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV19KX19ZSgiR2F0ZXdheUFkdmFuY2VkQ29uZmlndXJhdGlvbkNvbXBvbmVudCIsUG8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6UG8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktYWR2YW5jZWQtY29uZmlndXJhdGlvbiIsc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILERdLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PlBvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5QbykpLG11bHRpOiEwfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG5cbjx0Yi1qc29uLW9iamVjdC1lZGl0XG4gIGZpbGxIZWlnaHQ9InRydWUiXG4gIGNsYXNzPSJ0Yi1mbGV4IGNvbmZpZy1jb250YWluZXIiXG4gIGZ4TGF5b3V0PSJjb2x1bW4iXG4gIGpzb25SZXF1aXJlZFxuICBsYWJlbD0ie3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSJcbiAgW2Zvcm1Db250cm9sXT0iYWR2YW5jZWRGb3JtQ29udHJvbCJcbi8+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLmNvbmZpZy1jb250YWluZXJ7aGVpZ2h0OmNhbGMoMTAwJSAtIDYwcHgpO3BhZGRpbmc6OHB4fVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9XX0pO2NsYXNzIEdve2NvbnN0cnVjdG9yKGUsdCxuLGEpe3RoaXMuZmI9ZSx0aGlzLmF0dHJpYnV0ZVNlcnZpY2U9dCx0aGlzLmRldmljZVNlcnZpY2U9bix0aGlzLmNkPWEsdGhpcy5Db25maWd1cmF0aW9uTW9kZXM9b24sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5nYXRld2F5Q29uZmlnQXR0cmlidXRlS2V5cz1bImdlbmVyYWxfY29uZmlndXJhdGlvbiIsImdycGNfY29uZmlndXJhdGlvbiIsImxvZ3NfY29uZmlndXJhdGlvbiIsInN0b3JhZ2VfY29uZmlndXJhdGlvbiIsIlJlbW90ZUxvZ2dpbmdMZXZlbCIsIm1vZGUiXSx0aGlzLmdhdGV3YXlDb25maWdHcm91cD10aGlzLmZiLmdyb3VwKHtiYXNpY0NvbmZpZzpbXSxhZHZhbmNlZENvbmZpZzpbXSxtb2RlOltvbi5CQVNJQ119KSx0aGlzLm9ic2VydmVBbGlnbkNvbmZpZ3MoKX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLmZldGNoQ29uZmlnQXR0cmlidXRlKHRoaXMuZGV2aWNlKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1zYXZlQ29uZmlnKCl7Y29uc3R7bW9kZTplLGFkdmFuY2VkQ29uZmlnOnR9PXBlKHRoaXMucmVtb3ZlRW1wdHkodGhpcy5nYXRld2F5Q29uZmlnR3JvdXAudmFsdWUpKSxuPXttb2RlOmUsLi4udH07bi50aGluZ3Nib2FyZC5zdGF0aXN0aWNzLmNvbW1hbmRzPU9iamVjdC52YWx1ZXMobi50aGluZ3Nib2FyZC5zdGF0aXN0aWNzLmNvbW1hbmRzPz9bXSk7Y29uc3QgYT10aGlzLmdlbmVyYXRlQXR0cmlidXRlcyhuKTt0aGlzLmF0dHJpYnV0ZVNlcnZpY2Uuc2F2ZUVudGl0eUF0dHJpYnV0ZXModGhpcy5kZXZpY2UsTC5TSEFSRURfU0NPUEUsYSkucGlwZShVZSgoZT0+dGhpcy51cGRhdGVDcmVkZW50aWFscyhuLnRoaW5nc2JvYXJkLnNlY3VyaXR5KSkpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5kaWFsb2dSZWY/dGhpcy5kaWFsb2dSZWYuY2xvc2UoKToodGhpcy5nYXRld2F5Q29uZmlnR3JvdXAubWFya0FzUHJpc3RpbmUoKSx0aGlzLmNkLmRldGVjdENoYW5nZXMoKSl9KSl9b2JzZXJ2ZUFsaWduQ29uZmlncygpe3RoaXMuZ2F0ZXdheUNvbmZpZ0dyb3VwLmdldCgiYmFzaWNDb25maWciKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57Y29uc3QgdD10aGlzLmdhdGV3YXlDb25maWdHcm91cC5nZXQoImFkdmFuY2VkQ29uZmlnIik7ZWUodC52YWx1ZSxlKXx8dGhpcy5nYXRld2F5Q29uZmlnR3JvdXAuZ2V0KCJtb2RlIikudmFsdWUhPT1vbi5CQVNJQ3x8dC5wYXRjaFZhbHVlKGUse2VtaXRFdmVudDohMX0pfSkpLHRoaXMuZ2F0ZXdheUNvbmZpZ0dyb3VwLmdldCgiYWR2YW5jZWRDb25maWciKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57Y29uc3QgdD10aGlzLmdhdGV3YXlDb25maWdHcm91cC5nZXQoImJhc2ljQ29uZmlnIik7ZWUodC52YWx1ZSxlKXx8dGhpcy5nYXRld2F5Q29uZmlnR3JvdXAuZ2V0KCJtb2RlIikudmFsdWUhPT1vbi5BRFZBTkNFRHx8dC5wYXRjaFZhbHVlKGUse2VtaXRFdmVudDohMX0pfSkpfWdlbmVyYXRlQXR0cmlidXRlcyhlKXtjb25zdCB0PVtdLG49KGUsbik9Pnt0LnB1c2goe2tleTplLHZhbHVlOm59KX0sYT0oZSx0KT0+e3Q9ey4uLnQsdHM6KG5ldyBEYXRlKS5nZXRUaW1lKCl9LG4oZSx0KX07cmV0dXJuIG4oIlJlbW90ZUxvZ2dpbmdMZXZlbCIsZS5sb2dzPy5yZW1vdGU/LmVuYWJsZWQ/ZS5sb2dzLnJlbW90ZS5sb2dMZXZlbDpNdC5OT05FKSxkZWxldGUgZS5jb25uZWN0b3JzLG4oImxvZ3NfY29uZmlndXJhdGlvbiIsdGhpcy5nZW5lcmF0ZUxvZ3NGaWxlKGUubG9ncykpLGEoImdycGNfY29uZmlndXJhdGlvbiIsZS5ncnBjKSxhKCJzdG9yYWdlX2NvbmZpZ3VyYXRpb24iLGUuc3RvcmFnZSksYSgiZ2VuZXJhbF9jb25maWd1cmF0aW9uIixlLnRoaW5nc2JvYXJkKSxuKCJtb2RlIixlLm1vZGUpLHR9dXBkYXRlQ3JlZGVudGlhbHMoZSl7bGV0IHQ9e307c3dpdGNoKGUudHlwZSl7Y2FzZSBWdC5VU0VSTkFNRV9QQVNTV09SRDp0aGlzLnNob3VsZFVwZGF0ZUNyZWRlbnRpYWxzKGUpJiYodD10aGlzLmdlbmVyYXRlTXF0dENyZWRlbnRpYWxzKGUpKTticmVhaztjYXNlIFZ0LkFDQ0VTU19UT0tFTjpjYXNlIFZ0LlRMU19BQ0NFU1NfVE9LRU46dGhpcy5zaG91bGRVcGRhdGVBY2Nlc3NUb2tlbihlKSYmKHQ9e2NyZWRlbnRpYWxzVHlwZTpVLkFDQ0VTU19UT0tFTixjcmVkZW50aWFsc0lkOmUuYWNjZXNzVG9rZW59KX1yZXR1cm4gT2JqZWN0LmtleXModCkubGVuZ3RoP3RoaXMuZGV2aWNlU2VydmljZS5zYXZlRGV2aWNlQ3JlZGVudGlhbHMoey4uLnRoaXMuaW5pdGlhbENyZWRlbnRpYWxzLC4uLnR9KTpJZShudWxsKX1zaG91bGRVcGRhdGVDcmVkZW50aWFscyhlKXtpZih0aGlzLmluaXRpYWxDcmVkZW50aWFscy5jcmVkZW50aWFsc1R5cGUhPT1VLk1RVFRfQkFTSUMpcmV0dXJuITA7Y29uc3QgdD1KU09OLnBhcnNlKHRoaXMuaW5pdGlhbENyZWRlbnRpYWxzLmNyZWRlbnRpYWxzVmFsdWUpO3JldHVybiEodC5jbGllbnRJZD09PWUuY2xpZW50SWQmJnQudXNlck5hbWU9PT1lLnVzZXJuYW1lJiZ0LnBhc3N3b3JkPT09ZS5wYXNzd29yZCl9Z2VuZXJhdGVNcXR0Q3JlZGVudGlhbHMoZSl7Y29uc3R7Y2xpZW50SWQ6dCx1c2VybmFtZTpuLHBhc3N3b3JkOmF9PWUsbz17Li4udCYme2NsaWVudElkOnR9LC4uLm4mJnt1c2VyTmFtZTpufSwuLi5hJiZ7cGFzc3dvcmQ6YX19O3JldHVybntjcmVkZW50aWFsc1R5cGU6VS5NUVRUX0JBU0lDLGNyZWRlbnRpYWxzVmFsdWU6SlNPTi5zdHJpbmdpZnkobyl9fXNob3VsZFVwZGF0ZUFjY2Vzc1Rva2VuKGUpe3JldHVybiB0aGlzLmluaXRpYWxDcmVkZW50aWFscy5jcmVkZW50aWFsc1R5cGUhPT1VLkFDQ0VTU19UT0tFTnx8dGhpcy5pbml0aWFsQ3JlZGVudGlhbHMuY3JlZGVudGlhbHNJZCE9PWUuYWNjZXNzVG9rZW59Y2FuY2VsKCl7dGhpcy5kaWFsb2dSZWYmJnRoaXMuZGlhbG9nUmVmLmNsb3NlKCl9cmVtb3ZlRW1wdHkoZSl7cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhlKS5maWx0ZXIoKChbZSx0XSk9Pm51bGwhPXQpKS5tYXAoKChbZSx0XSk9PltlLHQ9PT1PYmplY3QodCk/dGhpcy5yZW1vdmVFbXB0eSh0KTp0XSkpKX1nZW5lcmF0ZUxvZ3NGaWxlKGUpe2NvbnN0IHQ9e3ZlcnNpb246MSxkaXNhYmxlX2V4aXN0aW5nX2xvZ2dlcnM6ITEsZm9ybWF0dGVyczp7TG9nRm9ybWF0dGVyOntjbGFzczoibG9nZ2luZy5Gb3JtYXR0ZXIiLGZvcm1hdDplLmxvZ0Zvcm1hdCxkYXRlZm10OmUuZGF0ZUZvcm1hdH19LGhhbmRsZXJzOntjb25zb2xlSGFuZGxlcjp7Y2xhc3M6ImxvZ2dpbmcuU3RyZWFtSGFuZGxlciIsZm9ybWF0dGVyOiJMb2dGb3JtYXR0ZXIiLGxldmVsOjAsc3RyZWFtOiJleHQ6Ly9zeXMuc3Rkb3V0In0sZGF0YWJhc2VIYW5kbGVyOntjbGFzczoidGhpbmdzYm9hcmRfZ2F0ZXdheS50Yl91dGlsaXR5LnRiX2hhbmRsZXIuVGltZWRSb3RhdGluZ0ZpbGVIYW5kbGVyIixmb3JtYXR0ZXI6IkxvZ0Zvcm1hdHRlciIsZmlsZW5hbWU6Ii4vbG9ncy9kYXRhYmFzZS5sb2ciLGJhY2t1cENvdW50OjEsZW5jb2Rpbmc6InV0Zi04In19LGxvZ2dlcnM6e2RhdGFiYXNlOntoYW5kbGVyczpbImRhdGFiYXNlSGFuZGxlciIsImNvbnNvbGVIYW5kbGVyIl0sbGV2ZWw6IkRFQlVHIixwcm9wYWdhdGU6ITF9fSxyb290OntsZXZlbDoiRVJST1IiLGhhbmRsZXJzOlsiY29uc29sZUhhbmRsZXIiXX0sdHM6KG5ldyBEYXRlKS5nZXRUaW1lKCl9O3JldHVybiB0aGlzLmFkZExvY2FsTG9nZ2Vycyh0LGUubG9jYWwpLHR9YWRkTG9jYWxMb2dnZXJzKGUsdCl7Zm9yKGNvbnN0IG4gb2YgT2JqZWN0LmtleXModCkpZS5oYW5kbGVyc1tuKyJIYW5kbGVyIl09dGhpcy5jcmVhdGVIYW5kbGVyT2JqKHRbbl0sbiksZS5sb2dnZXJzW25dPXRoaXMuY3JlYXRlTG9nZ2VyT2JqKHRbbl0sbil9Y3JlYXRlSGFuZGxlck9iaihlLHQpe3JldHVybntjbGFzczoidGhpbmdzYm9hcmRfZ2F0ZXdheS50Yl91dGlsaXR5LnRiX2hhbmRsZXIuVGltZWRSb3RhdGluZ0ZpbGVIYW5kbGVyIixmb3JtYXR0ZXI6IkxvZ0Zvcm1hdHRlciIsZmlsZW5hbWU6YCR7ZS5maWxlUGF0aH0vJHt0fS5sb2dgLGJhY2t1cENvdW50OmUuYmFja3VwQ291bnQsaW50ZXJ2YWw6ZS5zYXZpbmdUaW1lLHdoZW46ZS5zYXZpbmdQZXJpb2QsZW5jb2Rpbmc6InV0Zi04In19Y3JlYXRlTG9nZ2VyT2JqKGUsdCl7cmV0dXJue2hhbmRsZXJzOltgJHt0fUhhbmRsZXJgLCJjb25zb2xlSGFuZGxlciJdLGxldmVsOmUubG9nTGV2ZWwscHJvcGFnYXRlOiExfX1mZXRjaENvbmZpZ0F0dHJpYnV0ZShlKXtlLmlkIT09ayYmdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLmdldEVudGl0eUF0dHJpYnV0ZXMoZSxMLkNMSUVOVF9TQ09QRSkucGlwZShfZSgodD0+dC5sZW5ndGg/SWUodCk6dGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLmdldEVudGl0eUF0dHJpYnV0ZXMoZSxMLlNIQVJFRF9TQ09QRSx0aGlzLmdhdGV3YXlDb25maWdBdHRyaWJ1dGVLZXlzKSkpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLnVwZGF0ZUNvbmZpZ3MoZSksdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCl9KSl9dXBkYXRlQ29uZmlncyhlKXtjb25zdCB0PXt0aGluZ3Nib2FyZDp7fSxncnBjOnt9LGxvZ3M6e30sc3RvcmFnZTp7fSxtb2RlOm9uLkJBU0lDfTtlLmZvckVhY2goKGU9Pntzd2l0Y2goZS5rZXkpe2Nhc2UiZ2VuZXJhbF9jb25maWd1cmF0aW9uIjp0LnRoaW5nc2JvYXJkPWUudmFsdWUsdGhpcy51cGRhdGVGb3JtQ29udHJvbHMoZS52YWx1ZSk7YnJlYWs7Y2FzZSJncnBjX2NvbmZpZ3VyYXRpb24iOnQuZ3JwYz1lLnZhbHVlO2JyZWFrO2Nhc2UibG9nc19jb25maWd1cmF0aW9uIjp0LmxvZ3M9dGhpcy5sb2dzVG9PYmooZS52YWx1ZSk7YnJlYWs7Y2FzZSJzdG9yYWdlX2NvbmZpZ3VyYXRpb24iOnQuc3RvcmFnZT1lLnZhbHVlO2JyZWFrO2Nhc2UibW9kZSI6dC5tb2RlPWUudmFsdWU7YnJlYWs7Y2FzZSJSZW1vdGVMb2dnaW5nTGV2ZWwiOnQubG9ncz17Li4udC5sb2dzLHJlbW90ZTp7ZW5hYmxlZDplLnZhbHVlIT09TXQuTk9ORSxsb2dMZXZlbDplLnZhbHVlfX19fSkpLHRoaXMuZ2F0ZXdheUNvbmZpZ0dyb3VwLmdldCgiYmFzaWNDb25maWciKS5zZXRWYWx1ZSh0LHtlbWl0RXZlbnQ6ITF9KSx0aGlzLmdhdGV3YXlDb25maWdHcm91cC5nZXQoImFkdmFuY2VkQ29uZmlnIikuc2V0VmFsdWUodCx7ZW1pdEV2ZW50OiExfSl9dXBkYXRlRm9ybUNvbnRyb2xzKGUpe2NvbnN0e3R5cGU6dCxhY2Nlc3NUb2tlbjpuLC4uLmF9PWUuc2VjdXJpdHk/P3t9O3RoaXMuaW5pdGlhbENyZWRlbnRpYWxzPXtkZXZpY2VJZDp0aGlzLmRldmljZSxjcmVkZW50aWFsc1R5cGU6dCxjcmVkZW50aWFsc0lkOm4sY3JlZGVudGlhbHNWYWx1ZTpKU09OLnN0cmluZ2lmeShhKX19bG9nc1RvT2JqKGUpe2NvbnN0e2Zvcm1hdDp0LGRhdGVmbXQ6bn09ZS5mb3JtYXR0ZXJzLkxvZ0Zvcm1hdHRlcjtyZXR1cm57bG9jYWw6T2JqZWN0LmtleXMoUHQpLnJlZHVjZSgoKHQsbik9Pntjb25zdCBhPWUuaGFuZGxlcnNbYCR7bn1IYW5kbGVyYF18fHt9LG89ZS5sb2dnZXJzW25dfHx7fTtyZXR1cm4gdFtuXT17bG9nTGV2ZWw6by5sZXZlbHx8TXQuSU5GTyxmaWxlUGF0aDphLmZpbGVuYW1lPy5zcGxpdChgLyR7bn1gKVswXXx8Ii4vbG9ncyIsYmFja3VwQ291bnQ6YS5iYWNrdXBDb3VudHx8NyxzYXZpbmdUaW1lOmEuaW50ZXJ2YWx8fDMsc2F2aW5nUGVyaW9kOmEud2hlbnx8RHQuZGF5c30sdH0pLHt9KSxsb2dGb3JtYXQ6dCxkYXRlRm9ybWF0Om59fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6R28sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfSx7dG9rZW46WC5BdHRyaWJ1dGVTZXJ2aWNlfSx7dG9rZW46WC5EZXZpY2VTZXJ2aWNlfSx7dG9rZW46dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6R28sc2VsZWN0b3I6InRiLWdhdGV3YXktY29uZmlndXJhdGlvbiIsaW5wdXRzOntkZXZpY2U6ImRldmljZSIsZGlhbG9nUmVmOiJkaWFsb2dSZWYifSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuXG48ZGl2IFtmb3JtR3JvdXBdPSJnYXRld2F5Q29uZmlnR3JvdXAiIGNsYXNzPSJnYXRld2F5LWNvbmZpZy1jb250YWluZXIiPlxuICA8ZGl2IGNsYXNzPSJjb250ZW50LXdyYXBwZXIiPlxuICAgIDxtYXQtdG9vbGJhciBjb2xvcj0icHJpbWFyeSIgW2NsYXNzLnBhZ2UtaGVhZGVyXT0iIWRpYWxvZ1JlZiI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHNwYWNlLWJldHdlZW4gYWxpZ24tY2VudGVyIj5cbiAgICAgICAgPGgyIHRyYW5zbGF0ZT5nYXRld2F5LmdhdGV3YXktY29uZmlndXJhdGlvbjwvaDI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItYWN0aW9ucyI+XG4gICAgICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgW2NsYXNzLmRpYWxvZy10b2dnbGVdPSIhIWRpYWxvZ1JlZiIgZm9ybUNvbnRyb2xOYW1lPSJtb2RlIiBhcHBlYXJhbmNlPSJ7e2RpYWxvZ1JlZiA/IFwnc3Ryb2tlZFwnIDogXCdmaWxsXCd9fSI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiBbdmFsdWVdPSJDb25maWd1cmF0aW9uTW9kZXMuQkFTSUMiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuYmFzaWNcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gW3ZhbHVlXT0iQ29uZmlndXJhdGlvbk1vZGVzLkFEVkFOQ0VEIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmFkdmFuY2VkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj0iZGlhbG9nUmVmIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0iY2FuY2VsKCkiIHR5cGU9ImJ1dHRvbiI+XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgICA8dGItZ2F0ZXdheS1iYXNpYy1jb25maWd1cmF0aW9uXG4gICAgICAqbmdJZj0iZ2F0ZXdheUNvbmZpZ0dyb3VwLmdldChcJ21vZGVcJykudmFsdWUgPT09IENvbmZpZ3VyYXRpb25Nb2Rlcy5CQVNJQyJcbiAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICBbZGV2aWNlXT0iZGV2aWNlIlxuICAgICAgW2RpYWxvZ01vZGVdPSIhIWRpYWxvZ1JlZiJcbiAgICAgIChpbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkKT0iaW5pdGlhbENyZWRlbnRpYWxzID0gJGV2ZW50IlxuICAgIC8+XG4gICAgPHRiLWdhdGV3YXktYWR2YW5jZWQtY29uZmlndXJhdGlvblxuICAgICAgKm5nSWY9ImdhdGV3YXlDb25maWdHcm91cC5nZXQoXCdtb2RlXCcpLnZhbHVlID09PSBDb25maWd1cmF0aW9uTW9kZXMuQURWQU5DRUQiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9ImFkdmFuY2VkQ29uZmlnIlxuICAgIC8+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJhY3Rpb25zIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAqbmdJZj0iZGlhbG9nUmVmIlxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0iZ2F0ZXdheUNvbmZpZ0dyb3VwLmludmFsaWQgfHwgIWdhdGV3YXlDb25maWdHcm91cC5kaXJ0eSJcbiAgICAgICAgICAgIChjbGljayk9InNhdmVDb25maWcoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5zYXZlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3c6aGlkZGVufTpob3N0IC5wYWdlLWhlYWRlci5tYXQtdG9vbGJhcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMDAwMDBkZSFpbXBvcnRhbnR9Omhvc3QgLmFjdGlvbnN7Z3JpZC1yb3c6MztwYWRkaW5nOjhweCAxNnB4IDhweCA4cHg7ZGlzcGxheTpmbGV4O2dhcDo4cHg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3JpZ2h0OjA7ei1pbmRleDoxO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDoxMDAlfTpob3N0IC5nYXRld2F5LWNvbmZpZy1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59Omhvc3QgLmNvbnRlbnQtd3JhcHBlcntmbGV4OjF9Omhvc3QgLnRvb2xiYXItYWN0aW9uc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5kaWFsb2ctdG9nZ2xlIDo6bmctZGVlcCAubWF0LWJ1dHRvbi10b2dnbGUtYnV0dG9ue2NvbG9yOiNmZmZmZmZiZn1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlkuVHJhbnNsYXRlRGlyZWN0aXZlLHNlbGVjdG9yOiJbdHJhbnNsYXRlXSxbbmd4LXRyYW5zbGF0ZV0iLGlucHV0czpbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZVBhcmFtcyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm50LlRvZ2dsZU9wdGlvbixzZWxlY3RvcjoidGItdG9nZ2xlLW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTphdC5Ub2dnbGVTZWxlY3RDb21wb25lbnQsc2VsZWN0b3I6InRiLXRvZ2dsZS1zZWxlY3QiLGlucHV0czpbImRpc2FibGVkIiwic2VsZWN0TWVkaWFCcmVha3BvaW50IiwiYXBwZWFyYW5jZSIsImRpc2FibGVQYWdpbmF0aW9uIiwiZmlsbEhlaWdodCIsImV4dHJhUGFkZGluZyIsInByaW1hcnlCYWNrZ3JvdW5kIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6RG8sc2VsZWN0b3I6InRiLWdhdGV3YXktYmFzaWMtY29uZmlndXJhdGlvbiIsaW5wdXRzOlsiZGV2aWNlIiwiZGlhbG9nTW9kZSJdLG91dHB1dHM6WyJpbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6UG8sc2VsZWN0b3I6InRiLWdhdGV3YXktYWR2YW5jZWQtY29uZmlndXJhdGlvbiJ9LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV19KX19ZSgiR2F0ZXdheUNvbmZpZ3VyYXRpb25Db21wb25lbnQiLEdvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkdvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1nYXRld2F5LWNvbmZpZ3VyYXRpb24iLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuXG48ZGl2IFtmb3JtR3JvdXBdPSJnYXRld2F5Q29uZmlnR3JvdXAiIGNsYXNzPSJnYXRld2F5LWNvbmZpZy1jb250YWluZXIiPlxuICA8ZGl2IGNsYXNzPSJjb250ZW50LXdyYXBwZXIiPlxuICAgIDxtYXQtdG9vbGJhciBjb2xvcj0icHJpbWFyeSIgW2NsYXNzLnBhZ2UtaGVhZGVyXT0iIWRpYWxvZ1JlZiI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHNwYWNlLWJldHdlZW4gYWxpZ24tY2VudGVyIj5cbiAgICAgICAgPGgyIHRyYW5zbGF0ZT5nYXRld2F5LmdhdGV3YXktY29uZmlndXJhdGlvbjwvaDI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItYWN0aW9ucyI+XG4gICAgICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgW2NsYXNzLmRpYWxvZy10b2dnbGVdPSIhIWRpYWxvZ1JlZiIgZm9ybUNvbnRyb2xOYW1lPSJtb2RlIiBhcHBlYXJhbmNlPSJ7e2RpYWxvZ1JlZiA/IFwnc3Ryb2tlZFwnIDogXCdmaWxsXCd9fSI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiBbdmFsdWVdPSJDb25maWd1cmF0aW9uTW9kZXMuQkFTSUMiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuYmFzaWNcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gW3ZhbHVlXT0iQ29uZmlndXJhdGlvbk1vZGVzLkFEVkFOQ0VEIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmFkdmFuY2VkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj0iZGlhbG9nUmVmIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0iY2FuY2VsKCkiIHR5cGU9ImJ1dHRvbiI+XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgICA8dGItZ2F0ZXdheS1iYXNpYy1jb25maWd1cmF0aW9uXG4gICAgICAqbmdJZj0iZ2F0ZXdheUNvbmZpZ0dyb3VwLmdldChcJ21vZGVcJykudmFsdWUgPT09IENvbmZpZ3VyYXRpb25Nb2Rlcy5CQVNJQyJcbiAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICBbZGV2aWNlXT0iZGV2aWNlIlxuICAgICAgW2RpYWxvZ01vZGVdPSIhIWRpYWxvZ1JlZiJcbiAgICAgIChpbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkKT0iaW5pdGlhbENyZWRlbnRpYWxzID0gJGV2ZW50IlxuICAgIC8+XG4gICAgPHRiLWdhdGV3YXktYWR2YW5jZWQtY29uZmlndXJhdGlvblxuICAgICAgKm5nSWY9ImdhdGV3YXlDb25maWdHcm91cC5nZXQoXCdtb2RlXCcpLnZhbHVlID09PSBDb25maWd1cmF0aW9uTW9kZXMuQURWQU5DRUQiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9ImFkdmFuY2VkQ29uZmlnIlxuICAgIC8+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJhY3Rpb25zIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAqbmdJZj0iZGlhbG9nUmVmIlxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0iZ2F0ZXdheUNvbmZpZ0dyb3VwLmludmFsaWQgfHwgIWdhdGV3YXlDb25maWdHcm91cC5kaXJ0eSJcbiAgICAgICAgICAgIChjbGljayk9InNhdmVDb25maWcoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5zYXZlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3c6aGlkZGVufTpob3N0IC5wYWdlLWhlYWRlci5tYXQtdG9vbGJhcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMDAwMDBkZSFpbXBvcnRhbnR9Omhvc3QgLmFjdGlvbnN7Z3JpZC1yb3c6MztwYWRkaW5nOjhweCAxNnB4IDhweCA4cHg7ZGlzcGxheTpmbGV4O2dhcDo4cHg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3JpZ2h0OjA7ei1pbmRleDoxO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDoxMDAlfTpob3N0IC5nYXRld2F5LWNvbmZpZy1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59Omhvc3QgLmNvbnRlbnQtd3JhcHBlcntmbGV4OjF9Omhvc3QgLnRvb2xiYXItYWN0aW9uc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5kaWFsb2ctdG9nZ2xlIDo6bmctZGVlcCAubWF0LWJ1dHRvbi10b2dnbGUtYnV0dG9ue2NvbG9yOiNmZmZmZmZiZn1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTpYLkF0dHJpYnV0ZVNlcnZpY2V9LHt0eXBlOlguRGV2aWNlU2VydmljZX0se3R5cGU6dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHByb3BEZWNvcmF0b3JzOntkZXZpY2U6W3t0eXBlOmF9XSxkaWFsb2dSZWY6W3t0eXBlOmF9XX19KTt2YXIgT289e2dhdGV3YXk6e2FkZHJlc3M6IkFkZHJlc3MiLCJhZGRyZXNzLXJlcXVpcmVkIjoiQWRkcmVzcyByZXF1aXJlZCIsImFkZC1lbnRyeSI6IkFkZCBjb25maWd1cmF0aW9uIiwiYWRkLWF0dHJpYnV0ZSI6IkFkZCBhdHRyaWJ1dGUiLCJhZGQtYXR0cmlidXRlLXVwZGF0ZSI6IkFkZCBhdHRyaWJ1dGUgdXBkYXRlIiwiYWRkLWtleSI6IkFkZCBrZXkiLCJhZGQtdGltZXNlcmllcyI6IkFkZCB0aW1lIHNlcmllcyIsImFkZC1tYXBwaW5nIjoiQWRkIG1hcHBpbmciLCJhZGQtc2xhdmUiOiJBZGQgU2xhdmUiLGFyZ3VtZW50czoiQXJndW1lbnRzIiwiYWRkLXJwYy1tZXRob2QiOiJBZGQgbWV0aG9kIiwiYWRkLXJwYy1yZXF1ZXN0IjoiQWRkIHJlcXVlc3QiLCJhZGQtdmFsdWUiOiJBZGQgYXJndW1lbnQiLGJhdWRyYXRlOiJCYXVkcmF0ZSIsYnl0ZXNpemU6IkJ5dGVzaXplIiwiZGVsZXRlLXZhbHVlIjoiRGVsZXRlIHZhbHVlIiwiZGVsZXRlLXJwYy1tZXRob2QiOiJEZWxldGUgbWV0aG9kIiwiZGVsZXRlLXJwYy1yZXF1ZXN0IjoiRGVsZXRlIHJlcXVlc3QiLCJkZWxldGUtYXR0cmlidXRlLXVwZGF0ZSI6IkRlbGV0ZSBhdHRyaWJ1dGUgdXBkYXRlIixhZHZhbmNlZDoiQWR2YW5jZWQiLCJhZHZhbmNlZC1jb25uZWN0aW9uLXNldHRpbmdzIjoiQWR2YW5jZWQgY29ubmVjdGlvbiBzZXR0aW5ncyIsYXR0cmlidXRlczoiQXR0cmlidXRlcyIsImF0dHJpYnV0ZS11cGRhdGVzIjoiQXR0cmlidXRlIHVwZGF0ZXMiLCJhdHRyaWJ1dGUtZmlsdGVyIjoiQXR0cmlidXRlIGZpbHRlciIsImF0dHJpYnV0ZS1maWx0ZXItaGludCI6IkZpbHRlciBmb3IgaW5jb21pbmcgYXR0cmlidXRlIG5hbWUgZnJvbSBwbGF0Zm9ybSwgc3VwcG9ydHMgcmVndWxhciBleHByZXNzaW9uLiIsImF0dHJpYnV0ZS1maWx0ZXItcmVxdWlyZWQiOiJBdHRyaWJ1dGUgZmlsdGVyIHJlcXVpcmVkLiIsImF0dHJpYnV0ZS1uYW1lLWV4cHJlc3Npb24iOiJBdHRyaWJ1dGUgbmFtZSBleHByZXNzaW9uIiwiYXR0cmlidXRlLW5hbWUtZXhwcmVzc2lvbi1yZXF1aXJlZCI6IkF0dHJpYnV0ZSBuYW1lIGV4cHJlc3Npb24gcmVxdWlyZWQuIiwiYXR0cmlidXRlLW5hbWUtZXhwcmVzc2lvbi1oaW50IjoiSGludCBmb3IgQXR0cmlidXRlIG5hbWUgZXhwcmVzc2lvbiIsYmFzaWM6IkJhc2ljIiwiYnl0ZS1vcmRlciI6IkJ5dGUgb3JkZXIiLCJ3b3JkLW9yZGVyIjoiV29yZCBvcmRlciIsYnJva2VyOntjb25uZWN0aW9uOiJDb25uZWN0aW9uIHRvIGJyb2tlciIsbmFtZToiQnJva2VyIG5hbWUiLCJuYW1lLXJlcXVpcmVkIjoiQnJva2VyIG5hbWUgcmVxdWlyZWQuIiwic2VjdXJpdHktdHlwZXMiOnthbm9ueW1vdXM6IkFub255bW91cyIsYmFzaWM6IkJhc2ljIixjZXJ0aWZpY2F0ZXM6IkNlcnRpZmljYXRlcyJ9fSwiQ0EtY2VydGlmaWNhdGUtcGF0aCI6IlBhdGggdG8gQ0EgY2VydGlmaWNhdGUgZmlsZSIsInBhdGgtdG8tQ0EtY2VydC1yZXF1aXJlZCI6IlBhdGggdG8gQ0EgY2VydGlmaWNhdGUgZmlsZSBpcyByZXF1aXJlZC4iLCJjaGFuZ2UtY29ubmVjdG9yLXRpdGxlIjoiQ29uZmlybSBjb25uZWN0b3IgY2hhbmdlIiwiY2hhbmdlLWNvbm5lY3Rvci10ZXh0IjoiU3dpdGNoaW5nIGNvbm5lY3RvcnMgd2lsbCBkaXNjYXJkIGFueSB1bnNhdmVkIGNoYW5nZXMuIENvbnRpbnVlPyIsImNoZWNraW5nLWRldmljZS1hY3Rpdml0eSI6IkNoZWNraW5nIGRldmljZSBhY3Rpdml0eSIsY29tbWFuZDoiRG9ja2VyIGNvbW1hbmRzIiwiY29tbWFuZC1jb3BpZWQtbWVzc2FnZSI6IkRvY2tlciBjb21tYW5kIGhhcyBiZWVuIGNvcGllZCB0byBjbGlwYm9hcmQiLGNvbmZpZ3VyYXRpb246IkNvbmZpZ3VyYXRpb24iLCJhZGQtY29ubmVjdG9yIjoiQWRkIGNvbm5lY3RvciIsImNvbm5lY3Rvci1hZGQiOiJBZGQgbmV3IGNvbm5lY3RvciIsImNvbm5lY3Rvci1lbmFibGVkIjoiRW5hYmxlIGNvbm5lY3RvciIsImNvbm5lY3Rvci1uYW1lIjoiQ29ubmVjdG9yIG5hbWUiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6IkNvbm5lY3RvciBuYW1lIGlzIHJlcXVpcmVkLiIsImNvbm5lY3Rvci10eXBlIjoiQ29ubmVjdG9yIHR5cGUiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IkNvbm5lY3RvciB0eXBlIGlzIHJlcXVpcmVkLiIsY29ubmVjdG9yczoiQ29ubmVjdG9ycyIsImNvbm5lY3RvcnMtY29uZmlnIjoiQ29ubmVjdG9ycyBjb25maWd1cmF0aW9uIiwiY29ubmVjdG9ycy10YWJsZS1lbmFibGVkIjoiRW5hYmxlZCIsImNvbm5lY3RvcnMtdGFibGUtbmFtZSI6Ik5hbWUiLCJjb25uZWN0b3JzLXRhYmxlLXR5cGUiOiJUeXBlIiwiY29ubmVjdG9ycy10YWJsZS1zdGF0dXMiOiJTdGF0dXMiLCJjb25uZWN0b3JzLXRhYmxlLWFjdGlvbnMiOiJBY3Rpb25zIiwiY29ubmVjdG9ycy10YWJsZS1rZXkiOiJLZXkiLCJjb25uZWN0b3JzLXRhYmxlLWNsYXNzIjoiQ2xhc3MiLCJjb25uZWN0aW9uLXRpbWVvdXQiOiJDb25uZWN0aW9uIHRpbWVvdXQgKHMpIiwiY29ubmVjdC1hdHRlbXB0LXRpbWUiOiJDb25uZWN0IGF0dGVtcHQgdGltZSAobXMpIiwiY29ubmVjdC1hdHRlbXB0LWNvdW50IjoiQ29ubmVjdCBhdHRlbXB0IGNvdW50IiwiY29weS11c2VybmFtZSI6IkNvcHkgdXNlcm5hbWUiLCJjb3B5LXBhc3N3b3JkIjoiQ29weSBwYXNzd29yZCIsImNvcHktY2xpZW50LWlkIjoiQ29weSBjbGllbnQgSUQiLCJjb25uZWN0b3ItY3JlYXRlZCI6IkNvbm5lY3RvciBjcmVhdGVkIiwiY29ubmVjdG9yLXVwZGF0ZWQiOiJDb25uZWN0b3IgdXBkYXRlZCIsInJwYy1jb21tYW5kLXNhdmUtdGVtcGxhdGUiOiJTYXZlIFRlbXBsYXRlIiwicnBjLWNvbW1hbmQtc2VuZCI6IlNlbmQiLCJycGMtY29tbWFuZC1yZXN1bHQiOiJSZXNwb25zZSIsInJwYy1jb21tYW5kLWVkaXQtcGFyYW1zIjoiRWRpdCBwYXJhbWV0ZXJzIiwiZ2F0ZXdheS1jb25maWd1cmF0aW9uIjoiR2VuZXJhbCBDb25maWd1cmF0aW9uIiwiZG9ja2VyLWxhYmVsIjoiVXNlIHRoZSBmb2xsb3dpbmcgaW5zdHJ1Y3Rpb24gdG8gcnVuIElvVCBHYXRld2F5IGluIERvY2tlciBjb21wb3NlIHdpdGggY3JlZGVudGlhbHMgZm9yIHNlbGVjdGVkIGRldmljZSIsImluc3RhbGwtZG9ja2VyLWNvbXBvc2UiOiJVc2UgdGhlIGluc3RydWN0aW9ucyB0byBkb3dubG9hZCwgaW5zdGFsbCBhbmQgc2V0dXAgZG9ja2VyIGNvbXBvc2UiLCJkZXZpY2UtaW5mby1zZXR0aW5ncyI6IkRldmljZSBpbmZvIHNldHRpbmdzIiwiZGV2aWNlLWluZm8iOnsiZW50aXR5LWZpZWxkIjoiRW50aXR5IGZpZWxkIixzb3VyY2U6IlNvdXJjZSIsZXhwcmVzc2lvbjoiVmFsdWUgLyBFeHByZXNzaW9uIiwiZXhwcmVzc2lvbi1oaW50IjoiU2hvdyBoZWxwIixuYW1lOiJOYW1lIiwicHJvZmlsZS1uYW1lIjoiUHJvZmlsZSBuYW1lIiwiZGV2aWNlLW5hbWUtZXhwcmVzc2lvbiI6IkRldmljZSBuYW1lIGV4cHJlc3Npb24iLCJkZXZpY2UtbmFtZS1leHByZXNzaW9uLXJlcXVpcmVkIjoiRGV2aWNlIG5hbWUgZXhwcmVzc2lvbiBpcyByZXF1aXJlZC4iLCJkZXZpY2UtcHJvZmlsZS1leHByZXNzaW9uLXJlcXVpcmVkIjoiRGV2aWNlIHByb2ZpbGUgZXhwcmVzc2lvbiBpcyByZXF1aXJlZC4ifSwiZGV2aWNlLW5hbWUtZmlsdGVyIjoiRGV2aWNlIG5hbWUgZmlsdGVyIiwiZGV2aWNlLW5hbWUtZmlsdGVyLWhpbnQiOiJUaGlzIGZpZWxkIHN1cHBvcnRzIFJlZ3VsYXIgZXhwcmVzc2lvbnMgdG8gZmlsdGVyIGluY29taW5nIGRhdGEgYnkgZGV2aWNlIG5hbWUuIiwiZGV2aWNlLW5hbWUtZmlsdGVyLXJlcXVpcmVkIjoiRGV2aWNlIG5hbWUgZmlsdGVyIGlzIHJlcXVpcmVkLiIsZGV0YWlsczoiRGV0YWlscyIsImRlbGV0ZS1tYXBwaW5nLXRpdGxlIjoiRGVsZXRlIG1hcHBpbmc/IiwiZGVsZXRlLXNsYXZlLXRpdGxlIjoiRGVsZXRlIHNsYXZlPyIsZGl2aWRlcjoiRGl2aWRlciIsImRvd25sb2FkLWNvbmZpZ3VyYXRpb24tZmlsZSI6IkRvd25sb2FkIGNvbmZpZ3VyYXRpb24gZmlsZSIsImRvd25sb2FkLWRvY2tlci1jb21wb3NlIjoiRG93bmxvYWQgZG9ja2VyLWNvbXBvc2UueW1sIGZvciB5b3VyIGdhdGV3YXkiLCJlbmFibGUtcmVtb3RlLWxvZ2dpbmciOiJFbmFibGUgcmVtb3RlIGxvZ2dpbmciLCJlbGxpcHNpcy1jaGlwcy10ZXh0IjoiKyB7e2NvdW50fX0gbW9yZSIsImxhdW5jaC1nYXRld2F5IjoiTGF1bmNoIGdhdGV3YXkiLCJsYXVuY2gtY29tbWFuZCI6IkxhdW5jaCBjb21tYW5kIiwibGF1bmNoLWRvY2tlci1jb21wb3NlIjoiU3RhcnQgdGhlIGdhdGV3YXkgdXNpbmcgdGhlIGZvbGxvd2luZyBjb21tYW5kIGluIHRoZSB0ZXJtaW5hbCBmcm9tIGZvbGRlciB3aXRoIGRvY2tlci1jb21wb3NlLnltbCBmaWxlIiwibG9ncy1jb25maWd1cmF0aW9uIjoiTG9ncyBjb25maWd1cmF0aW9uIiwiY3JlYXRlLW5ldy1nYXRld2F5IjoiQ3JlYXRlIGEgbmV3IGdhdGV3YXkiLCJjcmVhdGUtbmV3LWdhdGV3YXktdGV4dCI6IkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCBjcmVhdGUgYSBuZXcgZ2F0ZXdheSB3aXRoIG5hbWU6ICd7e2dhdGV3YXlOYW1lfX0nPyIsImNyZWF0ZWQtdGltZSI6IkNyZWF0ZWQgdGltZSIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1oZWFkZXIiOiJDb25maWd1cmF0aW9ucyB3aWxsIGJlIGRlbGV0ZWQiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctYm9keSI6IlR1cm5pbmcgb2ZmIFJlbW90ZSBDb25maWd1cmF0aW9uIGlzIHBvc3NpYmxlIG9ubHkgaWYgdGhlcmUgaXMgcGh5c2ljYWwgYWNjZXNzIHRvIHRoZSBHYXRld2F5LiBBbGwgcHJldmlvdXMgY29uZmlndXJhdGlvbnMgd2lsbCBiZSBkZWxldGVkLjxicj48YnI+IFxuVG8gdHVybiBvZmYgY29uZmlndXJhdGlvbiwgZW50ZXIgZ2F0ZXdheSBuYW1lIGJlbG93IiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0IjoiR2F0ZXdheSBuYW1lIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0LXJlcXVpcmVkIjoiR2F0ZXdheSBuYW1lIGlzIG1hbmRhdG9yeSIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1jb25maXJtIjoiVHVybiBPZmYiLCJjb25uZWN0b3ItZHVwbGljYXRlLW5hbWUiOiJDb25uZWN0b3Igd2l0aCBzdWNoIG5hbWUgYWxyZWFkeSBleGlzdHMuIiwiY29ubmVjdG9yLXNpZGUiOiJDb25uZWN0b3Igc2lkZSIsInBheWxvYWQtdHlwZSI6IlBheWxvYWQgdHlwZSIsInBsYXRmb3JtLXNpZGUiOiJQbGF0Zm9ybSBzaWRlIixKU09OOiJKU09OIiwiSlNPTi1oaW50IjoiQ29udmVydGVyIGZvciB0aGlzIHBheWxvYWQgdHlwZSBwcm9jZXNzZXMgTVFUVCBtZXNzYWdlcyBpbiBKU09OIGZvcm1hdC4gSXQgdXNlcyBKU09OIFBhdGggZXhwcmVzc2lvbnMgdG8gZXh0cmFjdCB2aXRhbCBkZXRhaWxzIHN1Y2ggYXMgZGV2aWNlIG5hbWVzLCBkZXZpY2UgcHJvZmlsZSBuYW1lcywgYXR0cmlidXRlcywgYW5kIHRpbWUgc2VyaWVzIGZyb20gdGhlIG1lc3NhZ2UuIEFuZCByZWd1bGFyIGV4cHJlc3Npb25zIHRvIGdldCBkZXZpY2UgZGV0YWlscyBmcm9tIHRvcGljcy4iLGJ5dGVzOiJCeXRlcyIsImJ5dGVzLWhpbnQiOiJDb252ZXJ0ZXIgZm9yIHRoaXMgcGF5bG9hZCB0eXBlIGRlc2lnbmVkIGZvciBiaW5hcnkgTVFUVCBwYXlsb2FkcywgdGhpcyBjb252ZXJ0ZXIgZGlyZWN0bHkgaW50ZXJwcmV0cyBiaW5hcnkgZGF0YSB0byByZXRyaWV2ZSBkZXZpY2UgbmFtZXMgYW5kIGRldmljZSBwcm9maWxlIG5hbWVzLCBhbG9uZyB3aXRoIGF0dHJpYnV0ZXMgYW5kIHRpbWUgc2VyaWVzLCB1c2luZyBzcGVjaWZpYyBieXRlIHBvc2l0aW9ucyBmb3IgZGF0YSBleHRyYWN0aW9uLiIsY3VzdG9tOiJDdXN0b20iLCJjdXN0b20taGludCI6IlRoaXMgb3B0aW9uIGFsbG93cyB5b3UgdG8gdXNlIGEgY3VzdG9tIGNvbnZlcnRlciBmb3Igc3BlY2lmaWMgZGF0YSB0YXNrcy4gWW91IG5lZWQgdG8gYWRkIHlvdXIgY3VzdG9tIGNvbnZlcnRlciB0byB0aGUgZXh0ZW5zaW9uIGZvbGRlciBhbmQgZW50ZXIgaXRzIGNsYXNzIG5hbWUgaW4gdGhlIFVJIHNldHRpbmdzLiBBbnkga2V5cyB5b3UgcHJvdmlkZSB3aWxsIGJlIHNlbnQgYXMgY29uZmlndXJhdGlvbiB0byB5b3VyIGN1c3RvbSBjb252ZXJ0ZXIuIiwiY2xpZW50LWNlcnQtcGF0aCI6IlBhdGggdG8gY2xpZW50IGNlcnRpZmljYXRlIGZpbGUiLCJwYXRoLXRvLWNsaWVudC1jZXJ0LXJlcXVpcmVkIjoiUGF0aCB0byBjbGllbnQgY2VydGlmaWNhdGUgZmlsZSBpcyByZXF1aXJlZC4iLCJjbGllbnQtaWQiOiJDbGllbnQgSUQiLCJkYXRhLWNvbnZlcnNpb24iOiJEYXRhIGNvbnZlcnNpb24iLCJkYXRhLW1hcHBpbmciOiJEYXRhIG1hcHBpbmciLCJkYXRhLW1hcHBpbmctaGludCI6IkRhdGEgbWFwcGluZyBwcm92aWRlcyB0aGUgY2FwYWJpbGl0eSB0byBwYXJzZSBhbmQgY29udmVydCB0aGUgZGF0YSByZWNlaXZlZCBmcm9tIGEgTVFUVCBjbGllbnQgaW4gaW5jb21pbmcgbWVzc2FnZXMgaW50byBzcGVjaWZpYyBhdHRyaWJ1dGVzIGFuZCB0aW1lIHNlcmllcyBkYXRhIGtleXMuIiwib3BjdWEtZGF0YS1tYXBwaW5nLWhpbnQiOiJEYXRhIG1hcHBpbmcgcHJvdmlkZXMgdGhlIGNhcGFiaWxpdHkgdG8gcGFyc2UgYW5kIGNvbnZlcnQgdGhlIGRhdGEgcmVjZWl2ZWQgZnJvbSBhIE9QQ1VBIHNlcnZlciBpbnRvIHNwZWNpZmljIGRhdGEga2V5cy4iLGRlbGV0ZToiRGVsZXRlIGNvbmZpZ3VyYXRpb24iLCJkZWxldGUtYXR0cmlidXRlIjoiRGVsZXRlIGF0dHJpYnV0ZSIsImRlbGV0ZS1rZXkiOiJEZWxldGUga2V5IiwiZGVsZXRlLXRpbWVzZXJpZXMiOiJEZWxldGUgdGltZSBzZXJpZXMiLGRlZmF1bHQ6IkRlZmF1bHQiLCJkZXZpY2Utbm9kZSI6IkRldmljZSBub2RlIiwiZGV2aWNlLW5vZGUtcmVxdWlyZWQiOiJEZXZpY2Ugbm9kZSByZXF1aXJlZC4iLCJkZXZpY2Utbm9kZS1oaW50IjoiUGF0aCBvciBpZGVudGlmaWVyIGZvciBkZXZpY2Ugbm9kZSBvbiBPUEMgVUEgc2VydmVyLiBSZWxhdGl2ZSBwYXRocyBmcm9tIGl0IGZvciBhdHRyaWJ1dGVzIGFuZCB0aW1lIHNlcmllcyBjYW4gYmUgdXNlZC4iLCJkZXZpY2UtbmFtZSI6IkRldmljZSBuYW1lIiwiZGV2aWNlLXByb2ZpbGUtbGFiZWwiOiJEZXZpY2UgcHJvZmlsZSIsImRldmljZS1uYW1lLXJlcXVpcmVkIjoiRGV2aWNlIG5hbWUgcmVxdWlyZWQiLCJkZXZpY2UtcHJvZmlsZS1yZXF1aXJlZCI6IkRldmljZSBwcm9maWxlIHJlcXVpcmVkIiwiZG93bmxvYWQtdGlwIjoiRG93bmxvYWQgY29uZmlndXJhdGlvbiBmaWxlIiwiZHJvcC1maWxlIjoiRHJvcCBmaWxlIGhlcmUgb3IiLGVuYWJsZToiRW5hYmxlIiwiZW5hYmxlLXN1YnNjcmlwdGlvbiI6IkVuYWJsZSBzdWJzY3JpcHRpb24iLGV4dGVuc2lvbjoiRXh0ZW5zaW9uIiwiZXh0ZW5zaW9uLWhpbnQiOiJQdXQgeW91ciBjb252ZXJ0ZXIgY2xhc3NuYW1lIGluIHRoZSBmaWVsZC4gQ3VzdG9tIGNvbnZlcnRlciB3aXRoIHN1Y2ggY2xhc3Mgc2hvdWxkIGJlIGluIGV4dGVuc2lvbi9tcXR0IGZvbGRlci4iLCJleHRlbnNpb24tcmVxdWlyZWQiOiJFeHRlbnNpb24gaXMgcmVxdWlyZWQuIiwiZXh0ZW5zaW9uLWNvbmZpZ3VyYXRpb24iOiJFeHRlbnNpb24gY29uZmlndXJhdGlvbiIsImV4dGVuc2lvbi1jb25maWd1cmF0aW9uLWhpbnQiOiJDb25maWd1cmF0aW9uIGZvciBjb252ZXJ0b3IiLCJmaWxsLWNvbm5lY3Rvci1kZWZhdWx0cyI6IkZpbGwgY29uZmlndXJhdGlvbiB3aXRoIGRlZmF1bHQgdmFsdWVzIiwiZmlsbC1jb25uZWN0b3ItZGVmYXVsdHMtaGludCI6IlRoaXMgcHJvcGVydHkgYWxsb3dzIHRvIGZpbGwgY29ubmVjdG9yIGNvbmZpZ3VyYXRpb24gd2l0aCBkZWZhdWx0IHZhbHVlcyBvbiBpdCdzIGNyZWF0aW9uLiIsImZyb20tZGV2aWNlLXJlcXVlc3Qtc2V0dGluZ3MiOiJJbnB1dCByZXF1ZXN0IHBhcnNpbmciLCJmcm9tLWRldmljZS1yZXF1ZXN0LXNldHRpbmdzLWhpbnQiOiJUaGVzZSBmaWVsZHMgc3VwcG9ydCBKU09OUGF0aCBleHByZXNzaW9ucyB0byBleHRyYWN0IGEgbmFtZSBmcm9tIGluY29taW5nIG1lc3NhZ2UuIiwiZnVuY3Rpb24tY29kZSI6IkZ1bmN0aW9uIGNvZGUiLCJmdW5jdGlvbi1jb2RlcyI6eyJyZWFkLWNvaWxzIjoiMDEgLSBSZWFkIENvaWxzIiwicmVhZC1kaXNjcmV0ZS1pbnB1dHMiOiIwMiAtIFJlYWQgRGlzY3JldGUgSW5wdXRzIiwicmVhZC1tdWx0aXBsZS1ob2xkaW5nLXJlZ2lzdGVycyI6IjAzIC0gUmVhZCBNdWx0aXBsZSBIb2xkaW5nIFJlZ2lzdGVycyIsInJlYWQtaW5wdXQtcmVnaXN0ZXJzIjoiMDQgLSBSZWFkIElucHV0IFJlZ2lzdGVycyIsIndyaXRlLXNpbmdsZS1jb2lsIjoiMDUgLSBXcml0ZSBTaW5nbGUgQ29pbCIsIndyaXRlLXNpbmdsZS1ob2xkaW5nLXJlZ2lzdGVyIjoiMDYgLSBXcml0ZSBTaW5nbGUgSG9sZGluZyBSZWdpc3RlciIsIndyaXRlLW11bHRpcGxlLWNvaWxzIjoiMTUgLSBXcml0ZSBNdWx0aXBsZSBDb2lscyIsIndyaXRlLW11bHRpcGxlLWhvbGRpbmctcmVnaXN0ZXJzIjoiMTYgLSBXcml0ZSBNdWx0aXBsZSBIb2xkaW5nIFJlZ2lzdGVycyJ9LCJ0by1kZXZpY2UtcmVzcG9uc2Utc2V0dGluZ3MiOiJPdXRwdXQgcmVxdWVzdCBwcm9jZXNzaW5nIiwidG8tZGV2aWNlLXJlc3BvbnNlLXNldHRpbmdzLWhpbnQiOiJGb3IgdGhlc2UgZmllbGRzIHlvdSBjYW4gdXNlIHRoZSBmb2xsb3dpbmcgdmFyaWFibGVzIGFuZCB0aGV5IHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhY3R1YWwgdmFsdWVzOiAke2RldmljZU5hbWV9LCAke2F0dHJpYnV0ZUtleX0sICR7YXR0cmlidXRlVmFsdWV9IixnYXRld2F5OiJHYXRld2F5IiwiZ2F0ZXdheS1leGlzdHMiOiJEZXZpY2Ugd2l0aCBzYW1lIG5hbWUgaXMgYWxyZWFkeSBleGlzdHMuIiwiZ2F0ZXdheS1uYW1lIjoiR2F0ZXdheSBuYW1lIiwiZ2F0ZXdheS1uYW1lLXJlcXVpcmVkIjoiR2F0ZXdheSBuYW1lIGlzIHJlcXVpcmVkLiIsImdhdGV3YXktc2F2ZWQiOiJHYXRld2F5IGNvbmZpZ3VyYXRpb24gc3VjY2Vzc2Z1bGx5IHNhdmVkLiIsImdlbmVyYXRlLWNsaWVudC1pZCI6IkdlbmVyYXRlIENsaWVudCBJRCIsZ3JwYzoiR1JQQyIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0IjoiS2VlcCBhbGl2ZSB0aW1lb3V0IChpbiBtcykiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dC1yZXF1aXJlZCI6IktlZXAgYWxpdmUgdGltZW91dCBpcyByZXF1aXJlZCIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LW1pbiI6IktlZXAgYWxpdmUgdGltZW91dCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcGF0dGVybiI6IktlZXAgYWxpdmUgdGltZW91dCBpcyBub3QgdmFsaWQiLCJncnBjLWtlZXAtYWxpdmUiOiJLZWVwIGFsaXZlIChpbiBtcykiLCJncnBjLWtlZXAtYWxpdmUtcmVxdWlyZWQiOiJLZWVwIGFsaXZlIGlzIHJlcXVpcmVkIiwiZ3JwYy1rZWVwLWFsaXZlLW1pbiI6IktlZXAgYWxpdmUgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMta2VlcC1hbGl2ZS1wYXR0ZXJuIjoiS2VlcCBhbGl2ZSBpcyBub3QgdmFsaWQiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MiOiJNaW4gdGltZSBiZXR3ZWVuIHBpbmdzIChpbiBtcykiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcmVxdWlyZWQiOiJNaW4gdGltZSBiZXR3ZWVuIHBpbmdzIGlzIHJlcXVpcmVkIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLW1pbiI6Ik1pbiB0aW1lIGJldHdlZW4gcGluZ3MgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1wYXR0ZXJuIjoiTWluIHRpbWUgYmV0d2VlbiBwaW5ncyBpcyBub3QgdmFsaWQiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YSI6Ik1pbiBwaW5nIGludGVydmFsIHdpdGhvdXQgZGF0YSAoaW4gbXMpIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcmVxdWlyZWQiOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgaXMgcmVxdWlyZWQiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1taW4iOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgaXMgbm90IHZhbGlkIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoiTWF4IHBpbmdzIHdpdGhvdXQgZGF0YSIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6Ik1heCBwaW5ncyB3aXRob3V0IGRhdGEgaXMgcmVxdWlyZWQiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtbWluIjoiTWF4IHBpbmdzIHdpdGhvdXQgZGF0YSBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiJNYXggcGluZ3Mgd2l0aG91dCBkYXRhIGlzIG5vdCB2YWxpZCIsaW5mbzoiSW5mbyIsaWRlbnRpdHk6IklkZW50aXR5IiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcyI6IkluYWN0aXZpdHkgY2hlY2sgcGVyaW9kIChpbiBzZWMpIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1yZXF1aXJlZCI6IkluYWN0aXZpdHkgY2hlY2sgcGVyaW9kIGlzIHJlcXVpcmVkIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1taW4iOiJJbmFjdGl2aXR5IGNoZWNrIHBlcmlvZCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1wYXR0ZXJuIjoiSW5hY3Rpdml0eSBjaGVjayBwZXJpb2QgaXMgbm90IHZhbGlkIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMiOiJJbmFjdGl2aXR5IHRpbWVvdXQgKGluIHNlYykiLCJpbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1yZXF1aXJlZCI6IkluYWN0aXZpdHkgdGltZW91dCBpcyByZXF1aXJlZCIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLW1pbiI6IkluYWN0aXZpdHkgdGltZW91dCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcGF0dGVybiI6IkluYWN0aXZpdHkgdGltZW91dCBpcyBub3QgdmFsaWQiLCJ1bml0LWlkIjoiVW5pdCBJRCIsaG9zdDoiSG9zdCIsImhvc3QtcmVxdWlyZWQiOiJIb3N0IGlzIHJlcXVpcmVkLiIsaG9sZGluZ19yZWdpc3RlcnM6IkhvbGRpbmcgcmVnaXN0ZXJzIixjb2lsc19pbml0aWFsaXplcjoiQ29pbHMgaW5pdGlhbGl6ZXIiLGlucHV0X3JlZ2lzdGVyczoiSW5wdXQgcmVnaXN0ZXJzIixkaXNjcmV0ZV9pbnB1dHM6IkRpc2NyZXRlIGlucHV0cyIsImpzb24tcGFyc2UiOiJOb3QgdmFsaWQgSlNPTi4iLCJqc29uLXJlcXVpcmVkIjoiRmllbGQgY2Fubm90IGJlIGVtcHR5LiIsIkpTT05QYXRoLWhpbnQiOiJUaGlzIGZpZWxkIHN1cHBvcnRzIGNvbnN0YW50cyBhbmQgSlNPTlBhdGggZXhwcmVzc2lvbnMuIixsb2dzOntsb2dzOiJMb2dzIixkYXlzOiJkYXlzIixob3VyczoiaG91cnMiLG1pbnV0ZXM6Im1pbnV0ZXMiLHNlY29uZHM6InNlY29uZHMiLCJkYXRlLWZvcm1hdCI6IkRhdGUgZm9ybWF0IiwiZGF0ZS1mb3JtYXQtcmVxdWlyZWQiOiJEYXRlIGZvcm1hdCByZXF1aXJlZCIsImxvZy1mb3JtYXQiOiJMb2cgZm9ybWF0IiwibG9nLXR5cGUiOiJMb2cgdHlwZSIsImxvZy1mb3JtYXQtcmVxdWlyZWQiOiJMb2cgZm9ybWF0IHJlcXVpcmVkIixyZW1vdGU6IlJlbW90ZSBsb2dnaW5nIiwicmVtb3RlLWxvZ3MiOiJSZW1vdGUgbG9ncyIsbG9jYWw6IkxvY2FsIGxvZ2dpbmciLGxldmVsOiJMb2cgbGV2ZWwiLCJmaWxlLXBhdGgiOiJGaWxlIHBhdGgiLCJmaWxlLXBhdGgtcmVxdWlyZWQiOiJGaWxlIHBhdGggcmVxdWlyZWQiLCJzYXZpbmctcGVyaW9kIjoiTG9nIHNhdmluZyBwZXJpb2QiLCJzYXZpbmctcGVyaW9kLW1pbiI6IkxvZyBzYXZpbmcgcGVyaW9kIGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJzYXZpbmctcGVyaW9kLXJlcXVpcmVkIjoiTG9nIHNhdmluZyBwZXJpb2QgcmVxdWlyZWQiLCJiYWNrdXAtY291bnQiOiJCYWNrdXAgY291bnQiLCJiYWNrdXAtY291bnQtbWluIjoiQmFja3VwIGNvdW50IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJiYWNrdXAtY291bnQtcmVxdWlyZWQiOiJCYWNrdXAgY291bnQgcmVxdWlyZWQifSwibWF4LW51bWJlci1vZi13b3JrZXJzIjoiTWF4IG51bWJlciBvZiB3b3JrZXJzIiwibWF4LW51bWJlci1vZi13b3JrZXJzLWhpbnQiOiJNYXhpbWFsIG51bWJlciBvZiB3b3JrZXJzIHRocmVhZHMgZm9yIGNvbnZlcnRlcnMgXG4oVGhlIGFtb3VudCBvZiB3b3JrZXJzIGNoYW5nZXMgZHluYW1pY2FsbHksIGRlcGVuZGluZyBvbiBsb2FkKSBcblJlY29tbWVuZGVkIGFtb3VudCA1MC0xNTAuIiwibWF4LW51bWJlci1vZi13b3JrZXJzLXJlcXVpcmVkIjoiTWF4IG51bWJlciBvZiB3b3JrZXJzIGlzIHJlcXVpcmVkLiIsIm1heC1tZXNzYWdlcy1xdWV1ZS1mb3Itd29ya2VyIjoiTWF4IG1lc3NhZ2VzIHF1ZXVlIHBlciB3b3JrZXIiLCJtYXgtbWVzc2FnZXMtcXVldWUtZm9yLXdvcmtlci1oaW50IjoiTWF4aW1hbCBtZXNzYWdlcyBjb3VudCB0aGF0IHdpbGwgYmUgaW4gdGhlIHF1ZXVlIFxuZm9yIGVhY2ggY29udmVydGVyIHdvcmtlci4iLCJtYXgtbWVzc2FnZXMtcXVldWUtZm9yLXdvcmtlci1yZXF1aXJlZCI6Ik1heCBtZXNzYWdlcyBxdWV1ZSBwZXIgd29ya2VyIGlzIHJlcXVpcmVkLiIsbWV0aG9kOiJNZXRob2QiLCJtZXRob2QtbmFtZSI6Ik1ldGhvZCBuYW1lIiwibWV0aG9kLXJlcXVpcmVkIjoiTWV0aG9kIG5hbWUgaXMgcmVxdWlyZWQuIiwibWluLXBhY2stc2VuZC1kZWxheSI6Ik1pbiBwYWNrIHNlbmQgZGVsYXkgKGluIG1zKSIsIm1pbi1wYWNrLXNlbmQtZGVsYXktcmVxdWlyZWQiOiJNaW4gcGFjayBzZW5kIGRlbGF5IGlzIHJlcXVpcmVkIiwibWluLXBhY2stc2VuZC1kZWxheS1taW4iOiJNaW4gcGFjayBzZW5kIGRlbGF5IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEwIiwibWluLXBhY2stc2VuZC1kZWxheS1wYXR0ZXJuIjoiTWluIHBhY2sgc2VuZCBkZWxheSBpcyBub3QgdmFsaWQiLG11bHRpcGxpZXI6Ik11bHRpcGxpZXIiLG1vZGU6Ik1vZGUiLCJtb2RlbC1uYW1lIjoiTW9kZWwgbmFtZSIsbW9kaWZpZXI6Ik1vZGlmaWVyIiwibW9kaWZpZXItaW52YWxpZCI6Ik1vZGlmaWVyIGlzIG5vdCB2YWxpZCIsIm1xdHQtdmVyc2lvbiI6Ik1RVFQgdmVyc2lvbiIsbmFtZToiTmFtZSIsIm5hbWUtcmVxdWlyZWQiOiJOYW1lIGlzIHJlcXVpcmVkLiIsIm5vLWF0dHJpYnV0ZXMiOiJObyBhdHRyaWJ1dGVzIiwibm8tYXR0cmlidXRlLXVwZGF0ZXMiOiJObyBhdHRyaWJ1dGUgdXBkYXRlcyIsIm5vLWNvbm5lY3RvcnMiOiJObyBjb25uZWN0b3JzIiwibm8tZGF0YSI6Ik5vIGNvbmZpZ3VyYXRpb25zIiwibm8tZ2F0ZXdheS1mb3VuZCI6Ik5vIGdhdGV3YXkgZm91bmQuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5vdCBmb3VuZC4iLCJuby10aW1lc2VyaWVzIjoiTm8gdGltZSBzZXJpZXMiLCJuby1rZXlzIjoiTm8ga2V5cyIsIm5vLXZhbHVlIjoiTm8gYXJndW1lbnRzIiwibm8tcnBjLW1ldGhvZHMiOiJObyBSUEMgbWV0aG9kcyIsIm5vLXJwYy1yZXF1ZXN0cyI6Ik5vIFJQQyByZXF1ZXN0cyIsInBhdGgtaGludCI6IlRoZSBwYXRoIGlzIGxvY2FsIHRvIHRoZSBnYXRld2F5IGZpbGUgc3lzdGVtIiwicGF0aC1sb2dzIjoiUGF0aCB0byBsb2cgZmlsZXMiLCJwYXRoLWxvZ3MtcmVxdWlyZWQiOiJQYXRoIGlzIHJlcXVpcmVkLiIscGFzc3dvcmQ6IlBhc3N3b3JkIiwicGFzc3dvcmQtcmVxdWlyZWQiOiJQYXNzd29yZCBpcyByZXF1aXJlZC4iLCJwZXJtaXQtd2l0aG91dC1jYWxscyI6IktlZXAgYWxpdmUgcGVybWl0IHdpdGhvdXQgY2FsbHMiLCJwb2xsLXBlcmlvZCI6IlBvbGwgcGVyaW9kIChtcykiLCJwb2xsLXBlcmlvZC1lcnJvciI6IlBvbGwgcGVyaW9kIHNob3VsZCBiZSBhdCBsZWFzdCB7e21pbn19IChtcykuIixwb3J0OiJQb3J0IiwicG9ydC1yZXF1aXJlZCI6IlBvcnQgaXMgcmVxdWlyZWQuIiwicG9ydC1saW1pdHMtZXJyb3IiOiJQb3J0IHNob3VsZCBiZSBudW1iZXIgZnJvbSB7e21pbn19IHRvIHt7bWF4fX0uIiwicHJpdmF0ZS1rZXktcGF0aCI6IlBhdGggdG8gcHJpdmF0ZSBrZXkgZmlsZSIsInBhdGgtdG8tcHJpdmF0ZS1rZXktcmVxdWlyZWQiOiJQYXRoIHRvIHByaXZhdGUga2V5IGZpbGUgaXMgcmVxdWlyZWQuIixwYXJpdHk6IlBhcml0eSIsInByb2R1Y3QtY29kZSI6IlByb2R1Y3QgY29kZSIsInByb2R1Y3QtbmFtZSI6IlByb2R1Y3QgbmFtZSIscmF3OiJSYXciLHJldGFpbjoiUmV0YWluIiwicmV0YWluLWhpbnQiOiJUaGlzIGZsYWcgdGVsbHMgdGhlIGJyb2tlciB0byBzdG9yZSB0aGUgbWVzc2FnZSBmb3IgYSB0b3BpY1xuYW5kIGVuc3VyZXMgYW55IG5ldyBjbGllbnQgc3Vic2NyaWJpbmcgdG8gdGhhdCB0b3BpY1xud2lsbCByZWNlaXZlIHRoZSBzdG9yZWQgbWVzc2FnZS4iLHJlbW90ZToiUmVtb3RlIGNvbmZpZ3VyYXRpb24iLCJyZW1vdGUtbG9nZ2luZy1sZXZlbCI6IkxvZ2dpbmcgbGV2ZWwiLCJyZW1vdmUtZW50cnkiOiJSZW1vdmUgY29uZmlndXJhdGlvbiIsInJlbW90ZS1zaGVsbCI6IlJlbW90ZSBzaGVsbCIsInJlbW90ZS1jb25maWd1cmF0aW9uIjoiUmVtb3RlIENvbmZpZ3VyYXRpb24iLHJldHJpZXM6IlJldHJpZXMiLCJyZXRyaWVzLW9uLWVtcHR5IjoiUmV0cmllcyBvbiBlbXB0eSIsInJldHJpZXMtb24taW52YWxpZCI6IlJldHJpZXMgb24gaW52YWxpZCIscnBjOnt0aXRsZToie3t0eXBlfX0gQ29ubmVjdG9yIFJQQyBwYXJhbWV0ZXJzIiwidGVtcGxhdGVzLXRpdGxlIjoiQ29ubmVjdG9yIFJQQyBUZW1wbGF0ZXMiLG1ldGhvZEZpbHRlcjoiTWV0aG9kIGZpbHRlciIsIm1ldGhvZC1uYW1lIjoiTWV0aG9kIG5hbWUiLHJlcXVlc3RUb3BpY0V4cHJlc3Npb246IlJlcXVlc3QgdG9waWMgZXhwcmVzc2lvbiIscmVzcG9uc2VUb3BpY0V4cHJlc3Npb246IlJlc3BvbnNlIHRvcGljIGV4cHJlc3Npb24iLHJlc3BvbnNlVGltZW91dDoiUmVzcG9uc2UgdGltZW91dCIsdmFsdWVFeHByZXNzaW9uOiJWYWx1ZSBleHByZXNzaW9uIix0YWc6IlRhZyIsdHlwZToiVHlwZSIsZnVuY3Rpb25Db2RlOiJGdW5jdGlvbiBDb2RlIixvYmplY3RzQ291bnQ6Ik9iamVjdHMgQ291bnQiLGFkZHJlc3M6IkFkZHJlc3MiLG1ldGhvZDoiTWV0aG9kIixyZXF1ZXN0VHlwZToiUmVxdWVzdCBUeXBlIixyZXF1ZXN0VGltZW91dDoiUmVxdWVzdCBUaW1lb3V0IixvYmplY3RUeXBlOiJPYmplY3QgdHlwZSIsaWRlbnRpZmllcjoiSWRlbnRpZmllciIscHJvcGVydHlJZDoiUHJvcGVydHkgSUQiLG1ldGhvZFJQQzoiTWV0aG9kIFJQQyBuYW1lIix3aXRoUmVzcG9uc2U6IldpdGggUmVzcG9uc2UiLGNoYXJhY3RlcmlzdGljVVVJRDoiQ2hhcmFjdGVyaXN0aWMgVVVJRCIsbWV0aG9kUHJvY2Vzc2luZzoiTWV0aG9kIFByb2Nlc3NpbmciLG5vZGVJRDoiTm9kZSBJRCIsaXNFeHRlbmRlZElEOiJJcyBFeHRlbmRlZCBJRCIsaXNGRDoiSXMgRkQiLGJpdHJhdGVTd2l0Y2g6IkJpdHJhdGUgU3dpdGNoIixkYXRhSW5IRVg6IkRhdGEgSW4gSEVYIixkYXRhTGVuZ3RoOiJEYXRhIExlbmd0aCIsZGF0YUJ5dGVvcmRlcjoiRGF0YSBCeXRlIE9yZGVyIixkYXRhQmVmb3JlOiJEYXRhIEJlZm9yZSIsZGF0YUFmdGVyOiJEYXRhIEFmdGVyIixkYXRhRXhwcmVzc2lvbjoiRGF0YSBFeHByZXNzaW9uIixlbmNvZGluZzoiRW5jb2RpbmciLG9pZDoiT0lEIiwiYWRkLW9pZCI6IkFkZCBPSUQiLCJhZGQtaGVhZGVyIjoiQWRkIGhlYWRlciIsImFkZC1zZWN1cml0eSI6IkFkZCBzZWN1cml0eSIscmVtb3ZlOiJSZW1vdmUiLHJlcXVlc3RGaWx0ZXI6IlJlcXVlc3QgRmlsdGVyIixyZXF1ZXN0VXJsRXhwcmVzc2lvbjoiUmVxdWVzdCBVUkwgRXhwcmVzc2lvbiIsaHR0cE1ldGhvZDoiSFRUUCBNZXRob2QiLHRpbWVvdXQ6IlRpbWVvdXQiLHRyaWVzOiJUcmllcyIsaHR0cEhlYWRlcnM6IkhUVFAgSGVhZGVycyIsImhlYWRlci1uYW1lIjoiSGVhZGVyIG5hbWUiLGhpbnQ6eyJtb2RidXMtcmVzcG9uc2UtcmVhZGluZyI6IlJQQyByZXNwb25zZSB3aWxsIHJldHVybiBhbGwgc3VidHJhY3RlZCB2YWx1ZXMgZnJvbSBhbGwgY29ubmVjdGVkIGRldmljZXMgd2hlbiB0aGUgcmVhZGluZyBmdW5jdGlvbnMgYXJlIHNlbGVjdGVkLiIsIm1vZGJ1cy13cml0aW5nLWZ1bmN0aW9ucyI6IlJQQyB3aWxsIHdyaXRlIGEgZmlsbGVkIHZhbHVlIHRvIGFsbCBjb25uZWN0ZWQgZGV2aWNlcyB3aGVuIHRoZSB3cml0aW5nIGZ1bmN0aW9ucyBhcmUgc2VsZWN0ZWQuIiwib3BjLW1ldGhvZCI6IkEgZmlsbGVkIG1ldGhvZCBuYW1lIGlzIHRoZSBPUEMtVUEgbWV0aG9kIHRoYXQgd2lsbCBwcm9jZXNzZWQgb24gdGhlIHNlcnZlciBzaWRlIChtYWtlIHN1cmUgeW91ciBub2RlIGhhcyB0aGUgcmVxdWVzdGVkIG1ldGhvZCkuIn0sInNlY3VyaXR5LW5hbWUiOiJTZWN1cml0eSBuYW1lIix2YWx1ZToiVmFsdWUiLHNlY3VyaXR5OiJTZWN1cml0eSIscmVzcG9uc2VWYWx1ZUV4cHJlc3Npb246IlJlc3BvbnNlIFZhbHVlIEV4cHJlc3Npb24iLHJlcXVlc3RWYWx1ZUV4cHJlc3Npb246IlJlcXVlc3QgVmFsdWUgRXhwcmVzc2lvbiIsYXJndW1lbnRzOiJBcmd1bWVudHMiLCJhZGQtYXJndW1lbnQiOiJBZGQgYXJndW1lbnQiLCJ3cml0ZS1wcm9wZXJ0eSI6IldyaXRlIHByb3BlcnR5IiwicmVhZC1wcm9wZXJ0eSI6IlJlYWQgcHJvcGVydHkiLCJhbmFsb2ctb3V0cHV0IjoiQW5hbG9nIG91dHB1dCIsImFuYWxvZy1pbnB1dCI6IkFuYWxvZyBpbnB1dCIsImJpbmFyeS1vdXRwdXQiOiJCaW5hcnkgb3V0cHV0IiwiYmluYXJ5LWlucHV0IjoiQmluYXJ5IGlucHV0IiwiYmluYXJ5LXZhbHVlIjoiQmluYXJ5IHZhbHVlIiwiYW5hbG9nLXZhbHVlIjoiQW5hbG9nIHZhbHVlIix3cml0ZToiV3JpdGUiLHJlYWQ6IlJlYWQiLHNjYW46IlNjYW4iLG9pZHM6Ik9JRFMiLHNldDoiU2V0IixtdWx0aXNldDoiTXVsdGlzZXQiLGdldDoiR2V0IiwiYnVsay13YWxrIjoiQnVsayB3YWxrIix0YWJsZToiVGFibGUiLCJtdWx0aS1nZXQiOiJNdWx0aWdldCIsImdldC1uZXh0IjoiR2V0IG5leHQiLCJidWxrLWdldCI6IkJ1bGsgZ2V0Iix3YWxrOiJXYWxrIiwic2F2ZS10ZW1wbGF0ZSI6IlNhdmUgdGVtcGxhdGUiLCJ0ZW1wbGF0ZS1uYW1lIjoiVGVtcGxhdGUgbmFtZSIsInRlbXBsYXRlLW5hbWUtcmVxdWlyZWQiOiJUZW1wbGF0ZSBuYW1lIGlzIHJlcXVpcmVkLiIsInRlbXBsYXRlLW5hbWUtZHVwbGljYXRlIjoiVGVtcGxhdGUgd2l0aCBzdWNoIG5hbWUgYWxyZWFkeSBleGlzdHMsIGl0IHdpbGwgYmUgdXBkYXRlZC4iLGNvbW1hbmQ6IkNvbW1hbmQiLHBhcmFtczoiUGFyYW1zIiwianNvbi12YWx1ZS1pbnZhbGlkIjoiSlNPTiB2YWx1ZSBoYXMgYW4gaW52YWxpZCBmb3JtYXQifSwicnBjLW1ldGhvZHMiOiJSUEMgbWV0aG9kcyIsInJwYy1yZXF1ZXN0cyI6IlJQQyByZXF1ZXN0cyIscmVxdWVzdDp7ImNvbm5lY3QtcmVxdWVzdCI6IkNvbm5lY3QgcmVxdWVzdCIsImRpc2Nvbm5lY3QtcmVxdWVzdCI6IkRpc2Nvbm5lY3QgcmVxdWVzdCIsImF0dHJpYnV0ZS1yZXF1ZXN0IjoiQXR0cmlidXRlIHJlcXVlc3QiLCJhdHRyaWJ1dGUtdXBkYXRlIjoiQXR0cmlidXRlIHVwZGF0ZSIsInJwYy1jb25uZWN0aW9uIjoiUlBDIGNvbW1hbmQifSwicmVxdWVzdC10eXBlIjoiUmVxdWVzdCB0eXBlIiwicmVxdWVzdHMtbWFwcGluZyI6IlJlcXVlc3RzIG1hcHBpbmciLCJyZXF1ZXN0cy1tYXBwaW5nLWhpbnQiOiJNUVRUIENvbm5lY3RvciByZXF1ZXN0cyBhbGxvd3MgeW91IHRvIGNvbm5lY3QsIGRpc2Nvbm5lY3QsIHByb2Nlc3MgYXR0cmlidXRlIHJlcXVlc3RzIGZyb20gdGhlIGRldmljZSwgaGFuZGxlIGF0dHJpYnV0ZSB1cGRhdGVzIG9uIHRoZSBzZXJ2ZXIgYW5kIFJQQyBwcm9jZXNzaW5nIGNvbmZpZ3VyYXRpb24uIiwicmVxdWVzdC10b3BpYy1leHByZXNzaW9uIjoiUmVxdWVzdCB0b3BpYyBleHByZXNzaW9uIiwicmVxdWVzdC1jbGllbnQtY2VydGlmaWNhdGUiOiJSZXF1ZXN0IGNsaWVudCBjZXJ0aWZpY2F0ZSIsInJlcXVlc3QtdG9waWMtZXhwcmVzc2lvbi1yZXF1aXJlZCI6IlJlcXVlc3QgdG9waWMgZXhwcmVzc2lvbiBpcyByZXF1aXJlZC4iLCJyZXNwb25zZS10aW1lb3V0IjoiUmVzcG9uc2UgdGltZW91dCAobXMpIiwicmVzcG9uc2UtdGltZW91dC1yZXF1aXJlZCI6IlJlc3BvbnNlIHRpbWVvdXQgaXMgcmVxdWlyZWQuIiwicmVzcG9uc2UtdGltZW91dC1saW1pdHMtZXJyb3IiOiJUaW1lb3V0IG11c3QgYmUgbW9yZSB0aGVuIHt7bWlufX0gbXMuIiwicmVzcG9uc2UtdG9waWMtUW9zIjoiUmVzcG9uc2UgdG9waWMgUW9TIiwicmVzcG9uc2UtdG9waWMtUW9zLWhpbnQiOiJNUVRUIFF1YWxpdHkgb2YgU2VydmljZSAoUW9TKSBpcyBhbiBhZ3JlZW1lbnQgYmV0d2VlbiB0aGUgbWVzc2FnZSBzZW5kZXIgYW5kIHJlY2VpdmVyIHRoYXQgZGVmaW5lcyB0aGUgbGV2ZWwgb2YgZGVsaXZlcnkgZ3VhcmFudGVlIGZvciBhIHNwZWNpZmljIG1lc3NhZ2UuIiwicmVzcG9uc2UtdG9waWMtZXhwcmVzc2lvbiI6IlJlc3BvbnNlIHRvcGljIGV4cHJlc3Npb24iLCJyZXNwb25zZS10b3BpYy1leHByZXNzaW9uLXJlcXVpcmVkIjoiUmVzcG9uc2UgdG9waWMgZXhwcmVzc2lvbiBpcyByZXF1aXJlZC4iLCJyZXNwb25zZS12YWx1ZS1leHByZXNzaW9uIjoiUmVzcG9uc2UgdmFsdWUgZXhwcmVzc2lvbiIsInJlc3BvbnNlLXZhbHVlLWV4cHJlc3Npb24tcmVxdWlyZWQiOiJSZXNwb25zZSB2YWx1ZSBleHByZXNzaW9uIGlzIHJlcXVpcmVkLiIsInZlbmRvci1uYW1lIjoiVmVuZG9yIG5hbWUiLCJ2ZW5kb3ItdXJsIjoiVmVuZG9yIFVSTCIsdmFsdWU6IlZhbHVlIix2YWx1ZXM6IlZhbHVlcyIsInZhbHVlLXJlcXVpcmVkIjoiVmFsdWUgaXMgcmVxdWlyZWQuIiwidmFsdWUtZXhwcmVzc2lvbiI6IlZhbHVlIGV4cHJlc3Npb24iLCJ2YWx1ZS1leHByZXNzaW9uLXJlcXVpcmVkIjoiVmFsdWUgZXhwcmVzc2lvbiBpcyByZXF1aXJlZC4iLCJ3aXRoLXJlc3BvbnNlIjoiV2l0aCByZXNwb25zZSIsIndpdGhvdXQtcmVzcG9uc2UiOiJXaXRob3V0IHJlc3BvbnNlIixvdGhlcjoiT3RoZXIiLCJzYXZlLXRpcCI6IlNhdmUgY29uZmlndXJhdGlvbiBmaWxlIiwic2Nhbi1wZXJpb2QiOiJTY2FuIHBlcmlvZCAobXMpIiwic2Nhbi1wZXJpb2QtZXJyb3IiOiJTY2FuIHBlcmlvZCBzaG91bGQgYmUgYXQgbGVhc3Qge3ttaW59fSAobXMpLiIsInN1Yi1jaGVjay1wZXJpb2QiOiJTdWJzY3JpcHRpb24gY2hlY2sgcGVyaW9kIChtcykiLCJzdWItY2hlY2stcGVyaW9kLWVycm9yIjoiU3Vic2NyaXB0aW9uIGNoZWNrIHBlcmlvZCBzaG91bGQgYmUgYXQgbGVhc3Qge3ttaW59fSAobXMpLiIsInNlY3VyaXR5LWxhYmVsIjoiU2VjdXJpdHkiLCJzZWN1cml0eS1wb2xpY3kiOiJTZWN1cml0eSBwb2xpY3kiLCJzZWN1cml0eS10eXBlIjoiU2VjdXJpdHkgdHlwZSIsInNlY3VyaXR5LXR5cGVzIjp7ImFjY2Vzcy10b2tlbiI6IkFjY2VzcyBUb2tlbiIsInVzZXJuYW1lLXBhc3N3b3JkIjoiVXNlcm5hbWUgYW5kIFBhc3N3b3JkIix0bHM6IlRMUyIsInRscy1hY2Nlc3MtdG9rZW4iOiJUTFMgKyBBY2Nlc3MgVG9rZW4iLCJ0bHMtcHJpdmF0ZS1rZXkiOiJUTFMgKyBQcml2YXRlIEtleSJ9LCJzZWxlY3QtY29ubmVjdG9yIjoiU2VsZWN0IGNvbm5lY3RvciB0byBkaXNwbGF5IGNvbmZpZyIsInNlbmQtY2hhbmdlLWRhdGEiOiJTZW5kIGRhdGEgb25seSBvbiBjaGFuZ2UiLCJzZW5kLWRhdGEtdG8tcGxhdGZvcm0iOiJTZW5kIGRhdGEgdG8gcGxhdGZvcm0iLCJzZW5kLWRhdGEtb24tY2hhbmdlIjoiU2VuZCBkYXRhIG9ubHkgb24gY2hhbmdlIiwic2VuZC1jaGFuZ2UtZGF0YS1oaW50IjoiVGhlIHZhbHVlcyB3aWxsIGJlIHNhdmVkIHRvIHRoZSBkYXRhYmFzZSBvbmx5IGlmIHRoZXkgYXJlIGRpZmZlcmVudCBmcm9tIHRoZSBjb3JyZXNwb25kaW5nIHZhbHVlcyBpbiB0aGUgcHJldmlvdXMgY29udmVydGVkIG1lc3NhZ2UuIFRoaXMgZnVuY3Rpb25hbGl0eSBhcHBsaWVzIHRvIGJvdGggYXR0cmlidXRlcyBhbmQgdGltZSBzZXJpZXMgaW4gdGhlIGNvbnZlcnRlciBvdXRwdXQuIixzZXJ2ZXI6IlNlcnZlciIsInNlcnZlci1ob3N0bmFtZSI6IlNlcnZlciBob3N0bmFtZSIsInNlcnZlci1zbGF2ZSI6IlNlcnZlciAoU2xhdmUpIiwic2VydmVycy1zbGF2ZXMiOiJTZXJ2ZXJzIChTbGF2ZXMpIiwic2VydmVyLXBvcnQiOiJTZXJ2ZXIgcG9ydCIsInNlcnZlci11cmwiOiJTZXJ2ZXIgZW5kcG9pbnQgdXJsIiwic2VydmVyLWNvbm5lY3Rpb24iOiJTZXJ2ZXIgQ29ubmVjdGlvbiIsInNlcnZlci1jb25maWciOiJTZXJ2ZXIgY29uZmlndXJhdGlvbiIsInNlcnZlci1zbGF2ZS1jb25maWciOiJTZXJ2ZXIgKFNsYXZlKSBjb25maWd1cmF0aW9uIiwic2VydmVyLXVybC1yZXF1aXJlZCI6IlNlcnZlciBlbmRwb2ludCB1cmwgaXMgcmVxdWlyZWQuIixzdG9wYml0czoiU3RvcGJpdHMiLHN0cmljdDoiU3RyaWN0IixzZXQ6IlNldCIsInNob3ctbWFwIjoiU2hvdyBtYXAiLHN0YXRpc3RpY3M6e3N0YXRpc3RpYzoiU3RhdGlzdGljIixzdGF0aXN0aWNzOiJTdGF0aXN0aWNzIiwic3RhdGlzdGljLWNvbW1hbmRzLWVtcHR5IjonTm8gY29uZmlndXJlZCBzdGF0aXN0aWMga2V5cyBmb3VuZC4gWW91IGNhbiBjb25maWd1cmUgdGhlbSBpbiAiU3RhdGlzdGljcyIgdGFiIGluIGdlbmVyYWwgY29uZmlndXJhdGlvbi4nLCJzdGF0aXN0aWNzLWJ1dHRvbiI6IkdvIHRvIGNvbmZpZ3VyYXRpb24iLGNvbW1hbmRzOiJDb21tYW5kcyIsInNlbmQtcGVyaW9kIjoiU3RhdGlzdGljIHNlbmQgcGVyaW9kIChpbiBzZWMpIiwic2VuZC1wZXJpb2QtcmVxdWlyZWQiOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgaXMgcmVxdWlyZWQiLCJzZW5kLXBlcmlvZC1taW4iOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgY2FuIG5vdCBiZSBsZXNzIHRoZW4gNjAiLCJzZW5kLXBlcmlvZC1wYXR0ZXJuIjoiU3RhdGlzdGljIHNlbmQgcGVyaW9kIGlzIG5vdCB2YWxpZCIsImNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbiI6IkNoZWNrIGNvbm5lY3RvcnMgY29uZmlndXJhdGlvbiAoaW4gc2VjKSIsIm1heC1wYXlsb2FkLXNpemUtYnl0ZXMiOiJNYXggcGF5bG9hZCBzaXplIGluIGJ5dGVzIiwibWF4LXBheWxvYWQtc2l6ZS1ieXRlcy1yZXF1aXJlZCI6Ik1heCBwYXlsb2FkIHNpemUgaW4gYnl0ZXMgaXMgcmVxdWlyZWQiLCJtYXgtcGF5bG9hZC1zaXplLWJ5dGVzLW1pbiI6Ik1heCBwYXlsb2FkIHNpemUgaW4gYnl0ZXMgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMTAwIiwibWF4LXBheWxvYWQtc2l6ZS1ieXRlcy1wYXR0ZXJuIjoiTWF4IHBheWxvYWQgc2l6ZSBpbiBieXRlcyBpcyBub3QgdmFsaWQiLCJtaW4tcGFjay1zaXplLXRvLXNlbmQiOiJNaW4gcGFja2V0IHNpemUgdG8gc2VuZCIsIm1pbi1wYWNrLXNpemUtdG8tc2VuZC1yZXF1aXJlZCI6Ik1pbiBwYWNrZXQgc2l6ZSB0byBzZW5kIGlzIHJlcXVpcmVkIiwibWluLXBhY2stc2l6ZS10by1zZW5kLW1pbiI6Ik1pbiBwYWNrZXQgc2l6ZSB0byBzZW5kIGNhbiBub3QgYmUgbGVzcyB0aGVuIDEwMCIsIm1pbi1wYWNrLXNpemUtdG8tc2VuZC1wYXR0ZXJuIjoiTWluIHBhY2tldCBzaXplIHRvIHNlbmQgaXMgbm90IHZhbGlkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXJlcXVpcmVkIjoiQ2hlY2sgY29ubmVjdG9ycyBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLW1pbiI6IkNoZWNrIGNvbm5lY3RvcnMgY29uZmlndXJhdGlvbiBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXBhdHRlcm4iOiJDaGVjayBjb25uZWN0b3JzIGNvbmZpZ3VyYXRpb24gaXMgbm90IHZhbGlkIixhZGQ6IkFkZCBjb21tYW5kIix0aW1lb3V0OiJUaW1lb3V0IChpbiBzZWMpIiwidGltZW91dC1tcyI6IlRpbWVvdXQgKGluIG1zKSIsInRpbWVvdXQtcmVxdWlyZWQiOiJUaW1lb3V0IGlzIHJlcXVpcmVkIiwidGltZW91dC1taW4iOiJUaW1lb3V0IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJ0aW1lb3V0LXBhdHRlcm4iOiJUaW1lb3V0IGlzIG5vdCB2YWxpZCIsImF0dHJpYnV0ZS1uYW1lIjoiQXR0cmlidXRlIG5hbWUiLCJhdHRyaWJ1dGUtbmFtZS1yZXF1aXJlZCI6IkF0dHJpYnV0ZSBuYW1lIGlzIHJlcXVpcmVkIixjb21tYW5kOiJDb21tYW5kIiwiY29tbWFuZC1yZXF1aXJlZCI6IkNvbW1hbmQgaXMgcmVxdWlyZWQiLCJjb21tYW5kLXBhdHRlcm4iOiJDb21tYW5kIGlzIG5vdCB2YWxpZCIscmVtb3ZlOiJSZW1vdmUgY29tbWFuZCJ9LHN0b3JhZ2U6IlN0b3JhZ2UiLCJzdG9yYWdlLW1heC1maWxlLXJlY29yZHMiOiJNYXhpbXVtIHJlY29yZHMgaW4gZmlsZSIsInN0b3JhZ2UtbWF4LWZpbGVzIjoiTWF4aW11bSBudW1iZXIgb2YgZmlsZXMiLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiJNaW5pbXVtIG51bWJlciBpcyAxLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXJlcXVpcmVkIjoiTnVtYmVyIGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMiOiJNYXhpbXVtIHJlY29yZHMgaW4gc3RvcmFnZSIsInN0b3JhZ2UtbWF4LXJlY29yZHMtbWluIjoiTWluaW11bSBudW1iZXIgb2YgcmVjb3JkcyBpcyAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1yZXF1aXJlZCI6Ik1heGltdW0gcmVjb3JkcyBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50IjoiUmVhZCByZWNvcmQgY291bnQgaW4gc3RvcmFnZSIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtbWluIjoiTWluaW11bSBudW1iZXIgb2YgcmVjb3JkcyBpcyAxLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1yZXF1aXJlZCI6IlJlYWQgcmVjb3JkIGNvdW50IGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50IjoiTWF4IHJlYWQgcmVjb3JkIGNvdW50IGluIHN0b3JhZ2UiLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1taW4iOiJNaW5pbXVtIG51bWJlciBvZiByZWNvcmRzIGlzIDEuIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcmVxdWlyZWQiOiJNYXggUmVhZCByZWNvcmQgY291bnQgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoIjoiRGF0YSBmb2xkZXIgcGF0aCIsInN0b3JhZ2UtZGF0YS1mb2xkZXItcGF0aC1yZXF1aXJlZCI6IkRhdGEgZm9sZGVyIHBhdGggaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1wYWNrLXNpemUiOiJNYXhpbXVtIGV2ZW50IHBhY2sgc2l6ZSIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6Ik1pbmltdW0gbnVtYmVyIGlzIDEuIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiJNYXhpbXVtIGV2ZW50IHBhY2sgc2l6ZSBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLXBhdGgiOiJTdG9yYWdlIHBhdGgiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiJTdG9yYWdlIHBhdGggaXMgcmVxdWlyZWQuIiwic3RvcmFnZS10eXBlIjoiU3RvcmFnZSB0eXBlIiwic3RvcmFnZS10eXBlcyI6eyJmaWxlLXN0b3JhZ2UiOiJGaWxlIHN0b3JhZ2UiLCJtZW1vcnktc3RvcmFnZSI6Ik1lbW9yeSBzdG9yYWdlIixzcWxpdGU6IlNRTElURSJ9LCJyZXBvcnQtc3RyYXRlZ3kiOntsYWJlbDoiUmVwb3J0IHN0cmF0ZWd5Iiwib24tY2hhbmdlIjoiT24gdmFsdWUgY2hhbmdlIiwib24tcmVwb3J0LXBlcmlvZCI6Ik9uIHJlcG9ydCBwZXJpb2QiLCJvbi1jaGFuZ2Utb3ItcmVwb3J0LXBlcmlvZCI6Ik9uIHZhbHVlIGNoYW5nZSBvciByZXBvcnQgcGVyaW9kIiwicmVwb3J0LXBlcmlvZCI6IlJlcG9ydCBwZXJpb2QifSwic291cmNlLXR5cGUiOnttc2c6IkV4dHJhY3QgZnJvbSBtZXNzYWdlIix0b3BpYzoiRXh0cmFjdCBmcm9tIHRvcGljIixjb25zdDoiQ29uc3RhbnQiLGlkZW50aWZpZXI6IklkZW50aWZpZXIiLHBhdGg6IlBhdGgifSwid29ya2Vycy1zZXR0aW5ncyI6IldvcmtlcnMgc2V0dGluZ3MiLHRoaW5nc2JvYXJkOiJUaGluZ3NCb2FyZCIsZ2VuZXJhbDoiR2VuZXJhbCIsdGltZXNlcmllczoiVGltZSBzZXJpZXMiLGtleToiS2V5IixrZXlzOiJLZXlzIiwia2V5LXJlcXVpcmVkIjoiS2V5IGlzIHJlcXVpcmVkLiIsInRoaW5nc2JvYXJkLWhvc3QiOiJQbGF0Zm9ybSBob3N0IiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6Ikhvc3QgaXMgcmVxdWlyZWQuIiwidGhpbmdzYm9hcmQtcG9ydCI6IlBsYXRmb3JtIHBvcnQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6Ik1heGltdW0gcG9ydCBudW1iZXIgaXMgNjU1MzUuIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiJNaW5pbXVtIHBvcnQgbnVtYmVyIGlzIDEuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiUG9ydCBpcyBub3QgdmFsaWQuIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6IlBvcnQgaXMgcmVxdWlyZWQuIix0aWR5OiJUaWR5IiwidGlkeS10aXAiOiJUaWR5IGNvbmZpZyBKU09OIix0aW1lb3V0OiJUaW1lb3V0IChtcykiLCJ0aW1lb3V0LWVycm9yIjoiVGltZW91dCBzaG91bGQgYmUgYXQgbGVhc3Qge3ttaW59fSAobXMpLiIsInRpdGxlLWNvbm5lY3RvcnMtanNvbiI6IkNvbm5lY3RvciB7e3R5cGVOYW1lfX0gY29uZmlndXJhdGlvbiIsdHlwZToiVHlwZSIsInRvcGljLWZpbHRlciI6IlRvcGljIGZpbHRlciIsInRvcGljLXJlcXVpcmVkIjoiVG9waWMgZmlsdGVyIGlzIHJlcXVpcmVkLiIsInRscy1wYXRoLWNhLWNlcnRpZmljYXRlIjoiUGF0aCB0byBDQSBjZXJ0aWZpY2F0ZSBvbiBnYXRld2F5IiwidGxzLXBhdGgtY2xpZW50LWNlcnRpZmljYXRlIjoiUGF0aCB0byBjbGllbnQgY2VydGlmaWNhdGUgb24gZ2F0ZXdheSIsInRscy1jb25uZWN0aW9uIjoiVExTIENvbm5lY3Rpb24iLCJtYXN0ZXItY29ubmVjdGlvbnMiOiJNYXN0ZXIgQ29ubmVjdGlvbnMiLCJtZXRob2QtZmlsdGVyIjoiTWV0aG9kIGZpbHRlciIsIm1ldGhvZC1maWx0ZXItaGludCI6IlJlZ3VsYXIgZXhwcmVzc2lvbiB0byBmaWx0ZXIgaW5jb21pbmcgUlBDIG1ldGhvZCBmcm9tIHBsYXRmb3JtLiIsIm1ldGhvZC1maWx0ZXItcmVxdWlyZWQiOiJNZXRob2QgZmlsdGVyIGlzIHJlcXVpcmVkLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3VycyI6Ik1lc3NhZ2VzIFRUTCBjaGVjayBpbiBob3VycyIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1yZXF1aXJlZCI6Ik1lc3NhZ2VzIFRUTCBjaGVjayBpbiBob3VycyBpcyByZXF1aXJlZC4iLCJtZXNzYWdlcy10dGwtY2hlY2staW4taG91cnMtbWluIjoiTWluIG51bWJlciBpcyAxLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cyI6Ik1lc3NhZ2VzIFRUTCBpbiBkYXlzIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcmVxdWlyZWQiOiJNZXNzYWdlcyBUVEwgaW4gZGF5cyBpcyByZXF1aXJlZC4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1taW4iOiJNaW4gbnVtYmVyIGlzIDEuIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwibXF0dC1xb3MiOiJRb1MiLCJtcXR0LXFvcy1yZXF1aXJlZCI6IlFvUyBpcyByZXF1aXJlZCIsIm1xdHQtcW9zLXJhbmdlIjoiUW9TIHZhbHVlcyByYW5nZSBpcyBmcm9tIDAgdG8gMSIscW9zOnsiYXQtbW9zdC1vbmNlIjoiMCAtIEF0IG1vc3Qgb25jZSIsImF0LWxlYXN0LW9uY2UiOiIxIC0gQXQgbGVhc3Qgb25jZSIsImV4YWN0bHktb25jZSI6IjIgLSBFeGFjdGx5IG9uY2UifSwib2JqZWN0cy1jb3VudCI6Ik9iamVjdHMgY291bnQiLCJvYmplY3RzLWNvdW50LXJlcXVpcmVkIjoiT2JqZWN0cyBjb3VudCBpcyByZXF1aXJlZCIsIndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzIjoiV2FpdCBhZnRlciBmYWlsZWQgYXR0ZW1wdHMgKG1zKSIsInRscy1wYXRoLXByaXZhdGUta2V5IjoiUGF0aCB0byBwcml2YXRlIGtleSBvbiBnYXRld2F5IiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiJUb2dnbGUgZnVsbHNjcmVlbiIsInRyYW5zZm9ybWVyLWpzb24tY29uZmlnIjoiQ29uZmlndXJhdGlvbiBKU09OKiIsInVwZGF0ZS1jb25maWciOiJBZGQvdXBkYXRlIGNvbmZpZ3VyYXRpb24gSlNPTiIsdXNlcm5hbWU6IlVzZXJuYW1lIiwidXNlcm5hbWUtcmVxdWlyZWQiOiJVc2VybmFtZSBpcyByZXF1aXJlZC4iLCJ1bml0LWlkLXJlcXVpcmVkIjoiVW5pdCBJRCBpcyByZXF1aXJlZC4iLCJ3cml0ZS1jb2lsIjoiV3JpdGUgQ29pbCIsIndyaXRlLWNvaWxzIjoiV3JpdGUgQ29pbHMiLCJ3cml0ZS1yZWdpc3RlciI6IldyaXRlIFJlZ2lzdGVyIiwid3JpdGUtcmVnaXN0ZXJzIjoiV3JpdGUgUmVnaXN0ZXJzIixoaW50czp7Im1vZGJ1cy1tYXN0ZXIiOiJDb25maWd1cmF0aW9uIHNlY3Rpb25zIGZvciBjb25uZWN0aW5nIHRvIE1vZGJ1cyBzZXJ2ZXJzIGFuZCByZWFkaW5nIGRhdGEgZnJvbSB0aGVtLiIsIm1vZGJ1cy1zZXJ2ZXIiOiJDb25maWd1cmF0aW9uIHNlY3Rpb24gZm9yIHRoZSBNb2RidXMgc2VydmVyLCBzdG9yaW5nIGRhdGEgYW5kIHNlbmRpbmcgdXBkYXRlcyB0byB0aGUgcGxhdGZvcm0gd2hlbiBjaGFuZ2VzIG9jY3VyIG9yIGF0IGZpeGVkIGludGVydmFscy4iLCJyZW1vdGUtY29uZmlndXJhdGlvbiI6IkVuYWJsZXMgcmVtb3RlIGNvbmZpZ3VyYXRpb24gYW5kIG1hbmFnZW1lbnQgb2YgdGhlIGdhdGV3YXkiLCJyZW1vdGUtc2hlbGwiOiJFbmFibGVzIHJlbW90ZSBjb250cm9sIG9mIHRoZSBvcGVyYXRpbmcgc3lzdGVtIHdpdGggdGhlIGdhdGV3YXkgZnJvbSB0aGUgUmVtb3RlIFNoZWxsIHdpZGdldCIsaG9zdDoiSG9zdG5hbWUgb3IgSVAgYWRkcmVzcyBvZiBwbGF0Zm9ybSBzZXJ2ZXIiLHBvcnQ6IlBvcnQgb2YgTVFUVCBzZXJ2aWNlIG9uIHBsYXRmb3JtIHNlcnZlciIsdG9rZW46IkFjY2VzcyB0b2tlbiBmb3IgdGhlIGdhdGV3YXkgZnJvbSBwbGF0Zm9ybSBzZXJ2ZXIiLCJjbGllbnQtaWQiOiJNUVRUIGNsaWVudCBpZCBmb3IgdGhlIGdhdGV3YXkgZm9ybSBwbGF0Zm9ybSBzZXJ2ZXIiLHVzZXJuYW1lOiJNUVRUIHVzZXJuYW1lIGZvciB0aGUgZ2F0ZXdheSBmb3JtIHBsYXRmb3JtIHNlcnZlciIscGFzc3dvcmQ6Ik1RVFQgcGFzc3dvcmQgZm9yIHRoZSBnYXRld2F5IGZvcm0gcGxhdGZvcm0gc2VydmVyIiwiY2EtY2VydCI6IlBhdGggdG8gQ0EgY2VydGlmaWNhdGUgZmlsZSIsImRhdGUtZm9ybSI6IkRhdGUgZm9ybWF0IGluIGxvZyBtZXNzYWdlIiwiZGF0YS1mb2xkZXIiOiJQYXRoIHRvIHRoZSBmb2xkZXIgdGhhdCB3aWxsIGNvbnRhaW4gZGF0YSAoUmVsYXRpdmUgb3IgQWJzb2x1dGUpIiwibG9nLWZvcm1hdCI6IkxvZyBtZXNzYWdlIGZvcm1hdCIsInJlbW90ZS1sb2ciOiJFbmFibGVzIHJlbW90ZSBsb2dnaW5nIGFuZCBsb2dzIHJlYWRpbmcgZnJvbSB0aGUgZ2F0ZXdheSIsImJhY2t1cC1jb3VudCI6IklmIGJhY2t1cCBjb3VudCBpcyA+IDAsIHdoZW4gYSByb2xsb3ZlciBpcyBkb25lLCBubyBtb3JlIHRoYW4gYmFja3VwIGNvdW50IGZpbGVzIGFyZSBrZXB0IC0gdGhlIG9sZGVzdCBvbmVzIGFyZSBkZWxldGVkIixzdG9yYWdlOiJQcm92aWRlcyBjb25maWd1cmF0aW9uIGZvciBzYXZpbmcgaW5jb21pbmcgZGF0YSBiZWZvcmUgaXQgaXMgc2VudCB0byB0aGUgcGxhdGZvcm0iLCJtYXgtZmlsZS1jb3VudCI6Ik1heGltdW0gbnVtYmVyIG9mIGZpbGVzIHRoYXQgd2lsbCBiZSBjcmVhdGVkIiwibWF4LXJlYWQtY291bnQiOiJOdW1iZXIgb2YgbWVzc2FnZXMgdG8gcmV0cmlldmUgZnJvbSB0aGUgc3RvcmFnZSBhbmQgc2VuZCB0byBwbGF0Zm9ybSIsIm1heC1yZWNvcmRzIjoiTWF4aW11bSBjb3VudCBvZiByZWNvcmRzIHRoYXQgd2lsbCBiZSBzdG9yZWQgaW4gb25lIGZpbGUiLCJyZWFkLXJlY29yZC1jb3VudCI6Ik51bWJlciBvZiBtZXNzYWdlcyB0byByZXRyaWV2ZSBmcm9tIHRoZSBzdG9yYWdlIGFuZCBzZW5kIHRvIHBsYXRmb3JtIiwibWF4LXJlY29yZHMtY291bnQiOiJNYXhpbXVtIG51bWJlciBvZiBkYXRhIGVudHJpZXMgaW4gc3RvcmFnZSBiZWZvcmUgc2VuZGluZyB0byBwbGF0Zm9ybSIsInR0bC1jaGVjay1ob3VyIjoiSG93IG9mdGVuIHdpbGwgdGhlIEdhdGV3YXkgY2hlY2sgZGF0YSBmb3Igb2Jzb2xlc2NlbmNlIiwidHRsLW1lc3NhZ2VzLWRheSI6Ik1heGltdW0gbnVtYmVyIG9mIGRheXMgdGhhdCB0aGUgc3RvcmFnZSB3aWxsIHJldGFpbiBkYXRhIixjb21tYW5kczoiQ29tbWFuZHMgZm9yIGNvbGxlY3RpbmcgYWRkaXRpb25hbCBzdGF0aXN0aWMiLGF0dHJpYnV0ZToiU3RhdGlzdGljIHRlbGVtZXRyeSBrZXkiLHRpbWVvdXQ6IlRpbWVvdXQgZm9yIGNvbW1hbmQgZXhlY3V0aW5nIixjb21tYW5kOiJUaGUgcmVzdWx0IG9mIHRoZSBjb21tYW5kIGV4ZWN1dGlvbiwgd2lsbCBiZSB1c2VkIGFzIHRoZSB2YWx1ZSBmb3IgdGVsZW1ldHJ5IiwiY2hlY2stZGV2aWNlLWFjdGl2aXR5IjoiRW5hYmxlcyBtb25pdG9yIHRoZSBhY3Rpdml0eSBvZiBlYWNoIGNvbm5lY3RlZCBkZXZpY2UiLCJpbmFjdGl2aXR5LXRpbWVvdXQiOiJUaW1lIGFmdGVyIHdob3NlIHRoZSBnYXRld2F5IHdpbGwgZGlzY29ubmVjdCBkZXZpY2UiLCJpbmFjdGl2aXR5LXBlcmlvZCI6IlBlcmlvZGljaXR5IG9mIGRldmljZSBhY3Rpdml0eSBjaGVjayIsIm1pbmltYWwtcGFjay1kZWxheSI6IkRlbGF5IGJldHdlZW4gc2VuZGluZyBwYWNrcyBvZiBtZXNzYWdlcyAoRGVjcmVhc2luZyB0aGlzIHNldHRpbmcgcmVzdWx0cyBpbiBpbmNyZWFzZWQgQ1BVIHVzYWdlKSIscW9zOiJRdWFsaXR5IG9mIFNlcnZpY2UgaW4gTVFUVCBtZXNzYWdpbmcgKDAgLSBhdCBtb3N0IG9uY2UsIDEgLSBhdCBsZWFzdCBvbmNlKSIsInNlcnZlci1wb3J0IjoiTmV0d29yayBwb3J0IG9uIHdoaWNoIEdSUEMgc2VydmVyIHdpbGwgbGlzdGVuIGZvciBpbmNvbWluZyBjb25uZWN0aW9ucy4iLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dCI6Ik1heGltdW0gdGltZSB0aGUgc2VydmVyIHNob3VsZCB3YWl0IGZvciBhIGtlZXBhbGl2ZSBwaW5nIHJlc3BvbnNlIGJlZm9yZSBjb25zaWRlcmluZyB0aGUgY29ubmVjdGlvbiBkZWFkLiIsImdycGMta2VlcC1hbGl2ZSI6IkR1cmF0aW9uIGJldHdlZW4gdHdvIHN1Y2Nlc3NpdmUga2VlcGFsaXZlIHBpbmcgbWVzc2FnZXMgd2hlbiB0aGVyZSBpcyBubyBhY3RpdmUgUlBDIGNhbGwuIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzIjoiTWluaW11bSBhbW91bnQgb2YgdGltZSB0aGUgc2VydmVyIHNob3VsZCB3YWl0IGJldHdlZW4gc2VuZGluZyBrZWVwYWxpdmUgcGluZyBtZXNzYWdlcyIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YSI6Ik1heGltdW0gbnVtYmVyIG9mIGtlZXBhbGl2ZSBwaW5nIG1lc3NhZ2VzIHRoYXQgdGhlIHNlcnZlciBjYW4gc2VuZCB3aXRob3V0IHJlY2VpdmluZyBhbnkgZGF0YSBiZWZvcmUgaXQgY29uc2lkZXJzIHRoZSBjb25uZWN0aW9uIGRlYWQuIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEiOiJNaW5pbXVtIGFtb3VudCBvZiB0aW1lIHRoZSBzZXJ2ZXIgc2hvdWxkIHdhaXQgYmV0d2VlbiBzZW5kaW5nIGtlZXBhbGl2ZSBwaW5nIG1lc3NhZ2VzIHdoZW4gdGhlcmUgaXMgbm8gZGF0YSBiZWluZyBzZW50IG9yIHJlY2VpdmVkLiIsInBlcm1pdC13aXRob3V0LWNhbGxzIjoiQWxsb3cgc2VydmVyIHRvIGtlZXAgdGhlIEdSUEMgY29ubmVjdGlvbiBhbGl2ZSBldmVuIHdoZW4gdGhlcmUgYXJlIG5vIGFjdGl2ZSBSUEMgY2FsbHMuIiwicGF0aC1pbi1vcyI6IlBhdGggaW4gZ2F0ZXdheSBvcy4iLG1lbW9yeToiWW91ciBkYXRhIHdpbGwgYmUgc3RvcmVkIGluIHRoZSBpbi1tZW1vcnkgcXVldWUsIGl0IGlzIGEgZmFzdGVzdCBidXQgbm8gcGVyc2lzdGVuY2UgZ3VhcmFudGVlLiIsZmlsZToiWW91ciBkYXRhIHdpbGwgYmUgc3RvcmVkIGluIHNlcGFyYXRlZCBmaWxlcyBhbmQgd2lsbCBiZSBzYXZlZCBldmVuIGFmdGVyIHRoZSBnYXRld2F5IHJlc3RhcnQuIixzcWxpdGU6IllvdXIgZGF0YSB3aWxsIGJlIHN0b3JlZCBpbiBmaWxlIGJhc2VkIGRhdGFiYXNlLiBBbmQgd2lsbCBiZSBzYXZlZCBldmVuIGFmdGVyIHRoZSBnYXRld2F5IHJlc3RhcnQuIiwib3BjLXRpbWVvdXQiOiJUaW1lb3V0IGluIG1pbGxpc2Vjb25kcyBmb3IgY29ubmVjdGluZyB0byBPUEMtVUEgc2VydmVyLiIsInNlY3VyaXR5LXBvbGljeSI6IlNlY3VyaXR5IFBvbGljeSBkZWZpbmVzIHRoZSBzZWN1cml0eSBtZWNoYW5pc21zIHRvIGJlIGFwcGxpZWQuIiwic2Nhbi1wZXJpb2QiOiJQZXJpb2QgaW4gbWlsbGlzZWNvbmRzIHRvIHJlc2NhbiB0aGUgc2VydmVyLiIsInN1Yi1jaGVjay1wZXJpb2QiOiJQZXJpb2QgdG8gY2hlY2sgdGhlIHN1YnNjcmlwdGlvbnMgaW4gdGhlIE9QQy1VQSBzZXJ2ZXIuIiwiZW5hYmxlLXN1YnNjcmlwdGlvbiI6IklmIHRydWUgLSB0aGUgZ2F0ZXdheSB3aWxsIHN1YnNjcmliZSB0byBpbnRlcmVzdGluZyBub2RlcyBhbmQgd2FpdCBmb3IgZGF0YSB1cGRhdGUgYW5kIGlmIGZhbHNlIC0gdGhlIGdhdGV3YXkgd2lsbCByZXNjYW4gT1BDLVVBIHNlcnZlciBldmVyeSBzY2FuUGVyaW9kSW5NaWxsaXMuIiwic2hvdy1tYXAiOiJTaG93IG5vZGVzIG9uIHNjYW5uaW5nLiIsIm1ldGhvZC1uYW1lIjoiTmFtZSBvZiBtZXRob2Qgb24gT1BDLVVBIHNlcnZlci4iLGFyZ3VtZW50czoiQXJndW1lbnRzIGZvciB0aGUgbWV0aG9kICh3aWxsIGJlIG92ZXJ3cml0dGVuIGJ5IGFyZ3VtZW50cyBmcm9tIHRoZSBSUEMgcmVxdWVzdCkuIiwibWluLXBhY2stc2l6ZS10by1zZW5kIjoiTWluaW11bSBwYWNrYWdlIHNpemUgZm9yIHNlbmRpbmcuIiwibWF4LXBheWxvYWQtc2l6ZS1ieXRlcyI6Ik1heGltdW0gcGFja2FnZSBzaXplIGluIGJ5dGVzIiwicG9sbC1wZXJpb2QiOiJQZXJpb2QgaW4gbWlsbGlzZWNvbmRzIHRvIHJlYWQgZGF0YSBmcm9tIG5vZGVzLiIsbW9kYnVzOnsiZnJhbWVyLXR5cGUiOiJUeXBlIG9mIGEgZnJhbWVyIChTb2NrZXQsIFJUVSwgb3IgQVNDSUkpLCBpZiBuZWVkZWQuIixob3N0OiJIb3N0bmFtZSBvciBJUCBhZGRyZXNzIG9mIE1vZGJ1cyBzZXJ2ZXIuIixwb3J0OiJNb2RidXMgc2VydmVyIHBvcnQgZm9yIGNvbm5lY3Rpb24uIiwidW5pdC1pZCI6Ik1vZGJ1cyBzbGF2ZSBJRC4iLCJjb25uZWN0aW9uLXRpbWVvdXQiOiJDb25uZWN0aW9uIHRpbWVvdXQgKGluIHNlY29uZHMpIGZvciB0aGUgTW9kYnVzIHNlcnZlci4iLCJieXRlLW9yZGVyIjoiQnl0ZSBvcmRlciBmb3IgcmVhZGluZyBkYXRhLiIsIndvcmQtb3JkZXIiOiJXb3JkIG9yZGVyIHdoZW4gcmVhZGluZyBtdWx0aXBsZSByZWdpc3RlcnMuIixyZXRyaWVzOiJSZXRyeWluZyBkYXRhIHRyYW5zbWlzc2lvbiB0byB0aGUgbWFzdGVyLiBBY2NlcHRhYmxlIHZhbHVlczogdHJ1ZSBvciBmYWxzZS4iLCJyZXRyaWVzLW9uLWVtcHR5IjoiUmV0cnkgc2VuZGluZyBkYXRhIHRvIHRoZSBtYXN0ZXIgaWYgdGhlIGRhdGEgaXMgZW1wdHkuIiwicmV0cmllcy1vbi1pbnZhbGlkIjoiUmV0cnkgc2VuZGluZyBkYXRhIHRvIHRoZSBtYXN0ZXIgaWYgaXQgZmFpbHMuIiwicG9sbC1wZXJpb2QiOiJQZXJpb2QgaW4gbWlsbGlzZWNvbmRzIHRvIGNoZWNrIGF0dHJpYnV0ZXMgYW5kIHRlbGVtZXRyeSBvbiB0aGUgc2xhdmUuIiwiY29ubmVjdC1hdHRlbXB0LXRpbWUiOiJBIHdhaXRpbmcgcGVyaW9kIGluIG1pbGxpc2Vjb25kcyBiZWZvcmUgZXN0YWJsaXNoaW5nIGEgY29ubmVjdGlvbiB0byB0aGUgbWFzdGVyLiIsImNvbm5lY3QtYXR0ZW1wdC1jb3VudCI6IlRoZSBudW1iZXIgb2YgY29ubmVjdGlvbiBhdHRlbXB0cyBtYWRlIHRocm91Z2ggdGhlIGdhdGV3YXkuIiwid2FpdC1hZnRlci1mYWlsZWQtYXR0ZW1wdHMiOiJBIHdhaXRpbmcgcGVyaW9kIGluIG1pbGxpc2Vjb25kcyBiZWZvcmUgYXR0ZW1wdGluZyB0byBzZW5kIGRhdGEgdG8gdGhlIG1hc3Rlci4iLCJzZXJpYWwtcG9ydCI6IlNlcmlhbCBwb3J0IGZvciBjb25uZWN0aW9uLiIsYmF1ZHJhdGU6IkJhdWQgcmF0ZSBmb3IgdGhlIHNlcmlhbCBkZXZpY2UuIixzdG9wYml0czoiVGhlIG51bWJlciBvZiBzdG9wIGJpdHMgc2VudCBhZnRlciBlYWNoIGNoYXJhY3RlciBpbiBhIG1lc3NhZ2UgdG8gaW5kaWNhdGUgdGhlIGVuZCBvZiB0aGUgYnl0ZS4iLGJ5dGVzaXplOiJUaGUgbnVtYmVyIG9mIGJpdHMgaW4gYSBieXRlIG9mIHNlcmlhbCBkYXRhLiBUaGlzIGNhbiBiZSBvbmUgb2YgNSwgNiwgNywgb3IgOC4iLHBhcml0eToiVGhlIHR5cGUgb2YgY2hlY2tzdW0gdXNlZCB0byB2ZXJpZnkgZGF0YSBpbnRlZ3JpdHkuIE9wdGlvbnM6IChFKXZlbiwgKE8pZGQsIChOKW9uZS4iLHN0cmljdDoiVXNlIGludGVyLWNoYXJhY3RlciB0aW1lb3V0IGZvciBiYXVkcmF0ZXMg4omkIDE5MjAwLiIsIm9iamVjdHMtY291bnQiOiJEZXBlbmRzIG9uIHRoZSBzZWxlY3RlZCB0eXBlLiIsYWRkcmVzczoiUmVnaXN0ZXIgYWRkcmVzcyB0byB2ZXJpZnkuIixrZXk6IktleSB0byBiZSB1c2VkIGFzIHRoZSBhdHRyaWJ1dGUga2V5IGZvciB0aGUgcGxhdGZvcm0gaW5zdGFuY2UuIiwiZGF0YS1rZXlzIjoiRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgZnVuY3Rpb24gY29kZXMgYW5kIGRhdGEgdHlwZXMgY2xpY2sgb24gaGVscCBpY29uIixtb2RpZmllcjoiVGhlIHJldHJpZXZlZCB2YWx1ZSB3aWxsIGJlIGFkanVzdGVkIChieSBtdWx0aXBseWluZyBvciBkaXZpZGluZyBpdCkgYmFzZWQgb24gdGhlIHNwZWNpZmllZCBtb2RpZmllciB2YWx1ZS4ifX19fSxSbz17ImFkZC1lbnRyeSI6Itil2LbYp9mB2Kkg2KrZg9mI2YrZhiIsYWR2YW5jZWQ6ItmF2KrZgtiv2YUiLCJjaGVja2luZy1kZXZpY2UtYWN0aXZpdHkiOiLZgdit2LUg2YbYtNin2Lcg2KfZhNis2YfYp9iyIixjb21tYW5kOiLYo9mI2KfZhdixIERvY2tlciIsImNvbW1hbmQtY29waWVkLW1lc3NhZ2UiOiLYqtmFINmG2LPYriDYo9mF2LEgRG9ja2VyINil2YTZiSDYp9mE2K3Yp9mB2LjYqSIsY29uZmlndXJhdGlvbjoi2KfZhNiq2YPZiNmK2YYiLCJjb25uZWN0b3ItYWRkIjoi2KXYttin2YHYqSDZhdmI2LXZhCDYrNiv2YrYryIsImNvbm5lY3Rvci1lbmFibGVkIjoi2KrZhdmD2YrZhiDYp9mE2YXZiNi12YQiLCJjb25uZWN0b3ItbmFtZSI6Itin2LPZhSDYp9mE2YXZiNi12YQiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6Itin2LPZhSDYp9mE2YXZiNi12YQg2YXYt9mE2YjYqC4iLCJjb25uZWN0b3ItdHlwZSI6ItmG2YjYuSDYp9mE2YXZiNi12YQiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6ItmG2YjYuSDYp9mE2YXZiNi12YQg2YXYt9mE2YjYqC4iLGNvbm5lY3RvcnM6Itin2YTZhdmI2LXZhNin2KoiLCJjb25uZWN0b3JzLWNvbmZpZyI6Itiq2YPZiNmK2YbYp9iqINin2YTZhdmI2LXZhNin2KoiLCJjb25uZWN0b3JzLXRhYmxlLWVuYWJsZWQiOiLZhdmF2YPZkdmGIiwiY29ubmVjdG9ycy10YWJsZS1uYW1lIjoi2KfZhNin2LPZhSIsImNvbm5lY3RvcnMtdGFibGUtdHlwZSI6Itin2YTZhtmI2LkiLCJjb25uZWN0b3JzLXRhYmxlLXN0YXR1cyI6Itin2YTYrdin2YTYqSIsImNvbm5lY3RvcnMtdGFibGUtYWN0aW9ucyI6Itin2YTYpdis2LHYp9ih2KfYqiIsImNvbm5lY3RvcnMtdGFibGUta2V5Ijoi2KfZhNmF2YHYqtin2K0iLCJjb25uZWN0b3JzLXRhYmxlLWNsYXNzIjoi2KfZhNmB2KbYqSIsInJwYy1jb21tYW5kLXNlbmQiOiLYpdix2LPYp9mEIiwicnBjLWNvbW1hbmQtcmVzdWx0Ijoi2KfZhNin2LPYqtis2KfYqNipIiwicnBjLWNvbW1hbmQtZWRpdC1wYXJhbXMiOiLYqtit2LHZitixINin2YTZhdi52YTZhdin2KoiLCJnYXRld2F5LWNvbmZpZ3VyYXRpb24iOiLYqtmD2YjZitmGINi52KfZhSIsImRvY2tlci1sYWJlbCI6Itin2LPYqtiu2K/ZhSDYp9mE2KrYudmE2YrZhdin2Kog2KfZhNiq2KfZhNmK2Kkg2YTYqti02LrZitmEIElvVCBHYXRld2F5INmB2YogRG9ja2VyIGNvbXBvc2Ug2YXYuSDYqNmK2KfZhtin2Kog2KfYudiq2YXYp9ivINmE2YTYrNmH2KfYsiDYp9mE2YXYrdiv2K8iLCJpbnN0YWxsLWRvY2tlci1jb21wb3NlIjoi2KfYs9iq2K7Yr9mFINin2YTYqti52YTZitmF2KfYqiDZhNiq2YbYstmK2YQg2YjYqtir2KjZitiqINmI2KXYudiv2KfYryBkb2NrZXIgY29tcG9zZSIsImRvd25sb2FkLWNvbmZpZ3VyYXRpb24tZmlsZSI6Itiq2YbYstmK2YQg2YXZhNmBINin2YTYqtmD2YjZitmGIiwiZG93bmxvYWQtZG9ja2VyLWNvbXBvc2UiOiLYqtmG2LLZitmEIGRvY2tlci1jb21wb3NlLnltbCDZhNio2YjYp9io2KrZgyIsImxhdW5jaC1nYXRld2F5Ijoi2KrYtNi62YrZhCDYp9mE2KjZiNin2KjYqSIsImxhdW5jaC1kb2NrZXItY29tcG9zZSI6Itio2K/YoSDYqti02LrZitmEINin2YTYqNmI2KfYqNipINio2KfYs9iq2K7Yr9in2YUg2KfZhNij2YXYsSDYp9mE2KrYp9mE2Yog2YHZiiDYp9mE2LfYsdmB2YrYqSDZhdmGINin2YTZhdis2YTYryDYp9mE2LDZiiDZitit2KrZiNmKINi52YTZiSDZhdmE2YEgZG9ja2VyLWNvbXBvc2UueW1sIiwiY3JlYXRlLW5ldy1nYXRld2F5Ijoi2KXZhti02KfYoSDYqNmI2KfYqNipINis2K/Zitiv2KkiLCJjcmVhdGUtbmV3LWdhdGV3YXktdGV4dCI6ItmH2YQg2KPZhtiqINmF2KrYo9mD2K8g2KPZhtmDINiq2LHZitivINil2YbYtNin2KEg2KjZiNin2KjYqSDYrNiv2YrYr9ipINio2KfYs9mFOiAne3tnYXRld2F5TmFtZX19J9ifIiwiY3JlYXRlZC10aW1lIjoi2YjZgtiqINin2YTYpdmG2LTYp9ihIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWhlYWRlciI6Itiz2YrYqtmFINit2LDZgSDYp9mE2KrZg9mI2YrZhtin2KoiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctYm9keSI6ItmK2YXZg9mGINiq2LnYt9mK2YQg2KfZhNiq2YPZiNmK2YYg2LnZhiDYqNmP2LnYryDZgdmC2Lcg2KXYsNinINmD2KfZhiDZh9mG2KfZgyDZiNi12YjZhCDYrNiz2K/ZiiDYpdmE2Ykg2KfZhNio2YjYp9io2KkuINiz2KrYqtmFINit2LDZgSDYrNmF2YrYuSDYp9mE2KrZg9mI2YrZhtin2Kog2KfZhNiz2KfYqNmC2KkuPGJyPjxicj4gXG4g2YTYqti52LfZitmEINin2YTYqtmD2YjZitmG2Iwg2KPYr9iu2YQg2KfYs9mFINin2YTYqNmI2KfYqNipINij2K/Zhtin2YciLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaW5wdXQiOiLYp9iz2YUg2KfZhNio2YjYp9io2KkiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaW5wdXQtcmVxdWlyZWQiOiLYp9iz2YUg2KfZhNio2YjYp9io2Kkg2KXZhNiy2KfZhdmKIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWNvbmZpcm0iOiLYpdmK2YLYp9mBINin2YTYqti02LrZitmEIixkZWxldGU6Itit2LDZgSDYp9mE2KrZg9mI2YrZhiIsImRvd25sb2FkLXRpcCI6Itiq2YbYstmK2YQg2YXZhNmBINin2YTYqtmD2YjZitmGIiwiZHJvcC1maWxlIjoi2KPZgdmE2YIg2KfZhNmF2YTZgSDZh9mG2Kcg2KPZiCIsZ2F0ZXdheToi2KfZhNio2YjYp9io2KkiLCJnYXRld2F5LWV4aXN0cyI6Itin2YTYrNmH2KfYsiDYqNmG2YHYsyDYp9mE2KfYs9mFINmF2YjYrNmI2K8g2KjYp9mE2YHYudmELiIsImdhdGV3YXktbmFtZSI6Itin2LPZhSDYp9mE2KjZiNin2KjYqSIsImdhdGV3YXktbmFtZS1yZXF1aXJlZCI6Itin2LPZhSDYp9mE2KjZiNin2KjYqSDZhdi32YTZiNioLiIsImdhdGV3YXktc2F2ZWQiOiLYqtmFINit2YHYuCDYqtmD2YjZitmGINin2YTYqNmI2KfYqNipINio2YbYrNin2K0uIixncnBjOiJHUlBDIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQiOiLZhdmH2YTYqSDYp9mE2KjZgtin2KEg2LnZhNmJINmC2YrYryDYp9mE2K3Zitin2KkgKNio2KfZhNmF2YTZhNmKINir2KfZhtmK2KkpIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcmVxdWlyZWQiOiLZhdmH2YTYqSDYp9mE2KjZgtin2KEg2LnZhNmJINmC2YrYryDYp9mE2K3Zitin2Kkg2YXYt9mE2YjYqNipIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtbWluIjoi2YXZh9mE2Kkg2KfZhNio2YLYp9ihINi52YTZiSDZgtmK2K8g2KfZhNit2YrYp9ipINmE2Kcg2YrZhdmD2YYg2KPZhiDYqtmD2YjZhiDYo9mC2YQg2YXZhiAxIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcGF0dGVybiI6ItmF2YfZhNipINin2YTYqNmC2KfYoSDYudmE2Ykg2YLZitivINin2YTYrdmK2KfYqSDYutmK2LEg2LXYp9mE2K3YqSIsImdycGMta2VlcC1hbGl2ZSI6Itin2YTYqNmC2KfYoSDYudmE2Ykg2YLZitivINin2YTYrdmK2KfYqSAo2KjYp9mE2YXZhNmE2Yog2KvYp9mG2YrYqSkiLCJncnBjLWtlZXAtYWxpdmUtcmVxdWlyZWQiOiLYp9mE2KjZgtin2KEg2LnZhNmJINmC2YrYryDYp9mE2K3Zitin2Kkg2YXYt9mE2YjYqCIsImdycGMta2VlcC1hbGl2ZS1taW4iOiLYp9mE2KjZgtin2KEg2LnZhNmJINmC2YrYryDYp9mE2K3Zitin2Kkg2YTYpyDZitmF2YPZhiDYo9mGINmK2YPZiNmGINij2YLZhCDZhdmGIDEiLCJncnBjLWtlZXAtYWxpdmUtcGF0dGVybiI6Itin2YTYqNmC2KfYoSDYudmE2Ykg2YLZitivINin2YTYrdmK2KfYqSDYutmK2LEg2LXYp9mE2K0iLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MiOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTZhNmI2YLYqiDYqNmK2YYg2KfZhNio2YrZhti62KfYqiAo2KjYp9mE2YXZhNmE2Yog2KvYp9mG2YrYqSkiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcmVxdWlyZWQiOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTZhNmI2YLYqiDYqNmK2YYg2KfZhNio2YrZhti62KfYqiDZhdi32YTZiNioIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLW1pbiI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNmE2YjZgtiqINio2YrZhiDYp9mE2KjZitmG2LrYp9iqINmE2Kcg2YrZhdmD2YYg2KPZhiDZitmD2YjZhiDYo9mC2YQg2YXZhiAxIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLXBhdHRlcm4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTZhNmI2YLYqiDYqNmK2YYg2KfZhNio2YrZhti62KfYqiDYutmK2LEg2LXYp9mE2K0iLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YSI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNmB2KfYtdmEINin2YTYqNmK2YbYuiDYqNiv2YjZhiDYqNmK2KfZhtin2KogKNio2KfZhNmF2YTZhNmKINir2KfZhtmK2KkpIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcmVxdWlyZWQiOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTZgdin2LXZhCDYp9mE2KjZitmG2Log2KjYr9mI2YYg2KjZitin2YbYp9iqINmF2LfZhNmI2KgiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1taW4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTZgdin2LXZhCDYp9mE2KjZitmG2Log2KjYr9mI2YYg2KjZitin2YbYp9iqINmE2Kcg2YrZhdmD2YYg2KPZhiDZitmD2YjZhiDYo9mC2YQg2YXZhiAxIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcGF0dGVybiI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNmB2KfYtdmEINin2YTYqNmK2YbYuiDYqNiv2YjZhiDYqNmK2KfZhtin2Kog2LrZitixINi12KfZhNitIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINin2YTYqNmK2YbYutin2Kog2KjYr9mI2YYg2KjZitin2YbYp9iqIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXJlcXVpcmVkIjoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINin2YTYqNmK2YbYutin2Kog2KjYr9mI2YYg2KjZitin2YbYp9iqINmF2LfZhNmI2KgiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtbWluIjoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINin2YTYqNmK2YbYutin2Kog2KjYr9mI2YYg2KjZitin2YbYp9iqINmE2Kcg2YrZhdmD2YYg2KPZhiDZitmD2YjZhiDYo9mC2YQg2YXZhiAxIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiLYp9mE2K3YryDYp9mE2KPZgti12Ykg2YTYudiv2K8g2KfZhNio2YrZhti62KfYqiDYqNiv2YjZhiDYqNmK2KfZhtin2Kog2LrZitixINi12KfZhNitIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcyI6ItmB2KrYsdipINmB2K3YtSDYp9mE2K7ZhdmI2YQgKNio2KfZhNir2YjYp9mG2YopIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1yZXF1aXJlZCI6ItmB2KrYsdipINmB2K3YtSDYp9mE2K7ZhdmI2YQg2YXYt9mE2YjYqNipIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1taW4iOiLZgdiq2LHYqSDZgdit2LUg2KfZhNiu2YXZiNmEINmE2Kcg2YrZhdmD2YYg2KPZhiDYqtmD2YjZhiDYo9mC2YQg2YXZhiAxIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1wYXR0ZXJuIjoi2YHYqtix2Kkg2YHYrdi1INin2YTYrtmF2YjZhCDYutmK2LEg2LXYp9mE2K3YqSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzIjoi2YHYqtix2Kkg2KfZhNiu2YXZiNmEICjYqNin2YTYq9mI2KfZhtmKKSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLXJlcXVpcmVkIjoi2YHYqtix2Kkg2KfZhNiu2YXZiNmEINmF2LfZhNmI2KjYqSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLW1pbiI6ItmB2KrYsdipINin2YTYrtmF2YjZhCDZhNinINmK2YXZg9mGINij2YYg2KrZg9mI2YYg2KPZgtmEINmF2YYgMSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLXBhdHRlcm4iOiLZgdiq2LHYqSDYp9mE2K7ZhdmI2YQg2LrZitixINi12KfZhNit2KkiLCJqc29uLXBhcnNlIjoiSlNPTiDYutmK2LEg2LXYp9mE2K0uIiwianNvbi1yZXF1aXJlZCI6Itin2YTYrdmC2YQg2YTYpyDZitmF2YPZhiDYo9mGINmK2YPZiNmGINmB2KfYsdi62YvYpy4iLGxvZ3M6e2xvZ3M6Itin2YTYs9is2YTYp9iqIixkYXlzOiLYo9mK2KfZhSIsaG91cnM6Itiz2KfYudin2KoiLG1pbnV0ZXM6Itiv2YLYp9im2YIiLHNlY29uZHM6Itir2YjYp9mG2YoiLCJkYXRlLWZvcm1hdCI6Itiq2YbYs9mK2YIg2KfZhNiq2KfYsdmK2K4iLCJkYXRlLWZvcm1hdC1yZXF1aXJlZCI6Itiq2YbYs9mK2YIg2KfZhNiq2KfYsdmK2K4g2YXYt9mE2YjYqCIsImxvZy1mb3JtYXQiOiLYqtmG2LPZitmCINin2YTYs9is2YQiLCJsb2ctdHlwZSI6ItmG2YjYuSDYp9mE2LPYrNmEIiwibG9nLWZvcm1hdC1yZXF1aXJlZCI6Itiq2YbYs9mK2YIg2KfZhNiz2KzZhCDZhdi32YTZiNioIixyZW1vdGU6Itin2YTYqtiz2KzZitmEINi52YYg2KjZj9i52K8iLCJyZW1vdGUtbG9ncyI6Itin2YTYs9is2YTYp9iqINi52YYg2KjZj9i52K8iLGxvY2FsOiLYp9mE2KrYs9is2YrZhCDYp9mE2YXYrdmE2YoiLGxldmVsOiLZhdiz2KrZiNmJINin2YTYs9is2YQiLCJmaWxlLXBhdGgiOiLZhdiz2KfYsSDYp9mE2YXZhNmBIiwiZmlsZS1wYXRoLXJlcXVpcmVkIjoi2YXYs9in2LEg2KfZhNmF2YTZgSDZhdi32YTZiNioIiwic2F2aW5nLXBlcmlvZCI6ItmB2KrYsdipINit2YHYuCDYp9mE2LPYrNmEIiwic2F2aW5nLXBlcmlvZC1taW4iOiLZgdiq2LHYqSDYrdmB2Lgg2KfZhNiz2KzZhCDZhNinINmK2YXZg9mGINij2YYg2KrZg9mI2YYg2KPZgtmEINmF2YYgMSIsInNhdmluZy1wZXJpb2QtcmVxdWlyZWQiOiLZgdiq2LHYqSDYrdmB2Lgg2KfZhNiz2KzZhCDZhdi32YTZiNio2KkiLCJiYWNrdXAtY291bnQiOiLYudiv2K8g2KfZhNmG2LPYriDYp9mE2KfYrdiq2YrYp9i32YrYqSIsImJhY2t1cC1jb3VudC1taW4iOiLYudiv2K8g2KfZhNmG2LPYriDYp9mE2KfYrdiq2YrYp9i32YrYqSDZhNinINmK2YXZg9mGINij2YYg2YrZg9mI2YYg2KPZgtmEINmF2YYgMSIsImJhY2t1cC1jb3VudC1yZXF1aXJlZCI6Iti52K/YryDYp9mE2YbYs9iuINin2YTYp9it2KrZitin2LfZitipINmF2LfZhNmI2KgifSwibWluLXBhY2stc2VuZC1kZWxheSI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNiq2KPYrtmK2LEg2KXYsdiz2KfZhCDYp9mE2K3YstmF2KkgKNio2KfZhNmF2YTZhNmKINir2KfZhtmK2KkpIiwibWluLXBhY2stc2VuZC1kZWxheS1yZXF1aXJlZCI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNiq2KPYrtmK2LEg2KXYsdiz2KfZhCDYp9mE2K3YstmF2Kkg2YXYt9mE2YjYqCIsIm1pbi1wYWNrLXNlbmQtZGVsYXktbWluIjoi2YTYpyDZitmF2YPZhiDYo9mGINmK2YPZiNmGINin2YTYrdivINin2YTYo9iv2YbZiSDZhNiq2KPYrtmK2LEg2KXYsdiz2KfZhCDYp9mE2K3YstmF2Kkg2KPZgtmEINmF2YYgMCIsIm5vLWNvbm5lY3RvcnMiOiLZhNinINiq2YjYrNivINmF2YjYtdmE2KfYqiIsIm5vLWRhdGEiOiLZhNinINiq2YjYrNivINiq2YPZiNmK2YbYp9iqIiwibm8tZ2F0ZXdheS1mb3VuZCI6ItmE2YUg2YrYqtmFINin2YTYudir2YjYsSDYudmE2Ykg2KjZiNin2KjYqS4iLCJuby1nYXRld2F5LW1hdGNoaW5nIjoiJ3t7aXRlbX19JyDYutmK2LEg2YXZiNis2YjYry4iLCJwYXRoLWxvZ3MiOiLZhdiz2KfYsSDYpdmE2Ykg2YXZhNmB2KfYqiDYp9mE2LPYrNmEIiwicGF0aC1sb2dzLXJlcXVpcmVkIjoi2KfZhNmF2LPYp9ixINmF2LfZhNmI2KguIiwicGVybWl0LXdpdGhvdXQtY2FsbHMiOiLYp9mE2KjZgtin2KEg2LnZhNmJINin2YTYrdmK2KfYqSDZitiz2YXYrSDYqNiv2YjZhiDZhdmD2KfZhNmF2KfYqiIscmVtb3RlOiLYp9mE2KrZg9mI2YrZhiDYudmGINio2Y/YudivIiwicmVtb3RlLWxvZ2dpbmctbGV2ZWwiOiLZhdiz2KrZiNmJINin2YTYqtiz2KzZitmEIiwicmVtb3ZlLWVudHJ5Ijoi2KXYstin2YTYqSDYp9mE2KrZg9mI2YrZhiIsInJlbW90ZS1zaGVsbCI6ItmC2LTYsdipINi52YYg2KjZj9i52K8iLCJyZW1vdGUtY29uZmlndXJhdGlvbiI6Itin2YTYqtmD2YjZitmGINi52YYg2KjZj9i52K8iLG90aGVyOiLYotiu2LEiLCJzYXZlLXRpcCI6Itit2YHYuCDZhdmE2YEg2KfZhNiq2YPZiNmK2YYiLCJzZWN1cml0eS10eXBlIjoi2YbZiNi5INin2YTYo9mF2KfZhiIsInNlY3VyaXR5LXR5cGVzIjp7ImFjY2Vzcy10b2tlbiI6Itix2YXYsiDYp9mE2YjYtdmI2YQiLCJ1c2VybmFtZS1wYXNzd29yZCI6Itin2LPZhSDYp9mE2YXYs9iq2K7Yr9mFINmI2YPZhNmF2Kkg2KfZhNmF2LHZiNixIix0bHM6IlRMUyIsInRscy1hY2Nlc3MtdG9rZW4iOiJUTFMgKyDYsdmF2LIg2KfZhNmI2LXZiNmEIiwidGxzLXByaXZhdGUta2V5IjoiVExTICsg2KfZhNmF2YHYqtin2K0g2KfZhNiu2KfYtSJ9LCJzZXJ2ZXItcG9ydCI6ItmF2YbZgdiwINin2YTYrtin2K/ZhSIsc3RhdGlzdGljczp7c3RhdGlzdGljOiLYpdit2LXYp9im2YrYqSIsc3RhdGlzdGljczoi2KfZhNil2K3Ytdin2KbZitin2KoiLCJzdGF0aXN0aWMtY29tbWFuZHMtZW1wdHkiOiLZhNinINiq2KrZiNmB2LEg2KXYrdi12KfYptmK2KfYqiIsY29tbWFuZHM6Itin2YTYo9mI2KfZhdixIiwic2VuZC1wZXJpb2QiOiLZgdiq2LHYqSDYpdix2LPYp9mEINin2YTYpdit2LXYp9im2YrYp9iqICjYqNin2YTYq9mI2KfZhtmKKSIsInNlbmQtcGVyaW9kLXJlcXVpcmVkIjoi2YHYqtix2Kkg2KXYsdiz2KfZhCDYp9mE2KXYrdi12KfYptmK2KfYqiDZhdi32YTZiNio2KkiLCJzZW5kLXBlcmlvZC1taW4iOiLZhNinINmK2YXZg9mGINij2YYg2KrZg9mI2YYg2YHYqtix2Kkg2KXYsdiz2KfZhCDYp9mE2KXYrdi12KfYptmK2KfYqiDYo9mC2YQg2YXZhiA2MCIsInNlbmQtcGVyaW9kLXBhdHRlcm4iOiLZgdiq2LHYqSDYpdix2LPYp9mEINin2YTYpdit2LXYp9im2YrYp9iqINi62YrYsSDYtdin2YTYrdipIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uIjoi2YHYqtix2Kkg2YHYrdi1INiq2YPZiNmK2YYg2KfZhNmF2YjYtdmE2KfYqiAo2KjYp9mE2KvZiNin2YbZiikiLCJjaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tcmVxdWlyZWQiOiLZgdiq2LHYqSDZgdit2LUg2KrZg9mI2YrZhiDYp9mE2YXZiNi12YTYp9iqINmF2LfZhNmI2KjYqSIsImNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbi1taW4iOiLZhNinINmK2YXZg9mGINij2YYg2KrZg9mI2YYg2YHYqtix2Kkg2YHYrdi1INiq2YPZiNmK2YYg2KfZhNmF2YjYtdmE2KfYqiDYo9mC2YQg2YXZhiAxIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXBhdHRlcm4iOiLZgdiq2LHYqSDZgdit2LUg2KrZg9mI2YrZhiDYp9mE2YXZiNi12YTYp9iqINi62YrYsSDYtdin2YTYrdipIixhZGQ6Itil2LbYp9mB2Kkg2KPZhdixIix0aW1lb3V0OiLYp9mE2YXZh9mE2KkiLCJ0aW1lb3V0LW1zIjoi2KfZhNmF2YfZhNipICjYqNin2YTZhdmE2YTZiiDYq9in2YbZitipKSIsInRpbWVvdXQtcmVxdWlyZWQiOiLYp9mE2YXZh9mE2Kkg2YXYt9mE2YjYqNipIiwidGltZW91dC1taW4iOiLZhNinINmK2YXZg9mGINij2YYg2KrZg9mI2YYg2KfZhNmF2YfZhNipINij2YLZhCDZhdmGIDEiLCJ0aW1lb3V0LXBhdHRlcm4iOiLYp9mE2YXZh9mE2Kkg2LrZitixINi12KfZhNit2KkiLCJhdHRyaWJ1dGUtbmFtZSI6Itin2LPZhSDYp9mE2LPZhdipIiwiYXR0cmlidXRlLW5hbWUtcmVxdWlyZWQiOiLYp9iz2YUg2KfZhNiz2YXYqSDZhdi32YTZiNioIixjb21tYW5kOiLYp9mE2KPZhdixIiwiY29tbWFuZC1yZXF1aXJlZCI6Itin2YTYo9mF2LEg2YXYt9mE2YjYqCIsImNvbW1hbmQtcGF0dGVybiI6Itin2YTYo9mF2LEg2LrZitixINi12KfZhNitIixyZW1vdmU6Itil2LLYp9mE2Kkg2KfZhNij2YXYsSJ9LHN0b3JhZ2U6Itin2YTYqtiu2LLZitmGIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoi2KfZhNiz2KzZhNin2Kog2KfZhNmC2LXZiNmJINmB2Yog2KfZhNmF2YTZgSIsInN0b3JhZ2UtbWF4LWZpbGVzIjoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINin2YTZhdmE2YHYp9iqIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoi2KfZhNit2K8g2KfZhNij2K/ZhtmJINmH2YggMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoi2KfZhNi52K/YryDYutmK2LEg2LXYp9mE2K0uIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiLYp9mE2LnYr9ivINmF2LfZhNmI2KguIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Itin2YTYs9is2YTYp9iqINin2YTZgti12YjZiSDZgdmKINin2YTYqtiu2LLZitmGIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1taW4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTYudiv2K8g2KfZhNiz2KzZhNin2Kog2YfZiCAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6Itin2YTYudiv2K8g2LrZitixINi12KfZhNitLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiLYp9mE2LPYrNmE2KfYqiDYp9mE2YLYtdmI2Ykg2YXYt9mE2YjYqNipLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQiOiLYudiv2K8g2YLYsdin2KHYqSDYp9mE2LPYrNmE2KfYqiDZgdmKINin2YTYqtiu2LLZitmGIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1taW4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTYudiv2K8g2KfZhNiz2KzZhNin2Kog2YfZiCAxLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVybiI6Itin2YTYudiv2K8g2LrZitixINi12KfZhNitLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcmVxdWlyZWQiOiLYudiv2K8g2YLYsdin2KHYqSDYp9mE2LPYrNmE2KfYqiDZhdi32YTZiNioLiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50Ijoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINmC2LHYp9ih2Kkg2KfZhNiz2KzZhNin2Kog2YHZiiDYp9mE2KrYrtiy2YrZhiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LW1pbiI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNi52K/YryDYp9mE2LPYrNmE2KfYqiDZh9mIIDEuIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVybiI6Itin2YTYudiv2K8g2LrZitixINi12KfZhNitLiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkIjoi2LnYr9ivINin2YTZgtix2KfYodipINin2YTZgti12YjZiSDZhdi32YTZiNioLiIsInN0b3JhZ2UtZGF0YS1mb2xkZXItcGF0aCI6ItmF2LPYp9ixINmF2KzZhNivINin2YTYqNmK2KfZhtin2KoiLCJzdG9yYWdlLWRhdGEtZm9sZGVyLXBhdGgtcmVxdWlyZWQiOiLZhdiz2KfYsSDZhdis2YTYryDYp9mE2KjZitin2YbYp9iqINmF2LfZhNmI2KguIiwic3RvcmFnZS1wYWNrLXNpemUiOiLYp9mE2K3YryDYp9mE2KPZgti12Ykg2YTYrdis2YUg2K3YstmF2Kkg2KfZhNit2K/YqyIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZh9mIIDEuIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6Itin2YTYudiv2K8g2LrZitixINi12KfZhNitLiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoi2KfZhNit2KzZhSDYp9mE2KPZgti12Ykg2YTYrdiy2YXYqSDYp9mE2K3Yr9irINmF2LfZhNmI2KguIiwic3RvcmFnZS1wYXRoIjoi2YXYs9in2LEg2KfZhNiq2K7YstmK2YYiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiLZhdiz2KfYsSDYp9mE2KrYrtiy2YrZhiDZhdi32YTZiNioLiIsInN0b3JhZ2UtdHlwZSI6ItmG2YjYuSDYp9mE2KrYrtiy2YrZhiIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoi2KrYrtiy2YrZhiDYp9mE2YXZhNmB2KfYqiIsIm1lbW9yeS1zdG9yYWdlIjoi2KrYrtiy2YrZhiDYp9mE2LDYp9mD2LHYqSIsc3FsaXRlOiJTUUxJVEUifSx0aGluZ3Nib2FyZDoi2KvZitmG2LrYstio2YjYsdivIixnZW5lcmFsOiLYudin2YUiLCJ0aGluZ3Nib2FyZC1ob3N0Ijoi2YXYttmK2YEg2KvZitmG2LrYstio2YjYsdivIiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6Itin2YTZhdi22YrZgSDZhdi32YTZiNioLiIsInRoaW5nc2JvYXJkLXBvcnQiOiLZhdmG2YHYsCDYq9mK2YbYutiy2KjZiNix2K8iLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6Itin2YTYrdivINin2YTYo9mC2LXZiSDZhNix2YLZhSDYp9mE2YXZhtmB2LAg2YfZiCA2NTUzNS4iLCJ0aGluZ3Nib2FyZC1wb3J0LW1pbiI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNix2YLZhSDYp9mE2YXZhtmB2LAg2YfZiCAxLiIsInRoaW5nc2JvYXJkLXBvcnQtcGF0dGVybiI6Itin2YTZhdmG2YHYsCDYutmK2LEg2LXYp9mE2K0uIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6Itin2YTZhdmG2YHYsCDZhdi32YTZiNioLiIsdGlkeToi2KrYsdiq2YrYqCIsInRpZHktdGlwIjoi2KrYsdiq2YrYqCDYqtmD2YjZitmGIEpTT04iLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiLYqtmD2YjZitmGINmF2YjYtdmEIHt7dHlwZU5hbWV9fSIsInRscy1wYXRoLWNhLWNlcnRpZmljYXRlIjoi2KfZhNmF2LPYp9ixINil2YTZiSDYtNmH2KfYr9ipIENBINi52YTZiSDYp9mE2KjZiNin2KjYqSIsInRscy1wYXRoLWNsaWVudC1jZXJ0aWZpY2F0ZSI6Itin2YTZhdiz2KfYsSDYpdmE2Ykg2LTZh9in2K/YqSDYp9mE2LnZhdmK2YQg2LnZhNmJINin2YTYqNmI2KfYqNipIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzIjoi2YHYrdi1IFRUTCDYp9mE2LHYs9in2KbZhCDYqNin2YTYs9in2LnYp9iqIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXJlcXVpcmVkIjoi2YrYrNioINiq2K3Yr9mK2K8g2YHYrdi1IFRUTCDYp9mE2LHYs9in2KbZhCDYqNin2YTYs9in2LnYp9iqLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1taW4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YfZiCAxLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1wYXR0ZXJuIjoi2KfZhNix2YLZhSDYutmK2LEg2LXYp9mE2K0uIiwibWVzc2FnZXMtdHRsLWluLWRheXMiOiJUVEwg2KfZhNix2LPYp9im2YQg2KjYp9mE2KPZitin2YUiLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1yZXF1aXJlZCI6ItmK2KzYqCDYqtit2K/ZitivIFRUTCDYp9mE2LHYs9in2KbZhCDYqNin2YTYo9mK2KfZhS4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1taW4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YfZiCAxLiIsIm1lc3NhZ2VzLXR0bC1pbi1kYXlzLXBhdHRlcm4iOiLYp9mE2LHZgtmFINi62YrYsSDYtdin2YTYrS4iLCJtcXR0LXFvcyI6Itis2YjYr9ipINin2YTYrtiv2YXYqSAoUW9TKSIsIm1xdHQtcW9zLXJlcXVpcmVkIjoi2KzZiNiv2Kkg2KfZhNiu2K/ZhdipIChRb1MpINmF2LfZhNmI2KjYqSIsIm1xdHQtcW9zLXJhbmdlIjoi2KrYqtix2KfZiNitINmC2YrZhSDYrNmI2K/YqSDYp9mE2K7Yr9mF2KkgKFFvUykg2YXZhiAwINil2YTZiSAxIiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiLYp9mE2YXYs9in2LEg2KXZhNmJINin2YTZhdmB2KrYp9itINin2YTYrtin2LUg2LnZhNmJINin2YTYqNmI2KfYqNipIiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiLYqtio2K/ZitmEINmI2LbYuSDZhdmE2KEg2KfZhNi02KfYtNipIiwidHJhbnNmb3JtZXItanNvbi1jb25maWciOiLYqtmD2YjZitmGIEpTT04qIiwidXBkYXRlLWNvbmZpZyI6Itil2LbYp9mB2Kkv2KrYrdiv2YrYqyDYqtmD2YjZitmGIEpTT04iLGhpbnRzOnsicmVtb3RlLWNvbmZpZ3VyYXRpb24iOiLZitmF2YPZhtmDINiq2YXZg9mK2YYg2KfZhNiq2YPZiNmK2YYg2YjYpdiv2KfYsdipINin2YTYqNmI2KfYqNipINi52YYg2KjZj9i52K8iLCJyZW1vdGUtc2hlbGwiOiLZitmF2YPZhtmDINiq2YXZg9mK2YYg2KfZhNiq2K3Zg9mFINin2YTYqNi52YrYryDZgdmKINmG2LjYp9mFINin2YTYqti02LrZitmEINmF2Lkg2KfZhNio2YjYp9io2Kkg2YXZhiDYudmG2LXYsSDZiNin2KzZh9ipINin2YTZhdiz2KrYrtiv2YUg2YLYtNix2Kkg2LnZhiDYqNmP2LnYryIsaG9zdDoi2KfYs9mFINin2YTZhdi22YrZgSDYo9mIINi52YbZiNin2YYgSVAg2YTYrtin2K/ZhSDYq9mK2YbYutiy2KjZiNix2K8iLHBvcnQ6ItmF2YbZgdiwINiu2K/ZhdipIE1RVFQg2LnZhNmJINiu2KfYr9mFINir2YrZhti62LLYqNmI2LHYryIsdG9rZW46Itix2YXYsiDYp9mE2YjYtdmI2YQg2YTZhNio2YjYp9io2Kkg2YXZhiDYrtin2K/ZhSDYq9mK2YbYutiy2KjZiNix2K8iLCJjbGllbnQtaWQiOiLZhdi52LHZgSDYudmF2YrZhCBNUVRUINmE2YTYqNmI2KfYqNipINmF2YYg2K7Yp9iv2YUg2KvZitmG2LrYstio2YjYsdivIix1c2VybmFtZToi2KfYs9mFINin2YTZhdiz2KrYrtiv2YUgTVFUVCDZhNmE2KjZiNin2KjYqSDZhdmGINiu2KfYr9mFINir2YrZhti62LLYqNmI2LHYryIscGFzc3dvcmQ6ItmD2YTZhdipINin2YTZhdix2YjYsSBNUVRUINmE2YTYqNmI2KfYqNipINmF2YYg2K7Yp9iv2YUg2KvZitmG2LrYstio2YjYsdivIiwiY2EtY2VydCI6Itin2YTZhdiz2KfYsSDYpdmE2Ykg2YXZhNmBINi02YfYp9iv2KkgQ0EiLCJkYXRlLWZvcm0iOiLYqtmG2LPZitmCINin2YTYqtin2LHZitiuINmB2Yog2LHYs9in2YTYqSDYp9mE2LPYrNmEIiwiZGF0YS1mb2xkZXIiOiLYp9mE2YXYs9in2LEg2KXZhNmJINin2YTZhdis2YTYryDYp9mE2LDZiiDYs9mK2K3YqtmI2Yog2LnZhNmJINin2YTYqNmK2KfZhtin2KogKNmG2LPYqNmKINij2Ygg2YXYt9mE2YIpIiwibG9nLWZvcm1hdCI6Itiq2YbYs9mK2YIg2LHYs9in2YTYqSDYp9mE2LPYrNmEIiwicmVtb3RlLWxvZyI6ItmK2YXZg9mG2YMg2KrZhdmD2YrZhiDYp9mE2KrYs9is2YrZhCDYp9mE2KjYudmK2K8g2YjZgtix2KfYodipINin2YTYs9is2YTYp9iqINmF2YYg2KfZhNio2YjYp9io2KkiLCJiYWNrdXAtY291bnQiOiLYpdiw2Kcg2YPYp9mGINi52K/YryDYp9mE2YbYs9iuINin2YTYp9it2KrZitin2LfZitipID4gMNiMINi52YbYryDYudmF2YTZitipINiq2K/ZiNmK2LHYjCDZhNinINmK2KrZhSDYp9mE2KfYrdiq2YHYp9i4INio2KPZg9ir2LEg2YXZhiDYudiv2K8g2KfZhNmG2LPYriDYp9mE2KfYrdiq2YrYp9i32YrYqSDYp9mE2YXYrdiv2K/YqSAtINmK2KrZhSDYrdiw2YEg2KfZhNij2YLYr9mFIixzdG9yYWdlOiLZitmI2YHYsSDYqtmD2YjZitmG2YvYpyDZhNit2YHYuCDYp9mE2KjZitin2YbYp9iqINin2YTZiNin2LHYr9ipINmC2KjZhCDYpdix2LPYp9mE2YfYpyDYpdmE2Ykg2KfZhNmF2YbYtdipIiwibWF4LWZpbGUtY291bnQiOiLYp9mE2LnYr9ivINin2YTYo9mC2LXZiSDZhNi52K/YryDYp9mE2YXZhNmB2KfYqiDYp9mE2KrZiiDYs9mK2KrZhSDYpdmG2LTYp9ik2YfYpyIsIm1heC1yZWFkLWNvdW50Ijoi2LnYr9ivINin2YTYsdiz2KfYptmEINmE2YTYrdi12YjZhCDYudmE2YrZh9inINmF2YYg2KfZhNiq2K7YstmK2YYg2YjYpdix2LPYp9mE2YfYpyDYpdmE2Ykg2KvZitmG2LrYstio2YjYsdivIiwibWF4LXJlY29yZHMiOiLYp9mE2LnYr9ivINin2YTYo9mC2LXZiSDZhNmE2LPYrNmE2KfYqiDYp9mE2KrZiiDYs9iq2K7YstmGINmB2Yog2YXZhNmBINmI2KfYrdivIiwicmVhZC1yZWNvcmQtY291bnQiOiLYudiv2K8g2KfZhNix2LPYp9im2YQg2YTZhNit2LXZiNmEINi52YTZitmH2Kcg2YXZhiDYp9mE2KrYrtiy2YrZhiDZiNil2LHYs9in2YTZh9inINil2YTZiSDYq9mK2YbYutiy2KjZiNix2K8iLCJtYXgtcmVjb3Jkcy1jb3VudCI6Itin2YTYudiv2K8g2KfZhNij2YLYtdmJINmE2YTYqNmK2KfZhtin2Kog2YHZiiDYp9mE2KrYrtiy2YrZhiDZgtio2YQg2KXYsdiz2KfZhNmH2Kcg2KXZhNmJINir2YrZhti62LLYqNmI2LHYryIsInR0bC1jaGVjay1ob3VyIjoi2YPZhSDZhdix2Kkg2LPZitiq2K3ZgtmCINin2YTYqNmI2KfYqNipINmF2YYg2KfZhNio2YrYp9mG2KfYqiDYp9mE2YLYr9mK2YXYqSIsInR0bC1tZXNzYWdlcy1kYXkiOiLYp9mE2K3YryDYp9mE2KPZgti12Ykg2YTYudiv2K8g2KfZhNij2YrYp9mFINin2YTYqtmKINiz2KrYrdiq2YHYuCDZgdmK2YfYpyDYp9mE2KrYrtiy2YrZhiDYqNin2YTYqNmK2KfZhtin2KoiLGNvbW1hbmRzOiLYp9mE2KPZiNin2YXYsSDZhNis2YXYuSDYp9mE2KXYrdi12KfYptmK2KfYqiDYp9mE2KXYttin2YHZitipIixhdHRyaWJ1dGU6ItmF2YHYqtin2K0g2KrZhNmC2Yog2KfZhNil2K3Ytdin2KbZitin2KoiLHRpbWVvdXQ6ItmF2YfZhNipINiy2YXZhtmK2Kkg2YTYqtmG2YHZitiwINin2YTYo9mF2LEiLGNvbW1hbmQ6Itiz2YrYqtmFINin2LPYqtiu2K/Yp9mFINmG2KrZitis2Kkg2KrZhtmB2YrYsCDYp9mE2KPZhdixINmD2YLZitmF2Kkg2YTYqtmE2YLZiiDYp9mE2KXYrdi12KfYptmK2KfYqiIsImNoZWNrLWRldmljZS1hY3Rpdml0eSI6ItmK2YXZg9mG2YMg2KrZhdmD2YrZhiDZhdix2KfZgtio2Kkg2YbYtNin2Lcg2YPZhCDYrNmH2KfYsiDZhdiq2LXZhCIsImluYWN0aXZpdHktdGltZW91dCI6Itin2YTZiNmC2Kog2KjYudivINin2YTYsNmKINiz2KrZgdi12YQg2KfZhNio2YjYp9io2Kkg2KfZhNis2YfYp9iyIiwiaW5hY3Rpdml0eS1wZXJpb2QiOiLYqtmD2LHYp9ixINmB2K3YtSDZhti02KfYtyDYp9mE2KzZh9in2LIiLCJtaW5pbWFsLXBhY2stZGVsYXkiOiLYp9mE2KrYo9iu2YrYsSDYqNmK2YYg2KXYsdiz2KfZhCDYrdiy2YUg2KfZhNix2LPYp9im2YQgKNmK2KTYr9mKINiq2YLZhNmK2YQg2YfYsNinINin2YTYpdi52K/Yp9ivINil2YTZiSDYstmK2KfYr9ipINin2LPYqtiu2K/Yp9mFINmI2K3Yr9ipINin2YTZhdi52KfZhNis2Kkg2KfZhNmF2LHZg9iy2YrYqSkiLHFvczoi2KzZiNiv2Kkg2KfZhNiu2K/ZhdipINmB2Yog2LHYs9in2KbZhCBNUVRUICgwIC0g2LnZhNmJINin2YTYo9mD2KvYsSDZhdix2Kkg2YjYp9it2K/YqdiMIDEgLSDYudmE2Ykg2KfZhNij2YLZhCDZhdix2Kkg2YjYp9it2K/YqSkiLCJzZXJ2ZXItcG9ydCI6ItmF2YbZgdiwINin2YTYtNio2YPYqSDYp9mE2LDZiiDYs9mK2LPYqtmF2Lkg2YHZitmHINiu2KfYr9mFIEdSUEMg2YTZhNin2LPYqtmB2LPYp9ix2KfYqiDYp9mE2YjYp9ix2K/YqS4iLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dCI6Itin2YTYrdivINin2YTYo9mC2LXZiSDZhNmE2YjZgtiqINin2YTYsNmKINmK2KzYqCDYo9mGINmK2YbYqti42LHZhyDYp9mE2K7Yp9iv2YUg2YTYp9iz2KrYrNin2KjYqSDYsdiz2KfZhNipINin2YTYrdmB2KfYuCDYudmE2Ykg2KfZhNin2KrYtdin2YQg2YLYqNmEINin2LnYqtio2KfYsSDYp9mE2KfYqti12KfZhCDZhdmK2KrZi9inLiIsImdycGMta2VlcC1hbGl2ZSI6Itin2YTZhdiv2Kkg2KjZitmGINix2LPYp9im2YQg2K3Zgdi4INin2YTYp9iq2LXYp9mEINin2YTZhdiq2LnYp9mC2KjYqSDYudmG2K8g2LnYr9mFINmI2KzZiNivINin2LPYqtiv2LnYp9ihIFJQQyDZhti02LcuIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzIjoi2KfZhNit2K8g2KfZhNij2K/ZhtmJINmE2YTZiNmC2Kog2KfZhNiw2Yog2YrYrNioINmB2YrZhyDYo9mGINmK2YbYqti42LEg2KfZhNiu2KfYr9mFINio2YrZhiDYpdix2LPYp9mEINix2LPYp9im2YQg2K3Zgdi4INin2YTYp9iq2LXYp9mEIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINix2LPYp9im2YQg2K3Zgdi4INin2YTYp9iq2LXYp9mEINin2YTYqtmKINmK2YXZg9mGINmE2YTYrtin2K/ZhSDYpdix2LPYp9mE2YfYpyDYr9mI2YYg2KrZhNmC2Yog2KPZiiDYqNmK2KfZhtin2Kog2YLYqNmEINin2LnYqtio2KfYsSDYp9mE2KfYqti12KfZhCDZhdmK2KrZi9inLiIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhIjoi2KfZhNit2K8g2KfZhNij2K/ZhtmJINmE2YTZiNmC2Kog2KfZhNiw2Yog2YrYrNioINmB2YrZhyDYo9mGINmK2YbYqti42LEg2KfZhNiu2KfYr9mFINio2YrZhiDYpdix2LPYp9mEINix2LPYp9im2YQg2K3Zgdi4INin2YTYp9iq2LXYp9mEINi52YbYryDYudiv2YUg2KXYsdiz2KfZhCDYo9mIINin2LPYqtmE2KfZhSDYqNmK2KfZhtin2KouIiwicGVybWl0LXdpdGhvdXQtY2FsbHMiOiLYp9mE2LPZhdin2K0g2YTZhNiu2KfYr9mFINio2KXYqNmC2KfYoSDYp9iq2LXYp9mEIEdSUEMg2K3ZitmL2Kcg2K3YqtmJINi52YbYr9mF2Kcg2YTYpyDYqtmD2YjZhiDZh9mG2KfZgyDYp9iz2KrYr9i52KfYodin2KogUlBDINmG2LTYt9ipLiJ9fSxWbz17ImFkZC1lbnRyeSI6IkFmZWdpciBjb25maWd1cmFjacOzIiwiY29ubmVjdG9yLWFkZCI6IkFmZWdpciBjb25lY3RvciIsImNvbm5lY3Rvci1lbmFibGVkIjoiQWN0aXZhciBjb25lY3RvciIsImNvbm5lY3Rvci1uYW1lIjoiTm9tIGNvbmVjdG9yIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiJDYWwgbm9tIGNvbmVjdG9yLiIsImNvbm5lY3Rvci10eXBlIjoiVGlwdXMgY29uZWN0b3IiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IkNhbCB0aXB1cyBjb25lY3Rvci4iLGNvbm5lY3RvcnM6IkNvbmZpZ3VyYWNpw7MgZGUgY29uZWN0b3JzIiwiY3JlYXRlLW5ldy1nYXRld2F5IjoiQ3JlYXIgdW4gZ2F0ZXdheSBub3UiLCJjcmVhdGUtbmV3LWdhdGV3YXktdGV4dCI6IkNyZWFyIHVuIG5vdSBnYXRld2F5IGFtYiBlbCBub206ICd7e2dhdGV3YXlOYW1lfX0nPyIsZGVsZXRlOiJFc2JvcnJhciBjb25maWd1cmFjacOzIiwiZG93bmxvYWQtdGlwIjoiRGVzY2FycmVnYXIgZml0eGVyIGRlIGNvbmZpZ3VyYWNpw7MiLGdhdGV3YXk6IkdhdGV3YXkiLCJnYXRld2F5LWV4aXN0cyI6IkphIGV4aXN0ZWl4IHVuIGRpc3Bvc2l0aXUgYW1iIGVsIG1hdGVpeCBub20uIiwiZ2F0ZXdheS1uYW1lIjoiTm9tIGRlIEdhdGV3YXkiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJDYWwgdW4gbm9tIGRlIGdhdGV3YXkuIiwiZ2F0ZXdheS1zYXZlZCI6IkNvbmZpZ3VyYWNpw7MgZGUgZ2F0ZXdheSBncmF2YWRhIHNhdGlzZmFjdMOycmlhbWVudC4iLCJqc29uLXBhcnNlIjoiSlNPTiBubyB2w6BsaWQuIiwianNvbi1yZXF1aXJlZCI6IkVsIGNhbXAgbm8gcG90IHNlciBidWl0LiIsIm5vLWNvbm5lY3RvcnMiOiJObyBoaSBoYSBjb25lY3RvcnMiLCJuby1kYXRhIjoiTm8gaGkgaGEgY29uZmlndXJhY2lvbnMiLCJuby1nYXRld2F5LWZvdW5kIjoiTm8gcydoYSB0cm9iYXQgY2FwIGdhdGV3YXkuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5vIHRyb2JhdC4iLCJwYXRoLWxvZ3MiOiJSdXRhIGFscyBmaXR4ZXJzIGRlIGxvZyIsInBhdGgtbG9ncy1yZXF1aXJlZCI6IkNhbCBydXRhLiIscmVtb3RlOiJDb25maWd1cmFjacOzIHJlbW90YSIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoiTml2ZWwgZGUgbG9nZ2luZyIsInJlbW92ZS1lbnRyeSI6IkVzYm9ycmFyIGNvbmZpZ3VyYWNpw7MiLCJzYXZlLXRpcCI6IkdyYXZhciBmaXR4ZXIgZGUgY29uZmlndXJhY2nDsyIsInNlY3VyaXR5LXR5cGUiOiJUaXB1cyBkZSBzZWd1cmV0YXQiLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJUb2tlbiBkJ2FjY8OpcyIsdGxzOiJUTFMifSxzdG9yYWdlOiJHcmFiYWNpw7MiLCJzdG9yYWdlLW1heC1maWxlLXJlY29yZHMiOiJOw7ptZXJvIG3DoHhpbSBkZSByZWdpc3RyZXMgZW4gZml0eGVyIiwic3RvcmFnZS1tYXgtZmlsZXMiOiJOw7ptZXJvIG3DoHhpbSBkZSBmaXR4ZXJzIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoiRWwgbsO6bWVybyBtw61uaW0gw6lzIDEuIiwic3RvcmFnZS1tYXgtZmlsZXMtcGF0dGVybiI6Ik7Dum1lcm8gbm8gdsOgbGlkLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXJlcXVpcmVkIjoiQ2FsIG7Dum1lcm8uIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik3DoHhpbSBkZSByZWdpc3RyZXMgZW4gZWwgbWFnYXR6ZW0iLCJzdG9yYWdlLW1heC1yZWNvcmRzLW1pbiI6IkVsIG7Dum1lcm8gbcOtbmltIMOpcyAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6Ik7Dum1lcm8gbm8gdsOgbGlkLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJDYWwgbsO6bWVyby4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6Ik1pZGEgbcOgeGltIGRlIGVzZGV2ZW5pbWVudHMiLCJzdG9yYWdlLXBhY2stc2l6ZS1taW4iOiJFbCBuw7ptZXJvIG3DrW5pbSDDqXMgMS4iLCJzdG9yYWdlLXBhY2stc2l6ZS1wYXR0ZXJuIjoiTsO6bWVybyBubyB2w6BsaWQuIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiJDYWwgbsO6bWVyby4iLCJzdG9yYWdlLXBhdGgiOiJSdXRhIGRlIG1hZ2F0emVtIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoiQ2FsIHJ1dGEgZGUgbWFnYXR6ZW0uIiwic3RvcmFnZS10eXBlIjoiVGlwdXMgZGUgbWFnYXR6ZW0iLCJzdG9yYWdlLXR5cGVzIjp7ImZpbGUtc3RvcmFnZSI6Ik1hZ2F0emVtIGZpdHhlciIsIm1lbW9yeS1zdG9yYWdlIjoiTWFnYXR6ZW0gZW4gbWVtb3JpYSJ9LHRoaW5nc2JvYXJkOiJUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QiOiJIb3N0IFRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6IkNhbCBIb3N0LiIsInRoaW5nc2JvYXJkLXBvcnQiOiJQb3J0IFRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtcG9ydC1tYXgiOiJFbCBwb3J0IG3DoHhpbSDDqXMgNjU1MzUuIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiJFbCBwb3J0IG3DrW5pbSDDqXMgMS4iLCJ0aGluZ3Nib2FyZC1wb3J0LXBhdHRlcm4iOiJQb3J0IG5vIHbDoGxpZC4iLCJ0aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkIjoiQ2FsIHBvcnQuIix0aWR5OiJFbmRyZcOnYXQiLCJ0aWR5LXRpcCI6IkVuZHJlw6dhdCBKU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoiQ29uZmlndXJhY2nDsyBjb25lY3RvciB7e3R5cGVOYW1lfX0iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IlJ1dGEgYWwgY2VydGlmaWNhdCBDQSBhbCBnYXRld2F5IiwidGxzLXBhdGgtY2xpZW50LWNlcnRpZmljYXRlIjoiUnV0YSBhbCBjZXJ0aWZpY2F0IGNsaWVudCBhbCBnYXRld2F5IiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiJSdXRhIGEgbGEgY2xhdSBwcml2YWRhIGFsIGdhdGV3YXkiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlBhbnRhbGxhIGNvbXBsZXRhIGZ1bGxzY3JlZW4iLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IkNvbmZpZ3VyYWNpw7MgSlNPTioiLCJ1cGRhdGUtY29uZmlnIjoiQWZlZ2lyL2FjdHVhbGl6YXIgY29uZmlndXJhY2nDsyBKU09OIn0sQm89eyJhZGQtZW50cnkiOiJQxZlpZGF0IGtvbmZpZ3VyYWNpIiwiY29ubmVjdG9yLWFkZCI6IlDFmWlkYXQgbm92w70ga29uZWt0b3IiLCJjb25uZWN0b3ItZW5hYmxlZCI6IlBvdm9saXQga29uZWt0b3IiLCJjb25uZWN0b3ItbmFtZSI6Ik7DoXpldiBrb25la3RvcnUiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6Ik7DoXpldiBrb25la3RvcnUgamUgcG92aW5uw70uIiwiY29ubmVjdG9yLXR5cGUiOiJUeXAga29uZWt0b3J1IiwiY29ubmVjdG9yLXR5cGUtcmVxdWlyZWQiOiJUeXAga29uZWt0b3J1IGplIHBvdmlubsO9LiIsY29ubmVjdG9yczoiS29uZmlndXJhY2Uga29uZWt0b3J1IiwiY3JlYXRlLW5ldy1nYXRld2F5IjoiVnl0dm/FmWl0IG5vdm91IGJyw6FudSIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiSnN0ZSBzaSBqaXN0aSwgxb5lIGNoY2V0ZSB2eXR2b8WZaXQgbm92b3UgYnLDoW51IHMgbsOhenZlbTogJ3t7Z2F0ZXdheU5hbWV9fSc/IixkZWxldGU6IlNtYXphdCBrb25maWd1cmFjaSIsImRvd25sb2FkLXRpcCI6IlN0w6Fobm91dCBzb3Vib3Iga29uZmlndXJhY2UiLGdhdGV3YXk6IkJyw6FuYSIsImdhdGV3YXktZXhpc3RzIjoiWmHFmcOtemVuw60gc2Ugc2hvZG7DvW0gbsOhenZlbSBqacW+IGV4aXN0dWplLiIsImdhdGV3YXktbmFtZSI6Ik7DoXpldiBicsOhbnkiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJOw6F6ZXYgYnLDoW55IGplIHBvdmlubsO9LiIsImdhdGV3YXktc2F2ZWQiOiJLb25maWd1cmFjZSBicsOhbnkgYnlsYSDDunNwxJvFoW7EmyB1bG/FvmVuYS4iLCJqc29uLXBhcnNlIjoiTmVwbGF0bsO9IEpTT04uIiwianNvbi1yZXF1aXJlZCI6IlBvbGUgbmVtxa/FvmUgYsO9dCBwcsOhemRuw6kuIiwibm8tY29ubmVjdG9ycyI6IsW9w6FkbsOpIGtvbmVrdG9yeSIsIm5vLWRhdGEiOiLFvcOhZG7DqSBrb25maWd1cmFjZSIsIm5vLWdhdGV3YXktZm91bmQiOiLFvcOhZG7DqSBicsOhbnkgbmVieWx5IG5hbGV6ZW55LiIsIm5vLWdhdGV3YXktbWF0Y2hpbmciOiIgJ3t7aXRlbX19JyBuZW5hbGV6ZW5hLiIsInBhdGgtbG9ncyI6IkNlc3RhIGsgc291Ym9yxa9tIGxvZ3UiLCJwYXRoLWxvZ3MtcmVxdWlyZWQiOiJDZXN0YSBqZSBwb3Zpbm7DoS4iLHJlbW90ZToiVnpkw6FsZW7DoSBrb25maWd1cmFjZSIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoiw5pyb3ZlxYggbG9nb3bDoW7DrSIsInJlbW92ZS1lbnRyeSI6Ik9kc3RyYW5pdCBrb25maWd1cmFjaSIsInNhdmUtdGlwIjoiVWxvxb5pdCBzb3Vib3Iga29uZmlndXJhY2UiLCJzZWN1cml0eS10eXBlIjoiVHlwIHphYmV6cGXEjWVuw60iLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJQxZnDrXN0dXBvdsO9IHRva2VuIix0bHM6IlRMUyJ9LHN0b3JhZ2U6IsOabG/FvmnFoXTEmyIsInN0b3JhZ2UtbWF4LWZpbGUtcmVjb3JkcyI6Ik1heGltw6FsbsOtIHBvxI1ldCB6w6F6bmFtxa8gdiBzb3Vib3J1Iiwic3RvcmFnZS1tYXgtZmlsZXMiOiJNYXhpbcOhbG7DrSBwb8SNZXQgc291Ym9yxa8iLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiJNaW5pbcOhbG7DrSBwb8SNZXQgamUgMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiUG/EjWV0IG5lbsOtIHBsYXRuw70uIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiJQb8SNZXQgamUgcG92aW5uw70uIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik1heGltw6FsbsOtIHBvxI1ldCB6w6F6bmFtxa8gdiDDumxvxb5pxaF0aSIsInN0b3JhZ2UtbWF4LXJlY29yZHMtbWluIjoiTWluaW3DoWxuw60gcG/EjWV0IHrDoXpuYW3FryBqZSAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6IlBvxI1ldCBuZW7DrSBwbGF0bsO9LiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJNYXhpbcOhbG7DrSBwb8SNZXQgesOhem5hbcWvIGplIHBvdmlubsO9LiIsInN0b3JhZ2UtcGFjay1zaXplIjoiTWF4aW3DoWxuw60gdmVsaWtvc3Qgc291Ym9ydSB1ZMOhbG9zdMOtIiwic3RvcmFnZS1wYWNrLXNpemUtbWluIjoiTWluaW3DoWxuw60gcG/EjWV0IGplIDEuIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6IlBvxI1ldCBuZW7DrSBwbGF0bsO9LiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoiTWF4aW3DoWxuw60gdmVsaWtvc3Qgc291Ym9ydSB1ZMOhbG9zdMOtIGplIHBvdmlubsOhLiIsInN0b3JhZ2UtcGF0aCI6IkNlc3RhIGsgw7psb8W+acWhdGkiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiJDZXN0YSBrIMO6bG/FvmnFoXRpIGplIHBvdmlubsOhLiIsInN0b3JhZ2UtdHlwZSI6IlR5cCDDumxvxb5pxaF0xJsiLCJzdG9yYWdlLXR5cGVzIjp7ImZpbGUtc3RvcmFnZSI6IlNvdWJvciIsIm1lbW9yeS1zdG9yYWdlIjoiUGFtxJvFpSJ9LHRoaW5nc2JvYXJkOiJUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QiOiJIb3N0IFRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6Ikhvc3QgamUgcG92aW5uw70uIiwidGhpbmdzYm9hcmQtcG9ydCI6IlBvcnQgVGhpbmdzQm9hcmQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6Ik1heGltw6FsbsOtIMSNw61zbG8gcG9ydHUgamUgNjU1MzUuIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiJNaW5pbcOhbG7DrSDEjcOtc2xvIHBvcnR1IGplIDEuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiUG9ydCBuZW7DrSBwbGF0bsO9LiIsInRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWQiOiJQb3J0IGplIHBvdmlubsO9LiIsdGlkeToiVXNwb8WZw6FkYXQiLCJ0aWR5LXRpcCI6IlVzcG/FmcOhZGF0IEpTT04ga29uZmlndXJhY2kiLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiJLb25maWd1cmFjZSB7e3R5cGVOYW1lfX0ga29uZWt0b3J1IiwidGxzLXBhdGgtY2EtY2VydGlmaWNhdGUiOiJDZXN0YSBrIGNlcnRpZmlrw6F0dSBDQSBicsOhbnkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiJDZXN0YSBrIGNlcnRpZmlrw6F0dSBrbGllbnRhIGJyw6FueSIsInRscy1wYXRoLXByaXZhdGUta2V5IjoiQ2VzdGEgayBwcml2w6F0bsOtbXUga2zDrcSNaSBicsOhbnkiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlDFmWVwbm91dCBkbyByZcW+aW11IGNlbMOpIG9icmF6b3ZreSIsInRyYW5zZm9ybWVyLWpzb24tY29uZmlnIjoiSlNPTioga29uZmlndXJhY2UiLCJ1cGRhdGUtY29uZmlnIjoiUMWZaWRhdC9lZGl0b3ZhdCBKU09OIGtvbmZpZ3VyYWNpIn0sVW89eyJhZGQtZW50cnkiOiJUaWxmw7hqIGtvbmZpZ3VyYXRpb24iLCJjb25uZWN0b3ItYWRkIjoiVGlsZsO4aiBueSBzdGlrZm9yYmluZGVsc2UiLCJjb25uZWN0b3ItZW5hYmxlZCI6IkFrdGl2w6lyIHN0aWtmb3JiaW5kZWxzZSIsImNvbm5lY3Rvci1uYW1lIjoiTmF2biBww6Ugc3Rpa2ZvcmJpbmRlbHNlIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiJOYXZuIHDDpSBzdGlrZm9yYmluZGVsc2UgZXIgcMOla3LDpnZldC4iLCJjb25uZWN0b3ItdHlwZSI6IlN0aWtmb3JiaW5kZWxzZXN0eXBlIiwiY29ubmVjdG9yLXR5cGUtcmVxdWlyZWQiOiJTdGlrZm9yYmluZGVsc2VzdHlwZSBlciBww6VrcsOmdmV0LiIsY29ubmVjdG9yczoiS29uZmlndXJhdGlvbiBhZiBzdGlrZm9yYmluZGVsc2VyIiwiY3JlYXRlLW5ldy1nYXRld2F5IjoiT3ByZXQgZW4gbnkgZ2F0ZXdheSIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiIixkZWxldGU6IlNsZXQga29uZmlndXJhdGlvbiIsImRvd25sb2FkLXRpcCI6IkRvd25sb2FkIGtvbmZpZ3VyYXRpb25zZmlsIixnYXRld2F5OiJHYXRld2F5IiwiZ2F0ZXdheS1leGlzdHMiOiJFbmhlZCBtZWQgc2FtbWUgbmF2biBmaW5kZXMgYWxsZXJlZGUuIiwiZ2F0ZXdheS1uYW1lIjoiR2F0ZXdheS1uYXZuIiwiZ2F0ZXdheS1uYW1lLXJlcXVpcmVkIjoiR2F0ZXdheS1uYXZuIGVyIHDDpWtyw6Z2ZXQuIiwiZ2F0ZXdheS1zYXZlZCI6IkdhdGV3YXkta29uZmlndXJhdGlvbmVuIGJsZXYgZ2VtdC4iLCJqc29uLXBhcnNlIjoiSWtrZSBneWxkaWcgSlNPTi4iLCJqc29uLXJlcXVpcmVkIjoiRmVsdGV0IG3DpSBpa2tlIHbDpnJlIHRvbXQuIiwibm8tY29ubmVjdG9ycyI6IkluZ2VuIHN0aWtmb3JiaW5kZWxzZXIiLCJuby1kYXRhIjoiSW5nZW4ga29uZmlndXJhdGlvbmVyIiwibm8tZ2F0ZXdheS1mb3VuZCI6IkluZ2VuIGdhdGV3YXkgZnVuZGV0LiIsIm5vLWdhdGV3YXktbWF0Y2hpbmciOiIiLCJwYXRoLWxvZ3MiOiJTdGkgdGlsIGxvZ2ZpbGVyIiwicGF0aC1sb2dzLXJlcXVpcmVkIjoiU3RpIGVyIHDDpWtyw6Z2ZXQuIixyZW1vdGU6IkZqZXJua29uZmlndXJhdGlvbiIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoiTG9nZsO4cmluZ3NuaXZlYXUiLCJyZW1vdmUtZW50cnkiOiJGamVybiBrb25maWd1cmF0aW9uIiwic2F2ZS10aXAiOiJHZW0ga29uZmlndXJhdGlvbnNmaWwiLCJzZWN1cml0eS10eXBlIjoiU2lra2VyaGVkc3R5cGUiLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJBZGdhbmdzdG9rZW4iLHRsczoiVExTIn0sc3RvcmFnZToiTGFncmluZyIsInN0b3JhZ2UtbWF4LWZpbGUtcmVjb3JkcyI6Ik1ha3MuIGFudGFsIHBvc3RlciBpIGZpbCIsInN0b3JhZ2UtbWF4LWZpbGVzIjoiTWFrcy4gYW50YWwgZmlsZXIiLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiJNaW4uIGFudGFsIGVyIDEuIiwic3RvcmFnZS1tYXgtZmlsZXMtcGF0dGVybiI6IkFudGFsIGVyIGlra2UgZ3lsZGlndC4iLCJzdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZCI6IkFudGFsIGVyIHDDpWtyw6Z2ZXQuIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik1ha3MuIGFudGFsIHBvc3RlciBpIGxhZ3JpbmciLCJzdG9yYWdlLW1heC1yZWNvcmRzLW1pbiI6Ik1pbi4gYW50YWwgcG9zdGVyIGVyIDEuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoiQW50YWwgZXIgaWtrZSBneWxkaWd0LiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJNYWtzLiBhbnRhbCBwb3N0ZXIgZXIgcMOla3LDpnZldC4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6Ik1ha3MuIGFudGFsIHBha2tlc3TDuHJyZWxzZSBmb3IgYmVnaXZlbmhlZCIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6Ik1pbi4gYW50YWwgZXIgMS4iLCJzdG9yYWdlLXBhY2stc2l6ZS1wYXR0ZXJuIjoiQW50YWwgZXIgaWtrZSBneWxkaWd0LiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoiTWFrcy4gYW50YWwgcGFra2VzdMO4cnJlbHNlIGZvciBiZWdpdmVuaGVkIGVyIHDDpWtyw6Z2ZXQuIiwic3RvcmFnZS1wYXRoIjoiTGFncmluZ3NzdGkiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiJMYWdyaW5nc3N0aSBlciBww6VrcsOmdmV0LiIsInN0b3JhZ2UtdHlwZSI6IkxhZ3JpbmdzdHlwZSIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoiTGFncmluZyBhZiBmaWx0ZXIiLCJtZW1vcnktc3RvcmFnZSI6IkxhZ3JpbmcgYWYgaHVrb21tZWxzZSJ9LHRoaW5nc2JvYXJkOiJUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QiOiJUaGluZ3NCb2FyZC12w6ZydCIsInRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWQiOiJWw6ZydCBlciBww6VrcsOmdmV0LiIsInRoaW5nc2JvYXJkLXBvcnQiOiJUaGluZ3NCb2FyZC1wb3J0IiwidGhpbmdzYm9hcmQtcG9ydC1tYXgiOiJNYWtzLiBwb3J0bnVtbWVyIGVyIDY1NTM1LiIsInRoaW5nc2JvYXJkLXBvcnQtbWluIjoiTWluLiBwb3J0bnVtbWVyIGVyIDEuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiUG9ydCBlciBpa2tlIGd5bGRpZy4iLCJ0aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkIjoiUG9ydCBlciBww6VrcsOmdmV0LiIsdGlkeToiVGlkeSIsInRpZHktdGlwIjoiVGlkeSBrb25maWcuIEpTT04iLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiIiLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IlN0aSB0aWwgQ0EtY2VydGlmaWthdCBww6UgZ2F0ZXdheSIsInRscy1wYXRoLWNsaWVudC1jZXJ0aWZpY2F0ZSI6IlN0aSB0aWwga2xpZW50Y2VydGlmaWthdCBww6UgZ2F0ZXdheSIsInRscy1wYXRoLXByaXZhdGUta2V5IjoiU3RpIHRpbCBwcml2YXQgbsO4Z2xlIHDDpSBnYXRld2F5IiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiJTa2lmdCB0aWwgZnVsZCBza8Omcm0iLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IktvbmZpZ3VyYXRpb24gSlNPTioiLCJ1cGRhdGUtY29uZmlnIjoiVGlsZsO4ai9vcGRhdGVyIGtvbmZpZ3VyYXRpb24gSlNPTiJ9LF9vPXsiYWRkLWVudHJ5IjoiQcOxYWRpciBjb25maWd1cmFjacOzbiIsYWR2YW5jZWQ6IkF2YW56YWRvIiwiY2hlY2tpbmctZGV2aWNlLWFjdGl2aXR5IjoiUHJvYmFuZG8gYWN0aXZpZGFkIGRlIGRpc3Bvc2l0aXZvIixjb21tYW5kOiJDb21hbmRvcyBEb2NrZXIiLCJjb21tYW5kLWNvcGllZC1tZXNzYWdlIjoiU2UgaGFuIGNvcGlhZG8gbG9zIGNvbWFuZG9zIGFsIHBvcnRhcGFwZWxlcyIsY29uZmlndXJhdGlvbjoiQ29uZmlndXJhY2nDs24iLCJjb25uZWN0b3ItYWRkIjoiQcOxYWRpciBjb25lY3RvciIsImNvbm5lY3Rvci1lbmFibGVkIjoiQWN0aXZhciBjb25lY3RvciIsImNvbm5lY3Rvci1uYW1lIjoiTm9tYnJlIGNvbmVjdG9yIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBub21icmUgY29uZWN0b3IuIiwiY29ubmVjdG9yLXR5cGUiOiJUaXBvIGNvbmVjdG9yIiwiY29ubmVjdG9yLXR5cGUtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSB0aXBvIGNvbmVjdG9yLiIsY29ubmVjdG9yczoiQ29uZWN0b3JlcyIsImNvbm5lY3RvcnMtY29uZmlnIjoiQ29uZmlndXJhY2nDs24gZGUgY29uZWN0b3JlcyIsImNvbm5lY3RvcnMtdGFibGUtZW5hYmxlZCI6IkVuYWJsZWQiLCJjb25uZWN0b3JzLXRhYmxlLW5hbWUiOiJOb21icmUiLCJjb25uZWN0b3JzLXRhYmxlLXR5cGUiOiJUaXBvIiwiY29ubmVjdG9ycy10YWJsZS1zdGF0dXMiOiJFc3RhZG8iLCJjb25uZWN0b3JzLXRhYmxlLWFjdGlvbnMiOiJBY2Npb25lcyIsImNvbm5lY3RvcnMtdGFibGUta2V5IjoiQ2xhdmUiLCJjb25uZWN0b3JzLXRhYmxlLWNsYXNzIjoiQ2xhc2UiLCJycGMtY29tbWFuZC1zZW5kIjoiRW52aWFyIiwicnBjLWNvbW1hbmQtcmVzdWx0IjoiUmVzdWx0YWRvIiwicnBjLWNvbW1hbmQtZWRpdC1wYXJhbXMiOiJFZGl0YXIgcGFyYW1ldHJvcyIsImdhdGV3YXktY29uZmlndXJhdGlvbiI6IkNvbmZpZ3VyYWNpw7NuIEdlbmVyYWwiLCJjcmVhdGUtbmV3LWdhdGV3YXkiOiJDcmVhciB1biBnYXRld2F5IG51ZXZvIiwiY3JlYXRlLW5ldy1nYXRld2F5LXRleHQiOiJDcmVhciB1biBudWV2byBnYXRld2F5IGNvbiBlbCBub21icmU6ICd7e2dhdGV3YXlOYW1lfX0nPyIsImNyZWF0ZWQtdGltZSI6IkhvcmEgZGUgY3JlYWNpw7NuIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWhlYWRlciI6IkxhcyBjb25maWd1cmFjaW9uZXMgc2UgYm9ycmFyw6FuIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWJvZHkiOiJTw7NsbyBlcyBwb3NpYmxlIGRlc2FjdGl2YXIgbGEgY29uZmlndXJhY2nDs24gcmVtb3RhLCBzaSBoYXkgYWNjZXNvIGbDrXNpY28gYWwgZ2F0ZXdheS4gU2UgYm9ycmFyw6FuIHRvZGFzIGxhcyBjb25maWd1cmFjaW9uZXMgcHJldmlhcy48YnI+PGJyPiBcblBhcmEgZGVzYWN0aXZhciBsYSBjb25maWd1cmFjacOzbiwgaW50cm9kdWNlIGVsIG5vbWJyZSBkZWwgZ2F0ZXdheSBhcXXDrSIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1pbnB1dCI6Ik5vbWJyZSBHYXRld2F5IiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0LXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgbm9tYnJlIGRlIGdhdGV3YXkiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctY29uZmlybSI6IkRlc2FjdGl2YXIiLGRlbGV0ZToiQm9ycmFyIGNvbmZpZ3VyYWNpw7NuIiwiZG93bmxvYWQtdGlwIjoiRGVzY2FyZ2FyIGZpY2hlcm8gZGUgY29uZmlndXJhY2nDs24iLCJkcm9wLWZpbGUiOiJBcnJhc3RyYSB1biBmaWNoZXJvIG8iLGdhdGV3YXk6IkdhdGV3YXkiLCJnYXRld2F5LWV4aXN0cyI6IllhIGV4aXN0ZSB1biBkaXNwb3NpdGl2byBjb24gZWwgbWlzbW8gbm9tYnJlLiIsImdhdGV3YXktbmFtZSI6Ik5vbWJyZSBkZSBHYXRld2F5IiwiZ2F0ZXdheS1uYW1lLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgdW4gbm9tYnJlIGRlIGdhdGV3YXkuIiwiZ2F0ZXdheS1zYXZlZCI6IkNvbmZpZ3VyYWNpw7NuIGRlIGdhdGV3YXkgZ3JhYmFkYSBzYXRpc2ZhY3RvcmlhbWVudGUuIixncnBjOiJHUlBDIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQiOiJUaW1lb3V0IEtlZXAgYWxpdmUgKGVuIG1zKSIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgVGltZW91dCBLZWVwIGFsaXZlIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtbWluIjoiRWwgdmFsb3Igbm8gcHVlZGUgc2VyIG1lbm9yIGRlIDEiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dC1wYXR0ZXJuIjoiRWwgdmFsb3Igbm8gZXMgdsOhbGlkbyIsImdycGMta2VlcC1hbGl2ZSI6IktlZXAgYWxpdmUgKGVuIG1zKSIsImdycGMta2VlcC1hbGl2ZS1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIGtlZXAgYWxpdmUiLCJncnBjLWtlZXAtYWxpdmUtbWluIjoiRWwgdmFsb3Igbm8gcHVlZGUgc2VyIG1lbm9yIGRlIDEiLCJncnBjLWtlZXAtYWxpdmUtcGF0dGVybiI6IkVsIHZhbG9yIGtlZXAgYWxpdmUgbm8gZXMgdsOhbGlkbyIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncyI6IlRpZW1wbyBtw61uaW1vIGVudHJlIHBpbmdzIChlbiBtcykiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSB0aWVtcG8gbcOtbmltbyBlbnRyZSBwaW5ncyIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1taW4iOiJFbCB2YWxvciBubyBwdWVkZSBzZXIgbWVub3IgZGUgMSIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1wYXR0ZXJuIjoiRWwgdmFsb3IgZGUgdGllbXBvIG3DrW5pbW8gZW50cmUgcGluZ3Mgbm8gZXMgdsOhbGlkbyIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhIjoiSW50ZXJ2YWxvIG3DrW5pbW8gc2luIGRhdG9zIChlbiBtcykiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIGludGVydmFsbyIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLW1pbiI6IkVsIHZhbG9yIG5vIHB1ZWRlIHNlciBtZW5vciBkZSAxIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcGF0dGVybiI6IkVsIHZhbG9yIGRlIGludGVydmFsbyBubyBlcyB2w6FsaWRvIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoiSW50ZXJ2YWxvIG3DoXhpbW8gc2luIGRhdG9zIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgaW50ZXJ2YWxvIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLW1pbiI6IkVsIHZhbG9yIG5vIHB1ZWRlIHNlciBtZW5vciBkZSAxIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiJFbCB2YWxvciBkZSBpbnRlcnZhbG8gbm8gZXMgdsOhbGlkbyIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMiOiJQZXJpb2RvIGRlIGNvbnRyb2wgZGUgaW5hY3RpdmlkYWQgKGVuIHNlZ3VuZG9zKSIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBwZXJpb2RvIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1taW4iOiJFbCB2YWxvciBubyBwdWVkZSBzZXIgbWVub3IgZGUgMSIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcGF0dGVybiI6IkVsIHZhbG9yIGRlbCBwZXJpb2RvIG5vIGVzIHbDoWxpZG8iLCJpbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcyI6IlRpbWVvdXQgZGUgaW5hY3RpdmlkYWQgKGVuIHNlZ3VuZG9zKSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgdGltZW91dCBkZSBpbmFjdGl2aWRhZCIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLW1pbiI6IkVsIHZhbG9yIG5vIHB1ZWRlIHNlciBtZW5vciBkZSAxIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcGF0dGVybiI6IkVsIHZhbG9yIGRlIGluYWN0aXZpZGFkIG5vIGVzIHbDoWxpZG8iLCJqc29uLXBhcnNlIjoiSlNPTiBubyB2w6FsaWRvLiIsImpzb24tcmVxdWlyZWQiOiJFbCBjYW1wbyBubyBwdWVkZSBlc3RhciB2YWPDrW8uIixsb2dzOntsb2dzOiJSZWdpc3Ryb3MiLGRheXM6ImTDrWFzIixob3VyczoiaG9yYXMiLG1pbnV0ZXM6Im1pbnV0b3MiLHNlY29uZHM6InNlZ3VuZG9zIiwiZGF0ZS1mb3JtYXQiOiJGb3JtYXRvIGRlIGZlY2hhIiwiZGF0ZS1mb3JtYXQtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBmb3JtYXRvIGRlIGZlY2hhIiwibG9nLWZvcm1hdCI6IkZvcm1hdG8gZGUgcmVnaXN0cm8iLCJsb2ctdHlwZSI6IlRpcG8gZGUgcmVnaXN0cm8iLCJsb2ctZm9ybWF0LXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgdGlwbyBkZSByZWdpc3RybyIscmVtb3RlOiJSZWdpc3RybyByZW1vdG8iLCJyZW1vdGUtbG9ncyI6IlJlZ2lzdHJvIHJlbW90byIsbG9jYWw6IlJlZ2lzdHJvIGxvY2FsIixsZXZlbDoiTml2ZWwgZGUgcmVnaXN0cm8iLCJmaWxlLXBhdGgiOiJSdXRhIGRlIGZpY2hlcm8iLCJmaWxlLXBhdGgtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBydXRhIGRlIGZpY2hlcm8iLCJzYXZpbmctcGVyaW9kIjoiUGVyaW9kbyBkZSBndWFyZGFkbyBkZSByZWdpc3Ryb3MiLCJzYXZpbmctcGVyaW9kLW1pbiI6IkVsIHBlcmlvZG8gbm8gcHVlZGUgc2VyIG1lbm9yIHF1ZSAxIiwic2F2aW5nLXBlcmlvZC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIHBlcmlvZG8gZGUgZ3VhcmRhZG8iLCJiYWNrdXAtY291bnQiOiJOw7ptZXJvIGRlIGJhY2t1cHMiLCJiYWNrdXAtY291bnQtbWluIjoiRWwgbsO6bWVybyBkZSBiYWNrdXBzIG5vIHB1ZWRlIHNlciBtZW5vciBxdWUgMSIsImJhY2t1cC1jb3VudC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIG7Dum1lcm8gZGUgYmFja3VwcyJ9LCJtaW4tcGFjay1zZW5kLWRlbGF5IjoiVGllbXBvIGRlIGVzcGVyYSwgZW52w61vIGRlIHBhcXVldGVzIChlbiBtcykiLCJtaW4tcGFjay1zZW5kLWRlbGF5LXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgdGllbXBvIGRlIGVzcGVyYSIsIm1pbi1wYWNrLXNlbmQtZGVsYXktbWluIjoiRWwgdGllbXBvIGRlIGVzcGVyYSBubyBwdWVkZSBzZXIgbWVub3IgcXVlIDAiLCJuby1jb25uZWN0b3JzIjoiTm8gaGF5IGNvbmVjdG9yZXMiLCJuby1kYXRhIjoiTm8gaGF5IGNvbmZpZ3VyYWNpb25lcyIsIm5vLWdhdGV3YXktZm91bmQiOiJObyBzZSBoYSBlbmNvbnRyYWRvIG5pbmfDum4gZ2F0ZXdheS4iLCJuby1nYXRld2F5LW1hdGNoaW5nIjoiICd7e2l0ZW19fScgbm8gZW5jb250cmFkby4iLCJwYXRoLWxvZ3MiOiJSdXRhIGEgbG9zIGFyY2hpdm9zIGRlIGxvZyIsInBhdGgtbG9ncy1yZXF1aXJlZCI6IlJ1dGEgcmVxdWVyaWRhLiIsInBlcm1pdC13aXRob3V0LWNhbGxzIjoiUGVybWl0aXIgS2VlcCBhbGl2ZSBzaSBsbGFtYWRhcyIscmVtb3RlOiJDb25maWd1cmFjacOzbiByZW1vdGEiLCJyZW1vdGUtbG9nZ2luZy1sZXZlbCI6Ik5pdmVsIGRlIGxvZ2dpbmciLCJyZW1vdmUtZW50cnkiOiJCb3JyYXIgY29uZmlndXJhY2nDs24iLCJyZW1vdGUtc2hlbGwiOiJDb25zb2xhIHJlbW90YSIsInJlbW90ZS1jb25maWd1cmF0aW9uIjoiQ29uZmlndXJhY2nDs24gcmVtb3RhIixvdGhlcjoib3Ryb3MiLCJzYXZlLXRpcCI6IkdyYWJhciBmaWNoZXJvIGRlIGNvbmZpZ3VyYWNpw7NuIiwic2VjdXJpdHktdHlwZSI6IlRpcG8gZGUgc2VndXJpZGFkIiwic2VjdXJpdHktdHlwZXMiOnsiYWNjZXNzLXRva2VuIjoiVMOza2VuIGRlIGFjY2VzbyIsInVzZXJuYW1lLXBhc3N3b3JkIjoiVXN1YXJpbyB5IGNvbnRyYXNlw7FhIix0bHM6IlRMUyIsInRscy1hY2Nlc3MtdG9rZW4iOiJUTFMgKyBUw7NrZW4gZGUgYWNjZXNvIiwidGxzLXByaXZhdGUta2V5IjoiVExTICsgQ2xhdmUgcHJpdmFkYSJ9LCJzZXJ2ZXItcG9ydCI6IlB1ZXJ0byBkZWwgc2Vydmlkb3IiLHN0YXRpc3RpY3M6e3N0YXRpc3RpYzoiRXN0YWTDrXN0aWNhIixzdGF0aXN0aWNzOiJFc3RhZMOtc3RpY2FzIiwic3RhdGlzdGljLWNvbW1hbmRzLWVtcHR5IjoiTm8gaGF5IGVzdGFkw61zdGljYXMiLGNvbW1hbmRzOiJDb21hbmRvcyIsInNlbmQtcGVyaW9kIjoiUGVyaW9kbyBkZSBlbnbDrW8gZGUgZXN0YWTDrXN0aWNhcyAoZW4gc2VndW5kb3MpIiwic2VuZC1wZXJpb2QtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBwZXJpb2RvIGRlIGVudsOtbyIsInNlbmQtcGVyaW9kLW1pbiI6IkVsIHBlcmlvZG8gZGUgZW52w61vIG5vIHB1ZWRlIHNlciBtZW5vciBkZSA2MCIsInNlbmQtcGVyaW9kLXBhdHRlcm4iOiJFbCBwZXJpb2RvIGRlIGVudsOtbyBubyBlcyB2w6FsaWRvIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uIjoiUmV2aXNhciBjb25maWd1cmFjacOzbiBkZSBjb25lY3RvcmVzIChlbiBzZWd1bmRvcykiLCJjaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tcmVxdWlyZWQiOiJTZSByZXF1aWVyZSB1biB2YWxvciIsImNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbi1taW4iOiJFbCB2YWxvciBubyBwdWVkZSBzZXIgbWVub3IgZGUgMSIsImNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbi1wYXR0ZXJuIjoiTGEgY29uZmlndXJhY2nDs24gbm8gZXMgdsOhbGlkYSIsYWRkOiJBw7FhZGlyIGNvbWFuZG8iLHRpbWVvdXQ6IlRpbWVvdXQiLCJ0aW1lb3V0LW1zIjoiVGltZW91dCAoZW4gbXMpIiwidGltZW91dC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIHRpbWVvdXQiLCJ0aW1lb3V0LW1pbiI6IkVsIHRpbWVvdXQgbm8gcHVlZGUgc2VyIG1lbm9yIGRlIDEiLCJ0aW1lb3V0LXBhdHRlcm4iOiJFbCB0aW1lb3V0IG5vIGVzIHbDoWxpZG8iLCJhdHRyaWJ1dGUtbmFtZSI6Ik5vbWJyZSBkZSBhdHJpYnV0byIsImF0dHJpYnV0ZS1uYW1lLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgbm9tYnJlIGRlIGF0cmlidXRvIixjb21tYW5kOiJDb21hbmRvIiwiY29tbWFuZC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIGNvbWFuZG8iLHJlbW92ZToiQm9ycmFyIGNvbWFuZG8ifSxzdG9yYWdlOiJHcmFiYWNpw7NuIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoiTsO6bWVybyBtw6F4aW1vIGRlIHJlZ2lzdHJvcyBlbiBmaWNoZXJvIiwic3RvcmFnZS1tYXgtZmlsZXMiOiJOw7ptZXJvIG3DoXhpbW8gZGUgZmljaGVyb3MiLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiJFbCBuw7ptZXJvIG3DrW5pbW8gZXMgMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiTsO6bWVybyBubyB2w6FsaWRvLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgbsO6bWVyby4iLCJzdG9yYWdlLW1heC1yZWNvcmRzIjoiTcOheGltbyBkZSByZWdpc3Ryb3MgZW4gZWwgYWxtYWPDqW4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLW1pbiI6IkVsIG7Dum1lcm8gbcOtbmltbyBlcyAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6Ik7Dum1lcm8gbm8gdsOhbGlkby4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgbsO6bWVyby4iLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50IjoiTGVlciBuw7ptZXJvIGRlIGVudHJhZGFzIGVuIGFsbWFjw6luIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1taW4iOiJFbCBuw7ptZXJvIG3DrW5pbW8gZGUgZW50cmFkYXMgZXMgMS4iLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm4iOiJFbCBuw7ptZXJvIG5vIGVzIHbDoWxpZG8uIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIG7Dum1lcm8gZGUgZW50cmFkYXMuIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQiOiJOw7ptZXJvIG3DoXhpbW8gZGUgZW50cmFkYXMgZW4gZWwgYWxtYWPDqW4iLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1taW4iOiJFbCBuw7ptZXJvIG3DrW5pbW8gZXMgMS4iLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1wYXR0ZXJuIjoiRWwgbsO6bWVybyBubyBlcyB2w6FsaWRvIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBuw7ptZXJvIG3DoXhpbW8gZGUgZW50cmFkYXMuIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoIjoiUnV0YSBkZSBjYXJwZXRhIGRlIGRhdG9zIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgcnV0YS4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6IlRhbWHDsW8gbcOheGltbyBkZSBldmVudG9zIiwic3RvcmFnZS1wYWNrLXNpemUtbWluIjoiRWwgbsO6bWVybyBtw61uaW1vIGVzIDEuIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6Ik7Dum1lcm8gbm8gdsOhbGlkby4iLCJzdG9yYWdlLXBhY2stc2l6ZS1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIG7Dum1lcm8uIiwic3RvcmFnZS1wYXRoIjoiUnV0YSBkZSBhbG1hY8OpbiIsInN0b3JhZ2UtcGF0aC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIHJ1dGEgZGUgYWxtYWPDqW4uIiwic3RvcmFnZS10eXBlIjoiVGlwbyBkZSBhbG1hY8OpbiIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoiQWxtYWPDqW4gZW4gZmljaGVybyIsIm1lbW9yeS1zdG9yYWdlIjoiQWxtYWPDqW4gZW4gbWVtb3JpYSIsc3FsaXRlOiJTUUxJVEUifSx0aGluZ3Nib2FyZDoiVGhpbmdzQm9hcmQiLGdlbmVyYWw6IkdlbmVyYWwiLCJ0aGluZ3Nib2FyZC1ob3N0IjoiSG9zdCBUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBIb3N0LiIsInRoaW5nc2JvYXJkLXBvcnQiOiJQdWVydG8gVGhpbmdzQm9hcmQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6IkVsIHB1ZXJ0byBtw6F4aW1vIGVzIDY1NTM1LiIsInRoaW5nc2JvYXJkLXBvcnQtbWluIjoiRWwgcHVlcnRvIG3DrW5pbW8gZXMgMS4iLCJ0aGluZ3Nib2FyZC1wb3J0LXBhdHRlcm4iOiJQdWVydG8gbm8gdsOhbGlkby4iLCJ0aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgcHVlcnRvLiIsdGlkeToiVGlkeSIsInRpZHktdGlwIjoiVGlkeSBKU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoiQ29uZmlndXJhY2nDs24gY29uZWN0b3Ige3t0eXBlTmFtZX19IiwidGxzLXBhdGgtY2EtY2VydGlmaWNhdGUiOiJSdXRhIGFsIGNlcnRpZmljYWRvIENBIGVuIGVsIGdhdGV3YXkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiJSdXRhIGFsIGNlcnRpZmljYWRvIGNsaWVudGUgZW4gZWwgZ2F0ZXdheSIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3VycyI6IkNvbXByb2JhY2nDs24gZGUgVFRMIGRlIG1lbnNhamVzIGVuIGhvcmFzIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXJlcXVpcmVkIjoiQ2FtcG8gcmVxdWVyaWRvLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1taW4iOiJFbCBtw61uaW1vIGVzIDEuIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXBhdHRlcm4iOiJFbCBuw7ptZXJvIG5vIGVzIHbDoWxpZG8uIiwibWVzc2FnZXMtdHRsLWluLWRheXMiOiJUVEwgKFRpbWUgdG8gbGl2ZSkgZGUgbWVuc2FnZXMgZW4gZMOtYXMiLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIFRUTCBkZSBtZW5zYWplcy4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1taW4iOiJFbCBuw7ptZXJvIG3DrW5pbW8gZXMgMS4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1wYXR0ZXJuIjoiRWwgbsO6bWVybyBubyBlcyB2w6FsaWRvLiIsIm1xdHQtcW9zIjoiUW9TIiwibXF0dC1xb3MtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBRb1MiLCJtcXR0LXFvcy1yYW5nZSI6IkVsIHJhbmdvIGRlIHZhbG9yZXMgZXMgZGVzZGUgMCBhIDEiLCJ0bHMtcGF0aC1wcml2YXRlLWtleSI6IlJ1dGEgYSBsYSBjbGF2ZSBwcml2YWRhIGVuIGVsIGdhdGV3YXkiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlBhbnRhbGxhIGNvbXBsZXRhIGZ1bGxzY3JlZW4iLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IkNvbmZpZ3VyYWNpw7NuIEpTT04qIiwidXBkYXRlLWNvbmZpZyI6IkHDsWFkaXIvYWN0dWFsaXphciBjb25maWd1cmFjacOzbiBKU09OIixoaW50czp7InJlbW90ZS1jb25maWd1cmF0aW9uIjoiSGFiaWxpdGEgbGEgYWRtaW5pc3RyYWNpw7NuIHkgY29uZmlndXJhY2nDs24gcmVtb3RhIGRlbCBnYXRld2F5IiwicmVtb3RlLXNoZWxsIjoiSGFiaWxpdGEgZWwgY29udHJvbCByZW1vdG8gZGVsIHNpc3RlbWEgb3BlcmF0aXZvIGRlbCBnYXRld2F5IGRlc2RlIGVsIHdpZGdldCB0ZXJtaW5hbCByZW1vdG8iLGhvc3Q6Ikhvc3RuYW1lIG8gZGlyZWNjacOzbiBJUCBkZWwgc2Vydmlkb3IgVGhpbmdzYm9hcmQiLHBvcnQ6IlB1ZXJ0byBkZWwgc2VydmljaW8gTVFUVCBlbiBlbCBzZXJ2aWRvciBUaGluZ3Nib2FyZCIsdG9rZW46IkFjY2VzcyB0b2tlbiBwYXJhIGVsIGdhdGV3YXkiLCJjbGllbnQtaWQiOiJJRCBkZSBjbGllbnRlIE1RVFQgcGFyYSBlbCBnYXRld2F5Iix1c2VybmFtZToiVXN1YXJpbyBNUVRUIHBhcmEgZWwgZ2F0ZXdheSIscGFzc3dvcmQ6IkNvbnRyYXNlw7FhIE1RVFQgcGFyYSBlbCBnYXRld2F5IiwiY2EtY2VydCI6IlJ1dGEgYWwgZmljaGVybyBkZWwgY2VydGlmaWNhZG8gQ0EiLCJkYXRlLWZvcm0iOiJGb3JtYXRvIGRlIGZlY2hhIGVuIGxvcyBtZW5zYWplcyBkZSByZWdpc3RybyIsImRhdGEtZm9sZGVyIjoiUnV0YSBhIGxhIGNhcnBldGEgcXVlIGNvbnRlbmRyw6EgbG9zIGRhdG9zIChSZWxhdGl2YSBvIGFic29sdXRhKSIsImxvZy1mb3JtYXQiOiJGb3JtYXRvIGRlIG1lbnNhamVzIGVuIHJlZ2lzdHJvIiwicmVtb3RlLWxvZyI6IkhhYmlsaXRhIGVsIHJlZ2lzdHJvIHJlbW90byB5IGxhIHBvc3RlcmlvciBsZWN0dXJhIGRlc2RlIGVsIGdhdGV3YXkiLCJiYWNrdXAtY291bnQiOiJTaSBlbCBjb250YWplIGRlIGNvcGlhcyBkZSBzZWd1cmlkYWQgZXMgbWF5b3IgcXVlIDAsIGN1YW5kbyBzZSByZWFsaWNlIHVuYSByZW5vdmFjacOzbiwgbm8gc2UgY29uc2VydmFuIG3DoXMgcXVlIGxvcyBhcmNoaXZvcyBkZSByZWN1ZW50byBkZSBjb3BpYXMgZGUgc2VndXJpZGFkLCBsb3MgbcOhcyBhbnTDrWd1b3Mgc2UgZWxpbWluYXLDoW4iLHN0b3JhZ2U6IlByb3ZlZSBsYSBjb25maWd1cmFjacOzbiBwYXJhIGVsIGdyYWJhZG8gZGUgZGF0b3MgZW50cmFudGVzIGFudGVzIGRlIHF1ZSBzZSBlbnbDrWVuIGEgbGEgcGxhdGFmb3JtYSIsIm1heC1maWxlLWNvdW50IjoiTsO6bWVybyBtw6F4aW1vIGRlIGZpY2hlcm9zIHF1ZSBzZSBjcmVhcsOhbiIsIm1heC1yZWFkLWNvdW50IjoiTsO6bWVvIG3DoXhpbW8gZGUgbWVuc2FqZXMgYSBvYnRlbmVyIGRlc2RlIGVsIGRpc2NvIHkgZW52aWFkb3MgYSBsYSBwbGF0YWZvcm1hIiwibWF4LXJlY29yZHMiOiJOw7ptZXJvIG3DoXhpbW8gZGUgcmVnaXN0cm9zIHF1ZSBzZSBndWFyZGFyw6FuIGVuIHVuIHNvbG8gZmljaGVybyIsInJlYWQtcmVjb3JkLWNvdW50IjoiTsO6bWVybyBkZSBtZW5zYWdlcyBhIG9idGVuZXIgZGVzZGUgZWwgYWxtYWNlbmFtaWVudG8geSBlbnZpYWRvcyBhIGxhIHBsYXRhZm9ybWEiLCJtYXgtcmVjb3Jkcy1jb3VudCI6Ik7Dum1lcm8gbcOheGltbyBkZSBkYXRvcyBlbiBhbG1hY2VuYW1pZW50byBhbnRlcyBkZSBlbnZpYXIgYSBsYSBwbGF0YWZvcm1hIiwidHRsLWNoZWNrLWhvdXIiOiJDb24gcXXDqSBmcmVjdWVuY2lhIGVsIGdhdGV3YXkgY29tcHJvYmFyw6Egc2kgbG9zIGRhdG9zIGVzdMOhbiBvYnNvbGV0b3MiLCJ0dGwtbWVzc2FnZXMtZGF5IjoiTsO6bWVybyBtw6F4aW1vIGRlIGTDrWFzIHBhcmEgbGEgcmV0ZW5jacOzbiBkZSBkYXRvcyBlbiBlbCBhbG1hY8OpbiIsY29tbWFuZHM6IkNvbWFuZG9zIHBhcmEgcmVjb2dlciBlc3RhZMOtc3RpY2FzIGFkaWNpb25hbGVzIixhdHRyaWJ1dGU6IkNsYXZlIGRlIHRlbGVtZXRyw61hIHBhcmEgZXN0YWTDrXN0aWNhcyIsdGltZW91dDoiVGltZW91dCBwYXJhIGxhIGVqZWN1Y2nDs24gZGUgY29tYW5kb3MiLGNvbW1hbmQ6IkVsIHJlc3VsdGFkbyBkZSBsYSBlamVjdWNpw7NuIGRlbCBjb21hbmRvLCBzZSB1c2Fyw6EgY29tbyB2YWxvciBwYXJhIGxhIHRlbGVtZXRyw61hIiwiY2hlY2stZGV2aWNlLWFjdGl2aXR5IjoiSGFiaWxpdGEgbGEgbW9uaXRvcml6YWNpw7NuIGRlIGNhZGEgdW5vIGRlIGxvcyBkaXNwb3NpdGl2b3MgY29uZWN0YWRvcyIsImluYWN0aXZpdHktdGltZW91dCI6IlRpZW1wbyB0cmFzIHF1ZSBlbCBnYXRld2F5IGRlc2NvbmVjdGFyw6EgZWwgZGlzcG9zaXRpdm8iLCJpbmFjdGl2aXR5LXBlcmlvZCI6IlBlcmlvZG8gZGUgbW9uaXRvcml6YWNpw7NuIGRlIGFjdGl2aWRhZCBlbiBlbCBkaXNwb3NpdGl2byIsIm1pbmltYWwtcGFjay1kZWxheSI6IlRpZW1wbyBkZSBlc3BlcmEgZW50cmUgZW52w61vIGRlIHBhcXVldGVzIGRlIG1lbnNhamVzIChVbiB2YWxvciBtdXkgYmFqbywgcmVzdWx0YXLDoSBlbiB1biBhdW1lbnRvIGRlIHVzbyBkZSBsYSBDUFUgZW4gZWwgZ2F0ZXdheSkiLHFvczoiUXVhbGl0eSBvZiBTZXJ2aWNlIGVuIGxvcyBtZW5zYWplcyBNUVRUICgwIC0gYXQgbW9zdCBvbmNlLCAxIC0gYXQgbGVhc3Qgb25jZSkiLCJzZXJ2ZXItcG9ydCI6IlB1ZXJ0byBkZSByZWQgZW4gZWwgY3VhbCBlbCBzZXJ2aWRvciBHUlBDIGVzY3VjaGFyw6EgY29uZXhpb25lcyBlbnRyYW50ZXMuIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQiOiJUaWVtcG8gbcOheGltbywgZWwgY3VhbCBlbCBzZXJ2aWRvciBlc3BlcmFyYSB1biBwaW5nIGtlZXBhbGl2ZSBhbnRlcyBkZSBjb25zaWRlcmFyIGxhIGNvbmV4acOzbiB0ZXJtaW5hZGEuIiwiZ3JwYy1rZWVwLWFsaXZlIjoiRHVyYWNpw7NuIGVudHJlIGRvcyBwaW5ncyBrZWVwYWxpdmUgY3VhbmRvIG5vIGhheWEgbGxhbWFkYSBSUEMgYWN0aXZhLiIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncyI6Ik3DrW5pbW8gdGllbXBvIHF1ZSBlbCBzZXJ2aWRvciBkZWJlIGVzcGVyYXIgZW50cmUgZW52w61vcyBkZSBtZW5zYWplcyBkZSBwaW5nIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoiTsO6bWVybyBtw6F4aW1vIGRlIHBpbmdzIGtlZXBhbGl2ZSBxdWUgZWwgc2Vydmlkb3IgcHVlZGUgZW52aWFyIHNpbiByZWNpYmlyIG5pbmfDum4gZGF0byBhbnRlcyBkZSBjb25zaWRlcmFyIGxhIGNvbmV4acOzbiB0ZXJtaW5hZGEuIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEiOiJNw61uaW1vIHRpZW1wbyBxdWUgZWwgc2Vydmlkb3IgZGViZSBlc3BlcmFyIGVudHJlIGVudsOtb3MgZGUgcGluZyBrZWVwYWxpdmUgY3VhbmRvIG5vIGhheWEgbmluZ8O6biBkYXRvIGVuIGVudsOtbyBvIHJlY2VwY2nDs24uIiwicGVybWl0LXdpdGhvdXQtY2FsbHMiOiJQZXJtaXRpciBhbCBzZXJ2aWRvciBtYW50ZW5lciBsYSBjb25leGnDs24gR1JQQyBhYmllcnRhLCBjdWFuZG8gbm8gaGF5YSBsbGFtYWRhcyBSUEMgYWN0aXZhcy4ifX0sSG89eyJhZGQtZW50cnkiOiLshKTsoJUg7LaU6rCAIiwiY29ubmVjdG9yLWFkZCI6IuyDiOuhnOyatCDsl7DqsrDsnpAg7LaU6rCAIiwiY29ubmVjdG9yLWVuYWJsZWQiOiJFbmFibGUgY29ubmVjdG9yIiwiY29ubmVjdG9yLW5hbWUiOiJDb25uZWN0b3IgbmFtZSIsImNvbm5lY3Rvci1uYW1lLXJlcXVpcmVkIjoiQ29ubmVjdG9yIG5hbWUgaXMgcmVxdWlyZWQuIiwiY29ubmVjdG9yLXR5cGUiOiJDb25uZWN0b3IgdHlwZSIsImNvbm5lY3Rvci10eXBlLXJlcXVpcmVkIjoiQ29ubmVjdG9yIHR5cGUgaXMgcmVxdWlyZWQuIixjb25uZWN0b3JzOiJDb25uZWN0b3JzIGNvbmZpZ3VyYXRpb24iLCJjcmVhdGUtbmV3LWdhdGV3YXkiOiJDcmVhdGUgYSBuZXcgZ2F0ZXdheSIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiQXJlIHlvdSBzdXJlIHlvdSB3YW50IGNyZWF0ZSBhIG5ldyBnYXRld2F5IHdpdGggbmFtZTogJ3t7Z2F0ZXdheU5hbWV9fSc/IixkZWxldGU6IkRlbGV0ZSBjb25maWd1cmF0aW9uIiwiZG93bmxvYWQtdGlwIjoiRG93bmxvYWQgY29uZmlndXJhdGlvbiBmaWxlIixnYXRld2F5OiJHYXRld2F5IiwiZ2F0ZXdheS1leGlzdHMiOiJEZXZpY2Ugd2l0aCBzYW1lIG5hbWUgaXMgYWxyZWFkeSBleGlzdHMuIiwiZ2F0ZXdheS1uYW1lIjoiR2F0ZXdheSBuYW1lIiwiZ2F0ZXdheS1uYW1lLXJlcXVpcmVkIjoiR2F0ZXdheSBuYW1lIGlzIHJlcXVpcmVkLiIsImdhdGV3YXktc2F2ZWQiOiJHYXRld2F5IGNvbmZpZ3VyYXRpb24gc3VjY2Vzc2Z1bGx5IHNhdmVkLiIsImpzb24tcGFyc2UiOiJOb3QgdmFsaWQgSlNPTi4iLCJqc29uLXJlcXVpcmVkIjoiRmllbGQgY2Fubm90IGJlIGVtcHR5LiIsIm5vLWNvbm5lY3RvcnMiOiJObyBjb25uZWN0b3JzIiwibm8tZGF0YSI6Ik5vIGNvbmZpZ3VyYXRpb25zIiwibm8tZ2F0ZXdheS1mb3VuZCI6Ik5vIGdhdGV3YXkgZm91bmQuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5vdCBmb3VuZC4iLCJwYXRoLWxvZ3MiOiJQYXRoIHRvIGxvZyBmaWxlcyIsInBhdGgtbG9ncy1yZXF1aXJlZCI6IlBhdGggaXMgcmVxdWlyZWQuIixyZW1vdGU6IlJlbW90ZSBjb25maWd1cmF0aW9uIiwicmVtb3RlLWxvZ2dpbmctbGV2ZWwiOiJMb2dnaW5nIGxldmVsIiwicmVtb3ZlLWVudHJ5IjoiUmVtb3ZlIGNvbmZpZ3VyYXRpb24iLCJzYXZlLXRpcCI6IlNhdmUgY29uZmlndXJhdGlvbiBmaWxlIiwic2VjdXJpdHktdHlwZSI6IlNlY3VyaXR5IHR5cGUiLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJBY2Nlc3MgVG9rZW4iLHRsczoiVExTIn0sc3RvcmFnZToiU3RvcmFnZSIsInN0b3JhZ2UtbWF4LWZpbGUtcmVjb3JkcyI6Ik1heGltdW0gcmVjb3JkcyBpbiBmaWxlIiwic3RvcmFnZS1tYXgtZmlsZXMiOiJNYXhpbXVtIG51bWJlciBvZiBmaWxlcyIsInN0b3JhZ2UtbWF4LWZpbGVzLW1pbiI6Ik1pbmltdW0gbnVtYmVyIGlzIDEuIiwic3RvcmFnZS1tYXgtZmlsZXMtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiJOdW1iZXIgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik1heGltdW0gcmVjb3JkcyBpbiBzdG9yYWdlIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1taW4iOiJNaW5pbXVtIG51bWJlciBvZiByZWNvcmRzIGlzIDEuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkIjoiTWF4aW11bSByZWNvcmRzIGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtcGFjay1zaXplIjoiTWF4aW11bSBldmVudCBwYWNrIHNpemUiLCJzdG9yYWdlLXBhY2stc2l6ZS1taW4iOiJNaW5pbXVtIG51bWJlciBpcyAxLiIsInN0b3JhZ2UtcGFjay1zaXplLXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoiTWF4aW11bSBldmVudCBwYWNrIHNpemUgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1wYXRoIjoiU3RvcmFnZSBwYXRoIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoiU3RvcmFnZSBwYXRoIGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtdHlwZSI6IlN0b3JhZ2UgdHlwZSIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoiRmlsZSBzdG9yYWdlIiwibWVtb3J5LXN0b3JhZ2UiOiJNZW1vcnkgc3RvcmFnZSJ9LHRoaW5nc2JvYXJkOiJUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QiOiJUaGluZ3NCb2FyZCBob3N0IiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6Ikhvc3QgaXMgcmVxdWlyZWQuIiwidGhpbmdzYm9hcmQtcG9ydCI6IlRoaW5nc0JvYXJkIHBvcnQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6Ik1heGltdW0gcG9ydCBudW1iZXIgaXMgNjU1MzUuIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiJNaW5pbXVtIHBvcnQgbnVtYmVyIGlzIDEuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiUG9ydCBpcyBub3QgdmFsaWQuIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6IlBvcnQgaXMgcmVxdWlyZWQuIix0aWR5OiJUaWR5IiwidGlkeS10aXAiOiJUaWR5IGNvbmZpZyBKU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoiQ29ubmVjdG9yIHt7dHlwZU5hbWV9fSBjb25maWd1cmF0aW9uIiwidGxzLXBhdGgtY2EtY2VydGlmaWNhdGUiOiJQYXRoIHRvIENBIGNlcnRpZmljYXRlIG9uIGdhdGV3YXkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiJQYXRoIHRvIGNsaWVudCBjZXJ0aWZpY2F0ZSBvbiBnYXRld2F5IiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiJQYXRoIHRvIHByaXZhdGUga2V5IG9uIGdhdGV3YXkiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlRvZ2dsZSBmdWxsc2NyZWVuIiwidHJhbnNmb3JtZXItanNvbi1jb25maWciOiJDb25maWd1cmF0aW9uIEpTT04qIiwidXBkYXRlLWNvbmZpZyI6IkFkZC91cGRhdGUgY29uZmlndXJhdGlvbiBKU09OIn0sem89eyJhZGQtZW50cnkiOiJBZGQgY29uZmlndXJhdGlvbiIsYWR2YW5jZWQ6IkFkdmFuY2VkIiwiY2hlY2tpbmctZGV2aWNlLWFjdGl2aXR5IjoiQ2hlY2tpbmcgZGV2aWNlIGFjdGl2aXR5Iixjb21tYW5kOiJEb2NrZXIgY29tbWFuZHMiLCJjb21tYW5kLWNvcGllZC1tZXNzYWdlIjoiRG9ja2VyIGNvbW1hbmQgaGFzIGJlZW4gY29waWVkIHRvIGNsaXBib2FyZCIsY29uZmlndXJhdGlvbjoiQ29uZmlndXJhdGlvbiIsImNvbm5lY3Rvci1hZGQiOiJBZGQgbmV3IGNvbm5lY3RvciIsImNvbm5lY3Rvci1lbmFibGVkIjoiRW5hYmxlIGNvbm5lY3RvciIsImNvbm5lY3Rvci1uYW1lIjoiQ29ubmVjdG9yIG5hbWUiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6IkNvbm5lY3RvciBuYW1lIGlzIHJlcXVpcmVkLiIsImNvbm5lY3Rvci10eXBlIjoiQ29ubmVjdG9yIHR5cGUiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IkNvbm5lY3RvciB0eXBlIGlzIHJlcXVpcmVkLiIsY29ubmVjdG9yczoiQ29ubmVjdG9ycyIsImNvbm5lY3RvcnMtY29uZmlnIjoiQ29ubmVjdG9ycyBjb25maWd1cmF0aW9uIiwiY29ubmVjdG9ycy10YWJsZS1lbmFibGVkIjoiRW5hYmxlZCIsImNvbm5lY3RvcnMtdGFibGUtbmFtZSI6Ik5hbWUiLCJjb25uZWN0b3JzLXRhYmxlLXR5cGUiOiJUeXBlIiwiY29ubmVjdG9ycy10YWJsZS1zdGF0dXMiOiJTdGF0dXMiLCJjb25uZWN0b3JzLXRhYmxlLWFjdGlvbnMiOiJBY3Rpb25zIiwiY29ubmVjdG9ycy10YWJsZS1rZXkiOiJLZXkiLCJjb25uZWN0b3JzLXRhYmxlLWNsYXNzIjoiQ2xhc3MiLCJycGMtY29tbWFuZC1zZW5kIjoiU2VuZCIsInJwYy1jb21tYW5kLXJlc3VsdCI6IlJlc3VsdCIsInJwYy1jb21tYW5kLWVkaXQtcGFyYW1zIjoiRWRpdCBwYXJhbWV0ZXJzIiwiZ2F0ZXdheS1jb25maWd1cmF0aW9uIjoiR2VuZXJhbCBDb25maWd1cmF0aW9uIiwiZG9ja2VyLWxhYmVsIjoiSW4gb3JkZXIgdG8gcnVuIFRoaW5nc0JvYXJkIElvVCBnYXRld2F5IGluIGRvY2tlciB3aXRoIGNyZWRlbnRpYWxzIGZvciB0aGlzIGRldmljZSB5b3UgY2FuIHVzZSB0aGUgZm9sbG93aW5nIGNvbW1hbmRzLiIsImNyZWF0ZS1uZXctZ2F0ZXdheSI6IkNyZWF0ZSBhIG5ldyBnYXRld2F5IiwiY3JlYXRlLW5ldy1nYXRld2F5LXRleHQiOiJBcmUgeW91IHN1cmUgeW91IHdhbnQgY3JlYXRlIGEgbmV3IGdhdGV3YXkgd2l0aCBuYW1lOiAne3tnYXRld2F5TmFtZX19Jz8iLCJjcmVhdGVkLXRpbWUiOiJDcmVhdGVkIHRpbWUiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaGVhZGVyIjoiQ29uZmlndXJhdGlvbnMgd2lsbCBiZSBkZWxldGVkIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWJvZHkiOiJUdXJuaW5nIG9mZiBSZW1vdGUgQ29uZmlndXJhdGlvbiBpcyBwb3NzaWJsZSBvbmx5IGlmIHRoZXJlIGlzIHBoeXNpY2FsIGFjY2VzcyB0byB0aGUgR2F0ZXdheS4gQWxsIHByZXZpb3VzIGNvbmZpZ3VyYXRpb25zIHdpbGwgYmUgZGVsZXRlZC48YnI+PGJyPiBcblRvIHR1cm4gb2ZmIGNvbmZpZ3VyYXRpb24sIGVudGVyIGdhdGV3YXkgbmFtZSBiZWxvdyIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1pbnB1dCI6IkdhdGV3YXkgbmFtZSIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1pbnB1dC1yZXF1aXJlZCI6IkdhdGV3YXkgbmFtZSBpcyBtYW5kYXRvcnkiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctY29uZmlybSI6IlR1cm4gT2ZmIixkZWxldGU6IkRlbGV0ZSBjb25maWd1cmF0aW9uIiwiZG93bmxvYWQtdGlwIjoiRG93bmxvYWQgY29uZmlndXJhdGlvbiBmaWxlIiwiZHJvcC1maWxlIjoiRHJvcCBmaWxlIGhlcmUgb3IiLGdhdGV3YXk6IkdhdGV3YXkiLCJnYXRld2F5LWV4aXN0cyI6IkRldmljZSB3aXRoIHNhbWUgbmFtZSBpcyBhbHJlYWR5IGV4aXN0cy4iLCJnYXRld2F5LW5hbWUiOiJHYXRld2F5IG5hbWUiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJHYXRld2F5IG5hbWUgaXMgcmVxdWlyZWQuIiwiZ2F0ZXdheS1zYXZlZCI6IkdhdGV3YXkgY29uZmlndXJhdGlvbiBzdWNjZXNzZnVsbHkgc2F2ZWQuIixncnBjOiJHUlBDIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQiOiJLZWVwIGFsaXZlIHRpbWVvdXQgKGluIG1zKSIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LXJlcXVpcmVkIjoiS2VlcCBhbGl2ZSB0aW1lb3V0IGlzIHJlcXVpcmVkIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtbWluIjoiS2VlcCBhbGl2ZSB0aW1lb3V0IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dC1wYXR0ZXJuIjoiS2VlcCBhbGl2ZSB0aW1lb3V0IGlzIG5vdCB2YWxpZCIsImdycGMta2VlcC1hbGl2ZSI6IktlZXAgYWxpdmUgKGluIG1zKSIsImdycGMta2VlcC1hbGl2ZS1yZXF1aXJlZCI6IktlZXAgYWxpdmUgaXMgcmVxdWlyZWQiLCJncnBjLWtlZXAtYWxpdmUtbWluIjoiS2VlcCBhbGl2ZSBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1rZWVwLWFsaXZlLXBhdHRlcm4iOiJLZWVwIGFsaXZlIGlzIG5vdCB2YWxpZCIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncyI6Ik1pbiB0aW1lIGJldHdlZW4gcGluZ3MgKGluIG1zKSIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1yZXF1aXJlZCI6Ik1pbiB0aW1lIGJldHdlZW4gcGluZ3MgaXMgcmVxdWlyZWQiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtbWluIjoiTWluIHRpbWUgYmV0d2VlbiBwaW5ncyBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLXBhdHRlcm4iOiJNaW4gdGltZSBiZXR3ZWVuIHBpbmdzIGlzIG5vdCB2YWxpZCIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhIjoiTWluIHBpbmcgaW50ZXJ2YWwgd2l0aG91dCBkYXRhIChpbiBtcykiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6Ik1pbiBwaW5nIGludGVydmFsIHdpdGhvdXQgZGF0YSBpcyByZXF1aXJlZCIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLW1pbiI6Ik1pbiBwaW5nIGludGVydmFsIHdpdGhvdXQgZGF0YSBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcGF0dGVybiI6Ik1pbiBwaW5nIGludGVydmFsIHdpdGhvdXQgZGF0YSBpcyBub3QgdmFsaWQiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEiOiJNYXggcGluZ3Mgd2l0aG91dCBkYXRhIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXJlcXVpcmVkIjoiTWF4IHBpbmdzIHdpdGhvdXQgZGF0YSBpcyByZXF1aXJlZCIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YS1taW4iOiJNYXggcGluZ3Mgd2l0aG91dCBkYXRhIGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtcGF0dGVybiI6Ik1heCBwaW5ncyB3aXRob3V0IGRhdGEgaXMgbm90IHZhbGlkIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcyI6IkluYWN0aXZpdHkgY2hlY2sgcGVyaW9kIChpbiBzZWMpIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1yZXF1aXJlZCI6IkluYWN0aXZpdHkgY2hlY2sgcGVyaW9kIGlzIHJlcXVpcmVkIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1taW4iOiJJbmFjdGl2aXR5IGNoZWNrIHBlcmlvZCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1wYXR0ZXJuIjoiSW5hY3Rpdml0eSBjaGVjayBwZXJpb2QgaXMgbm90IHZhbGlkIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMiOiJJbmFjdGl2aXR5IHRpbWVvdXQgKGluIHNlYykiLCJpbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1yZXF1aXJlZCI6IkluYWN0aXZpdHkgdGltZW91dCBpcyByZXF1aXJlZCIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLW1pbiI6IkluYWN0aXZpdHkgdGltZW91dCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcGF0dGVybiI6IkluYWN0aXZpdHkgdGltZW91dCBpcyBub3QgdmFsaWQiLCJqc29uLXBhcnNlIjoiTm90IHZhbGlkIEpTT04uIiwianNvbi1yZXF1aXJlZCI6IkZpZWxkIGNhbm5vdCBiZSBlbXB0eS4iLGxvZ3M6e2xvZ3M6IkxvZ3MiLGRheXM6ImRheXMiLGhvdXJzOiJob3VycyIsbWludXRlczoibWludXRlcyIsc2Vjb25kczoic2Vjb25kcyIsImRhdGUtZm9ybWF0IjoiRGF0ZSBmb3JtYXQiLCJkYXRlLWZvcm1hdC1yZXF1aXJlZCI6IkRhdGUgZm9ybWF0IHJlcXVpcmVkIiwibG9nLWZvcm1hdCI6IkxvZyBmb3JtYXQiLCJsb2ctdHlwZSI6IkxvZyB0eXBlIiwibG9nLWZvcm1hdC1yZXF1aXJlZCI6IkxvZyBmb3JtYXQgcmVxdWlyZWQiLHJlbW90ZToiUmVtb3RlIGxvZ2dpbmciLCJyZW1vdGUtbG9ncyI6IlJlbW90ZSBsb2dzIixsb2NhbDoiTG9jYWwgbG9nZ2luZyIsbGV2ZWw6IkxvZyBsZXZlbCIsImZpbGUtcGF0aCI6IkZpbGUgcGF0aCIsImZpbGUtcGF0aC1yZXF1aXJlZCI6IkZpbGUgcGF0aCByZXF1aXJlZCIsInNhdmluZy1wZXJpb2QiOiJMb2cgc2F2aW5nIHBlcmlvZCIsInNhdmluZy1wZXJpb2QtbWluIjoiTG9nIHNhdmluZyBwZXJpb2QgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsInNhdmluZy1wZXJpb2QtcmVxdWlyZWQiOiJMb2cgc2F2aW5nIHBlcmlvZCByZXF1aXJlZCIsImJhY2t1cC1jb3VudCI6IkJhY2t1cCBjb3VudCIsImJhY2t1cC1jb3VudC1taW4iOiJCYWNrdXAgY291bnQgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImJhY2t1cC1jb3VudC1yZXF1aXJlZCI6IkJhY2t1cCBjb3VudCByZXF1aXJlZCJ9LCJtaW4tcGFjay1zZW5kLWRlbGF5IjoiTWluIHBhY2sgc2VuZCBkZWxheSAoaW4gbXMpIiwibWluLXBhY2stc2VuZC1kZWxheS1yZXF1aXJlZCI6Ik1pbiBwYWNrIHNlbmQgZGVsYXkgaXMgcmVxdWlyZWQiLCJtaW4tcGFjay1zZW5kLWRlbGF5LW1pbiI6Ik1pbiBwYWNrIHNlbmQgZGVsYXkgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMCIsIm5vLWNvbm5lY3RvcnMiOiJObyBjb25uZWN0b3JzIiwibm8tZGF0YSI6Ik5vIGNvbmZpZ3VyYXRpb25zIiwibm8tZ2F0ZXdheS1mb3VuZCI6Ik5vIGdhdGV3YXkgZm91bmQuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5vdCBmb3VuZC4iLCJwYXRoLWxvZ3MiOiJQYXRoIHRvIGxvZyBmaWxlcyIsInBhdGgtbG9ncy1yZXF1aXJlZCI6IlBhdGggaXMgcmVxdWlyZWQuIiwicGVybWl0LXdpdGhvdXQtY2FsbHMiOiJLZWVwIGFsaXZlIHBlcm1pdCB3aXRob3V0IGNhbGxzIixyZW1vdGU6IlJlbW90ZSBjb25maWd1cmF0aW9uIiwicmVtb3RlLWxvZ2dpbmctbGV2ZWwiOiJMb2dnaW5nIGxldmVsIiwicmVtb3ZlLWVudHJ5IjoiUmVtb3ZlIGNvbmZpZ3VyYXRpb24iLCJyZW1vdGUtc2hlbGwiOiJSZW1vdGUgc2hlbGwiLCJyZW1vdGUtY29uZmlndXJhdGlvbiI6IlJlbW90ZSBDb25maWd1cmF0aW9uIixvdGhlcjoiT3RoZXIiLCJzYXZlLXRpcCI6IlNhdmUgY29uZmlndXJhdGlvbiBmaWxlIiwic2VjdXJpdHktdHlwZSI6IlNlY3VyaXR5IHR5cGUiLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJBY2Nlc3MgVG9rZW4iLCJ1c2VybmFtZS1wYXNzd29yZCI6IlVzZXJuYW1lIGFuZCBQYXNzd29yZCIsdGxzOiJUTFMiLCJ0bHMtYWNjZXNzLXRva2VuIjoiVExTICsgQWNjZXNzIFRva2VuIiwidGxzLXByaXZhdGUta2V5IjoiVExTICsgUHJpdmF0ZSBLZXkifSwic2VydmVyLXBvcnQiOiJTZXJ2ZXIgcG9ydCIsc3RhdGlzdGljczp7c3RhdGlzdGljOiJTdGF0aXN0aWMiLHN0YXRpc3RpY3M6IlN0YXRpc3RpY3MiLCJzdGF0aXN0aWMtY29tbWFuZHMtZW1wdHkiOiJObyBzdGF0aXN0aWNzIGF2YWlsYWJsZSIsY29tbWFuZHM6IkNvbW1hbmRzIiwic2VuZC1wZXJpb2QiOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgKGluIHNlYykiLCJzZW5kLXBlcmlvZC1yZXF1aXJlZCI6IlN0YXRpc3RpYyBzZW5kIHBlcmlvZCBpcyByZXF1aXJlZCIsInNlbmQtcGVyaW9kLW1pbiI6IlN0YXRpc3RpYyBzZW5kIHBlcmlvZCBjYW4gbm90IGJlIGxlc3MgdGhlbiA2MCIsInNlbmQtcGVyaW9kLXBhdHRlcm4iOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgaXMgbm90IHZhbGlkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uIjoiQ2hlY2sgY29ubmVjdG9ycyBjb25maWd1cmF0aW9uIChpbiBzZWMpIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXJlcXVpcmVkIjoiQ2hlY2sgY29ubmVjdG9ycyBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLW1pbiI6IkNoZWNrIGNvbm5lY3RvcnMgY29uZmlndXJhdGlvbiBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXBhdHRlcm4iOiJDaGVjayBjb25uZWN0b3JzIGNvbmZpZ3VyYXRpb24gaXMgbm90IHZhbGlkIixhZGQ6IkFkZCBjb21tYW5kIix0aW1lb3V0OiJUaW1lb3V0IiwidGltZW91dC1tcyI6IlRpbWVvdXQgKGluIG1zKSIsInRpbWVvdXQtcmVxdWlyZWQiOiJUaW1lb3V0IGlzIHJlcXVpcmVkIiwidGltZW91dC1taW4iOiJUaW1lb3V0IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJ0aW1lb3V0LXBhdHRlcm4iOiJUaW1lb3V0IGlzIG5vdCB2YWxpZCIsImF0dHJpYnV0ZS1uYW1lIjoiQXR0cmlidXRlIG5hbWUiLCJhdHRyaWJ1dGUtbmFtZS1yZXF1aXJlZCI6IkF0dHJpYnV0ZSBuYW1lIGlzIHJlcXVpcmVkIixjb21tYW5kOiJDb21tYW5kIiwiY29tbWFuZC1yZXF1aXJlZCI6IkNvbW1hbmQgaXMgcmVxdWlyZWQiLHJlbW92ZToiUmVtb3ZlIGNvbW1hbmQifSxzdG9yYWdlOiJTdG9yYWdlIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoiTWF4aW11bSByZWNvcmRzIGluIGZpbGUiLCJzdG9yYWdlLW1heC1maWxlcyI6Ik1heGltdW0gbnVtYmVyIG9mIGZpbGVzIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoiTWluaW11bSBudW1iZXIgaXMgMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJzdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZCI6Ik51bWJlciBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLW1heC1yZWNvcmRzIjoiTWF4aW11bSByZWNvcmRzIGluIHN0b3JhZ2UiLCJzdG9yYWdlLW1heC1yZWNvcmRzLW1pbiI6Ik1pbmltdW0gbnVtYmVyIG9mIHJlY29yZHMgaXMgMS4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJNYXhpbXVtIHJlY29yZHMgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudCI6IlJlYWQgcmVjb3JkIGNvdW50IGluIHN0b3JhZ2UiLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LW1pbiI6Ik1pbmltdW0gbnVtYmVyIG9mIHJlY29yZHMgaXMgMS4iLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcmVxdWlyZWQiOiJSZWFkIHJlY29yZCBjb3VudCBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudCI6Ik1heCByZWFkIHJlY29yZCBjb3VudCBpbiBzdG9yYWdlIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtbWluIjoiTWluaW11bSBudW1iZXIgb2YgcmVjb3JkcyBpcyAxLiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkIjoiTWF4IFJlYWQgcmVjb3JkIGNvdW50IGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtZGF0YS1mb2xkZXItcGF0aCI6IkRhdGEgZm9sZGVyIHBhdGgiLCJzdG9yYWdlLWRhdGEtZm9sZGVyLXBhdGgtcmVxdWlyZWQiOiJEYXRhIGZvbGRlciBwYXRoIGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtcGFjay1zaXplIjoiTWF4aW11bSBldmVudCBwYWNrIHNpemUiLCJzdG9yYWdlLXBhY2stc2l6ZS1taW4iOiJNaW5pbXVtIG51bWJlciBpcyAxLiIsInN0b3JhZ2UtcGFjay1zaXplLXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoiTWF4aW11bSBldmVudCBwYWNrIHNpemUgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1wYXRoIjoiU3RvcmFnZSBwYXRoIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoiU3RvcmFnZSBwYXRoIGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtdHlwZSI6IlN0b3JhZ2UgdHlwZSIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoiRmlsZSBzdG9yYWdlIiwibWVtb3J5LXN0b3JhZ2UiOiJNZW1vcnkgc3RvcmFnZSIsc3FsaXRlOiJTUUxJVEUifSx0aGluZ3Nib2FyZDoiVGhpbmdzQm9hcmQiLGdlbmVyYWw6IkdlbmVyYWwiLCJ0aGluZ3Nib2FyZC1ob3N0IjoiVGhpbmdzQm9hcmQgaG9zdCIsInRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWQiOiJIb3N0IGlzIHJlcXVpcmVkLiIsInRoaW5nc2JvYXJkLXBvcnQiOiJUaGluZ3NCb2FyZCBwb3J0IiwidGhpbmdzYm9hcmQtcG9ydC1tYXgiOiJNYXhpbXVtIHBvcnQgbnVtYmVyIGlzIDY1NTM1LiIsInRoaW5nc2JvYXJkLXBvcnQtbWluIjoiTWluaW11bSBwb3J0IG51bWJlciBpcyAxLiIsInRoaW5nc2JvYXJkLXBvcnQtcGF0dGVybiI6IlBvcnQgaXMgbm90IHZhbGlkLiIsInRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWQiOiJQb3J0IGlzIHJlcXVpcmVkLiIsdGlkeToiVGlkeSIsInRpZHktdGlwIjoiVGlkeSBjb25maWcgSlNPTiIsInRpdGxlLWNvbm5lY3RvcnMtanNvbiI6IkNvbm5lY3RvciB7e3R5cGVOYW1lfX0gY29uZmlndXJhdGlvbiIsInRscy1wYXRoLWNhLWNlcnRpZmljYXRlIjoiUGF0aCB0byBDQSBjZXJ0aWZpY2F0ZSBvbiBnYXRld2F5IiwidGxzLXBhdGgtY2xpZW50LWNlcnRpZmljYXRlIjoiUGF0aCB0byBjbGllbnQgY2VydGlmaWNhdGUgb24gZ2F0ZXdheSIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3VycyI6Ik1lc3NhZ2VzIFRUTCBjaGVjayBpbiBob3VycyIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1yZXF1aXJlZCI6Ik1lc3NhZ2VzIFRUTCBjaGVjayBpbiBob3VycyBpcyByZXF1aXJlZC4iLCJtZXNzYWdlcy10dGwtY2hlY2staW4taG91cnMtbWluIjoiTWluIG51bWJlciBpcyAxLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cyI6Ik1lc3NhZ2VzIFRUTCBpbiBkYXlzIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcmVxdWlyZWQiOiJNZXNzYWdlcyBUVEwgaW4gZGF5cyBpcyByZXF1aXJlZC4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1taW4iOiJNaW4gbnVtYmVyIGlzIDEuIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwibXF0dC1xb3MiOiJRb1MiLCJtcXR0LXFvcy1yZXF1aXJlZCI6IlFvUyBpcyByZXF1aXJlZCIsIm1xdHQtcW9zLXJhbmdlIjoiUW9TIHZhbHVlcyByYW5nZSBpcyBmcm9tIDAgdG8gMSIsInRscy1wYXRoLXByaXZhdGUta2V5IjoiUGF0aCB0byBwcml2YXRlIGtleSBvbiBnYXRld2F5IiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiJUb2dnbGUgZnVsbHNjcmVlbiIsInRyYW5zZm9ybWVyLWpzb24tY29uZmlnIjoiQ29uZmlndXJhdGlvbiBKU09OKiIsInVwZGF0ZS1jb25maWciOiJBZGQvdXBkYXRlIGNvbmZpZ3VyYXRpb24gSlNPTiIsaGludHM6eyJyZW1vdGUtY29uZmlndXJhdGlvbiI6IkVuYWJsZXMgcmVtb3RlIGNvbmZpZ3VyYXRpb24gYW5kIG1hbmFnZW1lbnQgb2YgdGhlIGdhdGV3YXkiLCJyZW1vdGUtc2hlbGwiOiJFbmFibGVzIHJlbW90ZSBjb250cm9sIG9mIHRoZSBvcGVyYXRpbmcgc3lzdGVtIHdpdGggdGhlIGdhdGV3YXkgZnJvbSB0aGUgUmVtb3RlIFNoZWxsIHdpZGdldCIsaG9zdDoiSG9zdG5hbWUgb3IgSVAgYWRkcmVzcyBvZiBUaGluZ3NCb2FyZCBzZXJ2ZXIiLHBvcnQ6IlBvcnQgb2YgTVFUVCBzZXJ2aWNlIG9uIFRoaW5nc0JvYXJkIHNlcnZlciIsdG9rZW46IkFjY2VzcyB0b2tlbiBmb3IgdGhlIGdhdGV3YXkgZnJvbSBUaGluZ3NCb2FyZCBzZXJ2ZXIiLCJjbGllbnQtaWQiOiJNUVRUIGNsaWVudCBpZCBmb3IgdGhlIGdhdGV3YXkgZm9ybSBUaGluZ3NCb2FyZCBzZXJ2ZXIiLHVzZXJuYW1lOiJNUVRUIHVzZXJuYW1lIGZvciB0aGUgZ2F0ZXdheSBmb3JtIFRoaW5nc0JvYXJkIHNlcnZlciIscGFzc3dvcmQ6Ik1RVFQgcGFzc3dvcmQgZm9yIHRoZSBnYXRld2F5IGZvcm0gVGhpbmdzQm9hcmQgc2VydmVyIiwiY2EtY2VydCI6IlBhdGggdG8gQ0EgY2VydGlmaWNhdGUgZmlsZSIsImRhdGUtZm9ybSI6IkRhdGUgZm9ybWF0IGluIGxvZyBtZXNzYWdlIiwiZGF0YS1mb2xkZXIiOiJQYXRoIHRvIGZvbGRlciwgdGhhdCB3aWxsIGNvbnRhaW5zIGRhdGEgKFJlbGF0aXZlIG9yIEFic29sdXRlKSIsImxvZy1mb3JtYXQiOiJMb2cgbWVzc2FnZSBmb3JtYXQiLCJyZW1vdGUtbG9nIjoiRW5hYmxlcyByZW1vdGUgbG9nZ2luZyBhbmQgbG9ncyByZWFkaW5nIGZyb20gdGhlIGdhdGV3YXkiLCJiYWNrdXAtY291bnQiOiJJZiBiYWNrdXAgY291bnQgaXMgPiAwLCB3aGVuIGEgcm9sbG92ZXIgaXMgZG9uZSwgbm8gbW9yZSB0aGFuIGJhY2t1cCBjb3VudCBmaWxlcyBhcmUga2VwdCAtIHRoZSBvbGRlc3Qgb25lcyBhcmUgZGVsZXRlZCIsc3RvcmFnZToiUHJvdmlkZXMgY29uZmlndXJhdGlvbiBmb3Igc2F2aW5nIGluY29taW5nIGRhdGEgYmVmb3JlIGl0IGlzIHNlbnQgdG8gdGhlIHBsYXRmb3JtIiwibWF4LWZpbGUtY291bnQiOiJNYXhpbXVtIGNvdW50IG9mIGZpbGUgdGhhdCB3aWxsIGJlIGNyZWF0ZWQiLCJtYXgtcmVhZC1jb3VudCI6IkNvdW50IG9mIG1lc3NhZ2VzIHRvIGdldCBmcm9tIHN0b3JhZ2UgYW5kIHNlbmQgdG8gVGhpbmdzQm9hcmQiLCJtYXgtcmVjb3JkcyI6Ik1heGltdW0gY291bnQgb2YgcmVjb3JkcyB0aGF0IHdpbGwgYmUgc3RvcmVkIGluIG9uZSBmaWxlIiwicmVhZC1yZWNvcmQtY291bnQiOiJDb3VudCBvZiBtZXNzYWdlcyB0byBnZXQgZnJvbSBzdG9yYWdlIGFuZCBzZW5kIHRvIFRoaW5nc0JvYXJkIiwibWF4LXJlY29yZHMtY291bnQiOiJNYXhpbXVtIGNvdW50IG9mIGRhdGEgaW4gc3RvcmFnZSBiZWZvcmUgc2VuZCB0byBUaGluZ3NCb2FyZCIsInR0bC1jaGVjay1ob3VyIjoiSG93IG9mdGVuIHdpbGwgR2F0ZXdheSBjaGVjayBkYXRhIGZvciBvYnNvbGVzY2VuY2UiLCJ0dGwtbWVzc2FnZXMtZGF5IjoiTWF4aW11bSBkYXlzIHRoYXQgc3RvcmFnZSB3aWxsIHNhdmUgZGF0YSIsY29tbWFuZHM6IkNvbW1hbmRzIGZvciBjb2xsZWN0aW5nIGFkZGl0aW9uYWwgc3RhdGlzdGljIixhdHRyaWJ1dGU6IlN0YXRpc3RpYyB0ZWxlbWV0cnkga2V5Iix0aW1lb3V0OiJUaW1lb3V0IGZvciBjb21tYW5kIGV4ZWN1dGluZyIsY29tbWFuZDoiVGhlIHJlc3VsdCBvZiB0aGUgY29tbWFuZCBleGVjdXRpb24sIHdpbGwgYmUgdXNlZCBhcyB0aGUgdmFsdWUgZm9yIHRlbGVtZXRyeSIsImNoZWNrLWRldmljZS1hY3Rpdml0eSI6IkVuYWJsZXMgbW9uaXRvciB0aGUgYWN0aXZpdHkgb2YgZWFjaCBjb25uZWN0ZWQgZGV2aWNlIiwiaW5hY3Rpdml0eS10aW1lb3V0IjoiVGltZSBhZnRlciB3aG9zZSB0aGUgZ2F0ZXdheSB3aWxsIGRpc2Nvbm5lY3QgZGV2aWNlIiwiaW5hY3Rpdml0eS1wZXJpb2QiOiJQZXJpb2RpY2l0eSBvZiBkZXZpY2UgYWN0aXZpdHkgY2hlY2siLCJtaW5pbWFsLXBhY2stZGVsYXkiOiJEZWxheSBiZXR3ZWVuIHNlbmRpbmcgcGFja3Mgb2YgbWVzc2FnZXMgKERlY3JlYXNpbmcgdGhpcyBzZXR0aW5nIHJlc3VsdHMgaW4gaW5jcmVhc2VkIENQVSB1c2FnZSkiLHFvczoiUXVhbGl0eSBvZiBTZXJ2aWNlIGluIE1RVFQgbWVzc2FnaW5nICgwIC0gYXQgbW9zdCBvbmNlLCAxIC0gYXQgbGVhc3Qgb25jZSkiLCJzZXJ2ZXItcG9ydCI6Ik5ldHdvcmsgcG9ydCBvbiB3aGljaCBHUlBDIHNlcnZlciB3aWxsIGxpc3RlbiBmb3IgaW5jb21pbmcgY29ubmVjdGlvbnMuIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQiOiJNYXhpbXVtIHRpbWUgdGhlIHNlcnZlciBzaG91bGQgd2FpdCBmb3IgYSBrZWVwYWxpdmUgcGluZyByZXNwb25zZSBiZWZvcmUgY29uc2lkZXJpbmcgdGhlIGNvbm5lY3Rpb24gZGVhZC4iLCJncnBjLWtlZXAtYWxpdmUiOiJEdXJhdGlvbiBiZXR3ZWVuIHR3byBzdWNjZXNzaXZlIGtlZXBhbGl2ZSBwaW5nIG1lc3NhZ2VzIHdoZW4gdGhlcmUgaXMgbm8gYWN0aXZlIFJQQyBjYWxsLiIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncyI6Ik1pbmltdW0gYW1vdW50IG9mIHRpbWUgdGhlIHNlcnZlciBzaG91bGQgd2FpdCBiZXR3ZWVuIHNlbmRpbmcga2VlcGFsaXZlIHBpbmcgbWVzc2FnZXMiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEiOiJNYXhpbXVtIG51bWJlciBvZiBrZWVwYWxpdmUgcGluZyBtZXNzYWdlcyB0aGF0IHRoZSBzZXJ2ZXIgY2FuIHNlbmQgd2l0aG91dCByZWNlaXZpbmcgYW55IGRhdGEgYmVmb3JlIGl0IGNvbnNpZGVycyB0aGUgY29ubmVjdGlvbiBkZWFkLiIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhIjoiTWluaW11bSBhbW91bnQgb2YgdGltZSB0aGUgc2VydmVyIHNob3VsZCB3YWl0IGJldHdlZW4gc2VuZGluZyBrZWVwYWxpdmUgcGluZyBtZXNzYWdlcyB3aGVuIHRoZXJlIGlzIG5vIGRhdGEgYmVpbmcgc2VudCBvciByZWNlaXZlZC4iLCJwZXJtaXQtd2l0aG91dC1jYWxscyI6IkFsbG93IHNlcnZlciB0byBrZWVwIHRoZSBHUlBDIGNvbm5lY3Rpb24gYWxpdmUgZXZlbiB3aGVuIHRoZXJlIGFyZSBubyBhY3RpdmUgUlBDIGNhbGxzLiJ9fSxXbz17ImFkZC1lbnRyeSI6IkNvbmZpZ3VyYXRpZSB0b2V2b2VnZW4iLCJjb25uZWN0b3ItYWRkIjoiTmlldXdlIGNvbm5lY3RvciB0b2V2b2VnZW4iLCJjb25uZWN0b3ItZW5hYmxlZCI6IkNvbm5lY3RvciBpbnNjaGFrZWxlbiIsImNvbm5lY3Rvci1uYW1lIjoiTmFhbSB2YW4gZGUgY29ubmVjdG9yIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiJEZSBuYWFtIHZhbiBkZSBjb25uZWN0b3IgaXMgdmVyZWlzdC4iLCJjb25uZWN0b3ItdHlwZSI6IlR5cGUgYWFuc2x1aXRpbmciLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IkhldCB0eXBlIGNvbm5lY3RvciBpcyB2ZXJlaXN0LiIsY29ubmVjdG9yczoiQ29uZmlndXJhdGllIHZhbiBjb25uZWN0b3JlbiIsImNyZWF0ZS1uZXctZ2F0ZXdheSI6IkVlbiBuaWV1d2UgZ2F0ZXdheSBtYWtlbiIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiV2VldCB1IHpla2VyIGRhdCB1IGVlbiBuaWV1d2UgZ2F0ZXdheSB3aWx0IG1ha2VuIG1ldCBkZSBuYWFtOiAne3tnYXRld2F5TmFtZX19Jz8iLGRlbGV0ZToiQ29uZmlndXJhdGllIHZlcndpamRlcmVuIiwiZG93bmxvYWQtdGlwIjoiQ29uZmlndXJhdGllYmVzdGFuZCBkb3dubG9hZGVuIixnYXRld2F5OiJHYXRld2F5IiwiZ2F0ZXdheS1leGlzdHMiOiJEZXZpY2UgbWV0IGRlemVsZmRlIG5hYW0gYmVzdGFhdCBhbC4iLCJnYXRld2F5LW5hbWUiOiJOYWFtIHZhbiBkZSBnYXRld2F5IiwiZ2F0ZXdheS1uYW1lLXJlcXVpcmVkIjoiRGUgbmFhbSB2YW4gZGUgZ2F0ZXdheSBpcyB2ZXJlaXN0LiIsImdhdGV3YXktc2F2ZWQiOiJHYXRld2F5Y29uZmlndXJhdGllIHN1Y2Nlc3ZvbCBvcGdlc2xhZ2VuLiIsImpzb24tcGFyc2UiOiJPbmdlbGRpZ2UgSlNPTi4iLCJqc29uLXJlcXVpcmVkIjoiSGV0IHZlbGQgbWFnIG5pZXQgbGVlZyB6aWpuLiIsIm5vLWNvbm5lY3RvcnMiOiJHZWVuIGNvbm5lY3RvcmVuIiwibm8tZGF0YSI6IkdlZW4gY29uZmlndXJhdGllcyIsIm5vLWdhdGV3YXktZm91bmQiOiJHZWVuIGdhdGV3YXkgZ2V2b25kZW4uIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6Iid7e2l0ZW19fScgbmlldCBnZXZvbmRlbi4iLCJwYXRoLWxvZ3MiOiJQYWQgbmFhciBsb2diZXN0YW5kZW4iLCJwYXRoLWxvZ3MtcmVxdWlyZWQiOiJQYWQgaXMgdmVyZWlzdC4iLHJlbW90ZToiQ29uZmlndXJhdGllIG9wIGFmc3RhbmQiLCJyZW1vdGUtbG9nZ2luZy1sZXZlbCI6IlJlZ2lzdHJhdGllIG5pdmVhdSIsInJlbW92ZS1lbnRyeSI6IkNvbmZpZ3VyYXRpZSB2ZXJ3aWpkZXJlbiIsInNhdmUtdGlwIjoiQ29uZmlndXJhdGllYmVzdGFuZCBvcHNsYWFuIiwic2VjdXJpdHktdHlwZSI6IlNvb3J0IGJldmVpbGlnaW5nIiwic2VjdXJpdHktdHlwZXMiOnsiYWNjZXNzLXRva2VuIjoiVG9lZ2FuZyB0b3QgdG9rZW4iLHRsczoiVExTIChUTFMpIn0sc3RvcmFnZToiT3BzbGFnIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoiTWF4aW11bSBhYW50YWwgcmVjb3JkcyBpbiBiZXN0YW5kIiwic3RvcmFnZS1tYXgtZmlsZXMiOiJNYXhpbWFhbCBhYW50YWwgYmVzdGFuZGVuIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoiTWluaW11bSBhYW50YWwgaXMgMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiTnVtbWVyIGlzIG5pZXQgZ2VsZGlnLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXJlcXVpcmVkIjoiTnVtbWVyIGlzIHZlcmVpc3QuIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik1heGltdW0gYWFudGFsIHJlY29yZHMgaW4gb3BzbGFnIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1taW4iOiJNaW5pbXVtIGFhbnRhbCByZWNvcmRzIGlzIDEuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoiTnVtbWVyIGlzIG5pZXQgZ2VsZGlnLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJNYXhpbWFsZSByZWNvcmRzIHppam4gdmVyZWlzdC4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6Ik1heGltYWxlIHBha2tldGdyb290dGUgdm9vciBldmVudHMiLCJzdG9yYWdlLXBhY2stc2l6ZS1taW4iOiJNaW5pbXVtIGFhbnRhbCBpcyAxLiIsInN0b3JhZ2UtcGFjay1zaXplLXBhdHRlcm4iOiJOdW1tZXIgaXMgbmlldCBnZWxkaWcuIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiJEZSBtYXhpbWFsZSBwYWtrZXRncm9vdHRlIHZhbiBoZXQgZXZlbnQgaXMgdmVyZWlzdC4iLCJzdG9yYWdlLXBhdGgiOiJPcHNsYWcgcGFkIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoiT3BzbGFncGFkIGlzIHZlcmVpc3QuIiwic3RvcmFnZS10eXBlIjoiVHlwZSBvcHNsYWciLCJzdG9yYWdlLXR5cGVzIjp7ImZpbGUtc3RvcmFnZSI6Ik9wc2xhZyB2YW4gYmVzdGFuZGVuIiwibWVtb3J5LXN0b3JhZ2UiOiJHZWhldWdlbiBvcHNsYWcifSx0aGluZ3Nib2FyZDoiRGluZ2VuIEJvcmQiLCJ0aGluZ3Nib2FyZC1ob3N0IjoiVGhpbmdzQm9hcmQtZ2FzdGhlZXIiLCJ0aGluZ3Nib2FyZC1ob3N0LXJlcXVpcmVkIjoiU2VydmVyIGhvc3QgaXMgdmVyZWlzdC4iLCJ0aGluZ3Nib2FyZC1wb3J0IjoiVGhpbmdzQm9hcmQtcG9vcnQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6IkhldCBtYXhpbWFsZSBwb29ydG51bW1lciBpcyA2NTUzNS4iLCJ0aGluZ3Nib2FyZC1wb3J0LW1pbiI6IkhldCBtaW5pbWFsZSBwb29ydG51bW1lciBpcyAxLiIsInRoaW5nc2JvYXJkLXBvcnQtcGF0dGVybiI6IlBvb3J0IGlzIG5pZXQgZ2VsZGlnLiIsInRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWQiOiJQb29ydCBpcyB2ZXJlaXN0LiIsdGlkeToiT3JkZWxpamsiLCJ0aWR5LXRpcCI6Ik9wZ2VydWltZGUgY29uZmlndXJhdGllIEpTT04iLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiJDb25maWd1cmF0aWUgdmFuIGNvbm5lY3RvciB7e3R5cGVOYW1lfX0iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IlBhZCBuYWFyIENBLWNlcnRpZmljYWF0IG9wIGdhdGV3YXkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiJQYWQgbmFhciBjbGllbnRjZXJ0aWZpY2FhdCBvcCBnYXRld2F5IiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiJQYWQgbmFhciBwcml2w6lzbGV1dGVsIG9wIGdhdGV3YXkiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlZvbGxlZGlnIHNjaGVybSBpbi0gZW4gdWl0c2NoYWtlbGVuIiwidHJhbnNmb3JtZXItanNvbi1jb25maWciOiJDb25maWd1cmF0aWUgSlNPTioiLCJ1cGRhdGUtY29uZmlnIjoiQ29uZmlndXJhdGllIEpTT04gdG9ldm9lZ2VuL2JpandlcmtlbiJ9LGpvPXsiYWRkLWVudHJ5IjoiRG9kYWoga29uZmlndXJhY2rEmSIsYWR2YW5jZWQ6IkFkdmFuY2VkIiwiY2hlY2tpbmctZGV2aWNlLWFjdGl2aXR5IjoiQ2hlY2tpbmcgZGV2aWNlIGFjdGl2aXR5Iixjb21tYW5kOiJEb2NrZXIgY29tbWFuZHMiLCJjb21tYW5kLWNvcGllZC1tZXNzYWdlIjoiRG9ja2VyIGNvbW1hbmQgaGFzIGJlZW4gY29waWVkIHRvIGNsaXBib2FyZCIsY29uZmlndXJhdGlvbjoiQ29uZmlndXJhdGlvbiIsImNvbm5lY3Rvci1hZGQiOiJEb2RhaiBub3dlIHrFgsSFY3plIiwiY29ubmVjdG9yLWVuYWJsZWQiOiJXxYLEhWN6IHrFgsSFY3plIiwiY29ubmVjdG9yLW5hbWUiOiJOYXp3YSB6xYLEhWN6YSIsImNvbm5lY3Rvci1uYW1lLXJlcXVpcmVkIjoiTmF6d2EgesWCxIVjemEgamVzdCB3eW1hZ2FuYS4iLCJjb25uZWN0b3ItdHlwZSI6IlR5cCB6xYLEhWN6YSIsImNvbm5lY3Rvci10eXBlLXJlcXVpcmVkIjoiVHlwIHrFgsSFY3phIGplc3Qgd3ltYWdhbnkuIixjb25uZWN0b3JzOiJLb25maWd1cmFjamEgesWCxIVjenkiLCJjb25uZWN0b3JzLWNvbmZpZyI6IkNvbm5lY3RvcnMgY29uZmlndXJhdGlvbiIsImNvbm5lY3RvcnMtdGFibGUtZW5hYmxlZCI6IkVuYWJsZWQiLCJjb25uZWN0b3JzLXRhYmxlLW5hbWUiOiJOYW1lIiwiY29ubmVjdG9ycy10YWJsZS10eXBlIjoiVHlwZSIsImNvbm5lY3RvcnMtdGFibGUtc3RhdHVzIjoiU3RhdHVzIiwiY29ubmVjdG9ycy10YWJsZS1hY3Rpb25zIjoiQWN0aW9ucyIsImNvbm5lY3RvcnMtdGFibGUta2V5IjoiS2V5IiwiY29ubmVjdG9ycy10YWJsZS1jbGFzcyI6IkNsYXNzIiwicnBjLWNvbW1hbmQtc2VuZCI6IlNlbmQiLCJycGMtY29tbWFuZC1yZXN1bHQiOiJSZXN1bHQiLCJycGMtY29tbWFuZC1lZGl0LXBhcmFtcyI6IkVkaXQgcGFyYW1ldGVycyIsImdhdGV3YXktY29uZmlndXJhdGlvbiI6IkdlbmVyYWwgQ29uZmlndXJhdGlvbiIsImRvY2tlci1sYWJlbCI6IkluIG9yZGVyIHRvIHJ1biBUaGluZ3NCb2FyZCBJb1QgZ2F0ZXdheSBpbiBkb2NrZXIgd2l0aCBjcmVkZW50aWFscyBmb3IgdGhpcyBkZXZpY2UgeW91IGNhbiB1c2UgdGhlIGZvbGxvd2luZyBjb21tYW5kcy4iLCJjcmVhdGUtbmV3LWdhdGV3YXkiOiJVdHfDs3J6IG5vd3kgZ2F0ZXdheSIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiQ3p5IG5hIHBld25vIGNoY2VzeiB1dHdvcnp5xIcgbm93eSBnYXRld2F5IG8gbmF6d2llOiAne3tnYXRld2F5TmFtZX19Jz8iLCJjcmVhdGVkLXRpbWUiOiJDcmVhdGVkIHRpbWUiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaGVhZGVyIjoiQ29uZmlndXJhdGlvbnMgd2lsbCBiZSBkZWxldGVkIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWJvZHkiOiJUdXJuaW5nIG9mZiBSZW1vdGUgQ29uZmlndXJhdGlvbiBpcyBwb3NzaWJsZSBvbmx5IGlmIHRoZXJlIGlzIHBoeXNpY2FsIGFjY2VzcyB0byB0aGUgR2F0ZXdheS4gQWxsIHByZXZpb3VzIGNvbmZpZ3VyYXRpb25zIHdpbGwgYmUgZGVsZXRlZC48YnI+PGJyPiBcblRvIHR1cm4gb2ZmIGNvbmZpZ3VyYXRpb24sIGVudGVyIGdhdGV3YXkgbmFtZSBiZWxvdyIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1pbnB1dCI6IkdhdGV3YXkgbmFtZSIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1pbnB1dC1yZXF1aXJlZCI6IkdhdGV3YXkgbmFtZSBpcyBtYW5kYXRvcnkiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctY29uZmlybSI6IlR1cm4gT2ZmIixkZWxldGU6IlVzdcWEIGtvbmZpZ3VyYWNqxJkiLCJkb3dubG9hZC10aXAiOiJQb2JpZXJ6IHBsaWsga29uZmlndXJhY3lqbnkiLCJkcm9wLWZpbGUiOiJEcm9wIGZpbGUgaGVyZSBvciIsZ2F0ZXdheToiV2VqxZtjaWUiLCJnYXRld2F5LWV4aXN0cyI6IlVyesSFZHplbmllIG8gdGVqIHNhbWVqIG5hendpZSBqdcW8IGlzdG5pZWplLiIsImdhdGV3YXktbmFtZSI6Ik5hendhIEdhdGV3YXkiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJOYXp3YSBHYXRld2F5J2EgamVzdCB3eW1hZ2FuYS4iLCJnYXRld2F5LXNhdmVkIjoiS29uZmlndXJhY2phIEdhdGV3ZXknYSB6b3N0YcWCYSBwb215xZtsbmllIHphcGlzYW5hLiIsZ3JwYzoiR1JQQyIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0IjoiS2VlcCBhbGl2ZSB0aW1lb3V0IChpbiBtcykiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dC1yZXF1aXJlZCI6IktlZXAgYWxpdmUgdGltZW91dCBpcyByZXF1aXJlZCIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LW1pbiI6IktlZXAgYWxpdmUgdGltZW91dCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcGF0dGVybiI6IktlZXAgYWxpdmUgdGltZW91dCBpcyBub3QgdmFsaWQiLCJncnBjLWtlZXAtYWxpdmUiOiJLZWVwIGFsaXZlIChpbiBtcykiLCJncnBjLWtlZXAtYWxpdmUtcmVxdWlyZWQiOiJLZWVwIGFsaXZlIGlzIHJlcXVpcmVkIiwiZ3JwYy1rZWVwLWFsaXZlLW1pbiI6IktlZXAgYWxpdmUgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMta2VlcC1hbGl2ZS1wYXR0ZXJuIjoiS2VlcCBhbGl2ZSBpcyBub3QgdmFsaWQiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MiOiJNaW4gdGltZSBiZXR3ZWVuIHBpbmdzIChpbiBtcykiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcmVxdWlyZWQiOiJNaW4gdGltZSBiZXR3ZWVuIHBpbmdzIGlzIHJlcXVpcmVkIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLW1pbiI6Ik1pbiB0aW1lIGJldHdlZW4gcGluZ3MgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1wYXR0ZXJuIjoiTWluIHRpbWUgYmV0d2VlbiBwaW5ncyBpcyBub3QgdmFsaWQiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YSI6Ik1pbiBwaW5nIGludGVydmFsIHdpdGhvdXQgZGF0YSAoaW4gbXMpIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcmVxdWlyZWQiOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgaXMgcmVxdWlyZWQiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1taW4iOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgaXMgbm90IHZhbGlkIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoiTWF4IHBpbmdzIHdpdGhvdXQgZGF0YSIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6Ik1heCBwaW5ncyB3aXRob3V0IGRhdGEgaXMgcmVxdWlyZWQiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtbWluIjoiTWF4IHBpbmdzIHdpdGhvdXQgZGF0YSBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiJNYXggcGluZ3Mgd2l0aG91dCBkYXRhIGlzIG5vdCB2YWxpZCIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMiOiJJbmFjdGl2aXR5IGNoZWNrIHBlcmlvZCAoaW4gc2VjKSIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcmVxdWlyZWQiOiJJbmFjdGl2aXR5IGNoZWNrIHBlcmlvZCBpcyByZXF1aXJlZCIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtbWluIjoiSW5hY3Rpdml0eSBjaGVjayBwZXJpb2QgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcGF0dGVybiI6IkluYWN0aXZpdHkgY2hlY2sgcGVyaW9kIGlzIG5vdCB2YWxpZCIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzIjoiSW5hY3Rpdml0eSB0aW1lb3V0IChpbiBzZWMpIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcmVxdWlyZWQiOiJJbmFjdGl2aXR5IHRpbWVvdXQgaXMgcmVxdWlyZWQiLCJpbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1taW4iOiJJbmFjdGl2aXR5IHRpbWVvdXQgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLXBhdHRlcm4iOiJJbmFjdGl2aXR5IHRpbWVvdXQgaXMgbm90IHZhbGlkIiwianNvbi1wYXJzZSI6Ik5pZXByYXdpZMWCb3d5IEpTT04uIiwianNvbi1yZXF1aXJlZCI6IlBvbGUgbmllIG1vxbxlIGJ5xIcgcHVzdGUuIixsb2dzOntsb2dzOiJMb2dzIixkYXlzOiJkYXlzIixob3VyczoiaG91cnMiLG1pbnV0ZXM6Im1pbnV0ZXMiLHNlY29uZHM6InNlY29uZHMiLCJkYXRlLWZvcm1hdCI6IkRhdGUgZm9ybWF0IiwiZGF0ZS1mb3JtYXQtcmVxdWlyZWQiOiJEYXRlIGZvcm1hdCByZXF1aXJlZCIsImxvZy1mb3JtYXQiOiJMb2cgZm9ybWF0IiwibG9nLXR5cGUiOiJMb2cgdHlwZSIsImxvZy1mb3JtYXQtcmVxdWlyZWQiOiJMb2cgZm9ybWF0IHJlcXVpcmVkIixyZW1vdGU6IlJlbW90ZSBsb2dnaW5nIiwicmVtb3RlLWxvZ3MiOiJSZW1vdGUgbG9ncyIsbG9jYWw6IkxvY2FsIGxvZ2dpbmciLGxldmVsOiJMb2cgbGV2ZWwiLCJmaWxlLXBhdGgiOiJGaWxlIHBhdGgiLCJmaWxlLXBhdGgtcmVxdWlyZWQiOiJGaWxlIHBhdGggcmVxdWlyZWQiLCJzYXZpbmctcGVyaW9kIjoiTG9nIHNhdmluZyBwZXJpb2QiLCJzYXZpbmctcGVyaW9kLW1pbiI6IkxvZyBzYXZpbmcgcGVyaW9kIGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJzYXZpbmctcGVyaW9kLXJlcXVpcmVkIjoiTG9nIHNhdmluZyBwZXJpb2QgcmVxdWlyZWQiLCJiYWNrdXAtY291bnQiOiJCYWNrdXAgY291bnQiLCJiYWNrdXAtY291bnQtbWluIjoiQmFja3VwIGNvdW50IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJiYWNrdXAtY291bnQtcmVxdWlyZWQiOiJCYWNrdXAgY291bnQgcmVxdWlyZWQifSwibWluLXBhY2stc2VuZC1kZWxheSI6Ik1pbiBwYWNrIHNlbmQgZGVsYXkgKGluIG1zKSIsIm1pbi1wYWNrLXNlbmQtZGVsYXktcmVxdWlyZWQiOiJNaW4gcGFjayBzZW5kIGRlbGF5IGlzIHJlcXVpcmVkIiwibWluLXBhY2stc2VuZC1kZWxheS1taW4iOiJNaW4gcGFjayBzZW5kIGRlbGF5IGNhbiBub3QgYmUgbGVzcyB0aGVuIDAiLCJuby1jb25uZWN0b3JzIjoiQnJhayB6xYLEhWN6eSIsIm5vLWRhdGEiOiJCcmFrIGtvbmZpZ3VyYWNqaSIsIm5vLWdhdGV3YXktZm91bmQiOiJOaWUgem5hbGV6aW9ubyBnYXRld2F5J2EuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5pZSB6bmFsZXppb25vLiIsInBhdGgtbG9ncyI6IsWaY2llxbxrYSBkbyBwbGlrw7N3IGR6aWVubmlrYSIsInBhdGgtbG9ncy1yZXF1aXJlZCI6IsWaY2llxbxrYSBqZXN0IHd5bWFnYW5hLiIsInBlcm1pdC13aXRob3V0LWNhbGxzIjoiS2VlcCBhbGl2ZSBwZXJtaXQgd2l0aG91dCBjYWxscyIscmVtb3RlOiJaZGFsbmEga29uZmlndXJhY2phIiwicmVtb3RlLWxvZ2dpbmctbGV2ZWwiOiJQb3ppb20gbG9nb3dhbmlhIiwicmVtb3ZlLWVudHJ5IjoiVXN1xYQga29uZmlndXJhY2rEmSIsInJlbW90ZS1zaGVsbCI6IlJlbW90ZSBzaGVsbCIsInJlbW90ZS1jb25maWd1cmF0aW9uIjoiUmVtb3RlIENvbmZpZ3VyYXRpb24iLG90aGVyOiJPdGhlciIsInNhdmUtdGlwIjoiWmFwaXN6IHBsaWsga29uZmlndXJhY3lqbnkiLCJzZWN1cml0eS10eXBlIjoiUm9kemFqIHphYmV6cGllY3plbmlhIiwic2VjdXJpdHktdHlwZXMiOnsiYWNjZXNzLXRva2VuIjoiVG9rZW4gZG9zdMSZcHUiLCJ1c2VybmFtZS1wYXNzd29yZCI6IlVzZXJuYW1lIGFuZCBQYXNzd29yZCIsdGxzOiJUTFMiLCJ0bHMtYWNjZXNzLXRva2VuIjoiVExTICsgQWNjZXNzIFRva2VuIiwidGxzLXByaXZhdGUta2V5IjoiVExTICsgUHJpdmF0ZSBLZXkifSwic2VydmVyLXBvcnQiOiJTZXJ2ZXIgcG9ydCIsc3RhdGlzdGljczp7c3RhdGlzdGljOiJTdGF0aXN0aWMiLHN0YXRpc3RpY3M6IlN0YXRpc3RpY3MiLCJzdGF0aXN0aWMtY29tbWFuZHMtZW1wdHkiOiJObyBzdGF0aXN0aWNzIGF2YWlsYWJsZSIsY29tbWFuZHM6IkNvbW1hbmRzIiwic2VuZC1wZXJpb2QiOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgKGluIHNlYykiLCJzZW5kLXBlcmlvZC1yZXF1aXJlZCI6IlN0YXRpc3RpYyBzZW5kIHBlcmlvZCBpcyByZXF1aXJlZCIsInNlbmQtcGVyaW9kLW1pbiI6IlN0YXRpc3RpYyBzZW5kIHBlcmlvZCBjYW4gbm90IGJlIGxlc3MgdGhlbiA2MCIsInNlbmQtcGVyaW9kLXBhdHRlcm4iOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgaXMgbm90IHZhbGlkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uIjoiQ2hlY2sgY29ubmVjdG9ycyBjb25maWd1cmF0aW9uIChpbiBzZWMpIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXJlcXVpcmVkIjoiQ2hlY2sgY29ubmVjdG9ycyBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLW1pbiI6IkNoZWNrIGNvbm5lY3RvcnMgY29uZmlndXJhdGlvbiBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXBhdHRlcm4iOiJDaGVjayBjb25uZWN0b3JzIGNvbmZpZ3VyYXRpb24gaXMgbm90IHZhbGlkIixhZGQ6IkFkZCBjb21tYW5kIix0aW1lb3V0OiJUaW1lb3V0IiwidGltZW91dC1tcyI6IlRpbWVvdXQgKGluIG1zKSIsInRpbWVvdXQtcmVxdWlyZWQiOiJUaW1lb3V0IGlzIHJlcXVpcmVkIiwidGltZW91dC1taW4iOiJUaW1lb3V0IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJ0aW1lb3V0LXBhdHRlcm4iOiJUaW1lb3V0IGlzIG5vdCB2YWxpZCIsImF0dHJpYnV0ZS1uYW1lIjoiQXR0cmlidXRlIG5hbWUiLCJhdHRyaWJ1dGUtbmFtZS1yZXF1aXJlZCI6IkF0dHJpYnV0ZSBuYW1lIGlzIHJlcXVpcmVkIixjb21tYW5kOiJDb21tYW5kIiwiY29tbWFuZC1yZXF1aXJlZCI6IkNvbW1hbmQgaXMgcmVxdWlyZWQiLHJlbW92ZToiUmVtb3ZlIGNvbW1hbmQifSxzdG9yYWdlOiJTa8WCYWRvd2FuaWUiLCJzdG9yYWdlLW1heC1maWxlLXJlY29yZHMiOiJNYWtzeW1hbG5hIGxpY3piYSByZWtvcmTDs3cgdyBwbGlrdSIsInN0b3JhZ2UtbWF4LWZpbGVzIjoiTWFrc3ltYWxuYSBsaWN6YmEgcGxpa8OzdyIsInN0b3JhZ2UtbWF4LWZpbGVzLW1pbiI6Ik1pbmltYWxuYSBsaWN6YmEgdG8gMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiTnVtZXIgamVzdCBuaWVwcmF3aWTFgm93eS4iLCJzdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZCI6Ik51bWVyIGplc3Qgd3ltYWdhbnkuIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik1ha3N5bWFsbmEgbGljemJhIHJla29yZMOzdyB3IHBhbWnEmWNpIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1taW4iOiJNaW5pbWFsbmEgbGljemJhIHJla29yZMOzdyB0byAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6Ik51bWVyIGplc3QgbmllcHJhd2lkxYJvd3kuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1yZXF1aXJlZCI6Ik1ha3N5bWFsbmEgbGljemJhIHJla29yZMOzdyBqZXN0IHd5bWFnYW5hLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQiOiJSZWFkIHJlY29yZCBjb3VudCBpbiBzdG9yYWdlIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1taW4iOiJNaW5pbXVtIG51bWJlciBvZiByZWNvcmRzIGlzIDEuIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkIjoiUmVhZCByZWNvcmQgY291bnQgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQiOiJNYXggcmVhZCByZWNvcmQgY291bnQgaW4gc3RvcmFnZSIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LW1pbiI6Ik1pbmltdW0gbnVtYmVyIG9mIHJlY29yZHMgaXMgMS4iLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1yZXF1aXJlZCI6Ik1heCBSZWFkIHJlY29yZCBjb3VudCBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLWRhdGEtZm9sZGVyLXBhdGgiOiJEYXRhIGZvbGRlciBwYXRoIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoLXJlcXVpcmVkIjoiRGF0YSBmb2xkZXIgcGF0aCBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6Ik1ha3N5bWFsbnkgcm96bWlhciBwYWtpZXR1IHd5ZGFyemXFhCIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6Ik1pbmltYWxuYSBsaWN6YmEgdG8gMS4iLCJzdG9yYWdlLXBhY2stc2l6ZS1wYXR0ZXJuIjoiTnVtZXIgamVzdCBuaWVwcmF3aWTFgm93eS4iLCJzdG9yYWdlLXBhY2stc2l6ZS1yZXF1aXJlZCI6Ik1ha3N5bWFsbnkgcm96bWlhciBwYWtpZXR1IHd5ZGFyemXFhCBqZXN0IHd5bWFnYW55LiIsInN0b3JhZ2UtcGF0aCI6IsWaY2llxbxrYSBwcnplY2hvd3l3YW5pYSIsInN0b3JhZ2UtcGF0aC1yZXF1aXJlZCI6IsWaY2llxbxrYSBkbyBwcnplY2hvd3l3YW5pYSBqZXN0IHd5bWFnYW5hLiIsInN0b3JhZ2UtdHlwZSI6IlR5cCBza8WCYWRvd2FuaWEiLCJzdG9yYWdlLXR5cGVzIjp7ImZpbGUtc3RvcmFnZSI6Ik5vxZtuaWsgZGFueWNoIiwibWVtb3J5LXN0b3JhZ2UiOiJQcnplY2hvd3l3YW5pZSBwYW1pxJljaSIsc3FsaXRlOiJTUUxJVEUifSx0aGluZ3Nib2FyZDoiVGhpbmdzQm9hcmQiLGdlbmVyYWw6IkdlbmVyYWwiLCJ0aGluZ3Nib2FyZC1ob3N0IjoiR29zcG9kYXJ6IFRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6Ikhvc3QgamVzdCB3eW1hZ2FueS4iLCJ0aGluZ3Nib2FyZC1wb3J0IjoiUG9ydCBUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLXBvcnQtbWF4IjoiTWFrc3ltYWxueSBudW1lciBwb3J0dSB0byA2NTUzNS4iLCJ0aGluZ3Nib2FyZC1wb3J0LW1pbiI6Ik1pbmltYWxueSBudW1lciBwb3J0dSB0byAxLiIsInRoaW5nc2JvYXJkLXBvcnQtcGF0dGVybiI6IlBvcnQgamVzdCBuaWVwcmF3aWTFgm93eS4iLCJ0aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkIjoiUG9ydCBqZXN0IHd5bWFnYW55LiIsdGlkeToiVXBvcnrEhWRrdWoiLCJ0aWR5LXRpcCI6IlVwb3J6xIVka293YW5hIGtvbmZpZ3VyYWNqYSBKU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoiWsWCxIVjemUge3t0eXBlTmFtZX19IGtvbmZpZ3VyYWNqYSIsInRscy1wYXRoLWNhLWNlcnRpZmljYXRlIjoixZpjaWXFvGthIGRvIGNlcnR5ZmlrYXR1IENBIG5hIGdhdGV3YXkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiLFmmNpZcW8a2EgZG8gY2VydHlmaWthdHUga2xpZW50YSBuYSBnYXRld2F5IiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzIjoiTWVzc2FnZXMgVFRMIGNoZWNrIGluIGhvdXJzIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXJlcXVpcmVkIjoiTWVzc2FnZXMgVFRMIGNoZWNrIGluIGhvdXJzIGlzIHJlcXVpcmVkLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1taW4iOiJNaW4gbnVtYmVyIGlzIDEuIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsIm1lc3NhZ2VzLXR0bC1pbi1kYXlzIjoiTWVzc2FnZXMgVFRMIGluIGRheXMiLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1yZXF1aXJlZCI6Ik1lc3NhZ2VzIFRUTCBpbiBkYXlzIGlzIHJlcXVpcmVkLiIsIm1lc3NhZ2VzLXR0bC1pbi1kYXlzLW1pbiI6Ik1pbiBudW1iZXIgaXMgMS4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJtcXR0LXFvcyI6IlFvUyIsIm1xdHQtcW9zLXJlcXVpcmVkIjoiUW9TIGlzIHJlcXVpcmVkIiwibXF0dC1xb3MtcmFuZ2UiOiJRb1MgdmFsdWVzIHJhbmdlIGlzIGZyb20gMCB0byAxIiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiLFmmNpZcW8a2EgZG8ga2x1Y3phIHByeXdhdG5lZ28gbmEgYnJhbWNlIiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiJQcnplxYLEhWN6IHRyeWIgcGXFgm5vZWtyYW5vd3kiLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IktvbmZpZ3VyYWNqYSBKU09OKiIsInVwZGF0ZS1jb25maWciOiJEb2Rhai96YWt0dWFsaXp1aiBrb25maWd1cmFjasSZIEpTT04iLGhpbnRzOnsicmVtb3RlLWNvbmZpZ3VyYXRpb24iOiJFbmFibGVzIHJlbW90ZSBjb25maWd1cmF0aW9uIGFuZCBtYW5hZ2VtZW50IG9mIHRoZSBnYXRld2F5IiwicmVtb3RlLXNoZWxsIjoiRW5hYmxlcyByZW1vdGUgY29udHJvbCBvZiB0aGUgb3BlcmF0aW5nIHN5c3RlbSB3aXRoIHRoZSBnYXRld2F5IGZyb20gdGhlIFJlbW90ZSBTaGVsbCB3aWRnZXQiLGhvc3Q6Ikhvc3RuYW1lIG9yIElQIGFkZHJlc3Mgb2YgVGhpbmdzQm9hcmQgc2VydmVyIixwb3J0OiJQb3J0IG9mIE1RVFQgc2VydmljZSBvbiBUaGluZ3NCb2FyZCBzZXJ2ZXIiLHRva2VuOiJBY2Nlc3MgdG9rZW4gZm9yIHRoZSBnYXRld2F5IGZyb20gVGhpbmdzQm9hcmQgc2VydmVyIiwiY2xpZW50LWlkIjoiTVFUVCBjbGllbnQgaWQgZm9yIHRoZSBnYXRld2F5IGZvcm0gVGhpbmdzQm9hcmQgc2VydmVyIix1c2VybmFtZToiTVFUVCB1c2VybmFtZSBmb3IgdGhlIGdhdGV3YXkgZm9ybSBUaGluZ3NCb2FyZCBzZXJ2ZXIiLHBhc3N3b3JkOiJNUVRUIHBhc3N3b3JkIGZvciB0aGUgZ2F0ZXdheSBmb3JtIFRoaW5nc0JvYXJkIHNlcnZlciIsImNhLWNlcnQiOiJQYXRoIHRvIENBIGNlcnRpZmljYXRlIGZpbGUiLCJkYXRlLWZvcm0iOiJEYXRlIGZvcm1hdCBpbiBsb2cgbWVzc2FnZSIsImRhdGEtZm9sZGVyIjoiUGF0aCB0byBmb2xkZXIsIHRoYXQgd2lsbCBjb250YWlucyBkYXRhIChSZWxhdGl2ZSBvciBBYnNvbHV0ZSkiLCJsb2ctZm9ybWF0IjoiTG9nIG1lc3NhZ2UgZm9ybWF0IiwicmVtb3RlLWxvZyI6IkVuYWJsZXMgcmVtb3RlIGxvZ2dpbmcgYW5kIGxvZ3MgcmVhZGluZyBmcm9tIHRoZSBnYXRld2F5IiwiYmFja3VwLWNvdW50IjoiSWYgYmFja3VwIGNvdW50IGlzID4gMCwgd2hlbiBhIHJvbGxvdmVyIGlzIGRvbmUsIG5vIG1vcmUgdGhhbiBiYWNrdXAgY291bnQgZmlsZXMgYXJlIGtlcHQgLSB0aGUgb2xkZXN0IG9uZXMgYXJlIGRlbGV0ZWQiLHN0b3JhZ2U6IlByb3ZpZGVzIGNvbmZpZ3VyYXRpb24gZm9yIHNhdmluZyBpbmNvbWluZyBkYXRhIGJlZm9yZSBpdCBpcyBzZW50IHRvIHRoZSBwbGF0Zm9ybSIsIm1heC1maWxlLWNvdW50IjoiTWF4aW11bSBjb3VudCBvZiBmaWxlIHRoYXQgd2lsbCBiZSBjcmVhdGVkIiwibWF4LXJlYWQtY291bnQiOiJDb3VudCBvZiBtZXNzYWdlcyB0byBnZXQgZnJvbSBzdG9yYWdlIGFuZCBzZW5kIHRvIFRoaW5nc0JvYXJkIiwibWF4LXJlY29yZHMiOiJNYXhpbXVtIGNvdW50IG9mIHJlY29yZHMgdGhhdCB3aWxsIGJlIHN0b3JlZCBpbiBvbmUgZmlsZSIsInJlYWQtcmVjb3JkLWNvdW50IjoiQ291bnQgb2YgbWVzc2FnZXMgdG8gZ2V0IGZyb20gc3RvcmFnZSBhbmQgc2VuZCB0byBUaGluZ3NCb2FyZCIsIm1heC1yZWNvcmRzLWNvdW50IjoiTWF4aW11bSBjb3VudCBvZiBkYXRhIGluIHN0b3JhZ2UgYmVmb3JlIHNlbmQgdG8gVGhpbmdzQm9hcmQiLCJ0dGwtY2hlY2staG91ciI6IkhvdyBvZnRlbiB3aWxsIEdhdGV3YXkgY2hlY2sgZGF0YSBmb3Igb2Jzb2xlc2NlbmNlIiwidHRsLW1lc3NhZ2VzLWRheSI6Ik1heGltdW0gZGF5cyB0aGF0IHN0b3JhZ2Ugd2lsbCBzYXZlIGRhdGEiLGNvbW1hbmRzOiJDb21tYW5kcyBmb3IgY29sbGVjdGluZyBhZGRpdGlvbmFsIHN0YXRpc3RpYyIsYXR0cmlidXRlOiJTdGF0aXN0aWMgdGVsZW1ldHJ5IGtleSIsdGltZW91dDoiVGltZW91dCBmb3IgY29tbWFuZCBleGVjdXRpbmciLGNvbW1hbmQ6IlRoZSByZXN1bHQgb2YgdGhlIGNvbW1hbmQgZXhlY3V0aW9uLCB3aWxsIGJlIHVzZWQgYXMgdGhlIHZhbHVlIGZvciB0ZWxlbWV0cnkiLCJjaGVjay1kZXZpY2UtYWN0aXZpdHkiOiJFbmFibGVzIG1vbml0b3IgdGhlIGFjdGl2aXR5IG9mIGVhY2ggY29ubmVjdGVkIGRldmljZSIsImluYWN0aXZpdHktdGltZW91dCI6IlRpbWUgYWZ0ZXIgd2hvc2UgdGhlIGdhdGV3YXkgd2lsbCBkaXNjb25uZWN0IGRldmljZSIsImluYWN0aXZpdHktcGVyaW9kIjoiUGVyaW9kaWNpdHkgb2YgZGV2aWNlIGFjdGl2aXR5IGNoZWNrIiwibWluaW1hbC1wYWNrLWRlbGF5IjoiRGVsYXkgYmV0d2VlbiBzZW5kaW5nIHBhY2tzIG9mIG1lc3NhZ2VzIChEZWNyZWFzaW5nIHRoaXMgc2V0dGluZyByZXN1bHRzIGluIGluY3JlYXNlZCBDUFUgdXNhZ2UpIixxb3M6IlF1YWxpdHkgb2YgU2VydmljZSBpbiBNUVRUIG1lc3NhZ2luZyAoMCAtIGF0IG1vc3Qgb25jZSwgMSAtIGF0IGxlYXN0IG9uY2UpIiwic2VydmVyLXBvcnQiOiJOZXR3b3JrIHBvcnQgb24gd2hpY2ggR1JQQyBzZXJ2ZXIgd2lsbCBsaXN0ZW4gZm9yIGluY29taW5nIGNvbm5lY3Rpb25zLiIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0IjoiTWF4aW11bSB0aW1lIHRoZSBzZXJ2ZXIgc2hvdWxkIHdhaXQgZm9yIGEga2VlcGFsaXZlIHBpbmcgcmVzcG9uc2UgYmVmb3JlIGNvbnNpZGVyaW5nIHRoZSBjb25uZWN0aW9uIGRlYWQuIiwiZ3JwYy1rZWVwLWFsaXZlIjoiRHVyYXRpb24gYmV0d2VlbiB0d28gc3VjY2Vzc2l2ZSBrZWVwYWxpdmUgcGluZyBtZXNzYWdlcyB3aGVuIHRoZXJlIGlzIG5vIGFjdGl2ZSBSUEMgY2FsbC4iLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MiOiJNaW5pbXVtIGFtb3VudCBvZiB0aW1lIHRoZSBzZXJ2ZXIgc2hvdWxkIHdhaXQgYmV0d2VlbiBzZW5kaW5nIGtlZXBhbGl2ZSBwaW5nIG1lc3NhZ2VzIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoiTWF4aW11bSBudW1iZXIgb2Yga2VlcGFsaXZlIHBpbmcgbWVzc2FnZXMgdGhhdCB0aGUgc2VydmVyIGNhbiBzZW5kIHdpdGhvdXQgcmVjZWl2aW5nIGFueSBkYXRhIGJlZm9yZSBpdCBjb25zaWRlcnMgdGhlIGNvbm5lY3Rpb24gZGVhZC4iLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YSI6Ik1pbmltdW0gYW1vdW50IG9mIHRpbWUgdGhlIHNlcnZlciBzaG91bGQgd2FpdCBiZXR3ZWVuIHNlbmRpbmcga2VlcGFsaXZlIHBpbmcgbWVzc2FnZXMgd2hlbiB0aGVyZSBpcyBubyBkYXRhIGJlaW5nIHNlbnQgb3IgcmVjZWl2ZWQuIiwicGVybWl0LXdpdGhvdXQtY2FsbHMiOiJBbGxvdyBzZXJ2ZXIgdG8ga2VlcCB0aGUgR1JQQyBjb25uZWN0aW9uIGFsaXZlIGV2ZW4gd2hlbiB0aGVyZSBhcmUgbm8gYWN0aXZlIFJQQyBjYWxscy4ifX0sS289eyJhZGQtZW50cnkiOiJBZGljaW9uYXIgY29uZmlndXJhw6fDo28iLCJjb25uZWN0b3ItYWRkIjoiQWRpY2lvbmFyIG5vdm8gY29uZWN0b3IiLCJjb25uZWN0b3ItZW5hYmxlZCI6IkhhYmlsaXRhciBjb25lY3RvciIsImNvbm5lY3Rvci1uYW1lIjoiTm9tZSBkbyBjb25lY3RvciIsImNvbm5lY3Rvci1uYW1lLXJlcXVpcmVkIjoiTyBub21lIGRvIGNvbmVjdG9yIMOpIG9icmlnYXTDs3Jpby4iLCJjb25uZWN0b3ItdHlwZSI6IlRpcG8gZGUgY29uZWN0b3IiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6Ik8gdGlwbyBkZSBjb25lY3RvciDDqSBvYnJpZ2F0w7NyaW8uIixjb25uZWN0b3JzOiJDb25maWd1cmHDp8OjbyBkZSBjb25lY3RvcmVzIiwiY3JlYXRlLW5ldy1nYXRld2F5IjoiQ3JpYXIgdW0gbm92byBnYXRld2F5IiwiY3JlYXRlLW5ldy1nYXRld2F5LXRleHQiOiJUZW0gY2VydGV6YSBkZSBxdWUgZGVzZWphIGNyaWFyIHVtIG5vdm8gZ2F0ZXdheSBjb20gbyBub21lOiAne3tnYXRld2F5TmFtZX19Jz8iLGRlbGV0ZToiRXhjbHVpciBjb25maWd1cmHDp8OjbyIsImRvd25sb2FkLXRpcCI6IkRvd25sb2FkIGRlIGFycXVpdm8gZGUgY29uZmlndXJhw6fDo28iLGdhdGV3YXk6IkdhdGV3YXkiLCJnYXRld2F5LWV4aXN0cyI6IkrDoSBleGlzdGUgdW0gZGlzcG9zaXRpdm8gY29tIG8gbWVzbW8gbm9tZS4iLCJnYXRld2F5LW5hbWUiOiJOb21lIGRvIGdhdGV3YXkiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJPIG5vbWUgZG8gZ2F0ZXdheSDDqSBvYnJpZ2F0w7NyaW8uIiwiZ2F0ZXdheS1zYXZlZCI6IkEgY29uZmlndXJhw6fDo28gZG8gZ2F0ZXdheSBmb2kgc2FsdmEgY29ycmV0YW1lbnRlLiIsImpzb24tcGFyc2UiOiJKU09OIGludsOhbGlkby4iLCJqc29uLXJlcXVpcmVkIjoiTyBjYW1wbyBuw6NvIHBvZGUgZXN0YXIgZW0gYnJhbmNvLiIsIm5vLWNvbm5lY3RvcnMiOiJTZW0gY29uZWN0b3JlcyIsIm5vLWRhdGEiOiJTZW0gY29uZmlndXJhw6fDtWVzIiwibm8tZ2F0ZXdheS1mb3VuZCI6Ik5lbmh1bSBnYXRld2F5IGVuY29udHJhZG8uIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG7Do28gZW5jb250cmFkby4iLCJwYXRoLWxvZ3MiOiJDYW1pbmhvIHBhcmEgYXJxdWl2b3MgZGUgbG9nIiwicGF0aC1sb2dzLXJlcXVpcmVkIjoiTyBjYW1pbmhvIMOpIG9icmlnYXTDs3JpbyIscmVtb3RlOiJDb25maWd1cmHDp8OjbyByZW1vdGEiLCJyZW1vdGUtbG9nZ2luZy1sZXZlbCI6Ik7DrXZlbCBkZSByZWdpc3RybyBlbSBsb2ciLCJyZW1vdmUtZW50cnkiOiJSZW1vdmVyIGNvbmZpZ3VyYcOnw6NvIiwic2F2ZS10aXAiOiJTYWx2YXIgYXJxdWl2byBkZSBjb25maWd1cmHDp8OjbyIsInNlY3VyaXR5LXR5cGUiOiJUaXBvIGRlIHNlZ3VyYW7Dp2EiLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJUb2tlbiBkZSBBY2Vzc28iLHRsczoiVExTIn0sc3RvcmFnZToiQXJtYXplbmFtZW50byIsInN0b3JhZ2UtbWF4LWZpbGUtcmVjb3JkcyI6Ik7Dum1lcm8gbcOheGltbyBkZSByZWdpc3Ryb3MgZW0gYXJxdWl2byIsInN0b3JhZ2UtbWF4LWZpbGVzIjoiTsO6bWVybyBtw6F4aW1vIGRlIGFycXVpdm9zIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoiTyBuw7ptZXJvIG3DrW5pbW8gw6kgMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiTyBuw7ptZXJvIG7Do28gw6kgdsOhbGlkby4iLCJzdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZCI6Ik8gbsO6bWVybyDDqSBvYnJpZ2F0w7NyaW8uIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik7Dum1lcm8gbcOheGltbyBkZSByZWdpc3Ryb3MgZW0gYXJtYXplbmFtZW50byIsInN0b3JhZ2UtbWF4LXJlY29yZHMtbWluIjoiTyBuw7ptZXJvIG3DrW5pbW8gZGUgcmVnaXN0cm9zIMOpIDEuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoiTyBuw7ptZXJvIG7Do28gw6kgdsOhbGlkby4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkIjoiTyBuw7ptZXJvIG3DoXhpbW8gZGUgcmVnaXN0cm9zIMOpIG9icmlnYXTDs3Jpby4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6IlRhbWFuaG8gbcOheGltbyBkZSBwYWNvdGUgZGUgZXZlbnRvcyIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6Ik8gbsO6bWVybyBtw61uaW1vIMOpIDEuIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6Ik8gbsO6bWVybyBuw6NvIMOpIHbDoWxpZG8uIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiJPIHRhbWFuaG8gbcOheGltbyBkZSBwYWNvdGUgZGUgZXZlbnRvcyDDqSBvYnJpZ2F0w7NyaW8uIiwic3RvcmFnZS1wYXRoIjoiQ2FtaW5obyBkZSBhcm1hemVuYW1lbnRvIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoiTyBjYW1pbmhvIGRlIGFybWF6ZW5hbWVudG8gw6kgb2JyaWdhdMOzcmlvLiIsInN0b3JhZ2UtdHlwZSI6IlRpcG8gZGUgYXJtYXplbmFtZW50byIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoiQXJtYXplbmFtZW50byBkZSBhcnF1aXZvIiwibWVtb3J5LXN0b3JhZ2UiOiJBcm1hemVuYW1lbnRvIGRlIG1lbcOzcmlhIn0sdGhpbmdzYm9hcmQ6IlRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdCI6Ikhvc3QgVGhpbmdzQm9hcmQiLCJ0aGluZ3Nib2FyZC1ob3N0LXJlcXVpcmVkIjoiTyBob3N0IMOpIG9icmlnYXTDs3Jpby4iLCJ0aGluZ3Nib2FyZC1wb3J0IjoiUG9ydGEgVGhpbmdzQm9hcmQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6Ik8gbsO6bWVybyBtw6F4aW1vIGRlIHBvcnRhcyDDqSA2NTUzNS4iLCJ0aGluZ3Nib2FyZC1wb3J0LW1pbiI6Ik8gbsO6bWVybyBtw61uaW1vIGRlIHBvcnRhcyDDqSAxLiIsInRoaW5nc2JvYXJkLXBvcnQtcGF0dGVybiI6IkEgcG9ydGEgbsOjbyDDqSB2w6FsaWRhLiIsInRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWQiOiJBIHBvcnRhIMOpIG9icmlnYXTDs3JpYS4iLHRpZHk6IlRpZHkiLCJ0aWR5LXRpcCI6IkNvbmZpZyBUaWR5IEpTT04iLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiJDb25maWd1cmHDp8OjbyBkbyBjb25lY3RvciB7e3R5cGVOYW1lfX0iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IkNhbWluaG8gcGFyYSBjZXJ0aWZpY2FkbyBkZSBBdXRvcmlkYWRlIGRlIENlcnRpZmljYcOnw6NvIG5vIGdhdGV3YXkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiJDYW1pbmhvIHBhcmEgY2VydGlmaWNhZG8gZGUgY2xpZW50ZSBubyBnYXRld2F5IiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiJDYW1pbmhvIHBhcmEgY2hhdmUgcHJpdmFkYSBubyBnYXRld2F5IiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiJBbHRlcm5hciB0ZWxhIGludGVpcmEiLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IkNvbmZpZ3VyYcOnw6NvIEpTT04qIiwidXBkYXRlLWNvbmZpZyI6IkFkaWNpb25hci9hdHVhbGl6YXIgY29uZmlndXJhw6fDo28gZGUgSlNPTiJ9LCRvPXsiYWRkLWVudHJ5IjoiRG9kYWoga29uZmlndXJhY2lqbyIsImNvbm5lY3Rvci1hZGQiOiJEb2RhaiBub3YgcHJpa2xqdcSNZWsiLCJjb25uZWN0b3ItZW5hYmxlZCI6Ik9tb2dvxI1pIHByaWtsanXEjWVrIiwiY29ubmVjdG9yLW5hbWUiOiJJbWUgcHJpa2xqdcSNa2EiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6IkltZSBwcmlrbGp1xI1rYSBqZSBvYnZlem5vLiIsImNvbm5lY3Rvci10eXBlIjoiVnJzdGEgcHJpa2xqdcSNa2EiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IlphaHRldmEgc2UgdnJzdGEgcHJpa2xqdcSNa2EuIixjb25uZWN0b3JzOiJLb25maWd1cmFjaWphIHByaWtsanXEjWtvdiIsImNyZWF0ZS1uZXctZ2F0ZXdheSI6IlVzdHZhcmkgbm92IHByZWhvZCIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiQWxpIHN0ZSBwcmVwcmnEjWFuaSwgZGEgxb5lbGl0ZSB1c3R2YXJpdGkgbm92IHByZWhvZCB6IGltZW5vbTogJ3t7Z2F0ZXdheU5hbWV9fSc/IixkZWxldGU6Ikl6YnJpxaFpIGtvbmZpZ3VyYWNpam8iLCJkb3dubG9hZC10aXAiOiJQcmVub3Mga29uZmlndXJhY2lqc2tlIGRhdG90ZWtlIixnYXRld2F5OiJQcmVob2QiLCJnYXRld2F5LWV4aXN0cyI6Ik5hcHJhdmEgeiBpc3RpbSBpbWVub20gxb5lIG9ic3RhamEuIiwiZ2F0ZXdheS1uYW1lIjoiSW1lIHByZWhvZGEiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJJbWUgcHJlaG9kYSBqZSBvYnZlem5vLiIsImdhdGV3YXktc2F2ZWQiOiJLb25maWd1cmFjaWphIHByZWhvZGEgamUgdXNwZcWhbm8gc2hyYW5qZW5hLiIsImpzb24tcGFyc2UiOiJOZXZlbGphdmVuIEpTT04uIiwianNvbi1yZXF1aXJlZCI6IlBvbGplIG5lIHNtZSBiaXRpIHByYXpuby4iLCJuby1jb25uZWN0b3JzIjoiTmkgcHJpa2xqdcSNa292Iiwibm8tZGF0YSI6IkJyZXoga29uZmlndXJhY2lqIiwibm8tZ2F0ZXdheS1mb3VuZCI6IlByZWhvZCBuaSBuYWpkZW4uIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5pIG1vZ2/EjWUgbmFqdGkuIiwicGF0aC1sb2dzIjoiUG90IGRvIGRuZXZuacWha2loIGRhdG90ZWsiLCJwYXRoLWxvZ3MtcmVxdWlyZWQiOiJQb3QgamUgb2J2ZXpuYS4iLHJlbW90ZToiT2RkYWxqZW5hIGtvbmZpZ3VyYWNpamEiLCJyZW1vdGUtbG9nZ2luZy1sZXZlbCI6IlJhdmVuIGJlbGXFvmVuamEiLCJyZW1vdmUtZW50cnkiOiJPZHN0cmFuaSBrb25maWd1cmFjaWpvIiwic2F2ZS10aXAiOiJTaHJhbmkga29uZmlndXJhY2lqc2tvIGRhdG90ZWtvIiwic2VjdXJpdHktdHlwZSI6IlZyc3RhIHphxaHEjWl0ZSIsInNlY3VyaXR5LXR5cGVzIjp7ImFjY2Vzcy10b2tlbiI6IkRvc3RvcG5pIMW+ZXRvbiIsdGxzOiJUTFMifSxzdG9yYWdlOiJTaHJhbWJhIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoiTmFqdmXEjSB6YXBpc292IHYgZGF0b3Rla2kiLCJzdG9yYWdlLW1heC1maWxlcyI6Ik5hanZlxI1qZSDFoXRldmlsbyBkYXRvdGVrIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoiTmFqbWFuasWhZSDFoXRldmlsbyBqZSAxLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXBhdHRlcm4iOiLFoHRldmlsa2EgbmkgdmVsamF2bmEuIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiLFoHRldmlsa2EgamUgb2J2ZXpuYS4iLCJzdG9yYWdlLW1heC1yZWNvcmRzIjoiTmFqdmXEjSB6YXBpc292IHYgcG9tbmlsbmlrdSIsInN0b3JhZ2UtbWF4LXJlY29yZHMtbWluIjoiTmFqbWFuasWhZSDFoXRldmlsbyB6YXBpc292IGplIDEuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoixaB0ZXZpbGthIG5pIHZlbGphdm5hLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJaYWh0ZXZhbiBqZSBuYWp2ZcSNIHphcGlzb3YuIiwic3RvcmFnZS1wYWNrLXNpemUiOiJOYWp2ZcSNamEgdmVsaWtvc3QgcGFrZXRhIGRvZ29ka292Iiwic3RvcmFnZS1wYWNrLXNpemUtbWluIjoiTmFqbWFuasWhZSDFoXRldmlsbyBqZSAxLiIsInN0b3JhZ2UtcGFjay1zaXplLXBhdHRlcm4iOiLFoHRldmlsa2EgbmkgdmVsamF2bmEuIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiJaYWh0ZXZhbmEgamUgbmFqdmXEjWphIHZlbGlrb3N0IHBha2V0YSBkb2dvZGtvdi4iLCJzdG9yYWdlLXBhdGgiOiJQb3QgcG9tbmlsbmlrYSIsInN0b3JhZ2UtcGF0aC1yZXF1aXJlZCI6IlphaHRldmFuYSBqZSBwb3QgZG8gcG9tbmlsbmlrYS4iLCJzdG9yYWdlLXR5cGUiOiJWcnN0YSBwb21uaWxuaWthIiwic3RvcmFnZS10eXBlcyI6eyJmaWxlLXN0b3JhZ2UiOiJTaHJhbWJhIGRhdG90ZWsiLCJtZW1vcnktc3RvcmFnZSI6IlNwb21pbiBwb21uaWxuaWthIn0sdGhpbmdzYm9hcmQ6IlRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdCI6Ikdvc3RpdGVsaiBUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWQiOiJQb3RyZWJlbiBqZSBnb3N0aXRlbGouIiwidGhpbmdzYm9hcmQtcG9ydCI6IlZyYXRhIFRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtcG9ydC1tYXgiOiJOYWp2ZcSNamEgxaF0ZXZpbGthIHZyYXQgamUgNjU1MzUuIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiJOYWptYW5qxaFhIMWhdGV2aWxrYSB2cmF0IGplIDEuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiVnJhdGEgbmlzbyB2ZWxqYXZuYS4iLCJ0aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkIjoiUG90cmVibmEgc28gdnJhdGEuIix0aWR5OiJVcmVqZW5vIiwidGlkeS10aXAiOiJVcmVqZW5hIGtvbmZpZ3VyYWNpamEgSlNPTiIsInRpdGxlLWNvbm5lY3RvcnMtanNvbiI6IktvbmZpZ3VyYWNpamEga29uZWt0b3JqYSB7e3R5cGVOYW1lfX0iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IlBvdCBkbyBwb3RyZGlsYSBDQSBuYSBwcmVob2R1IiwidGxzLXBhdGgtY2xpZW50LWNlcnRpZmljYXRlIjoiUG90IGRvIHBvdHJkaWxhIHN0cmFua2UgbmEgcHJlaG9kdSIsInRscy1wYXRoLXByaXZhdGUta2V5IjoiUG90IGRvIHphc2VibmVnYSBrbGp1xI1hIG5hIHByZWhvZHUiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlByZWtsb3AgbmEgY2Vsb3phc2xvbnNraSBuYcSNaW4iLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IktvbmZpZ3VyYWNpamEgSlNPTiAqIiwidXBkYXRlLWNvbmZpZyI6IkRvZGFqIC8gcG9zb2RvYmkga29uZmlndXJhY2lqbyBKU09OIn0sWW89eyJhZGQtZW50cnkiOiJZYXDEsWxhbmTEsXJtYSBla2xlIiwiY29ubmVjdG9yLWFkZCI6IlllbmkgYmHEn2xhecSxY8SxIGVrbGUiLCJjb25uZWN0b3ItZW5hYmxlZCI6IkJhxJ9sYXnEsWPEsXnEsSBldGtpbmxlxZ90aXIiLCJjb25uZWN0b3ItbmFtZSI6IkJhxJ9sYXnEsWPEsSBhZMSxIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiJCYcSfbGF5xLFjxLEgYWTEsSBnZXJla2xpLiIsImNvbm5lY3Rvci10eXBlIjoiQmHEn2xhecSxY8SxIHRpcGkiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IkJhxJ9sYXnEsWPEsSB0w7xyw7wgZ2VyZWtsaS4iLGNvbm5lY3RvcnM6IkJhxJ9sYXnEsWPEsWxhcsSxbiB5YXDEsWxhbmTEsXJtYXPEsSIsImNyZWF0ZS1uZXctZ2F0ZXdheSI6IlllbmkgYmlyIGHEnyBnZcOnaWRpIG9sdcWfdHVyIiwiY3JlYXRlLW5ldy1nYXRld2F5LXRleHQiOiIne3tnYXRld2F5TmFtZX19JyBhZMSxbmRhIHllbmkgYmlyIGHEnyBnZcOnaWRpIG9sdcWfdHVybWFrIGlzdGVkacSfaW5pemRlbiBlbWluIG1pc2luaXo/IixkZWxldGU6IllhcMSxbGFuZMSxcm1hecSxIHNpbCIsImRvd25sb2FkLXRpcCI6IllhcMSxbGFuZMSxcm1hIGRvc3lhc8SxbsSxIGluZGlyaW4iLGdhdGV3YXk6IkHEnyBnZcOnaWRpIiwiZ2F0ZXdheS1leGlzdHMiOiJBeW7EsSBhZGEgc2FoaXAgY2loYXogemF0ZW4gdmFyLiIsImdhdGV3YXktbmFtZSI6IkHEnyBnZcOnaWRpIGFkxLEiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJBxJ8gZ2XDp2lkaSBhZMSxIGdlcmVrbGkuIiwiZ2F0ZXdheS1zYXZlZCI6IkHEnyBnZcOnaWRpIHlhcMSxbGFuZMSxcm1hc8SxIGJhxZ9hcsSxeWxhIGtheWRlZGlsZGkuIiwianNvbi1wYXJzZSI6Ikdlw6dlcmxpIGJpciBKU09OIGRlxJ9pbC4iLCJqc29uLXJlcXVpcmVkIjoiQWxhbiBib8WfIG9sYW1hei4iLCJuby1jb25uZWN0b3JzIjoiQmHEn2xhecSxY8SxIHlvayIsIm5vLWRhdGEiOiJZYXDEsWxhbmTEsXJtYSB5b2siLCJuby1nYXRld2F5LWZvdW5kIjoiQcSfIGdlw6dpZGkgYnVsdW5hbWFkxLEuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIGJ1bHVuYW1hZMSxLiIsInBhdGgtbG9ncyI6IkxvZyBkb3N5YWxhcsSxIHlvbHUiLCJwYXRoLWxvZ3MtcmVxdWlyZWQiOiJMb2cgZG9zeWFsYXLEsSBkaXppbmkgZ2VyZWtsaS4iLHJlbW90ZToiVXpha3RhbiB5YXDEsWxhbmTEsXJtYSIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoiTG9nbGFtYSBzZXZpeWVzaSIsInJlbW92ZS1lbnRyeSI6IllhcMSxbGFuZMSxcm1hecSxIGthbGTEsXIiLCJzYXZlLXRpcCI6IllhcMSxbGFuZMSxcm1hIGRvc3lhc8SxbsSxIGtheWRldCIsInNlY3VyaXR5LXR5cGUiOiJHw7x2ZW5saWsgdMO8csO8Iiwic2VjdXJpdHktdHlwZXMiOnsiYWNjZXNzLXRva2VuIjoiQWNjZXNzIFRva2VuIix0bHM6IlRMUyJ9LHN0b3JhZ2U6IkRlcG9sYW1hIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoiRG9zeWFkYWtpIG1ha3NpbXVtIGthecSxdCIsInN0b3JhZ2UtbWF4LWZpbGVzIjoiTWFrc2ltdW0gZG9zeWEgc2F5xLFzxLEiLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiJNaW5pbXVtIHNhecSxIDEnZGlyLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXBhdHRlcm4iOiJTYXnEsSBnZcOnZXJsaSBkZcSfaWwuIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiJTYXnEsSBnZXJla2xpLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMiOiJEZXBvZGFraSBtYWtzaW11bSBrYXnEsXQiLCJzdG9yYWdlLW1heC1yZWNvcmRzLW1pbiI6Ik1pbmltdW0ga2F5xLF0IHNhecSxc8SxIDEnZGlyLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6IlNhecSxIGdlw6dlcmxpIGRlxJ9pbC4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkIjoiTWFrc2ltdW0ga2F5xLF0IGdlcmVrbGkuIiwic3RvcmFnZS1wYWNrLXNpemUiOiJNYWtzaW11bSBldGtpbmxpayBwYWtldGkgYm95dXR1Iiwic3RvcmFnZS1wYWNrLXNpemUtbWluIjoiTWluaW11bSBzYXnEsSAxJ2Rpci4iLCJzdG9yYWdlLXBhY2stc2l6ZS1wYXR0ZXJuIjoiU2F5xLEgZ2XDp2VybGkgZGXEn2lsLiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoiTWFrc2ltdW0gZXRraW5saWsgcGFrZXRpIGJveXV0dSBnZXJla2xpLiIsInN0b3JhZ2UtcGF0aCI6IkRlcG9sYW1hIHlvbHUiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiJEZXBvbGFtYSB5b2x1IGdlcmVrbGkuIiwic3RvcmFnZS10eXBlIjoiRGVwb2xhbWEgdMO8csO8Iiwic3RvcmFnZS10eXBlcyI6eyJmaWxlLXN0b3JhZ2UiOiJEb3N5YSBkZXBvbGFtYSIsIm1lbW9yeS1zdG9yYWdlIjoiQmVsbGVrIGRlcG9sYW1hIn0sdGhpbmdzYm9hcmQ6IlRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdCI6IlRoaW5nc0JvYXJkIGhvc3QiLCJ0aGluZ3Nib2FyZC1ob3N0LXJlcXVpcmVkIjoiSG9zdCBnZXJla2xpLiIsInRoaW5nc2JvYXJkLXBvcnQiOiJUaGluZ3NCb2FyZCBwb3J0IiwidGhpbmdzYm9hcmQtcG9ydC1tYXgiOiJNYWtzaW11bSBwb3J0IG51bWFyYXPEsSA2NTUzNS4iLCJ0aGluZ3Nib2FyZC1wb3J0LW1pbiI6Ik1pbmltdW0gcG9ydCBudW1hcmFzxLEgMSdkaXIuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiUG9ydCBnZcOnZXJsaSBkZcSfaWwuIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6IlBvcnQgZ2VyZWtsaS4iLHRpZHk6IlRpZHkiLCJ0aWR5LXRpcCI6IlRpZHkgY29uZmlnIEpTT04iLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiJDb25uZWN0b3Ige3t0eXBlTmFtZX19IGNvbmZpZ3VyYXRpb24iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IlBhdGggdG8gQ0EgY2VydGlmaWNhdGUgb24gZ2F0ZXdheSIsInRscy1wYXRoLWNsaWVudC1jZXJ0aWZpY2F0ZSI6IlBhdGggdG8gY2xpZW50IGNlcnRpZmljYXRlIG9uIGdhdGV3YXkiLCJ0bHMtcGF0aC1wcml2YXRlLWtleSI6IlBhdGggdG8gcHJpdmF0ZSBrZXkgb24gZ2F0ZXdheSIsInRvZ2dsZS1mdWxsc2NyZWVuIjoiVG9nZ2xlIGZ1bGxzY3JlZW4iLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IkNvbmZpZ3VyYXRpb24gSlNPTioiLCJ1cGRhdGUtY29uZmlnIjoiQWRkL3VwZGF0ZSBjb25maWd1cmF0aW9uIEpTT04ifSxRbz17ImFkZC1lbnRyeSI6Iua3u+WKoOmFjee9riIsYWR2YW5jZWQ6IumrmOe6pyIsImNoZWNraW5nLWRldmljZS1hY3Rpdml0eSI6IuajgOafpeiuvuWkh+a0u+WKqCIsY29tbWFuZDoiRG9ja2Vy5ZG95LukIiwiY29tbWFuZC1jb3BpZWQtbWVzc2FnZSI6IkRvY2tlcuWRveS7pOW3suWkjeWItuWIsOWJqui0tOadvyIsY29uZmlndXJhdGlvbjoi6YWN572uIiwiY29ubmVjdG9yLWFkZCI6Iua3u+WKoOi/nuaOpeWZqCIsImNvbm5lY3Rvci1lbmFibGVkIjoi5ZCv55So6L+e5o6l5ZmoIiwiY29ubmVjdG9yLW5hbWUiOiLov57mjqXlmajlkI3np7AiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6Iui/nuaOpeWZqOWQjeensOW/heWhq+OAgiIsImNvbm5lY3Rvci10eXBlIjoi6L+e5o6l5Zmo57G75Z6LIiwiY29ubmVjdG9yLXR5cGUtcmVxdWlyZWQiOiLov57mjqXlmajnsbvlnovlv4XloavjgIIiLGNvbm5lY3RvcnM6Iui/nuaOpeWZqOmFjee9riIsImNvbm5lY3RvcnMtY29uZmlnIjoi6L+e5o6l5Zmo6YWN572uIiwiY29ubmVjdG9ycy10YWJsZS1lbmFibGVkIjoi5bey5ZCv55SoIiwiY29ubmVjdG9ycy10YWJsZS1uYW1lIjoi5ZCN56ewIiwiY29ubmVjdG9ycy10YWJsZS10eXBlIjoi57G75Z6LIiwiY29ubmVjdG9ycy10YWJsZS1zdGF0dXMiOiLnirbmgIEiLCJjb25uZWN0b3JzLXRhYmxlLWFjdGlvbnMiOiLmk43kvZwiLCJjb25uZWN0b3JzLXRhYmxlLWtleSI6IumUriIsImNvbm5lY3RvcnMtdGFibGUtY2xhc3MiOiLnsbsiLCJycGMtY29tbWFuZC1zZW5kIjoi5Y+R6YCBIiwicnBjLWNvbW1hbmQtcmVzdWx0Ijoi57uT5p6cIiwicnBjLWNvbW1hbmQtZWRpdC1wYXJhbXMiOiLnvJbovpHlj4LmlbAiLCJnYXRld2F5LWNvbmZpZ3VyYXRpb24iOiLpgJrnlKjphY3nva4iLCJjcmVhdGUtbmV3LWdhdGV3YXkiOiLliJvlu7rnvZHlhbMiLCJjcmVhdGUtbmV3LWdhdGV3YXktdGV4dCI6IuehruWumuimgeWIm+W7uuWQjeS4uiAne3tnYXRld2F5TmFtZX19JyDnmoTmlrDnvZHlhbPvvJ8iLCJjcmVhdGVkLXRpbWUiOiLliJvlu7rml7bpl7QiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaGVhZGVyIjoi6YWN572u5bCG6KKr5Yig6ZmkIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWJvZHkiOiLlj6rmnInlr7nnvZHlhbPov5vooYzniannkIborr/pl67ml7bvvIzmiY3mnInlj6/og73lhbPpl63ov5znqIvphY3nva7jgILmiYDmnInlhYjliY3nmoTphY3nva7pg73lsIbooqvliKDpmaTjgII8YnI+PGJyPlxu6KaB5YWz6Zet6YWN572u77yM6K+35Zyo5LiL6Z2i6L6T5YWl572R5YWz5ZCN56ewIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0Ijoi572R5YWz5ZCN56ewIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0LXJlcXVpcmVkIjoi572R5YWz5ZCN56ew5piv5b+F6ZyA55qEIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWNvbmZpcm0iOiLlhbPpl60iLGRlbGV0ZToi5Yig6Zmk6YWN572uIiwiZG93bmxvYWQtdGlwIjoi5LiL6L296YWN572uIiwiZHJvcC1maWxlIjoi5bCG5paH5Lu25ouW5pS+5Yiw5q2k5aSE5oiWIixnYXRld2F5OiLnvZHlhbMiLCJnYXRld2F5LWV4aXN0cyI6IuWQjOWQjeiuvuWkh+W3suWtmOWcqOOAgiIsImdhdGV3YXktbmFtZSI6Iue9keWFs+WQjeensCIsImdhdGV3YXktbmFtZS1yZXF1aXJlZCI6Iue9keWFs+WQjeensOW/heWhq+OAgiIsImdhdGV3YXktc2F2ZWQiOiLlt7LmiJDlip/kv53lrZjnvZHlhbPphY3nva7jgIIiLGdycGM6IkdSUEMiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dCI6IuS/neaMgei/nuaOpei2heaXtu+8iOavq+enku+8iSIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LXJlcXVpcmVkIjoi6ZyA6KaB5L+d5oyB6L+e5o6l6LaF5pe2IiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtbWluIjoi5L+d5oyB6L+e5o6l6LaF5pe25LiN6IO95bCP5LqOMSIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LXBhdHRlcm4iOiLkv53mjIHov57mjqXotoXml7bml6DmlYgiLCJncnBjLWtlZXAtYWxpdmUiOiLkv53mjIHov57mjqXvvIjmr6vnp5LvvIkiLCJncnBjLWtlZXAtYWxpdmUtcmVxdWlyZWQiOiLpnIDopoHkv53mjIHov57mjqUiLCJncnBjLWtlZXAtYWxpdmUtbWluIjoi5L+d5oyB6L+e5o6l5LiN6IO95bCP5LqOMSIsImdycGMta2VlcC1hbGl2ZS1wYXR0ZXJuIjoi5L+d5oyB6L+e5o6l5peg5pWIIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzIjoi5pyA5bCPUGluZ+mXtOmalO+8iOavq+enku+8iSIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1yZXF1aXJlZCI6IumcgOimgeacgOWwj1Bpbmfpl7TpmpQiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtbWluIjoi5pyA5bCPUGluZ+mXtOmalOS4jeiDveWwj+S6jjEiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcGF0dGVybiI6IuacgOWwj1Bpbmfpl7TpmpTml6DmlYgiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YSI6IuaXoOaVsOaNruaXtueahOacgOWwj1Bpbmfpl7TpmpTvvIjmr6vnp5LvvIkiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6IumcgOimgeaXoOaVsOaNruaXtueahOacgOWwj1Bpbmfpl7TpmpQiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1taW4iOiLml6DmlbDmja7ml7bnmoTmnIDlsI9QaW5n6Ze06ZqU5LiN6IO95bCP5LqOMSIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiLml6DmlbDmja7ml7bnmoTmnIDlsI9QaW5n6Ze06ZqU5peg5pWIIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoi5peg5pWw5o2u5pe255qE5pyA5aSnUGluZ+aVsCIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6IumcgOimgeaXoOaVsOaNruaXtueahOacgOWkp1BpbmfmlbAiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtbWluIjoi5peg5pWw5o2u5pe255qE5pyA5aSnUGluZ+aVsOS4jeiDveWwj+S6jjEiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtcGF0dGVybiI6IuaXoOaVsOaNruaXtueahOacgOWkp1BpbmfmlbDml6DmlYgiLCJpbmFjdGl2aXR5LWNoZWNrLXBlcmlvZC1zZWNvbmRzIjoi5LiN5rS76LeD5qOA5p+l5pyf77yI56eS77yJIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1yZXF1aXJlZCI6IumcgOimgeS4jea0u+i3g+ajgOafpeacnyIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtbWluIjoi5LiN5rS76LeD5qOA5p+l5pyf5LiN6IO95bCP5LqOMSIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcGF0dGVybiI6IuS4jea0u+i3g+ajgOafpeacn+aXoOaViCIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzIjoi5LiN5rS76LeD6LaF5pe277yI56eS77yJIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcmVxdWlyZWQiOiLpnIDopoHkuI3mtLvot4PotoXml7YiLCJpbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1taW4iOiLkuI3mtLvot4PotoXml7bkuI3og73lsI/kuo4xIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcGF0dGVybiI6IuS4jea0u+i3g+i2heaXtuaXoOaViCIsImpzb24tcGFyc2UiOiLml6DmlYjnmoRKU09O44CCIiwianNvbi1yZXF1aXJlZCI6IuWtl+auteS4jeiDveS4uuepuuOAgiIsbG9nczp7bG9nczoi5pel5b+XIixkYXlzOiLlpKkiLGhvdXJzOiLlsI/ml7YiLG1pbnV0ZXM6IuWIhumSnyIsc2Vjb25kczoi56eSIiwiZGF0ZS1mb3JtYXQiOiLml6XmnJ/moLzlvI8iLCJkYXRlLWZvcm1hdC1yZXF1aXJlZCI6IumcgOimgeaXpeacn+agvOW8jyIsImxvZy1mb3JtYXQiOiLml6Xlv5fmoLzlvI8iLCJsb2ctdHlwZSI6IuaXpeW/l+exu+WeiyIsImxvZy1mb3JtYXQtcmVxdWlyZWQiOiLpnIDopoHml6Xlv5fmoLzlvI8iLHJlbW90ZToi6L+c56iL5pel5b+X6K6w5b2VIiwicmVtb3RlLWxvZ3MiOiLov5znqIvml6Xlv5ciLGxvY2FsOiLmnKzlnLDml6Xlv5forrDlvZUiLGxldmVsOiLml6Xlv5fnuqfliKsiLCJmaWxlLXBhdGgiOiLmlofku7bot6/lvoQiLCJmaWxlLXBhdGgtcmVxdWlyZWQiOiLpnIDopoHmlofku7bot6/lvoQiLCJzYXZpbmctcGVyaW9kIjoi5pel5b+X5L+d5a2Y5pyf6ZmQIiwic2F2aW5nLXBlcmlvZC1taW4iOiLml6Xlv5fkv53lrZjmnJ/pmZDkuI3og73lsI/kuo4xIiwic2F2aW5nLXBlcmlvZC1yZXF1aXJlZCI6IumcgOimgeaXpeW/l+S/neWtmOacn+mZkCIsImJhY2t1cC1jb3VudCI6IuWkh+S7veaVsOmHjyIsImJhY2t1cC1jb3VudC1taW4iOiLlpIfku73mlbDph4/kuI3og73lsI/kuo4xIiwiYmFja3VwLWNvdW50LXJlcXVpcmVkIjoi6ZyA6KaB5aSH5Lu95pWw6YePIn0sIm1pbi1wYWNrLXNlbmQtZGVsYXkiOiLmnIDlsI/ljIXlj5HpgIHlu7bov5/vvIjmr6vnp5LvvIkiLCJtaW4tcGFjay1zZW5kLWRlbGF5LXJlcXVpcmVkIjoi5pyA5bCP5YyF5Y+R6YCB5bu26L+f5piv5b+F6ZyA55qEIiwibWluLXBhY2stc2VuZC1kZWxheS1taW4iOiLmnIDlsI/ljIXlj5HpgIHlu7bov5/kuI3og73lsI/kuo4wIiwibm8tY29ubmVjdG9ycyI6IuaXoOi/nuaOpeWZqCIsIm5vLWRhdGEiOiLmsqHmnInphY3nva4iLCJuby1nYXRld2F5LWZvdW5kIjoi5pyq5om+5Yiw572R5YWz44CCIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IuacquaJvuWIsCAne3tpdGVtfX0nIOOAgiIsInBhdGgtbG9ncyI6IuaXpeW/l+aWh+S7tueahOi3r+W+hCIsInBhdGgtbG9ncy1yZXF1aXJlZCI6Iui3r+W+hOaYr+W/hemcgOeahOOAgiIsInBlcm1pdC13aXRob3V0LWNhbGxzIjoi5L+d5oyB6L+e5o6l6K645Y+v77yM5peg6ZyA5ZON5bqUIixyZW1vdGU6Iui/nOeoi+mFjee9riIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoi5pel5b+X6K6w5b2V57qn5YirIiwicmVtb3ZlLWVudHJ5Ijoi5Yig6Zmk6YWN572uIiwicmVtb3RlLXNoZWxsIjoi6L+c56iLU2hlbGwiLCJyZW1vdGUtY29uZmlndXJhdGlvbiI6Iui/nOeoi+mFjee9riIsb3RoZXI6IuWFtuS7liIsInNhdmUtdGlwIjoi5L+d5a2Y6YWN572uIiwic2VjdXJpdHktdHlwZSI6IuWuieWFqOexu+WeiyIsInNlY3VyaXR5LXR5cGVzIjp7ImFjY2Vzcy10b2tlbiI6Iuiuv+mXruS7pOeJjCIsInVzZXJuYW1lLXBhc3N3b3JkIjoi55So5oi35ZCN5ZKM5a+G56CBIix0bHM6IlRMUyIsInRscy1hY2Nlc3MtdG9rZW4iOiJUTFMgKyDorr/pl67ku6TniYwiLCJ0bHMtcHJpdmF0ZS1rZXkiOiJUTFMgKyDnp4HpkqUifSwic2VydmVyLXBvcnQiOiLmnI3liqHlmajnq6/lj6MiLHN0YXRpc3RpY3M6e3N0YXRpc3RpYzoi57uf6K6h5L+h5oGvIixzdGF0aXN0aWNzOiLnu5/orqHkv6Hmga8iLCJzdGF0aXN0aWMtY29tbWFuZHMtZW1wdHkiOiLml6Dlj6/nlKjnu5/orqHkv6Hmga8iLGNvbW1hbmRzOiLlkb3ku6QiLCJzZW5kLXBlcmlvZCI6Iue7n+iuoeS/oeaBr+WPkemAgeWRqOacn++8iOenku+8iSIsInNlbmQtcGVyaW9kLXJlcXVpcmVkIjoi57uf6K6h5L+h5oGv5Y+R6YCB5ZGo5pyf5piv5b+F6ZyA55qEIiwic2VuZC1wZXJpb2QtbWluIjoi57uf6K6h5L+h5oGv5Y+R6YCB5ZGo5pyf5LiN6IO95bCP5LqONjAiLCJzZW5kLXBlcmlvZC1wYXR0ZXJuIjoi57uf6K6h5L+h5oGv5Y+R6YCB5ZGo5pyf5peg5pWIIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uIjoi5qOA5p+l6L+e5o6l5Zmo6YWN572u77yI56eS77yJIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXJlcXVpcmVkIjoi5qOA5p+l6L+e5o6l5Zmo6YWN572u5piv5b+F6ZyA55qEIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLW1pbiI6IuajgOafpei/nuaOpeWZqOmFjee9ruS4jeiDveWwj+S6jjEiLCJjaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tcGF0dGVybiI6IuajgOafpei/nuaOpeWZqOmFjee9ruaXoOaViCIsYWRkOiLmt7vliqDlkb3ku6QiLHRpbWVvdXQ6Iui2heaXtuaXtumXtCIsInRpbWVvdXQtbXMiOiLotoXml7bml7bpl7TvvIjmr6vnp5LvvIkiLCJ0aW1lb3V0LXJlcXVpcmVkIjoi6LaF5pe25pe26Ze05piv5b+F6ZyA55qEIiwidGltZW91dC1taW4iOiLotoXml7bml7bpl7TkuI3og73lsI/kuo4xIiwidGltZW91dC1wYXR0ZXJuIjoi6LaF5pe25pe26Ze05peg5pWIIiwiYXR0cmlidXRlLW5hbWUiOiLlsZ7mgKflkI3np7AiLCJhdHRyaWJ1dGUtbmFtZS1yZXF1aXJlZCI6IuWxnuaAp+WQjeensOaYr+W/hemcgOeahCIsY29tbWFuZDoi5ZG95LukIiwiY29tbWFuZC1yZXF1aXJlZCI6IuWRveS7pOaYr+W/hemcgOeahCIsImNvbW1hbmQtcGF0dGVybiI6IuWRveS7pOaXoOaViCIscmVtb3ZlOiLliKDpmaTlkb3ku6QifSxzdG9yYWdlOiLlrZjlgqgiLCJzdG9yYWdlLW1heC1maWxlLXJlY29yZHMiOiLmlofku7bkuK3nmoTmnIDlpKforrDlvZXmlbAiLCJzdG9yYWdlLW1heC1maWxlcyI6IuacgOWkp+aWh+S7tuaVsCIsInN0b3JhZ2UtbWF4LWZpbGVzLW1pbiI6IuacgOWwj+WAvOS4ujHjgIIiLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoi5pWw5a2X5peg5pWI44CCIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiLmlbDlrZfmmK/lv4XpnIDnmoTjgIIiLCJzdG9yYWdlLW1heC1yZWNvcmRzIjoi5a2Y5YKo5Lit55qE5pyA5aSn6K6w5b2V5pWwIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1taW4iOiLmnIDlsI/orrDlvZXmlbDkuLox44CCIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoi5pWw5a2X5peg5pWI44CCIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1yZXF1aXJlZCI6IuacgOWkp+iusOW9lemhueW/heWhq+OAgiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQiOiLlrZjlgqjkuK3nmoTor7vlj5borrDlvZXmlbAiLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LW1pbiI6IuacgOWwj+iusOW9leaVsOS4ujHjgIIiLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm4iOiLmlbDlrZfkuI3lkIjms5XjgIIiLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkIjoi6ZyA6KaB6K+75Y+W6K6w5b2V5pWw44CCIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQiOiLlrZjlgqjkuK3nmoTmnIDlpKfor7vlj5borrDlvZXmlbAiLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1taW4iOiLmnIDlsI/orrDlvZXmlbDkuLox44CCIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVybiI6IuaVsOWtl+S4jeWQiOazleOAgiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkIjoi5pyA5aSn6K+75Y+W6K6w5b2V5pWw5b+F6ZyA44CCIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoIjoi5pWw5o2u5paH5Lu25aS56Lev5b6EIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoLXJlcXVpcmVkIjoi6ZyA6KaB5pWw5o2u5paH5Lu25aS56Lev5b6E44CCIiwic3RvcmFnZS1wYWNrLXNpemUiOiLmnIDlpKfkuovku7bljIXlpKflsI8iLCJzdG9yYWdlLXBhY2stc2l6ZS1taW4iOiLmnIDlsI/lgLzkuLox44CCIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6IuaVsOWtl+aXoOaViOOAgiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoi5pyA5aSn5LqL5Lu25YyF5aSn5bCP5b+F5aGr44CCIiwic3RvcmFnZS1wYXRoIjoi5a2Y5YKo6Lev5b6EIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoi5a2Y5YKo6Lev5b6E5b+F5aGr44CCIiwic3RvcmFnZS10eXBlIjoi5a2Y5YKo57G75Z6LIiwic3RvcmFnZS10eXBlcyI6eyJmaWxlLXN0b3JhZ2UiOiLmlofku7blrZjlgqgiLCJtZW1vcnktc3RvcmFnZSI6IuWGheWtmOWtmOWCqCIsc3FsaXRlOiJTUUxJVEUifSx0aGluZ3Nib2FyZDoiVGhpbmdzQm9hcmQiLGdlbmVyYWw6IuW4uOinhCIsInRoaW5nc2JvYXJkLWhvc3QiOiJUaGluZ3NCb2FyZOS4u+acuiIsInRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWQiOiLkuLvmnLrlv4XloavjgIIiLCJ0aGluZ3Nib2FyZC1wb3J0IjoiVGhpbmdzQm9hcmTnq6/lj6MiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6IuacgOWkp+err+WPo+WPt+S4ujY1NTM144CCIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiLmnIDlsI/nq6/lj6Plj7fkuLox44CCIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoi56uv5Y+j5peg5pWI44CCIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6Iuerr+WPo+W/heWhq+OAgiIsdGlkeToi5pW055CGIiwidGlkeS10aXAiOiLmlbTnkIbphY3nva5KU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoi6L+e5o6l5ZmoIHt7dHlwZU5hbWV9fSDphY3nva4iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6Iue9keWFs+S4ikNB6K+B5Lmm55qE6Lev5b6EIiwidGxzLXBhdGgtY2xpZW50LWNlcnRpZmljYXRlIjoi572R5YWz5LiK5a6i5oi356uv6K+B5Lmm55qE6Lev5b6EIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzIjoi5raI5oGvVFRM5qOA5p+l5bCP5pe25pWwIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXJlcXVpcmVkIjoi6ZyA6KaB5o+Q5L6b5raI5oGvVFRM5qOA5p+l5bCP5pe25pWw44CCIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLW1pbiI6IuacgOWwj+WAvOS4ujHjgIIiLCJtZXNzYWdlcy10dGwtY2hlY2staW4taG91cnMtcGF0dGVybiI6IuaVsOWtl+aXoOaViOOAgiIsIm1lc3NhZ2VzLXR0bC1pbi1kYXlzIjoi5raI5oGvVFRM5aSp5pWwIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcmVxdWlyZWQiOiLpnIDopoHmj5Dkvpvmtojmga9UVEzlpKnmlbDjgIIiLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1taW4iOiLmnIDlsI/lgLzkuLox44CCIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcGF0dGVybiI6IuaVsOWtl+aXoOaViOOAgiIsIm1xdHQtcW9zIjoiUW9TIiwibXF0dC1xb3MtcmVxdWlyZWQiOiLpnIDopoHmj5DkvptRb1MiLCJtcXR0LXFvcy1yYW5nZSI6IlFvU+WAvOeahOiMg+WbtOaYr+S7jjDliLAxIiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiLnvZHlhbPkuIrnp4HpkqXnmoTot6/lvoQiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IuWIh+aNouWFqOWxjyIsInRyYW5zZm9ybWVyLWpzb24tY29uZmlnIjoi6YWN572uSlNPTioiLCJ1cGRhdGUtY29uZmlnIjoi5re75YqgL+abtOaWsOmFjee9rkpTT04iLGhpbnRzOnsicmVtb3RlLWNvbmZpZ3VyYXRpb24iOiLlkK/nlKjlr7nnvZHlhbPnmoTov5znqIvphY3nva7lkoznrqHnkIYiLCJyZW1vdGUtc2hlbGwiOiLpgJrov4fov5znqItTaGVsbOWwj+mDqOS7tuWQr+eUqOWvuee9keWFs+aTjeS9nOezu+e7n+eahOi/nOeoi+aOp+WItiIsaG9zdDoiVGhpbmdzQm9hcmQg5Li75py65ZCN5oiWSVDlnLDlnYAiLHBvcnQ6IlRoaW5nc0JvYXJkIE1RVFTmnI3liqHnq6/lj6MiLHRva2VuOiJUaGluZ3NCb2FyZCDnvZHlhbPorr/pl67ku6TniYwiLCJjbGllbnQtaWQiOiJUaGluZ3NCb2FyZCDnvZHlhbNNUVRU5a6i5oi356uvSUQiLHVzZXJuYW1lOiJUaGluZ3NCb2FyZCDnvZHlhbNNUVRU55So5oi35ZCNIixwYXNzd29yZDoiVGhpbmdzQm9hcmQg572R5YWzTVFUVOWvhueggSIsImNhLWNlcnQiOiJDQeivgeS5puaWh+S7tueahOi3r+W+hCIsImRhdGUtZm9ybSI6IuaXpeW/l+a2iOaBr+S4reeahOaXpeacn+agvOW8jyIsImRhdGEtZm9sZGVyIjoi5YyF5ZCr5pWw5o2u55qE5paH5Lu25aS555qE6Lev5b6E77yI55u45a+55oiW57ud5a+56Lev5b6E77yJIiwibG9nLWZvcm1hdCI6IuaXpeW/l+a2iOaBr+agvOW8jyIsInJlbW90ZS1sb2ciOiLlkK/nlKjlr7nnvZHlhbPnmoTov5znqIvml6Xlv5forrDlvZXlkozml6Xlv5for7vlj5YiLCJiYWNrdXAtY291bnQiOiLlpoLmnpzlpIfku73orqHmlbDlpKfkuo4w77yM5YiZ5Zyo5omn6KGM6L2u5o2i5pe277yM5pyA5aSa5L+d55WZ5aSH5Lu96K6h5pWw5Liq5paH5Lu2LeacgOaXp+eahOaWh+S7tuWwhuiiq+WIoOmZpCIsc3RvcmFnZToi5o+Q5L6b5bCG5pWw5o2u5Y+R6YCB5Yiw5bmz5Y+w5LmL5YmN5L+d5a2Y5Lyg5YWl5pWw5o2u55qE6YWN572uIiwibWF4LWZpbGUtY291bnQiOiLlsIbliJvlu7rnmoTmlofku7bnmoTmnIDlpKfmlbDph48iLCJtYXgtcmVhZC1jb3VudCI6IuS7juWtmOWCqOS4reiOt+WPlueahOa2iOaBr+iuoeaVsOW5tuWPkemAgeWIsFRoaW5nc0JvYXJkIiwibWF4LXJlY29yZHMiOiLkuIDkuKrmlofku7bkuK3lrZjlgqjnmoTmnIDlpKforrDlvZXmlbAiLCJyZWFkLXJlY29yZC1jb3VudCI6IuS7juWtmOWCqOS4reiOt+WPlueahOa2iOaBr+iuoeaVsOW5tuWPkemAgeWIsFRoaW5nc0JvYXJkIiwibWF4LXJlY29yZHMtY291bnQiOiLlnKjlsIbmlbDmja7lj5HpgIHliLBUaGluZ3NCb2FyZOS5i+WJje+8jOWtmOWCqOS4reeahOacgOWkp+aVsOaNruiuoeaVsCIsInR0bC1jaGVjay1ob3VyIjoi572R5YWz5aSa5LmF5qOA5p+l5LiA5qyh5pWw5o2u5piv5ZCm6L+H5pe2IiwidHRsLW1lc3NhZ2VzLWRheSI6IuWtmOWCqOWwhuS/neWtmOaVsOaNrueahOacgOWkp+WkqeaVsCIsY29tbWFuZHM6IueUqOS6juaUtumbhumZhOWKoOe7n+iuoeS/oeaBr+eahOWRveS7pCIsYXR0cmlidXRlOiLnu5/orqHpgaXmtYvplK4iLHRpbWVvdXQ6IuWRveS7pOaJp+ihjOeahOi2heaXtuaXtumXtCIsY29tbWFuZDoi5ZG95Luk5omn6KGM55qE57uT5p6c77yM5bCG55So5L2c6YGl5rWL55qE5YC8IiwiY2hlY2stZGV2aWNlLWFjdGl2aXR5Ijoi5ZCv55So55uR6KeG5q+P5Liq6L+e5o6l6K6+5aSH55qE5rS75YqoIiwiaW5hY3Rpdml0eS10aW1lb3V0Ijoi5Zyo5q2k5pe26Ze05ZCO77yM572R5YWz5bCG5pat5byA6K6+5aSH55qE6L+e5o6lIiwiaW5hY3Rpdml0eS1wZXJpb2QiOiLorr7lpIfmtLvliqjmo4Dmn6XnmoTlkajmnJ8iLCJtaW5pbWFsLXBhY2stZGVsYXkiOiLlj5HpgIHmtojmga/ljIXkuYvpl7TnmoTlu7bov5/vvIjlh4/lsI/mraTorr7nva7kvJrlr7zoh7Tlop7liqBDUFXkvb/nlKjnjofvvIkiLHFvczoiTVFUVOa2iOaBr+S8oOmAkueahOacjeWKoei0qOmHj++8iDAt6Iez5aSa5LiA5qyh77yMMS3oh7PlsJHkuIDmrKHvvIkiLCJzZXJ2ZXItcG9ydCI6IkdSUEPmnI3liqHlmajkvqblkKzkvKDlhaXov57mjqXnmoTnvZHnu5znq6/lj6MiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dCI6IuWcqOiAg+iZkei/nuaOpeatu+S6oeS5i+WJje+8jOacjeWKoeWZqOetieW+hWtlZXBhbGl2ZSBwaW5n5ZON5bqU55qE5pyA6ZW/5pe26Ze0IiwiZ3JwYy1rZWVwLWFsaXZlIjoi5rKh5pyJ5rS75YqoUlBD6LCD55So5pe25Lik5Liq6L+e57uta2VlcGFsaXZlIHBpbmfmtojmga/kuYvpl7TnmoTmjIHnu63ml7bpl7QiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MiOiLmnI3liqHlmajlnKjlj5HpgIFrZWVwYWxpdmUgcGluZ+a2iOaBr+S5i+mXtOW6lOetieW+heeahOacgOWwj+aXtumXtOmHjyIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YSI6IuWcqOayoeacieaOpeaUtuWIsOS7u+S9leaVsOaNruS5i+WJje+8jOacjeWKoeWZqOWPr+S7peWPkemAgeeahGtlZXBhbGl2ZSBwaW5n5raI5oGv55qE5pyA5aSn5pWw6YeP77yM54S25ZCO5bCG6L+e5o6l6KeG5Li65q275LqhIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEiOiLlnKjmsqHmnInlj5HpgIHmiJbmjqXmlLbmlbDmja7ml7bvvIzmnI3liqHlmajlnKjlj5HpgIFrZWVwYWxpdmUgcGluZ+a2iOaBr+S5i+mXtOW6lOetieW+heeahOacgOWwj+aXtumXtOmHjyIsInBlcm1pdC13aXRob3V0LWNhbGxzIjoi5YWB6K645pyN5Yqh5Zmo5Zyo5rKh5pyJ5rS75YqoUlBD6LCD55So5pe25L+d5oyBR1JQQ+i/nuaOpea0u+WKqCJ9LCJkb2NrZXItbGFiZWwiOiLkvb/nlKjku6XkuIvmjIfku6TlnKggRG9ja2VyIGNvbXBvc2Ug5Lit6L+Q6KGMIElvVCDnvZHlhbPvvIzlubbkuLrpgInlrprnmoTorr7lpIfmj5Dkvpvlh63mja4iLCJpbnN0YWxsLWRvY2tlci1jb21wb3NlIjoi5L2/55So5Lul5LiL6K+05piO5LiL6L2944CB5a6J6KOF5ZKM6K6+572uIERvY2tlciBDb21wb3NlIiwiZG93bmxvYWQtY29uZmlndXJhdGlvbi1maWxlIjoi5LiL6L296YWN572u5paH5Lu2IiwiZG93bmxvYWQtZG9ja2VyLWNvbXBvc2UiOiLkuIvovb3mgqjnmoTnvZHlhbPnmoQgZG9ja2VyLWNvbXBvc2UueW1sIOaWh+S7tiIsImxhdW5jaC1nYXRld2F5Ijoi5ZCv5Yqo572R5YWzIiwibGF1bmNoLWRvY2tlci1jb21wb3NlIjoi5Zyo5YyF5ZCrIGRvY2tlci1jb21wb3NlLnltbCDmlofku7bnmoTmlofku7blpLnkuK3vvIzkvb/nlKjku6XkuIvlkb3ku6TlnKjnu4jnq6/kuK3lkK/liqjnvZHlhbMifSxKbz17ImFkZC1lbnRyeSI6IuWinuWKoOmFjee9riIsImNvbm5lY3Rvci1hZGQiOiLlop7liqDmlrDpgKPmjqXlmagiLCJjb25uZWN0b3ItZW5hYmxlZCI6IuWVn+eUqOmAo+aOpeWZqCIsImNvbm5lY3Rvci1uYW1lIjoi6YCj5o6l5Zmo5ZCN56ixIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiLpnIDopoHpgKPmjqXlmajlkI3nqLHjgIIiLCJjb25uZWN0b3ItdHlwZSI6IumAo+aOpeWZqOmhnuWeiyIsImNvbm5lY3Rvci10eXBlLXJlcXVpcmVkIjoi6ZyA6KaB6YCj5o6l5Zmo6aGe5Z6L44CCIixjb25uZWN0b3JzOiLpgKPmjqXlmajphY3nva4iLCJjcmVhdGUtbmV3LWdhdGV3YXkiOiLlu7rnq4vmlrDplpjpgZMiLCJjcmVhdGUtbmV3LWdhdGV3YXktdGV4dCI6IuaCqOeiuuWumuimgeW7uueri+S4gOWAi+WQjeeoseeCuu+8mid7e2dhdGV3YXlOYW1lfX0n55qE5paw6ZaY6YGT5ZeO77yfIixkZWxldGU6IuWIqumZpOmFjee9riIsImRvd25sb2FkLXRpcCI6IuS4i+i8iemFjee9ruaWh+S7tiIsZ2F0ZXdheToi6ZaY6YGTIiwiZ2F0ZXdheS1leGlzdHMiOiLlkIzlkI3oqK3lgpnlt7LlrZjlnKjjgIIiLCJnYXRld2F5LW5hbWUiOiLplpjpgZPlkI3nqLEiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiLpnIDopoHplpjpgZPlkI3nqLHjgIIiLCJnYXRld2F5LXNhdmVkIjoi6ZaY6YGT6YWN572u5bey5oiQ5Yqf5L+d5a2Y44CCIiwianNvbi1wYXJzZSI6IueEoeaViOeahEpTT04iLCJqc29uLXJlcXVpcmVkIjoi5qyE5L2N5LiN6IO954K656m644CCIiwibm8tY29ubmVjdG9ycyI6IueEoemAo+aOpeWZqCIsIm5vLWRhdGEiOiLnhKHphY3nva4iLCJuby1nYXRld2F5LWZvdW5kIjoi5pyq5om+5Yiw6ZaY6YGT44CCIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiDmnKrmib7liLAne3tpdGVtfX0n44CCIiwicGF0aC1sb2dzIjoi5pel6KqM5paH5Lu255qE6Lev5b6RIiwicGF0aC1sb2dzLXJlcXVpcmVkIjoi6ZyA6KaB6Lev5b6R44CCIixyZW1vdGU6Iuenu+mZpOmFjee9riIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoi5pel6KqM6KiY6YyE57Sa5YilIiwicmVtb3ZlLWVudHJ5Ijoi56e76Zmk6YWN572uIiwic2F2ZS10aXAiOiLkv53lrZjphY3nva7mlofku7YiLCJzZWN1cml0eS10eXBlIjoi5a6J5YWo6aGe5Z6LIiwic2VjdXJpdHktdHlwZXMiOnsiYWNjZXNzLXRva2VuIjoi6Kiq5ZWPVG9rZW4iLHRsczoiVExTIn0sc3RvcmFnZToi6LKv5a2YIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoi5paH5Lu25Lit55qE5pyA5aSn57SA6YyEIiwic3RvcmFnZS1tYXgtZmlsZXMiOiLmnIDlpKfmlofku7bmlbgiLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiLmnIDlsI/mlbjph4/ngrox44CCIiwic3RvcmFnZS1tYXgtZmlsZXMtcGF0dGVybiI6IuiZn+eivOeEoeaViOOAgiIsInN0b3JhZ2UtbWF4LWZpbGVzLXJlcXVpcmVkIjoi6ZyA6KaB6Jmf56K844CCIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6IuWtmOWEsuS4reeahOacgOWkp+e0gOmMhCIsInN0b3JhZ2UtbWF4LXJlY29yZHMtbWluIjoi5pyA5bCP57SA6YyE5pW454K6MeOAgiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6IuiZn+eivOeEoeaViOOAgiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiLpnIDopoHmnIDlpKfntIDpjITmlbgiLCJzdG9yYWdlLXBhY2stc2l6ZSI6IuacgOWkp+S6i+S7tuWMheWkp+WwjyIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6IuacgOWwj+aVuOmHj+eCujHjgIIiLCJzdG9yYWdlLXBhY2stc2l6ZS1wYXR0ZXJuIjoi6Jmf56K854Sh5pWI77yOIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiLpnIDopoHmnIDlpKfkuovku7bljIXlpKflsI8iLCJzdG9yYWdlLXBhdGgiOiLlrZjlhLLot6/lvpEiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiLpnIDopoHlrZjlhLLot6/lvpHjgIIiLCJzdG9yYWdlLXR5cGUiOiLlrZjlhLLpoZ7lnosiLCJzdG9yYWdlLXR5cGVzIjp7ImZpbGUtc3RvcmFnZSI6IuaWh+S7tuWtmOWEsiIsIm1lbW9yeS1zdG9yYWdlIjoi6KiY5oa26auU5a2Y5YSyIn0sdGhpbmdzYm9hcmQ6IlRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdCI6IlRoaW5nc0JvYXJk5Li75qmfIiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6IumcgOimgeS4u+apn+OAgiIsInRoaW5nc2JvYXJkLXBvcnQiOiJUaGluZ3NCb2FyZOmAo+aOpeWfoCIsInRoaW5nc2JvYXJkLXBvcnQtbWF4Ijoi5pyA5aSn5Z+g6Jmf54K6IDY1NTM144CCIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiLmnIDlsI/ln6DomZ/ngrox44CCIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoi6YCj5o6l5Z+g54Sh5pWI44CCIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6IumcgOimgemAo+aOpeWfoOOAgiIsdGlkeToi5pW055CGIiwidGlkeS10aXAiOiLmlbTnkIbphY3nva5KU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoi6YCj5o6l5Zmoe3t0eXBlTmFtZX196YWN572uIiwidGxzLXBhdGgtY2EtY2VydGlmaWNhdGUiOiLplpjpgZPkuIpDQeitieabuOeahOi3r+W+kSIsInRscy1wYXRoLWNsaWVudC1jZXJ0aWZpY2F0ZSI6IumWmOmBk+S4iueUqOaItuerr+aGkeaTmueahOi3r+W+kSIsInRscy1wYXRoLXByaXZhdGUta2V5Ijoi6ZaY6YGT5LiK55qE56eB6ZGw6Lev5b6RIiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiLliIfmj5vlhajonqLluZUiLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IumFjee9rkpTT04qIiwidXBkYXRlLWNvbmZpZyI6IuWinuWKoC/mm7TmlrDphY3nva5KU09OIn07Y29uc3QgWG89W2NhLHBhLEZhLERhLEFhLE5hLFBhLGVvLEVvLGlvLGFvLG9vLHFvLHRvLEdvLG5vXTtjbGFzcyBab3tjb25zdHJ1Y3RvcihlKXt0aGlzLnRyYW5zbGF0ZT1lLGZ1bmN0aW9uKGUpe2Uuc2V0VHJhbnNsYXRpb24oImVuX1VTIixPbywhMCksZS5zZXRUcmFuc2xhdGlvbigiYXJfQUUiLFJvLCEwKSxlLnNldFRyYW5zbGF0aW9uKCJjYV9FUyIsVm8sITApLGUuc2V0VHJhbnNsYXRpb24oImNzX0NaIixCbywhMCksZS5zZXRUcmFuc2xhdGlvbigiZGFfREsiLFVvLCEwKSxlLnNldFRyYW5zbGF0aW9uKCJlc19FUyIsX28sITApLGUuc2V0VHJhbnNsYXRpb24oImtvX0tSIixIbywhMCksZS5zZXRUcmFuc2xhdGlvbigibHRfTFQiLHpvLCEwKSxlLnNldFRyYW5zbGF0aW9uKCJubF9CRSIsV28sITApLGUuc2V0VHJhbnNsYXRpb24oInBsX1BMIixqbywhMCksZS5zZXRUcmFuc2xhdGlvbigicHRfQlIiLEtvLCEwKSxlLnNldFRyYW5zbGF0aW9uKCJzbF9TSSIsJG8sITApLGUuc2V0VHJhbnNsYXRpb24oInRyX1RSIixZbywhMCksZS5zZXRUcmFuc2xhdGlvbigiemhfQ04iLFFvLCEwKSxlLnNldFRyYW5zbGF0aW9uKCJ6aF9UVyIsSm8sITApfShlKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlpvLGRlcHM6W3t0b2tlbjpZLlRyYW5zbGF0ZVNlcnZpY2V9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5OZ01vZHVsZX0pfXN0YXRpY3t0aGlzLsm1bW9kPXQuybXJtW5nRGVjbGFyZU5nTW9kdWxlKHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlpvLGRlY2xhcmF0aW9uczpbY2EscGEsRmEsRGEsQWEsTmEsUGEsZW8sRW8saW8sYW8sb28scW8sdG8sR28sbm9dLGltcG9ydHM6W0gsRCxRLE1hLEVhLHFhLHZhLElhLExvLGtvLEZvLHBvLEFvLE5vLGdvLFRhLERvLFBvLGthLENhLFNhXSxleHBvcnRzOltjYSxwYSxGYSxEYSxBYSxOYSxQYSxlbyxFbyxpbyxhbyxvbyxxbyx0byxHbyxub119KX1zdGF0aWN7dGhpcy7JtWluaj10Lsm1ybVuZ0RlY2xhcmVJbmplY3Rvcih7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpabyxwcm92aWRlcnM6W3ZhXSxpbXBvcnRzOltILEQsUSxNYSxFYSxxYSxJYSxMbyxrbyxGbyxwbyxBbyxObyxnbyxEbyxQb119KX19ZSgiR2F0ZXdheUV4dGVuc2lvbk1vZHVsZSIsWm8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Wm8sZGVjb3JhdG9yczpbe3R5cGU6dSxhcmdzOlt7ZGVjbGFyYXRpb25zOlhvLGltcG9ydHM6W0gsRCxRLE1hLEVhLHFhLHZhLElhLExvLGtvLEZvLHBvLEFvLE5vLGdvLFRhLERvLFBvLGthLENhLFNhXSxleHBvcnRzOlhvLHByb3ZpZGVyczpbdmFdfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOlkuVHJhbnNsYXRlU2VydmljZX1dfSl9fX0pKTsvLyMgc291cmNlTWFwcGluZ1VSTD1nYXRld2F5LW1hbmFnZW1lbnQtZXh0ZW5zaW9uLmpzLm1hcAo=",
- "public": false
- },
- {
- "link": "/api/images/system/gateway_custom_statistics_system_widget_image.png",
- "title": "\"Gateway custom statistics\" system widget image",
- "type": "IMAGE",
- "subType": "IMAGE",
- "fileName": "gateway_custom_statistics_system_widget_image.png",
- "publicResourceKey": "suDX4BE4lU6vbUeMR3B5vhESpkpNdB0N",
- "mediaType": "image/png",
- "data": "iVBORw0KGgoAAAANSUhEUgAAAMYAAACfCAYAAACiGqZiAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABQaSURBVHgB7Z1pjJVVmsdPiYVgFaaKUajSAZtFHUpjYQuOTSEtLrjMqBFH/dKuX9RuNTrTZoKmI90TdSbTk7gMLX5wQY2Je1wmIjiDg4BG2aPQKlUkoFL4gSKRCrWw9Pk98Nx+63Kq7q2FpYr/j1zuu5z3nPOe8/zPec6t+z63ZG8kCCE6cEwQQhyAhCFEAglDiAQShhAJJAwhEkgYQiSQMIRIcGwxidrad4f23XuC/uIh+jMlJSGUDhoUBpcWng8KCgNRtO3aE4To7zCwt+3abduFxFFQOswUQgwk2nfvLpimoDDkPomBRjE2rcW3EAmKWnx3RVNTU/h02VLbrqisDGN+Nia0tLaEMWPGdki3cWNDqK4+OezcudMWQRUVlR3Or1+/LkyYUBNWrVwRzvn5uUGIw0mvhbF9e1MYMmRIuOjiS8KWLT+E9evWhZaWFjN8FwznVq1cGbaPaTLxDBkyNDQ0rAiNW7ZEsVSHqiiYlStWmJgQmosNEf3DP15l+QtxKOm1MDDmlmjA//e/H4XK4cNtH7FURgFUVFTE7e0mmJ/FmWTM2LGhob4hptt3LecRBeLghQBIv7GhwWaNysqKKLKdEoY45PR6jYELVBEtfUrdVDNoh23EMWbMGBNOPpz7+bmT4gzz1QHnhg4dYoJo2tYUZ42WIMShptfCYF3AjLBs6ZLoMl0cqk+uNleI2WFndKl4IRz2EQvn980mldF9Wh4m1NRYPrhYuGDsT6g50/LYty6pDkIcakoKPcG3Y2d7EGKgUT60tMvz+rhWiAS9XnwLcbjYHt3tfHDJ+wIJQ/RbVq5aaZ+GOvxZ4KKLLg59gVwp0W9BBIjBtvtQFHBQFt8LPpwfxo8fHzZs2GDvZWXlYc2a1XauvLzcPtrtC5bGT8Ia6uvDjBmXhZFVVd26dseOHfZJWpZx48aHcbG+WbY2NubqXhXLOLt2YigGrtu6tbHo9KLn8Oll/jctCnFYFt9bt26Nhtece2+MBrJ27ZpovNXRyNaYcFI88Nt/DsXy9ltvxI9/601kTz89J6zdb7yFwMhfenGebVOf5ubmsHDhh7ZdPqz8gPTU3c9Td8othrI4APASB5/uiqIY+mSNMfvh38X/S+JsUBZ++8C/JtOMHFkVamtr40i6JZSUlJiBMUIzonL9lCl1NsIyinMcYyfP8ePHhl/ddGs05hfMiBvjSPxALKOxcWsc3cfFtOPCXb/+jc1EjNIvvTTPtjl+9tkTw+9n/y6MjfmR9+zZ/xYWLvjQtuvq6qw+IewN9fUb9m+HDuXcdddvOtSd1wP/cn+4duY/WT0XxLyam3dYurfi/dx1192B6XdurPulcRarjzMm9+LtU1U1MtwZ0+ZfS/3EkUWvZwxckptuviUa569Dc9zG6FIsW7Yk/PE//yO8/PKL0WBrTRDLli0148GQZ1x2uRkgMwBGwzt5Ll2y1PL99NNl4dprr7OydjTvK3NtHMExujWrV5u7hkHiVl0787poqG9ZubhYiBWR1Ee3C4NlO2WMzCbMchgvebz99pud3vfLUYAI8k4TxZtR2BdYvcmjdr/7hMBw99if/fs/mEhoH7/2VzfdYteKI49ezxgYLa7JlClTTSSdwXmMmVF97tw54eE4er/UOM9crBkzLu+QFuNhNCWtr0cenv2HOMu8aaM7Iz8ujs9OT/9pjo3ClI+7E/8zgQCC6Q6IE6rie1f3syMa/YIPP7RtDP/sOJv81x/nW3nMAhtiPfe1T3POpbp0f52y1zJTiiOPPpkxGPFrJ9Z2OluAGXo8/9Z+FwowqIUL5ptR5dLF/HzEnXHZZdHQysw9QXw+2q9Zu8ZEgjvmIuK77MxCuHMz42iPK5WiPBquXZMweuq1du1qE9+CWK+/jvz76v70n/473ue+Y2PHjouirbMXdaQNRoyosvfs2mJkdJ/W2kzUGGfMf7dys9eWax1yRDJodqSrBIWe9x4+fLi5DLgp06dfFAYPHmzHcGHodHuPxrh582ZLM2rUqeamwODSwXbtpMnn2X55NDAM6MKYD9+VYvSvqTkzjBo92vJZtnSpfTJ04YXTbSb5LuZJmrq4PWnyZDNkjn3xxRdmwBgo9eH6krDPrWIbd4m68W1gjrPNcdKSx8eLFsVyqk2InN+2rcnqPnny3+dGfb7TRTrqWTd1au6+x0dxZfN1cS2Pdaqru8DKyV47+bzz7FpxaBlcOqjL84ftu1K4SSyw8bXdfRHiUFHo49rDJ4w4M5jbUSZXQhx6jlhhCHE40bdrhegBEoYQCQr+HaNVUQjFAKTQyragMHbtVsQ1MfBoad8ThnQRprNEP04pxIFojSFEAglDiAQShhAJJAwhEkgYQiSQMIRIUNSDSnviJ7rt7YV/hUaIIxkeqS499hh7L5i20N8xdu/eE/8Yslu/rCQGDEOPOzYMOqZrcRR0pVrb9WutYmDR1t4Hv8G3R6oQA4zdewrbtBbfQiSQMIRIIGEIkUDCECKBhCFEAglDiAQShhAJ+kQYbW1t9sP3hKLsKt7roaJp2zYLFi1ET+kTYfz/okVh+N8Mt/CTny5dakI5nFC+xbMVoof0Otr5tjg6W4za/WE2iSHbHg2TEJz82hFxWfld77+rqQn/8/57YXjlcItCOGLkSPsy146fdoRfTp8eln/xuV3f3t4eyo4vs/dtTdvCpEmTLQYt54eVDwutba0Wt5bo5pRL/NeRI0Za/ss//zy072oPra2tFkdWiJ7S6xkDEZSVl+X2CWiMIf95/Xoz+F/U1VkQZUAk7P9iyr4o37xXDq/MRR6fMKEm/PLC6aFpe5OlQxSIyIMt/+2oUeaqefpRo0Zb+s3fbTaBIibyHKcfYhG9pNfCKI1Gmw2pz0xh+5kvL+6N/zpzrzD6tva23HYKW8OsX2fpjht8XIdrO9altMt8hCiWXgsDl6WtrT1s3rTJRMGvHCGWkdFV+nNckHNsVxzJe2OsTdGlsuv37nPdUphbta3JFt7URYje0CdBnRnRv9u8yd5xY0r3i6ChfkOHY7hFrEVscRxnFdwuDBmj37F/f3An6Tyvsv3rGa7z9Jtj2bhVpOVHXzhvaxutM0QnKNq5EAkU7VyIHiBhCJFAwhAigYQhRAIJQ4gEEoYQCSQMIRJIGEIkkDCESFDwa+eN21uDEAONqpKSUD6kc/PXb/AJkUCulBAJJAwhEkgYQiSQMIRIIGEIkUDCECKBhCFEAglDiAQShhAJJAwhEkgYQiSQMIRIIGEIkUDCECKBhCFEgm79PsaqVatCY2Njh2MTJ04MGzZsCBdccEE4UiEQdH/7vYwtW7aE1atXW7sSsBo++eQT2z7nnHOCOLh0a8Yg8DLCeOqpp6zT2LYff+mDnxd78MEHreP7mldffTU88cQT4Ycffgj9Cdr2scceC6+//rrt08YPPfRQeOGFF4I4+HRrxmD04vXBBx+EK664wmYLjBmRVFVVheeffz40NzeHn376KYwfP95mkuuvv95e9957r/2ATF1dnW0jBNLyACHnyYP0jIieT21traW94YYbLD/SXH755WHJkiVWNnn4Oa595JFHwmmnnZarL6KAk08+Obz22muWlu3+AvdCW992223WzrSxk9+ejz76qO3T9k8++aTd75o1a2yfduH6N954w9p31qxZ9o7QHK5fvHixpYH8tjza6PUaw2cRYPZ49tlnrdExwnvuuceMmc7l2OOPP277/rr11lstHR2AcWMAbCO6u+++O8yfP9/y5nX77bebgOh8Oj17DoFwLjuaIgrcpxkzZthPnd1yyy12XX+aORg0EAMurA9G4DOrtyfnaQ/aE5HQJxi479Mvp59+uvUH7cw5XrT1c889l5vxaT9EQ1u6QI5WDsri231i3l04vOg8Zhw6mxGKfUY3Tw/41rgP/vNkqTxT5dHhWZeOci699NLcvoujP601uB8GC9qDbZ8xaEv2vT25fwzc25NZwvd5p00ZFBARIvG8mXWzZfEiTf65o5FD8qkUjUxj04HffvutvTPKe+PjBlVXV9vIt2H/zxDTucWuXXC9eE2dOjV3LOUyIY4hQ4aE/gSjOsbKKO5k2xOjHzZsWK49Oc6gwj6DBWl8YPL0ngdthuj8HMc4r/gYwabrbhOn8r2xAW2bd/ajIds7RAO349lj7Ed3wM51te/X+Ct7PIoql96PxRHT0rGfIn4itTe6VXv7G6n29LaGYtszte95xFnEtqOLlutPb0vKP5rp9+Fzpk2bZovGrmhpael3M8XBhpmBT72YYXDHcNnEX1FcKSES6C/fQiSQMIRIIGEIkUDCECKBhCFEAglDiAQFv0S4a9euIMRA49hjuzb9gsLYvn17EGKgceKJJ3Z5Xn/gEyKB1hhCJJAwhEggYQiRQMIQIoGEIUQCCUOIBBKGEAkGzY5054Lly5db+JqdO3fac9W8L1q0KHz11VfhpJNOCkOHDrXtjz/+uMs0qTxhxIgR9l5fX2/HRo8eHUpLSzukX7BgQYe8vv/+e3vwn3J4rjub3tPyF/xs3jzB5vvF3FuqHuTT1NRkARYK3WNPoD7k19DQkAviQLSQr7/+utO2Tt1Ptl1FcXRrxvjyyy+tIwg6QAgXjOvdd98Nxx9/vHUKD9YTnoZjpKFj6NRsmhdffLFDni4A0pOODqaM9957L4wbNy4pIv4aP2nSpPDMM89Yesrl8UzKXrFiRS4tdeSxVtJ63u+8805YuHChleFwvKt7Q2xc42lh7ty5VkfuDzhPBA7KIsBbX0CeY8eOtRftwD4CoR3ff//9ZFtn29Xvx+9dFE+3hHHKKaeEq6++Ojcy8Rw1I+aZZ55pBkEoTDrwzjvvtDRu1DfeeGM499xzLX2+odO5XE96hIBBYpgYA51LnlnofE8PlE9sKqKM0PnZZ7vJz+NKUS6va665xurqUAYGl7030pGPl0V6jMxFCNwj5xyuxQjz69AbEDXlco/kycvbw9syv62z7cRxXty/RwcRxdGtSIQ0MOCenHXWWbn9ztKwjYEDHcwLA0YMzBJ0Gp2fD4bgxoshYnBc63lljYBtysGdwhgQoePiIZBYVgxZEA8vh3qzT56ImdE2K6ybb745dAblM3JnBdNTENhVV11l9+DB4xAvIqb9vI5e52xbi97T7cU3nYDhejAzN1I60rcxjnXr1tkoCrgpGAsBz3B16Gyu5xgd6tO8vzMa0vE+C7FNesSYHTV9dGYfATF6puqLQWVjThV7b8w2XIfBFQrtycxDOu7RR/ne4OslyuW+yZ+ZFOFTBm0M+W3t0C5Z96kv1jxHE91afNM5GCCG5j46HfDZZ5/ZuVNPPdU6E9+fxeo333xjnUPwNGYIFo0cP+OMM3IjMOk/+uij8OOPP9qISwezUCZP0iMKT89XhXnh2zNqUh7n58yZE0444QQ7hkFSBmA05E1AMurrLoenQ5i+xiHf/Htjwcr1xICdOXOmHaOs888/37bdp6cOXEO0P/IlJM306dNDb3nllVes7RhYrrzyytw9UWfuhQV4fluTljoQPI374l43bdqUC+8piqNb367F7ckfhXydkf1UJDtaehqPGZsaecnXQ/W7f56fZ5auygN3MTqrr7tvXpbvd3ZvWZeR+/By8/Ppqs49BREgVi8jvx3z29pn7my/ZNtVFIe+di5EAv2BT4gEEoYQCSQMIRJIGEIkkDCESCBhCJFAwhAiQcHvSvXFTxULcaSR+i3HLIpEKEQC/eVbiARaYwiRQMIQIoGEIUQCCUOIBBKGEAkkDCESSBhCJOhWlBAgYMDGjRst2gfPZ/NIKs9g85inR7XgoX0e0K+oqLA0PF7paQgukB9Fw/MkmIAHIvBgY1yffbSUvHi2OptXtjyu9+Bk2brV1NRY7CmuJ29iQOUHSMi/N56nznLHHXd02Pf8Scufg7q6x57g9+XtQiQUnkHvqq2zQQ9S7SqKo9sB1wh2hoHw7DGxigjnQjQPOgrD4BllOoM0HheJh/KJuEH8J8LRdJanP8jvoiAiRn6IHs5hEJ4Xhk7+RM4gLUbicJxABYS8oZ6kxZAIYuDPTnOM7dS9sc2Le/N6ZAO1kSf368cRA2Xl32NPoD7ejh7xkAEB47/kkktMIKm2TrUrbaaAa92jWzMGYVx4gQcB492DenmoG4/T5PseBmfx4sUHjKQYoBsdD/27MDg2b948M4Js3CfSk1824MGsWbNydfLZAjykjAeC44VAs1H7uIZtRvn8e3MQ0+TJk3NRErkH8qAsH6GZjSiH430Rqob7YhYA8kME999/v+2z7SGG8ts61a4ecE1xp4qnR2sMAoBljTNFflA2jK21tdW2GZEJcdnZyEraadOm2UjNKImxkT4/TGZ+eZAfWI20uETMKCkQddalyr83DA7heJhMZiqfpVzkXh+MOT+qSE8hb8plcEAIWfeQsrOuUVcB8ETP6FHANTopG3ANY/BR2dPgw3sa9t398QiEBEfz9YMblgdS4xg+u4ehxFBJT34+S4EHJfOgY9kohA6i4LpiQtrk3xsgxnz/3EPkeABoymdWAe4J4ffWdeG+77vvvlzYUNY9tA8DhbuNXudsWzvZdvX8RPF0K+AafitRxfnGrQdPJhgaxsM+nUOAMAKX0Vkcw4jpFNYfq1evNiPPTvl0IOdIS2A0ApVhCMwmHGM0zxo1QdCIKo5RkhfnCILGtQRGwyipE/jClK/OkxeuGunyA64RIHnQoEEH3BsixJd3wXENQqOOXMuLwHDXXXedBWwjEjn1onx3y3oD9SdPbxNmD2YlgqtRR9ouv61x9egD6ubtSkC2zkKUijT6dq0QCfR3DCESSBhCJJAwhEggYQiRQMIQIoGEIUQCCUOIBBKGEAkkDCESSBhCJJAwhEggYQiRQMIQIsFfACqLpuwst386AAAAAElFTkSuQmCC",
- "public": true
- }
]
}
\ No newline at end of file
diff --git a/application/src/main/data/json/system/widget_types/gateway_general_chart_statistics.json b/application/src/main/data/json/system/widget_types/gateway_general_chart_statistics.json
index a5ad8b9a70..1c89f7ae77 100644
--- a/application/src/main/data/json/system/widget_types/gateway_general_chart_statistics.json
+++ b/application/src/main/data/json/system/widget_types/gateway_general_chart_statistics.json
@@ -43,28 +43,5 @@
"ocpp",
"ble",
"bluetooth"
- ],
- "resources": [
- {
- "link": "/api/resource/js_module/system/gateway-management-extension.js",
- "title": "gateway-management-extension.js",
- "type": "JS_MODULE",
- "resourceKey": "gateway-management-extension.js",
- "fileName": "gateway-management-extension.js",
- "mediaType": "application/javascript",
- "data": "U3lzdGVtLnJlZ2lzdGVyKFsiQGFuZ3VsYXIvY29yZSIsIkBhbmd1bGFyL21hdGVyaWFsL3NvcnQiLCJAYW5ndWxhci9tYXRlcmlhbC90YWJsZSIsIkBhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvciIsIkBzaGFyZWQvcHVibGljLWFwaSIsIkBhbmd1bGFyL2NvbW1vbiIsIkBhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXIiLCJAYW5ndWxhci9tYXRlcmlhbC90YWJzIiwiQGFuZ3VsYXIvZmxleC1sYXlvdXQvZmxleCIsIkBhbmd1bGFyL2ZsZXgtbGF5b3V0L2V4dGVuZGVkIiwiQG5neC10cmFuc2xhdGUvY29yZSIsIkBjb3JlL3B1YmxpYy1hcGkiLCJAYW5ndWxhci9mb3JtcyIsIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvbiIsIkBhbmd1bGFyL21hdGVyaWFsL2NhcmQiLCJAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCIsIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQiLCJAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QiLCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlIiwicnhqcyIsInJ4anMvb3BlcmF0b3JzIiwidHNsaWIiLCJAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwIiwiQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zIiwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbiIsIkBhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbiIsIkBzaGFyZWQvZGlyZWN0aXZlcy90cnVuY2F0ZS13aXRoLXRvb2x0aXAuZGlyZWN0aXZlIiwiQHNoYXJlZC9jb21wb25lbnRzL2RpYWxvZy9qc29uLW9iamVjdC1lZGl0LWRpYWxvZy5jb21wb25lbnQiLCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2ciLCJAc2hhcmVkL2NvbXBvbmVudHMvZGlyZWN0aXZlcy90Yi1qc29uLXRvLXN0cmluZy5kaXJlY3RpdmUiLCJAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUiLCJAc2hhcmVkL2NvbXBvbmVudHMvYnV0dG9uL3RvZ2dsZS1wYXNzd29yZC5jb21wb25lbnQiLCJAc2hhcmVkL2NvbXBvbmVudHMvdG9nZ2xlLWhlYWRlci5jb21wb25lbnQiLCJAc2hhcmVkL2NvbXBvbmVudHMvdG9nZ2xlLXNlbGVjdC5jb21wb25lbnQiLCJAbmdyeC9zdG9yZSIsIkBhbmd1bGFyL3JvdXRlciIsIkBhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXIiLCJAc2hhcmVkL2NvbXBvbmVudHMvanNvbi1jb250ZW50LmNvbXBvbmVudCIsIkBzaGFyZWQvaW1wb3J0LWV4cG9ydC9pbXBvcnQtZXhwb3J0LnNlcnZpY2UiLCJAc2hhcmVkL2NvbXBvbmVudHMvdG9hc3QuZGlyZWN0aXZlIiwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3giLCJAc2hhcmVkL2NvbXBvbmVudHMvZW50aXR5L2VudGl0eS1nYXRld2F5LXNlbGVjdC5jb21wb25lbnQiLCJAc2hhcmVkL2NvbXBvbmVudHMvaGVscC5jb21wb25lbnQiLCJAc2hhcmVkL2NvbXBvbmVudHMvaGludC10b29sdGlwLWljb24uY29tcG9uZW50IiwiQHNoYXJlZC9jb21wb25lbnRzL2hlbHAtcG9wdXAuY29tcG9uZW50IiwiQHNoYXJlZC9jb21wb25lbnRzL3BvcG92ZXIuc2VydmljZSIsIkBhbmd1bGFyL21hdGVyaWFsL2NoaXBzIiwiQHNoYXJlZC9jb21wb25lbnRzL2ljb24uY29tcG9uZW50IiwiQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSIsIkBzaGFyZWQvZGVjb3JhdG9ycy9jb2VyY2lvbiIsIkBzaGFyZWQvY29tcG9uZW50cy9qc29uLW9iamVjdC1lZGl0LmNvbXBvbmVudCIsIkBzaGFyZWQvY29tcG9uZW50cy9tYXJrZG93bi5jb21wb25lbnQiLCJAc2hhcmVkL2NvbXBvbmVudHMvdGItZXJyb3IuY29tcG9uZW50IiwiQHNoYXJlZC9jb21wb25lbnRzL2ZpbGUtaW5wdXQuY29tcG9uZW50IiwiQHNoYXJlZC9jb21wb25lbnRzL2J1dHRvbi9jb3B5LWJ1dHRvbi5jb21wb25lbnQiXSwoZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO3ZhciB0LG4sYSxvLGkscixzLGwsYyxwLG0sZCx1LGcsZix5LGIsaCx4LHYsdyxDLFQsUyxrLEwsRixJLEEsTixNLEUscSxELFAsRyxPLFIsVixCLFUsXyxILHosVyxqLEssWSxRLEosWCxaLGVlLHRlLG5lLGFlLG9lLGllLHJlLHNlLGxlLGNlLHBlLG1lLGRlLHVlLGdlLGZlLHllLGJlLGhlLHhlLHZlLHdlLENlLFRlLFNlLGtlLExlLEZlLEllLEFlLE5lLE1lLEVlLHFlLERlLFBlLEdlLE9lLFJlLFZlLEJlLFVlLF9lLEhlLHplLFdlLGplLEtlLCRlLFllLFFlLEplLFhlLFplLGV0LHR0LG50LGF0LG90LGl0LHJ0LHN0LGx0LGN0LHB0LG10LGR0LHV0LGd0LGZ0LHl0LGJ0LGh0LHh0LHZ0LHd0LEN0LFR0LFN0O3JldHVybntzZXR0ZXJzOltmdW5jdGlvbihlKXt0PWUsbj1lLkNvbXBvbmVudCxhPWUuSW5wdXQsbz1lLlZpZXdDaGlsZCxpPWUuRXZlbnRFbWl0dGVyLHI9ZS5pbmplY3Qscz1lLkRpcmVjdGl2ZSxsPWUuT3V0cHV0LGM9ZS5QaXBlLHA9ZS5JbmplY3QsbT1lLmZvcndhcmRSZWYsZD1lLkNoYW5nZURldGVjdGlvblN0cmF0ZWd5LHU9ZS5OZ01vZHVsZX0sZnVuY3Rpb24oZSl7Zz1lLk1hdFNvcnQsZj1lfSxmdW5jdGlvbihlKXt5PWUuTWF0VGFibGVEYXRhU291cmNlLGI9ZX0sZnVuY3Rpb24oZSl7aD1lLk1hdFBhZ2luYXRvcix4PWV9LGZ1bmN0aW9uKGUpe3Y9ZS5oZWxwQmFzZVVybCx3PWUuRGlyZWN0aW9uLEM9ZS5QYWdlTGluayxUPWUuRGF0YUtleVR5cGUsUz1lLkxlZ2VuZFBvc2l0aW9uLGs9ZS5OVUxMX1VVSUQsTD1lLkF0dHJpYnV0ZVNjb3BlLEY9ZS5EYXRhc291cmNlVHlwZSxJPWUuRW50aXR5VHlwZSxBPWUud2lkZ2V0VHlwZSxOPWUuY29lcmNlQm9vbGVhbixNPWUuZW1wdHlQYWdlRGF0YSxFPWUuaXNDbGllbnRTaWRlVGVsZW1ldHJ5VHlwZSxxPWUuVGVsZW1ldHJ5U3Vic2NyaWJlcixEPWUuU2hhcmVkTW9kdWxlLFA9ZS5EaWFsb2dDb21wb25lbnQsRz1lLkNvbnRlbnRUeXBlLE89ZS5QYWdlQ29tcG9uZW50LFI9ZS5UYlRhYmxlRGF0YXNvdXJjZSxWPWUuSE9VUixCPWUuY29lcmNlTnVtYmVyLFU9ZS5EZXZpY2VDcmVkZW50aWFsc1R5cGV9LGZ1bmN0aW9uKGUpe189ZSxIPWUuQ29tbW9uTW9kdWxlfSxmdW5jdGlvbihlKXt6PWV9LGZ1bmN0aW9uKGUpe1c9ZX0sZnVuY3Rpb24oZSl7aj1lfSxmdW5jdGlvbihlKXtLPWV9LGZ1bmN0aW9uKGUpe1k9ZSxRPWUuVHJhbnNsYXRlTW9kdWxlfSxmdW5jdGlvbihlKXtKPWUuZGVlcENsb25lLFg9ZSxaPWUuZGVsZXRlTnVsbFByb3BlcnRpZXMsZWU9ZS5pc0VxdWFsLHRlPWUuaXNOdW1iZXIsbmU9ZS5pc1N0cmluZyxhZT1lLldJTkRPVyxvZT1lLmlzTGl0ZXJhbE9iamVjdCxpZT1lLmlzRGVmaW5lZEFuZE5vdE51bGwscmU9ZS5pc1VuZGVmaW5lZE9yTnVsbCxzZT1lLmdlbmVyYXRlU2VjcmV0LGxlPWUuaXNPYmplY3QsY2U9ZS5jYW1lbENhc2UscGU9ZS5kZWVwVHJpbX0sZnVuY3Rpb24oZSl7bWU9ZSxkZT1lLkZvcm1CdWlsZGVyLHVlPWUuVmFsaWRhdG9ycyxnZT1lLk5HX1ZBTFVFX0FDQ0VTU09SLGZlPWUuTkdfVkFMSURBVE9SUyx5ZT1lLkZvcm1Db250cm9sfSxmdW5jdGlvbihlKXtiZT1lfSxmdW5jdGlvbihlKXtoZT1lfSxmdW5jdGlvbihlKXt4ZT1lfSxmdW5jdGlvbihlKXt2ZT1lfSxmdW5jdGlvbihlKXt3ZT1lfSxmdW5jdGlvbihlKXtDZT1lLFRlPWUuRXJyb3JTdGF0ZU1hdGNoZXJ9LGZ1bmN0aW9uKGUpe1NlPWUuU3ViamVjdCxrZT1lLmZyb21FdmVudCxMZT1lLkJlaGF2aW9yU3ViamVjdCxGZT1lLlJlcGxheVN1YmplY3QsSWU9ZS5vZixBZT1lLmZvcmtKb2lufSxmdW5jdGlvbihlKXtOZT1lLnRha2VVbnRpbCxNZT1lLmZpbHRlcixFZT1lLnRhcCxxZT1lLmNhdGNoRXJyb3IsRGU9ZS5tYXAsUGU9ZS5wdWJsaXNoUmVwbGF5LEdlPWUucmVmQ291bnQsT2U9ZS50YWtlLFJlPWUuc3RhcnRXaXRoLFZlPWUuZGVib3VuY2VUaW1lLEJlPWUuZGlzdGluY3RVbnRpbENoYW5nZWQsVWU9ZS5zd2l0Y2hNYXAsX2U9ZS5tZXJnZU1hcH0sZnVuY3Rpb24oZSl7SGU9ZS5fX2RlY29yYXRlfSxmdW5jdGlvbihlKXt6ZT1lLFdlPWUuTWF0VG9vbHRpcH0sZnVuY3Rpb24oZSl7amU9ZS5TZWxlY3Rpb25Nb2RlbH0sZnVuY3Rpb24oZSl7S2U9ZX0sZnVuY3Rpb24oZSl7JGU9ZX0sZnVuY3Rpb24oZSl7WWU9ZX0sZnVuY3Rpb24oZSl7UWU9ZS5Kc29uT2JqZWN0RWRpdERpYWxvZ0NvbXBvbmVudH0sZnVuY3Rpb24oZSl7SmU9ZSxYZT1lLk1BVF9ESUFMT0dfREFUQX0sZnVuY3Rpb24oZSl7WmU9ZX0sZnVuY3Rpb24oZSl7ZXQ9ZX0sZnVuY3Rpb24oZSl7dHQ9ZX0sZnVuY3Rpb24oZSl7bnQ9ZX0sZnVuY3Rpb24oZSl7YXQ9ZX0sZnVuY3Rpb24oZSl7b3Q9ZX0sZnVuY3Rpb24oZSl7aXQ9ZX0sZnVuY3Rpb24oZSl7cnQ9ZX0sZnVuY3Rpb24oZSl7c3Q9ZX0sZnVuY3Rpb24oZSl7bHQ9ZX0sZnVuY3Rpb24oZSl7Y3Q9ZX0sZnVuY3Rpb24oZSl7cHQ9ZX0sZnVuY3Rpb24oZSl7bXQ9ZX0sZnVuY3Rpb24oZSl7ZHQ9ZX0sZnVuY3Rpb24oZSl7dXQ9ZX0sZnVuY3Rpb24oZSl7Z3Q9ZX0sZnVuY3Rpb24oZSl7ZnQ9ZX0sZnVuY3Rpb24oZSl7eXQ9ZX0sZnVuY3Rpb24oZSl7YnQ9ZX0sZnVuY3Rpb24oZSl7aHQ9ZX0sZnVuY3Rpb24oZSl7eHQ9ZS5jb2VyY2VCb29sZWFufSxmdW5jdGlvbihlKXt2dD1lfSxmdW5jdGlvbihlKXt3dD1lfSxmdW5jdGlvbihlKXtDdD1lfSxmdW5jdGlvbihlKXtUdD1lfSxmdW5jdGlvbihlKXtTdD1lfV0sZXhlY3V0ZTpmdW5jdGlvbigpe2NvbnN0IGt0PWUoIm5vTGVhZFRyYWlsU3BhY2VzUmVnZXgiLC9eXFMrKD86IFxTKykqJC8pLEx0PWUoImludGVnZXJSZWdleCIsL15bLStdP1xkKyQvKSxGdD1lKCJub25aZXJvRmxvYXQiLC9eLT8oPyEwKFwuMCspPyQpXGQrKFwuXGQrKT8kLyksSXQ9ZSgianNvblJlcXVpcmVkIiwoZT0+ZS52YWx1ZT9udWxsOntyZXF1aXJlZDohMH0pKTt2YXIgQXQsTnQsTXQsRXQ7ZSgiU3RvcmFnZVR5cGVzIixBdCksZnVuY3Rpb24oZSl7ZS5NRU1PUlk9Im1lbW9yeSIsZS5GSUxFPSJmaWxlIixlLlNRTElURT0ic3FsaXRlIn0oQXR8fGUoIlN0b3JhZ2VUeXBlcyIsQXQ9e30pKSxlKCJEZXZpY2VHYXRld2F5U3RhdHVzIixOdCksZnVuY3Rpb24oZSl7ZS5FWENFUFRJT049IkVYQ0VQVElPTiJ9KE50fHxlKCJEZXZpY2VHYXRld2F5U3RhdHVzIixOdD17fSkpLGUoIkdhdGV3YXlMb2dMZXZlbCIsTXQpLGZ1bmN0aW9uKGUpe2UuTk9ORT0iTk9ORSIsZS5DUklUSUNBTD0iQ1JJVElDQUwiLGUuRVJST1I9IkVSUk9SIixlLldBUk5JTkc9IldBUk5JTkciLGUuSU5GTz0iSU5GTyIsZS5ERUJVRz0iREVCVUciLGUuVFJBQ0U9IlRSQUNFIn0oTXR8fGUoIkdhdGV3YXlMb2dMZXZlbCIsTXQ9e30pKSxlKCJQb3J0TGltaXRzIixFdCksZnVuY3Rpb24oZSl7ZVtlLk1JTj0xXT0iTUlOIixlW2UuTUFYPTY1NTM1XT0iTUFYIn0oRXR8fGUoIlBvcnRMaW1pdHMiLEV0PXt9KSk7Y29uc3QgcXQ9ZSgiR2F0ZXdheVN0YXR1cyIsey4uLk10LC4uLk50fSk7dmFyIER0LFB0O2UoIkxvZ1NhdmluZ1BlcmlvZCIsRHQpLGZ1bmN0aW9uKGUpe2UuZGF5cz0iRCIsZS5ob3Vycz0iSCIsZS5taW51dGVzPSJNIixlLnNlY29uZHM9IlMifShEdHx8ZSgiTG9nU2F2aW5nUGVyaW9kIixEdD17fSkpLGUoIkxvY2FsTG9nc0NvbmZpZ3MiLFB0KSxmdW5jdGlvbihlKXtlLnNlcnZpY2U9InNlcnZpY2UiLGUuY29ubmVjdG9yPSJjb25uZWN0b3IiLGUuY29udmVydGVyPSJjb252ZXJ0ZXIiLGUudGJfY29ubmVjdGlvbj0idGJfY29ubmVjdGlvbiIsZS5zdG9yYWdlPSJzdG9yYWdlIixlLmV4dGVuc2lvbj0iZXh0ZW5zaW9uIn0oUHR8fGUoIkxvY2FsTG9nc0NvbmZpZ3MiLFB0PXt9KSk7Y29uc3QgR3Q9ZSgiTG9jYWxMb2dzQ29uZmlnVHJhbnNsYXRlTWFwIixuZXcgTWFwKFtbUHQuc2VydmljZSwiU2VydmljZSJdLFtQdC5jb25uZWN0b3IsIkNvbm5lY3RvciJdLFtQdC5jb252ZXJ0ZXIsIkNvbnZlcnRlciJdLFtQdC50Yl9jb25uZWN0aW9uLCJUQiBDb25uZWN0aW9uIl0sW1B0LnN0b3JhZ2UsIlN0b3JhZ2UiXSxbUHQuZXh0ZW5zaW9uLCJFeHRlbnNpb24iXV0pKSxPdD1lKCJMb2dTYXZpbmdQZXJpb2RUcmFuc2xhdGlvbnMiLG5ldyBNYXAoW1tEdC5kYXlzLCJnYXRld2F5LmxvZ3MuZGF5cyJdLFtEdC5ob3VycywiZ2F0ZXdheS5sb2dzLmhvdXJzIl0sW0R0Lm1pbnV0ZXMsImdhdGV3YXkubG9ncy5taW51dGVzIl0sW0R0LnNlY29uZHMsImdhdGV3YXkubG9ncy5zZWNvbmRzIl1dKSksUnQ9ZSgiU3RvcmFnZVR5cGVzVHJhbnNsYXRpb25NYXAiLG5ldyBNYXAoW1tBdC5NRU1PUlksImdhdGV3YXkuc3RvcmFnZS10eXBlcy5tZW1vcnktc3RvcmFnZSJdLFtBdC5GSUxFLCJnYXRld2F5LnN0b3JhZ2UtdHlwZXMuZmlsZS1zdG9yYWdlIl0sW0F0LlNRTElURSwiZ2F0ZXdheS5zdG9yYWdlLXR5cGVzLnNxbGl0ZSJdXSkpO3ZhciBWdDtlKCJTZWN1cml0eVR5cGVzIixWdCksZnVuY3Rpb24oZSl7ZS5BQ0NFU1NfVE9LRU49ImFjY2Vzc1Rva2VuIixlLlVTRVJOQU1FX1BBU1NXT1JEPSJ1c2VybmFtZVBhc3N3b3JkIixlLlRMU19BQ0NFU1NfVE9LRU49InRsc0FjY2Vzc1Rva2VuIixlLlRMU19QUklWQVRFX0tFWT0idGxzUHJpdmF0ZUtleSJ9KFZ0fHxlKCJTZWN1cml0eVR5cGVzIixWdD17fSkpO2NvbnN0IEJ0PWUoIkdlY3VyaXR5VHlwZXNUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1tWdC5BQ0NFU1NfVE9LRU4sImdhdGV3YXkuc2VjdXJpdHktdHlwZXMuYWNjZXNzLXRva2VuIl0sW1Z0LlVTRVJOQU1FX1BBU1NXT1JELCJnYXRld2F5LnNlY3VyaXR5LXR5cGVzLnVzZXJuYW1lLXBhc3N3b3JkIl0sW1Z0LlRMU19BQ0NFU1NfVE9LRU4sImdhdGV3YXkuc2VjdXJpdHktdHlwZXMudGxzLWFjY2Vzcy10b2tlbiJdXSkpO3ZhciBVdCxfdDtlKCJHYXRld2F5VmVyc2lvbiIsVXQpLGZ1bmN0aW9uKGUpe2UuQ3VycmVudD0iMy41LjIiLGUuTGVnYWN5PSJsZWdhY3kifShVdHx8ZSgiR2F0ZXdheVZlcnNpb24iLFV0PXt9KSksZSgiQ29ubmVjdG9yVHlwZSIsX3QpLGZ1bmN0aW9uKGUpe2UuTVFUVD0ibXF0dCIsZS5NT0RCVVM9Im1vZGJ1cyIsZS5HUlBDPSJncnBjIixlLk9QQ1VBPSJvcGN1YSIsZS5CTEU9ImJsZSIsZS5SRVFVRVNUPSJyZXF1ZXN0IixlLkNBTj0iY2FuIixlLkJBQ05FVD0iYmFjbmV0IixlLk9EQkM9Im9kYmMiLGUuUkVTVD0icmVzdCIsZS5TTk1QPSJzbm1wIixlLkZUUD0iZnRwIixlLlNPQ0tFVD0ic29ja2V0IixlLlhNUFA9InhtcHAiLGUuT0NQUD0ib2NwcCIsZS5DVVNUT009ImN1c3RvbSJ9KF90fHxlKCJDb25uZWN0b3JUeXBlIixfdD17fSkpO2NvbnN0IEh0PWUoIkdhdGV3YXlDb25uZWN0b3JEZWZhdWx0VHlwZXNUcmFuc2xhdGVzTWFwIixuZXcgTWFwKFtbX3QuTVFUVCwiTVFUVCJdLFtfdC5NT0RCVVMsIk1PREJVUyJdLFtfdC5HUlBDLCJHUlBDIl0sW190Lk9QQ1VBLCJPUENVQSJdLFtfdC5CTEUsIkJMRSJdLFtfdC5SRVFVRVNULCJSRVFVRVNUIl0sW190LkNBTiwiQ0FOIl0sW190LkJBQ05FVCwiQkFDTkVUIl0sW190Lk9EQkMsIk9EQkMiXSxbX3QuUkVTVCwiUkVTVCJdLFtfdC5TTk1QLCJTTk1QIl0sW190LkZUUCwiRlRQIl0sW190LlNPQ0tFVCwiU09DS0VUIl0sW190LlhNUFAsIlhNUFAiXSxbX3QuT0NQUCwiT0NQUCJdLFtfdC5DVVNUT00sIkNVU1RPTSJdXSkpLHp0PWUoIk1vZGJ1c0Z1bmN0aW9uQ29kZVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbWzEsImdhdGV3YXkuZnVuY3Rpb24tY29kZXMucmVhZC1jb2lscyJdLFsyLCJnYXRld2F5LmZ1bmN0aW9uLWNvZGVzLnJlYWQtZGlzY3JldGUtaW5wdXRzIl0sWzMsImdhdGV3YXkuZnVuY3Rpb24tY29kZXMucmVhZC1tdWx0aXBsZS1ob2xkaW5nLXJlZ2lzdGVycyJdLFs0LCJnYXRld2F5LmZ1bmN0aW9uLWNvZGVzLnJlYWQtaW5wdXQtcmVnaXN0ZXJzIl0sWzUsImdhdGV3YXkuZnVuY3Rpb24tY29kZXMud3JpdGUtc2luZ2xlLWNvaWwiXSxbNiwiZ2F0ZXdheS5mdW5jdGlvbi1jb2Rlcy53cml0ZS1zaW5nbGUtaG9sZGluZy1yZWdpc3RlciJdLFsxNSwiZ2F0ZXdheS5mdW5jdGlvbi1jb2Rlcy53cml0ZS1tdWx0aXBsZS1jb2lscyJdLFsxNiwiZ2F0ZXdheS5mdW5jdGlvbi1jb2Rlcy53cml0ZS1tdWx0aXBsZS1ob2xkaW5nLXJlZ2lzdGVycyJdXSkpO3ZhciBXdDtlKCJCQUNuZXRSZXF1ZXN0VHlwZXMiLFd0KSxmdW5jdGlvbihlKXtlLldyaXRlUHJvcGVydHk9IndyaXRlUHJvcGVydHkiLGUuUmVhZFByb3BlcnR5PSJyZWFkUHJvcGVydHkifShXdHx8ZSgiQkFDbmV0UmVxdWVzdFR5cGVzIixXdD17fSkpO2NvbnN0IGp0PWUoIkJBQ25ldFJlcXVlc3RUeXBlc1RyYW5zbGF0ZXMiLG5ldyBNYXAoW1tXdC5Xcml0ZVByb3BlcnR5LCJnYXRld2F5LnJwYy53cml0ZS1wcm9wZXJ0eSJdLFtXdC5SZWFkUHJvcGVydHksImdhdGV3YXkucnBjLnJlYWQtcHJvcGVydHkiXV0pKTt2YXIgS3Q7ZSgiQkFDbmV0T2JqZWN0VHlwZXMiLEt0KSxmdW5jdGlvbihlKXtlLkJpbmFyeUlucHV0PSJiaW5hcnlJbnB1dCIsZS5CaW5hcnlPdXRwdXQ9ImJpbmFyeU91dHB1dCIsZS5BbmFsb2dJbnB1dD0iYW5hbG9nSW5wdXQiLGUuQW5hbG9nT3V0cHV0PSJhbmFsb2dPdXRwdXQiLGUuQmluYXJ5VmFsdWU9ImJpbmFyeVZhbHVlIixlLkFuYWxvZ1ZhbHVlPSJhbmFsb2dWYWx1ZSJ9KEt0fHxlKCJCQUNuZXRPYmplY3RUeXBlcyIsS3Q9e30pKTtjb25zdCAkdD1lKCJCQUNuZXRPYmplY3RUeXBlc1RyYW5zbGF0ZXMiLG5ldyBNYXAoW1tLdC5BbmFsb2dPdXRwdXQsImdhdGV3YXkucnBjLmFuYWxvZy1vdXRwdXQiXSxbS3QuQW5hbG9nSW5wdXQsImdhdGV3YXkucnBjLmFuYWxvZy1pbnB1dCJdLFtLdC5CaW5hcnlPdXRwdXQsImdhdGV3YXkucnBjLmJpbmFyeS1vdXRwdXQiXSxbS3QuQmluYXJ5SW5wdXQsImdhdGV3YXkucnBjLmJpbmFyeS1pbnB1dCJdLFtLdC5CaW5hcnlWYWx1ZSwiZ2F0ZXdheS5ycGMuYmluYXJ5LXZhbHVlIl0sW0t0LkFuYWxvZ1ZhbHVlLCJnYXRld2F5LnJwYy5hbmFsb2ctdmFsdWUiXV0pKTt2YXIgWXQ7ZSgiQkxFTWV0aG9kcyIsWXQpLGZ1bmN0aW9uKGUpe2UuV1JJVEU9IndyaXRlIixlLlJFQUQ9InJlYWQiLGUuU0NBTj0ic2NhbiJ9KFl0fHxlKCJCTEVNZXRob2RzIixZdD17fSkpO2NvbnN0IFF0PWUoIkJMRU1ldGhvZHNUcmFuc2xhdGVzIixuZXcgTWFwKFtbWXQuV1JJVEUsImdhdGV3YXkucnBjLndyaXRlIl0sW1l0LlJFQUQsImdhdGV3YXkucnBjLnJlYWQiXSxbWXQuU0NBTiwiZ2F0ZXdheS5ycGMuc2NhbiJdXSkpO3ZhciBKdCxYdDtlKCJDQU5CeXRlT3JkZXJzIixKdCksZnVuY3Rpb24oZSl7ZS5MSVRUTEU9IkxJVFRMRSIsZS5CSUc9IkJJRyJ9KEp0fHxlKCJDQU5CeXRlT3JkZXJzIixKdD17fSkpLGUoIlNvY2tldE1ldGhvZFByb2Nlc3NpbmdzIixYdCksZnVuY3Rpb24oZSl7ZS5XUklURT0id3JpdGUifShYdHx8ZSgiU29ja2V0TWV0aG9kUHJvY2Vzc2luZ3MiLFh0PXt9KSk7Y29uc3QgWnQ9ZSgiU29ja2V0TWV0aG9kUHJvY2Vzc2luZ3NUcmFuc2xhdGVzIixuZXcgTWFwKFtbWHQuV1JJVEUsImdhdGV3YXkucnBjLndyaXRlIl1dKSk7dmFyIGVuO2UoIlNOTVBNZXRob2RzIixlbiksZnVuY3Rpb24oZSl7ZS5TRVQ9InNldCIsZS5NVUxUSVNFVD0ibXVsdGlzZXQiLGUuR0VUPSJnZXQiLGUuQlVMS1dBTEs9ImJ1bGt3YWxrIixlLlRBQkxFPSJ0YWJsZSIsZS5NVUxUSUdFVD0ibXVsdGlnZXQiLGUuR0VUTkVYVD0iZ2V0bmV4dCIsZS5CVUxLR0VUPSJidWxrZ2V0IixlLldBTEtTPSJ3YWxrIn0oZW58fGUoIlNOTVBNZXRob2RzIixlbj17fSkpO2NvbnN0IHRuPWUoIlNOTVBNZXRob2RzVHJhbnNsYXRpb25zIixuZXcgTWFwKFtbZW4uU0VULCJnYXRld2F5LnJwYy5zZXQiXSxbZW4uTVVMVElTRVQsImdhdGV3YXkucnBjLm11bHRpc2V0Il0sW2VuLkdFVCwiZ2F0ZXdheS5ycGMuZ2V0Il0sW2VuLkJVTEtXQUxLLCJnYXRld2F5LnJwYy5idWxrLXdhbGsiXSxbZW4uVEFCTEUsImdhdGV3YXkucnBjLnRhYmxlIl0sW2VuLk1VTFRJR0VULCJnYXRld2F5LnJwYy5tdWx0aS1nZXQiXSxbZW4uR0VUTkVYVCwiZ2F0ZXdheS5ycGMuZ2V0LW5leHQiXSxbZW4uQlVMS0dFVCwiZ2F0ZXdheS5ycGMuYnVsay1nZXQiXSxbZW4uV0FMS1MsImdhdGV3YXkucnBjLndhbGsiXV0pKTt2YXIgbm4sYW4sb24scm4sc24sbG47ZSgiSFRUUE1ldGhvZHMiLG5uKSxmdW5jdGlvbihlKXtlLkNPTk5FQ1Q9IkNPTk5FQ1QiLGUuREVMRVRFPSJERUxFVEUiLGUuR0VUPSJHRVQiLGUuSEVBRD0iSEVBRCIsZS5PUFRJT05TPSJPUFRJT05TIixlLlBBVENIPSJQQVRDSCIsZS5QT1NUPSJQT1NUIixlLlBVVD0iUFVUIixlLlRSQUNFPSJUUkFDRSJ9KG5ufHxlKCJIVFRQTWV0aG9kcyIsbm49e30pKSxlKCJTb2NrZXRFbmNvZGluZ3MiLGFuKSxmdW5jdGlvbihlKXtlLlVURl84PSJ1dGYtOCJ9KGFufHxlKCJTb2NrZXRFbmNvZGluZ3MiLGFuPXt9KSksZSgiQ29uZmlndXJhdGlvbk1vZGVzIixvbiksZnVuY3Rpb24oZSl7ZS5CQVNJQz0iYmFzaWMiLGUuQURWQU5DRUQ9ImFkdmFuY2VkIn0ob258fGUoIkNvbmZpZ3VyYXRpb25Nb2RlcyIsb249e30pKSxlKCJTZWN1cml0eVR5cGUiLHJuKSxmdW5jdGlvbihlKXtlLkFOT05ZTU9VUz0iYW5vbnltb3VzIixlLkJBU0lDPSJiYXNpYyIsZS5DRVJUSUZJQ0FURVM9ImNlcnRpZmljYXRlcyJ9KHJufHxlKCJTZWN1cml0eVR5cGUiLHJuPXt9KSksZSgiUmVwb3J0U3RyYXRlZ3lUeXBlIixzbiksZnVuY3Rpb24oZSl7ZS5PbkNoYW5nZT0iT05fQ0hBTkdFIixlLk9uUmVwb3J0UGVyaW9kPSJPTl9SRVBPUlRfUEVSSU9EIixlLk9uQ2hhbmdlT3JSZXBvcnRQZXJpb2Q9Ik9OX0NIQU5HRV9PUl9SRVBPUlRfUEVSSU9EIn0oc258fGUoIlJlcG9ydFN0cmF0ZWd5VHlwZSIsc249e30pKSxlKCJSZXBvcnRTdHJhdGVneURlZmF1bHRWYWx1ZSIsbG4pLGZ1bmN0aW9uKGUpe2VbZS5Db25uZWN0b3I9NmU0XT0iQ29ubmVjdG9yIixlW2UuRGV2aWNlPTNlNF09IkRldmljZSIsZVtlLktleT0xNWUzXT0iS2V5In0obG58fGUoIlJlcG9ydFN0cmF0ZWd5RGVmYXVsdFZhbHVlIixsbj17fSkpO2NvbnN0IGNuPWUoIlJlcG9ydFN0cmF0ZWd5VHlwZVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW3NuLk9uQ2hhbmdlLCJnYXRld2F5LnJlcG9ydC1zdHJhdGVneS5vbi1jaGFuZ2UiXSxbc24uT25SZXBvcnRQZXJpb2QsImdhdGV3YXkucmVwb3J0LXN0cmF0ZWd5Lm9uLXJlcG9ydC1wZXJpb2QiXSxbc24uT25DaGFuZ2VPclJlcG9ydFBlcmlvZCwiZ2F0ZXdheS5yZXBvcnQtc3RyYXRlZ3kub24tY2hhbmdlLW9yLXJlcG9ydC1wZXJpb2QiXV0pKTt2YXIgcG47ZSgiTW9kZVR5cGUiLHBuKSxmdW5jdGlvbihlKXtlLk5PTkU9Ik5vbmUiLGUuU0lHTj0iU2lnbiIsZS5TSUdOQU5ERU5DUllQVD0iU2lnbkFuZEVuY3J5cHQifShwbnx8ZSgiTW9kZVR5cGUiLHBuPXt9KSk7Y29uc3QgbW49ZSgiU2VjdXJpdHlUeXBlVHJhbnNsYXRpb25zTWFwIixuZXcgTWFwKFtbcm4uQU5PTllNT1VTLCJnYXRld2F5LmJyb2tlci5zZWN1cml0eS10eXBlcy5hbm9ueW1vdXMiXSxbcm4uQkFTSUMsImdhdGV3YXkuYnJva2VyLnNlY3VyaXR5LXR5cGVzLmJhc2ljIl0sW3JuLkNFUlRJRklDQVRFUywiZ2F0ZXdheS5icm9rZXIuc2VjdXJpdHktdHlwZXMuY2VydGlmaWNhdGVzIl1dKSk7dmFyIGRuO2UoIlJlc3RTZWN1cml0eVR5cGUiLGRuKSxmdW5jdGlvbihlKXtlLkFOT05ZTU9VUz0iYW5vbnltb3VzIixlLkJBU0lDPSJiYXNpYyJ9KGRufHxlKCJSZXN0U2VjdXJpdHlUeXBlIixkbj17fSkpO2NvbnN0IHVuPWUoIlJlc3RTZWN1cml0eVR5cGVUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1tkbi5BTk9OWU1PVVMsImdhdGV3YXkuYnJva2VyLnNlY3VyaXR5LXR5cGVzLmFub255bW91cyJdLFtkbi5CQVNJQywiZ2F0ZXdheS5icm9rZXIuc2VjdXJpdHktdHlwZXMuYmFzaWMiXV0pKSxnbj1lKCJNcXR0VmVyc2lvbnMiLFt7bmFtZTozLjEsdmFsdWU6M30se25hbWU6My4xMSx2YWx1ZTo0fSx7bmFtZTo1LHZhbHVlOjV9XSk7dmFyIGZuO2UoIk1hcHBpbmdUeXBlIixmbiksZnVuY3Rpb24oZSl7ZS5EQVRBPSJkYXRhIixlLlJFUVVFU1RTPSJyZXF1ZXN0cyIsZS5PUENVQT0iT1BDdWEifShmbnx8ZSgiTWFwcGluZ1R5cGUiLGZuPXt9KSk7Y29uc3QgeW49ZSgiTWFwcGluZ1R5cGVUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1tmbi5EQVRBLCJnYXRld2F5LmRhdGEtbWFwcGluZyJdLFtmbi5SRVFVRVNUUywiZ2F0ZXdheS5yZXF1ZXN0cy1tYXBwaW5nIl0sW2ZuLk9QQ1VBLCJnYXRld2F5LmRhdGEtbWFwcGluZyJdXSkpLGJuPWUoIk1hcHBpbmdIaW50VHJhbnNsYXRpb25zTWFwIixuZXcgTWFwKFtbZm4uREFUQSwiZ2F0ZXdheS5kYXRhLW1hcHBpbmctaGludCJdLFtmbi5PUENVQSwiZ2F0ZXdheS5vcGN1YS1kYXRhLW1hcHBpbmctaGludCJdLFtmbi5SRVFVRVNUUywiZ2F0ZXdheS5yZXF1ZXN0cy1tYXBwaW5nLWhpbnQiXV0pKSxobj1lKCJIZWxwTGlua0J5TWFwcGluZ1R5cGVNYXAiLG5ldyBNYXAoW1tmbi5EQVRBLHYrIi9kb2NzL2lvdC1nYXRld2F5L2NvbmZpZy9tcXR0LyNzZWN0aW9uLW1hcHBpbmciXSxbZm4uT1BDVUEsdisiL2RvY3MvaW90LWdhdGV3YXkvY29uZmlnL29wYy11YS8jc2VjdGlvbi1tYXBwaW5nIl0sW2ZuLlJFUVVFU1RTLHYrIi9kb2NzL2lvdC1nYXRld2F5L2NvbmZpZy9tcXR0LyNyZXF1ZXN0cy1tYXBwaW5nIl1dKSkseG49ZSgiUXVhbGl0eVR5cGVzIixbMCwxLDJdKSx2bj1lKCJRdWFsaXR5VHlwZVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbWzAsImdhdGV3YXkucW9zLmF0LW1vc3Qtb25jZSJdLFsxLCJnYXRld2F5LnFvcy5hdC1sZWFzdC1vbmNlIl0sWzIsImdhdGV3YXkucW9zLmV4YWN0bHktb25jZSJdXSkpO3ZhciB3bjtlKCJDb252ZXJ0b3JUeXBlIix3biksZnVuY3Rpb24oZSl7ZS5KU09OPSJqc29uIixlLkJZVEVTPSJieXRlcyIsZS5DVVNUT009ImN1c3RvbSJ9KHdufHxlKCJDb252ZXJ0b3JUeXBlIix3bj17fSkpO2NvbnN0IENuPWUoIkNvbnZlcnRvclR5cGVUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1t3bi5KU09OLCJnYXRld2F5LkpTT04iXSxbd24uQllURVMsImdhdGV3YXkuYnl0ZXMiXSxbd24uQ1VTVE9NLCJnYXRld2F5LmN1c3RvbSJdXSkpO3ZhciBUbixTbixrbjtlKCJTb3VyY2VUeXBlIixUbiksZnVuY3Rpb24oZSl7ZS5NU0c9Im1lc3NhZ2UiLGUuVE9QSUM9InRvcGljIixlLkNPTlNUPSJjb25zdGFudCJ9KFRufHxlKCJTb3VyY2VUeXBlIixUbj17fSkpLGUoIk9QQ1VhU291cmNlVHlwZSIsU24pLGZ1bmN0aW9uKGUpe2UuUEFUSD0icGF0aCIsZS5JREVOVElGSUVSPSJpZGVudGlmaWVyIixlLkNPTlNUPSJjb25zdGFudCJ9KFNufHxlKCJPUENVYVNvdXJjZVR5cGUiLFNuPXt9KSksZSgiRGV2aWNlSW5mb1R5cGUiLGtuKSxmdW5jdGlvbihlKXtlLkZVTEw9ImZ1bGwiLGUuUEFSVElBTD0icGFydGlhbCJ9KGtufHxlKCJEZXZpY2VJbmZvVHlwZSIsa249e30pKTtjb25zdCBMbj1lKCJTb3VyY2VUeXBlVHJhbnNsYXRpb25zTWFwIixuZXcgTWFwKFtbVG4uTVNHLCJnYXRld2F5LnNvdXJjZS10eXBlLm1zZyJdLFtUbi5UT1BJQywiZ2F0ZXdheS5zb3VyY2UtdHlwZS50b3BpYyJdLFtUbi5DT05TVCwiZ2F0ZXdheS5zb3VyY2UtdHlwZS5jb25zdCJdLFtTbi5QQVRILCJnYXRld2F5LnNvdXJjZS10eXBlLnBhdGgiXSxbU24uSURFTlRJRklFUiwiZ2F0ZXdheS5zb3VyY2UtdHlwZS5pZGVudGlmaWVyIl0sW1NuLkNPTlNULCJnYXRld2F5LnNvdXJjZS10eXBlLmNvbnN0Il1dKSk7dmFyIEZuLEluO2UoIlNlcnZlclNpZGVScGNUeXBlIixGbiksZnVuY3Rpb24oZSl7ZS5XaXRoUmVzcG9uc2U9InR3b1dheSIsZS5XaXRob3V0UmVzcG9uc2U9Im9uZVdheSJ9KEZufHxlKCJTZXJ2ZXJTaWRlUnBjVHlwZSIsRm49e30pKSxlKCJSZXF1ZXN0VHlwZSIsSW4pLGZ1bmN0aW9uKGUpe2UuQ09OTkVDVF9SRVFVRVNUPSJjb25uZWN0UmVxdWVzdHMiLGUuRElTQ09OTkVDVF9SRVFVRVNUPSJkaXNjb25uZWN0UmVxdWVzdHMiLGUuQVRUUklCVVRFX1JFUVVFU1Q9ImF0dHJpYnV0ZVJlcXVlc3RzIixlLkFUVFJJQlVURV9VUERBVEU9ImF0dHJpYnV0ZVVwZGF0ZXMiLGUuU0VSVkVSX1NJREVfUlBDPSJzZXJ2ZXJTaWRlUnBjIn0oSW58fGUoIlJlcXVlc3RUeXBlIixJbj17fSkpO2NvbnN0IEFuPWUoIlJlcXVlc3RUeXBlc1RyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW0luLkNPTk5FQ1RfUkVRVUVTVCwiZ2F0ZXdheS5yZXF1ZXN0LmNvbm5lY3QtcmVxdWVzdCJdLFtJbi5ESVNDT05ORUNUX1JFUVVFU1QsImdhdGV3YXkucmVxdWVzdC5kaXNjb25uZWN0LXJlcXVlc3QiXSxbSW4uQVRUUklCVVRFX1JFUVVFU1QsImdhdGV3YXkucmVxdWVzdC5hdHRyaWJ1dGUtcmVxdWVzdCJdLFtJbi5BVFRSSUJVVEVfVVBEQVRFLCJnYXRld2F5LnJlcXVlc3QuYXR0cmlidXRlLXVwZGF0ZSJdLFtJbi5TRVJWRVJfU0lERV9SUEMsImdhdGV3YXkucmVxdWVzdC5ycGMtY29ubmVjdGlvbiJdXSkpO3ZhciBObjtlKCJNYXBwaW5nS2V5c1R5cGUiLE5uKSxmdW5jdGlvbihlKXtlLkFUVFJJQlVURVM9ImF0dHJpYnV0ZXMiLGUuVElNRVNFUklFUz0idGltZXNlcmllcyIsZS5DVVNUT009ImV4dGVuc2lvbkNvbmZpZyIsZS5SUENfTUVUSE9EUz0icnBjX21ldGhvZHMiLGUuQVRUUklCVVRFU19VUERBVEVTPSJhdHRyaWJ1dGVzX3VwZGF0ZXMifShObnx8ZSgiTWFwcGluZ0tleXNUeXBlIixObj17fSkpO2NvbnN0IE1uPWUoIk1hcHBpbmdLZXlzUGFuZWxUaXRsZVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW05uLkFUVFJJQlVURVMsImdhdGV3YXkuYXR0cmlidXRlcyJdLFtObi5USU1FU0VSSUVTLCJnYXRld2F5LnRpbWVzZXJpZXMiXSxbTm4uQ1VTVE9NLCJnYXRld2F5LmtleXMiXSxbTm4uQVRUUklCVVRFU19VUERBVEVTLCJnYXRld2F5LmF0dHJpYnV0ZS11cGRhdGVzIl0sW05uLlJQQ19NRVRIT0RTLCJnYXRld2F5LnJwYy1tZXRob2RzIl1dKSksRW49ZSgiTWFwcGluZ0tleXNBZGRLZXlUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1tObi5BVFRSSUJVVEVTLCJnYXRld2F5LmFkZC1hdHRyaWJ1dGUiXSxbTm4uVElNRVNFUklFUywiZ2F0ZXdheS5hZGQtdGltZXNlcmllcyJdLFtObi5DVVNUT00sImdhdGV3YXkuYWRkLWtleSJdLFtObi5BVFRSSUJVVEVTX1VQREFURVMsImdhdGV3YXkuYWRkLWF0dHJpYnV0ZS11cGRhdGUiXSxbTm4uUlBDX01FVEhPRFMsImdhdGV3YXkuYWRkLXJwYy1tZXRob2QiXV0pKSxxbj1lKCJNYXBwaW5nS2V5c0RlbGV0ZUtleVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW05uLkFUVFJJQlVURVMsImdhdGV3YXkuZGVsZXRlLWF0dHJpYnV0ZSJdLFtObi5USU1FU0VSSUVTLCJnYXRld2F5LmRlbGV0ZS10aW1lc2VyaWVzIl0sW05uLkNVU1RPTSwiZ2F0ZXdheS5kZWxldGUta2V5Il0sW05uLkFUVFJJQlVURVNfVVBEQVRFUywiZ2F0ZXdheS5kZWxldGUtYXR0cmlidXRlLXVwZGF0ZSJdLFtObi5SUENfTUVUSE9EUywiZ2F0ZXdheS5kZWxldGUtcnBjLW1ldGhvZCJdXSkpLERuPWUoIk1hcHBpbmdLZXlzTm9LZXlzVGV4dFRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW05uLkFUVFJJQlVURVMsImdhdGV3YXkubm8tYXR0cmlidXRlcyJdLFtObi5USU1FU0VSSUVTLCJnYXRld2F5Lm5vLXRpbWVzZXJpZXMiXSxbTm4uQ1VTVE9NLCJnYXRld2F5Lm5vLWtleXMiXSxbTm4uQVRUUklCVVRFU19VUERBVEVTLCJnYXRld2F5Lm5vLWF0dHJpYnV0ZS11cGRhdGVzIl0sW05uLlJQQ19NRVRIT0RTLCJnYXRld2F5Lm5vLXJwYy1tZXRob2RzIl1dKSk7dmFyIFBuLEduLE9uO2UoIlNlcnZlclNpZGVSUENUeXBlIixQbiksZnVuY3Rpb24oZSl7ZS5PTkVfV0FZPSJvbmVXYXkiLGUuVFdPX1dBWT0idHdvV2F5In0oUG58fGUoIlNlcnZlclNpZGVSUENUeXBlIixQbj17fSkpLGUoIk1hcHBpbmdWYWx1ZVR5cGUiLEduKSxmdW5jdGlvbihlKXtlLlNUUklORz0ic3RyaW5nIixlLklOVEVHRVI9ImludGVnZXIiLGUuRE9VQkxFPSJkb3VibGUiLGUuQk9PTEVBTj0iYm9vbGVhbiJ9KEdufHxlKCJNYXBwaW5nVmFsdWVUeXBlIixHbj17fSkpLGUoIk1vZGlmaWVyVHlwZSIsT24pLGZ1bmN0aW9uKGUpe2UuRElWSURFUj0iZGl2aWRlciIsZS5NVUxUSVBMSUVSPSJtdWx0aXBsaWVyIn0oT258fGUoIk1vZGlmaWVyVHlwZSIsT249e30pKTtjb25zdCBSbj1lKCJNb2RpZmllclR5cGVzTWFwIixuZXcgTWFwKFtbT24uRElWSURFUix7bmFtZToiZ2F0ZXdheS5kaXZpZGVyIixpY29uOiJtZGk6ZGl2aXNpb24ifV0sW09uLk1VTFRJUExJRVIse25hbWU6ImdhdGV3YXkubXVsdGlwbGllciIsaWNvbjoibWRpOm11bHRpcGxpY2F0aW9uIn1dXSkpLFZuPWUoIm1hcHBpbmdWYWx1ZVR5cGVzTWFwIixuZXcgTWFwKFtbR24uU1RSSU5HLHtuYW1lOiJ2YWx1ZS5zdHJpbmciLGljb246Im1kaTpmb3JtYXQtdGV4dCJ9XSxbR24uSU5URUdFUix7bmFtZToidmFsdWUuaW50ZWdlciIsaWNvbjoibWRpOm51bWVyaWMifV0sW0duLkRPVUJMRSx7bmFtZToidmFsdWUuZG91YmxlIixpY29uOiJtZGk6bnVtZXJpYyJ9XSxbR24uQk9PTEVBTix7bmFtZToidmFsdWUuYm9vbGVhbiIsaWNvbjoibWRpOmNoZWNrYm94LW1hcmtlZC1vdXRsaW5lIn1dXSkpLEJuPWUoIkRhdGFDb252ZXJzaW9uVHJhbnNsYXRpb25zTWFwIixuZXcgTWFwKFtbd24uSlNPTiwiZ2F0ZXdheS5KU09OLWhpbnQiXSxbd24uQllURVMsImdhdGV3YXkuYnl0ZXMtaGludCJdLFt3bi5DVVNUT00sImdhdGV3YXkuY3VzdG9tLWhpbnQiXV0pKTt2YXIgVW47ZSgiU2VjdXJpdHlQb2xpY3kiLFVuKSxmdW5jdGlvbihlKXtlLkJBU0lDMTI4PSJCYXNpYzEyOFJzYTE1IixlLkJBU0lDMjU2PSJCYXNpYzI1NiIsZS5CQVNJQzI1NlNIQT0iQmFzaWMyNTZTaGEyNTYifShVbnx8ZSgiU2VjdXJpdHlQb2xpY3kiLFVuPXt9KSk7Y29uc3QgX249ZSgiU2VjdXJpdHlQb2xpY3lUeXBlcyIsW3t2YWx1ZTpVbi5CQVNJQzEyOCxuYW1lOiJCYXNpYzEyOFJTQTE1In0se3ZhbHVlOlVuLkJBU0lDMjU2LG5hbWU6IkJhc2ljMjU2In0se3ZhbHVlOlVuLkJBU0lDMjU2U0hBLG5hbWU6IkJhc2ljMjU2U0hBMjU2In1dKTt2YXIgSG47ZSgiTW9kYnVzUHJvdG9jb2xUeXBlIixIbiksZnVuY3Rpb24oZSl7ZS5UQ1A9InRjcCIsZS5VRFA9InVkcCIsZS5TZXJpYWw9InNlcmlhbCJ9KEhufHxlKCJNb2RidXNQcm90b2NvbFR5cGUiLEhuPXt9KSk7Y29uc3Qgem49ZSgiTW9kYnVzUHJvdG9jb2xMYWJlbHNNYXAiLG5ldyBNYXAoW1tIbi5UQ1AsIlRDUCJdLFtIbi5VRFAsIlVEUCJdLFtIbi5TZXJpYWwsIlNlcmlhbCJdXSkpO3ZhciBXbixqbjtlKCJNb2RidXNNZXRob2RUeXBlIixXbiksZnVuY3Rpb24oZSl7ZS5TT0NLRVQ9InNvY2tldCIsZS5SVFU9InJ0dSJ9KFdufHxlKCJNb2RidXNNZXRob2RUeXBlIixXbj17fSkpLGUoIk1vZGJ1c1NlcmlhbE1ldGhvZFR5cGUiLGpuKSxmdW5jdGlvbihlKXtlLlJUVT0icnR1IixlLkFTQ0lJPSJhc2NpaSJ9KGpufHxlKCJNb2RidXNTZXJpYWxNZXRob2RUeXBlIixqbj17fSkpO2NvbnN0IEtuPWUoIk1vZGJ1c01ldGhvZExhYmVsc01hcCIsbmV3IE1hcChbW1duLlNPQ0tFVCwiU29ja2V0Il0sW1duLlJUVSwiUlRVIl0sW2puLkFTQ0lJLCJBU0NJSSJdXSkpLCRuPWUoIk1vZGJ1c0J5dGVTaXplcyIsWzUsNiw3LDhdKTt2YXIgWW47ZSgiTW9kYnVzUGFyaXR5IixZbiksZnVuY3Rpb24oZSl7ZS5FdmVuPSJFIixlLk9kZD0iTyIsZS5Ob25lPSJOIn0oWW58fGUoIk1vZGJ1c1Bhcml0eSIsWW49e30pKTtjb25zdCBRbj1lKCJNb2RidXNQYXJpdHlMYWJlbHNNYXAiLG5ldyBNYXAoW1tZbi5FdmVuLCJFdmVuIl0sW1luLk9kZCwiT2RkIl0sW1luLk5vbmUsIk5vbmUiXV0pKTt2YXIgSm4sWG47ZSgiTW9kYnVzT3JkZXJUeXBlIixKbiksZnVuY3Rpb24oZSl7ZS5CSUc9IkJJRyIsZS5MSVRUTEU9IkxJVFRMRSJ9KEpufHxlKCJNb2RidXNPcmRlclR5cGUiLEpuPXt9KSksZSgiTW9kYnVzUmVnaXN0ZXJUeXBlIixYbiksZnVuY3Rpb24oZSl7ZS5Ib2xkaW5nUmVnaXN0ZXJzPSJob2xkaW5nX3JlZ2lzdGVycyIsZS5Db2lsc0luaXRpYWxpemVyPSJjb2lsc19pbml0aWFsaXplciIsZS5JbnB1dFJlZ2lzdGVycz0iaW5wdXRfcmVnaXN0ZXJzIixlLkRpc2NyZXRlSW5wdXRzPSJkaXNjcmV0ZV9pbnB1dHMifShYbnx8ZSgiTW9kYnVzUmVnaXN0ZXJUeXBlIixYbj17fSkpO2NvbnN0IFpuPWUoIk1vZGJ1c1JlZ2lzdGVyVHJhbnNsYXRpb25zTWFwIixuZXcgTWFwKFtbWG4uSG9sZGluZ1JlZ2lzdGVycywiZ2F0ZXdheS5ob2xkaW5nX3JlZ2lzdGVycyJdLFtYbi5Db2lsc0luaXRpYWxpemVyLCJnYXRld2F5LmNvaWxzX2luaXRpYWxpemVyIl0sW1huLklucHV0UmVnaXN0ZXJzLCJnYXRld2F5LmlucHV0X3JlZ2lzdGVycyJdLFtYbi5EaXNjcmV0ZUlucHV0cywiZ2F0ZXdheS5kaXNjcmV0ZV9pbnB1dHMiXV0pKTt2YXIgZWE7ZSgiTW9kYnVzRGF0YVR5cGUiLGVhKSxmdW5jdGlvbihlKXtlLlNUUklORz0ic3RyaW5nIixlLkJZVEVTPSJieXRlcyIsZS5CSVRTPSJiaXRzIixlLklOVDg9IjhpbnQiLGUuVUlOVDg9Ijh1aW50IixlLkZMT0FUOD0iOGZsb2F0IixlLklOVDE2PSIxNmludCIsZS5VSU5UMTY9IjE2dWludCIsZS5GTE9BVDE2PSIxNmZsb2F0IixlLklOVDMyPSIzMmludCIsZS5VSU5UMzI9IjMydWludCIsZS5GTE9BVDMyPSIzMmZsb2F0IixlLklOVDY0PSI2NGludCIsZS5VSU5UNjQ9IjY0dWludCIsZS5GTE9BVDY0PSI2NGZsb2F0In0oZWF8fGUoIk1vZGJ1c0RhdGFUeXBlIixlYT17fSkpO2NvbnN0IHRhPWUoIk1vZGJ1c0VkaXRhYmxlRGF0YVR5cGVzIixbZWEuQllURVMsZWEuQklUUyxlYS5TVFJJTkddKTt2YXIgbmEsYWE7ZSgiTW9kYnVzT2JqZWN0Q291bnRCeURhdGFUeXBlIixuYSksZnVuY3Rpb24oZSl7ZVtlWyI4aW50Il09MV09IjhpbnQiLGVbZVsiOHVpbnQiXT0xXT0iOHVpbnQiLGVbZVsiOGZsb2F0Il09MV09IjhmbG9hdCIsZVtlWyIxNmludCJdPTFdPSIxNmludCIsZVtlWyIxNnVpbnQiXT0xXT0iMTZ1aW50IixlW2VbIjE2ZmxvYXQiXT0xXT0iMTZmbG9hdCIsZVtlWyIzMmludCJdPTJdPSIzMmludCIsZVtlWyIzMnVpbnQiXT0yXT0iMzJ1aW50IixlW2VbIjMyZmxvYXQiXT0yXT0iMzJmbG9hdCIsZVtlWyI2NGludCJdPTRdPSI2NGludCIsZVtlWyI2NHVpbnQiXT00XT0iNjR1aW50IixlW2VbIjY0ZmxvYXQiXT00XT0iNjRmbG9hdCJ9KG5hfHxlKCJNb2RidXNPYmplY3RDb3VudEJ5RGF0YVR5cGUiLG5hPXt9KSksZSgiTW9kYnVzVmFsdWVLZXkiLGFhKSxmdW5jdGlvbihlKXtlLkFUVFJJQlVURVM9ImF0dHJpYnV0ZXMiLGUuVElNRVNFUklFUz0idGltZXNlcmllcyIsZS5BVFRSSUJVVEVTX1VQREFURVM9ImF0dHJpYnV0ZVVwZGF0ZXMiLGUuUlBDX1JFUVVFU1RTPSJycGMifShhYXx8ZSgiTW9kYnVzVmFsdWVLZXkiLGFhPXt9KSk7Y29uc3Qgb2E9ZSgiTW9kYnVzS2V5c1BhbmVsVGl0bGVUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1thYS5BVFRSSUJVVEVTLCJnYXRld2F5LmF0dHJpYnV0ZXMiXSxbYWEuVElNRVNFUklFUywiZ2F0ZXdheS50aW1lc2VyaWVzIl0sW2FhLkFUVFJJQlVURVNfVVBEQVRFUywiZ2F0ZXdheS5hdHRyaWJ1dGUtdXBkYXRlcyJdLFthYS5SUENfUkVRVUVTVFMsImdhdGV3YXkucnBjLXJlcXVlc3RzIl1dKSksaWE9ZSgiTW9kYnVzS2V5c0FkZEtleVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW2FhLkFUVFJJQlVURVMsImdhdGV3YXkuYWRkLWF0dHJpYnV0ZSJdLFthYS5USU1FU0VSSUVTLCJnYXRld2F5LmFkZC10aW1lc2VyaWVzIl0sW2FhLkFUVFJJQlVURVNfVVBEQVRFUywiZ2F0ZXdheS5hZGQtYXR0cmlidXRlLXVwZGF0ZSJdLFthYS5SUENfUkVRVUVTVFMsImdhdGV3YXkuYWRkLXJwYy1yZXF1ZXN0Il1dKSkscmE9ZSgiTW9kYnVzS2V5c0RlbGV0ZUtleVRyYW5zbGF0aW9uc01hcCIsbmV3IE1hcChbW2FhLkFUVFJJQlVURVMsImdhdGV3YXkuZGVsZXRlLWF0dHJpYnV0ZSJdLFthYS5USU1FU0VSSUVTLCJnYXRld2F5LmRlbGV0ZS10aW1lc2VyaWVzIl0sW2FhLkFUVFJJQlVURVNfVVBEQVRFUywiZ2F0ZXdheS5kZWxldGUtYXR0cmlidXRlLXVwZGF0ZSJdLFthYS5SUENfUkVRVUVTVFMsImdhdGV3YXkuZGVsZXRlLXJwYy1yZXF1ZXN0Il1dKSksc2E9ZSgiTW9kYnVzS2V5c05vS2V5c1RleHRUcmFuc2xhdGlvbnNNYXAiLG5ldyBNYXAoW1thYS5BVFRSSUJVVEVTLCJnYXRld2F5Lm5vLWF0dHJpYnV0ZXMiXSxbYWEuVElNRVNFUklFUywiZ2F0ZXdheS5uby10aW1lc2VyaWVzIl0sW2FhLkFUVFJJQlVURVNfVVBEQVRFUywiZ2F0ZXdheS5uby1hdHRyaWJ1dGUtdXBkYXRlcyJdLFthYS5SUENfUkVRVUVTVFMsImdhdGV3YXkubm8tcnBjLXJlcXVlc3RzIl1dKSksbGE9ZSgiTW9kYnVzQmF1ZHJhdGVzIixbNDgwMCw5NjAwLDE5MjAwLDM4NDAwLDU3NjAwLDExNTIwMCwyMzA0MDAsNDYwODAwLDkyMTYwMF0pO2NsYXNzIGNhe2NvbnN0cnVjdG9yKCl7dGhpcy5kaXNwbGF5ZWRDb2x1bW5zPVsidHMiLCJzdGF0dXMiLCJtZXNzYWdlIl0sdGhpcy5nYXRld2F5TG9nTGlua3M9W3tuYW1lOiJHZW5lcmFsIixrZXk6IkxPR1MifSx7bmFtZToiU2VydmljZSIsa2V5OiJTRVJWSUNFX0xPR1MifSx7bmFtZToiQ29ubmVjdGlvbiIsa2V5OiJDT05ORUNUSU9OX0xPR1MifSx7bmFtZToiU3RvcmFnZSIsa2V5OiJTVE9SQUdFX0xPR1MifSx7a2V5OiJFWFRFTlNJT05TX0xPR1MiLG5hbWU6IkV4dGVuc2lvbiJ9XTtjb25zdCBlPXtwcm9wZXJ0eToidHMiLGRpcmVjdGlvbjp3LkRFU0N9O3RoaXMucGFnZUxpbms9bmV3IEMoMTAsMCxudWxsLGUpLHRoaXMuZGF0YVNvdXJjZT1uZXcgeShbXSl9bmdPbkluaXQoKXt0aGlzLnVwZGF0ZVdpZGdldFRpdGxlKCl9bmdBZnRlclZpZXdJbml0KCl7aWYodGhpcy5kYXRhU291cmNlLnNvcnQ9dGhpcy5zb3J0LHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3I9dGhpcy5wYWdpbmF0b3IsdGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5vblRpbWV3aW5kb3dDaGFuZ2VGdW5jdGlvbj1lPT4odGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5vcHRpb25zLnRpbWVXaW5kb3dDb25maWc9ZSx0aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLnVwZGF0ZURhdGFTdWJzY3JpcHRpb25zKCksZSksdGhpcy5jdHguc2V0dGluZ3MuaXNDb25uZWN0b3JMb2cmJnRoaXMuY3R4LnNldHRpbmdzLmNvbm5lY3RvckxvZ1N0YXRlKXtjb25zdCBlPXRoaXMuY3R4LnN0YXRlQ29udHJvbGxlci5nZXRTdGF0ZVBhcmFtcygpW3RoaXMuY3R4LnNldHRpbmdzLmNvbm5lY3RvckxvZ1N0YXRlXTt0aGlzLmxvZ0xpbmtzPVt7a2V5OmAke2Uua2V5fV9MT0dTYCxuYW1lOiJDb25uZWN0b3IiLGZpbHRlckZuOmU9PiFlLm1lc3NhZ2UuaW5jbHVkZXMoIl9jb252ZXJ0ZXIucHkiKX0se2tleTpgJHtlLmtleX1fTE9HU2AsbmFtZToiQ29udmVydGVyIixmaWx0ZXJGbjplPT5lLm1lc3NhZ2UuaW5jbHVkZXMoIl9jb252ZXJ0ZXIucHkiKX1dfWVsc2UgdGhpcy5sb2dMaW5rcz10aGlzLmdhdGV3YXlMb2dMaW5rczt0aGlzLmFjdGl2ZUxpbms9dGhpcy5sb2dMaW5rc1swXSx0aGlzLmNoYW5nZVN1YnNjcmlwdGlvbigpfXVwZGF0ZVdpZGdldFRpdGxlKCl7aWYodGhpcy5jdHguc2V0dGluZ3MuaXNDb25uZWN0b3JMb2cmJnRoaXMuY3R4LnNldHRpbmdzLmNvbm5lY3RvckxvZ1N0YXRlKXtjb25zdCBlPXRoaXMuY3R4LndpZGdldENvbmZpZy50aXRsZSx0PSIke2Nvbm5lY3Rvck5hbWV9IjtpZihlLmluY2x1ZGVzKHQpKXtjb25zdCBuPXRoaXMuY3R4LnN0YXRlQ29udHJvbGxlci5nZXRTdGF0ZVBhcmFtcygpW3RoaXMuY3R4LnNldHRpbmdzLmNvbm5lY3RvckxvZ1N0YXRlXTt0aGlzLmN0eC53aWRnZXRUaXRsZT1lLnJlcGxhY2UodCxuLmtleSl9fX11cGRhdGVEYXRhKCl7aWYodGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5kYXRhLmxlbmd0aCYmdGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5kYXRhWzBdKXtsZXQgZT10aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLmRhdGFbMF0uZGF0YS5tYXAoKGU9Pntjb25zdCB0PXt0czplWzBdLGtleTp0aGlzLmFjdGl2ZUxpbmsua2V5LG1lc3NhZ2U6ZVsxXSxzdGF0dXM6IklOVkFMSUQgTE9HIEZPUk1BVCJ9O3RyeXt0Lm1lc3NhZ2U9L1xbKC4qKS8uZXhlYyhlWzFdKVswXX1jYXRjaChuKXt0Lm1lc3NhZ2U9ZVsxXX10cnl7dC5zdGF0dXM9ZVsxXS5tYXRjaCgvXHwoXHcrKVx8LylbMV19Y2F0Y2goZSl7dC5zdGF0dXM9IklOVkFMSUQgTE9HIEZPUk1BVCJ9cmV0dXJuIHR9KSk7dGhpcy5hY3RpdmVMaW5rLmZpbHRlckZuJiYoZT1lLmZpbHRlcigoZT0+dGhpcy5hY3RpdmVMaW5rLmZpbHRlckZuKGUpKSkpLHRoaXMuZGF0YVNvdXJjZS5kYXRhPWV9fW9uVGFiQ2hhbmdlZChlKXt0aGlzLmFjdGl2ZUxpbms9ZSx0aGlzLmNoYW5nZVN1YnNjcmlwdGlvbigpfXN0YXR1c0NsYXNzKGUpe3N3aXRjaChlKXtjYXNlIHF0LkRFQlVHOnJldHVybiJzdGF0dXMgc3RhdHVzLWRlYnVnIjtjYXNlIHF0LldBUk5JTkc6cmV0dXJuInN0YXR1cyBzdGF0dXMtd2FybmluZyI7Y2FzZSBxdC5FUlJPUjpjYXNlIHF0LkVYQ0VQVElPTjpyZXR1cm4ic3RhdHVzIHN0YXR1cy1lcnJvciI7ZGVmYXVsdDpyZXR1cm4ic3RhdHVzIHN0YXR1cy1pbmZvIn19c3RhdHVzQ2xhc3NNc2coZSl7aWYoZT09PXF0LkVYQ0VQVElPTilyZXR1cm4ibXNnLXN0YXR1cy1leGNlcHRpb24ifXRyYWNrQnlMb2dUcyhlLHQpe3JldHVybiB0LnRzfWNoYW5nZVN1YnNjcmlwdGlvbigpe3RoaXMuY3R4LmRhdGFzb3VyY2VzJiZ0aGlzLmN0eC5kYXRhc291cmNlc1swXS5lbnRpdHkmJnRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24ub3B0aW9ucy5kYXRhc291cmNlcyYmKHRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24ub3B0aW9ucy5kYXRhc291cmNlc1swXS5kYXRhS2V5cz1be25hbWU6dGhpcy5hY3RpdmVMaW5rLmtleSx0eXBlOlQudGltZXNlcmllcyxzZXR0aW5nczp7fX1dLHRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLnVwZGF0ZURhdGFTdWJzY3JpcHRpb25zKCksdGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5jYWxsYmFja3Mub25EYXRhVXBkYXRlZD0oKT0+e3RoaXMudXBkYXRlRGF0YSgpfSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpjYSxkZXBzOltdLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6Y2Esc2VsZWN0b3I6InRiLWdhdGV3YXktbG9ncyIsaW5wdXRzOntjdHg6ImN0eCIsZGlhbG9nUmVmOiJkaWFsb2dSZWYifSx2aWV3UXVlcmllczpbe3Byb3BlcnR5TmFtZToic2VhcmNoSW5wdXRGaWVsZCIsZmlyc3Q6ITAscHJlZGljYXRlOlsic2VhcmNoSW5wdXQiXSxkZXNjZW5kYW50czohMH0se3Byb3BlcnR5TmFtZToic29ydCIsZmlyc3Q6ITAscHJlZGljYXRlOmcsZGVzY2VuZGFudHM6ITB9LHtwcm9wZXJ0eU5hbWU6InBhZ2luYXRvciIsZmlyc3Q6ITAscHJlZGljYXRlOmgsZGVzY2VuZGFudHM6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG5hdiBtYXQtdGFiLW5hdi1iYXIgW3RhYlBhbmVsXT0idGFiUGFuZWwiPlxuICA8YSBtYXQtdGFiLWxpbmsgKm5nRm9yPSJsZXQgbGluayBvZiBsb2dMaW5rcyJcbiAgICAgKGNsaWNrKT0ib25UYWJDaGFuZ2VkKGxpbmspIlxuICAgICBbYWN0aXZlXT0iYWN0aXZlTGluay5uYW1lID09PSBsaW5rLm5hbWUiPiB7eyBsaW5rLm5hbWUgfX0gPC9hPlxuPC9uYXY+XG48bWF0LXRhYi1uYXYtcGFuZWwgI3RhYlBhbmVsPjwvbWF0LXRhYi1uYXYtcGFuZWw+XG48dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT0iZGF0YVNvdXJjZSIgW3RyYWNrQnldPSJ0cmFja0J5TG9nVHMiXG4gICAgICAgbWF0U29ydCBbbWF0U29ydEFjdGl2ZV09InBhZ2VMaW5rLnNvcnRPcmRlci5wcm9wZXJ0eSIgW21hdFNvcnREaXJlY3Rpb25dPSJwYWdlTGluay5zb3J0RGlyZWN0aW9uKCkiXG4gICAgICAgbWF0U29ydERpc2FibGVDbGVhcj5cbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9InRzIj5cbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDIwJSI+e3sgXCd3aWRnZXRzLmdhdGV3YXkuY3JlYXRlZC10aW1lXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiPlxuICAgICAge3sgYXR0cmlidXRlLnRzIHwgZGF0ZTpcJ3l5eXktTU0tZGQgSEg6bW06c3NcJyB9fVxuICAgIDwvbWF0LWNlbGw+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0ic3RhdHVzIj5cbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDEwJSI+e3sgXCd3aWRnZXRzLmdhdGV3YXkubGV2ZWxcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWhlYWRlci1jZWxsPlxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IGF0dHJpYnV0ZSI+XG4gICAgICA8c3BhbiBbY2xhc3NdPSJzdGF0dXNDbGFzcyhhdHRyaWJ1dGUuc3RhdHVzKSI+e3sgYXR0cmlidXRlLnN0YXR1cyB9fTwvc3Bhbj5cbiAgICA8L21hdC1jZWxsPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9Im1lc3NhZ2UiPlxuICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIHN0eWxlPSJ3aWR0aDogNzAlIj57eyBcJ3dpZGdldHMuZ2F0ZXdheS5tZXNzYWdlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIFtjbGFzc109InN0YXR1c0NsYXNzTXNnKGF0dHJpYnV0ZS5zdGF0dXMpIj5cbiAgICAgIHt7IGF0dHJpYnV0ZS5tZXNzYWdlIH19XG4gICAgPC9tYXQtY2VsbD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxtYXQtaGVhZGVyLXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiICptYXRIZWFkZXJSb3dEZWY9ImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTogdHJ1ZSI+PC9tYXQtaGVhZGVyLXJvdz5cbiAgPG1hdC1yb3cgY2xhc3M9Im1hdC1yb3ctc2VsZWN0IiAqbWF0Um93RGVmPSJsZXQgYXR0cmlidXRlOyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyI+PC9tYXQtcm93PlxuPC90YWJsZT5cbjxzcGFuIFtmeFNob3ddPSJkYXRhU291cmNlLmRhdGEubGVuZ3RoID09PSAwIlxuICAgICAgZnhGbGV4IGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiXG4gICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCI+e3sgXCdhdHRyaWJ1dGUubm8tdGVsZW1ldHJ5LXRleHRcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbjxzcGFuIGZ4RmxleCBbZnhTaG93XT0iZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCAhPT0gMCI+PC9zcGFuPlxuPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG48bWF0LXBhZ2luYXRvciBbbGVuZ3RoXT0iZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCJcbiAgICAgICAgICAgICAgIFtwYWdlSW5kZXhdPSJwYWdlTGluay5wYWdlIlxuICAgICAgICAgICAgICAgW3BhZ2VTaXplXT0icGFnZUxpbmsucGFnZVNpemUiXG4gICAgICAgICAgICAgICBbcGFnZVNpemVPcHRpb25zXT0iWzEwLCAyMCwgMzBdIj48L21hdC1wYWdpbmF0b3I+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3cteDphdXRvO3BhZGRpbmc6MH06aG9zdCAuc3RhdHVze2JvcmRlci1yYWRpdXM6MjBweDtmb250LXdlaWdodDo1MDA7cGFkZGluZzo1cHggMTVweH06aG9zdCAuc3RhdHVzLWRlYnVne2NvbG9yOmdyZWVuO2JhY2tncm91bmQ6IzAwODAwMDFhfTpob3N0IC5zdGF0dXMtd2FybmluZ3tjb2xvcjpvcmFuZ2U7YmFja2dyb3VuZDojZmZhNTAwMWF9Omhvc3QgLnN0YXR1cy1lcnJvcntjb2xvcjpyZWQ7YmFja2dyb3VuZDojZmYwMDAwMWF9Omhvc3QgLnN0YXR1cy1pbmZve2NvbG9yOiMwMGY7YmFja2dyb3VuZDojMDAwMDgwMWF9Omhvc3QgLm1zZy1zdGF0dXMtZXhjZXB0aW9ue2NvbG9yOnJlZH1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Yi5NYXRUYWJsZSxzZWxlY3RvcjoibWF0LXRhYmxlLCB0YWJsZVttYXQtdGFibGVdIixleHBvcnRBczpbIm1hdFRhYmxlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRIZWFkZXJDZWxsRGVmLHNlbGVjdG9yOiJbbWF0SGVhZGVyQ2VsbERlZl0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0SGVhZGVyUm93RGVmLHNlbGVjdG9yOiJbbWF0SGVhZGVyUm93RGVmXSIsaW5wdXRzOlsibWF0SGVhZGVyUm93RGVmIiwibWF0SGVhZGVyUm93RGVmU3RpY2t5Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDb2x1bW5EZWYsc2VsZWN0b3I6IlttYXRDb2x1bW5EZWZdIixpbnB1dHM6WyJtYXRDb2x1bW5EZWYiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdENlbGxEZWYsc2VsZWN0b3I6IlttYXRDZWxsRGVmXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRSb3dEZWYsc2VsZWN0b3I6IlttYXRSb3dEZWZdIixpbnB1dHM6WyJtYXRSb3dEZWZDb2x1bW5zIiwibWF0Um93RGVmV2hlbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0SGVhZGVyQ2VsbCxzZWxlY3RvcjoibWF0LWhlYWRlci1jZWxsLCB0aFttYXQtaGVhZGVyLWNlbGxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdENlbGwsc2VsZWN0b3I6Im1hdC1jZWxsLCB0ZFttYXQtY2VsbF0ifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmIuTWF0SGVhZGVyUm93LHNlbGVjdG9yOiJtYXQtaGVhZGVyLXJvdywgdHJbbWF0LWhlYWRlci1yb3ddIixleHBvcnRBczpbIm1hdEhlYWRlclJvdyJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmIuTWF0Um93LHNlbGVjdG9yOiJtYXQtcm93LCB0clttYXQtcm93XSIsZXhwb3J0QXM6WyJtYXRSb3ciXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp4Lk1hdFBhZ2luYXRvcixzZWxlY3RvcjoibWF0LXBhZ2luYXRvciIsaW5wdXRzOlsiY29sb3IiLCJwYWdlSW5kZXgiLCJsZW5ndGgiLCJwYWdlU2l6ZSIsInBhZ2VTaXplT3B0aW9ucyIsImhpZGVQYWdlU2l6ZSIsInNob3dGaXJzdExhc3RCdXR0b25zIiwic2VsZWN0Q29uZmlnIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsicGFnZSJdLGV4cG9ydEFzOlsibWF0UGFnaW5hdG9yIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Zi5NYXRTb3J0LHNlbGVjdG9yOiJbbWF0U29ydF0iLGlucHV0czpbIm1hdFNvcnRBY3RpdmUiLCJtYXRTb3J0U3RhcnQiLCJtYXRTb3J0RGlyZWN0aW9uIiwibWF0U29ydERpc2FibGVDbGVhciIsIm1hdFNvcnREaXNhYmxlZCJdLG91dHB1dHM6WyJtYXRTb3J0Q2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTb3J0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Zi5NYXRTb3J0SGVhZGVyLHNlbGVjdG9yOiJbbWF0LXNvcnQtaGVhZGVyXSIsaW5wdXRzOlsibWF0LXNvcnQtaGVhZGVyIiwiYXJyb3dQb3NpdGlvbiIsInN0YXJ0IiwiZGlzYWJsZWQiLCJzb3J0QWN0aW9uRGVzY3JpcHRpb24iLCJkaXNhYmxlQ2xlYXIiXSxleHBvcnRBczpbIm1hdFNvcnRIZWFkZXIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp6Lk1hdERpdmlkZXIsc2VsZWN0b3I6Im1hdC1kaXZpZGVyIixpbnB1dHM6WyJ2ZXJ0aWNhbCIsImluc2V0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWJOYXYsc2VsZWN0b3I6IlttYXQtdGFiLW5hdi1iYXJdIixpbnB1dHM6WyJmaXRJbmtCYXJUb0NvbnRlbnQiLCJtYXQtc3RyZXRjaC10YWJzIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJiYWNrZ3JvdW5kQ29sb3IiLCJkaXNhYmxlUmlwcGxlIiwiY29sb3IiLCJ0YWJQYW5lbCJdLGV4cG9ydEFzOlsibWF0VGFiTmF2QmFyIiwibWF0VGFiTmF2Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWJOYXZQYW5lbCxzZWxlY3RvcjoibWF0LXRhYi1uYXYtcGFuZWwiLGlucHV0czpbImlkIl0sZXhwb3J0QXM6WyJtYXRUYWJOYXZQYW5lbCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOlcuTWF0VGFiTGluayxzZWxlY3RvcjoiW21hdC10YWItbGlua10sIFttYXRUYWJMaW5rXSIsaW5wdXRzOlsiYWN0aXZlIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJpZCJdLGV4cG9ydEFzOlsibWF0VGFiTGluayJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRTaG93SGlkZURpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhTaG93XSwgW2Z4U2hvdy5wcmludF0sICBbZnhTaG93LnhzXSwgW2Z4U2hvdy5zbV0sIFtmeFNob3cubWRdLCBbZnhTaG93LmxnXSwgW2Z4U2hvdy54bF0sICBbZnhTaG93Lmx0LXNtXSwgW2Z4U2hvdy5sdC1tZF0sIFtmeFNob3cubHQtbGddLCBbZnhTaG93Lmx0LXhsXSwgIFtmeFNob3cuZ3QteHNdLCBbZnhTaG93Lmd0LXNtXSwgW2Z4U2hvdy5ndC1tZF0sIFtmeFNob3cuZ3QtbGddLCAgW2Z4SGlkZV0sIFtmeEhpZGUucHJpbnRdLCAgW2Z4SGlkZS54c10sIFtmeEhpZGUuc21dLCBbZnhIaWRlLm1kXSwgW2Z4SGlkZS5sZ10sIFtmeEhpZGUueGxdLCAgW2Z4SGlkZS5sdC1zbV0sIFtmeEhpZGUubHQtbWRdLCBbZnhIaWRlLmx0LWxnXSwgW2Z4SGlkZS5sdC14bF0sICBbZnhIaWRlLmd0LXhzXSwgW2Z4SGlkZS5ndC1zbV0sIFtmeEhpZGUuZ3QtbWRdLCBbZnhIaWRlLmd0LWxnXSIsaW5wdXRzOlsiZnhTaG93IiwiZnhTaG93LnByaW50IiwiZnhTaG93LnhzIiwiZnhTaG93LnNtIiwiZnhTaG93Lm1kIiwiZnhTaG93LmxnIiwiZnhTaG93LnhsIiwiZnhTaG93Lmx0LXNtIiwiZnhTaG93Lmx0LW1kIiwiZnhTaG93Lmx0LWxnIiwiZnhTaG93Lmx0LXhsIiwiZnhTaG93Lmd0LXhzIiwiZnhTaG93Lmd0LXNtIiwiZnhTaG93Lmd0LW1kIiwiZnhTaG93Lmd0LWxnIiwiZnhIaWRlIiwiZnhIaWRlLnByaW50IiwiZnhIaWRlLnhzIiwiZnhIaWRlLnNtIiwiZnhIaWRlLm1kIiwiZnhIaWRlLmxnIiwiZnhIaWRlLnhsIiwiZnhIaWRlLmx0LXNtIiwiZnhIaWRlLmx0LW1kIiwiZnhIaWRlLmx0LWxnIiwiZnhIaWRlLmx0LXhsIiwiZnhIaWRlLmd0LXhzIiwiZnhIaWRlLmd0LXNtIiwiZnhIaWRlLmd0LW1kIiwiZnhIaWRlLmd0LWxnIl19LHtraW5kOiJwaXBlIix0eXBlOl8uRGF0ZVBpcGUsbmFtZToiZGF0ZSJ9LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV19KX19ZSgiR2F0ZXdheUxvZ3NDb21wb25lbnQiLGNhKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmNhLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1nYXRld2F5LWxvZ3MiLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG5hdiBtYXQtdGFiLW5hdi1iYXIgW3RhYlBhbmVsXT0idGFiUGFuZWwiPlxuICA8YSBtYXQtdGFiLWxpbmsgKm5nRm9yPSJsZXQgbGluayBvZiBsb2dMaW5rcyJcbiAgICAgKGNsaWNrKT0ib25UYWJDaGFuZ2VkKGxpbmspIlxuICAgICBbYWN0aXZlXT0iYWN0aXZlTGluay5uYW1lID09PSBsaW5rLm5hbWUiPiB7eyBsaW5rLm5hbWUgfX0gPC9hPlxuPC9uYXY+XG48bWF0LXRhYi1uYXYtcGFuZWwgI3RhYlBhbmVsPjwvbWF0LXRhYi1uYXYtcGFuZWw+XG48dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT0iZGF0YVNvdXJjZSIgW3RyYWNrQnldPSJ0cmFja0J5TG9nVHMiXG4gICAgICAgbWF0U29ydCBbbWF0U29ydEFjdGl2ZV09InBhZ2VMaW5rLnNvcnRPcmRlci5wcm9wZXJ0eSIgW21hdFNvcnREaXJlY3Rpb25dPSJwYWdlTGluay5zb3J0RGlyZWN0aW9uKCkiXG4gICAgICAgbWF0U29ydERpc2FibGVDbGVhcj5cbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9InRzIj5cbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDIwJSI+e3sgXCd3aWRnZXRzLmdhdGV3YXkuY3JlYXRlZC10aW1lXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiPlxuICAgICAge3sgYXR0cmlidXRlLnRzIHwgZGF0ZTpcJ3l5eXktTU0tZGQgSEg6bW06c3NcJyB9fVxuICAgIDwvbWF0LWNlbGw+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0ic3RhdHVzIj5cbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDEwJSI+e3sgXCd3aWRnZXRzLmdhdGV3YXkubGV2ZWxcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWhlYWRlci1jZWxsPlxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IGF0dHJpYnV0ZSI+XG4gICAgICA8c3BhbiBbY2xhc3NdPSJzdGF0dXNDbGFzcyhhdHRyaWJ1dGUuc3RhdHVzKSI+e3sgYXR0cmlidXRlLnN0YXR1cyB9fTwvc3Bhbj5cbiAgICA8L21hdC1jZWxsPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9Im1lc3NhZ2UiPlxuICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIHN0eWxlPSJ3aWR0aDogNzAlIj57eyBcJ3dpZGdldHMuZ2F0ZXdheS5tZXNzYWdlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIFtjbGFzc109InN0YXR1c0NsYXNzTXNnKGF0dHJpYnV0ZS5zdGF0dXMpIj5cbiAgICAgIHt7IGF0dHJpYnV0ZS5tZXNzYWdlIH19XG4gICAgPC9tYXQtY2VsbD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxtYXQtaGVhZGVyLXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiICptYXRIZWFkZXJSb3dEZWY9ImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTogdHJ1ZSI+PC9tYXQtaGVhZGVyLXJvdz5cbiAgPG1hdC1yb3cgY2xhc3M9Im1hdC1yb3ctc2VsZWN0IiAqbWF0Um93RGVmPSJsZXQgYXR0cmlidXRlOyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyI+PC9tYXQtcm93PlxuPC90YWJsZT5cbjxzcGFuIFtmeFNob3ddPSJkYXRhU291cmNlLmRhdGEubGVuZ3RoID09PSAwIlxuICAgICAgZnhGbGV4IGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiXG4gICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCI+e3sgXCdhdHRyaWJ1dGUubm8tdGVsZW1ldHJ5LXRleHRcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbjxzcGFuIGZ4RmxleCBbZnhTaG93XT0iZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCAhPT0gMCI+PC9zcGFuPlxuPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG48bWF0LXBhZ2luYXRvciBbbGVuZ3RoXT0iZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCJcbiAgICAgICAgICAgICAgIFtwYWdlSW5kZXhdPSJwYWdlTGluay5wYWdlIlxuICAgICAgICAgICAgICAgW3BhZ2VTaXplXT0icGFnZUxpbmsucGFnZVNpemUiXG4gICAgICAgICAgICAgICBbcGFnZVNpemVPcHRpb25zXT0iWzEwLCAyMCwgMzBdIj48L21hdC1wYWdpbmF0b3I+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3cteDphdXRvO3BhZGRpbmc6MH06aG9zdCAuc3RhdHVze2JvcmRlci1yYWRpdXM6MjBweDtmb250LXdlaWdodDo1MDA7cGFkZGluZzo1cHggMTVweH06aG9zdCAuc3RhdHVzLWRlYnVne2NvbG9yOmdyZWVuO2JhY2tncm91bmQ6IzAwODAwMDFhfTpob3N0IC5zdGF0dXMtd2FybmluZ3tjb2xvcjpvcmFuZ2U7YmFja2dyb3VuZDojZmZhNTAwMWF9Omhvc3QgLnN0YXR1cy1lcnJvcntjb2xvcjpyZWQ7YmFja2dyb3VuZDojZmYwMDAwMWF9Omhvc3QgLnN0YXR1cy1pbmZve2NvbG9yOiMwMGY7YmFja2dyb3VuZDojMDAwMDgwMWF9Omhvc3QgLm1zZy1zdGF0dXMtZXhjZXB0aW9ue2NvbG9yOnJlZH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W10scHJvcERlY29yYXRvcnM6e2N0eDpbe3R5cGU6YX1dLGRpYWxvZ1JlZjpbe3R5cGU6YX1dLHNlYXJjaElucHV0RmllbGQ6W3t0eXBlOm8sYXJnczpbInNlYXJjaElucHV0Il19XSxzb3J0Olt7dHlwZTpvLGFyZ3M6W2ddfV0scGFnaW5hdG9yOlt7dHlwZTpvLGFyZ3M6W2hdfV19fSk7Y2xhc3MgcGF7Y29uc3RydWN0b3IoZSx0LG4pe3RoaXMuZmI9ZSx0aGlzLmF0dHJpYnV0ZVNlcnZpY2U9dCx0aGlzLnV0aWxzPW4sdGhpcy5pc051bWVyaWNEYXRhPSExLHRoaXMuZGF0YVR5cGVEZWZpbmVkPSExLHRoaXMuc3RhdGlzdGljc0tleXM9W10sdGhpcy5jb21tYW5kcz1bXSx0aGlzLnN1YnNjcmlwdGlvbk9wdGlvbnM9e2NhbGxiYWNrczp7b25EYXRhVXBkYXRlZDooKT0+dGhpcy5jdHgubmdab25lLnJ1bigoKCk9Pnt0aGlzLm9uRGF0YVVwZGF0ZWQoKX0pKSxvbkRhdGFVcGRhdGVFcnJvcjooZSx0KT0+dGhpcy5jdHgubmdab25lLnJ1bigoKCk9Pnt0aGlzLm9uRGF0YVVwZGF0ZUVycm9yKHQpfSkpfSx1c2VEYXNoYm9hcmRUaW1ld2luZG93OiExLGxlZ2VuZENvbmZpZzp7cG9zaXRpb246Uy5ib3R0b219fSx0aGlzLmluaXQ9KCk9Pnt0aGlzLmZsb3RDdHg9eyRzY29wZTp0aGlzLmN0eC4kc2NvcGUsJGluamVjdG9yOnRoaXMuY3R4LiRpbmplY3Rvcix1dGlsczp0aGlzLmN0eC51dGlscyxpc01vYmlsZTp0aGlzLmN0eC5pc01vYmlsZSxpc0VkaXQ6dGhpcy5jdHguaXNFZGl0LHN1YnNjcmlwdGlvbkFwaTp0aGlzLmN0eC5zdWJzY3JpcHRpb25BcGksZGV0ZWN0Q2hhbmdlczp0aGlzLmN0eC5kZXRlY3RDaGFuZ2VzLHNldHRpbmdzOnRoaXMuY3R4LnNldHRpbmdzfX0sdGhpcy51cGRhdGVDaGFydD0oKT0+e30sdGhpcy5yZXNpemU9KCk9Pnt9O2NvbnN0IGE9e3Byb3BlcnR5OiIwIixkaXJlY3Rpb246dy5ERVNDfTt0aGlzLnBhZ2VMaW5rPW5ldyBDKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSwwLG51bGwsYSksdGhpcy5kaXNwbGF5ZWRDb2x1bW5zPVsiMCIsIjEiXSx0aGlzLmRhdGFTb3VyY2U9bmV3IHkoW10pLHRoaXMuc3RhdGlzdGljRm9ybT10aGlzLmZiLmdyb3VwKHtzdGF0aXN0aWNLZXk6W251bGwsW11dfSksdGhpcy5zdGF0aXN0aWNGb3JtLmdldCgic3RhdGlzdGljS2V5IikudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoZT0+e3RoaXMuY29tbWFuZE9iaj1udWxsLHRoaXMuY29tbWFuZHMubGVuZ3RoJiYodGhpcy5jb21tYW5kT2JqPXRoaXMuY29tbWFuZHMuZmluZCgodD0+dC5hdHRyaWJ1dGVPbkdhdGV3YXk9PT1lKSkpLHRoaXMuc3Vic2NyaXB0aW9uSW5mbyYmdGhpcy5jcmVhdGVDaGFydHNTdWJzY3JpcHRpb24odGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi5kYXRhc291cmNlc1swXS5lbnRpdHksZSl9KSl9bmdBZnRlclZpZXdJbml0KCl7aWYodGhpcy5kYXRhU291cmNlLnNvcnQ9dGhpcy5zb3J0LHRoaXMuc29ydC5zb3J0Q2hhbmdlLnN1YnNjcmliZSgoKCk9PnRoaXMuc29ydERhdGEoKSkpLHRoaXMuaW5pdCgpLHRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24uZGF0YXNvdXJjZXMubGVuZ3RoKXtjb25zdCBlPXRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24uZGF0YXNvdXJjZXNbMF0uZW50aXR5O2lmKGUuaWQuaWQ9PT1rKXJldHVybjt0aGlzLmdlbmVyYWw/dGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLmdldEVudGl0eVRpbWVzZXJpZXNMYXRlc3QoZS5pZCkuc3Vic2NyaWJlKCh0PT57Y29uc3Qgbj1PYmplY3Qua2V5cyh0KS5maWx0ZXIoKGU9PmUuaW5jbHVkZXMoIkNvbm5lY3RvckV2ZW50c1Byb2R1Y2VkIil8fGUuaW5jbHVkZXMoIkNvbm5lY3RvckV2ZW50c1NlbnQiKSkpO3RoaXMuY3JlYXRlR2VuZXJhbENoYXJ0c1N1YnNjcmlwdGlvbihlLG4pfSkpOnRoaXMuYXR0cmlidXRlU2VydmljZS5nZXRFbnRpdHlBdHRyaWJ1dGVzKGUuaWQsTC5TSEFSRURfU0NPUEUsWyJnZW5lcmFsX2NvbmZpZ3VyYXRpb24iXSkuc3Vic2NyaWJlKCh0PT57dCYmdC5sZW5ndGgmJih0aGlzLmNvbW1hbmRzPXRbMF0udmFsdWUuc3RhdGlzdGljcy5jb21tYW5kcywhdGhpcy5zdGF0aXN0aWNGb3JtLmdldCgic3RhdGlzdGljS2V5IikudmFsdWUmJnRoaXMuY29tbWFuZHMmJnRoaXMuY29tbWFuZHMubGVuZ3RoJiYodGhpcy5zdGF0aXN0aWNGb3JtLmdldCgic3RhdGlzdGljS2V5Iikuc2V0VmFsdWUodGhpcy5jb21tYW5kc1swXS5hdHRyaWJ1dGVPbkdhdGV3YXkpLHRoaXMuY3JlYXRlQ2hhcnRzU3Vic2NyaXB0aW9uKGUsdGhpcy5jb21tYW5kc1swXS5hdHRyaWJ1dGVPbkdhdGV3YXkpKSl9KSl9fW5hdmlnYXRlVG9TdGF0aXN0aWNzKCl7Y29uc3QgZT1KKHRoaXMuY3R4LnN0YXRlQ29udHJvbGxlci5nZXRTdGF0ZVBhcmFtcygpKTt0aGlzLmN0eC5zdGF0ZUNvbnRyb2xsZXIub3BlblN0YXRlKCJjb25maWd1cmF0aW9uIixlKX1zb3J0RGF0YSgpe3RoaXMuZGF0YVNvdXJjZS5zb3J0RGF0YSh0aGlzLmRhdGFTb3VyY2UuZGF0YSx0aGlzLnNvcnQpfW9uTGVnZW5kS2V5SGlkZGVuQ2hhbmdlKGUpe3RoaXMubGVnZW5kRGF0YS5rZXlzW2VdLmRhdGFLZXkuaGlkZGVuPSF0aGlzLmxlZ2VuZERhdGEua2V5c1tlXS5kYXRhS2V5LmhpZGRlbix0aGlzLnN1YnNjcmlwdGlvbi51cGRhdGVEYXRhVmlzaWJpbGl0eShlKX1jcmVhdGVDaGFydHNTdWJzY3JpcHRpb24oZSx0KXtjb25zdCBuPVt7dHlwZTpGLmVudGl0eSxlbnRpdHlUeXBlOkkuREVWSUNFLGVudGl0eUlkOmUuaWQuaWQsZW50aXR5TmFtZTplLm5hbWUsdGltZXNlcmllczpbXX1dO25bMF0udGltZXNlcmllcz1be25hbWU6dCxsYWJlbDp0fV0sdGhpcy5zdWJzY3JpcHRpb25JbmZvPW4sdGhpcy5jaGFuZ2VTdWJzY3JpcHRpb24obiksdGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfWNyZWF0ZUdlbmVyYWxDaGFydHNTdWJzY3JpcHRpb24oZSx0KXtjb25zdCBuPVt7dHlwZTpGLmVudGl0eSxlbnRpdHlUeXBlOkkuREVWSUNFLGVudGl0eUlkOmUuaWQuaWQsZW50aXR5TmFtZTplLm5hbWUsdGltZXNlcmllczpbXX1dO25bMF0udGltZXNlcmllcz1bXSx0Py5sZW5ndGgmJnQuZm9yRWFjaCgoZT0+e25bMF0udGltZXNlcmllcy5wdXNoKHtuYW1lOmUsbGFiZWw6ZX0pfSkpLHRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24uZGF0YXNvdXJjZXNbMF0uZGF0YUtleXMuZm9yRWFjaCgoZT0+e25bMF0udGltZXNlcmllcy5wdXNoKHtuYW1lOmUubmFtZSxsYWJlbDplLmxhYmVsfSl9KSksdGhpcy5jaGFuZ2VTdWJzY3JpcHRpb24obiksdGhpcy5jdHguZGVmYXVsdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfXJlc2V0KCl7dGhpcy5yZXNpemUkJiZ0aGlzLnJlc2l6ZSQuZGlzY29ubmVjdCgpLHRoaXMuc3Vic2NyaXB0aW9uJiZ0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfW9uRGF0YVVwZGF0ZUVycm9yKGUpe2NvbnN0IHQ9dGhpcy51dGlscy5wYXJzZUV4Y2VwdGlvbihlKTtsZXQgbj10Lm5hbWU7dC5tZXNzYWdlJiYobis9IjogIit0Lm1lc3NhZ2UpLGNvbnNvbGUuZXJyb3Iobil9b25EYXRhVXBkYXRlZCgpe3RoaXMuaXNEYXRhT25seU51bWJlcnMoKSx0aGlzLmlzTnVtZXJpY0RhdGEmJih0aGlzLmNoYXJ0SW5pdGVkfHx0aGlzLmluaXRDaGFydCgpKX1pbml0Q2hhcnQoKXt0aGlzLmNoYXJ0SW5pdGVkPSEwLHRoaXMuZmxvdEN0eC4kY29udGFpbmVyPSQodGhpcy5zdGF0aXN0aWNDaGFydC5uYXRpdmVFbGVtZW50KSx0aGlzLnJlc2l6ZSQub2JzZXJ2ZSh0aGlzLnN0YXRpc3RpY0NoYXJ0Lm5hdGl2ZUVsZW1lbnQpfWlzRGF0YU9ubHlOdW1iZXJzKCl7dGhpcy5nZW5lcmFsP3RoaXMuaXNOdW1lcmljRGF0YT0hMDoodGhpcy5kYXRhU291cmNlLmRhdGE9dGhpcy5zdWJzY3JpcHRpb24uZGF0YS5sZW5ndGg/dGhpcy5zdWJzY3JpcHRpb24uZGF0YVswXS5kYXRhOltdLHRoaXMuZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCYmIXRoaXMuZGF0YVR5cGVEZWZpbmVkJiYodGhpcy5kYXRhVHlwZURlZmluZWQ9ITAsdGhpcy5pc051bWVyaWNEYXRhPXRoaXMuZGF0YVNvdXJjZS5kYXRhLmV2ZXJ5KChlPT4haXNOYU4oK2VbMV0pKSkpKX1jaGFuZ2VTdWJzY3JpcHRpb24oZSl7dGhpcy5zdWJzY3JpcHRpb24mJnRoaXMucmVzZXQoKSx0aGlzLmN0eC5kYXRhc291cmNlc1swXS5lbnRpdHkmJnRoaXMuY3R4LnN1YnNjcmlwdGlvbkFwaS5jcmVhdGVTdWJzY3JpcHRpb25Gcm9tSW5mbyhBLnRpbWVzZXJpZXMsZSx0aGlzLnN1YnNjcmlwdGlvbk9wdGlvbnMsITEsITApLnN1YnNjcmliZSgoZT0+e3RoaXMuZGF0YVR5cGVEZWZpbmVkPSExLHRoaXMuc3Vic2NyaXB0aW9uPWUsdGhpcy5pc0RhdGFPbmx5TnVtYmVycygpLHRoaXMubGVnZW5kRGF0YT10aGlzLnN1YnNjcmlwdGlvbi5sZWdlbmREYXRhLHRoaXMuZmxvdEN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uPWUsdGhpcy5yZXNpemUkPW5ldyBSZXNpemVPYnNlcnZlcigoKCk9Pnt0aGlzLnJlc2l6ZSgpfSkpLHRoaXMuY3R4LmRldGVjdENoYW5nZXMoKSx0aGlzLmlzTnVtZXJpY0RhdGEmJnRoaXMuaW5pdENoYXJ0KCl9KSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpwYSxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjpYLkF0dHJpYnV0ZVNlcnZpY2V9LHt0b2tlbjpYLlV0aWxzU2VydmljZX1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6cGEsc2VsZWN0b3I6InRiLWdhdGV3YXktc3RhdGlzdGljcyIsaW5wdXRzOntjdHg6ImN0eCIsZ2VuZXJhbDoiZ2VuZXJhbCJ9LHZpZXdRdWVyaWVzOlt7cHJvcGVydHlOYW1lOiJzb3J0IixmaXJzdDohMCxwcmVkaWNhdGU6ZyxkZXNjZW5kYW50czohMH0se3Byb3BlcnR5TmFtZToic3RhdGlzdGljQ2hhcnQiLGZpcnN0OiEwLHByZWRpY2F0ZTpbInN0YXRpc3RpY0NoYXJ0Il0sZGVzY2VuZGFudHM6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0ic3RhdGlzdGljcy1jb250YWluZXIiIGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0Lmx0LW1kPSJjb2x1bW4iPlxuICA8bWF0LWNhcmQgW2Zvcm1Hcm91cF09InN0YXRpc3RpY0Zvcm0iICpuZ0lmPSIhZ2VuZXJhbCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnN0YXRpc3RpY1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InN0YXRpc3RpY0tleSI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGtleSBvZiBzdGF0aXN0aWNzS2V5cyIgW3ZhbHVlXT0ia2V5Ij5cbiAgICAgICAgICB7eyBrZXkgfX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBjb21tYW5kIG9mIGNvbW1hbmRzIiBbdmFsdWVdPSJjb21tYW5kLmF0dHJpYnV0ZU9uR2F0ZXdheSI+XG4gICAgICAgICAge3sgY29tbWFuZC5hdHRyaWJ1dGVPbkdhdGV3YXkgfX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1lcnJvclxuICAgICAgKm5nSWY9IiFzdGF0aXN0aWNzS2V5cy5sZW5ndGggJiYgIWNvbW1hbmRzLmxlbmd0aCI+XG4gICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5zdGF0aXN0aWMtY29tbWFuZHMtZW1wdHlcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbWF0LWVycm9yPlxuICAgIDxkaXY+XG4gICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj0icHJpbWFyeSIgKGNsaWNrKT0ibmF2aWdhdGVUb1N0YXRpc3RpY3MoKSI+XG4gICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnN0YXRpc3RpY3MtYnV0dG9uXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIiAqbmdJZj0iY29tbWFuZE9iaiI+XG4gICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IG1hdElucHV0IFt2YWx1ZV09ImNvbW1hbmRPYmouY29tbWFuZCIgZGlzYWJsZWQ+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9tYXQtY2FyZD5cbiAgPGRpdiBjbGFzcz0iY2hhcnQtYm94IiBmeExheW91dD0iY29sdW1uIj5cbiAgICA8ZGl2IGNsYXNzPSJjaGFydC1jb250YWluZXIiICNzdGF0aXN0aWNDaGFydCBbZnhTaG93XT0iaXNOdW1lcmljRGF0YSI+PC9kaXY+XG4gICAgPHRhYmxlIFtmeFNob3ddPSIhaXNOdW1lcmljRGF0YSIgbWF0LXRhYmxlIFtkYXRhU291cmNlXT0iZGF0YVNvdXJjZSJcbiAgICAgICAgICAgbWF0U29ydCBbbWF0U29ydEFjdGl2ZV09InBhZ2VMaW5rLnNvcnRPcmRlci5wcm9wZXJ0eSIgW21hdFNvcnREaXJlY3Rpb25dPSJwYWdlTGluay5zb3J0RGlyZWN0aW9uKCkiXG4gICAgICAgICAgIG1hdFNvcnREaXNhYmxlQ2xlYXI+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iMCI+XG4gICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7IFwnd2lkZ2V0cy5nYXRld2F5LmNyZWF0ZWQtdGltZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCByb3c7IGxldCByb3dJbmRleCA9IGluZGV4Ij5cbiAgICAgICAgICB7eyByb3dbMF18IGRhdGU6XCd5eXl5LU1NLWRkIEhIOm1tOnNzXCcgfX1cbiAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9IjEiPlxuICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogNzAlIj57eyBcJ3dpZGdldHMuZ2F0ZXdheS5tZXNzYWdlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHJvdyI+XG4gICAgICAgICAge3sgcm93WzFdIH19XG4gICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxtYXQtaGVhZGVyLXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiXG4gICAgICAgICAgICAgICAgICAgICAgKm1hdEhlYWRlclJvd0RlZj0iZGlzcGxheWVkQ29sdW1uczsgc3RpY2t5OiB0cnVlIj48L21hdC1oZWFkZXItcm93PlxuICAgICAgPG1hdC1yb3cgY2xhc3M9Im1hdC1yb3ctc2VsZWN0IlxuICAgICAgICAgICAgICAgKm1hdFJvd0RlZj0ibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1uczsiPjwvbWF0LXJvdz5cbiAgICA8L3RhYmxlPlxuICAgIDxzcGFuIFtmeFNob3ddPSJkYXRhU291cmNlLmRhdGEubGVuZ3RoID09PSAwICYmICFpc051bWVyaWNEYXRhIlxuICAgICAgICAgIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiXG4gICAgICAgICAgY2xhc3M9Im5vLWRhdGEtZm91bmQiPnt7IFwnYXR0cmlidXRlLm5vLXRlbGVtZXRyeS10ZXh0XCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPGRpdiBmeEZsZXggY2xhc3M9ImxlZ2VuZCIgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciIgW2Z4U2hvd109ImlzTnVtZXJpY0RhdGEiPlxuICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLWtleXMiICpuZ0Zvcj0ibGV0IGxlZ2VuZEtleSBvZiBsZWdlbmREYXRhPy5rZXlzIiBmeExheW91dD0icm93IlxuICAgICAgICAgICBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9ImxlZ2VuZC1saW5lIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09ImxlZ2VuZEtleS5kYXRhS2V5LmNvbG9yIj48L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9ImxlZ2VuZC1sYWJlbCJcbiAgICAgICAgICAgICAoY2xpY2spPSJvbkxlZ2VuZEtleUhpZGRlbkNoYW5nZShsZWdlbmRLZXkuZGF0YUluZGV4KSJcbiAgICAgICAgICAgICBbY2xhc3NdPSJ7IFwnaGlkZGVuLWxhYmVsXCc6IGxlZ2VuZERhdGEua2V5c1tsZWdlbmRLZXkuZGF0YUluZGV4XS5kYXRhS2V5LmhpZGRlbiB9IlxuICAgICAgICAgICAgIFtpbm5lckhUTUxdPSJsZWdlbmRLZXkuZGF0YUtleS5sYWJlbCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3BhZGRpbmc6MH06aG9zdCAuc3RhdGlzdGljcy1jb250YWluZXJ7aGVpZ2h0OjEwMCU7b3ZlcmZsb3cteTphdXRvfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciBtYXQtY2FyZHt3aWR0aDo0MCU7aGVpZ2h0OjEwMCU7bWFyZ2luLXJpZ2h0OjM1cHg7cGFkZGluZzoxNXB4O2dhcDoyMnB4fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpezpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciBtYXQtY2FyZHt3aWR0aDoxMDAlfX06aG9zdCAuc3RhdGlzdGljcy1jb250YWluZXIgLmNoYXJ0LWJveCw6aG9zdCAuc3RhdGlzdGljcy1jb250YWluZXIgLmNoYXJ0LWNvbnRhaW5lcntoZWlnaHQ6MTAwJTtmbGV4LWdyb3c6MX06aG9zdCAuc3RhdGlzdGljcy1jb250YWluZXIgLmNoYXJ0LWJveHtvdmVyZmxvdzphdXRvfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lcj4qe2hlaWdodDoxMDAlfTpob3N0IC5sZWdlbmR7ZmxleC13cmFwOndyYXA7d2lkdGg6MTAwJTtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206NHB4O21hcmdpbi10b3A6MTVweH06aG9zdCAubGVnZW5kIC5sZWdlbmQta2V5cyAubGVnZW5kLWxhYmVse3BhZGRpbmc6MnB4IDIwcHggMnB4IDEwcHg7d2hpdGUtc3BhY2U6bm93cmFwfTpob3N0IC5sZWdlbmQgLmxlZ2VuZC1rZXlzIC5sZWdlbmQtbGFiZWwuaGlkZGVuLWxhYmVse3RleHQtZGVjb3JhdGlvbjpsaW5lLXRocm91Z2g7b3BhY2l0eTouNn06aG9zdCAubGVnZW5kIC5sZWdlbmQta2V5cyAubGVnZW5kLWxhYmVsOmZvY3Vze291dGxpbmU6bm9uZX06aG9zdCAubGVnZW5kIC5sZWdlbmQta2V5cyAubGVnZW5kLWxpbmV7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTVweDtoZWlnaHQ6M3B4O3RleHQtYWxpZ246bGVmdDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7b3V0bGluZTpub25lfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmhlLk1hdENhcmQsc2VsZWN0b3I6Im1hdC1jYXJkIixpbnB1dHM6WyJhcHBlYXJhbmNlIl0sZXhwb3J0QXM6WyJtYXRDYXJkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRFcnJvcixzZWxlY3RvcjoibWF0LWVycm9yLCBbbWF0RXJyb3JdIixpbnB1dHM6WyJpZCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOndlLk1hdFNlbGVjdCxzZWxlY3RvcjoibWF0LXNlbGVjdCIsaW5wdXRzOlsiYXJpYS1kZXNjcmliZWRieSIsInBhbmVsQ2xhc3MiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3IiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwibXVsdGlwbGUiLCJkaXNhYmxlT3B0aW9uQ2VudGVyaW5nIiwiY29tcGFyZVdpdGgiLCJ2YWx1ZSIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJlcnJvclN0YXRlTWF0Y2hlciIsInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLCJzb3J0Q29tcGFyYXRvciIsImlkIiwicGFuZWxXaWR0aCJdLG91dHB1dHM6WyJvcGVuZWRDaGFuZ2UiLCJvcGVuZWQiLCJjbG9zZWQiLCJzZWxlY3Rpb25DaGFuZ2UiLCJ2YWx1ZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2VsZWN0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmIuTWF0VGFibGUsc2VsZWN0b3I6Im1hdC10YWJsZSwgdGFibGVbbWF0LXRhYmxlXSIsZXhwb3J0QXM6WyJtYXRUYWJsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0SGVhZGVyQ2VsbERlZixzZWxlY3RvcjoiW21hdEhlYWRlckNlbGxEZWZdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlclJvd0RlZixzZWxlY3RvcjoiW21hdEhlYWRlclJvd0RlZl0iLGlucHV0czpbIm1hdEhlYWRlclJvd0RlZiIsIm1hdEhlYWRlclJvd0RlZlN0aWNreSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Q29sdW1uRGVmLHNlbGVjdG9yOiJbbWF0Q29sdW1uRGVmXSIsaW5wdXRzOlsibWF0Q29sdW1uRGVmIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsRGVmLHNlbGVjdG9yOiJbbWF0Q2VsbERlZl0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Um93RGVmLHNlbGVjdG9yOiJbbWF0Um93RGVmXSIsaW5wdXRzOlsibWF0Um93RGVmQ29sdW1ucyIsIm1hdFJvd0RlZldoZW4iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlckNlbGwsc2VsZWN0b3I6Im1hdC1oZWFkZXItY2VsbCwgdGhbbWF0LWhlYWRlci1jZWxsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsLHNlbGVjdG9yOiJtYXQtY2VsbCwgdGRbbWF0LWNlbGxdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdEhlYWRlclJvdyxzZWxlY3RvcjoibWF0LWhlYWRlci1yb3csIHRyW21hdC1oZWFkZXItcm93XSIsZXhwb3J0QXM6WyJtYXRIZWFkZXJSb3ciXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdFJvdyxzZWxlY3RvcjoibWF0LXJvdywgdHJbbWF0LXJvd10iLGV4cG9ydEFzOlsibWF0Um93Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Zi5NYXRTb3J0LHNlbGVjdG9yOiJbbWF0U29ydF0iLGlucHV0czpbIm1hdFNvcnRBY3RpdmUiLCJtYXRTb3J0U3RhcnQiLCJtYXRTb3J0RGlyZWN0aW9uIiwibWF0U29ydERpc2FibGVDbGVhciIsIm1hdFNvcnREaXNhYmxlZCJdLG91dHB1dHM6WyJtYXRTb3J0Q2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTb3J0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Zi5NYXRTb3J0SGVhZGVyLHNlbGVjdG9yOiJbbWF0LXNvcnQtaGVhZGVyXSIsaW5wdXRzOlsibWF0LXNvcnQtaGVhZGVyIiwiYXJyb3dQb3NpdGlvbiIsInN0YXJ0IiwiZGlzYWJsZWQiLCJzb3J0QWN0aW9uRGVzY3JpcHRpb24iLCJkaXNhYmxlQ2xlYXIiXSxleHBvcnRBczpbIm1hdFNvcnRIZWFkZXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRTaG93SGlkZURpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhTaG93XSwgW2Z4U2hvdy5wcmludF0sICBbZnhTaG93LnhzXSwgW2Z4U2hvdy5zbV0sIFtmeFNob3cubWRdLCBbZnhTaG93LmxnXSwgW2Z4U2hvdy54bF0sICBbZnhTaG93Lmx0LXNtXSwgW2Z4U2hvdy5sdC1tZF0sIFtmeFNob3cubHQtbGddLCBbZnhTaG93Lmx0LXhsXSwgIFtmeFNob3cuZ3QteHNdLCBbZnhTaG93Lmd0LXNtXSwgW2Z4U2hvdy5ndC1tZF0sIFtmeFNob3cuZ3QtbGddLCAgW2Z4SGlkZV0sIFtmeEhpZGUucHJpbnRdLCAgW2Z4SGlkZS54c10sIFtmeEhpZGUuc21dLCBbZnhIaWRlLm1kXSwgW2Z4SGlkZS5sZ10sIFtmeEhpZGUueGxdLCAgW2Z4SGlkZS5sdC1zbV0sIFtmeEhpZGUubHQtbWRdLCBbZnhIaWRlLmx0LWxnXSwgW2Z4SGlkZS5sdC14bF0sICBbZnhIaWRlLmd0LXhzXSwgW2Z4SGlkZS5ndC1zbV0sIFtmeEhpZGUuZ3QtbWRdLCBbZnhIaWRlLmd0LWxnXSIsaW5wdXRzOlsiZnhTaG93IiwiZnhTaG93LnByaW50IiwiZnhTaG93LnhzIiwiZnhTaG93LnNtIiwiZnhTaG93Lm1kIiwiZnhTaG93LmxnIiwiZnhTaG93LnhsIiwiZnhTaG93Lmx0LXNtIiwiZnhTaG93Lmx0LW1kIiwiZnhTaG93Lmx0LWxnIiwiZnhTaG93Lmx0LXhsIiwiZnhTaG93Lmd0LXhzIiwiZnhTaG93Lmd0LXNtIiwiZnhTaG93Lmd0LW1kIiwiZnhTaG93Lmd0LWxnIiwiZnhIaWRlIiwiZnhIaWRlLnByaW50IiwiZnhIaWRlLnhzIiwiZnhIaWRlLnNtIiwiZnhIaWRlLm1kIiwiZnhIaWRlLmxnIiwiZnhIaWRlLnhsIiwiZnhIaWRlLmx0LXNtIiwiZnhIaWRlLmx0LW1kIiwiZnhIaWRlLmx0LWxnIiwiZnhIaWRlLmx0LXhsIiwiZnhIaWRlLmd0LXhzIiwiZnhIaWRlLmd0LXNtIiwiZnhIaWRlLmd0LW1kIiwiZnhIaWRlLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6InBpcGUiLHR5cGU6Xy5EYXRlUGlwZSxuYW1lOiJkYXRlIn0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XX0pfX1lKCJHYXRld2F5U3RhdGlzdGljc0NvbXBvbmVudCIscGEpLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6cGEsZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktc3RhdGlzdGljcyIsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJzdGF0aXN0aWNzLWNvbnRhaW5lciIgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXQubHQtbWQ9ImNvbHVtbiI+XG4gIDxtYXQtY2FyZCBbZm9ybUdyb3VwXT0ic3RhdGlzdGljRm9ybSIgKm5nSWY9IiFnZW5lcmFsIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3Muc3RhdGlzdGljXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ic3RhdGlzdGljS2V5Ij5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQga2V5IG9mIHN0YXRpc3RpY3NLZXlzIiBbdmFsdWVdPSJrZXkiPlxuICAgICAgICAgIHt7IGtleSB9fVxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGNvbW1hbmQgb2YgY29tbWFuZHMiIFt2YWx1ZV09ImNvbW1hbmQuYXR0cmlidXRlT25HYXRld2F5Ij5cbiAgICAgICAgICB7eyBjb21tYW5kLmF0dHJpYnV0ZU9uR2F0ZXdheSB9fVxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWVycm9yXG4gICAgICAqbmdJZj0iIXN0YXRpc3RpY3NLZXlzLmxlbmd0aCAmJiAhY29tbWFuZHMubGVuZ3RoIj5cbiAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnN0YXRpc3RpYy1jb21tYW5kcy1lbXB0eVwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gICAgPGRpdj5cbiAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJuYXZpZ2F0ZVRvU3RhdGlzdGljcygpIj5cbiAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3Muc3RhdGlzdGljcy1idXR0b25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siICpuZ0lmPSJjb21tYW5kT2JqIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY29tbWFuZFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgW3ZhbHVlXT0iY29tbWFuZE9iai5jb21tYW5kIiBkaXNhYmxlZD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L21hdC1jYXJkPlxuICA8ZGl2IGNsYXNzPSJjaGFydC1ib3giIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgIDxkaXYgY2xhc3M9ImNoYXJ0LWNvbnRhaW5lciIgI3N0YXRpc3RpY0NoYXJ0IFtmeFNob3ddPSJpc051bWVyaWNEYXRhIj48L2Rpdj5cbiAgICA8dGFibGUgW2Z4U2hvd109IiFpc051bWVyaWNEYXRhIiBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPSJkYXRhU291cmNlIlxuICAgICAgICAgICBtYXRTb3J0IFttYXRTb3J0QWN0aXZlXT0icGFnZUxpbmsuc29ydE9yZGVyLnByb3BlcnR5IiBbbWF0U29ydERpcmVjdGlvbl09InBhZ2VMaW5rLnNvcnREaXJlY3Rpb24oKSJcbiAgICAgICAgICAgbWF0U29ydERpc2FibGVDbGVhcj5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPSIwIj5cbiAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3sgXCd3aWRnZXRzLmdhdGV3YXkuY3JlYXRlZC10aW1lXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHJvdzsgbGV0IHJvd0luZGV4ID0gaW5kZXgiPlxuICAgICAgICAgIHt7IHJvd1swXXwgZGF0ZTpcJ3l5eXktTU0tZGQgSEg6bW06c3NcJyB9fVxuICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iMSI+XG4gICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiA3MCUiPnt7IFwnd2lkZ2V0cy5nYXRld2F5Lm1lc3NhZ2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgcm93Ij5cbiAgICAgICAgICB7eyByb3dbMV0gfX1cbiAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG1hdC1oZWFkZXItcm93IGNsYXNzPSJtYXQtcm93LXNlbGVjdCJcbiAgICAgICAgICAgICAgICAgICAgICAqbWF0SGVhZGVyUm93RGVmPSJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWUiPjwvbWF0LWhlYWRlci1yb3c+XG4gICAgICA8bWF0LXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiXG4gICAgICAgICAgICAgICAqbWF0Um93RGVmPSJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyI+PC9tYXQtcm93PlxuICAgIDwvdGFibGU+XG4gICAgPHNwYW4gW2Z4U2hvd109ImRhdGFTb3VyY2UuZGF0YS5sZW5ndGggPT09IDAgJiYgIWlzTnVtZXJpY0RhdGEiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCI+e3sgXCdhdHRyaWJ1dGUubm8tdGVsZW1ldHJ5LXRleHRcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8ZGl2IGZ4RmxleCBjbGFzcz0ibGVnZW5kIiBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIiBbZnhTaG93XT0iaXNOdW1lcmljRGF0YSI+XG4gICAgICA8ZGl2IGNsYXNzPSJsZWdlbmQta2V5cyIgKm5nRm9yPSJsZXQgbGVnZW5kS2V5IG9mIGxlZ2VuZERhdGE/LmtleXMiIGZ4TGF5b3V0PSJyb3ciXG4gICAgICAgICAgIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiPlxuICAgICAgICA8c3BhbiBjbGFzcz0ibGVnZW5kLWxpbmUiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT0ibGVnZW5kS2V5LmRhdGFLZXkuY29sb3IiPjwvc3Bhbj5cbiAgICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLWxhYmVsIlxuICAgICAgICAgICAgIChjbGljayk9Im9uTGVnZW5kS2V5SGlkZGVuQ2hhbmdlKGxlZ2VuZEtleS5kYXRhSW5kZXgpIlxuICAgICAgICAgICAgIFtjbGFzc109InsgXCdoaWRkZW4tbGFiZWxcJzogbGVnZW5kRGF0YS5rZXlzW2xlZ2VuZEtleS5kYXRhSW5kZXhdLmRhdGFLZXkuaGlkZGVuIH0iXG4gICAgICAgICAgICAgW2lubmVySFRNTF09ImxlZ2VuZEtleS5kYXRhS2V5LmxhYmVsIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cGFkZGluZzowfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lcntoZWlnaHQ6MTAwJTtvdmVyZmxvdy15OmF1dG99Omhvc3QgLnN0YXRpc3RpY3MtY29udGFpbmVyIG1hdC1jYXJke3dpZHRoOjQwJTtoZWlnaHQ6MTAwJTttYXJnaW4tcmlnaHQ6MzVweDtwYWRkaW5nOjE1cHg7Z2FwOjIycHh9QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCl7Omhvc3QgLnN0YXRpc3RpY3MtY29udGFpbmVyIG1hdC1jYXJke3dpZHRoOjEwMCV9fTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciAuY2hhcnQtYm94LDpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciAuY2hhcnQtY29udGFpbmVye2hlaWdodDoxMDAlO2ZsZXgtZ3JvdzoxfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciAuY2hhcnQtYm94e292ZXJmbG93OmF1dG99Omhvc3QgLnN0YXRpc3RpY3MtY29udGFpbmVyPip7aGVpZ2h0OjEwMCV9Omhvc3QgLmxlZ2VuZHtmbGV4LXdyYXA6d3JhcDt3aWR0aDoxMDAlO3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo0cHg7bWFyZ2luLXRvcDoxNXB4fTpob3N0IC5sZWdlbmQgLmxlZ2VuZC1rZXlzIC5sZWdlbmQtbGFiZWx7cGFkZGluZzoycHggMjBweCAycHggMTBweDt3aGl0ZS1zcGFjZTpub3dyYXB9Omhvc3QgLmxlZ2VuZCAubGVnZW5kLWtleXMgLmxlZ2VuZC1sYWJlbC5oaWRkZW4tbGFiZWx7dGV4dC1kZWNvcmF0aW9uOmxpbmUtdGhyb3VnaDtvcGFjaXR5Oi42fTpob3N0IC5sZWdlbmQgLmxlZ2VuZC1rZXlzIC5sZWdlbmQtbGFiZWw6Zm9jdXN7b3V0bGluZTpub25lfTpob3N0IC5sZWdlbmQgLmxlZ2VuZC1rZXlzIC5sZWdlbmQtbGluZXtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxNXB4O2hlaWdodDozcHg7dGV4dC1hbGlnbjpsZWZ0O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtvdXRsaW5lOm5vbmV9XG4nXX1dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTptZS5Gb3JtQnVpbGRlcn0se3R5cGU6WC5BdHRyaWJ1dGVTZXJ2aWNlfSx7dHlwZTpYLlV0aWxzU2VydmljZX1dLHByb3BEZWNvcmF0b3JzOntzb3J0Olt7dHlwZTpvLGFyZ3M6W2ddfV0sc3RhdGlzdGljQ2hhcnQ6W3t0eXBlOm8sYXJnczpbInN0YXRpc3RpY0NoYXJ0Il19XSxjdHg6W3t0eXBlOmF9XSxnZW5lcmFsOlt7dHlwZTphfV19fSk7Y2xhc3MgbWF7c3RhdGlje3RoaXMubXF0dFJlcXVlc3RUeXBlS2V5cz1PYmplY3QudmFsdWVzKEluKX1zdGF0aWN7dGhpcy5tcXR0UmVxdWVzdE1hcHBpbmdPbGRGaWVsZHM9WyJhdHRyaWJ1dGVOYW1lSnNvbkV4cHJlc3Npb24iLCJkZXZpY2VOYW1lSnNvbkV4cHJlc3Npb24iLCJkZXZpY2VOYW1lVG9waWNFeHByZXNzaW9uIiwiZXh0ZW5zaW9uLWNvbmZpZyJdfXN0YXRpY3t0aGlzLm1xdHRSZXF1ZXN0TWFwcGluZ05ld0ZpZWxkcz1bImF0dHJpYnV0ZU5hbWVFeHByZXNzaW9uU291cmNlIiwicmVzcG9uc2VUb3BpY1FvUyIsImV4dGVuc2lvbkNvbmZpZyJdfXN0YXRpYyBtYXBNYXBwaW5nVG9VcGdyYWRlZFZlcnNpb24oZSl7cmV0dXJuIGU/Lm1hcCgoKHtjb252ZXJ0ZXI6ZSx0b3BpY0ZpbHRlcjp0LHN1YnNjcmlwdGlvblFvczpuPTF9KT0+e2NvbnN0IGE9ZS5kZXZpY2VJbmZvPz90aGlzLmV4dHJhY3RDb252ZXJ0ZXJEZXZpY2VJbmZvKGUpLG89ey4uLmUsZGV2aWNlSW5mbzphLGV4dGVuc2lvbkNvbmZpZzplLmV4dGVuc2lvbkNvbmZpZ3x8ZVsiZXh0ZW5zaW9uLWNvbmZpZyJdfHxudWxsfTtyZXR1cm4gdGhpcy5jbGVhblVwT2xkRmllbGRzKG8pLHtjb252ZXJ0ZXI6byx0b3BpY0ZpbHRlcjp0LHN1YnNjcmlwdGlvblFvczpufX0pKX1zdGF0aWMgbWFwUmVxdWVzdHNUb1VwZ3JhZGVkVmVyc2lvbihlKXtyZXR1cm4gdGhpcy5tcXR0UmVxdWVzdFR5cGVLZXlzLnJlZHVjZSgoKHQsbik9PmVbbl0/KHRbbl09ZVtuXS5tYXAoKGU9Pntjb25zdCB0PXRoaXMubWFwUmVxdWVzdFRvVXBncmFkZWRWZXJzaW9uKGUsbik7cmV0dXJuIHRoaXMuY2xlYW5VcE9sZEZpZWxkcyh0KSx0fSkpLHQpOnQpLHt9KX1zdGF0aWMgbWFwUmVxdWVzdHNUb0Rvd25ncmFkZWRWZXJzaW9uKGUpe3JldHVybiB0aGlzLm1xdHRSZXF1ZXN0VHlwZUtleXMucmVkdWNlKCgodCxuKT0+ZVtuXT8odFtuXT1lW25dLm1hcCgoZT0+e249PT1Jbi5TRVJWRVJfU0lERV9SUEMmJmRlbGV0ZSBlLnR5cGU7Y29uc3R7YXR0cmlidXRlTmFtZUV4cHJlc3Npb246dCxkZXZpY2VJbmZvOmEsLi4ub309ZSxpPXsuLi5vLGF0dHJpYnV0ZU5hbWVKc29uRXhwcmVzc2lvbjp0fHxudWxsLGRldmljZU5hbWVKc29uRXhwcmVzc2lvbjphPy5kZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZSE9PVRuLlRPUElDP2E/LmRldmljZU5hbWVFeHByZXNzaW9uOm51bGwsZGV2aWNlTmFtZVRvcGljRXhwcmVzc2lvbjphPy5kZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZT09PVRuLlRPUElDP2E/LmRldmljZU5hbWVFeHByZXNzaW9uOm51bGx9O3JldHVybiB0aGlzLmNsZWFuVXBOZXdGaWVsZHMoaSksaX0pKSx0KTp0KSx7fSl9c3RhdGljIG1hcE1hcHBpbmdUb0Rvd25ncmFkZWRWZXJzaW9uKGUpe3JldHVybiBlPy5tYXAoKGU9Pntjb25zdCB0PXRoaXMubWFwQ29udmVydGVyVG9Eb3duZ3JhZGVkVmVyc2lvbihlLmNvbnZlcnRlcik7cmV0dXJuIHRoaXMuY2xlYW5VcE5ld0ZpZWxkcyh0KSx7Y29udmVydGVyOnQsdG9waWNGaWx0ZXI6ZS50b3BpY0ZpbHRlcn19KSl9c3RhdGljIG1hcENvbnZlcnRlclRvRG93bmdyYWRlZFZlcnNpb24oZSl7Y29uc3R7ZGV2aWNlSW5mbzp0LC4uLm59PWU7cmV0dXJuIGUudHlwZSE9PXduLkJZVEVTP3suLi5uLGRldmljZU5hbWVKc29uRXhwcmVzc2lvbjp0Py5kZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZT09PVRuLk1TRz90LmRldmljZU5hbWVFeHByZXNzaW9uOm51bGwsZGV2aWNlVHlwZUpzb25FeHByZXNzaW9uOnQ/LmRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlPT09VG4uTVNHP3QuZGV2aWNlUHJvZmlsZUV4cHJlc3Npb246bnVsbCxkZXZpY2VOYW1lVG9waWNFeHByZXNzaW9uOnQ/LmRldmljZU5hbWVFeHByZXNzaW9uU291cmNlIT09VG4uTVNHP3Q/LmRldmljZU5hbWVFeHByZXNzaW9uOm51bGwsZGV2aWNlVHlwZVRvcGljRXhwcmVzc2lvbjp0Py5kZXZpY2VQcm9maWxlRXhwcmVzc2lvblNvdXJjZSE9PVRuLk1TRz90Py5kZXZpY2VQcm9maWxlRXhwcmVzc2lvbjpudWxsfTp7Li4ubixkZXZpY2VOYW1lRXhwcmVzc2lvbjp0LmRldmljZU5hbWVFeHByZXNzaW9uLGRldmljZVR5cGVFeHByZXNzaW9uOnQuZGV2aWNlUHJvZmlsZUV4cHJlc3Npb24sImV4dGVuc2lvbi1jb25maWciOmUuZXh0ZW5zaW9uQ29uZmlnfX1zdGF0aWMgY2xlYW5VcE9sZEZpZWxkcyhlKXt0aGlzLm1xdHRSZXF1ZXN0TWFwcGluZ09sZEZpZWxkcy5mb3JFYWNoKCh0PT5kZWxldGUgZVt0XSkpLFooZSl9c3RhdGljIGNsZWFuVXBOZXdGaWVsZHMoZSl7dGhpcy5tcXR0UmVxdWVzdE1hcHBpbmdOZXdGaWVsZHMuZm9yRWFjaCgodD0+ZGVsZXRlIGVbdF0pKSxaKGUpfXN0YXRpYyBnZXRUeXBlU291cmNlQnlWYWx1ZShlKXtyZXR1cm4gZS5pbmNsdWRlcygiJHsiKT9Ubi5NU0c6ZS5pbmNsdWRlcygiLyIpP1RuLlRPUElDOlRuLkNPTlNUfXN0YXRpYyBleHRyYWN0Q29udmVydGVyRGV2aWNlSW5mbyhlKXtjb25zdCB0PWUuZGV2aWNlTmFtZUV4cHJlc3Npb258fGUuZGV2aWNlTmFtZUpzb25FeHByZXNzaW9ufHxlLmRldmljZU5hbWVUb3BpY0V4cHJlc3Npb258fG51bGwsbj1lLmRldmljZU5hbWVFeHByZXNzaW9uU291cmNlP2UuZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2U6dD90aGlzLmdldFR5cGVTb3VyY2VCeVZhbHVlKHQpOm51bGwsYT1lLmRldmljZVByb2ZpbGVFeHByZXNzaW9ufHxlLmRldmljZVR5cGVUb3BpY0V4cHJlc3Npb258fGUuZGV2aWNlVHlwZUpzb25FeHByZXNzaW9ufHwiZGVmYXVsdCIsbz1lLmRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlP2UuZGV2aWNlUHJvZmlsZUV4cHJlc3Npb25Tb3VyY2U6YT90aGlzLmdldFR5cGVTb3VyY2VCeVZhbHVlKGEpOm51bGw7cmV0dXJuIHR8fGE/e2RldmljZU5hbWVFeHByZXNzaW9uOnQsZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2U6bixkZXZpY2VQcm9maWxlRXhwcmVzc2lvbjphLGRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlOm99Om51bGx9c3RhdGljIG1hcFJlcXVlc3RUb1VwZ3JhZGVkVmVyc2lvbihlLHQpe2NvbnN0IG49ZS5kZXZpY2VOYW1lSnNvbkV4cHJlc3Npb258fGUuZGV2aWNlTmFtZVRvcGljRXhwcmVzc2lvbnx8bnVsbCxhPWUuZGV2aWNlVHlwZVRvcGljRXhwcmVzc2lvbnx8ZS5kZXZpY2VUeXBlSnNvbkV4cHJlc3Npb258fCJkZWZhdWx0IixvPWE/dGhpcy5nZXRUeXBlU291cmNlQnlWYWx1ZShhKTpudWxsLGk9ZS5hdHRyaWJ1dGVOYW1lRXhwcmVzc2lvblNvdXJjZXx8ZS5hdHRyaWJ1dGVOYW1lSnNvbkV4cHJlc3Npb258fG51bGwscj10PT09SW4uU0VSVkVSX1NJREVfUlBDPzE6bnVsbCxzPXQ9PT1Jbi5TRVJWRVJfU0lERV9SUEM/ZS5yZXNwb25zZVRvcGljRXhwcmVzc2lvbj9Gbi5XaXRoUmVzcG9uc2U6Rm4uV2l0aG91dFJlc3BvbnNlOm51bGw7cmV0dXJuey4uLmUsYXR0cmlidXRlTmFtZUV4cHJlc3Npb246aSxhdHRyaWJ1dGVOYW1lRXhwcmVzc2lvblNvdXJjZTppP3RoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoaSk6bnVsbCxkZXZpY2VJbmZvOmUuZGV2aWNlSW5mbz9lLmRldmljZUluZm86bj97ZGV2aWNlTmFtZUV4cHJlc3Npb246bixkZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZTp0aGlzLmdldFR5cGVTb3VyY2VCeVZhbHVlKG4pLGRldmljZVByb2ZpbGVFeHByZXNzaW9uOmEsZGV2aWNlUHJvZmlsZUV4cHJlc3Npb25Tb3VyY2U6b306bnVsbCxyZXNwb25zZVRvcGljUW9TOnIsdHlwZTpzfX19ZSgiTXF0dFZlcnNpb25NYXBwaW5nVXRpbCIsbWEpO2NsYXNzIGRhe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5nYXRld2F5VmVyc2lvbkluPWUsdGhpcy5jb25uZWN0b3I9dCx0aGlzLmdhdGV3YXlWZXJzaW9uPWJhLnBhcnNlVmVyc2lvbih0aGlzLmdhdGV3YXlWZXJzaW9uSW4pLHRoaXMuY29uZmlnVmVyc2lvbj1iYS5wYXJzZVZlcnNpb24odGhpcy5jb25uZWN0b3IuY29uZmlnVmVyc2lvbil9Z2V0UHJvY2Vzc2VkQnlWZXJzaW9uKCl7cmV0dXJuIHRoaXMuaXNWZXJzaW9uVXBkYXRlTmVlZGVkKCk/dGhpcy5wcm9jZXNzVmVyc2lvblVwZGF0ZSgpOnRoaXMuY29ubmVjdG9yfXByb2Nlc3NWZXJzaW9uVXBkYXRlKCl7cmV0dXJuIHRoaXMuaXNWZXJzaW9uVXBncmFkZU5lZWRlZCgpP3RoaXMuZ2V0VXBncmFkZWRWZXJzaW9uKCk6dGhpcy5pc1ZlcnNpb25Eb3duZ3JhZGVOZWVkZWQoKT90aGlzLmdldERvd25ncmFkZWRWZXJzaW9uKCk6dGhpcy5jb25uZWN0b3J9aXNWZXJzaW9uVXBkYXRlTmVlZGVkKCl7cmV0dXJuISF0aGlzLmdhdGV3YXlWZXJzaW9uJiZ0aGlzLmNvbmZpZ1ZlcnNpb24hPT10aGlzLmdhdGV3YXlWZXJzaW9ufWlzVmVyc2lvblVwZ3JhZGVOZWVkZWQoKXtyZXR1cm4gdGhpcy5nYXRld2F5VmVyc2lvbj49YmEucGFyc2VWZXJzaW9uKFV0LkN1cnJlbnQpJiYoIXRoaXMuY29uZmlnVmVyc2lvbnx8dGhpcy5jb25maWdWZXJzaW9uPHRoaXMuZ2F0ZXdheVZlcnNpb24pfWlzVmVyc2lvbkRvd25ncmFkZU5lZWRlZCgpe3JldHVybiB0aGlzLmNvbmZpZ1ZlcnNpb24mJnRoaXMuY29uZmlnVmVyc2lvbj49YmEucGFyc2VWZXJzaW9uKFV0LkN1cnJlbnQpJiZ0aGlzLmNvbmZpZ1ZlcnNpb24+dGhpcy5nYXRld2F5VmVyc2lvbn19ZSgiR2F0ZXdheUNvbm5lY3RvclZlcnNpb25Qcm9jZXNzb3IiLGRhKTtjbGFzcyB1YSBleHRlbmRzIGRhe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLmdhdGV3YXlWZXJzaW9uSW49ZSx0aGlzLmNvbm5lY3Rvcj10LHRoaXMubXF0dFJlcXVlc3RUeXBlS2V5cz1PYmplY3QudmFsdWVzKEluKX1nZXRVcGdyYWRlZFZlcnNpb24oKXtjb25zdHtjb25uZWN0UmVxdWVzdHM6ZSxkaXNjb25uZWN0UmVxdWVzdHM6dCxhdHRyaWJ1dGVSZXF1ZXN0czpuLGF0dHJpYnV0ZVVwZGF0ZXM6YSxzZXJ2ZXJTaWRlUnBjOm99PXRoaXMuY29ubmVjdG9yLmNvbmZpZ3VyYXRpb25Kc29uO2xldCBpPXsuLi50aGlzLmNvbm5lY3Rvci5jb25maWd1cmF0aW9uSnNvbixyZXF1ZXN0c01hcHBpbmc6bWEubWFwUmVxdWVzdHNUb1VwZ3JhZGVkVmVyc2lvbih7Y29ubmVjdFJlcXVlc3RzOmUsZGlzY29ubmVjdFJlcXVlc3RzOnQsYXR0cmlidXRlUmVxdWVzdHM6bixhdHRyaWJ1dGVVcGRhdGVzOmEsc2VydmVyU2lkZVJwYzpvfSksbWFwcGluZzptYS5tYXBNYXBwaW5nVG9VcGdyYWRlZFZlcnNpb24odGhpcy5jb25uZWN0b3IuY29uZmlndXJhdGlvbkpzb24ubWFwcGluZyl9O3JldHVybiB0aGlzLm1xdHRSZXF1ZXN0VHlwZUtleXMuZm9yRWFjaCgoZT0+e2NvbnN0e1tlXTp0LC4uLm59PWk7aT17Li4ubn19KSksdGhpcy5jbGVhblVwQ29uZmlnSnNvbihpKSx7Li4udGhpcy5jb25uZWN0b3IsY29uZmlndXJhdGlvbkpzb246aSxjb25maWdWZXJzaW9uOnRoaXMuZ2F0ZXdheVZlcnNpb25Jbn19Z2V0RG93bmdyYWRlZFZlcnNpb24oKXtjb25zdHtyZXF1ZXN0c01hcHBpbmc6ZSxtYXBwaW5nOnQsLi4ubn09dGhpcy5jb25uZWN0b3IuY29uZmlndXJhdGlvbkpzb24sYT1lP21hLm1hcFJlcXVlc3RzVG9Eb3duZ3JhZGVkVmVyc2lvbihlKTp7fSxvPW1hLm1hcE1hcHBpbmdUb0Rvd25ncmFkZWRWZXJzaW9uKHQpO3JldHVybnsuLi50aGlzLmNvbm5lY3Rvcixjb25maWd1cmF0aW9uSnNvbjp7Li4ubiwuLi5hLG1hcHBpbmc6b30sY29uZmlnVmVyc2lvbjp0aGlzLmdhdGV3YXlWZXJzaW9uSW59fWNsZWFuVXBDb25maWdKc29uKGUpe2VlKGUucmVxdWVzdHNNYXBwaW5nLHt9KSYmZGVsZXRlIGUucmVxdWVzdHNNYXBwaW5nLGVlKGUubWFwcGluZyxbXSkmJmRlbGV0ZSBlLm1hcHBpbmd9fWUoIk1xdHRWZXJzaW9uUHJvY2Vzc29yIix1YSk7Y2xhc3MgZ2EgZXh0ZW5kcyBkYXtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5nYXRld2F5VmVyc2lvbkluPWUsdGhpcy5jb25uZWN0b3I9dH1nZXRVcGdyYWRlZFZlcnNpb24oKXtjb25zdCBlPXRoaXMuY29ubmVjdG9yLmNvbmZpZ3VyYXRpb25Kc29uO3JldHVybnsuLi50aGlzLmNvbm5lY3Rvcixjb25maWd1cmF0aW9uSnNvbjp7bWFzdGVyOmUubWFzdGVyPy5zbGF2ZXM/aGEubWFwTWFzdGVyVG9VcGdyYWRlZFZlcnNpb24oZS5tYXN0ZXIpOntzbGF2ZXM6W119LHNsYXZlOmUuc2xhdmU/aGEubWFwU2xhdmVUb1VwZ3JhZGVkVmVyc2lvbihlLnNsYXZlKTp7fX0sY29uZmlnVmVyc2lvbjp0aGlzLmdhdGV3YXlWZXJzaW9uSW59fWdldERvd25ncmFkZWRWZXJzaW9uKCl7Y29uc3QgZT10aGlzLmNvbm5lY3Rvci5jb25maWd1cmF0aW9uSnNvbjtyZXR1cm57Li4udGhpcy5jb25uZWN0b3IsY29uZmlndXJhdGlvbkpzb246ey4uLmUsc2xhdmU6ZS5zbGF2ZT9oYS5tYXBTbGF2ZVRvRG93bmdyYWRlZFZlcnNpb24oZS5zbGF2ZSk6e30sbWFzdGVyOmUubWFzdGVyPy5zbGF2ZXM/aGEubWFwTWFzdGVyVG9Eb3duZ3JhZGVkVmVyc2lvbihlLm1hc3Rlcik6e3NsYXZlczpbXX19LGNvbmZpZ1ZlcnNpb246dGhpcy5nYXRld2F5VmVyc2lvbklufX19ZSgiTW9kYnVzVmVyc2lvblByb2Nlc3NvciIsZ2EpO2NsYXNzIGZhIGV4dGVuZHMgZGF7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpLHRoaXMuZ2F0ZXdheVZlcnNpb25Jbj1lLHRoaXMuY29ubmVjdG9yPXR9Z2V0VXBncmFkZWRWZXJzaW9uKCl7Y29uc3QgZT10aGlzLmNvbm5lY3Rvci5jb25maWd1cmF0aW9uSnNvbi5zZXJ2ZXI7cmV0dXJuey4uLnRoaXMuY29ubmVjdG9yLGNvbmZpZ3VyYXRpb25Kc29uOntzZXJ2ZXI6ZT94YS5tYXBTZXJ2ZXJUb1VwZ3JhZGVkVmVyc2lvbihlKTp7fSxtYXBwaW5nOmU/Lm1hcHBpbmc/eGEubWFwTWFwcGluZ1RvVXBncmFkZWRWZXJzaW9uKGUubWFwcGluZyk6W119LGNvbmZpZ1ZlcnNpb246dGhpcy5nYXRld2F5VmVyc2lvbklufX1nZXREb3duZ3JhZGVkVmVyc2lvbigpe3JldHVybnsuLi50aGlzLmNvbm5lY3Rvcixjb25maWd1cmF0aW9uSnNvbjp7c2VydmVyOnhhLm1hcFNlcnZlclRvRG93bmdyYWRlZFZlcnNpb24odGhpcy5jb25uZWN0b3IuY29uZmlndXJhdGlvbkpzb24pfSxjb25maWdWZXJzaW9uOnRoaXMuZ2F0ZXdheVZlcnNpb25Jbn19fWUoIk9wY1ZlcnNpb25Qcm9jZXNzb3IiLGZhKTtjbGFzcyB5YXtjb25zdHJ1Y3Rvcigpe3RoaXMuaW5pdGlhbGl6ZWQ9bmV3IGksdGhpcy5mYj1yKGRlKSx0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLmJhc2ljRm9ybUdyb3VwPXRoaXMuaW5pdEJhc2ljRm9ybUdyb3VwKCksdGhpcy5iYXNpY0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT50aGlzLm9uQmFzaWNGb3JtR3JvdXBDaGFuZ2UoZSkpKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLmluaXRpYWxpemVkLmVtaXQoKX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLmJhc2ljRm9ybUdyb3VwLnZhbGlkP251bGw6e2Jhc2ljRm9ybUdyb3VwOnt2YWxpZDohMX19fXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9d3JpdGVWYWx1ZShlKXt0aGlzLmJhc2ljRm9ybUdyb3VwLnNldFZhbHVlKHRoaXMubWFwQ29uZmlnVG9Gb3JtVmFsdWUoZSkse2VtaXRFdmVudDohMX0pfW9uQmFzaWNGb3JtR3JvdXBDaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZSh0aGlzLmdldE1hcHBlZFZhbHVlKGUpKSx0aGlzLm9uVG91Y2hlZCgpfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6eWEsZGVwczpbXSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5EaXJlY3RpdmV9KX1zdGF0aWN7dGhpcy7JtWRpcj10Lsm1ybVuZ0RlY2xhcmVEaXJlY3RpdmUoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOnlhLGlucHV0czp7Z2VuZXJhbFRhYkNvbnRlbnQ6ImdlbmVyYWxUYWJDb250ZW50In0sb3V0cHV0czp7aW5pdGlhbGl6ZWQ6ImluaXRpYWxpemVkIn0sbmdJbXBvcnQ6dH0pfX1lKCJHYXRld2F5Q29ubmVjdG9yQmFzaWNDb25maWdEaXJlY3RpdmUiLHlhKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnlhLGRlY29yYXRvcnM6W3t0eXBlOnN9XSxjdG9yUGFyYW1ldGVyczooKT0+W10scHJvcERlY29yYXRvcnM6e2dlbmVyYWxUYWJDb250ZW50Olt7dHlwZTphfV0saW5pdGlhbGl6ZWQ6W3t0eXBlOmx9XX19KTtjbGFzcyBiYXtzdGF0aWMgZ2V0Q29uZmlnKGUsdCl7c3dpdGNoKGUudHlwZSl7Y2FzZSBfdC5NUVRUOnJldHVybiBuZXcgdWEodCxlKS5nZXRQcm9jZXNzZWRCeVZlcnNpb24oKTtjYXNlIF90Lk9QQ1VBOnJldHVybiBuZXcgZmEodCxlKS5nZXRQcm9jZXNzZWRCeVZlcnNpb24oKTtjYXNlIF90Lk1PREJVUzpyZXR1cm4gbmV3IGdhKHQsZSkuZ2V0UHJvY2Vzc2VkQnlWZXJzaW9uKCk7ZGVmYXVsdDpyZXR1cm4gZX19c3RhdGljIHBhcnNlVmVyc2lvbihlKXtyZXR1cm4gdGUoZSk/ZTpuZShlKT9wYXJzZUZsb2F0KGUucmVwbGFjZSgvXC4vZywiIikuc2xpY2UoMCwzKSkvMTAwOjB9fWUoIkdhdGV3YXlDb25uZWN0b3JWZXJzaW9uTWFwcGluZ1V0aWwiLGJhKTtjbGFzcyBoYXtzdGF0aWMgbWFwTWFzdGVyVG9VcGdyYWRlZFZlcnNpb24oZSl7cmV0dXJue3NsYXZlczplLnNsYXZlcy5tYXAoKGU9Pntjb25zdHtzZW5kRGF0YU9ubHlPbkNoYW5nZTp0LC4uLm59PWU7cmV0dXJuey4uLm4sZGV2aWNlVHlwZTplLmRldmljZVR5cGU/PyJkZWZhdWx0IixyZXBvcnRTdHJhdGVneTp0P3t0eXBlOnNuLk9uQ2hhbmdlfTp7dHlwZTpzbi5PblJlcG9ydFBlcmlvZCxyZXBvcnRQZXJpb2Q6ZS5wb2xsUGVyaW9kfX19KSl9fXN0YXRpYyBtYXBNYXN0ZXJUb0Rvd25ncmFkZWRWZXJzaW9uKGUpe3JldHVybntzbGF2ZXM6ZS5zbGF2ZXMubWFwKChlPT57Y29uc3R7cmVwb3J0U3RyYXRlZ3k6dCwuLi5ufT1lO3JldHVybnsuLi5uLHNlbmREYXRhT25seU9uQ2hhbmdlOnQ/LnR5cGUhPT1zbi5PblJlcG9ydFBlcmlvZH19KSl9fXN0YXRpYyBtYXBTbGF2ZVRvRG93bmdyYWRlZFZlcnNpb24oZSl7aWYoIWU/LnZhbHVlcylyZXR1cm4gZTtjb25zdCB0PU9iamVjdC5rZXlzKGUudmFsdWVzKS5yZWR1Y2UoKCh0LG4pPT50PXsuLi50LFtuXTpbZS52YWx1ZXNbbl1dfSkse30pO3JldHVybnsuLi5lLHZhbHVlczp0fX1zdGF0aWMgbWFwU2xhdmVUb1VwZ3JhZGVkVmVyc2lvbihlKXtpZighZT8udmFsdWVzKXJldHVybiBlO2NvbnN0IHQ9T2JqZWN0LmtleXMoZS52YWx1ZXMpLnJlZHVjZSgoKHQsbik9PnQ9ey4uLnQsW25dOnRoaXMubWFwVmFsdWVzVG9VcGdyYWRlZFZlcnNpb24oZS52YWx1ZXNbbl1bMF0pfSkse30pO3JldHVybnsuLi5lLHZhbHVlczp0fX1zdGF0aWMgbWFwVmFsdWVzVG9VcGdyYWRlZFZlcnNpb24oZSl7cmV0dXJuIE9iamVjdC5rZXlzKGUpLnJlZHVjZSgoKHQsbik9PnQ9ey4uLnQsW25dOmVbbl0ubWFwKChlPT4oey4uLmUsdHlwZToiaW50Ij09PWUudHlwZT9lYS5JTlQxNjplLnR5cGV9KSkpfSkse30pfX1lKCJNb2RidXNWZXJzaW9uTWFwcGluZ1V0aWwiLGhhKTtjbGFzcyB4YXtzdGF0aWMgbWFwU2VydmVyVG9VcGdyYWRlZFZlcnNpb24oZSl7Y29uc3R7bWFwcGluZzp0LGRpc2FibGVTdWJzY3JpcHRpb25zOm4scG9sbFBlcmlvZEluTWlsbGlzOmEsLi4ub309ZTtyZXR1cm57Li4ubyxwb2xsUGVyaW9kSW5NaWxsaXM6YT8/NWUzLGVuYWJsZVN1YnNjcmlwdGlvbnM6IW59fXN0YXRpYyBtYXBTZXJ2ZXJUb0Rvd25ncmFkZWRWZXJzaW9uKGUpe2NvbnN0e21hcHBpbmc6dCxzZXJ2ZXI6bn09ZSx7ZW5hYmxlU3Vic2NyaXB0aW9uczphLC4uLm99PW4/P3t9O3JldHVybnsuLi5vLG1hcHBpbmc6dD90aGlzLm1hcE1hcHBpbmdUb0Rvd25ncmFkZWRWZXJzaW9uKHQpOltdLGRpc2FibGVTdWJzY3JpcHRpb25zOiFhfX1zdGF0aWMgbWFwTWFwcGluZ1RvVXBncmFkZWRWZXJzaW9uKGUpe3JldHVybiBlLm1hcCgoZT0+KHsuLi5lLGRldmljZU5vZGVTb3VyY2U6dGhpcy5nZXREZXZpY2VOb2RlU291cmNlQnlWYWx1ZShlLmRldmljZU5vZGVQYXR0ZXJuKSxkZXZpY2VJbmZvOntkZXZpY2VOYW1lRXhwcmVzc2lvbjplLmRldmljZU5hbWVQYXR0ZXJuLGRldmljZU5hbWVFeHByZXNzaW9uU291cmNlOnRoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoZS5kZXZpY2VOYW1lUGF0dGVybiksZGV2aWNlUHJvZmlsZUV4cHJlc3Npb246ZS5kZXZpY2VUeXBlUGF0dGVybj8/ImRlZmF1bHQiLGRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlOnRoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoZS5kZXZpY2VUeXBlUGF0dGVybj8/ImRlZmF1bHQiKX0sYXR0cmlidXRlczplLmF0dHJpYnV0ZXMubWFwKChlPT4oe2tleTplLmtleSx0eXBlOnRoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoZS5wYXRoKSx2YWx1ZTplLnBhdGh9KSkpLGF0dHJpYnV0ZXNfdXBkYXRlczplLmF0dHJpYnV0ZXNfdXBkYXRlcy5tYXAoKGU9Pih7a2V5OmUuYXR0cmlidXRlT25UaGluZ3NCb2FyZCx0eXBlOnRoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoZS5hdHRyaWJ1dGVPbkRldmljZSksdmFsdWU6ZS5hdHRyaWJ1dGVPbkRldmljZX0pKSksdGltZXNlcmllczplLnRpbWVzZXJpZXMubWFwKChlPT4oe2tleTplLmtleSx0eXBlOnRoaXMuZ2V0VHlwZVNvdXJjZUJ5VmFsdWUoZS5wYXRoKSx2YWx1ZTplLnBhdGh9KSkpLHJwY19tZXRob2RzOmUucnBjX21ldGhvZHMubWFwKChlPT4oe21ldGhvZDplLm1ldGhvZCxhcmd1bWVudHM6ZS5hcmd1bWVudHMubWFwKChlPT4oe3ZhbHVlOmUsdHlwZTp0aGlzLmdldEFyZ3VtZW50VHlwZShlKX0pKSl9KSkpfSkpKX1zdGF0aWMgbWFwTWFwcGluZ1RvRG93bmdyYWRlZFZlcnNpb24oZSl7cmV0dXJuIGUubWFwKChlPT4oey4uLmUsZGV2aWNlTmFtZVBhdHRlcm46ZS5kZXZpY2VJbmZvLmRldmljZU5hbWVFeHByZXNzaW9uLGRldmljZVR5cGVQYXR0ZXJuOmUuZGV2aWNlSW5mby5kZXZpY2VQcm9maWxlRXhwcmVzc2lvbixhdHRyaWJ1dGVzOmUuYXR0cmlidXRlcy5tYXAoKGU9Pih7a2V5OmUua2V5LHBhdGg6ZS52YWx1ZX0pKSksYXR0cmlidXRlc191cGRhdGVzOmUuYXR0cmlidXRlc191cGRhdGVzLm1hcCgoZT0+KHthdHRyaWJ1dGVPblRoaW5nc0JvYXJkOmUua2V5LGF0dHJpYnV0ZU9uRGV2aWNlOmUudmFsdWV9KSkpLHRpbWVzZXJpZXM6ZS50aW1lc2VyaWVzLm1hcCgoZT0+KHtrZXk6ZS5rZXkscGF0aDplLnZhbHVlfSkpKSxycGNfbWV0aG9kczplLnJwY19tZXRob2RzLm1hcCgoZT0+KHttZXRob2Q6ZS5tZXRob2QsYXJndW1lbnRzOmUuYXJndW1lbnRzLm1hcCgoZT0+ZS52YWx1ZSkpfSkpKX0pKSl9c3RhdGljIGdldFR5cGVTb3VyY2VCeVZhbHVlKGUpe3JldHVybiBlLmluY2x1ZGVzKCIkeyIpP1NuLklERU5USUZJRVI6ZS5pbmNsdWRlcygiLyIpfHxlLmluY2x1ZGVzKCJcXCIpP1NuLlBBVEg6U24uQ09OU1R9c3RhdGljIGdldERldmljZU5vZGVTb3VyY2VCeVZhbHVlKGUpe3JldHVybiBlLmluY2x1ZGVzKCIkeyIpP1NuLklERU5USUZJRVI6U24uUEFUSH1zdGF0aWMgZ2V0QXJndW1lbnRUeXBlKGUpe3N3aXRjaCh0eXBlb2YgZSl7Y2FzZSJib29sZWFuIjpyZXR1cm4iYm9vbGVhbiI7Y2FzZSJudW1iZXIiOnJldHVybiBOdW1iZXIuaXNJbnRlZ2VyKGUpPyJpbnRlZ2VyIjoiZmxvYXQiO2RlZmF1bHQ6cmV0dXJuInN0cmluZyJ9fX1lKCJPcGNWZXJzaW9uTWFwcGluZ1V0aWwiLHhhKTtjbGFzcyB2YXt0cmFuc2Zvcm0oZSl7cmV0dXJuIGJhLnBhcnNlVmVyc2lvbihlKT49YmEucGFyc2VWZXJzaW9uKFV0LkN1cnJlbnQpfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6dmEsZGVwczpbXSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5QaXBlfSl9c3RhdGlje3RoaXMuybVwaXBlPXQuybXJtW5nRGVjbGFyZVBpcGUoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6dmEsaXNTdGFuZGFsb25lOiEwLG5hbWU6ImlzTGF0ZXN0VmVyc2lvbkNvbmZpZyJ9KX19ZSgiTGF0ZXN0VmVyc2lvbkNvbmZpZ1BpcGUiLHZhKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnZhLGRlY29yYXRvcnM6W3t0eXBlOmMsYXJnczpbe25hbWU6ImlzTGF0ZXN0VmVyc2lvbkNvbmZpZyIsc3RhbmRhbG9uZTohMH1dfV19KTtjbGFzcyB3YXtjb25zdHJ1Y3RvcihlKXt0aGlzLnRyYW5zbGF0ZT1lfXRyYW5zZm9ybShlKXtyZXR1cm4gZS5oYXNFcnJvcigicmVxdWlyZWQiKT90aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LnBvcnQtcmVxdWlyZWQiKTplLmhhc0Vycm9yKCJtaW4iKXx8ZS5oYXNFcnJvcigibWF4Iik/dGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5wb3J0LWxpbWl0cy1lcnJvciIse21pbjpFdC5NSU4sbWF4OkV0Lk1BWH0pOiIifXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6d2EsZGVwczpbe3Rva2VuOlkuVHJhbnNsYXRlU2VydmljZX1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LlBpcGV9KX1zdGF0aWN7dGhpcy7JtXBpcGU9dC7Jtcm1bmdEZWNsYXJlUGlwZSh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTp3YSxpc1N0YW5kYWxvbmU6ITAsbmFtZToiZ2V0R2F0ZXdheVBvcnRUb29sdGlwIn0pfX1lKCJHYXRld2F5UG9ydFRvb2x0aXBQaXBlIix3YSksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTp3YSxkZWNvcmF0b3JzOlt7dHlwZTpjLGFyZ3M6W3tuYW1lOiJnZXRHYXRld2F5UG9ydFRvb2x0aXAiLHN0YW5kYWxvbmU6ITB9XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6WS5UcmFuc2xhdGVTZXJ2aWNlfV19KTtjbGFzcyBDYXt0cmFuc2Zvcm0oZSl7cmV0dXJuIGUubWFwKCgoe3ZhbHVlOmV9KT0+ZS50b1N0cmluZygpKSkuam9pbigiLCAiKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkNhLGRlcHM6W10sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuUGlwZX0pfXN0YXRpY3t0aGlzLsm1cGlwZT10Lsm1ybVuZ0RlY2xhcmVQaXBlKHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkNhLGlzU3RhbmRhbG9uZTohMCxuYW1lOiJnZXRScGNUZW1wbGF0ZUFycmF5VmlldyJ9KX19ZSgiUnBjVGVtcGxhdGVBcnJheVZpZXdQaXBlIixDYSksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpDYSxkZWNvcmF0b3JzOlt7dHlwZTpjLGFyZ3M6W3tuYW1lOiJnZXRScGNUZW1wbGF0ZUFycmF5VmlldyIsc3RhbmRhbG9uZTohMH1dfV19KTtjbGFzcyBUYXt0cmFuc2Zvcm0oZSx0LG4pe3JldHVybiFufHxuPy5pbmNsdWRlcyhTbi5QQVRIKT90IT09U24uQ09OU1Q/YHdpZGdldC9saWIvZ2F0ZXdheS8ke2V9LSR7dH1fZm5gOnZvaWQgMDoiYXR0cmlidXRlcyI9PT1lfHwidGltZXNlcmllcyI9PT1lPyJ3aWRnZXQvbGliL2dhdGV3YXkvYXR0cmlidXRlc190aW1lc2VyaWVzX2V4cHJlc3Npb25zX2ZuIjoid2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuIn1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlRhLGRlcHM6W10sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuUGlwZX0pfXN0YXRpY3t0aGlzLsm1cGlwZT10Lsm1ybVuZ0RlY2xhcmVQaXBlKHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlRhLGlzU3RhbmRhbG9uZTohMCxuYW1lOiJnZXRHYXRld2F5SGVscExpbmsifSl9fWUoIkdhdGV3YXlIZWxwTGlua1BpcGUiLFRhKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlRhLGRlY29yYXRvcnM6W3t0eXBlOmMsYXJnczpbe25hbWU6ImdldEdhdGV3YXlIZWxwTGluayIsc3RhbmRhbG9uZTohMH1dfV19KTtjbGFzcyBTYXtjb25zdHJ1Y3RvcihlLHQsbil7dGhpcy5lbGVtZW50UmVmPWUsdGhpcy5yZW5kZXJlcj10LHRoaXMudG9vbHRpcD1uLHRoaXMudG9vbHRpcEVuYWJsZWQ9ITAsdGhpcy5wb3NpdGlvbj0iYWJvdmUiLHRoaXMuZGVzdHJveSQ9bmV3IFNlfW5nT25Jbml0KCl7dGhpcy5vYnNlcnZlTW91c2VFdmVudHMoKSx0aGlzLmFwcGx5VHJ1bmNhdGlvblN0eWxlcygpfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMudG9vbHRpcC5wb3NpdGlvbj10aGlzLnBvc2l0aW9ufW5nT25EZXN0cm95KCl7dGhpcy50b29sdGlwLl9pc1Rvb2x0aXBWaXNpYmxlKCkmJnRoaXMuaGlkZVRvb2x0aXAoKSx0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9b2JzZXJ2ZU1vdXNlRXZlbnRzKCl7a2UodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIm1vdXNlZW50ZXIiKS5waXBlKE1lKCgoKT0+dGhpcy50b29sdGlwRW5hYmxlZCkpLE1lKCgoKT0+dGhpcy5pc092ZXJmbG93bih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkpKSxFZSgoKCk9PnRoaXMuc2hvd1Rvb2x0aXAoKSkpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKSxrZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwibW91c2VsZWF2ZSIpLnBpcGUoTWUoKCgpPT50aGlzLnRvb2x0aXBFbmFibGVkKSksTWUoKCgpPT50aGlzLnRvb2x0aXAuX2lzVG9vbHRpcFZpc2libGUoKSkpLEVlKCgoKT0+dGhpcy5oaWRlVG9vbHRpcCgpKSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgpfWFwcGx5VHJ1bmNhdGlvblN0eWxlcygpe3RoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIndoaXRlLXNwYWNlIiwibm93cmFwIiksdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwib3ZlcmZsb3ciLCJoaWRkZW4iKSx0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCJ0ZXh0LW92ZXJmbG93IiwiZWxsaXBzaXMiKX1pc092ZXJmbG93bihlKXtyZXR1cm4gZS5jbGllbnRXaWR0aDxlLnNjcm9sbFdpZHRofXNob3dUb29sdGlwKCl7dGhpcy50b29sdGlwLm1lc3NhZ2U9dGhpcy50ZXh0fHx0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5pbm5lclRleHQsdGhpcy50b29sdGlwLnNob3coKX1oaWRlVG9vbHRpcCgpe3RoaXMudG9vbHRpcC5oaWRlKCl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpTYSxkZXBzOlt7dG9rZW46dC5FbGVtZW50UmVmfSx7dG9rZW46dC5SZW5kZXJlcjJ9LHt0b2tlbjp6ZS5NYXRUb29sdGlwfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuRGlyZWN0aXZlfSl9c3RhdGlje3RoaXMuybVkaXI9dC7Jtcm1bmdEZWNsYXJlRGlyZWN0aXZlKHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpTYSxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6e3RleHQ6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0ZXh0Il0sdG9vbHRpcEVuYWJsZWQ6InRvb2x0aXBFbmFibGVkIixwb3NpdGlvbjoicG9zaXRpb24ifSxwcm92aWRlcnM6W1dlXSxuZ0ltcG9ydDp0fSl9fWUoIlRydW5jYXRlV2l0aFRvb2x0aXBEaXJlY3RpdmUiLFNhKSxIZShbTigpXSxTYS5wcm90b3R5cGUsInRvb2x0aXBFbmFibGVkIix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6U2EsZGVjb3JhdG9yczpbe3R5cGU6cyxhcmdzOlt7c2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixwcm92aWRlcnM6W1dlXSxzdGFuZGFsb25lOiEwfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOnQuRWxlbWVudFJlZn0se3R5cGU6dC5SZW5kZXJlcjJ9LHt0eXBlOnplLk1hdFRvb2x0aXB9XSxwcm9wRGVjb3JhdG9yczp7dGV4dDpbe3R5cGU6YSxhcmdzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIl19XSx0b29sdGlwRW5hYmxlZDpbe3R5cGU6YX1dLHBvc2l0aW9uOlt7dHlwZTphfV19fSk7Y2xhc3Mga2F7c2V0IGNoaXBzKGUpe2VlKHRoaXMuY2hpcHNWYWx1ZSxlKXx8KHRoaXMuY2hpcHNWYWx1ZT1lLHNldFRpbWVvdXQoKCgpPT57dGhpcy5hZGp1c3RDaGlwcygpfSksMCkpfWNvbnN0cnVjdG9yKGUsdCxuLGEpe3RoaXMuZWw9ZSx0aGlzLnJlbmRlcmVyPXQsdGhpcy50cmFuc2xhdGU9bix0aGlzLndpbmRvdz1hLHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCJtYXgtaGVpZ2h0IiwiNDhweCIpLHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCJvdmVyZmxvdyIsImF1dG8iKSxrZShhLCJyZXNpemUiKS5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5hZGp1c3RDaGlwcygpfSkpLHRoaXMub2JzZXJ2ZUludGVyc2VjdGlvbigpfW9ic2VydmVJbnRlcnNlY3Rpb24oKXt0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZT0+e2UuZm9yRWFjaCgoZT0+e2UuaXNJbnRlcnNlY3RpbmcmJnRoaXMuYWRqdXN0Q2hpcHMoKX0pKX0pKSx0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyLm9ic2VydmUodGhpcy5lbC5uYXRpdmVFbGVtZW50KX1hZGp1c3RDaGlwcygpe2NvbnN0IGU9dGhpcy5lbC5uYXRpdmVFbGVtZW50LHQ9dGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi5lbGxpcHNpcy1jaGlwIiksbj1wYXJzZUZsb2F0KHRoaXMud2luZG93LmdldENvbXB1dGVkU3R5bGUodCkubWFyZ2luTGVmdCl8fDAsYT1lLnF1ZXJ5U2VsZWN0b3JBbGwoIm1hdC1jaGlwOm5vdCguZWxsaXBzaXMtY2hpcCkiKTtpZih0aGlzLmNoaXBzVmFsdWUubGVuZ3RoPjEpe2NvbnN0IG89dGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi5lbGxpcHNpcy10ZXh0Iik7dGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0LCJkaXNwbGF5IiwiaW5saW5lLWZsZXgiKSxvLmlubmVySFRNTD10aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LmVsbGlwc2lzLWNoaXBzLXRleHQiLHtjb3VudDp0aGlzLmNoaXBzVmFsdWUubGVuZ3RofSk7Y29uc3QgaT1lLm9mZnNldFdpZHRoLSh0Lm9mZnNldFdpZHRoK24pO2xldCByPTAscz0wO2EuZm9yRWFjaCgoZT0+e3RoaXMucmVuZGVyZXIuc2V0U3R5bGUoZSwiZGlzcGxheSIsImlubGluZS1mbGV4Iik7Y29uc3QgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5tZGMtZXZvbHV0aW9uLWNoaXBfX3RleHQtbGFiZWwiKTt0aGlzLmFwcGx5TWF4Q2hpcFRleHRXaWR0aCh0LGkvMykscisoZS5vZmZzZXRXaWR0aCtuKTw9aSYmczx0aGlzLmNoaXBzVmFsdWUubGVuZ3RoPyhzKysscis9ZS5vZmZzZXRXaWR0aCtuKTp0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGUsImRpc3BsYXkiLCJub25lIil9KSksby5pbm5lckhUTUw9dGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5lbGxpcHNpcy1jaGlwcy10ZXh0Iix7Y291bnQ6dGhpcy5jaGlwc1ZhbHVlLmxlbmd0aC1zfSkscz09PXRoaXMuY2hpcHNWYWx1ZT8ubGVuZ3RoJiZ0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHQsImRpc3BsYXkiLCJub25lIil9ZWxzZSBpZigxPT09dGhpcy5jaGlwc1ZhbHVlLmxlbmd0aCl7Y29uc3Qgbz1hWzBdLnF1ZXJ5U2VsZWN0b3IoIi5tZGMtZXZvbHV0aW9uLWNoaXBfX2FjdGlvbiIpLGk9by5xdWVyeVNlbGVjdG9yKCIubWRjLWV2b2x1dGlvbi1jaGlwX190ZXh0LWxhYmVsIikscj1wYXJzZUZsb2F0KHRoaXMud2luZG93LmdldENvbXB1dGVkU3R5bGUobykucGFkZGluZ0xlZnQpfHwwLHM9cGFyc2VGbG9hdCh0aGlzLndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG8pLnBhZGRpbmdSaWdodCl8fDAsbD1lLm9mZnNldFdpZHRoLW4tKHIrcyk7dGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0LCJkaXNwbGF5Iiwibm9uZSIpLHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoYVswXSwiZGlzcGxheSIsImlubGluZS1mbGV4IiksdGhpcy5hcHBseU1heENoaXBUZXh0V2lkdGgoaSxsKX1lbHNlIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodCwiZGlzcGxheSIsIm5vbmUiKX1hcHBseU1heENoaXBUZXh0V2lkdGgoZSx0KXt0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGUsIm1heC13aWR0aCIsdCsicHgiKSx0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGUsIm92ZXJmbG93IiwiaGlkZGVuIiksdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlLCJ0ZXh0LW92ZXJmbG93IiwiZWxsaXBzaXMiKSx0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGUsIndoaXRlLXNwYWNlIiwibm93cmFwIil9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCksdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlci5kaXNjb25uZWN0KCl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTprYSxkZXBzOlt7dG9rZW46dC5FbGVtZW50UmVmfSx7dG9rZW46dC5SZW5kZXJlcjJ9LHt0b2tlbjpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0b2tlbjphZX1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkRpcmVjdGl2ZX0pfXN0YXRpY3t0aGlzLsm1ZGlyPXQuybXJtW5nRGVjbGFyZURpcmVjdGl2ZSh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6a2EsaXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJbdGItZWxsaXBzaXMtY2hpcC1saXN0XSIsaW5wdXRzOntjaGlwczpbInRiLWVsbGlwc2lzLWNoaXAtbGlzdCIsImNoaXBzIl19LG5nSW1wb3J0OnR9KX19ZSgiRWxsaXBzaXNDaGlwTGlzdERpcmVjdGl2ZSIsa2EpLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6a2EsZGVjb3JhdG9yczpbe3R5cGU6cyxhcmdzOlt7c2VsZWN0b3I6Ilt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdIixzdGFuZGFsb25lOiEwfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOnQuRWxlbWVudFJlZn0se3R5cGU6dC5SZW5kZXJlcjJ9LHt0eXBlOlkuVHJhbnNsYXRlU2VydmljZX0se3R5cGU6V2luZG93LGRlY29yYXRvcnM6W3t0eXBlOnAsYXJnczpbYWVdfV19XSxwcm9wRGVjb3JhdG9yczp7Y2hpcHM6W3t0eXBlOmEsYXJnczpbInRiLWVsbGlwc2lzLWNoaXAtbGlzdCJdfV19fSk7Y2xhc3MgTGF7Y29uc3RydWN0b3IoZSx0LG4sYSl7dGhpcy5hdHRyaWJ1dGVTZXJ2aWNlPWUsdGhpcy50ZWxlbWV0cnlXc1NlcnZpY2U9dCx0aGlzLnpvbmU9bix0aGlzLnRyYW5zbGF0ZT1hLHRoaXMuYXR0cmlidXRlc1N1YmplY3Q9bmV3IExlKFtdKSx0aGlzLnBhZ2VEYXRhU3ViamVjdD1uZXcgTGUoTSgpKSx0aGlzLnBhZ2VEYXRhJD10aGlzLnBhZ2VEYXRhU3ViamVjdC5hc09ic2VydmFibGUoKSx0aGlzLnNlbGVjdGlvbj1uZXcgamUoITAsW10pfWNvbm5lY3QoZSl7cmV0dXJuIHRoaXMuYXR0cmlidXRlc1N1YmplY3QuYXNPYnNlcnZhYmxlKCl9ZGlzY29ubmVjdChlKXt0aGlzLmF0dHJpYnV0ZXNTdWJqZWN0LmNvbXBsZXRlKCksdGhpcy5wYWdlRGF0YVN1YmplY3QuY29tcGxldGUoKSx0aGlzLnRlbGVtZXRyeVN1YnNjcmliZXImJih0aGlzLnRlbGVtZXRyeVN1YnNjcmliZXIudW5zdWJzY3JpYmUoKSx0aGlzLnRlbGVtZXRyeVN1YnNjcmliZXI9bnVsbCl9bG9hZEF0dHJpYnV0ZXMoZSx0LG4sYT0hMSl7YSYmKHRoaXMuYWxsQXR0cmlidXRlcz1udWxsLHRoaXMudGVsZW1ldHJ5U3Vic2NyaWJlciYmKHRoaXMudGVsZW1ldHJ5U3Vic2NyaWJlci51bnN1YnNjcmliZSgpLHRoaXMudGVsZW1ldHJ5U3Vic2NyaWJlcj1udWxsKSksdGhpcy5zZWxlY3Rpb24uY2xlYXIoKTtjb25zdCBvPW5ldyBGZTtyZXR1cm4gdGhpcy5mZXRjaEF0dHJpYnV0ZXMoZSx0LG4pLnBpcGUocWUoKCgpPT5JZShNKCkpKSkpLnN1YnNjcmliZSgoZT0+e3RoaXMuYXR0cmlidXRlc1N1YmplY3QubmV4dChlLmRhdGEpLHRoaXMucGFnZURhdGFTdWJqZWN0Lm5leHQoZSksby5uZXh0KGUpfSkpLG99ZmV0Y2hBdHRyaWJ1dGVzKGUsdCxuKXtyZXR1cm4gdGhpcy5nZXRBbGxBdHRyaWJ1dGVzKGUsdCkucGlwZShEZSgoZT0+e2NvbnN0IHQ9ZS5maWx0ZXIoKGU9PjAhPT1lLmxhc3RVcGRhdGVUcykpO3JldHVybiBuLmZpbHRlckRhdGEodCl9KSkpfWdldEFsbEF0dHJpYnV0ZXMoZSx0KXtpZighdGhpcy5hbGxBdHRyaWJ1dGVzKXtsZXQgbjtFLmdldCh0KT8odGhpcy50ZWxlbWV0cnlTdWJzY3JpYmVyPXEuY3JlYXRlRW50aXR5QXR0cmlidXRlc1N1YnNjcmlwdGlvbih0aGlzLnRlbGVtZXRyeVdzU2VydmljZSxlLHQsdGhpcy56b25lKSx0aGlzLnRlbGVtZXRyeVN1YnNjcmliZXIuc3Vic2NyaWJlKCksbj10aGlzLnRlbGVtZXRyeVN1YnNjcmliZXIuYXR0cmlidXRlRGF0YSQoKSk6bj10aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0RW50aXR5QXR0cmlidXRlcyhlLHQpLHRoaXMuYWxsQXR0cmlidXRlcz1uLnBpcGUoUGUoMSksR2UoKSl9cmV0dXJuIHRoaXMuYWxsQXR0cmlidXRlc31pc0FsbFNlbGVjdGVkKCl7Y29uc3QgZT10aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGg7cmV0dXJuIHRoaXMuYXR0cmlidXRlc1N1YmplY3QucGlwZShEZSgodD0+ZT09PXQubGVuZ3RoKSkpfWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5hdHRyaWJ1dGVzU3ViamVjdC5waXBlKERlKChlPT4hZS5sZW5ndGgpKSl9dG90YWwoKXtyZXR1cm4gdGhpcy5wYWdlRGF0YVN1YmplY3QucGlwZShEZSgoZT0+ZS50b3RhbEVsZW1lbnRzKSkpfW1hc3RlclRvZ2dsZSgpe3RoaXMuYXR0cmlidXRlc1N1YmplY3QucGlwZShFZSgoZT0+e3RoaXMuc2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aD09PWUubGVuZ3RoP3RoaXMuc2VsZWN0aW9uLmNsZWFyKCk6ZS5mb3JFYWNoKChlPT57dGhpcy5zZWxlY3Rpb24uc2VsZWN0KGUpfSkpfSkpLE9lKDEpKS5zdWJzY3JpYmUoKX19ZSgiQXR0cmlidXRlRGF0YXNvdXJjZSIsTGEpO2NsYXNzIEZhe2NvbnN0cnVjdG9yKGUpe3RoaXMuYXR0cmlidXRlU2VydmljZT1lLHRoaXMuc2F2ZVRlbXBsYXRlPW5ldyBpLHRoaXMudXNlVGVtcGxhdGU9bmV3IGksdGhpcy5vcmlnaW5hbE9yZGVyPSgpPT4wLHRoaXMuaXNPYmplY3Q9ZT0+b2UoZSksdGhpcy5pc0FycmF5PWU9PkFycmF5LmlzQXJyYXkoZSksdGhpcy5TTk1QTWV0aG9kc1RyYW5zbGF0aW9ucz10bn1uZ09uSW5pdCgpe31hcHBseVRlbXBsYXRlKGUsdCl7ZS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLnVzZVRlbXBsYXRlLmVtaXQodCl9ZGVsZXRlVGVtcGxhdGUoZSx0KXtlLnN0b3BQcm9wYWdhdGlvbigpO2NvbnN0IG49dGhpcy5ycGNUZW1wbGF0ZXMuZmluZEluZGV4KChlPT5lLm5hbWU9PXQubmFtZSkpO3RoaXMucnBjVGVtcGxhdGVzLnNwbGljZShuLDEpO2NvbnN0IGE9YCR7dGhpcy5jb25uZWN0b3JUeXBlfV90ZW1wbGF0ZWA7dGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNhdmVFbnRpdHlBdHRyaWJ1dGVzKHtpZDp0aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLnRhcmdldERldmljZUlkLGVudGl0eVR5cGU6SS5ERVZJQ0V9LEwuU0VSVkVSX1NDT1BFLFt7a2V5OmEsdmFsdWU6dGhpcy5ycGNUZW1wbGF0ZXN9XSkuc3Vic2NyaWJlKCgoKT0+e30pKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkZhLGRlcHM6W3t0b2tlbjpYLkF0dHJpYnV0ZVNlcnZpY2V9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOkZhLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LXNlcnZpY2UtcnBjLWNvbm5lY3Rvci10ZW1wbGF0ZXMiLGlucHV0czp7Y29ubmVjdG9yVHlwZToiY29ubmVjdG9yVHlwZSIsY3R4OiJjdHgiLHJwY1RlbXBsYXRlczoicnBjVGVtcGxhdGVzIn0sb3V0cHV0czp7c2F2ZVRlbXBsYXRlOiJzYXZlVGVtcGxhdGUiLHVzZVRlbXBsYXRlOiJ1c2VUZW1wbGF0ZSJ9LG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJtYXQtc3VidGl0bGUtMSB0aXRsZSI+e3sgXCdnYXRld2F5LnJwYy50ZW1wbGF0ZXMtdGl0bGVcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuPG1hdC1leHBhbnNpb24tcGFuZWwgaGlkZVRvZ2dsZSAqbmdGb3I9ImxldCB0ZW1wbGF0ZSBvZiBycGNUZW1wbGF0ZXMiPlxuICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgPG1hdC1wYW5lbC10aXRsZSBjbGFzcz0idGVtcGxhdGUtbmFtZSI+XG4gICAgICA8c3BhbiBtYXRUb29sdGlwPSJ7e3RlbXBsYXRlLm5hbWV9fSIgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+e3t0ZW1wbGF0ZS5uYW1lfX08L3NwYW4+XG4gICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgPG1hdC1wYW5lbC1kZXNjcmlwdGlvbj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIG1hdFRvb2x0aXA9IkRlbGV0ZSIgKGNsaWNrKT0iZGVsZXRlVGVtcGxhdGUoJGV2ZW50LCB0ZW1wbGF0ZSkiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRUb29sdGlwPSJVc2UiIChjbGljayk9ImFwcGx5VGVtcGxhdGUoJGV2ZW50LCB0ZW1wbGF0ZSkiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5wbGF5X2Fycm93PC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LXBhbmVsLWRlc2NyaXB0aW9uPlxuICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuXG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdGb3I9ImxldCBjb25maWcgb2YgdGVtcGxhdGUuY29uZmlnIHwga2V5VmFsdWVJc05vdEVtcHR5IlxuICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT0iUlBDVGVtcGxhdGVSZWYiXG4gICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT0ieyAkaW1wbGljaXQ6IGNvbmZpZywgaW5uZXJWYWx1ZTogZmFsc2UgfSI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI1JQQ1RlbXBsYXRlUmVmIGxldC1jb25maWcgbGV0LWlubmVyVmFsdWU9XCdpbm5lclZhbHVlXCc+XG4gICAgPGRpdiBbZnhMYXlvdXRdPSJpc09iamVjdChjb25maWcudmFsdWUpID8gXCdjb2x1bW5cJzogXCdyb3dcJyJcbiAgICAgICAgIFtmeExheW91dEFsaWduXT0iIWlzT2JqZWN0KGNvbmZpZy52YWx1ZSkgPyBcJ3NwYWNlLWJldHdlZW4gY2VudGVyXCcgOiBcJ1wnIlxuICAgICAgICAgW25nU3R5bGVdPSJ7XCdwYWRkaW5nLWxlZnRcJzogaW5uZXJWYWx1ZSA/IFwnMTZweFwnOiBcJzBcJ30iXG4gICAgICAgICBjbGFzcz0icnBjLXBhcmFtcy1yb3ciPlxuICAgICAgPGRpdiBjbGFzcz0idGVtcGxhdGUta2V5Ij5cbiAgICAgICAge3shaW5uZXJWYWx1ZSA/IChcJ2dhdGV3YXkucnBjLlwnICsgY29uZmlnLmtleSB8IHRyYW5zbGF0ZSkgOiBjb25maWcua2V5fX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj0iaXNBcnJheShjb25maWcudmFsdWUpIiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgY2xhc3M9ImFycmF5LXZhbHVlIj5cbiAgICAgICAge3sgY29uZmlnLnZhbHVlIHwgZ2V0UnBjVGVtcGxhdGVBcnJheVZpZXcgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iaXNPYmplY3QoY29uZmlnLnZhbHVlKSIgW25nVGVtcGxhdGVPdXRsZXRdPSJSUENPYmplY3RSb3ciPjwvbmctY29udGFpbmVyPlxuICAgICAgPGRpdiAqbmdJZj0iIWlzT2JqZWN0KGNvbmZpZy52YWx1ZSkgJiYgIWlzQXJyYXkoY29uZmlnLnZhbHVlKSJcbiAgICAgICAgICAgW25nQ2xhc3NdPSJ7XCdib29sZWFuLXRydWVcJzogY29uZmlnLnZhbHVlID09PSB0cnVlLFxuICAgICAgICAgICAgICAgICAgIFwnYm9vbGVhbi1mYWxzZVwnOiBjb25maWcudmFsdWUgPT09IGZhbHNlICB9Ij5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iY29uZmlnLmtleSA9PT0gXCdtZXRob2RcJyBlbHNlIHZhbHVlIiBbbmdUZW1wbGF0ZU91dGxldF09IlNOTVBNZXRob2QiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctdGVtcGxhdGUgI3ZhbHVlPnt7IGNvbmZpZy52YWx1ZSB9fTwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgI1NOTVBNZXRob2Q+e3sgU05NUE1ldGhvZHNUcmFuc2xhdGlvbnMuZ2V0KGNvbmZpZy52YWx1ZSkgfCB0cmFuc2xhdGUgfX08L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlICNSUENPYmplY3RSb3c+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdGb3I9ImxldCBzdWJDb25maWcgb2YgY29uZmlnLnZhbHVlIHwga2V5dmFsdWUgOiBvcmlnaW5hbE9yZGVyIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT0iUlBDVGVtcGxhdGVSZWYiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT0ieyAkaW1wbGljaXQ6IHN1YkNvbmZpZywgaW5uZXJWYWx1ZTogdHJ1ZSB9Ij5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwYWRkaW5nOjB9Omhvc3QgLnRpdGxle2ZvbnQtd2VpZ2h0OjUwMH06aG9zdCAudGVtcGxhdGUta2V5e2NvbG9yOiMwMDAwMDA2MTtoZWlnaHQ6MzJweDtsaW5lLWhlaWdodDozMnB4fTpob3N0IC5ib29sZWFuLXRydWUsOmhvc3QgLmJvb2xlYW4tZmFsc2V7Ym9yZGVyLXJhZGl1czozcHg7aGVpZ2h0OjMycHg7bGluZS1oZWlnaHQ6MzJweDtwYWRkaW5nOjAgMTJweDt3aWR0aDpmaXQtY29udGVudDtmb250LXNpemU6MTRweDt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplfTpob3N0IC5ib29sZWFuLWZhbHNle2NvbG9yOiNkMTI3MzA7YmFja2dyb3VuZC1jb2xvcjojZDEyNzMwMTR9Omhvc3QgLmJvb2xlYW4tdHJ1ZXtjb2xvcjojMTk4MDM4O2JhY2tncm91bmQtY29sb3I6IzE5ODAzODE0fTpob3N0IG1hdC1leHBhbnNpb24tcGFuZWx7bWFyZ2luLXRvcDoxMHB4O292ZXJmbG93OnZpc2libGV9Omhvc3QgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9ue2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tcmlnaHQ6MDtmbGV4OjB9Omhvc3QgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9uPm1hdC1pY29ue21hcmdpbi1sZWZ0OjE1cHg7Y29sb3I6IzAwMDAwMDYxfTpob3N0IC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcntwYWRkaW5nOjAgMCAwIDEycHh9Omhvc3QgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLm1hdC1leHBhbmRlZHtoZWlnaHQ6NDhweH06aG9zdCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgLm1hdC1jb250ZW50Lm1hdC1jb250ZW50LWhpZGUtdG9nZ2xle21hcmdpbi1yaWdodDowfTpob3N0IC5ycGMtcGFyYW1zLXJvd3tvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwfTpob3N0IC5ycGMtcGFyYW1zLXJvdyA6bm90KDpmaXJzdC1jaGlsZCl7d2hpdGUtc3BhY2U6cHJlO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfTpob3N0IC50ZW1wbGF0ZS1uYW1le292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2t9Omhvc3QgOjpuZy1kZWVwIC5tYXQtY29udGVudHthbGlnbi1pdGVtczpjZW50ZXJ9Omhvc3QgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRpdGxle2ZsZXg6MTttYXJnaW46MH06aG9zdCAuYXJyYXktdmFsdWV7bWFyZ2luLWxlZnQ6MTBweH1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nQ2xhc3Msc2VsZWN0b3I6IltuZ0NsYXNzXSIsaW5wdXRzOlsiY2xhc3MiLCJuZ0NsYXNzIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdUZW1wbGF0ZU91dGxldCxzZWxlY3RvcjoiW25nVGVtcGxhdGVPdXRsZXRdIixpbnB1dHM6WyJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCIsIm5nVGVtcGxhdGVPdXRsZXQiLCJuZ1RlbXBsYXRlT3V0bGV0SW5qZWN0b3IiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3R5bGUsc2VsZWN0b3I6IltuZ1N0eWxlXSIsaW5wdXRzOlsibmdTdHlsZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbCxzZWxlY3RvcjoibWF0LWV4cGFuc2lvbi1wYW5lbCIsaW5wdXRzOlsiaGlkZVRvZ2dsZSIsInRvZ2dsZVBvc2l0aW9uIl0sb3V0cHV0czpbImFmdGVyRXhwYW5kIiwiYWZ0ZXJDb2xsYXBzZSJdLGV4cG9ydEFzOlsibWF0RXhwYW5zaW9uUGFuZWwiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbEhlYWRlcixzZWxlY3RvcjoibWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIiLGlucHV0czpbImV4cGFuZGVkSGVpZ2h0IiwiY29sbGFwc2VkSGVpZ2h0IiwidGFiSW5kZXgiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbFRpdGxlLHNlbGVjdG9yOiJtYXQtcGFuZWwtdGl0bGUifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsRGVzY3JpcHRpb24sc2VsZWN0b3I6Im1hdC1wYW5lbC1kZXNjcmlwdGlvbiJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRBbGlnbkRpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRBbGlnbl0sIFtmeExheW91dEFsaWduLnhzXSwgW2Z4TGF5b3V0QWxpZ24uc21dLCBbZnhMYXlvdXRBbGlnbi5tZF0sICBbZnhMYXlvdXRBbGlnbi5sZ10sIFtmeExheW91dEFsaWduLnhsXSwgW2Z4TGF5b3V0QWxpZ24ubHQtc21dLCBbZnhMYXlvdXRBbGlnbi5sdC1tZF0sICBbZnhMYXlvdXRBbGlnbi5sdC1sZ10sIFtmeExheW91dEFsaWduLmx0LXhsXSwgW2Z4TGF5b3V0QWxpZ24uZ3QteHNdLCBbZnhMYXlvdXRBbGlnbi5ndC1zbV0sICBbZnhMYXlvdXRBbGlnbi5ndC1tZF0sIFtmeExheW91dEFsaWduLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRBbGlnbiIsImZ4TGF5b3V0QWxpZ24ueHMiLCJmeExheW91dEFsaWduLnNtIiwiZnhMYXlvdXRBbGlnbi5tZCIsImZ4TGF5b3V0QWxpZ24ubGciLCJmeExheW91dEFsaWduLnhsIiwiZnhMYXlvdXRBbGlnbi5sdC1zbSIsImZ4TGF5b3V0QWxpZ24ubHQtbWQiLCJmeExheW91dEFsaWduLmx0LWxnIiwiZnhMYXlvdXRBbGlnbi5sdC14bCIsImZ4TGF5b3V0QWxpZ24uZ3QteHMiLCJmeExheW91dEFsaWduLmd0LXNtIiwiZnhMYXlvdXRBbGlnbi5ndC1tZCIsImZ4TGF5b3V0QWxpZ24uZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRDbGFzc0RpcmVjdGl2ZSxzZWxlY3RvcjoiICBbbmdDbGFzc10sIFtuZ0NsYXNzLnhzXSwgW25nQ2xhc3Muc21dLCBbbmdDbGFzcy5tZF0sIFtuZ0NsYXNzLmxnXSwgW25nQ2xhc3MueGxdLCAgW25nQ2xhc3MubHQtc21dLCBbbmdDbGFzcy5sdC1tZF0sIFtuZ0NsYXNzLmx0LWxnXSwgW25nQ2xhc3MubHQteGxdLCAgW25nQ2xhc3MuZ3QteHNdLCBbbmdDbGFzcy5ndC1zbV0sIFtuZ0NsYXNzLmd0LW1kXSwgW25nQ2xhc3MuZ3QtbGddIixpbnB1dHM6WyJuZ0NsYXNzIiwibmdDbGFzcy54cyIsIm5nQ2xhc3Muc20iLCJuZ0NsYXNzLm1kIiwibmdDbGFzcy5sZyIsIm5nQ2xhc3MueGwiLCJuZ0NsYXNzLmx0LXNtIiwibmdDbGFzcy5sdC1tZCIsIm5nQ2xhc3MubHQtbGciLCJuZ0NsYXNzLmx0LXhsIiwibmdDbGFzcy5ndC14cyIsIm5nQ2xhc3MuZ3Qtc20iLCJuZ0NsYXNzLmd0LW1kIiwibmdDbGFzcy5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOksuRGVmYXVsdFN0eWxlRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtuZ1N0eWxlXSwgIFtuZ1N0eWxlLnhzXSwgW25nU3R5bGUuc21dLCBbbmdTdHlsZS5tZF0sIFtuZ1N0eWxlLmxnXSwgW25nU3R5bGUueGxdLCAgW25nU3R5bGUubHQtc21dLCBbbmdTdHlsZS5sdC1tZF0sIFtuZ1N0eWxlLmx0LWxnXSwgW25nU3R5bGUubHQteGxdLCAgW25nU3R5bGUuZ3QteHNdLCBbbmdTdHlsZS5ndC1zbV0sIFtuZ1N0eWxlLmd0LW1kXSwgW25nU3R5bGUuZ3QtbGddIixpbnB1dHM6WyJuZ1N0eWxlIiwibmdTdHlsZS54cyIsIm5nU3R5bGUuc20iLCJuZ1N0eWxlLm1kIiwibmdTdHlsZS5sZyIsIm5nU3R5bGUueGwiLCJuZ1N0eWxlLmx0LXNtIiwibmdTdHlsZS5sdC1tZCIsIm5nU3R5bGUubHQtbGciLCJuZ1N0eWxlLmx0LXhsIiwibmdTdHlsZS5ndC14cyIsIm5nU3R5bGUuZ3Qtc20iLCJuZ1N0eWxlLmd0LW1kIiwibmdTdHlsZS5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlllLlRydW5jYXRlV2l0aFRvb2x0aXBEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0b29sdGlwRW5hYmxlZCIsInBvc2l0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6U2Esc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0b29sdGlwRW5hYmxlZCIsInBvc2l0aW9uIl19LHtraW5kOiJwaXBlIix0eXBlOl8uS2V5VmFsdWVQaXBlLG5hbWU6ImtleXZhbHVlIn0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJwaXBlIix0eXBlOkNhLG5hbWU6ImdldFJwY1RlbXBsYXRlQXJyYXlWaWV3In1dfSl9fWUoIkdhdGV3YXlTZXJ2aWNlUlBDQ29ubmVjdG9yVGVtcGxhdGVzQ29tcG9uZW50IixGYSksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpGYSxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItZ2F0ZXdheS1zZXJ2aWNlLXJwYy1jb25uZWN0b3ItdGVtcGxhdGVzIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9Im1hdC1zdWJ0aXRsZS0xIHRpdGxlIj57eyBcJ2dhdGV3YXkucnBjLnRlbXBsYXRlcy10aXRsZVwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG48bWF0LWV4cGFuc2lvbi1wYW5lbCBoaWRlVG9nZ2xlICpuZ0Zvcj0ibGV0IHRlbXBsYXRlIG9mIHJwY1RlbXBsYXRlcyI+XG4gIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICA8bWF0LXBhbmVsLXRpdGxlIGNsYXNzPSJ0ZW1wbGF0ZS1uYW1lIj5cbiAgICAgIDxzcGFuIG1hdFRvb2x0aXA9Int7dGVtcGxhdGUubmFtZX19IiBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj57e3RlbXBsYXRlLm5hbWV9fTwvc3Bhbj5cbiAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICA8bWF0LXBhbmVsLWRlc2NyaXB0aW9uPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gbWF0VG9vbHRpcD0iRGVsZXRlIiAoY2xpY2spPSJkZWxldGVUZW1wbGF0ZSgkZXZlbnQsIHRlbXBsYXRlKSI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIG1hdFRvb2x0aXA9IlVzZSIgKGNsaWNrKT0iYXBwbHlUZW1wbGF0ZSgkZXZlbnQsIHRlbXBsYXRlKSI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPnBsYXlfYXJyb3c8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9tYXQtcGFuZWwtZGVzY3JpcHRpb24+XG4gIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0Zvcj0ibGV0IGNvbmZpZyBvZiB0ZW1wbGF0ZS5jb25maWcgfCBrZXlWYWx1ZUlzTm90RW1wdHkiXG4gICAgW25nVGVtcGxhdGVPdXRsZXRdPSJSUENUZW1wbGF0ZVJlZiJcbiAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPSJ7ICRpbXBsaWNpdDogY29uZmlnLCBpbm5lclZhbHVlOiBmYWxzZSB9Ij5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjUlBDVGVtcGxhdGVSZWYgbGV0LWNvbmZpZyBsZXQtaW5uZXJWYWx1ZT1cJ2lubmVyVmFsdWVcJz5cbiAgICA8ZGl2IFtmeExheW91dF09ImlzT2JqZWN0KGNvbmZpZy52YWx1ZSkgPyBcJ2NvbHVtblwnOiBcJ3Jvd1wnIlxuICAgICAgICAgW2Z4TGF5b3V0QWxpZ25dPSIhaXNPYmplY3QoY29uZmlnLnZhbHVlKSA/IFwnc3BhY2UtYmV0d2VlbiBjZW50ZXJcJyA6IFwnXCciXG4gICAgICAgICBbbmdTdHlsZV09IntcJ3BhZGRpbmctbGVmdFwnOiBpbm5lclZhbHVlID8gXCcxNnB4XCc6IFwnMFwnfSJcbiAgICAgICAgIGNsYXNzPSJycGMtcGFyYW1zLXJvdyI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0ZW1wbGF0ZS1rZXkiPlxuICAgICAgICB7eyFpbm5lclZhbHVlID8gKFwnZ2F0ZXdheS5ycGMuXCcgKyBjb25maWcua2V5IHwgdHJhbnNsYXRlKSA6IGNvbmZpZy5rZXl9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPSJpc0FycmF5KGNvbmZpZy52YWx1ZSkiIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCBjbGFzcz0iYXJyYXktdmFsdWUiPlxuICAgICAgICB7eyBjb25maWcudmFsdWUgfCBnZXRScGNUZW1wbGF0ZUFycmF5VmlldyB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJpc09iamVjdChjb25maWcudmFsdWUpIiBbbmdUZW1wbGF0ZU91dGxldF09IlJQQ09iamVjdFJvdyI+PC9uZy1jb250YWluZXI+XG4gICAgICA8ZGl2ICpuZ0lmPSIhaXNPYmplY3QoY29uZmlnLnZhbHVlKSAmJiAhaXNBcnJheShjb25maWcudmFsdWUpIlxuICAgICAgICAgICBbbmdDbGFzc109IntcJ2Jvb2xlYW4tdHJ1ZVwnOiBjb25maWcudmFsdWUgPT09IHRydWUsXG4gICAgICAgICAgICAgICAgICAgXCdib29sZWFuLWZhbHNlXCc6IGNvbmZpZy52YWx1ZSA9PT0gZmFsc2UgIH0iPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJjb25maWcua2V5ID09PSBcJ21ldGhvZFwnIGVsc2UgdmFsdWUiIFtuZ1RlbXBsYXRlT3V0bGV0XT0iU05NUE1ldGhvZCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjdmFsdWU+e3sgY29uZmlnLnZhbHVlIH19PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjU05NUE1ldGhvZD57eyBTTk1QTWV0aG9kc1RyYW5zbGF0aW9ucy5nZXQoY29uZmlnLnZhbHVlKSB8IHRyYW5zbGF0ZSB9fTwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgI1JQQ09iamVjdFJvdz5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0Zvcj0ibGV0IHN1YkNvbmZpZyBvZiBjb25maWcudmFsdWUgfCBrZXl2YWx1ZSA6IG9yaWdpbmFsT3JkZXIiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPSJSUENUZW1wbGF0ZVJlZiJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPSJ7ICRpbXBsaWNpdDogc3ViQ29uZmlnLCBpbm5lclZhbHVlOiB0cnVlIH0iPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L21hdC1leHBhbnNpb24tcGFuZWw+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MH06aG9zdCAudGl0bGV7Zm9udC13ZWlnaHQ6NTAwfTpob3N0IC50ZW1wbGF0ZS1rZXl7Y29sb3I6IzAwMDAwMDYxO2hlaWdodDozMnB4O2xpbmUtaGVpZ2h0OjMycHh9Omhvc3QgLmJvb2xlYW4tdHJ1ZSw6aG9zdCAuYm9vbGVhbi1mYWxzZXtib3JkZXItcmFkaXVzOjNweDtoZWlnaHQ6MzJweDtsaW5lLWhlaWdodDozMnB4O3BhZGRpbmc6MCAxMnB4O3dpZHRoOmZpdC1jb250ZW50O2ZvbnQtc2l6ZToxNHB4O3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemV9Omhvc3QgLmJvb2xlYW4tZmFsc2V7Y29sb3I6I2QxMjczMDtiYWNrZ3JvdW5kLWNvbG9yOiNkMTI3MzAxNH06aG9zdCAuYm9vbGVhbi10cnVle2NvbG9yOiMxOTgwMzg7YmFja2dyb3VuZC1jb2xvcjojMTk4MDM4MTR9Omhvc3QgbWF0LWV4cGFuc2lvbi1wYW5lbHttYXJnaW4tdG9wOjEwcHg7b3ZlcmZsb3c6dmlzaWJsZX06aG9zdCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb257ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2U7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbi1yaWdodDowO2ZsZXg6MH06aG9zdCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24+bWF0LWljb257bWFyZ2luLWxlZnQ6MTVweDtjb2xvcjojMDAwMDAwNjF9Omhvc3QgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVye3BhZGRpbmc6MCAwIDAgMTJweH06aG9zdCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIubWF0LWV4cGFuZGVke2hlaWdodDo0OHB4fTpob3N0IC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciAubWF0LWNvbnRlbnQubWF0LWNvbnRlbnQtaGlkZS10b2dnbGV7bWFyZ2luLXJpZ2h0OjB9Omhvc3QgLnJwYy1wYXJhbXMtcm93e292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXB9Omhvc3QgLnJwYy1wYXJhbXMtcm93IDpub3QoOmZpcnN0LWNoaWxkKXt3aGl0ZS1zcGFjZTpwcmU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Omhvc3QgLnRlbXBsYXRlLW5hbWV7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9ja306aG9zdCA6Om5nLWRlZXAgLm1hdC1jb250ZW50e2FsaWduLWl0ZW1zOmNlbnRlcn06aG9zdCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGV7ZmxleDoxO21hcmdpbjowfTpob3N0IC5hcnJheS12YWx1ZXttYXJnaW4tbGVmdDoxMHB4fVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6WC5BdHRyaWJ1dGVTZXJ2aWNlfV0scHJvcERlY29yYXRvcnM6e2Nvbm5lY3RvclR5cGU6W3t0eXBlOmF9XSxjdHg6W3t0eXBlOmF9XSxzYXZlVGVtcGxhdGU6W3t0eXBlOmx9XSx1c2VUZW1wbGF0ZTpbe3R5cGU6bH1dLHJwY1RlbXBsYXRlczpbe3R5cGU6YX1dfX0pO2NsYXNzIElhe2NvbnN0cnVjdG9yKGUpe3RoaXMuZmI9ZSx0aGlzLkJyb2tlclNlY3VyaXR5VHlwZT1kbix0aGlzLnNlY3VyaXR5VHlwZXM9T2JqZWN0LnZhbHVlcyhkbiksdGhpcy5TZWN1cml0eVR5cGVUcmFuc2xhdGlvbnNNYXA9dW4sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5wcm9wYWdhdGVDaGFuZ2U9ZT0+e30sdGhpcy5zZWN1cml0eUZvcm1Hcm91cD10aGlzLmZiLmdyb3VwKHt0eXBlOltkbi5BTk9OWU1PVVMsW11dLHVzZXJuYW1lOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxwYXNzd29yZDpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV19KSx0aGlzLm9ic2VydmVTZWN1cml0eUZvcm0oKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMucHJvcGFnYXRlQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7fXdyaXRlVmFsdWUoZSl7ZS50eXBlfHwoZS50eXBlPWRuLkFOT05ZTU9VUyksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC5yZXNldChlKSx0aGlzLnVwZGF0ZVZpZXcoZSl9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5zZWN1cml0eUZvcm1Hcm91cC52YWxpZD9udWxsOntzZWN1cml0eUZvcm06e3ZhbGlkOiExfX19dXBkYXRlVmlldyhlKXt0aGlzLnByb3BhZ2F0ZUNoYW5nZShlKX11cGRhdGVWYWxpZGF0b3JzKGUpe2U9PT1kbi5CQVNJQz8odGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoInVzZXJuYW1lIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgicGFzc3dvcmQiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pKToodGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoInVzZXJuYW1lIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoInBhc3N3b3JkIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpfW9ic2VydmVTZWN1cml0eUZvcm0oKXt0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9PnRoaXMudXBkYXRlVmlldyhlKSkpLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+dGhpcy51cGRhdGVWYWxpZGF0b3JzKGUpKSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpJYSxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOklhLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHkiLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PklhKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5JYSkpLG11bHRpOiEwfV0sbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gc2FtZS1wYWRkaW5nIHRiLWZsZXggY29sdW1uIiBbZm9ybUdyb3VwXT0ic2VjdXJpdHlGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHJvdyBzcGFjZS1iZXR3ZWVuIGFsaWduLWNlbnRlciBuby1nYXAgZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZmllbGRzLWxhYmVsIiB0cmFuc2xhdGU+Z2F0ZXdheS5zZWN1cml0eTwvZGl2PlxuICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNlY3VyaXR5VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICB7eyBTZWN1cml0eVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj0ic2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gQnJva2VyU2VjdXJpdHlUeXBlLkJBU0lDIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudXNlcm5hbWU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idXNlcm5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnVzZXJuYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndXNlcm5hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJiBzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd1c2VybmFtZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucGFzc3dvcmQ8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhc3N3b3JkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5wYXNzd29yZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8ZGl2IFtjbGFzcy5oaWRlLXRvZ2dsZV09InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiIG1hdFN1ZmZpeD5cbiAgICAgICAgICAgIDx0Yi10b2dnbGUtcGFzc3dvcmQgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0Ij48L3RiLXRvZ2dsZS1wYXNzd29yZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjEwcHh9Omhvc3QgLmZpZWxkcy1sYWJlbHtmb250LXdlaWdodDo1MDB9Omhvc3QgLmhpZGUtdG9nZ2xle2Rpc3BsYXk6bm9uZX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp0dC5Ub2dnbGVQYXNzd29yZENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXBhc3N3b3JkIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpudC5Ub2dnbGVPcHRpb24sc2VsZWN0b3I6InRiLXRvZ2dsZS1vcHRpb24iLGlucHV0czpbInZhbHVlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YXQuVG9nZ2xlU2VsZWN0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi10b2dnbGUtc2VsZWN0IixpbnB1dHM6WyJkaXNhYmxlZCIsInNlbGVjdE1lZGlhQnJlYWtwb2ludCIsImFwcGVhcmFuY2UiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImZpbGxIZWlnaHQiLCJleHRyYVBhZGRpbmciLCJwcmltYXJ5QmFja2dyb3VuZCJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19dC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpJYSxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHkiLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5JYSkpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+SWEpKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbRCxIXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gc2FtZS1wYWRkaW5nIHRiLWZsZXggY29sdW1uIiBbZm9ybUdyb3VwXT0ic2VjdXJpdHlGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHJvdyBzcGFjZS1iZXR3ZWVuIGFsaWduLWNlbnRlciBuby1nYXAgZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZmllbGRzLWxhYmVsIiB0cmFuc2xhdGU+Z2F0ZXdheS5zZWN1cml0eTwvZGl2PlxuICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNlY3VyaXR5VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICB7eyBTZWN1cml0eVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj0ic2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gQnJva2VyU2VjdXJpdHlUeXBlLkJBU0lDIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudXNlcm5hbWU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idXNlcm5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnVzZXJuYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndXNlcm5hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJiBzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd1c2VybmFtZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucGFzc3dvcmQ8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhc3N3b3JkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5wYXNzd29yZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8ZGl2IFtjbGFzcy5oaWRlLXRvZ2dsZV09InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3Bhc3N3b3JkXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiIG1hdFN1ZmZpeD5cbiAgICAgICAgICAgIDx0Yi10b2dnbGUtcGFzc3dvcmQgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0Ij48L3RiLXRvZ2dsZS1wYXNzd29yZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjEwcHh9Omhvc3QgLmZpZWxkcy1sYWJlbHtmb250LXdlaWdodDo1MDB9Omhvc3QgLmhpZGUtdG9nZ2xle2Rpc3BsYXk6bm9uZX1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfV19KTtjbGFzcyBBYXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuZmI9ZSx0aGlzLmRpYWxvZz10LHRoaXMuc2VuZENvbW1hbmQ9bmV3IGksdGhpcy5zYXZlVGVtcGxhdGU9bmV3IGksdGhpcy5Db25uZWN0b3JUeXBlPV90LHRoaXMuYkFDbmV0UmVxdWVzdFR5cGVzPU9iamVjdC52YWx1ZXMoV3QpLHRoaXMuYkFDbmV0T2JqZWN0VHlwZXM9T2JqZWN0LnZhbHVlcyhLdCksdGhpcy5iTEVNZXRob2RzPU9iamVjdC52YWx1ZXMoWXQpLHRoaXMuY0FOQnl0ZU9yZGVycz1PYmplY3QudmFsdWVzKEp0KSx0aGlzLnNvY2tldE1ldGhvZFByb2Nlc3NpbmdzPU9iamVjdC52YWx1ZXMoWHQpLHRoaXMuc29ja2V0RW5jb2RpbmdzPU9iamVjdC52YWx1ZXMoYW4pLHRoaXMuc05NUE1ldGhvZHM9T2JqZWN0LnZhbHVlcyhlbiksdGhpcy5oVFRQTWV0aG9kcz1PYmplY3QudmFsdWVzKG5uKSx0aGlzLmJBQ25ldFJlcXVlc3RUeXBlc1RyYW5zbGF0ZXM9anQsdGhpcy5iQUNuZXRPYmplY3RUeXBlc1RyYW5zbGF0ZXM9JHQsdGhpcy5iTEVNZXRob2RzVHJhbnNsYXRlcz1RdCx0aGlzLlNvY2tldE1ldGhvZFByb2Nlc3NpbmdzVHJhbnNsYXRlcz1adCx0aGlzLlNOTVBNZXRob2RzVHJhbnNsYXRpb25zPXRuLHRoaXMuZ2F0ZXdheUNvbm5lY3RvckRlZmF1bHRUeXBlc1RyYW5zbGF0ZXM9SHQsdGhpcy51cmxQYXR0ZXJuPS9eWy1hLXpBLVpkXyQ6e30/fis9XC8uMC05LV0qJC8sdGhpcy5udW1iZXJzT25seVBhdHRlcm49L15bMC05XSokLyx0aGlzLmhleE9ubHlQYXR0ZXJuPS9eWzAtOUEtRmEtZiBdKyQvLHRoaXMucHJvcGFnYXRlQ2hhbmdlPWU9Pnt9LHRoaXMuZGVzdHJveSQ9bmV3IFNlfW5nT25Jbml0KCl7dGhpcy5jb21tYW5kRm9ybT10aGlzLmNvbm5lY3RvclBhcmFtc0Zvcm1Hcm91cEJ5VHlwZSh0aGlzLmNvbm5lY3RvclR5cGUpLHRoaXMuY29tbWFuZEZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoZT0+e2NvbnN0IHQ9e307c3dpdGNoKHRoaXMuY29ubmVjdG9yVHlwZSl7Y2FzZSBfdC5SRVNUOmNhc2UgX3QuUkVRVUVTVDplLmh0dHBIZWFkZXJzLmZvckVhY2goKGU9Pnt0W2UuaGVhZGVyTmFtZV09ZS52YWx1ZX0pKSxlLmh0dHBIZWFkZXJzPXR9dGhpcy5jb21tYW5kRm9ybS52YWxpZCYmdGhpcy5wcm9wYWdhdGVDaGFuZ2Uoey4uLnRoaXMuY29tbWFuZEZvcm0udmFsdWUsLi4uZX0pfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfWNvbm5lY3RvclBhcmFtc0Zvcm1Hcm91cEJ5VHlwZShlKXtsZXQgdDtzd2l0Y2goZSl7Y2FzZSBfdC5CQUNORVQ6dD10aGlzLmZiLmdyb3VwKHttZXRob2Q6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVxdWVzdFR5cGU6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVxdWVzdFRpbWVvdXQ6W251bGwsW3VlLnJlcXVpcmVkLHVlLm1pbigxMCksdWUucGF0dGVybih0aGlzLm51bWJlcnNPbmx5UGF0dGVybildXSxvYmplY3RUeXBlOltudWxsLFtdXSxpZGVudGlmaWVyOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybih0aGlzLm51bWJlcnNPbmx5UGF0dGVybildXSxwcm9wZXJ0eUlkOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dfSk7YnJlYWs7Y2FzZSBfdC5CTEU6dD10aGlzLmZiLmdyb3VwKHttZXRob2RSUEM6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sY2hhcmFjdGVyaXN0aWNVVUlEOlsiMDAwMDJBMDAtMDAwMC0xMDAwLTgwMDAtMDA4MDVGOUIzNEZCIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxtZXRob2RQcm9jZXNzaW5nOltudWxsLFt1ZS5yZXF1aXJlZF1dLHdpdGhSZXNwb25zZTpbITEsW11dfSk7YnJlYWs7Y2FzZSBfdC5DQU46dD10aGlzLmZiLmdyb3VwKHttZXRob2Q6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sbm9kZUlEOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMCksdWUucGF0dGVybih0aGlzLm51bWJlcnNPbmx5UGF0dGVybildXSxpc0V4dGVuZGVkSUQ6WyExLFtdXSxpc0ZEOlshMSxbXV0sYml0cmF0ZVN3aXRjaDpbITEsW11dLGRhdGFMZW5ndGg6W251bGwsW3VlLm1pbigxKSx1ZS5wYXR0ZXJuKHRoaXMubnVtYmVyc09ubHlQYXR0ZXJuKV1dLGRhdGFCeXRlb3JkZXI6W251bGwsW11dLGRhdGFCZWZvcmU6W251bGwsW3VlLnBhdHRlcm4oa3QpLHVlLnBhdHRlcm4odGhpcy5oZXhPbmx5UGF0dGVybildXSxkYXRhQWZ0ZXI6W251bGwsW3VlLnBhdHRlcm4oa3QpLHVlLnBhdHRlcm4odGhpcy5oZXhPbmx5UGF0dGVybildXSxkYXRhSW5IRVg6W251bGwsW3VlLnBhdHRlcm4oa3QpLHVlLnBhdHRlcm4odGhpcy5oZXhPbmx5UGF0dGVybildXSxkYXRhRXhwcmVzc2lvbjpbbnVsbCxbdWUucGF0dGVybihrdCldXX0pO2JyZWFrO2Nhc2UgX3QuRlRQOnQ9dGhpcy5mYi5ncm91cCh7bWV0aG9kRmlsdGVyOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHZhbHVlRXhwcmVzc2lvbjpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXX0pO2JyZWFrO2Nhc2UgX3QuT0NQUDp0PXRoaXMuZmIuZ3JvdXAoe21ldGhvZFJQQzpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx2YWx1ZUV4cHJlc3Npb246W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sd2l0aFJlc3BvbnNlOlshMSxbXV19KTticmVhaztjYXNlIF90LlNPQ0tFVDp0PXRoaXMuZmIuZ3JvdXAoe21ldGhvZFJQQzpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxtZXRob2RQcm9jZXNzaW5nOltudWxsLFt1ZS5yZXF1aXJlZF1dLGVuY29kaW5nOlthbi5VVEZfOCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx3aXRoUmVzcG9uc2U6WyExLFtdXX0pO2JyZWFrO2Nhc2UgX3QuWE1QUDp0PXRoaXMuZmIuZ3JvdXAoe21ldGhvZFJQQzpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx2YWx1ZUV4cHJlc3Npb246W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sd2l0aFJlc3BvbnNlOlshMSxbXV19KTticmVhaztjYXNlIF90LlNOTVA6dD10aGlzLmZiLmdyb3VwKHtyZXF1ZXN0RmlsdGVyOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLG1ldGhvZDpbbnVsbCxbdWUucmVxdWlyZWRdXSx3aXRoUmVzcG9uc2U6WyExLFtdXSxvaWQ6dGhpcy5mYi5hcnJheShbXSxbdWUucmVxdWlyZWRdKX0pO2JyZWFrO2Nhc2UgX3QuUkVTVDp0PXRoaXMuZmIuZ3JvdXAoe21ldGhvZEZpbHRlcjpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxodHRwTWV0aG9kOltudWxsLFt1ZS5yZXF1aXJlZF1dLHJlcXVlc3RVcmxFeHByZXNzaW9uOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKHRoaXMudXJsUGF0dGVybildXSxyZXNwb25zZVRpbWVvdXQ6W251bGwsW3VlLnJlcXVpcmVkLHVlLm1pbigxMCksdWUucGF0dGVybih0aGlzLm51bWJlcnNPbmx5UGF0dGVybildXSx0aW1lb3V0OltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMTApLHVlLnBhdHRlcm4odGhpcy5udW1iZXJzT25seVBhdHRlcm4pXV0sdHJpZXM6W251bGwsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5wYXR0ZXJuKHRoaXMubnVtYmVyc09ubHlQYXR0ZXJuKV1dLHZhbHVlRXhwcmVzc2lvbjpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxodHRwSGVhZGVyczp0aGlzLmZiLmFycmF5KFtdKSxzZWN1cml0eTpbe30sW3VlLnJlcXVpcmVkXV19KTticmVhaztjYXNlIF90LlJFUVVFU1Q6dD10aGlzLmZiLmdyb3VwKHttZXRob2RGaWx0ZXI6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0saHR0cE1ldGhvZDpbbnVsbCxbdWUucmVxdWlyZWRdXSxyZXF1ZXN0VXJsRXhwcmVzc2lvbjpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybih0aGlzLnVybFBhdHRlcm4pXV0scmVzcG9uc2VUaW1lb3V0OltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMTApLHVlLnBhdHRlcm4odGhpcy5udW1iZXJzT25seVBhdHRlcm4pXV0sdGltZW91dDpbbnVsbCxbdWUucmVxdWlyZWQsdWUubWluKDEwKSx1ZS5wYXR0ZXJuKHRoaXMubnVtYmVyc09ubHlQYXR0ZXJuKV1dLHRyaWVzOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybih0aGlzLm51bWJlcnNPbmx5UGF0dGVybildXSxyZXF1ZXN0VmFsdWVFeHByZXNzaW9uOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHJlc3BvbnNlVmFsdWVFeHByZXNzaW9uOltudWxsLFt1ZS5wYXR0ZXJuKGt0KV1dLGh0dHBIZWFkZXJzOnRoaXMuZmIuYXJyYXkoW10pfSk7YnJlYWs7ZGVmYXVsdDp0PXRoaXMuZmIuZ3JvdXAoe2NvbW1hbmQ6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scGFyYW1zOlt7fSxbSXRdXX0pfXJldHVybiB0fWFkZFNOTVBvaWQoZT1udWxsKXtjb25zdCB0PXRoaXMuY29tbWFuZEZvcm0uZ2V0KCJvaWQiKTt0JiZ0LnB1c2godGhpcy5mYi5jb250cm9sKGUsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXSkse2VtaXRFdmVudDohMX0pfXJlbW92ZVNOTVBvaWQoZSl7dGhpcy5jb21tYW5kRm9ybS5nZXQoIm9pZCIpLnJlbW92ZUF0KGUpfWFkZEhUVFBIZWFkZXIoZT17aGVhZGVyTmFtZTpudWxsLHZhbHVlOm51bGx9KXtjb25zdCB0PXRoaXMuY29tbWFuZEZvcm0uZ2V0KCJodHRwSGVhZGVycyIpLG49dGhpcy5mYi5ncm91cCh7aGVhZGVyTmFtZTpbZS5oZWFkZXJOYW1lLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHZhbHVlOltlLnZhbHVlLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dfSk7dCYmdC5wdXNoKG4se2VtaXRFdmVudDohMX0pfXJlbW92ZUhUVFBIZWFkZXIoZSl7dGhpcy5jb21tYW5kRm9ybS5nZXQoImh0dHBIZWFkZXJzIikucmVtb3ZlQXQoZSl9Z2V0Rm9ybUFycmF5Q29udHJvbHMoZSl7cmV0dXJuIHRoaXMuY29tbWFuZEZvcm0uZ2V0KGUpLmNvbnRyb2xzfW9wZW5FZGl0SlNPTkRpYWxvZyhlKXtlJiZlLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuZGlhbG9nLm9wZW4oUWUse2Rpc2FibGVDbG9zZTohMCxwYW5lbENsYXNzOlsidGItZGlhbG9nIiwidGItZnVsbHNjcmVlbi1kaWFsb2ciXSxkYXRhOntqc29uVmFsdWU6dGhpcy5jb21tYW5kRm9ybS5nZXQoInBhcmFtcyIpLnZhbHVlLHJlcXVpcmVkOiEwfX0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChlPT57ZSYmdGhpcy5jb21tYW5kRm9ybS5nZXQoInBhcmFtcyIpLnNldFZhbHVlKGUpfSkpfXNhdmUoKXt0aGlzLnNhdmVUZW1wbGF0ZS5lbWl0KCl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLnByb3BhZ2F0ZUNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe31jbGVhckZyb21BcnJheUJ5TmFtZShlKXtjb25zdCB0PXRoaXMuY29tbWFuZEZvcm0uZ2V0KGUpO2Zvcig7MCE9PXQubGVuZ3RoOyl0LnJlbW92ZUF0KDApfXdyaXRlVmFsdWUoZSl7aWYoIm9iamVjdCI9PXR5cGVvZiBlKXtzd2l0Y2goZT1KKGUpLHRoaXMuY29ubmVjdG9yVHlwZSl7Y2FzZSBfdC5TTk1QOnRoaXMuY2xlYXJGcm9tQXJyYXlCeU5hbWUoIm9pZCIpLGUub2lkLmZvckVhY2goKGU9Pnt0aGlzLmFkZFNOTVBvaWQoZSl9KSksZGVsZXRlIGUub2lkO2JyZWFrO2Nhc2UgX3QuUkVRVUVTVDpjYXNlIF90LlJFU1Q6dGhpcy5jbGVhckZyb21BcnJheUJ5TmFtZSgiaHR0cEhlYWRlcnMiKSxlLmh0dHBIZWFkZXJzJiZPYmplY3QuZW50cmllcyhlLmh0dHBIZWFkZXJzKS5mb3JFYWNoKChlPT57dGhpcy5hZGRIVFRQSGVhZGVyKHtoZWFkZXJOYW1lOmVbMF0sdmFsdWU6ZVsxXX0pfSkpLGRlbGV0ZSBlLmh0dHBIZWFkZXJzfXRoaXMuY29tbWFuZEZvcm0ucGF0Y2hWYWx1ZShlLHtvbmx5U2VsZjohMX0pfX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkFhLGRlcHM6W3t0b2tlbjptZS5Gb3JtQnVpbGRlcn0se3Rva2VuOkplLk1hdERpYWxvZ31dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6QWEsc2VsZWN0b3I6InRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yIixpbnB1dHM6e2Nvbm5lY3RvclR5cGU6ImNvbm5lY3RvclR5cGUifSxvdXRwdXRzOntzZW5kQ29tbWFuZDoic2VuZENvbW1hbmQiLHNhdmVUZW1wbGF0ZToic2F2ZVRlbXBsYXRlIn0scHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+QWEpKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iIGNsYXNzPSJjb21tYW5kLWZvcm0iIFtmb3JtR3JvdXBdPSJjb21tYW5kRm9ybSI+XG4gIDxkaXZcbiAgICBjbGFzcz0ibWF0LXN1YnRpdGxlLTEgdGl0bGUiPnt7IFwnZ2F0ZXdheS5ycGMudGl0bGVcJyB8IHRyYW5zbGF0ZToge3R5cGU6IGdhdGV3YXlDb25uZWN0b3JEZWZhdWx0VHlwZXNUcmFuc2xhdGVzLmdldChjb25uZWN0b3JUeXBlKX0gfX08L2Rpdj5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT0iY29ubmVjdG9yVHlwZSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJjb25uZWN0b3JUeXBlIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5CQUNORVQiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFJQQ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIiBwbGFjZWhvbGRlcj0ic2V0X3N0YXRlIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdFR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icmVxdWVzdFR5cGUiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBiQUNuZXRSZXF1ZXN0VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICB7e2JBQ25ldFJlcXVlc3RUeXBlc1RyYW5zbGF0ZXMuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdFRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RUaW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgIG1pbj0iMTAiIHN0ZXA9IjEiIHBsYWNlaG9sZGVyPSIxMDAwIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4Ij5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCIgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMub2JqZWN0VHlwZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9Im9iamVjdFR5cGUiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGJBQ25ldE9iamVjdFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICB7e2JBQ25ldE9iamVjdFR5cGVzVHJhbnNsYXRlcy5nZXQodHlwZSkgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuaWRlbnRpZmllclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJpZGVudGlmaWVyIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgbWluPSIxIiBzdGVwPSIxIiBwbGFjZWhvbGRlcj0iMSIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnByb3BlcnR5SWRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InByb3BlcnR5SWQiIHBsYWNlaG9sZGVyPSJwcmVzZW50VmFsdWUiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuQkxFIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RSUENcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZFJQQyIgcGxhY2Vob2xkZXI9InJwY01ldGhvZDEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5jaGFyYWN0ZXJpc3RpY1VVSURcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImNoYXJhY3RlcmlzdGljVVVJRCIgcGxhY2Vob2xkZXI9IjAwMDAyQTAwLTAwMDAtMTAwMC04MDAwLTAwODA1RjlCMzRGQiIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFByb2Nlc3NpbmdcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kUHJvY2Vzc2luZyI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGJMRU1ldGhvZHMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICB7e2JMRU1ldGhvZHNUcmFuc2xhdGVzLmdldCh0eXBlKSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLkNBTiI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiIHBsYWNlaG9sZGVyPSJzZW5kU2FtZURhdGEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5ub2RlSURcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im5vZGVJRCIgdHlwZT0ibnVtYmVyIiBwbGFjZWhvbGRlcj0iNCIgbWluPSIwIiBzdGVwPSIxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9ImlzRXh0ZW5kZWRJRCI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy5pc0V4dGVuZGVkSURcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9ImlzRkQiPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMuaXNGRFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0iYml0cmF0ZVN3aXRjaCI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy5iaXRyYXRlU3dpdGNoXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFMZW5ndGhcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUxlbmd0aCIgdHlwZT0ibnVtYmVyIiBwbGFjZWhvbGRlcj0iMiIgbWluPSIxIiBzdGVwPSIxIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayIgZnhGbGV4PSI1MCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuZGF0YUJ5dGVvcmRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRhdGFCeXRlb3JkZXIiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBvcmRlciBvZiBjQU5CeXRlT3JkZXJzIiBbdmFsdWVdPSJvcmRlciI+XG4gICAgICAgICAgICAgICAge3sgb3JkZXIgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFCZWZvcmVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUJlZm9yZSIgcGxhY2Vob2xkZXI9IjAwQUEiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjUwIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5kYXRhQWZ0ZXJcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUFmdGVyIiBwbGFjZWhvbGRlcj0iMDEwMiIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFJbkhFWFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUluSEVYIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iYWEgYmIgY2MgZGQgZWUgZmYgICBhYSBiYiBhYSBiYiBjYyBkIGVlIGZmIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuZGF0YUV4cHJlc3Npb25cJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImRhdGFFeHByZXNzaW9uIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0idXNlclNwZWVkIGlmIG1heEFsbG93ZWRTcGVlZCA+IHVzZXJTcGVlZCBlbHNlIG1heEFsbG93ZWRTcGVlZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5GVFAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIiBwbGFjZWhvbGRlcj0icmVhZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnZhbHVlRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLk9DUFAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFJQQ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kUlBDIiBwbGFjZWhvbGRlcj0icnBjMSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnZhbHVlRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLlNPQ0tFVCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RSUEMiIHBsYWNlaG9sZGVyPSJycGNNZXRob2QxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUHJvY2Vzc2luZ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RQcm9jZXNzaW5nIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBzb2NrZXRNZXRob2RQcm9jZXNzaW5ncyIgW3ZhbHVlXT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAge3sgU29ja2V0TWV0aG9kUHJvY2Vzc2luZ3NUcmFuc2xhdGVzLmdldChtZXRob2QpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmVuY29kaW5nXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJlbmNvZGluZyIgcGxhY2Vob2xkZXI9Int7c29ja2V0RW5jb2RpbmdzWzBdfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0id2l0aFJlc3BvbnNlIj5cbiAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLndpdGhSZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuWE1QUCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RSUEMiIHBsYWNlaG9sZGVyPSJycGMxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSIke3BhcmFtc30iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0id2l0aFJlc3BvbnNlIj5cbiAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLndpdGhSZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuU05NUCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVxdWVzdEZpbHRlciIgcGxhY2Vob2xkZXI9InNldERhdGEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBzTk1QTWV0aG9kcyIgW3ZhbHVlXT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAge3sgU05NUE1ldGhvZHNUcmFuc2xhdGlvbnMuZ2V0KG1ldGhvZCkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZmllbGRzIGJvcmRlciIgZnhMYXlvdXQ9ImNvbHVtbiIgZnhMYXlvdXRHYXA9IjEwcHgiIGZvcm1BcnJheU5hbWU9Im9pZCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkcy1sYWJlbCI+e3sgXCdnYXRld2F5LnJwYy5vaWRzXCcgfCB0cmFuc2xhdGUgfX0qPC9zcGFuPlxuICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgICAgICAgKm5nRm9yPSJsZXQgY29udHJvbCBvZiBnZXRGb3JtQXJyYXlDb250cm9scyhcJ29pZFwnKTsgbGV0IGkgPSBpbmRleCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWlubGluZS1maWVsZCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4IHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPSJjb250cm9sIiByZXF1aXJlZC8+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1pY29uIHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PSIzMHB4IlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9InJlbW92ZVNOTVBvaWQoaSkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LnJwYy5yZW1vdmVcJyB8IHRyYW5zbGF0ZSB9fSI+ZGVsZXRlXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgIGZ4RmxleEFsaWduPSJzdGFydCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9ImFkZFNOTVBvaWQoKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmFkZC1vaWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5SRVNUIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RGaWx0ZXJcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZEZpbHRlciIgcGxhY2Vob2xkZXI9InBvc3RfYXR0cmlidXRlcyIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmh0dHBNZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJodHRwTWV0aG9kIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbWV0aG9kIG9mIGhUVFBNZXRob2RzIiBbdmFsdWVdPSJtZXRob2QiPlxuICAgICAgICAgICAgICAgIHt7IG1ldGhvZCB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlcXVlc3RVcmxFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RVcmxFeHByZXNzaW9uIlxuICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJodHRwOi8vMTI3LjAuMC4xOjUwMDAvbXlfZGV2aWNlcyIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlc3BvbnNlVGltZW91dFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRpbWVvdXQiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgICAgICAgICBzdGVwPSIxIiBtaW49IjEwIiBwbGFjZWhvbGRlcj0iMTAiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudGltZW91dFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ0aW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgc3RlcD0iMSIgbWluPSIxMCIgcGxhY2Vob2xkZXI9IjEwMDAiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudHJpZXNcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idHJpZXMiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgICAgICAgICBzdGVwPSIxIiBtaW49IjEiIHBsYWNlaG9sZGVyPSIzIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSIke3BhcmFtc30iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmaWVsZHMgYm9yZGVyIiBmeExheW91dD0iY29sdW1uIiBmeExheW91dEdhcD0iMTBweCIgZm9ybUFycmF5TmFtZT0iaHR0cEhlYWRlcnMiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZHMtbGFiZWwiPnt7IFwnZ2F0ZXdheS5ycGMuaHR0cEhlYWRlcnNcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJib3JkZXIiIGZ4TGF5b3V0PSJjb2x1bW4iIGZ4TGF5b3V0R2FwPSIxMHB4IiAqbmdJZj0iZ2V0Rm9ybUFycmF5Q29udHJvbHMoXCdodHRwSGVhZGVyc1wnKS5sZW5ndGgiPlxuICAgICAgICAgICAgPGRpdiBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciI+XG4gICAgICAgICAgICAgIDxzcGFuIGZ4RmxleCBjbGFzcz0idGl0bGUiPnt7IFwnZ2F0ZXdheS5ycGMuaGVhZGVyLW5hbWVcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gZnhGbGV4IGNsYXNzPSJ0aXRsZSI+e3sgXCdnYXRld2F5LnJwYy52YWx1ZVwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBmeEZsZXg9IjMwcHgiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgICAgKm5nRm9yPSJsZXQgY29udHJvbCBvZiBnZXRGb3JtQXJyYXlDb250cm9scyhcJ2h0dHBIZWFkZXJzXCcpOyBsZXQgaSA9IGluZGV4Ij5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwTmFtZV09ImkiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBmeEZsZXg+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJoZWFkZXJOYW1lIi8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4PlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWUiIHBsYWNlaG9sZGVyPSJhcHBsaWNhdGlvbi9qc29uIi8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PSIzMHB4IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJyZW1vdmVIVFRQSGVhZGVyKGkpIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkucnBjLnJlbW92ZVwnIHwgdHJhbnNsYXRlIH19Ij5kZWxldGVcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgIGZ4RmxleEFsaWduPSJzdGFydCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9ImFkZEhUVFBIZWFkZXIoKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmFkZC1oZWFkZXJcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgICA8dGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHkgW2Zvcm1Db250cm9sXT0iY29tbWFuZEZvcm0uZ2V0KFwnc2VjdXJpdHlcJykiPjwvdGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHk+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLlJFUVVFU1QiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIiBwbGFjZWhvbGRlcj0iZWNobyIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmh0dHBNZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJodHRwTWV0aG9kIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbWV0aG9kIG9mIGhUVFBNZXRob2RzIiBbdmFsdWVdPSJtZXRob2QiPlxuICAgICAgICAgICAgICAgIHt7IG1ldGhvZCB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlcXVlc3RVcmxFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RVcmxFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iaHR0cDovLzEyNy4wLjAuMTo1MDAwL215X2RldmljZXMiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRHYXA9IjEwcHgiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjMzIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXNwb25zZVRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUaW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgc3RlcD0iMSIgbWluPSIxMCIgcGxhY2Vob2xkZXI9IjEwIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idGltZW91dCIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgIHN0ZXA9IjEiIG1pbj0iMTAiIHBsYWNlaG9sZGVyPSIxMCIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy50cmllc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ0cmllcyIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgIHN0ZXA9IjEiIG1pbj0iMSIgcGxhY2Vob2xkZXI9IjEiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXF1ZXN0VmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0VmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVzcG9uc2VWYWx1ZUV4cHJlc3Npb25cJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlc3BvbnNlVmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHt0ZW1wfSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZpZWxkcyBib3JkZXIiIGZ4TGF5b3V0PSJjb2x1bW4iIGZ4TGF5b3V0R2FwPSIxMHB4IiBmb3JtQXJyYXlOYW1lPSJodHRwSGVhZGVycyI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkcy1sYWJlbCI+e3sgXCdnYXRld2F5LnJwYy5odHRwSGVhZGVyc1wnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImJvcmRlciIgZnhMYXlvdXQ9ImNvbHVtbiIgZnhMYXlvdXRHYXA9IjEwcHgiICpuZ0lmPSJnZXRGb3JtQXJyYXlDb250cm9scyhcJ2h0dHBIZWFkZXJzXCcpLmxlbmd0aCI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIj5cbiAgICAgICAgICAgICAgPHNwYW4gZnhGbGV4IGNsYXNzPSJ0aXRsZSI+e3sgXCdnYXRld2F5LnJwYy5oZWFkZXItbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBmeEZsZXggY2xhc3M9InRpdGxlIj57eyBcJ2dhdGV3YXkucnBjLnZhbHVlXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGZ4RmxleD0iMzBweCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgICAgICAgICAqbmdGb3I9ImxldCBjb250cm9sIG9mIGdldEZvcm1BcnJheUNvbnRyb2xzKFwnaHR0cEhlYWRlcnNcJyk7IGxldCBpID0gaW5kZXgiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBOYW1lXT0iaSI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGZ4RmxleD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImhlYWRlck5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkucnBjLnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4PlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWUiLz5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBmeEZsZXg9IjMwcHgiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9InJlbW92ZUhUVFBIZWFkZXIoaSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5ycGMucmVtb3ZlXCcgfCB0cmFuc2xhdGUgfX0iPmRlbGV0ZVxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgZnhGbGV4QWxpZ249InN0YXJ0IlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iYWRkSFRUUEhlYWRlcigpIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMuYWRkLWhlYWRlclwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIG5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY29tbWFuZFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iY29tbWFuZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCd3aWRnZXQtY29uZmlnLmRhdGFzb3VyY2UtcGFyYW1ldGVyc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icGFyYW1zIiB0eXBlPSJKU09OIiB0Yi1qc29uLXRvLXN0cmluZy8+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCIgYXJpYS1oaWRkZW49ImZhbHNlIiBhcmlhLWxhYmVsPSJoZWxwLWljb24iXG4gICAgICAgICAgICAgICAgICAgIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ib3BlbkVkaXRKU09ORGlhbG9nKCRldmVudCkiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1lZGl0LXBhcmFtc1wnIHwgdHJhbnNsYXRlIH19Ij5lZGl0XG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb21tYW5kRm9ybS5nZXQoXCdwYXJhbXNcJykuaGFzRXJyb3IoXCdpbnZhbGlkSlNPTlwnKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmpzb24tdmFsdWUtaW52YWxpZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPSJ0ZW1wbGF0ZS1hY3Rpb25zIiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciIgZnhMYXlvdXRHYXA9IjEwcHgiPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9InNhdmUoKSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09ImNvbW1hbmRGb3JtLmludmFsaWQiPlxuICAgICAge3sgXCdnYXRld2F5LnJwYy1jb21tYW5kLXNhdmUtdGVtcGxhdGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0ic2VuZENvbW1hbmQuZW1pdCgpIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0iY29tbWFuZEZvcm0uaW52YWxpZCI+XG4gICAgICB7eyBcJ2dhdGV3YXkucnBjLWNvbW1hbmQtc2VuZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MH06aG9zdCAudGl0bGV7Zm9udC13ZWlnaHQ6NTAwfTpob3N0IC5jb21tYW5kLWZvcm17ZmxleC13cmFwOm5vd3JhcH06aG9zdCAuY29tbWFuZC1mb3JtPmJ1dHRvbnttYXJnaW4tdG9wOjEwcHh9Omhvc3QgLm1hdC1tZGMtc2xpZGUtdG9nZ2xlLm1hcmdpbnttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLWxlZnQ6MTBweH06aG9zdCAuZmllbGRzIC5maWVsZHMtbGFiZWx7Zm9udC13ZWlnaHQ6NTAwfTpob3N0IC5ib3JkZXJ7cGFkZGluZzoxNnB4O21hcmdpbi1ib3R0b206MTBweDtib3gtc2hhZG93OjAgMCAjMDAwMywwIDAgIzAwMDAwMDI0LDAgMCAjMDAwMDAwMWY7Ym9yZGVyOnNvbGlkIDFweCAjZTBlMGUwO2JvcmRlci1yYWRpdXM6NHB4fTpob3N0IC5ib3JkZXIgLnRpdGxle2NvbG9yOiMwMDAwMDA4YX06aG9zdCAuYm9yZGVyIC5tYXQtaWNvbntjb2xvcjojMDAwMDAwNjF9Omhvc3QgLmJvcmRlciAubWF0LWRpdmlkZXJ7bWFyZ2luLWxlZnQ6LTE2cHg7bWFyZ2luLXJpZ2h0Oi0xNnB4O21hcmdpbi1ib3R0b206MTZweH1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaCxzZWxlY3RvcjoiW25nU3dpdGNoXSIsaW5wdXRzOlsibmdTd2l0Y2giXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoQ2FzZSxzZWxlY3RvcjoiW25nU3dpdGNoQ2FzZV0iLGlucHV0czpbIm5nU3dpdGNoQ2FzZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdTd2l0Y2hEZWZhdWx0LHNlbGVjdG9yOiJbbmdTd2l0Y2hEZWZhdWx0XSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WmUuVGJKc29uVG9TdHJpbmdEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0Yi1qc29uLXRvLXN0cmluZ10ifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0RXJyb3Isc2VsZWN0b3I6Im1hdC1lcnJvciwgW21hdEVycm9yXSIsaW5wdXRzOlsiaWQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRTdWZmaXgsc2VsZWN0b3I6IlttYXRTdWZmaXhdLCBbbWF0SWNvblN1ZmZpeF0sIFttYXRUZXh0U3VmZml4XSIsaW5wdXRzOlsibWF0VGV4dFN1ZmZpeCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOndlLk1hdFNlbGVjdCxzZWxlY3RvcjoibWF0LXNlbGVjdCIsaW5wdXRzOlsiYXJpYS1kZXNjcmliZWRieSIsInBhbmVsQ2xhc3MiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3IiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwibXVsdGlwbGUiLCJkaXNhYmxlT3B0aW9uQ2VudGVyaW5nIiwiY29tcGFyZVdpdGgiLCJ2YWx1ZSIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJlcnJvclN0YXRlTWF0Y2hlciIsInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLCJzb3J0Q29tcGFyYXRvciIsImlkIiwicGFuZWxXaWR0aCJdLG91dHB1dHM6WyJvcGVuZWRDaGFuZ2UiLCJvcGVuZWQiLCJjbG9zZWQiLCJzZWxlY3Rpb25DaGFuZ2UiLCJ2YWx1ZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2VsZWN0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnouTWF0RGl2aWRlcixzZWxlY3RvcjoibWF0LWRpdmlkZXIiLGlucHV0czpbInZlcnRpY2FsIiwiaW5zZXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRHYXBEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0R2FwXSwgW2Z4TGF5b3V0R2FwLnhzXSwgW2Z4TGF5b3V0R2FwLnNtXSwgW2Z4TGF5b3V0R2FwLm1kXSwgIFtmeExheW91dEdhcC5sZ10sIFtmeExheW91dEdhcC54bF0sIFtmeExheW91dEdhcC5sdC1zbV0sIFtmeExheW91dEdhcC5sdC1tZF0sICBbZnhMYXlvdXRHYXAubHQtbGddLCBbZnhMYXlvdXRHYXAubHQteGxdLCBbZnhMYXlvdXRHYXAuZ3QteHNdLCBbZnhMYXlvdXRHYXAuZ3Qtc21dLCAgW2Z4TGF5b3V0R2FwLmd0LW1kXSwgW2Z4TGF5b3V0R2FwLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRHYXAiLCJmeExheW91dEdhcC54cyIsImZ4TGF5b3V0R2FwLnNtIiwiZnhMYXlvdXRHYXAubWQiLCJmeExheW91dEdhcC5sZyIsImZ4TGF5b3V0R2FwLnhsIiwiZnhMYXlvdXRHYXAubHQtc20iLCJmeExheW91dEdhcC5sdC1tZCIsImZ4TGF5b3V0R2FwLmx0LWxnIiwiZnhMYXlvdXRHYXAubHQteGwiLCJmeExheW91dEdhcC5ndC14cyIsImZ4TGF5b3V0R2FwLmd0LXNtIiwiZnhMYXlvdXRHYXAuZ3QtbWQiLCJmeExheW91dEdhcC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhBbGlnbkRpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4QWxpZ25dLCBbZnhGbGV4QWxpZ24ueHNdLCBbZnhGbGV4QWxpZ24uc21dLCBbZnhGbGV4QWxpZ24ubWRdLCAgW2Z4RmxleEFsaWduLmxnXSwgW2Z4RmxleEFsaWduLnhsXSwgW2Z4RmxleEFsaWduLmx0LXNtXSwgW2Z4RmxleEFsaWduLmx0LW1kXSwgIFtmeEZsZXhBbGlnbi5sdC1sZ10sIFtmeEZsZXhBbGlnbi5sdC14bF0sIFtmeEZsZXhBbGlnbi5ndC14c10sIFtmeEZsZXhBbGlnbi5ndC1zbV0sICBbZnhGbGV4QWxpZ24uZ3QtbWRdLCBbZnhGbGV4QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeEZsZXhBbGlnbiIsImZ4RmxleEFsaWduLnhzIiwiZnhGbGV4QWxpZ24uc20iLCJmeEZsZXhBbGlnbi5tZCIsImZ4RmxleEFsaWduLmxnIiwiZnhGbGV4QWxpZ24ueGwiLCJmeEZsZXhBbGlnbi5sdC1zbSIsImZ4RmxleEFsaWduLmx0LW1kIiwiZnhGbGV4QWxpZ24ubHQtbGciLCJmeEZsZXhBbGlnbi5sdC14bCIsImZ4RmxleEFsaWduLmd0LXhzIiwiZnhGbGV4QWxpZ24uZ3Qtc20iLCJmeEZsZXhBbGlnbi5ndC1tZCIsImZ4RmxleEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1pblZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLGlucHV0czpbIm1pbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwTmFtZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdIixpbnB1dHM6WyJmb3JtR3JvdXBOYW1lIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUFycmF5TmFtZSxzZWxlY3RvcjoiW2Zvcm1BcnJheU5hbWVdIixpbnB1dHM6WyJmb3JtQXJyYXlOYW1lIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6SWEsc2VsZWN0b3I6InRiLXJlc3QtY29ubmVjdG9yLXNlY3VyaXR5In0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XX0pfX1lKCJHYXRld2F5U2VydmljZVJQQ0Nvbm5lY3RvckNvbXBvbmVudCIsQWEpLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6QWEsZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yIixwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5BYSkpLG11bHRpOiEwfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iIGNsYXNzPSJjb21tYW5kLWZvcm0iIFtmb3JtR3JvdXBdPSJjb21tYW5kRm9ybSI+XG4gIDxkaXZcbiAgICBjbGFzcz0ibWF0LXN1YnRpdGxlLTEgdGl0bGUiPnt7IFwnZ2F0ZXdheS5ycGMudGl0bGVcJyB8IHRyYW5zbGF0ZToge3R5cGU6IGdhdGV3YXlDb25uZWN0b3JEZWZhdWx0VHlwZXNUcmFuc2xhdGVzLmdldChjb25uZWN0b3JUeXBlKX0gfX08L2Rpdj5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT0iY29ubmVjdG9yVHlwZSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJjb25uZWN0b3JUeXBlIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5CQUNORVQiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFJQQ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIiBwbGFjZWhvbGRlcj0ic2V0X3N0YXRlIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdFR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icmVxdWVzdFR5cGUiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBiQUNuZXRSZXF1ZXN0VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICB7e2JBQ25ldFJlcXVlc3RUeXBlc1RyYW5zbGF0ZXMuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdFRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RUaW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgIG1pbj0iMTAiIHN0ZXA9IjEiIHBsYWNlaG9sZGVyPSIxMDAwIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4Ij5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCIgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMub2JqZWN0VHlwZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9Im9iamVjdFR5cGUiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGJBQ25ldE9iamVjdFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICB7e2JBQ25ldE9iamVjdFR5cGVzVHJhbnNsYXRlcy5nZXQodHlwZSkgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuaWRlbnRpZmllclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJpZGVudGlmaWVyIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgbWluPSIxIiBzdGVwPSIxIiBwbGFjZWhvbGRlcj0iMSIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnByb3BlcnR5SWRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InByb3BlcnR5SWQiIHBsYWNlaG9sZGVyPSJwcmVzZW50VmFsdWUiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuQkxFIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RSUENcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZFJQQyIgcGxhY2Vob2xkZXI9InJwY01ldGhvZDEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5jaGFyYWN0ZXJpc3RpY1VVSURcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImNoYXJhY3RlcmlzdGljVVVJRCIgcGxhY2Vob2xkZXI9IjAwMDAyQTAwLTAwMDAtMTAwMC04MDAwLTAwODA1RjlCMzRGQiIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFByb2Nlc3NpbmdcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kUHJvY2Vzc2luZyI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGJMRU1ldGhvZHMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICB7e2JMRU1ldGhvZHNUcmFuc2xhdGVzLmdldCh0eXBlKSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLkNBTiI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiIHBsYWNlaG9sZGVyPSJzZW5kU2FtZURhdGEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5ub2RlSURcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im5vZGVJRCIgdHlwZT0ibnVtYmVyIiBwbGFjZWhvbGRlcj0iNCIgbWluPSIwIiBzdGVwPSIxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9ImlzRXh0ZW5kZWRJRCI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy5pc0V4dGVuZGVkSURcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9ImlzRkQiPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMuaXNGRFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0iYml0cmF0ZVN3aXRjaCI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy5iaXRyYXRlU3dpdGNoXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFMZW5ndGhcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUxlbmd0aCIgdHlwZT0ibnVtYmVyIiBwbGFjZWhvbGRlcj0iMiIgbWluPSIxIiBzdGVwPSIxIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayIgZnhGbGV4PSI1MCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuZGF0YUJ5dGVvcmRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRhdGFCeXRlb3JkZXIiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBvcmRlciBvZiBjQU5CeXRlT3JkZXJzIiBbdmFsdWVdPSJvcmRlciI+XG4gICAgICAgICAgICAgICAge3sgb3JkZXIgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFCZWZvcmVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUJlZm9yZSIgcGxhY2Vob2xkZXI9IjAwQUEiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjUwIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5kYXRhQWZ0ZXJcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUFmdGVyIiBwbGFjZWhvbGRlcj0iMDEwMiIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmRhdGFJbkhFWFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YUluSEVYIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iYWEgYmIgY2MgZGQgZWUgZmYgICBhYSBiYiBhYSBiYiBjYyBkIGVlIGZmIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuZGF0YUV4cHJlc3Npb25cJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImRhdGFFeHByZXNzaW9uIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0idXNlclNwZWVkIGlmIG1heEFsbG93ZWRTcGVlZCA+IHVzZXJTcGVlZCBlbHNlIG1heEFsbG93ZWRTcGVlZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5GVFAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIiBwbGFjZWhvbGRlcj0icmVhZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnZhbHVlRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLk9DUFAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZFJQQ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kUlBDIiBwbGFjZWhvbGRlcj0icnBjMSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnZhbHVlRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLlNPQ0tFVCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RSUEMiIHBsYWNlaG9sZGVyPSJycGNNZXRob2QxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUHJvY2Vzc2luZ1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RQcm9jZXNzaW5nIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBzb2NrZXRNZXRob2RQcm9jZXNzaW5ncyIgW3ZhbHVlXT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAge3sgU29ja2V0TWV0aG9kUHJvY2Vzc2luZ3NUcmFuc2xhdGVzLmdldChtZXRob2QpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmVuY29kaW5nXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJlbmNvZGluZyIgcGxhY2Vob2xkZXI9Int7c29ja2V0RW5jb2RpbmdzWzBdfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0id2l0aFJlc3BvbnNlIj5cbiAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLndpdGhSZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuWE1QUCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kUlBDXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RSUEMiIHBsYWNlaG9sZGVyPSJycGMxIi8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSIke3BhcmFtc30iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBtYXJnaW4iIGZvcm1Db250cm9sTmFtZT0id2l0aFJlc3BvbnNlIj5cbiAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLndpdGhSZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbm5lY3RvclR5cGUuU05NUCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVxdWVzdEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVxdWVzdEZpbHRlciIgcGxhY2Vob2xkZXI9InNldERhdGEiLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBzTk1QTWV0aG9kcyIgW3ZhbHVlXT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAge3sgU05NUE1ldGhvZHNUcmFuc2xhdGlvbnMuZ2V0KG1ldGhvZCkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgbWFyZ2luIiBmb3JtQ29udHJvbE5hbWU9IndpdGhSZXNwb25zZSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnJwYy53aXRoUmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZmllbGRzIGJvcmRlciIgZnhMYXlvdXQ9ImNvbHVtbiIgZnhMYXlvdXRHYXA9IjEwcHgiIGZvcm1BcnJheU5hbWU9Im9pZCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkcy1sYWJlbCI+e3sgXCdnYXRld2F5LnJwYy5vaWRzXCcgfCB0cmFuc2xhdGUgfX0qPC9zcGFuPlxuICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgICAgICAgKm5nRm9yPSJsZXQgY29udHJvbCBvZiBnZXRGb3JtQXJyYXlDb250cm9scyhcJ29pZFwnKTsgbGV0IGkgPSBpbmRleCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWlubGluZS1maWVsZCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4IHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPSJjb250cm9sIiByZXF1aXJlZC8+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1pY29uIHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PSIzMHB4IlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9InJlbW92ZVNOTVBvaWQoaSkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LnJwYy5yZW1vdmVcJyB8IHRyYW5zbGF0ZSB9fSI+ZGVsZXRlXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgIGZ4RmxleEFsaWduPSJzdGFydCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9ImFkZFNOTVBvaWQoKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmFkZC1vaWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29ubmVjdG9yVHlwZS5SRVNUIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RGaWx0ZXJcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZEZpbHRlciIgcGxhY2Vob2xkZXI9InBvc3RfYXR0cmlidXRlcyIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmh0dHBNZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJodHRwTWV0aG9kIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbWV0aG9kIG9mIGhUVFBNZXRob2RzIiBbdmFsdWVdPSJtZXRob2QiPlxuICAgICAgICAgICAgICAgIHt7IG1ldGhvZCB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlcXVlc3RVcmxFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RVcmxFeHByZXNzaW9uIlxuICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJodHRwOi8vMTI3LjAuMC4xOjUwMDAvbXlfZGV2aWNlcyIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlc3BvbnNlVGltZW91dFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRpbWVvdXQiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgICAgICAgICBzdGVwPSIxIiBtaW49IjEwIiBwbGFjZWhvbGRlcj0iMTAiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudGltZW91dFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ0aW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgc3RlcD0iMSIgbWluPSIxMCIgcGxhY2Vob2xkZXI9IjEwMDAiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudHJpZXNcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idHJpZXMiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgICAgICAgICBzdGVwPSIxIiBtaW49IjEiIHBsYWNlaG9sZGVyPSIzIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSIke3BhcmFtc30iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmaWVsZHMgYm9yZGVyIiBmeExheW91dD0iY29sdW1uIiBmeExheW91dEdhcD0iMTBweCIgZm9ybUFycmF5TmFtZT0iaHR0cEhlYWRlcnMiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZHMtbGFiZWwiPnt7IFwnZ2F0ZXdheS5ycGMuaHR0cEhlYWRlcnNcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJib3JkZXIiIGZ4TGF5b3V0PSJjb2x1bW4iIGZ4TGF5b3V0R2FwPSIxMHB4IiAqbmdJZj0iZ2V0Rm9ybUFycmF5Q29udHJvbHMoXCdodHRwSGVhZGVyc1wnKS5sZW5ndGgiPlxuICAgICAgICAgICAgPGRpdiBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciI+XG4gICAgICAgICAgICAgIDxzcGFuIGZ4RmxleCBjbGFzcz0idGl0bGUiPnt7IFwnZ2F0ZXdheS5ycGMuaGVhZGVyLW5hbWVcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gZnhGbGV4IGNsYXNzPSJ0aXRsZSI+e3sgXCdnYXRld2F5LnJwYy52YWx1ZVwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBmeEZsZXg9IjMwcHgiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgICAgKm5nRm9yPSJsZXQgY29udHJvbCBvZiBnZXRGb3JtQXJyYXlDb250cm9scyhcJ2h0dHBIZWFkZXJzXCcpOyBsZXQgaSA9IGluZGV4Ij5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwTmFtZV09ImkiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBmeEZsZXg+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJoZWFkZXJOYW1lIi8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4PlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWUiIHBsYWNlaG9sZGVyPSJhcHBsaWNhdGlvbi9qc29uIi8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PSIzMHB4IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJyZW1vdmVIVFRQSGVhZGVyKGkpIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkucnBjLnJlbW92ZVwnIHwgdHJhbnNsYXRlIH19Ij5kZWxldGVcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgIGZ4RmxleEFsaWduPSJzdGFydCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9ImFkZEhUVFBIZWFkZXIoKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmFkZC1oZWFkZXJcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgICA8dGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHkgW2Zvcm1Db250cm9sXT0iY29tbWFuZEZvcm0uZ2V0KFwnc2VjdXJpdHlcJykiPjwvdGItcmVzdC1jb25uZWN0b3Itc2VjdXJpdHk+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb25uZWN0b3JUeXBlLlJFUVVFU1QiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm1ldGhvZEZpbHRlclwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIiBwbGFjZWhvbGRlcj0iZWNobyIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2siIGZ4RmxleD0iMzMiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmh0dHBNZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJodHRwTWV0aG9kIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbWV0aG9kIG9mIGhUVFBNZXRob2RzIiBbdmFsdWVdPSJtZXRob2QiPlxuICAgICAgICAgICAgICAgIHt7IG1ldGhvZCB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlcXVlc3RVcmxFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RVcmxFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iaHR0cDovLzEyNy4wLjAuMTo1MDAwL215X2RldmljZXMiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRHYXA9IjEwcHgiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjMzIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXNwb25zZVRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUaW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgc3RlcD0iMSIgbWluPSIxMCIgcGxhY2Vob2xkZXI9IjEwIi8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idGltZW91dCIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgIHN0ZXA9IjEiIG1pbj0iMTAiIHBsYWNlaG9sZGVyPSIxMCIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy50cmllc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ0cmllcyIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgIHN0ZXA9IjEiIG1pbj0iMSIgcGxhY2Vob2xkZXI9IjEiLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXF1ZXN0VmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0VmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVzcG9uc2VWYWx1ZUV4cHJlc3Npb25cJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlc3BvbnNlVmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0iJHt0ZW1wfSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZpZWxkcyBib3JkZXIiIGZ4TGF5b3V0PSJjb2x1bW4iIGZ4TGF5b3V0R2FwPSIxMHB4IiBmb3JtQXJyYXlOYW1lPSJodHRwSGVhZGVycyI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkcy1sYWJlbCI+e3sgXCdnYXRld2F5LnJwYy5odHRwSGVhZGVyc1wnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImJvcmRlciIgZnhMYXlvdXQ9ImNvbHVtbiIgZnhMYXlvdXRHYXA9IjEwcHgiICpuZ0lmPSJnZXRGb3JtQXJyYXlDb250cm9scyhcJ2h0dHBIZWFkZXJzXCcpLmxlbmd0aCI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIj5cbiAgICAgICAgICAgICAgPHNwYW4gZnhGbGV4IGNsYXNzPSJ0aXRsZSI+e3sgXCdnYXRld2F5LnJwYy5oZWFkZXItbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBmeEZsZXggY2xhc3M9InRpdGxlIj57eyBcJ2dhdGV3YXkucnBjLnZhbHVlXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGZ4RmxleD0iMzBweCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgICAgICAgICAqbmdGb3I9ImxldCBjb250cm9sIG9mIGdldEZvcm1BcnJheUNvbnRyb2xzKFwnaHR0cEhlYWRlcnNcJyk7IGxldCBpID0gaW5kZXgiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBOYW1lXT0iaSI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGZ4RmxleD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImhlYWRlck5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkucnBjLnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgZnhGbGV4PlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWUiLz5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBmeEZsZXg9IjMwcHgiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9InJlbW92ZUhUVFBIZWFkZXIoaSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5ycGMucmVtb3ZlXCcgfCB0cmFuc2xhdGUgfX0iPmRlbGV0ZVxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgZnhGbGV4QWxpZ249InN0YXJ0IlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iYWRkSFRUUEhlYWRlcigpIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMuYWRkLWhlYWRlclwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIG5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY29tbWFuZFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iY29tbWFuZCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCd3aWRnZXQtY29uZmlnLmRhdGFzb3VyY2UtcGFyYW1ldGVyc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icGFyYW1zIiB0eXBlPSJKU09OIiB0Yi1qc29uLXRvLXN0cmluZy8+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCIgYXJpYS1oaWRkZW49ImZhbHNlIiBhcmlhLWxhYmVsPSJoZWxwLWljb24iXG4gICAgICAgICAgICAgICAgICAgIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ib3BlbkVkaXRKU09ORGlhbG9nKCRldmVudCkiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1lZGl0LXBhcmFtc1wnIHwgdHJhbnNsYXRlIH19Ij5lZGl0XG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb21tYW5kRm9ybS5nZXQoXCdwYXJhbXNcJykuaGFzRXJyb3IoXCdpbnZhbGlkSlNPTlwnKSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLmpzb24tdmFsdWUtaW52YWxpZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPSJ0ZW1wbGF0ZS1hY3Rpb25zIiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciIgZnhMYXlvdXRHYXA9IjEwcHgiPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9InNhdmUoKSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09ImNvbW1hbmRGb3JtLmludmFsaWQiPlxuICAgICAge3sgXCdnYXRld2F5LnJwYy1jb21tYW5kLXNhdmUtdGVtcGxhdGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0ic2VuZENvbW1hbmQuZW1pdCgpIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0iY29tbWFuZEZvcm0uaW52YWxpZCI+XG4gICAgICB7eyBcJ2dhdGV3YXkucnBjLWNvbW1hbmQtc2VuZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MH06aG9zdCAudGl0bGV7Zm9udC13ZWlnaHQ6NTAwfTpob3N0IC5jb21tYW5kLWZvcm17ZmxleC13cmFwOm5vd3JhcH06aG9zdCAuY29tbWFuZC1mb3JtPmJ1dHRvbnttYXJnaW4tdG9wOjEwcHh9Omhvc3QgLm1hdC1tZGMtc2xpZGUtdG9nZ2xlLm1hcmdpbnttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLWxlZnQ6MTBweH06aG9zdCAuZmllbGRzIC5maWVsZHMtbGFiZWx7Zm9udC13ZWlnaHQ6NTAwfTpob3N0IC5ib3JkZXJ7cGFkZGluZzoxNnB4O21hcmdpbi1ib3R0b206MTBweDtib3gtc2hhZG93OjAgMCAjMDAwMywwIDAgIzAwMDAwMDI0LDAgMCAjMDAwMDAwMWY7Ym9yZGVyOnNvbGlkIDFweCAjZTBlMGUwO2JvcmRlci1yYWRpdXM6NHB4fTpob3N0IC5ib3JkZXIgLnRpdGxle2NvbG9yOiMwMDAwMDA4YX06aG9zdCAuYm9yZGVyIC5tYXQtaWNvbntjb2xvcjojMDAwMDAwNjF9Omhvc3QgLmJvcmRlciAubWF0LWRpdmlkZXJ7bWFyZ2luLWxlZnQ6LTE2cHg7bWFyZ2luLXJpZ2h0Oi0xNnB4O21hcmdpbi1ib3R0b206MTZweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTpKZS5NYXREaWFsb2d9XSxwcm9wRGVjb3JhdG9yczp7Y29ubmVjdG9yVHlwZTpbe3R5cGU6YX1dLHNlbmRDb21tYW5kOlt7dHlwZTpsfV0sc2F2ZVRlbXBsYXRlOlt7dHlwZTpsfV19fSk7Y2xhc3MgTmEgZXh0ZW5kcyBQe2NvbnN0cnVjdG9yKGUsdCxuLGEsbyl7c3VwZXIoZSx0LGEpLHRoaXMuc3RvcmU9ZSx0aGlzLnJvdXRlcj10LHRoaXMuZGF0YT1uLHRoaXMuZGlhbG9nUmVmPWEsdGhpcy5mYj1vLHRoaXMuY29uZmlnPXRoaXMuZGF0YS5jb25maWcsdGhpcy50ZW1wbGF0ZXM9dGhpcy5kYXRhLnRlbXBsYXRlcyx0aGlzLnRlbXBsYXRlTmFtZUN0cmw9dGhpcy5mYi5jb250cm9sKCIiLFt1ZS5yZXF1aXJlZF0pfXZhbGlkYXRlRHVwbGljYXRlTmFtZShlKXtjb25zdCB0PWUudmFsdWUudHJpbSgpO3JldHVybiEhdGhpcy50ZW1wbGF0ZXMuZmluZCgoZT0+ZS5uYW1lPT09dCkpfWNsb3NlKCl7dGhpcy5kaWFsb2dSZWYuY2xvc2UoKX1zYXZlKCl7dGhpcy50ZW1wbGF0ZU5hbWVDdHJsLnNldFZhbHVlKHRoaXMudGVtcGxhdGVOYW1lQ3RybC52YWx1ZS50cmltKCkpLHRoaXMudGVtcGxhdGVOYW1lQ3RybC52YWxpZCYmdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy50ZW1wbGF0ZU5hbWVDdHJsLnZhbHVlKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOk5hLGRlcHM6W3t0b2tlbjpvdC5TdG9yZX0se3Rva2VuOml0LlJvdXRlcn0se3Rva2VuOlhlfSx7dG9rZW46SmUuTWF0RGlhbG9nUmVmfSx7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOk5hLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LXNlcnZpY2UtcnBjLWNvbm5lY3Rvci10ZW1wbGF0ZS1kaWFsb2ciLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10b29sYmFyIGNvbG9yPSJwcmltYXJ5Ij5cbiAgPGgyIHRyYW5zbGF0ZT5nYXRld2F5LnJwYy5zYXZlLXRlbXBsYXRlPC9oMj5cbiAgPHNwYW4gZnhGbGV4Pjwvc3Bhbj5cbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAoY2xpY2spPSJjbG9zZSgpIlxuICAgICAgICAgIHR5cGU9ImJ1dHRvbiI+XG4gICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+Y2xvc2U8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbjwvbWF0LXRvb2xiYXI+XG48ZGl2IG1hdC1kaWFsb2ctY29udGVudCBzdHlsZT0id2lkdGg6IDYwMHB4IiBjbGFzcz0ibWF0LWNvbnRlbnQiIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9Im1hdC1ibG9jayB0Yi12YWx1ZS10eXBlIiBzdHlsZT0iZmxleC1ncm93OiAwIj5cbiAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnJwYy50ZW1wbGF0ZS1uYW1lPC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IFtmb3JtQ29udHJvbF09InRlbXBsYXRlTmFtZUN0cmwiIHJlcXVpcmVkLz5cbiAgICA8bWF0LWVycm9yXG4gICAgICAqbmdJZj0idGVtcGxhdGVOYW1lQ3RybC5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgIHt7IFwnZ2F0ZXdheS5ycGMudGVtcGxhdGUtbmFtZS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxkaXYgY2xhc3M9Im1hdC1tZGMtZm9ybS1maWVsZC1lcnJvciJcbiAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDogLTE1cHg7IHBhZGRpbmctbGVmdDogMTBweDsgZm9udC1zaXplOiAxNHB4OyJcbiAgICAgICAqbmdJZj0idmFsaWRhdGVEdXBsaWNhdGVOYW1lKHRlbXBsYXRlTmFtZUN0cmwpIj5cbiAgICB7eyBcJ2dhdGV3YXkucnBjLnRlbXBsYXRlLW5hbWUtZHVwbGljYXRlXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiPlxuICA8YnV0dG9uIG1hdC1idXR0b25cbiAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgKGNsaWNrKT0iY2xvc2UoKSI+XG4gICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG4gIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICBbZGlzYWJsZWRdPSIhdGVtcGxhdGVOYW1lQ3RybC52YWxpZCJcbiAgICAgICAgICAoY2xpY2spPSJzYXZlKCkiPlxuICAgIHt7IFwnYWN0aW9uLnNhdmVcJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbjwvZGl2PlxuJyxkZXBlbmRlbmNpZXM6W3traW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QnV0dG9uLHNlbGVjdG9yOiIgICAgYnV0dG9uW21hdC1idXR0b25dLCBidXR0b25bbWF0LXJhaXNlZC1idXR0b25dLCBidXR0b25bbWF0LWZsYXQtYnV0dG9uXSwgICAgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0gICIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRFcnJvcixzZWxlY3RvcjoibWF0LWVycm9yLCBbbWF0RXJyb3JdIixpbnB1dHM6WyJpZCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnJ0Lk1hdFRvb2xiYXIsc2VsZWN0b3I6Im1hdC10b29sYmFyIixpbnB1dHM6WyJjb2xvciJdLGV4cG9ydEFzOlsibWF0VG9vbGJhciJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOkplLk1hdERpYWxvZ0FjdGlvbnMsc2VsZWN0b3I6IlttYXQtZGlhbG9nLWFjdGlvbnNdLCBtYXQtZGlhbG9nLWFjdGlvbnMsIFttYXREaWFsb2dBY3Rpb25zXSIsaW5wdXRzOlsiYWxpZ24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpKZS5NYXREaWFsb2dDb250ZW50LHNlbGVjdG9yOiJbbWF0LWRpYWxvZy1jb250ZW50XSwgbWF0LWRpYWxvZy1jb250ZW50LCBbbWF0RGlhbG9nQ29udGVudF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRdLCBbZnhMYXlvdXQueHNdLCBbZnhMYXlvdXQuc21dLCBbZnhMYXlvdXQubWRdLCAgW2Z4TGF5b3V0LmxnXSwgW2Z4TGF5b3V0LnhsXSwgW2Z4TGF5b3V0Lmx0LXNtXSwgW2Z4TGF5b3V0Lmx0LW1kXSwgIFtmeExheW91dC5sdC1sZ10sIFtmeExheW91dC5sdC14bF0sIFtmeExheW91dC5ndC14c10sIFtmeExheW91dC5ndC1zbV0sICBbZnhMYXlvdXQuZ3QtbWRdLCBbZnhMYXlvdXQuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dCIsImZ4TGF5b3V0LnhzIiwiZnhMYXlvdXQuc20iLCJmeExheW91dC5tZCIsImZ4TGF5b3V0LmxnIiwiZnhMYXlvdXQueGwiLCJmeExheW91dC5sdC1zbSIsImZ4TGF5b3V0Lmx0LW1kIiwiZnhMYXlvdXQubHQtbGciLCJmeExheW91dC5sdC14bCIsImZ4TGF5b3V0Lmd0LXhzIiwiZnhMYXlvdXQuZ3Qtc20iLCJmeExheW91dC5ndC1tZCIsImZ4TGF5b3V0Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLlJlcXVpcmVkVmFsaWRhdG9yLHNlbGVjdG9yOiI6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sTmFtZV0sOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbF0sOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtuZ01vZGVsXSIsaW5wdXRzOlsicmVxdWlyZWQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2wiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV19KX19ZSgiR2F0ZXdheVNlcnZpY2VSUENDb25uZWN0b3JUZW1wbGF0ZURpYWxvZ0NvbXBvbmVudCIsTmEpLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6TmEsZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yLXRlbXBsYXRlLWRpYWxvZyIsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICA8aDIgdHJhbnNsYXRlPmdhdGV3YXkucnBjLnNhdmUtdGVtcGxhdGU8L2gyPlxuICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgIChjbGljayk9ImNsb3NlKCkiXG4gICAgICAgICAgdHlwZT0iYnV0dG9uIj5cbiAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9tYXQtdG9vbGJhcj5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IHN0eWxlPSJ3aWR0aDogNjAwcHgiIGNsYXNzPSJtYXQtY29udGVudCIgZnhMYXlvdXQ9ImNvbHVtbiI+XG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0ibWF0LWJsb2NrIHRiLXZhbHVlLXR5cGUiIHN0eWxlPSJmbGV4LWdyb3c6IDAiPlxuICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkucnBjLnRlbXBsYXRlLW5hbWU8L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT0idGVtcGxhdGVOYW1lQ3RybCIgcmVxdWlyZWQvPlxuICAgIDxtYXQtZXJyb3JcbiAgICAgICpuZ0lmPSJ0ZW1wbGF0ZU5hbWVDdHJsLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAge3sgXCdnYXRld2F5LnJwYy50ZW1wbGF0ZS1uYW1lLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPGRpdiBjbGFzcz0ibWF0LW1kYy1mb3JtLWZpZWxkLWVycm9yIlxuICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOiAtMTVweDsgcGFkZGluZy1sZWZ0OiAxMHB4OyBmb250LXNpemU6IDE0cHg7IlxuICAgICAgICpuZ0lmPSJ2YWxpZGF0ZUR1cGxpY2F0ZU5hbWUodGVtcGxhdGVOYW1lQ3RybCkiPlxuICAgIHt7IFwnZ2F0ZXdheS5ycGMudGVtcGxhdGUtbmFtZS1kdXBsaWNhdGVcJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gIDxidXR0b24gbWF0LWJ1dHRvblxuICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAoY2xpY2spPSJjbG9zZSgpIj5cbiAgICB7eyBcJ2FjdGlvbi5jYW5jZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgIFtkaXNhYmxlZF09IiF0ZW1wbGF0ZU5hbWVDdHJsLnZhbGlkIlxuICAgICAgICAgIChjbGljayk9InNhdmUoKSI+XG4gICAge3sgXCdhY3Rpb24uc2F2ZVwnIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4nfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm90LlN0b3JlfSx7dHlwZTppdC5Sb3V0ZXJ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpwLGFyZ3M6W1hlXX1dfSx7dHlwZTpKZS5NYXREaWFsb2dSZWZ9LHt0eXBlOm1lLkZvcm1CdWlsZGVyfV19KTtjbGFzcyBNYXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuZmI9ZSx0aGlzLmNkcj10LHRoaXMudmFsdWVUeXBlS2V5cz1PYmplY3QudmFsdWVzKEduKSx0aGlzLk1hcHBpbmdWYWx1ZVR5cGU9R24sdGhpcy52YWx1ZVR5cGVzPVZuLHRoaXMub25DaGFuZ2U9ZT0+e30sdGhpcy5vblRvdWNoZWQ9KCk9Pnt9LHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cD10aGlzLmZiLmdyb3VwKHttZXRob2Q6W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sYXJndW1lbnRzOnRoaXMuZmIuYXJyYXkoW10pfSksdGhpcy5vYnNlcnZlVmFsdWVDaGFuZ2VzKCl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLm9uQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7dGhpcy5vblRvdWNoZWQ9ZX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAudmFsaWQ/bnVsbDp7cnBjUGFyYW1ldGVyc0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fX13cml0ZVZhbHVlKGUpe3RoaXMuY2xlYXJBcmd1bWVudHMoKSxlLmFyZ3VtZW50cz8ubWFwKCgoe3R5cGU6ZSx2YWx1ZTp0fSk9Pih7dHlwZTplLFtlXTp0fSkpKS5mb3JFYWNoKChlPT50aGlzLmFkZEFyZ3VtZW50KGUpKSksdGhpcy5jZHIubWFya0ZvckNoZWNrKCksdGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldCgibWV0aG9kIikucGF0Y2hWYWx1ZShlLm1ldGhvZCl9b2JzZXJ2ZVZhbHVlQ2hhbmdlcygpe3RoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57Y29uc3QgdD1lLmFyZ3VtZW50cy5tYXAoKCh7dHlwZTplLC4uLnR9KT0+KHt0eXBlOmUsdmFsdWU6dFtlXX0pKSk7dGhpcy5vbkNoYW5nZSh7bWV0aG9kOmUubWV0aG9kLGFyZ3VtZW50czp0fSksdGhpcy5vblRvdWNoZWQoKX0pKX1yZW1vdmVBcmd1bWVudChlKXt0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJhcmd1bWVudHMiKS5yZW1vdmVBdChlKX1hZGRBcmd1bWVudChlPXt9KXtjb25zdCB0PXRoaXMuZmIuZ3JvdXAoe3R5cGU6W2UudHlwZT8/R24uU1RSSU5HXSxzdHJpbmc6W2Uuc3RyaW5nPz97dmFsdWU6IiIsZGlzYWJsZWQ6IShlZShlLHt9KXx8ZS5zdHJpbmcpfSxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxpbnRlZ2VyOlt7dmFsdWU6ZS5pbnRlZ2VyPz8wLGRpc2FibGVkOiFpZShlLmludGVnZXIpfSxbdWUucmVxdWlyZWQsdWUucGF0dGVybihMdCldXSxkb3VibGU6W3t2YWx1ZTplLmRvdWJsZT8/MCxkaXNhYmxlZDohaWUoZS5kb3VibGUpfSxbdWUucmVxdWlyZWRdXSxib29sZWFuOlt7dmFsdWU6ZS5ib29sZWFuPz8hMSxkaXNhYmxlZDohaWUoZS5ib29sZWFuKX0sW3VlLnJlcXVpcmVkXV19KTt0aGlzLm9ic2VydmVUeXBlQ2hhbmdlKHQpLHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoImFyZ3VtZW50cyIpLnB1c2godCx7ZW1pdEV2ZW50OiExfSl9Y2xlYXJBcmd1bWVudHMoKXtjb25zdCBlPXRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoImFyZ3VtZW50cyIpO2Zvcig7MCE9PWUubGVuZ3RoOyllLnJlbW92ZUF0KDApfW9ic2VydmVUeXBlQ2hhbmdlKGUpe2UuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgodD0+e2UuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksZS5nZXQoInR5cGUiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLGUuZ2V0KHQpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSl9KSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpNYSxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjp0LkNoYW5nZURldGVjdG9yUmVmfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpNYSxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLWdhdGV3YXktb3BjLXJwYy1wYXJhbWV0ZXJzIixwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5NYSkpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+TWEpKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPSJycGNQYXJhbWV0ZXJzRm9ybUdyb3VwIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCB0Yi1mbGV4IG5vLXBhZGRpbmctdG9wIGhpbnQtY29udGFpbmVyIj5cbiAgICB7eyBcJ2dhdGV3YXkucnBjLmhpbnQub3BjLW1ldGhvZFwnIHwgdHJhbnNsYXRlIH19XG4gIDwvZGl2PlxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXgiPlxuICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZCIgcGxhY2Vob2xkZXI9Im11bHRpcGx5Ii8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxmaWVsZHNldCBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIGFyZ3VtZW50cy1jb250YWluZXIiIGZ4TGF5b3V0PSJjb2x1bW4iIGZvcm1BcnJheU5hbWU9ImFyZ3VtZW50cyI+XG4gICAgPHN0cm9uZz5cbiAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZHMtbGFiZWwiPnt7IFwnZ2F0ZXdheS5ycGMuYXJndW1lbnRzXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPC9zdHJvbmc+XG4gICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRHYXA9IjEwcHgiIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiXG4gICAgICAgICAqbmdGb3I9ImxldCBhcmd1bWVudEZvcm1Hcm91cCBvZiBycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ2FyZ3VtZW50c1wnKVtcJ2NvbnRyb2xzXCddOyBsZXQgaSA9IGluZGV4IiBbZm9ybUdyb3VwXT0iYXJndW1lbnRGb3JtR3JvdXAiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIHR5cGUtY29udGFpbmVyIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS50eXBlPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGZpbGwtd2lkdGgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICA8bWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0idGItbWF0LTE4IiBbc3ZnSWNvbl09InZhbHVlVHlwZXMuZ2V0KGFyZ3VtZW50Rm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUpPy5pY29uIj5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57eyB2YWx1ZVR5cGVzLmdldChhcmd1bWVudEZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8ubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHZhbHVlVHlwZSBvZiB2YWx1ZVR5cGVLZXlzIiBbdmFsdWVdPSJ2YWx1ZVR5cGUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0idGItbWF0LTIwIiBzdmdJY29uPSJ7eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLmljb24gfX0iPlxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgdmFsdWVUeXBlcy5nZXQodmFsdWVUeXBlKS5uYW1lIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyB2YWx1ZS1jb250YWluZXIiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnZhbHVlPC9kaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09ImFyZ3VtZW50Rm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUiPlxuICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuU1RSSU5HIiBtYXRJbnB1dCByZXF1aXJlZCBmb3JtQ29udHJvbE5hbWU9InN0cmluZyJcbiAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuSU5URUdFUiIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJpbnRlZ2VyIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIgLz5cbiAgICAgICAgICAgIDxpbnB1dCAqbmdTd2l0Y2hDYXNlPSJNYXBwaW5nVmFsdWVUeXBlLkRPVUJMRSIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJkb3VibGUiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgKm5nU3dpdGNoQ2FzZT0iTWFwcGluZ1ZhbHVlVHlwZS5CT09MRUFOIiBmb3JtQ29udHJvbE5hbWU9ImJvb2xlYW4iPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPSJ0cnVlIj50cnVlPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPSJmYWxzZSI+ZmFsc2U8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImFyZ3VtZW50Rm9ybUdyb3VwLmdldChhcmd1bWVudEZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBhcmd1bWVudEZvcm1Hcm91cC5nZXQoYXJndW1lbnRGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSkudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPSJyZW1vdmVBcmd1bWVudChpKSJcbiAgICAgICAgICAgICAgY2xhc3M9InRiLWJveC1idXR0b24iXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5ycGMucmVtb3ZlXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIGZ4RmxleEFsaWduPSJzdGFydCJcbiAgICAgICAgICAgIChjbGljayk9ImFkZEFyZ3VtZW50KCkiPlxuICAgICAge3sgXCdnYXRld2F5LnJwYy5hZGQtYXJndW1lbnRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2ZpZWxkc2V0PlxuPC9uZy1jb250YWluZXI+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCAuYXJndW1lbnRzLWNvbnRhaW5lcnttYXJnaW4tYm90dG9tOjEwcHh9Omhvc3QgLnR5cGUtY29udGFpbmVye3dpZHRoOjQwJX06aG9zdCAudmFsdWUtY29udGFpbmVye3dpZHRoOjUwJX06aG9zdCAuaGludC1jb250YWluZXJ7bWFyZ2luLWJvdHRvbToxMnB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaCxzZWxlY3RvcjoiW25nU3dpdGNoXSIsaW5wdXRzOlsibmdTd2l0Y2giXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoQ2FzZSxzZWxlY3RvcjoiW25nU3dpdGNoQ2FzZV0iLGlucHV0czpbIm5nU3dpdGNoQ2FzZSJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdFN1ZmZpeCxzZWxlY3RvcjoiW21hdFN1ZmZpeF0sIFttYXRJY29uU3VmZml4XSwgW21hdFRleHRTdWZmaXhdIixpbnB1dHM6WyJtYXRUZXh0U3VmZml4Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp3ZS5NYXRTZWxlY3RUcmlnZ2VyLHNlbGVjdG9yOiJtYXQtc2VsZWN0LXRyaWdnZXIifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEdhcERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRHYXBdLCBbZnhMYXlvdXRHYXAueHNdLCBbZnhMYXlvdXRHYXAuc21dLCBbZnhMYXlvdXRHYXAubWRdLCAgW2Z4TGF5b3V0R2FwLmxnXSwgW2Z4TGF5b3V0R2FwLnhsXSwgW2Z4TGF5b3V0R2FwLmx0LXNtXSwgW2Z4TGF5b3V0R2FwLmx0LW1kXSwgIFtmeExheW91dEdhcC5sdC1sZ10sIFtmeExheW91dEdhcC5sdC14bF0sIFtmeExheW91dEdhcC5ndC14c10sIFtmeExheW91dEdhcC5ndC1zbV0sICBbZnhMYXlvdXRHYXAuZ3QtbWRdLCBbZnhMYXlvdXRHYXAuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEdhcCIsImZ4TGF5b3V0R2FwLnhzIiwiZnhMYXlvdXRHYXAuc20iLCJmeExheW91dEdhcC5tZCIsImZ4TGF5b3V0R2FwLmxnIiwiZnhMYXlvdXRHYXAueGwiLCJmeExheW91dEdhcC5sdC1zbSIsImZ4TGF5b3V0R2FwLmx0LW1kIiwiZnhMYXlvdXRHYXAubHQtbGciLCJmeExheW91dEdhcC5sdC14bCIsImZ4TGF5b3V0R2FwLmd0LXhzIiwiZnhMYXlvdXRHYXAuZ3Qtc20iLCJmeExheW91dEdhcC5ndC1tZCIsImZ4TGF5b3V0R2FwLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeEZsZXhBbGlnbl0sIFtmeEZsZXhBbGlnbi54c10sIFtmeEZsZXhBbGlnbi5zbV0sIFtmeEZsZXhBbGlnbi5tZF0sICBbZnhGbGV4QWxpZ24ubGddLCBbZnhGbGV4QWxpZ24ueGxdLCBbZnhGbGV4QWxpZ24ubHQtc21dLCBbZnhGbGV4QWxpZ24ubHQtbWRdLCAgW2Z4RmxleEFsaWduLmx0LWxnXSwgW2Z4RmxleEFsaWduLmx0LXhsXSwgW2Z4RmxleEFsaWduLmd0LXhzXSwgW2Z4RmxleEFsaWduLmd0LXNtXSwgIFtmeEZsZXhBbGlnbi5ndC1tZF0sIFtmeEZsZXhBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4RmxleEFsaWduIiwiZnhGbGV4QWxpZ24ueHMiLCJmeEZsZXhBbGlnbi5zbSIsImZ4RmxleEFsaWduLm1kIiwiZnhGbGV4QWxpZ24ubGciLCJmeEZsZXhBbGlnbi54bCIsImZ4RmxleEFsaWduLmx0LXNtIiwiZnhGbGV4QWxpZ24ubHQtbWQiLCJmeEZsZXhBbGlnbi5sdC1sZyIsImZ4RmxleEFsaWduLmx0LXhsIiwiZnhGbGV4QWxpZ24uZ3QteHMiLCJmeEZsZXhBbGlnbi5ndC1zbSIsImZ4RmxleEFsaWduLmd0LW1kIiwiZnhGbGV4QWxpZ24uZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRGbGV4RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeEZsZXhdLCBbZnhGbGV4LnhzXSwgW2Z4RmxleC5zbV0sIFtmeEZsZXgubWRdLCAgW2Z4RmxleC5sZ10sIFtmeEZsZXgueGxdLCBbZnhGbGV4Lmx0LXNtXSwgW2Z4RmxleC5sdC1tZF0sICBbZnhGbGV4Lmx0LWxnXSwgW2Z4RmxleC5sdC14bF0sIFtmeEZsZXguZ3QteHNdLCBbZnhGbGV4Lmd0LXNtXSwgIFtmeEZsZXguZ3QtbWRdLCBbZnhGbGV4Lmd0LWxnXSIsaW5wdXRzOlsiZnhGbGV4IiwiZnhGbGV4LnhzIiwiZnhGbGV4LnNtIiwiZnhGbGV4Lm1kIiwiZnhGbGV4LmxnIiwiZnhGbGV4LnhsIiwiZnhGbGV4Lmx0LXNtIiwiZnhGbGV4Lmx0LW1kIiwiZnhGbGV4Lmx0LWxnIiwiZnhGbGV4Lmx0LXhsIiwiZnhGbGV4Lmd0LXhzIiwiZnhGbGV4Lmd0LXNtIiwiZnhGbGV4Lmd0LW1kIiwiZnhGbGV4Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTnVtYmVyVmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbmdNb2RlbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5SZXF1aXJlZFZhbGlkYXRvcixzZWxlY3RvcjoiOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbE5hbWVdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bbmdNb2RlbF0iLGlucHV0czpbInJlcXVpcmVkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1BcnJheU5hbWUsc2VsZWN0b3I6Iltmb3JtQXJyYXlOYW1lXSIsaW5wdXRzOlsiZm9ybUFycmF5TmFtZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX10Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOk1hLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1nYXRld2F5LW9wYy1ycGMtcGFyYW1ldGVycyIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9Pk1hKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5NYSkpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILERdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0icnBjUGFyYW1ldGVyc0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwgdGItZmxleCBuby1wYWRkaW5nLXRvcCBoaW50LWNvbnRhaW5lciI+XG4gICAge3sgXCdnYXRld2F5LnJwYy5oaW50Lm9wYy1tZXRob2RcJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2Rpdj5cbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiIHBsYWNlaG9sZGVyPSJtdWx0aXBseSIvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8ZmllbGRzZXQgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCBhcmd1bWVudHMtY29udGFpbmVyIiBmeExheW91dD0iY29sdW1uIiBmb3JtQXJyYXlOYW1lPSJhcmd1bWVudHMiPlxuICAgIDxzdHJvbmc+XG4gICAgICA8c3BhbiBjbGFzcz0iZmllbGRzLWxhYmVsIj57eyBcJ2dhdGV3YXkucnBjLmFyZ3VtZW50c1wnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgIDwvc3Ryb25nPlxuICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgKm5nRm9yPSJsZXQgYXJndW1lbnRGb3JtR3JvdXAgb2YgcnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCdhcmd1bWVudHNcJylbXCdjb250cm9sc1wnXTsgbGV0IGkgPSBpbmRleCIgW2Zvcm1Hcm91cF09ImFyZ3VtZW50Rm9ybUdyb3VwIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyB0eXBlLWNvbnRhaW5lciIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudHlwZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBmaWxsLXdpZHRoIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgICAgPG1hdC1zZWxlY3QtdHJpZ2dlcj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGFsaWduLWNlbnRlciI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0xOCIgW3N2Z0ljb25dPSJ2YWx1ZVR5cGVzLmdldChhcmd1bWVudEZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8uaWNvbiI+XG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgdmFsdWVUeXBlcy5nZXQoYXJndW1lbnRGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSk/Lm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB2YWx1ZVR5cGUgb2YgdmFsdWVUeXBlS2V5cyIgW3ZhbHVlXT0idmFsdWVUeXBlIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0yMCIgc3ZnSWNvbj0ie3sgdmFsdWVUeXBlcy5nZXQodmFsdWVUeXBlKS5pY29uIH19Ij5cbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7IHZhbHVlVHlwZXMuZ2V0KHZhbHVlVHlwZSkubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMgdmFsdWUtY29udGFpbmVyIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS52YWx1ZTwvZGl2PlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4IGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyIgY2xhc3M9InRiLWlubGluZS1maWVsZCBmbGV4IHRiLXN1ZmZpeC1hYnNvbHV0ZSI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJhcmd1bWVudEZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlIj5cbiAgICAgICAgICAgIDxpbnB1dCAqbmdTd2l0Y2hDYXNlPSJNYXBwaW5nVmFsdWVUeXBlLlNUUklORyIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJzdHJpbmciXG4gICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIgLz5cbiAgICAgICAgICAgIDxpbnB1dCAqbmdTd2l0Y2hDYXNlPSJNYXBwaW5nVmFsdWVUeXBlLklOVEVHRVIiIG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0iaW50ZWdlciIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iIC8+XG4gICAgICAgICAgICA8aW5wdXQgKm5nU3dpdGNoQ2FzZT0iTWFwcGluZ1ZhbHVlVHlwZS5ET1VCTEUiIG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0iZG91YmxlIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIgLz5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuQk9PTEVBTiIgZm9ybUNvbnRyb2xOYW1lPSJib29sZWFuIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT0idHJ1ZSI+dHJ1ZTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT0iZmFsc2UiPmZhbHNlPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudmFsdWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJhcmd1bWVudEZvcm1Hcm91cC5nZXQoYXJndW1lbnRGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSkuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgYXJndW1lbnRGb3JtR3JvdXAuZ2V0KGFyZ3VtZW50Rm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0icmVtb3ZlQXJndW1lbnQoaSkiXG4gICAgICAgICAgICAgIGNsYXNzPSJ0Yi1ib3gtYnV0dG9uIlxuICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkucnBjLnJlbW92ZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICBmeEZsZXhBbGlnbj0ic3RhcnQiXG4gICAgICAgICAgICAoY2xpY2spPSJhZGRBcmd1bWVudCgpIj5cbiAgICAgIHt7IFwnZ2F0ZXdheS5ycGMuYWRkLWFyZ3VtZW50XCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9maWVsZHNldD5cbjwvbmctY29udGFpbmVyPlxuXG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLmFyZ3VtZW50cy1jb250YWluZXJ7bWFyZ2luLWJvdHRvbToxMHB4fTpob3N0IC50eXBlLWNvbnRhaW5lcnt3aWR0aDo0MCV9Omhvc3QgLnZhbHVlLWNvbnRhaW5lcnt3aWR0aDo1MCV9Omhvc3QgLmhpbnQtY29udGFpbmVye21hcmdpbi1ib3R0b206MTJweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTp0LkNoYW5nZURldGVjdG9yUmVmfV19KTtjbGFzcyBFYXtjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy5vbkNoYW5nZT1lPT57fSx0aGlzLm9uVG91Y2hlZD0oKT0+e30sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe21ldGhvZEZpbHRlcjpbbnVsbCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxyZXF1ZXN0VG9waWNFeHByZXNzaW9uOltudWxsLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHJlc3BvbnNlVG9waWNFeHByZXNzaW9uOlt7dmFsdWU6bnVsbCxkaXNhYmxlZDohMH0sW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVzcG9uc2VUaW1lb3V0Olt7dmFsdWU6bnVsbCxkaXNhYmxlZDohMH0sW3VlLm1pbigxMCksdWUucGF0dGVybihMdCldXSx2YWx1ZUV4cHJlc3Npb246W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sd2l0aFJlc3BvbnNlOlshMSxbXV19KSx0aGlzLm9ic2VydmVWYWx1ZUNoYW5nZXMoKSx0aGlzLm9ic2VydmVXaXRoUmVzcG9uc2UoKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMub25DaGFuZ2U9ZX1yZWdpc3Rlck9uVG91Y2hlZChlKXt0aGlzLm9uVG91Y2hlZD1lfXZhbGlkYXRlKCl7cmV0dXJuIHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC52YWxpZD9udWxsOntycGNQYXJhbWV0ZXJzRm9ybUdyb3VwOnt2YWxpZDohMX19fXdyaXRlVmFsdWUoZSl7dGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLnBhdGNoVmFsdWUoZSx7ZW1pdEV2ZW50OiExfSksdGhpcy50b2dnbGVSZXNwb25zZUZpZWxkcyhlLndpdGhSZXNwb25zZSl9b2JzZXJ2ZVZhbHVlQ2hhbmdlcygpe3RoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpfW9ic2VydmVXaXRoUmVzcG9uc2UoKXt0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJ3aXRoUmVzcG9uc2UiKS52YWx1ZUNoYW5nZXMucGlwZShFZSgoZT0+dGhpcy50b2dnbGVSZXNwb25zZUZpZWxkcyhlKSkpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKX10b2dnbGVSZXNwb25zZUZpZWxkcyhlKXtjb25zdCB0PXRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoInJlc3BvbnNlVG9waWNFeHByZXNzaW9uIiksbj10aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJyZXNwb25zZVRpbWVvdXQiKTtlPyh0LmVuYWJsZSgpLG4uZW5hYmxlKCkpOih0LmRpc2FibGUoKSxuLmRpc2FibGUoKSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpFYSxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOkVhLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItZ2F0ZXdheS1tcXR0LXJwYy1wYXJhbWV0ZXJzIixwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5FYSkpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+RWEpKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPSJycGNQYXJhbWV0ZXJzRm9ybUdyb3VwIj5cbiAgPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5tZXRob2QtbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIlxuICAgICAgICAgICBwbGFjZWhvbGRlcj0iZWNobyIvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlcXVlc3RUb3BpY0V4cHJlc3Npb25cJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RUb3BpY0V4cHJlc3Npb24iXG4gICAgICAgICAgIHBsYWNlaG9sZGVyPSJzZW5zb3IvJHtkZXZpY2VOYW1lfS9yZXF1ZXN0LyR7bWV0aG9kTmFtZX0vJHtyZXF1ZXN0SWR9Ii8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXJnaW4iIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSIgZm9ybUNvbnRyb2xOYW1lPSJ3aXRoUmVzcG9uc2UiPlxuICAgIHt7IFwnZ2F0ZXdheS5ycGMud2l0aFJlc3BvbnNlXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9InJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwnd2l0aFJlc3BvbnNlXCcpPy52YWx1ZSI+XG4gICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlc3BvbnNlVG9waWNFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRvcGljRXhwcmVzc2lvbiJcbiAgICAgICAgICAgcGxhY2Vob2xkZXI9InNlbnNvci8ke2RldmljZU5hbWV9L3Jlc3BvbnNlLyR7bWV0aG9kTmFtZX0vJHtyZXF1ZXN0SWR9Ii8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtZm9ybS1maWVsZCAqbmdJZj0icnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCd3aXRoUmVzcG9uc2VcJyk/LnZhbHVlIj5cbiAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMucmVzcG9uc2VUaW1lb3V0XCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRpbWVvdXQiIHR5cGU9Im51bWJlciJcbiAgICAgICAgICAgcGxhY2Vob2xkZXI9IjEwMDAwIiBtaW49IjEwIiBzdGVwPSIxIi8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iXG4gICAgICAgICAgIHBsYWNlaG9sZGVyPSIke3BhcmFtc30iLz5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvbmctY29udGFpbmVyPlxuXG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn06aG9zdCAubWF0LW1kYy1zbGlkZS10b2dnbGUubWFyZ2lue21hcmdpbi1ib3R0b206MTBweDttYXJnaW4tbGVmdDoxMHB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTnVtYmVyVmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbmdNb2RlbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5NaW5WYWxpZGF0b3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW25nTW9kZWxdIixpbnB1dHM6WyJtaW4iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV0sY2hhbmdlRGV0ZWN0aW9uOnQuQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNofSl9fXQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6RWEsZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktbXF0dC1ycGMtcGFyYW1ldGVycyIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PkVhKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5FYSkpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILERdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0icnBjUGFyYW1ldGVyc0Zvcm1Hcm91cCI+XG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMubWV0aG9kLW5hbWVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZEZpbHRlciJcbiAgICAgICAgICAgcGxhY2Vob2xkZXI9ImVjaG8iLz5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXF1ZXN0VG9waWNFeHByZXNzaW9uXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0VG9waWNFeHByZXNzaW9uIlxuICAgICAgICAgICBwbGFjZWhvbGRlcj0ic2Vuc29yLyR7ZGV2aWNlTmFtZX0vcmVxdWVzdC8ke21ldGhvZE5hbWV9LyR7cmVxdWVzdElkfSIvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWFyZ2luIiAoY2xpY2spPSIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkiIGZvcm1Db250cm9sTmFtZT0id2l0aFJlc3BvbnNlIj5cbiAgICB7eyBcJ2dhdGV3YXkucnBjLndpdGhSZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPSJycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ3dpdGhSZXNwb25zZVwnKT8udmFsdWUiPlxuICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5yZXNwb25zZVRvcGljRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUb3BpY0V4cHJlc3Npb24iXG4gICAgICAgICAgIHBsYWNlaG9sZGVyPSJzZW5zb3IvJHtkZXZpY2VOYW1lfS9yZXNwb25zZS8ke21ldGhvZE5hbWV9LyR7cmVxdWVzdElkfSIvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9InJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwnd2l0aFJlc3BvbnNlXCcpPy52YWx1ZSI+XG4gICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnJlc3BvbnNlVGltZW91dFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUaW1lb3V0IiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgIHBsYWNlaG9sZGVyPSIxMDAwMCIgbWluPSIxMCIgc3RlcD0iMSIvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnZhbHVlRXhwcmVzc2lvblwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIlxuICAgICAgICAgICBwbGFjZWhvbGRlcj0iJHtwYXJhbXN9Ii8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG48L25nLWNvbnRhaW5lcj5cblxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Omhvc3QgLm1hdC1tZGMtc2xpZGUtdG9nZ2xlLm1hcmdpbnttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLWxlZnQ6MTBweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfV19KTtjbGFzcyBxYXtjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy5Nb2RidXNFZGl0YWJsZURhdGFUeXBlcz10YSx0aGlzLk1vZGJ1c0Z1bmN0aW9uQ29kZVRyYW5zbGF0aW9uc01hcD16dCx0aGlzLm1vZGJ1c0RhdGFUeXBlcz1PYmplY3QudmFsdWVzKGVhKSx0aGlzLndyaXRlRnVuY3Rpb25Db2Rlcz1bNSw2LDE1LDE2XSx0aGlzLmRlZmF1bHRGdW5jdGlvbkNvZGVzPVszLDQsNiwxNl0sdGhpcy5yZWFkRnVuY3Rpb25Db2Rlcz1bMSwyLDMsNF0sdGhpcy5iaXRzRnVuY3Rpb25Db2Rlcz1bLi4udGhpcy5yZWFkRnVuY3Rpb25Db2RlcywuLi50aGlzLndyaXRlRnVuY3Rpb25Db2Rlc10sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe3R5cGU6W2VhLkJZVEVTLFt1ZS5yZXF1aXJlZF1dLGZ1bmN0aW9uQ29kZTpbdGhpcy5kZWZhdWx0RnVuY3Rpb25Db2Rlc1swXSxbdWUucmVxdWlyZWRdXSx2YWx1ZTpbe3ZhbHVlOiIiLGRpc2FibGVkOiEwfSxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxhZGRyZXNzOltudWxsLFt1ZS5yZXF1aXJlZF1dLG9iamVjdHNDb3VudDpbMSxbdWUucmVxdWlyZWRdXX0pLHRoaXMudXBkYXRlRnVuY3Rpb25Db2Rlcyh0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWUpLHRoaXMub2JzZXJ2ZVZhbHVlQ2hhbmdlcygpLHRoaXMub2JzZXJ2ZUtleURhdGFUeXBlKCksdGhpcy5vYnNlcnZlRnVuY3Rpb25Db2RlKCl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLm9uQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7dGhpcy5vblRvdWNoZWQ9ZX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAudmFsaWQ/bnVsbDp7cnBjUGFyYW1ldGVyc0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fX13cml0ZVZhbHVlKGUpe3RoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5wYXRjaFZhbHVlKGUse2VtaXRFdmVudDohMX0pfW9ic2VydmVWYWx1ZUNoYW5nZXMoKXt0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMub25DaGFuZ2UoZSksdGhpcy5vblRvdWNoZWQoKX0pKX1vYnNlcnZlS2V5RGF0YVR5cGUoKXt0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMuTW9kYnVzRWRpdGFibGVEYXRhVHlwZXMuaW5jbHVkZXMoZSl8fHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoIm9iamVjdHNDb3VudCIpLnBhdGNoVmFsdWUobmFbZV0se2VtaXRFdmVudDohMX0pLHRoaXMudXBkYXRlRnVuY3Rpb25Db2RlcyhlKX0pKX1vYnNlcnZlRnVuY3Rpb25Db2RlKCl7dGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldCgiZnVuY3Rpb25Db2RlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+dGhpcy51cGRhdGVWYWx1ZUVuYWJsaW5nKGUpKSl9dXBkYXRlVmFsdWVFbmFibGluZyhlKXt0aGlzLndyaXRlRnVuY3Rpb25Db2Rlcy5pbmNsdWRlcyhlKT90aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJ2YWx1ZSIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSk6KHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoInZhbHVlIikuc2V0VmFsdWUobnVsbCksdGhpcy5ycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldCgidmFsdWUiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSl9dXBkYXRlRnVuY3Rpb25Db2RlcyhlKXt0aGlzLmZ1bmN0aW9uQ29kZXM9ZT09PWVhLkJJVFM/dGhpcy5iaXRzRnVuY3Rpb25Db2Rlczp0aGlzLmRlZmF1bHRGdW5jdGlvbkNvZGVzLHRoaXMuZnVuY3Rpb25Db2Rlcy5pbmNsdWRlcyh0aGlzLnJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KCJmdW5jdGlvbkNvZGUiKS52YWx1ZSl8fHRoaXMucnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoImZ1bmN0aW9uQ29kZSIpLnBhdGNoVmFsdWUodGhpcy5mdW5jdGlvbkNvZGVzWzBdLHtlbWl0RXZlbnQ6ITF9KX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnFhLGRlcHM6W3t0b2tlbjptZS5Gb3JtQnVpbGRlcn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6cWEsaXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LW1vZGJ1cy1ycGMtcGFyYW1ldGVycyIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+cWEpKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PnFhKSksbXVsdGk6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0icnBjUGFyYW1ldGVyc0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwgdGItZmxleCBuby1wYWRkaW5nLXRvcCBoaW50LWNvbnRhaW5lciI+XG4gICAge3sgXCdnYXRld2F5LnJwYy5oaW50Lm1vZGJ1cy1yZXNwb25zZS1yZWFkaW5nXCcgfCB0cmFuc2xhdGUgfX08YnI+XG4gICAge3sgXCdnYXRld2F5LnJwYy5oaW50Lm1vZGJ1cy13cml0aW5nLWZ1bmN0aW9uc1wnIHwgdHJhbnNsYXRlIH19XG4gIDwvZGl2PlxuICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBtb2RidXNEYXRhVHlwZXMiIFt2YWx1ZV09InR5cGUiPnt7IHR5cGUgfX08L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCIgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuZnVuY3Rpb25Db2RlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZnVuY3Rpb25Db2RlIj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgY29kZSBvZiBmdW5jdGlvbkNvZGVzIiBbdmFsdWVdPSJjb2RlIj57eyBNb2RidXNGdW5jdGlvbkNvZGVUcmFuc2xhdGlvbnNNYXAuZ2V0KGNvZGUpIHwgdHJhbnNsYXRlfX08L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9kaXY+XG4gIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0R2FwPSIxMHB4Ij5cbiAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PSI1MCI+XG4gICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMuYWRkcmVzc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG1heD0iNTAwMDAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImFkZHJlc3MiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuYWRkcmVzcy1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAqbmdJZj0icnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCdhZGRyZXNzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ2FkZHJlc3NcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICB3YXJuaW5nXG4gICAgICA8L21hdC1pY29uPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLm9iamVjdHNDb3VudFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXRcbiAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgdHlwZT0ibnVtYmVyIlxuICAgICAgICBtaW49IjEiXG4gICAgICAgIG1heD0iNTAwMDAiXG4gICAgICAgIG5hbWU9InZhbHVlIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9Im9iamVjdHNDb3VudCJcbiAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgW3JlYWRvbmx5XT0iIU1vZGJ1c0VkaXRhYmxlRGF0YVR5cGVzLmluY2x1ZGVzKHJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwndHlwZVwnKS52YWx1ZSkiXG4gICAgICAvPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPSJ3cml0ZUZ1bmN0aW9uQ29kZXMuaW5jbHVkZXMocnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCdmdW5jdGlvbkNvZGVcJykudmFsdWUpIiBmeEZsZXggZnhMYXlvdXQ9InJvdyI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iMTAwIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy52YWx1ZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmFsdWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudmFsdWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgKm5nSWY9InJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwndmFsdWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJiBycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ3ZhbHVlXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIlxuICAgICAgPlxuICAgICAgICB3YXJuaW5nXG4gICAgICA8L21hdC1pY29uPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCAuaGludC1jb250YWluZXJ7bWFyZ2luLWJvdHRvbToxMnB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdFN1ZmZpeCxzZWxlY3RvcjoiW21hdFN1ZmZpeF0sIFttYXRJY29uU3VmZml4XSwgW21hdFRleHRTdWZmaXhdIixpbnB1dHM6WyJtYXRUZXh0U3VmZml4Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpDZS5NYXRPcHRpb24sc2VsZWN0b3I6Im1hdC1vcHRpb24iLGlucHV0czpbInZhbHVlIiwiaWQiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJvblNlbGVjdGlvbkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0T3B0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6emUuTWF0VG9vbHRpcCxzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixpbnB1dHM6WyJtYXRUb29sdGlwUG9zaXRpb24iLCJtYXRUb29sdGlwUG9zaXRpb25BdE9yaWdpbiIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBTaG93RGVsYXkiLCJtYXRUb29sdGlwSGlkZURlbGF5IiwibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcENsYXNzIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRHYXBEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0R2FwXSwgW2Z4TGF5b3V0R2FwLnhzXSwgW2Z4TGF5b3V0R2FwLnNtXSwgW2Z4TGF5b3V0R2FwLm1kXSwgIFtmeExheW91dEdhcC5sZ10sIFtmeExheW91dEdhcC54bF0sIFtmeExheW91dEdhcC5sdC1zbV0sIFtmeExheW91dEdhcC5sdC1tZF0sICBbZnhMYXlvdXRHYXAubHQtbGddLCBbZnhMYXlvdXRHYXAubHQteGxdLCBbZnhMYXlvdXRHYXAuZ3QteHNdLCBbZnhMYXlvdXRHYXAuZ3Qtc21dLCAgW2Z4TGF5b3V0R2FwLmd0LW1kXSwgW2Z4TGF5b3V0R2FwLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRHYXAiLCJmeExheW91dEdhcC54cyIsImZ4TGF5b3V0R2FwLnNtIiwiZnhMYXlvdXRHYXAubWQiLCJmeExheW91dEdhcC5sZyIsImZ4TGF5b3V0R2FwLnhsIiwiZnhMYXlvdXRHYXAubHQtc20iLCJmeExheW91dEdhcC5sdC1tZCIsImZ4TGF5b3V0R2FwLmx0LWxnIiwiZnhMYXlvdXRHYXAubHQteGwiLCJmeExheW91dEdhcC5ndC14cyIsImZ4TGF5b3V0R2FwLmd0LXNtIiwiZnhMYXlvdXRHYXAuZ3QtbWQiLCJmeExheW91dEdhcC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OdW1iZXJWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVtuZ01vZGVsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1pblZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLGlucHV0czpbIm1pbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1heFZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21heF1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21heF1bbmdNb2RlbF0iLGlucHV0czpbIm1heCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19dC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpxYSxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItZ2F0ZXdheS1tb2RidXMtcnBjLXBhcmFtZXRlcnMiLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5xYSkpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+cWEpKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxEXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09InJwY1BhcmFtZXRlcnNGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggbm8tcGFkZGluZy10b3AgaGludC1jb250YWluZXIiPlxuICAgIHt7IFwnZ2F0ZXdheS5ycGMuaGludC5tb2RidXMtcmVzcG9uc2UtcmVhZGluZ1wnIHwgdHJhbnNsYXRlIH19PGJyPlxuICAgIHt7IFwnZ2F0ZXdheS5ycGMuaGludC5tb2RidXMtd3JpdGluZy1mdW5jdGlvbnNcJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2Rpdj5cbiAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRHYXA9IjEwcHgiPlxuICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjUwIiBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy50eXBlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2YgbW9kYnVzRGF0YVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj57eyB0eXBlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmZ1bmN0aW9uQ29kZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImZ1bmN0aW9uQ29kZSI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGNvZGUgb2YgZnVuY3Rpb25Db2RlcyIgW3ZhbHVlXT0iY29kZSI+e3sgTW9kYnVzRnVuY3Rpb25Db2RlVHJhbnNsYXRpb25zTWFwLmdldChjb2RlKSB8IHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuICA8ZGl2IGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD0iNTAiPlxuICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkucnBjLmFkZHJlc3NcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBtYXg9IjUwMDAwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJhZGRyZXNzIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmFkZHJlc3MtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgKm5nSWY9InJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwnYWRkcmVzc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCdhZGRyZXNzXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgd2FybmluZ1xuICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjUwIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnJwYy5vYmplY3RzQ291bnRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0XG4gICAgICAgIG1hdElucHV0XG4gICAgICAgIHR5cGU9Im51bWJlciJcbiAgICAgICAgbWluPSIxIlxuICAgICAgICBtYXg9IjUwMDAwIlxuICAgICAgICBuYW1lPSJ2YWx1ZSJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJvYmplY3RzQ291bnQiXG4gICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgIFtyZWFkb25seV09IiFNb2RidXNFZGl0YWJsZURhdGFUeXBlcy5pbmNsdWRlcyhycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUpIlxuICAgICAgLz5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj0id3JpdGVGdW5jdGlvbkNvZGVzLmluY2x1ZGVzKHJwY1BhcmFtZXRlcnNGb3JtR3JvdXAuZ2V0KFwnZnVuY3Rpb25Db2RlXCcpLnZhbHVlKSIgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciPlxuICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9IjEwMCI+XG4gICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5ycGMudmFsdWVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InZhbHVlIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnZhbHVlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICpuZ0lmPSJycGNQYXJhbWV0ZXJzRm9ybUdyb3VwLmdldChcJ3ZhbHVlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYgcnBjUGFyYW1ldGVyc0Zvcm1Hcm91cC5nZXQoXCd2YWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciJcbiAgICAgID5cbiAgICAgICAgd2FybmluZ1xuICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLmhpbnQtY29udGFpbmVye21hcmdpbi1ib3R0b206MTJweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfV19KTtjbGFzcyBEYXtjb25zdHJ1Y3RvcihlLHQsbixhLG8pe3RoaXMuZmI9ZSx0aGlzLmRpYWxvZz10LHRoaXMudXRpbHM9bix0aGlzLmNkPWEsdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlPW8sdGhpcy5jb250ZW50VHlwZXM9Ryx0aGlzLlJQQ0NvbW1hbmRzPVsiUGluZyIsIlN0YXRzIiwiRGV2aWNlcyIsIlVwZGF0ZSIsIlZlcnNpb24iLCJSZXN0YXJ0IiwiUmVib290Il0sdGhpcy50ZW1wbGF0ZXM9W10sdGhpcy5Db25uZWN0b3JUeXBlPV90LHRoaXMuZ2F0ZXdheUNvbm5lY3RvckRlZmF1bHRUeXBlc1RyYW5zbGF0ZXM9SHQsdGhpcy50eXBlc1dpdGhVcGRhdGVkUGFyYW1zPW5ldyBTZXQoW190Lk1RVFQsX3QuT1BDVUEsX3QuTU9EQlVTXSksdGhpcy5zdWJzY3JpcHRpb25PcHRpb25zPXtjYWxsYmFja3M6e29uRGF0YVVwZGF0ZWQ6KCk9PnRoaXMuY3R4Lm5nWm9uZS5ydW4oKCgpPT57dGhpcy51cGRhdGVUZW1wbGF0ZXMoKX0pKSxvbkRhdGFVcGRhdGVFcnJvcjooZSx0KT0+dGhpcy5jdHgubmdab25lLnJ1bigoKCk9Pnt0aGlzLm9uRGF0YVVwZGF0ZUVycm9yKHQpfSkpLGRhdGFMb2FkaW5nOigpPT57fX19LHRoaXMuY29tbWFuZEZvcm09dGhpcy5mYi5ncm91cCh7Y29tbWFuZDpbbnVsbCxbdWUucmVxdWlyZWRdXSx0aW1lOls2MCxbdWUucmVxdWlyZWQsdWUubWluKDEpXV0scGFyYW1zOlsie30iLFtJdF1dLHJlc3VsdDpbbnVsbF19KX1uZ09uSW5pdCgpe2lmKHRoaXMuaXNDb25uZWN0b3I9dGhpcy5jdHguc2V0dGluZ3MuaXNDb25uZWN0b3IsdGhpcy5pc0Nvbm5lY3Rvcil7dGhpcy5jb25uZWN0b3JUeXBlPXRoaXMuY3R4LnN0YXRlQ29udHJvbGxlci5nZXRTdGF0ZVBhcmFtcygpLmNvbm5lY3Rvcl9ycGMudmFsdWUudHlwZTtjb25zdCBlPVt7dHlwZTpGLmVudGl0eSxlbnRpdHlUeXBlOkkuREVWSUNFLGVudGl0eUlkOnRoaXMuY3R4LmRlZmF1bHRTdWJzY3JpcHRpb24udGFyZ2V0RGV2aWNlSWQsZW50aXR5TmFtZToiQ29ubmVjdG9yIixhdHRyaWJ1dGVzOlt7bmFtZTpgJHt0aGlzLmNvbm5lY3RvclR5cGV9X3RlbXBsYXRlYH1dfV07dGhpcy5jdHguc3Vic2NyaXB0aW9uQXBpLmNyZWF0ZVN1YnNjcmlwdGlvbkZyb21JbmZvKEEubGF0ZXN0LGUsdGhpcy5zdWJzY3JpcHRpb25PcHRpb25zLCExLCEwKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLnN1YnNjcmlwdGlvbj1lfSkpfWVsc2UgdGhpcy5jb21tYW5kRm9ybS5nZXQoImNvbW1hbmQiKS5zZXRWYWx1ZSh0aGlzLlJQQ0NvbW1hbmRzWzBdKX1zZW5kQ29tbWFuZChlKXt0aGlzLnJlc3VsdFRpbWU9bnVsbDtjb25zdCB0PWV8fHRoaXMuY29tbWFuZEZvcm0udmFsdWUsbj10aGlzLmlzQ29ubmVjdG9yP2Ake3RoaXMuY29ubmVjdG9yVHlwZX1fYDoiZ2F0ZXdheV8iLGE9dGhpcy5pc0Nvbm5lY3Rvcj90aGlzLmdldENvbW1hbmRGcm9tUGFyYW1zQnlUeXBlKHQucGFyYW1zKTp0LmNvbW1hbmQudG9Mb3dlckNhc2UoKSxvPXQucGFyYW1zO3RoaXMuY3R4LmNvbnRyb2xBcGkuc2VuZFR3b1dheUNvbW1hbmQobithLG8sdC50aW1lKS5zdWJzY3JpYmUoe25leHQ6ZT0+e3RoaXMucmVzdWx0VGltZT0obmV3IERhdGUpLmdldFRpbWUoKSx0aGlzLmNvbW1hbmRGb3JtLmdldCgicmVzdWx0Iikuc2V0VmFsdWUoSlNPTi5zdHJpbmdpZnkoZSkpfSxlcnJvcjplPT57dGhpcy5yZXN1bHRUaW1lPShuZXcgRGF0ZSkuZ2V0VGltZSgpLGNvbnNvbGUuZXJyb3IoZSksdGhpcy5jb21tYW5kRm9ybS5nZXQoInJlc3VsdCIpLnNldFZhbHVlKEpTT04uc3RyaW5naWZ5KGUuZXJyb3IpKX19KX1nZXRDb21tYW5kRnJvbVBhcmFtc0J5VHlwZShlKXtzd2l0Y2godGhpcy5jb25uZWN0b3JUeXBlKXtjYXNlIF90Lk1RVFQ6Y2FzZSBfdC5GVFA6Y2FzZSBfdC5TTk1QOmNhc2UgX3QuUkVTVDpjYXNlIF90LlJFUVVFU1Q6cmV0dXJuIGUubWV0aG9kRmlsdGVyO2Nhc2UgX3QuTU9EQlVTOnJldHVybiBlLnRhZztjYXNlIF90LkJBQ05FVDpjYXNlIF90LkNBTjpjYXNlIF90Lk9QQ1VBOnJldHVybiBlLm1ldGhvZDtjYXNlIF90LkJMRTpjYXNlIF90Lk9DUFA6Y2FzZSBfdC5TT0NLRVQ6Y2FzZSBfdC5YTVBQOnJldHVybiBlLm1ldGhvZFJQQztkZWZhdWx0OnJldHVybiBlLmNvbW1hbmR9fXNhdmVUZW1wbGF0ZSgpe3RoaXMuZGlhbG9nLm9wZW4oTmEse2Rpc2FibGVDbG9zZTohMCxwYW5lbENsYXNzOlsidGItZGlhbG9nIiwidGItZnVsbHNjcmVlbi1kaWFsb2ciXSxkYXRhOntjb25maWc6dGhpcy5jb21tYW5kRm9ybS52YWx1ZS5wYXJhbXMsdGVtcGxhdGVzOnRoaXMudGVtcGxhdGVzfX0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChlPT57aWYoZSl7Y29uc3QgdD17bmFtZTplLGNvbmZpZzp0aGlzLmNvbW1hbmRGb3JtLnZhbHVlLnBhcmFtc30sbj10aGlzLnRlbXBsYXRlcyxhPW4uZmluZEluZGV4KChlPT5lLm5hbWU9PXQubmFtZSkpO2E+LTEmJm4uc3BsaWNlKGEsMSksbi5wdXNoKHQpO2NvbnN0IG89YCR7dGhpcy5jb25uZWN0b3JUeXBlfV90ZW1wbGF0ZWA7dGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNhdmVFbnRpdHlBdHRyaWJ1dGVzKHtpZDp0aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLnRhcmdldERldmljZUlkLGVudGl0eVR5cGU6SS5ERVZJQ0V9LEwuU0VSVkVSX1NDT1BFLFt7a2V5Om8sdmFsdWU6bn1dKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCl9KSl9fSkpfXVzZVRlbXBsYXRlKGUpe3RoaXMuY29tbWFuZEZvcm0uZ2V0KCJwYXJhbXMiKS5wYXRjaFZhbHVlKGUuY29uZmlnKX11cGRhdGVUZW1wbGF0ZXMoKXt0aGlzLnRlbXBsYXRlcz10aGlzLnN1YnNjcmlwdGlvbi5kYXRhWzBdLmRhdGFbMF1bMV0ubGVuZ3RoP0pTT04ucGFyc2UodGhpcy5zdWJzY3JpcHRpb24uZGF0YVswXS5kYXRhWzBdWzFdKTpbXSx0aGlzLmNkLmRldGVjdENoYW5nZXMoKX1vbkRhdGFVcGRhdGVFcnJvcihlKXtjb25zdCB0PXRoaXMudXRpbHMucGFyc2VFeGNlcHRpb24oZSk7bGV0IG49dC5uYW1lO3QubWVzc2FnZSYmKG4rPSI6ICIrdC5tZXNzYWdlKSxjb25zb2xlLmVycm9yKG4pfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6RGEsZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfSx7dG9rZW46SmUuTWF0RGlhbG9nfSx7dG9rZW46WC5VdGlsc1NlcnZpY2V9LHt0b2tlbjp0LkNoYW5nZURldGVjdG9yUmVmfSx7dG9rZW46WC5BdHRyaWJ1dGVTZXJ2aWNlfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpEYSxzZWxlY3RvcjoidGItZ2F0ZXdheS1zZXJ2aWNlLXJwYyIsaW5wdXRzOntjdHg6ImN0eCIsZGlhbG9nUmVmOiJkaWFsb2dSZWYifSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBmeExheW91dD0iY29sdW1uIiBmeEZsZXggW25nQ2xhc3NdPSJ7XCdib3JkZXJcJzogaXNDb25uZWN0b3J9Ij5cbiAgPGRpdiBmeExheW91dD0icm93IiBmeExheW91dC5sdC1zbT0iY29sdW1uIiBjbGFzcz0iY29tbWFuZC1mb3JtIiBmeExheW91dEdhcD0iMTBweCIgW2Zvcm1Hcm91cF09ImNvbW1hbmRGb3JtIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPSIhaXNDb25uZWN0b3I7IGVsc2UgY29ubmVjdG9yRm9ybSI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY29tbWFuZFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iY29tbWFuZCI+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgY29tbWFuZCBvZiBSUENDb21tYW5kcyIgW3ZhbHVlXT0iY29tbWFuZCI+XG4gICAgICAgICAgICB7eyBjb21tYW5kIH19XG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy50aW1lb3V0LW1zXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idGltZSIgdHlwZT0ibnVtYmVyIiBtaW49IjEiLz5cbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZEZvcm0uZ2V0KFwndGltZVwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MudGltZW91dC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAoY2xpY2spPSJzZW5kQ29tbWFuZCgpIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJjb21tYW5kRm9ybS5pbnZhbGlkIj5cbiAgICAgICAge3sgXCdnYXRld2F5LnJwYy1jb21tYW5kLXNlbmRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNjb25uZWN0b3JGb3JtPlxuICAgICAgPHRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yXG4gICAgICAgICpuZ0lmPSIhdHlwZXNXaXRoVXBkYXRlZFBhcmFtcy5oYXMoY29ubmVjdG9yVHlwZSkgZWxzZSB1cGRhdGVkUGFyYW1ldGVycyJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJwYXJhbXMiXG4gICAgICAgIFtjb25uZWN0b3JUeXBlXT0iY29ubmVjdG9yVHlwZSJcbiAgICAgICAgKHNlbmRDb21tYW5kKT0ic2VuZENvbW1hbmQoKSJcbiAgICAgICAgKHNhdmVUZW1wbGF0ZSk9InNhdmVUZW1wbGF0ZSgpIlxuICAgICAgLz5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjdXBkYXRlZFBhcmFtZXRlcnM+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9ImNvbHVtbiIgY2xhc3M9InJwYy1wYXJhbWV0ZXJzIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXQtc3VidGl0bGUtMSB0Yi1mb3JtLXBhbmVsLXRpdGxlIj57eyBcJ2dhdGV3YXkucnBjLnRpdGxlXCcgfCB0cmFuc2xhdGU6IHt0eXBlOiBnYXRld2F5Q29ubmVjdG9yRGVmYXVsdFR5cGVzVHJhbnNsYXRlcy5nZXQoY29ubmVjdG9yVHlwZSl9IH19PC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJjb25uZWN0b3JUeXBlIj5cbiAgICAgICAgICAgIDx0Yi1nYXRld2F5LW1vZGJ1cy1ycGMtcGFyYW1ldGVycyAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk1PREJVUyIgZm9ybUNvbnRyb2xOYW1lPSJwYXJhbXMiLz5cbiAgICAgICAgICAgIDx0Yi1nYXRld2F5LW1xdHQtcnBjLXBhcmFtZXRlcnMgKm5nU3dpdGNoQ2FzZT0iQ29ubmVjdG9yVHlwZS5NUVRUIiBmb3JtQ29udHJvbE5hbWU9InBhcmFtcyIvPlxuICAgICAgICAgICAgPHRiLWdhdGV3YXktb3BjLXJwYy1wYXJhbWV0ZXJzICpuZ1N3aXRjaENhc2U9IkNvbm5lY3RvclR5cGUuT1BDVUEiIGZvcm1Db250cm9sTmFtZT0icGFyYW1zIi8+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGVtcGxhdGUtYWN0aW9ucyIgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiIGZ4TGF5b3V0R2FwPSIxMHB4Ij5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ic2F2ZVRlbXBsYXRlKCkiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09ImNvbW1hbmRGb3JtLmdldChcJ3BhcmFtc1wnKS5pbnZhbGlkIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJwYy1jb21tYW5kLXNhdmUtdGVtcGxhdGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJzZW5kQ29tbWFuZCgpIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJjb21tYW5kRm9ybS5nZXQoXCdwYXJhbXNcJykuaW52YWxpZCI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1zZW5kXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG4gIDxzZWN0aW9uIGNsYXNzPSJyZXN1bHQtYmxvY2siIFtmb3JtR3JvdXBdPSJjb21tYW5kRm9ybSI+XG4gICAgPHNwYW4+e3sgXCdnYXRld2F5LnJwYy1jb21tYW5kLXJlc3VsdFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8ZGl2ICpuZ0lmPSJyZXN1bHRUaW1lIiBjbGFzcz0icmVzdWx0LXRpbWUiIGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+c2NoZWR1bGU8L21hdC1pY29uPlxuICAgICAgICA8c3Bhbj57eyByZXN1bHRUaW1lIHwgZGF0ZTogXCd5eXl5L01NL2RkIEhIOm1tOnNzXCcgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NwYW4+XG4gICAgPHRiLWpzb24tY29udGVudCBbY29udGVudFR5cGVdPSJjb250ZW50VHlwZXMuSlNPTiIgcmVhZG9ubHk9InRydWUiIGZvcm1Db250cm9sTmFtZT0icmVzdWx0Ij48L3RiLWpzb24tY29udGVudD5cbiAgPC9zZWN0aW9uPlxuPC9kaXY+XG48dGItZ2F0ZXdheS1zZXJ2aWNlLXJwYy1jb25uZWN0b3ItdGVtcGxhdGVzIGZ4RmxleD0iMzAiICpuZ0lmPSJpc0Nvbm5lY3RvciIgY2xhc3M9ImJvcmRlciIgW3JwY1RlbXBsYXRlc109InRlbXBsYXRlcyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2N0eF09ImN0eCIgW2Nvbm5lY3RvclR5cGVdPSJjb25uZWN0b3JUeXBlIiAodXNlVGVtcGxhdGUpPSJ1c2VUZW1wbGF0ZSgkZXZlbnQpIj5cbjwvdGItZ2F0ZXdheS1zZXJ2aWNlLXJwYy1jb25uZWN0b3ItdGVtcGxhdGVzPlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6YXV0bztkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O3BhZGRpbmc6MCA1cHh9Omhvc3Q+KntoZWlnaHQ6MTAwJTtvdmVyZmxvdzphdXRvfTpob3N0PnRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yLXRlbXBsYXRlczpsYXN0LWNoaWxke21hcmdpbi1sZWZ0OjEwcHh9Omhvc3QgLmNvbW1hbmQtZm9ybXtmbGV4LXdyYXA6bm93cmFwO3BhZGRpbmc6MCA1cHggNXB4fTpob3N0IC5jb21tYW5kLWZvcm0+YnV0dG9ue21hcmdpbi10b3A6MTBweH06aG9zdCAucnBjLXBhcmFtZXRlcnN7d2lkdGg6MTAwJX06aG9zdCAucmVzdWx0LWJsb2Nre3BhZGRpbmc6MCA1cHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4OjF9Omhvc3QgLnJlc3VsdC1ibG9jaz5zcGFue2ZvbnQtd2VpZ2h0OjYwMDtwb3NpdGlvbjpyZWxhdGl2ZTtmb250LXNpemU6MTRweDttYXJnaW4tYm90dG9tOjEwcHh9Omhvc3QgLnJlc3VsdC1ibG9jaz5zcGFuIC5yZXN1bHQtdGltZXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MzJweDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjI1cHg7ei1pbmRleDo1O2NvbG9yOiMwMDAwMDA4YX06aG9zdCAucmVzdWx0LWJsb2NrPnNwYW4gLnJlc3VsdC10aW1lIHNwYW57cGFkZGluZy1sZWZ0OjEwcHh9Omhvc3QgLnJlc3VsdC1ibG9jayB0Yi1qc29uLWNvbnRlbnR7ZmxleDoxfTpob3N0IC5ib3JkZXJ7cGFkZGluZzoxNnB4O2JveC1zaGFkb3c6MCAwICMwMDAzLDAgMCAjMDAwMDAwMjQsMCAwICMwMDAwMDAxZjtib3JkZXI6c29saWQgMXB4ICNlMGUwZTA7Ym9yZGVyLXJhZGl1czo0cHh9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0NsYXNzLHNlbGVjdG9yOiJbbmdDbGFzc10iLGlucHV0czpbImNsYXNzIiwibmdDbGFzcyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoLHNlbGVjdG9yOiJbbmdTd2l0Y2hdIixpbnB1dHM6WyJuZ1N3aXRjaCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdTd2l0Y2hDYXNlLHNlbGVjdG9yOiJbbmdTd2l0Y2hDYXNlXSIsaW5wdXRzOlsibmdTd2l0Y2hDYXNlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6c3QuSnNvbkNvbnRlbnRDb21wb25lbnQsc2VsZWN0b3I6InRiLWpzb24tY29udGVudCIsaW5wdXRzOlsibGFiZWwiLCJjb250ZW50VHlwZSIsImRpc2FibGVkIiwiZmlsbEhlaWdodCIsImVkaXRvclN0eWxlIiwidGJQbGFjZWhvbGRlciIsImhpZGVUb29sYmFyIiwicmVhZG9ubHkiLCJ2YWxpZGF0ZUNvbnRlbnQiLCJ2YWxpZGF0ZU9uQ2hhbmdlIiwicmVxdWlyZWQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdEVycm9yLHNlbGVjdG9yOiJtYXQtZXJyb3IsIFttYXRFcnJvcl0iLGlucHV0czpbImlkIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpDZS5NYXRPcHRpb24sc2VsZWN0b3I6Im1hdC1vcHRpb24iLGlucHV0czpbInZhbHVlIiwiaWQiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJvblNlbGVjdGlvbkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0T3B0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRHYXBEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0R2FwXSwgW2Z4TGF5b3V0R2FwLnhzXSwgW2Z4TGF5b3V0R2FwLnNtXSwgW2Z4TGF5b3V0R2FwLm1kXSwgIFtmeExheW91dEdhcC5sZ10sIFtmeExheW91dEdhcC54bF0sIFtmeExheW91dEdhcC5sdC1zbV0sIFtmeExheW91dEdhcC5sdC1tZF0sICBbZnhMYXlvdXRHYXAubHQtbGddLCBbZnhMYXlvdXRHYXAubHQteGxdLCBbZnhMYXlvdXRHYXAuZ3QteHNdLCBbZnhMYXlvdXRHYXAuZ3Qtc21dLCAgW2Z4TGF5b3V0R2FwLmd0LW1kXSwgW2Z4TGF5b3V0R2FwLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRHYXAiLCJmeExheW91dEdhcC54cyIsImZ4TGF5b3V0R2FwLnNtIiwiZnhMYXlvdXRHYXAubWQiLCJmeExheW91dEdhcC5sZyIsImZ4TGF5b3V0R2FwLnhsIiwiZnhMYXlvdXRHYXAubHQtc20iLCJmeExheW91dEdhcC5sdC1tZCIsImZ4TGF5b3V0R2FwLmx0LWxnIiwiZnhMYXlvdXRHYXAubHQteGwiLCJmeExheW91dEdhcC5ndC14cyIsImZ4TGF5b3V0R2FwLmd0LXNtIiwiZnhMYXlvdXRHYXAuZ3QtbWQiLCJmeExheW91dEdhcC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRDbGFzc0RpcmVjdGl2ZSxzZWxlY3RvcjoiICBbbmdDbGFzc10sIFtuZ0NsYXNzLnhzXSwgW25nQ2xhc3Muc21dLCBbbmdDbGFzcy5tZF0sIFtuZ0NsYXNzLmxnXSwgW25nQ2xhc3MueGxdLCAgW25nQ2xhc3MubHQtc21dLCBbbmdDbGFzcy5sdC1tZF0sIFtuZ0NsYXNzLmx0LWxnXSwgW25nQ2xhc3MubHQteGxdLCAgW25nQ2xhc3MuZ3QteHNdLCBbbmdDbGFzcy5ndC1zbV0sIFtuZ0NsYXNzLmd0LW1kXSwgW25nQ2xhc3MuZ3QtbGddIixpbnB1dHM6WyJuZ0NsYXNzIiwibmdDbGFzcy54cyIsIm5nQ2xhc3Muc20iLCJuZ0NsYXNzLm1kIiwibmdDbGFzcy5sZyIsIm5nQ2xhc3MueGwiLCJuZ0NsYXNzLmx0LXNtIiwibmdDbGFzcy5sdC1tZCIsIm5nQ2xhc3MubHQtbGciLCJuZ0NsYXNzLmx0LXhsIiwibmdDbGFzcy5ndC14cyIsIm5nQ2xhc3MuZ3Qtc20iLCJuZ0NsYXNzLmd0LW1kIiwibmdDbGFzcy5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOk1hLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LW9wYy1ycGMtcGFyYW1ldGVycyJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6RWEsc2VsZWN0b3I6InRiLWdhdGV3YXktbXF0dC1ycGMtcGFyYW1ldGVycyJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6cWEsc2VsZWN0b3I6InRiLWdhdGV3YXktbW9kYnVzLXJwYy1wYXJhbWV0ZXJzIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpGYSxzZWxlY3RvcjoidGItZ2F0ZXdheS1zZXJ2aWNlLXJwYy1jb25uZWN0b3ItdGVtcGxhdGVzIixpbnB1dHM6WyJjb25uZWN0b3JUeXBlIiwiY3R4IiwicnBjVGVtcGxhdGVzIl0sb3V0cHV0czpbInNhdmVUZW1wbGF0ZSIsInVzZVRlbXBsYXRlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6QWEsc2VsZWN0b3I6InRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yIixpbnB1dHM6WyJjb25uZWN0b3JUeXBlIl0sb3V0cHV0czpbInNlbmRDb21tYW5kIiwic2F2ZVRlbXBsYXRlIl19LHtraW5kOiJwaXBlIix0eXBlOl8uRGF0ZVBpcGUsbmFtZToiZGF0ZSJ9LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV19KX19ZSgiR2F0ZXdheVNlcnZpY2VSUENDb21wb25lbnQiLERhKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkRhLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1nYXRld2F5LXNlcnZpY2UtcnBjIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgZnhMYXlvdXQ9ImNvbHVtbiIgZnhGbGV4IFtuZ0NsYXNzXT0ie1wnYm9yZGVyXCc6IGlzQ29ubmVjdG9yfSI+XG4gIDxkaXYgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXQubHQtc209ImNvbHVtbiIgY2xhc3M9ImNvbW1hbmQtZm9ybSIgZnhMYXlvdXRHYXA9IjEwcHgiIFtmb3JtR3JvdXBdPSJjb21tYW5kRm9ybSI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iIWlzQ29ubmVjdG9yOyBlbHNlIGNvbm5lY3RvckZvcm0iPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmRcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImNvbW1hbmQiPlxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGNvbW1hbmQgb2YgUlBDQ29tbWFuZHMiIFt2YWx1ZV09ImNvbW1hbmQiPlxuICAgICAgICAgICAge3sgY29tbWFuZCB9fVxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0YXRpc3RpY3MudGltZW91dC1tc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InRpbWUiIHR5cGU9Im51bWJlciIgbWluPSIxIi8+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbW1hbmRGb3JtLmdldChcJ3RpbWVcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnRpbWVvdXQtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgKGNsaWNrKT0ic2VuZENvbW1hbmQoKSJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iY29tbWFuZEZvcm0uaW52YWxpZCI+XG4gICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1zZW5kXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjY29ubmVjdG9yRm9ybT5cbiAgICAgIDx0Yi1nYXRld2F5LXNlcnZpY2UtcnBjLWNvbm5lY3RvclxuICAgICAgICAqbmdJZj0iIXR5cGVzV2l0aFVwZGF0ZWRQYXJhbXMuaGFzKGNvbm5lY3RvclR5cGUpIGVsc2UgdXBkYXRlZFBhcmFtZXRlcnMiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT0icGFyYW1zIlxuICAgICAgICBbY29ubmVjdG9yVHlwZV09ImNvbm5lY3RvclR5cGUiXG4gICAgICAgIChzZW5kQ29tbWFuZCk9InNlbmRDb21tYW5kKCkiXG4gICAgICAgIChzYXZlVGVtcGxhdGUpPSJzYXZlVGVtcGxhdGUoKSJcbiAgICAgIC8+XG4gICAgICA8bmctdGVtcGxhdGUgI3VwZGF0ZWRQYXJhbWV0ZXJzPlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iIGNsYXNzPSJycGMtcGFyYW1ldGVycyI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0ibWF0LXN1YnRpdGxlLTEgdGItZm9ybS1wYW5lbC10aXRsZSI+e3sgXCdnYXRld2F5LnJwYy50aXRsZVwnIHwgdHJhbnNsYXRlOiB7dHlwZTogZ2F0ZXdheUNvbm5lY3RvckRlZmF1bHRUeXBlc1RyYW5zbGF0ZXMuZ2V0KGNvbm5lY3RvclR5cGUpfSB9fTwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT0iY29ubmVjdG9yVHlwZSI+XG4gICAgICAgICAgICA8dGItZ2F0ZXdheS1tb2RidXMtcnBjLXBhcmFtZXRlcnMgKm5nU3dpdGNoQ2FzZT0iQ29ubmVjdG9yVHlwZS5NT0RCVVMiIGZvcm1Db250cm9sTmFtZT0icGFyYW1zIi8+XG4gICAgICAgICAgICA8dGItZ2F0ZXdheS1tcXR0LXJwYy1wYXJhbWV0ZXJzICpuZ1N3aXRjaENhc2U9IkNvbm5lY3RvclR5cGUuTVFUVCIgZm9ybUNvbnRyb2xOYW1lPSJwYXJhbXMiLz5cbiAgICAgICAgICAgIDx0Yi1nYXRld2F5LW9wYy1ycGMtcGFyYW1ldGVycyAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk9QQ1VBIiBmb3JtQ29udHJvbE5hbWU9InBhcmFtcyIvPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRlbXBsYXRlLWFjdGlvbnMiIGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJlbmQgY2VudGVyIiBmeExheW91dEdhcD0iMTBweCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9InNhdmVUZW1wbGF0ZSgpIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJjb21tYW5kRm9ybS5nZXQoXCdwYXJhbXNcJykuaW52YWxpZCI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1zYXZlLXRlbXBsYXRlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ic2VuZENvbW1hbmQoKSJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iY29tbWFuZEZvcm0uZ2V0KFwncGFyYW1zXCcpLmludmFsaWQiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucnBjLWNvbW1hbmQtc2VuZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuICA8c2VjdGlvbiBjbGFzcz0icmVzdWx0LWJsb2NrIiBbZm9ybUdyb3VwXT0iY29tbWFuZEZvcm0iPlxuICAgIDxzcGFuPnt7IFwnZ2F0ZXdheS5ycGMtY29tbWFuZC1yZXN1bHRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPGRpdiAqbmdJZj0icmVzdWx0VGltZSIgY2xhc3M9InJlc3VsdC10aW1lIiBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPnNjaGVkdWxlPC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4+e3sgcmVzdWx0VGltZSB8IGRhdGU6IFwneXl5eS9NTS9kZCBISDptbTpzc1wnIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9zcGFuPlxuICAgIDx0Yi1qc29uLWNvbnRlbnQgW2NvbnRlbnRUeXBlXT0iY29udGVudFR5cGVzLkpTT04iIHJlYWRvbmx5PSJ0cnVlIiBmb3JtQ29udHJvbE5hbWU9InJlc3VsdCI+PC90Yi1qc29uLWNvbnRlbnQ+XG4gIDwvc2VjdGlvbj5cbjwvZGl2PlxuPHRiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yLXRlbXBsYXRlcyBmeEZsZXg9IjMwIiAqbmdJZj0iaXNDb25uZWN0b3IiIGNsYXNzPSJib3JkZXIiIFtycGNUZW1wbGF0ZXNdPSJ0ZW1wbGF0ZXMiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjdHhdPSJjdHgiIFtjb25uZWN0b3JUeXBlXT0iY29ubmVjdG9yVHlwZSIgKHVzZVRlbXBsYXRlKT0idXNlVGVtcGxhdGUoJGV2ZW50KSI+XG48L3RiLWdhdGV3YXktc2VydmljZS1ycGMtY29ubmVjdG9yLXRlbXBsYXRlcz5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO292ZXJmbG93OmF1dG87ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztwYWRkaW5nOjAgNXB4fTpob3N0Pip7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6YXV0b306aG9zdD50Yi1nYXRld2F5LXNlcnZpY2UtcnBjLWNvbm5lY3Rvci10ZW1wbGF0ZXM6bGFzdC1jaGlsZHttYXJnaW4tbGVmdDoxMHB4fTpob3N0IC5jb21tYW5kLWZvcm17ZmxleC13cmFwOm5vd3JhcDtwYWRkaW5nOjAgNXB4IDVweH06aG9zdCAuY29tbWFuZC1mb3JtPmJ1dHRvbnttYXJnaW4tdG9wOjEwcHh9Omhvc3QgLnJwYy1wYXJhbWV0ZXJze3dpZHRoOjEwMCV9Omhvc3QgLnJlc3VsdC1ibG9ja3twYWRkaW5nOjAgNXB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleDoxfTpob3N0IC5yZXN1bHQtYmxvY2s+c3Bhbntmb250LXdlaWdodDo2MDA7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1zaXplOjE0cHg7bWFyZ2luLWJvdHRvbToxMHB4fTpob3N0IC5yZXN1bHQtYmxvY2s+c3BhbiAucmVzdWx0LXRpbWV7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjMycHg7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDoyNXB4O3otaW5kZXg6NTtjb2xvcjojMDAwMDAwOGF9Omhvc3QgLnJlc3VsdC1ibG9jaz5zcGFuIC5yZXN1bHQtdGltZSBzcGFue3BhZGRpbmctbGVmdDoxMHB4fTpob3N0IC5yZXN1bHQtYmxvY2sgdGItanNvbi1jb250ZW50e2ZsZXg6MX06aG9zdCAuYm9yZGVye3BhZGRpbmc6MTZweDtib3gtc2hhZG93OjAgMCAjMDAwMywwIDAgIzAwMDAwMDI0LDAgMCAjMDAwMDAwMWY7Ym9yZGVyOnNvbGlkIDFweCAjZTBlMGUwO2JvcmRlci1yYWRpdXM6NHB4fVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9LHt0eXBlOkplLk1hdERpYWxvZ30se3R5cGU6WC5VdGlsc1NlcnZpY2V9LHt0eXBlOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9LHt0eXBlOlguQXR0cmlidXRlU2VydmljZX1dLHByb3BEZWNvcmF0b3JzOntjdHg6W3t0eXBlOmF9XSxkaWFsb2dSZWY6W3t0eXBlOmF9XX19KTtjbGFzcyBQYSBleHRlbmRzIFB7Y29uc3RydWN0b3IoZSx0LG4sYSxvKXtzdXBlcihlLHQsYSksdGhpcy5zdG9yZT1lLHRoaXMucm91dGVyPXQsdGhpcy5kYXRhPW4sdGhpcy5kaWFsb2dSZWY9YSx0aGlzLmZiPW8sdGhpcy5nYXRld2F5TmFtZT10aGlzLmRhdGEuZ2F0ZXdheU5hbWUsdGhpcy5nYXRld2F5Q29udHJvbD10aGlzLmZiLmNvbnRyb2woIiIpfWNsb3NlKCl7dGhpcy5kaWFsb2dSZWYuY2xvc2UoKX10dXJuT2ZmKCl7dGhpcy5kaWFsb2dSZWYuY2xvc2UoITApfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6UGEsZGVwczpbe3Rva2VuOm90LlN0b3JlfSx7dG9rZW46aXQuUm91dGVyfSx7dG9rZW46WGV9LHt0b2tlbjpKZS5NYXREaWFsb2dSZWZ9LHt0b2tlbjptZS5Gb3JtQnVpbGRlcn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6UGEsc2VsZWN0b3I6InRiLWdhdGV3YXktcmVtb3RlLWNvbmZpZ3VyYXRpb24tZGlhbG9nIix1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdG9vbGJhciBjb2xvcj0id2FybiI+XG4gIDxtYXQtaWNvbj53YXJuaW5nPC9tYXQtaWNvbj5cbiAgPGgyIHRyYW5zbGF0ZT5nYXRld2F5LmNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1oZWFkZXI8L2gyPlxuICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgIChjbGljayk9ImNsb3NlKCkiXG4gICAgICAgICAgdHlwZT0iYnV0dG9uIj5cbiAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9tYXQtdG9vbGJhcj5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IHN0eWxlPSJtYXgtd2lkdGg6IDYwMHB4IiBjbGFzcz0ibWF0LWNvbnRlbnQiIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICA8c3BhbiBpbm5lckhUTUw9Int7IFwnZ2F0ZXdheS5jb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctYm9keVwnIHwgdHJhbnNsYXRlIH19IDxiPnt7IGdhdGV3YXlOYW1lIH19PC9iPiIgPjwvc3Bhbj5cbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2sgdGItdmFsdWUtdHlwZSIgc3R5bGU9ImZsZXgtZ3JvdzogMCI+XG4gICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5jb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaW5wdXQ8L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT0iZ2F0ZXdheUNvbnRyb2wiIHJlcXVpcmVkLz5cbiAgICA8bWF0LWVycm9yXG4gICAgICAqbmdJZj0iZ2F0ZXdheUNvbnRyb2wuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICB7eyBcJ2dhdGV3YXkuY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0id2FybiJcbiAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgKGNsaWNrKT0iY2xvc2UoKSI+XG4gICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG4gIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0id2FybiJcbiAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgW2Rpc2FibGVkXT0iZ2F0ZXdheUNvbnRyb2wudmFsdWUgIT09IGdhdGV3YXlOYW1lIlxuICAgICAgICAgIChjbGljayk9InR1cm5PZmYoKSI+XG4gICAge3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1jb25maXJtXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG48L2Rpdj5cbicsZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0RXJyb3Isc2VsZWN0b3I6Im1hdC1lcnJvciwgW21hdEVycm9yXSIsaW5wdXRzOlsiaWQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpKZS5NYXREaWFsb2dBY3Rpb25zLHNlbGVjdG9yOiJbbWF0LWRpYWxvZy1hY3Rpb25zXSwgbWF0LWRpYWxvZy1hY3Rpb25zLCBbbWF0RGlhbG9nQWN0aW9uc10iLGlucHV0czpbImFsaWduIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQ29udGVudCxzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5SZXF1aXJlZFZhbGlkYXRvcixzZWxlY3RvcjoiOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbE5hbWVdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bbmdNb2RlbF0iLGlucHV0czpbInJlcXVpcmVkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlkuVHJhbnNsYXRlRGlyZWN0aXZlLHNlbGVjdG9yOiJbdHJhbnNsYXRlXSxbbmd4LXRyYW5zbGF0ZV0iLGlucHV0czpbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZVBhcmFtcyJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn1dfSl9fXZhciBHYTtlKCJHYXRld2F5UmVtb3RlQ29uZmlndXJhdGlvbkRpYWxvZ0NvbXBvbmVudCIsUGEpLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6UGEsZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktcmVtb3RlLWNvbmZpZ3VyYXRpb24tZGlhbG9nIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdG9vbGJhciBjb2xvcj0id2FybiI+XG4gIDxtYXQtaWNvbj53YXJuaW5nPC9tYXQtaWNvbj5cbiAgPGgyIHRyYW5zbGF0ZT5nYXRld2F5LmNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1oZWFkZXI8L2gyPlxuICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgIChjbGljayk9ImNsb3NlKCkiXG4gICAgICAgICAgdHlwZT0iYnV0dG9uIj5cbiAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9tYXQtdG9vbGJhcj5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IHN0eWxlPSJtYXgtd2lkdGg6IDYwMHB4IiBjbGFzcz0ibWF0LWNvbnRlbnQiIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICA8c3BhbiBpbm5lckhUTUw9Int7IFwnZ2F0ZXdheS5jb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctYm9keVwnIHwgdHJhbnNsYXRlIH19IDxiPnt7IGdhdGV3YXlOYW1lIH19PC9iPiIgPjwvc3Bhbj5cbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJtYXQtYmxvY2sgdGItdmFsdWUtdHlwZSIgc3R5bGU9ImZsZXgtZ3JvdzogMCI+XG4gICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5jb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaW5wdXQ8L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT0iZ2F0ZXdheUNvbnRyb2wiIHJlcXVpcmVkLz5cbiAgICA8bWF0LWVycm9yXG4gICAgICAqbmdJZj0iZ2F0ZXdheUNvbnRyb2wuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICB7eyBcJ2dhdGV3YXkuY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0id2FybiJcbiAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgKGNsaWNrKT0iY2xvc2UoKSI+XG4gICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG4gIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0id2FybiJcbiAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgW2Rpc2FibGVkXT0iZ2F0ZXdheUNvbnRyb2wudmFsdWUgIT09IGdhdGV3YXlOYW1lIlxuICAgICAgICAgIChjbGljayk9InR1cm5PZmYoKSI+XG4gICAge3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1jb25maXJtXCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG48L2Rpdj5cbid9XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6b3QuU3RvcmV9LHt0eXBlOml0LlJvdXRlcn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOnAsYXJnczpbWGVdfV19LHt0eXBlOkplLk1hdERpYWxvZ1JlZn0se3R5cGU6bWUuRm9ybUJ1aWxkZXJ9XX0pLGZ1bmN0aW9uKGUpe2UudGxzPSJ0bHMiLGUuYWNjZXNzVG9rZW49ImFjY2Vzc1Rva2VuIn0oR2F8fChHYT17fSkpO2NvbnN0IE9hPSJjb25maWd1cmF0aW9uX2RyYWZ0cyIsUmE9IlJlbW90ZUxvZ2dpbmdMZXZlbCIsVmE9bmV3IE1hcChbW0dhLnRscywiZ2F0ZXdheS5zZWN1cml0eS10eXBlcy50bHMiXSxbR2EuYWNjZXNzVG9rZW4sImdhdGV3YXkuc2VjdXJpdHktdHlwZXMuYWNjZXNzLXRva2VuIl1dKTt2YXIgQmEsVWE7IWZ1bmN0aW9uKGUpe2Uubm9uZT0iTk9ORSIsZS5jcml0aWNhbD0iQ1JJVElDQUwiLGUuZXJyb3I9IkVSUk9SIixlLndhcm5pbmc9IldBUk5JTkciLGUuaW5mbz0iSU5GTyIsZS5kZWJ1Zz0iREVCVUcifShCYXx8KEJhPXt9KSksZnVuY3Rpb24oZSl7ZS5tZW1vcnk9Im1lbW9yeSIsZS5maWxlPSJmaWxlIn0oVWF8fChVYT17fSkpO2NvbnN0IF9hPW5ldyBNYXAoW1tVYS5tZW1vcnksImdhdGV3YXkuc3RvcmFnZS10eXBlcy5tZW1vcnktc3RvcmFnZSJdLFtVYS5maWxlLCJnYXRld2F5LnN0b3JhZ2UtdHlwZXMuZmlsZS1zdG9yYWdlIl1dKTt2YXIgSGE7IWZ1bmN0aW9uKGUpe2UubXF0dD0iTVFUVCIsZS5tb2RidXM9Ik1vZGJ1cyIsZS5vcGN1YT0iT1BDLVVBIixlLmJsZT0iQkxFIixlLnJlcXVlc3Q9IlJlcXVlc3QiLGUuY2FuPSJDQU4iLGUuYmFjbmV0PSJCQUNuZXQiLGUuY3VzdG9tPSJDdXN0b20ifShIYXx8KEhhPXt9KSk7Y29uc3QgemE9e2NvbmZpZzp7fSxuYW1lOiIiLGNvbmZpZ1R5cGU6bnVsbCxlbmFibGVkOiExfTtmdW5jdGlvbiBXYShlKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZS52YWx1ZSk9PT1KU09OLnN0cmluZ2lmeSh7fSk/e3ZhbGlkSlNPTjohMH06bnVsbH1jb25zdCBqYT0nW2xvZ2dlcnNdfX1rZXlzPXJvb3QsIHNlcnZpY2UsIGNvbm5lY3RvciwgY29udmVydGVyLCB0Yl9jb25uZWN0aW9uLCBzdG9yYWdlLCBleHRlbnNpb259fVtoYW5kbGVyc119fWtleXM9Y29uc29sZUhhbmRsZXIsIHNlcnZpY2VIYW5kbGVyLCBjb25uZWN0b3JIYW5kbGVyLCBjb252ZXJ0ZXJIYW5kbGVyLCB0Yl9jb25uZWN0aW9uSGFuZGxlciwgc3RvcmFnZUhhbmRsZXIsIGV4dGVuc2lvbkhhbmRsZXJ9fVtmb3JtYXR0ZXJzXX19a2V5cz1Mb2dGb3JtYXR0ZXJ9fVtsb2dnZXJfcm9vdF19fWxldmVsPUVSUk9SfX1oYW5kbGVycz1jb25zb2xlSGFuZGxlcn19W2xvZ2dlcl9jb25uZWN0b3JdfX1sZXZlbD17RVJST1J9fX1oYW5kbGVycz1jb25uZWN0b3JIYW5kbGVyfX1mb3JtYXR0ZXI9TG9nRm9ybWF0dGVyfX1xdWFsbmFtZT1jb25uZWN0b3J9fVtsb2dnZXJfc3RvcmFnZV19fWxldmVsPXtFUlJPUn19fWhhbmRsZXJzPXN0b3JhZ2VIYW5kbGVyfX1mb3JtYXR0ZXI9TG9nRm9ybWF0dGVyfX1xdWFsbmFtZT1zdG9yYWdlfX1bbG9nZ2VyX3RiX2Nvbm5lY3Rpb25dfX1sZXZlbD17RVJST1J9fX1oYW5kbGVycz10Yl9jb25uZWN0aW9uSGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19cXVhbG5hbWU9dGJfY29ubmVjdGlvbn19W2xvZ2dlcl9zZXJ2aWNlXX19bGV2ZWw9e0VSUk9SfX19aGFuZGxlcnM9c2VydmljZUhhbmRsZXJ9fWZvcm1hdHRlcj1Mb2dGb3JtYXR0ZXJ9fXF1YWxuYW1lPXNlcnZpY2V9fVtsb2dnZXJfY29udmVydGVyXX19bGV2ZWw9e0VSUk9SfX19aGFuZGxlcnM9Y29udmVydGVySGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19cXVhbG5hbWU9Y29udmVydGVyfX1bbG9nZ2VyX2V4dGVuc2lvbl19fWxldmVsPXtFUlJPUn19fWhhbmRsZXJzPWNvbm5lY3RvckhhbmRsZXJ9fWZvcm1hdHRlcj1Mb2dGb3JtYXR0ZXJ9fXF1YWxuYW1lPWV4dGVuc2lvbn19W2hhbmRsZXJfY29uc29sZUhhbmRsZXJdfX1jbGFzcz1TdHJlYW1IYW5kbGVyfX1sZXZlbD17RVJST1J9fX1mb3JtYXR0ZXI9TG9nRm9ybWF0dGVyfX1hcmdzPShzeXMuc3Rkb3V0LCl9fVtoYW5kbGVyX2Nvbm5lY3RvckhhbmRsZXJdfX1sZXZlbD17RVJST1J9fX1jbGFzcz1sb2dnaW5nLmhhbmRsZXJzLlRpbWVkUm90YXRpbmdGaWxlSGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19YXJncz0oInsuL2xvZ3MvfWNvbm5lY3Rvci5sb2ciLCAiZCIsIDEsIDcsKX19W2hhbmRsZXJfc3RvcmFnZUhhbmRsZXJdfX1sZXZlbD17RVJST1J9fX1jbGFzcz1sb2dnaW5nLmhhbmRsZXJzLlRpbWVkUm90YXRpbmdGaWxlSGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19YXJncz0oInsuL2xvZ3MvfXN0b3JhZ2UubG9nIiwgImQiLCAxLCA3LCl9fVtoYW5kbGVyX3NlcnZpY2VIYW5kbGVyXX19bGV2ZWw9e0VSUk9SfX19Y2xhc3M9bG9nZ2luZy5oYW5kbGVycy5UaW1lZFJvdGF0aW5nRmlsZUhhbmRsZXJ9fWZvcm1hdHRlcj1Mb2dGb3JtYXR0ZXJ9fWFyZ3M9KCJ7Li9sb2dzL31zZXJ2aWNlLmxvZyIsICJkIiwgMSwgNywpfX1baGFuZGxlcl9jb252ZXJ0ZXJIYW5kbGVyXX19bGV2ZWw9e0VSUk9SfX19Y2xhc3M9bG9nZ2luZy5oYW5kbGVycy5UaW1lZFJvdGF0aW5nRmlsZUhhbmRsZXJ9fWZvcm1hdHRlcj1Mb2dGb3JtYXR0ZXJ9fWFyZ3M9KCJ7Li9sb2dzL31jb252ZXJ0ZXIubG9nIiwgImQiLCAxLCAzLCl9fVtoYW5kbGVyX2V4dGVuc2lvbkhhbmRsZXJdfX1sZXZlbD17RVJST1J9fX1jbGFzcz1sb2dnaW5nLmhhbmRsZXJzLlRpbWVkUm90YXRpbmdGaWxlSGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19YXJncz0oInsuL2xvZ3MvfWV4dGVuc2lvbi5sb2ciLCAiZCIsIDEsIDMsKX19W2hhbmRsZXJfdGJfY29ubmVjdGlvbkhhbmRsZXJdfX1sZXZlbD17RVJST1J9fX1jbGFzcz1sb2dnaW5nLmhhbmRsZXJzLlRpbWVkUm90YXRpbmdGaWxlSGFuZGxlcn19Zm9ybWF0dGVyPUxvZ0Zvcm1hdHRlcn19YXJncz0oInsuL2xvZ3MvfXRiX2Nvbm5lY3Rpb24ubG9nIiwgImQiLCAxLCAzLCl9fVtmb3JtYXR0ZXJfTG9nRm9ybWF0dGVyXX19Zm9ybWF0PSIlKGFzY3RpbWUpcyAtICUobGV2ZWxuYW1lKXMgLSBbJShmaWxlbmFtZSlzXSAtICUobW9kdWxlKXMgLSAlKGxpbmVubylkIC0gJShtZXNzYWdlKXMiIH19ZGF0ZWZtdD0iJVktJW0tJWQgJUg6JU06JVMiJztmdW5jdGlvbiBLYShlKXtyZXR1cm4gZS5yZXBsYWNlKCJfIiwiIikucmVwbGFjZSgiLSIsIiIpLnJlcGxhY2UoL15ccyt8XHMrL2csIiIpLnRvTG93ZXJDYXNlKCkrIi5qc29uIn1mdW5jdGlvbiAkYShlLHQpe3JldHVybiBqYS5yZXBsYWNlKC97RVJST1J9L2csZSkucmVwbGFjZSgvey5cL2xvZ3NcL30vZyx0KX1mdW5jdGlvbiBZYShlKXtyZXR1cm57aWQ6ZSxlbnRpdHlUeXBlOkkuREVWSUNFfX1mdW5jdGlvbiBRYShlKXtjb25zdCB0PXt9O3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwidGhpbmdzYm9hcmQiKSYmKHQuaG9zdD1lLnRoaW5nc2JvYXJkLmhvc3QsdC5wb3J0PWUudGhpbmdzYm9hcmQucG9ydCx0LnJlbW90ZUNvbmZpZ3VyYXRpb249ZS50aGluZ3Nib2FyZC5yZW1vdGVDb25maWd1cmF0aW9uLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLnRoaW5nc2JvYXJkLnNlY3VyaXR5LEdhLmFjY2Vzc1Rva2VuKT8odC5zZWN1cml0eVR5cGU9R2EuYWNjZXNzVG9rZW4sdC5hY2Nlc3NUb2tlbj1lLnRoaW5nc2JvYXJkLnNlY3VyaXR5LmFjY2Vzc1Rva2VuKToodC5zZWN1cml0eVR5cGU9R2EudGxzLHQuY2FDZXJ0UGF0aD1lLnRoaW5nc2JvYXJkLnNlY3VyaXR5LmNhQ2VydCx0LnByaXZhdGVLZXlQYXRoPWUudGhpbmdzYm9hcmQuc2VjdXJpdHkucHJpdmF0ZUtleSx0LmNlcnRQYXRoPWUudGhpbmdzYm9hcmQuc2VjdXJpdHkuY2VydCkpLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCJzdG9yYWdlIikmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLnN0b3JhZ2UsInR5cGUiKSYmKGUuc3RvcmFnZS50eXBlPT09VWEubWVtb3J5Pyh0LnN0b3JhZ2VUeXBlPVVhLm1lbW9yeSx0LnJlYWRSZWNvcmRzQ291bnQ9ZS5zdG9yYWdlLnJlYWRfcmVjb3Jkc19jb3VudCx0Lm1heFJlY29yZHNDb3VudD1lLnN0b3JhZ2UubWF4X3JlY29yZHNfY291bnQpOmUuc3RvcmFnZS50eXBlPT09VWEuZmlsZSYmKHQuc3RvcmFnZVR5cGU9VWEuZmlsZSx0LmRhdGFGb2xkZXJQYXRoPWUuc3RvcmFnZS5kYXRhX2ZvbGRlcl9wYXRoLHQubWF4RmlsZXNDb3VudD1lLnN0b3JhZ2UubWF4X2ZpbGVfY291bnQsdC5yZWFkUmVjb3Jkc0NvdW50PWUuc3RvcmFnZS5yZWFkX3JlY29yZHNfY291bnQsdC5tYXhSZWNvcmRzQ291bnQ9ZS5zdG9yYWdlLm1heF9yZWNvcmRzX2NvdW50KSksdH1mdW5jdGlvbiBKYShlKXtjb25zdCB0PXt9O2Zvcihjb25zdCBuIG9mIGUpbi5lbmFibGVkfHwodFtuLm5hbWVdPXtjb25uZWN0b3I6bi5jb25maWdUeXBlLGNvbmZpZzpuLmNvbmZpZ30pO3JldHVybiB0fWZ1bmN0aW9uIFhhKGUpe2NvbnN0IHQ9e3RoaW5nc2JvYXJkOlphKGUpfTtyZXR1cm4gZnVuY3Rpb24oZSx0KXtmb3IoY29uc3QgbiBvZiB0KWlmKG4uZW5hYmxlZCl7Y29uc3QgdD1uLmNvbmZpZ1R5cGU7QXJyYXkuaXNBcnJheShlW3RdKXx8KGVbdF09W10pO2NvbnN0IGE9e25hbWU6bi5uYW1lLGNvbmZpZzpuLmNvbmZpZ307ZVt0XS5wdXNoKGEpfX0odCxlLmNvbm5lY3RvcnMpLHR9ZnVuY3Rpb24gWmEoZSl7bGV0IHQ7dD1lLnNlY3VyaXR5VHlwZT09PUdhLmFjY2Vzc1Rva2VuP3thY2Nlc3NUb2tlbjplLmFjY2Vzc1Rva2VufTp7Y2FDZXJ0OmUuY2FDZXJ0UGF0aCxwcml2YXRlS2V5OmUucHJpdmF0ZUtleVBhdGgsY2VydDplLmNlcnRQYXRofTtjb25zdCBuPXtob3N0OmUuaG9zdCxyZW1vdGVDb25maWd1cmF0aW9uOmUucmVtb3RlQ29uZmlndXJhdGlvbixwb3J0OmUucG9ydCxzZWN1cml0eTp0fTtsZXQgYTthPWUuc3RvcmFnZVR5cGU9PT1VYS5tZW1vcnk/e3R5cGU6VWEubWVtb3J5LHJlYWRfcmVjb3Jkc19jb3VudDplLnJlYWRSZWNvcmRzQ291bnQsbWF4X3JlY29yZHNfY291bnQ6ZS5tYXhSZWNvcmRzQ291bnR9Ont0eXBlOlVhLmZpbGUsZGF0YV9mb2xkZXJfcGF0aDplLmRhdGFGb2xkZXJQYXRoLG1heF9maWxlX2NvdW50OmUubWF4RmlsZXNDb3VudCxtYXhfcmVhZF9yZWNvcmRzX2NvdW50OmUucmVhZFJlY29yZHNDb3VudCxtYXhfcmVjb3Jkc19wZXJfZmlsZTplLm1heFJlY29yZHNDb3VudH07Y29uc3Qgbz1bXTtmb3IoY29uc3QgdCBvZiBlLmNvbm5lY3RvcnMpaWYodC5lbmFibGVkKXtjb25zdCBlPXtjb25maWd1cmF0aW9uOkthKHQubmFtZSksbmFtZTp0Lm5hbWUsdHlwZTp0LmNvbmZpZ1R5cGV9O28ucHVzaChlKX1yZXR1cm57dGhpbmdzYm9hcmQ6bixjb25uZWN0b3JzOm8sc3RvcmFnZTphLGxvZ3M6d2luZG93LmJ0b2EoJGEoZS5yZW1vdGVMb2dnaW5nTGV2ZWwsZS5yZW1vdGVMb2dnaW5nUGF0aFRvTG9ncykpfX1jbGFzcyBlbyBleHRlbmRzIE97Y29uc3RydWN0b3IoZSx0LG4sYSxvLGkscixzLGwsYyxwKXtzdXBlcihlKSx0aGlzLnN0b3JlPWUsdGhpcy5lbGVtZW50UmVmPXQsdGhpcy51dGlscz1uLHRoaXMubmdab25lPWEsdGhpcy5mYj1vLHRoaXMud2luZG93PWksdGhpcy5kaWFsb2c9cix0aGlzLnRyYW5zbGF0ZT1zLHRoaXMuZGV2aWNlU2VydmljZT1sLHRoaXMuYXR0cmlidXRlU2VydmljZT1jLHRoaXMuaW1wb3J0RXhwb3J0PXAsdGhpcy5hbGlnbm1lbnQ9InJvdyIsdGhpcy5sYXlvdXRHYXA9IjVweCIsdGhpcy5zZWN1cml0eVR5cGVzPVZhLHRoaXMuZ2F0ZXdheUxvZ0xldmVscz1PYmplY3Qua2V5cyhCYSkubWFwKChlPT5CYVtlXSkpLHRoaXMuY29ubmVjdG9yVHlwZXM9T2JqZWN0LmtleXMoSGEpLHRoaXMuc3RvcmFnZVR5cGVzPV9hLHRoaXMudG9hc3RUYXJnZXRJZD0iZ2F0ZXdheS1jb25maWd1cmF0aW9uLXdpZGdldCIrdGhpcy51dGlscy5ndWlkKCksdGhpcy5pc1JlYWRPbmx5Rm9ybT0hMX1nZXQgY29ubmVjdG9ycygpe3JldHVybiB0aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KCJjb25uZWN0b3JzIil9bmdPbkluaXQoKXt0aGlzLmluaXRXaWRnZXRTZXR0aW5ncyh0aGlzLmN0eC5zZXR0aW5ncyksdGhpcy5jdHguZGF0YXNvdXJjZXMmJnRoaXMuY3R4LmRhdGFzb3VyY2VzLmxlbmd0aCYmKHRoaXMuZGV2aWNlTmFtZUZvcm09dGhpcy5jdHguZGF0YXNvdXJjZXNbMF0ubmFtZSksdGhpcy5idWlsZEZvcm0oKSx0aGlzLmN0eC51cGRhdGVXaWRnZXRQYXJhbXMoKSx0aGlzLmZvcm1SZXNpemUkPW5ldyBSZXNpemVPYnNlcnZlcigoKCk9Pnt0aGlzLnJlc2l6ZSgpfSkpLHRoaXMuZm9ybVJlc2l6ZSQub2JzZXJ2ZSh0aGlzLmZvcm1Db250YWluZXJSZWYubmF0aXZlRWxlbWVudCl9bmdPbkRlc3Ryb3koKXt0aGlzLmZvcm1SZXNpemUkJiZ0aGlzLmZvcm1SZXNpemUkLmRpc2Nvbm5lY3QoKSx0aGlzLnN1YnNjcmliZUdhdGV3YXkkLnVuc3Vic2NyaWJlKCksdGhpcy5zdWJzY3JpYmVTdG9yYWdlVHlwZSQudW5zdWJzY3JpYmUoKX1pbml0V2lkZ2V0U2V0dGluZ3MoZSl7bGV0IHQ7dD1lLmdhdGV3YXlUaXRsZSYmZS5nYXRld2F5VGl0bGUubGVuZ3RoP3RoaXMudXRpbHMuY3VzdG9tVHJhbnNsYXRpb24oZS5nYXRld2F5VGl0bGUsZS5nYXRld2F5VGl0bGUpOnRoaXMudHJhbnNsYXRlLmluc3RhbnQoImdhdGV3YXkuZ2F0ZXdheSIpLHRoaXMuY3R4LndpZGdldFRpdGxlPXQsdGhpcy5pc1JlYWRPbmx5Rm9ybT0hIWUucmVhZE9ubHkmJmUucmVhZE9ubHksdGhpcy5hcmNoaXZlRmlsZU5hbWU9ZS5hcmNoaXZlRmlsZU5hbWU/Lmxlbmd0aD9lLmFyY2hpdmVGaWxlTmFtZToiZ2F0ZXdheUNvbmZpZ3VyYXRpb24iLHRoaXMuZ2F0ZXdheVR5cGU9ZS5nYXRld2F5VHlwZT8ubGVuZ3RoP2UuZ2F0ZXdheVR5cGU6IkdhdGV3YXkiLHRoaXMuZ2F0ZXdheU5hbWVFeGlzdHM9dGhpcy51dGlscy5jdXN0b21UcmFuc2xhdGlvbihlLmdhdGV3YXlOYW1lRXhpc3RzLGUuZ2F0ZXdheU5hbWVFeGlzdHMpfHx0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LmdhdGV3YXktZXhpc3RzIiksdGhpcy5zdWNjZXNzZnVsU2F2ZWQ9dGhpcy51dGlscy5jdXN0b21UcmFuc2xhdGlvbihlLnN1Y2Nlc3NmdWxTYXZlLGUuc3VjY2Vzc2Z1bFNhdmUpfHx0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LmdhdGV3YXktc2F2ZWQiKSx0aGlzLnVwZGF0ZVdpZGdldERpc3BsYXlpbmcoKX1yZXNpemUoKXt0aGlzLm5nWm9uZS5ydW4oKCgpPT57dGhpcy51cGRhdGVXaWRnZXREaXNwbGF5aW5nKCksdGhpcy5jdHguZGV0ZWN0Q2hhbmdlcygpfSkpfXVwZGF0ZVdpZGdldERpc3BsYXlpbmcoKXt0aGlzLmN0eC4kY29udGFpbmVyJiZ0aGlzLmN0eC4kY29udGFpbmVyWzBdLm9mZnNldFdpZHRoPD00MjU/KHRoaXMubGF5b3V0R2FwPSIwIix0aGlzLmFsaWdubWVudD0iY29sdW1uIik6KHRoaXMubGF5b3V0R2FwPSI1cHgiLHRoaXMuYWxpZ25tZW50PSJyb3ciKX1zYXZlQXR0cmlidXRlKGUsdCxuKXtjb25zdCBhPXRoaXMuZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoImdhdGV3YXkiKS52YWx1ZSxvPXtrZXk6ZSx2YWx1ZTp0fTtyZXR1cm4gdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNhdmVFbnRpdHlBdHRyaWJ1dGVzKFlhKGEpLG4sW29dKX1jcmVhdGVDb25uZWN0b3IoZT16YSl7dGhpcy5jb25uZWN0b3JzLnB1c2godGhpcy5mYi5ncm91cCh7ZW5hYmxlZDpbZS5lbmFibGVkXSxjb25maWdUeXBlOltlLmNvbmZpZ1R5cGUsW3VlLnJlcXVpcmVkXV0sbmFtZTpbZS5uYW1lLFt1ZS5yZXF1aXJlZF1dLGNvbmZpZzpbZS5jb25maWcsW3VlLm51bGxWYWxpZGF0b3IsV2FdXX0pKX1nZXRGb3JtRmllbGQoZSl7cmV0dXJuIHRoaXMuZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoZSl9YnVpbGRGb3JtKCl7dGhpcy5nYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwPXRoaXMuZmIuZ3JvdXAoe2dhdGV3YXk6W251bGwsW11dLGFjY2Vzc1Rva2VuOltudWxsLFt1ZS5yZXF1aXJlZF1dLHNlY3VyaXR5VHlwZTpbR2EuYWNjZXNzVG9rZW5dLGhvc3Q6W3RoaXMud2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLFt1ZS5yZXF1aXJlZF1dLHBvcnQ6WzE4ODMsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5tYXgoNjU1MzUpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLHJlbW90ZUNvbmZpZ3VyYXRpb246WyEwXSxjYUNlcnRQYXRoOlsiL2V0Yy90aGluZ3Nib2FyZC1nYXRld2F5L2NhLnBlbSJdLHByaXZhdGVLZXlQYXRoOlsiL2V0Yy90aGluZ3Nib2FyZC1nYXRld2F5L3ByaXZhdGVLZXkucGVtIl0sY2VydFBhdGg6WyIvZXRjL3RoaW5nc2JvYXJkLWdhdGV3YXkvY2VydGlmaWNhdGUucGVtIl0scmVtb3RlTG9nZ2luZ0xldmVsOltCYS5kZWJ1Z10scmVtb3RlTG9nZ2luZ1BhdGhUb0xvZ3M6WyIuL2xvZ3MvIixbdWUucmVxdWlyZWRdXSxzdG9yYWdlVHlwZTpbVWEubWVtb3J5XSxyZWFkUmVjb3Jkc0NvdW50OlsxMDAsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxtYXhSZWNvcmRzQ291bnQ6WzFlNCxbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLG1heEZpbGVzQ291bnQ6WzUsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxkYXRhRm9sZGVyUGF0aDpbIi4vZGF0YS8iLFt1ZS5yZXF1aXJlZF1dLGNvbm5lY3RvcnM6dGhpcy5mYi5hcnJheShbXSl9KSx0aGlzLmlzUmVhZE9ubHlGb3JtJiZ0aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5zdWJzY3JpYmVTdG9yYWdlVHlwZSQ9dGhpcy5nZXRGb3JtRmllbGQoInN0b3JhZ2VUeXBlIikudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoZT0+e2U9PT1VYS5tZW1vcnk/KHRoaXMuZ2V0Rm9ybUZpZWxkKCJtYXhGaWxlc0NvdW50IikuZGlzYWJsZSgpLHRoaXMuZ2V0Rm9ybUZpZWxkKCJkYXRhRm9sZGVyUGF0aCIpLmRpc2FibGUoKSk6KHRoaXMuZ2V0Rm9ybUZpZWxkKCJtYXhGaWxlc0NvdW50IikuZW5hYmxlKCksdGhpcy5nZXRGb3JtRmllbGQoImRhdGFGb2xkZXJQYXRoIikuZW5hYmxlKCkpfSkpLHRoaXMuc3Vic2NyaWJlR2F0ZXdheSQ9dGhpcy5nZXRGb3JtRmllbGQoImdhdGV3YXkiKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChlPT57bnVsbCE9PWU/QWUoW3RoaXMuZGV2aWNlU2VydmljZS5nZXREZXZpY2VDcmVkZW50aWFscyhlKS5waXBlKEVlKChlPT57dGhpcy5nZXRGb3JtRmllbGQoImFjY2Vzc1Rva2VuIikucGF0Y2hWYWx1ZShlLmNyZWRlbnRpYWxzSWQpfSkpKSwuLi50aGlzLmdldEF0dHJpYnV0ZXMoZSldKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5nYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLm1hcmtBc1ByaXN0aW5lKCksdGhpcy5jdHguZGV0ZWN0Q2hhbmdlcygpfSkpOnRoaXMuZ2V0Rm9ybUZpZWxkKCJhY2Nlc3NUb2tlbiIpLnBhdGNoVmFsdWUoIiIpfSkpfWdhdGV3YXlFeGlzdCgpe3RoaXMuY3R4LnNob3dFcnJvclRvYXN0KHRoaXMuZ2F0ZXdheU5hbWVFeGlzdHMsInRvcCIsImxlZnQiLHRoaXMudG9hc3RUYXJnZXRJZCl9ZXhwb3J0Q29uZmlnKCl7Y29uc3QgZT10aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAudmFsdWUsdD17fTt2YXIgbixhLG87dFsidGJfZ2F0ZXdheS55YW1sIl09ZnVuY3Rpb24oZSl7bGV0IHQ7dD0idGhpbmdzYm9hcmQ6XG4iLHQrPSIgIGhvc3Q6ICIrZS5ob3N0KyJcbiIsdCs9IiAgcmVtb3RlQ29uZmlndXJhdGlvbjogIitlLnJlbW90ZUNvbmZpZ3VyYXRpb24rIlxuIix0Kz0iICBwb3J0OiAiK2UucG9ydCsiXG4iLHQrPSIgIHNlY3VyaXR5OlxuIixlLnNlY3VyaXR5VHlwZT09PUdhLmFjY2Vzc1Rva2VuP3QrPSIgICAgYWNjZXNzLXRva2VuOiAiK2UuYWNjZXNzVG9rZW4rIlxuIjoodCs9IiAgICBjYV9jZXJ0OiAiK2UuY2FDZXJ0UGF0aCsiXG4iLHQrPSIgICAgcHJpdmF0ZUtleTogIitlLnByaXZhdGVLZXlQYXRoKyJcbiIsdCs9IiAgICBjZXJ0OiAiK2UuY2VydFBhdGgrIlxuIiksdCs9InN0b3JhZ2U6XG4iLGUuc3RvcmFnZVR5cGU9PT1VYS5tZW1vcnk/KHQrPSIgIHR5cGU6IG1lbW9yeVxuIix0Kz0iICByZWFkX3JlY29yZHNfY291bnQ6ICIrZS5yZWFkUmVjb3Jkc0NvdW50KyJcbiIsdCs9IiAgbWF4X3JlY29yZHNfY291bnQ6ICIrZS5tYXhSZWNvcmRzQ291bnQrIlxuIik6KHQrPSIgIHR5cGU6IGZpbGVcbiIsdCs9IiAgZGF0YV9mb2xkZXJfcGF0aDogIitlLmRhdGFGb2xkZXJQYXRoKyJcbiIsdCs9IiAgbWF4X2ZpbGVfY291bnQ6ICIrZS5tYXhGaWxlc0NvdW50KyJcbiIsdCs9IiAgbWF4X3JlYWRfcmVjb3Jkc19jb3VudDogIitlLnJlYWRSZWNvcmRzQ291bnQrIlxuIix0Kz0iICBtYXhfcmVjb3Jkc19wZXJfZmlsZTogIitlLm1heFJlY29yZHNDb3VudCsiXG4iKSx0Kz0iY29ubmVjdG9yczpcbiI7Zm9yKGNvbnN0IG4gb2YgZS5jb25uZWN0b3JzKW4uZW5hYmxlZCYmKHQrPSIgIC1cbiIsdCs9IiAgICBuYW1lOiAiK24ubmFtZSsiXG4iLHQrPSIgICAgdHlwZTogIituLmNvbmZpZ1R5cGUrIlxuIix0Kz0iICAgIGNvbmZpZ3VyYXRpb246ICIrS2Eobi5uYW1lKSsiXG4iKTtyZXR1cm4gdH0oZSksZnVuY3Rpb24oZSx0KXtmb3IoY29uc3QgbiBvZiB0KW4uZW5hYmxlZCYmKGVbS2Eobi5uYW1lKV09SlNPTi5zdHJpbmdpZnkobi5jb25maWcpKX0odCxlLmNvbm5lY3RvcnMpLG49dCxhPWUucmVtb3RlTG9nZ2luZ0xldmVsLG89ZS5yZW1vdGVMb2dnaW5nUGF0aFRvTG9ncyxuWyJsb2dzLmNvbmYiXT0kYShhLG8pLHRoaXMuaW1wb3J0RXhwb3J0LmV4cG9ydEpTWmlwKHQsdGhpcy5hcmNoaXZlRmlsZU5hbWUpLHRoaXMuc2F2ZUF0dHJpYnV0ZShSYSx0aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAudmFsdWUucmVtb3RlTG9nZ2luZ0xldmVsLnRvVXBwZXJDYXNlKCksTC5TSEFSRURfU0NPUEUpfWFkZE5ld0Nvbm5lY3Rvcigpe3RoaXMuY3JlYXRlQ29ubmVjdG9yKCl9cmVtb3ZlQ29ubmVjdG9yKGUpe2U+LTEmJih0aGlzLmNvbm5lY3RvcnMucmVtb3ZlQXQoZSksdGhpcy5jb25uZWN0b3JzLm1hcmtBc0RpcnR5KCkpfW9wZW5Db25maWdEaWFsb2coZSx0LG4sYSl7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uKCksZS5wcmV2ZW50RGVmYXVsdCgpKSx0aGlzLmRpYWxvZy5vcGVuKFFlLHtkaXNhYmxlQ2xvc2U6ITAscGFuZWxDbGFzczpbInRiLWRpYWxvZyIsInRiLWZ1bGxzY3JlZW4tZGlhbG9nIl0sZGF0YTp7anNvblZhbHVlOm4scmVxdWlyZWQ6ITAsdGl0bGU6dGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS50aXRsZS1jb25uZWN0b3JzLWpzb24iLHt0eXBlTmFtZTphfSl9fSkuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKGU9PntlJiYodGhpcy5jb25uZWN0b3JzLmF0KHQpLmdldCgiY29uZmlnIikucGF0Y2hWYWx1ZShlKSx0aGlzLmN0eC5kZXRlY3RDaGFuZ2VzKCkpfSkpfWNyZWF0ZUNvbm5lY3Rvck5hbWUoZSx0LG49MCl7Y29uc3QgYT1uP3Qrbjp0O3JldHVybi0xPT09ZS5maW5kSW5kZXgoKGU9PmUubmFtZT09PWEpKT9hOnRoaXMuY3JlYXRlQ29ubmVjdG9yTmFtZShlLHQsKytuKX12YWxpZGF0ZUNvbm5lY3Rvck5hbWUoZSx0LG4sYT0wKXtmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rKyl7Y29uc3QgaT0wPT09YT90OnQrYTtvIT09biYmZVtvXS5uYW1lPT09aSYmdGhpcy52YWxpZGF0ZUNvbm5lY3Rvck5hbWUoZSx0LG4sKythKX1yZXR1cm4gMD09PWE/dDp0K2F9Y2hhbmdlQ29ubmVjdG9yVHlwZShlKXtpZighZS5nZXQoIm5hbWUiKS52YWx1ZSl7Y29uc3QgdD1lLmdldCgiY29uZmlnVHlwZSIpLnZhbHVlLG49dGhpcy5nYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLnZhbHVlLmNvbm5lY3RvcnM7ZS5nZXQoIm5hbWUiKS5wYXRjaFZhbHVlKHRoaXMuY3JlYXRlQ29ubmVjdG9yTmFtZShuLEhhW3RdKSl9fWNoYW5nZUNvbm5lY3Rvck5hbWUoZSx0KXtjb25zdCBuPXRoaXMuZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC52YWx1ZS5jb25uZWN0b3JzO2UuZ2V0KCJuYW1lIikucGF0Y2hWYWx1ZSh0aGlzLnZhbGlkYXRlQ29ubmVjdG9yTmFtZShuLGUuZ2V0KCJuYW1lIikudmFsdWUsdCkpfXNhdmUoKXtjb25zdCBlPXRoaXMuZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC52YWx1ZTtBZShbdGhpcy5zYXZlQXR0cmlidXRlKCJjb25maWd1cmF0aW9uIix3aW5kb3cuYnRvYShKU09OLnN0cmluZ2lmeShYYShlKSkpLEwuU0hBUkVEX1NDT1BFKSx0aGlzLnNhdmVBdHRyaWJ1dGUoT2Esd2luZG93LmJ0b2EoSlNPTi5zdHJpbmdpZnkoSmEoZS5jb25uZWN0b3JzKSkpLEwuU0VSVkVSX1NDT1BFKSx0aGlzLnNhdmVBdHRyaWJ1dGUoUmEsdGhpcy5nYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLnZhbHVlLnJlbW90ZUxvZ2dpbmdMZXZlbC50b1VwcGVyQ2FzZSgpLEwuU0hBUkVEX1NDT1BFKV0pLnN1YnNjcmliZSgoKCk9Pnt0aGlzLmN0eC5zaG93U3VjY2Vzc1RvYXN0KHRoaXMuc3VjY2Vzc2Z1bFNhdmVkLDJlMywidG9wIiwibGVmdCIsdGhpcy50b2FzdFRhcmdldElkKSx0aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAubWFya0FzUHJpc3RpbmUoKX0pKX1nZXRBdHRyaWJ1dGVzKGUpe2NvbnN0IHQ9W107cmV0dXJuIHQucHVzaChBZShbdGhpcy5nZXRBdHRyaWJ1dGUoImN1cnJlbnRfY29uZmlndXJhdGlvbiIsTC5DTElFTlRfU0NPUEUsZSksdGhpcy5nZXRBdHRyaWJ1dGUoT2EsTC5TRVJWRVJfU0NPUEUsZSldKS5waXBlKEVlKCgoW2UsdF0pPT57dGhpcy5zZXRGb3JtR2F0ZXdheVNldHRpbmdzKGUpLHRoaXMuc2V0Rm9ybUNvbm5lY3RvcnNEcmFmdCh0KSx0aGlzLmlzUmVhZE9ubHlGb3JtJiZ0aGlzLmdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSl9KSkpKSx0LnB1c2godGhpcy5nZXRBdHRyaWJ1dGUoUmEsTC5TSEFSRURfU0NPUEUsZSkucGlwZShFZSgoZT0+dGhpcy5wcm9jZXNzTG9nZ2luZ0xldmVsKGUpKSkpKSx0fWdldEF0dHJpYnV0ZShlLHQsbil7cmV0dXJuIHRoaXMuYXR0cmlidXRlU2VydmljZS5nZXRFbnRpdHlBdHRyaWJ1dGVzKFlhKG4pLHQsW2VdKX1zZXRGb3JtR2F0ZXdheVNldHRpbmdzKGUpe2lmKHRoaXMuY29ubmVjdG9ycy5jbGVhcigpLGUubGVuZ3RoPjApe2NvbnN0IHQ9SlNPTi5wYXJzZSh3aW5kb3cuYXRvYihlWzBdLnZhbHVlKSk7Zm9yKGNvbnN0IGUgb2YgT2JqZWN0LmtleXModCkpe2NvbnN0IG49dFtlXTtpZigidGhpbmdzYm9hcmQiPT09ZSludWxsIT09biYmT2JqZWN0LmtleXMobikubGVuZ3RoPjAmJnRoaXMuZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5wYXRjaFZhbHVlKFFhKG4pKTtlbHNlIGZvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKG4pKXtsZXQgYT0iTm8gbmFtZSI7T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG5bdF0sIm5hbWUiKSYmKGE9blt0XS5uYW1lKTtjb25zdCBvPXtlbmFibGVkOiEwLGNvbmZpZ1R5cGU6ZSxjb25maWc6blt0XS5jb25maWcsbmFtZTphfTt0aGlzLmNyZWF0ZUNvbm5lY3RvcihvKX19fX1zZXRGb3JtQ29ubmVjdG9yc0RyYWZ0KGUpe2lmKGUubGVuZ3RoPjApe2NvbnN0IHQ9SlNPTi5wYXJzZSh3aW5kb3cuYXRvYihlWzBdLnZhbHVlKSk7Zm9yKGNvbnN0IGUgb2YgT2JqZWN0LmtleXModCkpe2NvbnN0IG49e2VuYWJsZWQ6ITEsY29uZmlnVHlwZTp0W2VdLmNvbm5lY3Rvcixjb25maWc6dFtlXS5jb25maWcsbmFtZTplfTt0aGlzLmNyZWF0ZUNvbm5lY3RvcihuKX19fXByb2Nlc3NMb2dnaW5nTGV2ZWwoZSl7bGV0IHQ9QmEuZGVidWc7ZS5sZW5ndGg+MCYmQmFbZVswXS52YWx1ZS50b0xvd2VyQ2FzZSgpXSYmKHQ9QmFbZVswXS52YWx1ZS50b0xvd2VyQ2FzZSgpXSksdGhpcy5nZXRGb3JtRmllbGQoInJlbW90ZUxvZ2dpbmdMZXZlbCIpLnBhdGNoVmFsdWUodCl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTplbyxkZXBzOlt7dG9rZW46b3QuU3RvcmV9LHt0b2tlbjp0LkVsZW1lbnRSZWZ9LHt0b2tlbjpYLlV0aWxzU2VydmljZX0se3Rva2VuOnQuTmdab25lfSx7dG9rZW46bWUuVW50eXBlZEZvcm1CdWlsZGVyfSx7dG9rZW46YWV9LHt0b2tlbjpKZS5NYXREaWFsb2d9LHt0b2tlbjpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0b2tlbjpYLkRldmljZVNlcnZpY2V9LHt0b2tlbjpYLkF0dHJpYnV0ZVNlcnZpY2V9LHt0b2tlbjpsdC5JbXBvcnRFeHBvcnRTZXJ2aWNlfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTplbyxzZWxlY3RvcjoidGItZ2F0ZXdheS1mb3JtIixpbnB1dHM6e2N0eDoiY3R4Iixpc1N0YXRlRm9ybToiaXNTdGF0ZUZvcm0ifSx2aWV3UXVlcmllczpbe3Byb3BlcnR5TmFtZToiZm9ybUNvbnRhaW5lclJlZiIsZmlyc3Q6ITAscHJlZGljYXRlOlsiZm9ybUNvbnRhaW5lciJdLGRlc2NlbmRhbnRzOiEwLHN0YXRpYzohMH0se3Byb3BlcnR5TmFtZToibXVsdGlwbGVJbnB1dEZvcm0iLGZpcnN0OiEwLHByZWRpY2F0ZTpbImdhdGV3YXlDb25maWd1cmF0aW9uRm9ybSJdLGRlc2NlbmRhbnRzOiEwLHN0YXRpYzohMH1dLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGZvcm0gI2Zvcm1Db250YWluZXIgY2xhc3M9ImdhdGV3YXktZm9ybSJcbiAgICAgIFtmb3JtR3JvdXBdPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwIlxuICAgICAgdGItdG9hc3QgdG9hc3RUYXJnZXQ9Int7IHRvYXN0VGFyZ2V0SWQgfX0iXG4gICAgICAobmdTdWJtaXQpPSJzYXZlKCkiPlxuICA8bWF0LWFjY29yZGlvbiBtdWx0aT0idHJ1ZSIgY2xhc3M9Im1hdC1ib2R5LTIiPlxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLXBhbmVsLXRpdGxlIj57eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmRcJyB8IHRyYW5zbGF0ZSB8IHVwcGVyY2FzZSB9fTwvZGl2PlxuICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDx0Yi1lbnRpdHktZ2F0ZXdheS1zZWxlY3RcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9ImdhdGV3YXkiXG4gICAgICAgICAgW2RldmljZU5hbWVdPSJkZXZpY2VOYW1lRm9ybSJcbiAgICAgICAgICBbaXNTdGF0ZUZvcm1dPSJpc1N0YXRlRm9ybSJcbiAgICAgICAgICBbbmV3R2F0ZXdheVR5cGVdPSJnYXRld2F5VHlwZSJcbiAgICAgICAgICAoZ2F0ZXdheU5hbWVFeGlzdCk9ImdhdGV3YXlFeGlzdCgpIlxuICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgID5cbiAgICAgIDwvdGItZW50aXR5LWdhdGV3YXktc2VsZWN0PlxuICAgICAgPGRpdiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7XCdnYXRld2F5LnNlY3VyaXR5LXR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ic2VjdXJpdHlUeXBlIiA+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBzZWN1cml0eVR5cGUgb2Ygc2VjdXJpdHlUeXBlcyB8IGtleXZhbHVlIiBbdmFsdWVdPSJzZWN1cml0eVR5cGUua2V5Ij5cbiAgICAgICAgICAgICAge3sgc2VjdXJpdHlUeXBlLnZhbHVlLnRvU3RyaW5nKCkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgW2Z4TGF5b3V0XT0iYWxpZ25tZW50IiBbZnhMYXlvdXRHYXBdPSJsYXlvdXRHYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkLWhvc3RcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJ0ZXh0IiBmb3JtQ29udHJvbE5hbWU9Imhvc3QiPlxuICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnaG9zdFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBnYXRld2F5LnRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWRcbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0XCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9InBvcnQiPlxuICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWRcbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdtaW5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgIGdhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1taW5cbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdtYXhcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgIGdhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1tYXhcbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtcGF0dGVyblxuICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnc2VjdXJpdHlUeXBlXCcpLnZhbHVlID09IFwndGxzXCciIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnRscy1wYXRoLWNhLWNlcnRpZmljYXRlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0idGV4dCIgZm9ybUNvbnRyb2xOYW1lPSJjYUNlcnRQYXRoIj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS50bHMtcGF0aC1wcml2YXRlLWtleVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InRleHQiIGZvcm1Db250cm9sTmFtZT0icHJpdmF0ZUtleVBhdGgiPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnRscy1wYXRoLWNsaWVudC1jZXJ0aWZpY2F0ZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InRleHQiIGZvcm1Db250cm9sTmFtZT0iY2VydFBhdGgiPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxtYXQtY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPSJyZW1vdGVDb25maWd1cmF0aW9uIj57eyBcJ2dhdGV3YXkucmVtb3RlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1jaGVja2JveD5cblxuICAgICAgPGRpdiBbZnhMYXlvdXRdPSJhbGlnbm1lbnQiIFtmeExheW91dEdhcF09ImxheW91dEdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgPG1hdC1sYWJlbD57e1wnZ2F0ZXdheS5yZW1vdGUtbG9nZ2luZy1sZXZlbFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJyZW1vdGVMb2dnaW5nTGV2ZWwiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbG9nTGV2ZWwgb2YgZ2F0ZXdheUxvZ0xldmVscyIgW3ZhbHVlXT0ibG9nTGV2ZWwiPlxuICAgICAgICAgICAgICB7eyBsb2dMZXZlbCB9fVxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnBhdGgtbG9nc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InRleHQiIGZvcm1Db250cm9sTmFtZT0icmVtb3RlTG9nZ2luZ1BhdGhUb0xvZ3MiPlxuICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwncmVtb3RlTG9nZ2luZ1BhdGhUb0xvZ3NcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgZ2F0ZXdheS5wYXRoLWxvZ3MtcmVxdWlyZWRcbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuXG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuXG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItcGFuZWwtdGl0bGUiPnt7IFwnZ2F0ZXdheS5zdG9yYWdlXCcgfCB0cmFuc2xhdGUgfCB1cHBlcmNhc2UgfX08L2Rpdj5cbiAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuXG4gICAgICA8ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3tcJ2dhdGV3YXkuc3RvcmFnZS10eXBlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InN0b3JhZ2VUeXBlIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHN0b3JhZ2VUeXBlIG9mIHN0b3JhZ2VUeXBlcyB8IGtleXZhbHVlIiBbdmFsdWVdPSJzdG9yYWdlVHlwZS5rZXkiPlxuICAgICAgICAgICAgICB7eyBzdG9yYWdlVHlwZS52YWx1ZS50b1N0cmluZygpIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPGRpdiBbZnhMYXlvdXRdPSJhbGlnbm1lbnQiIFtmeExheW91dEdhcF09ImxheW91dEdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0b3JhZ2UtcGFjay1zaXplXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIGZvcm1Db250cm9sTmFtZT0icmVhZFJlY29yZHNDb3VudCI+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlYWRSZWNvcmRzQ291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwncmVhZFJlY29yZHNDb3VudFwnKS5oYXNFcnJvcihcJ21pblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtcGFjay1zaXplLW1pblxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlYWRSZWNvcmRzQ291bnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgIGdhdGV3YXkuc3RvcmFnZS1wYWNrLXNpemUtcGF0dGVyblxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsID5cbiAgICAgICAgICAgICAge3sgKGdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnc3RvcmFnZVR5cGVcJykudmFsdWUgIT09IFwnZmlsZVwnID8gXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHNcJyA6IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlLXJlY29yZHNcJykgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1heFJlY29yZHNDb3VudCI+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ21heFJlY29yZHNDb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgIGdhdGV3YXkuc3RvcmFnZS1tYXgtcmVjb3Jkcy1yZXF1aXJlZFxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ21heFJlY29yZHNDb3VudFwnKS5oYXNFcnJvcihcJ21pblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtbWluXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnbWF4UmVjb3Jkc0NvdW50XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVyblxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBbZnhMYXlvdXRdPSJhbGlnbm1lbnQiIFtmeExheW91dEdhcF09ImxheW91dEdhcCIgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnc3RvcmFnZVR5cGVcJykudmFsdWUgPT0gXCdmaWxlXCciPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlc1wnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1heEZpbGVzQ291bnQiPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdtYXhGaWxlc0NvdW50XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZFxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ21heEZpbGVzQ291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlcy1taW5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdtYXhGaWxlc0NvdW50XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtbWF4LWZpbGVzLXBhdHRlcm5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkuc3RvcmFnZS1wYXRoXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJ0ZXh0IiBmb3JtQ29udHJvbE5hbWU9ImRhdGFGb2xkZXJQYXRoIj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnZGF0YUZvbGRlclBhdGhcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtcGF0aC1yZXF1aXJlZFxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG5cbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1wYW5lbC10aXRsZSI+e3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtY29uZmlnXCcgfCB0cmFuc2xhdGUgfCB1cHBlcmNhc2UgfX08L2Rpdj5cbiAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuXG4gICAgICA8ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iIGNsYXNzPSJnYXRld2F5LWNvbmZpZyI+XG4gICAgICAgIDxzZWN0aW9uIGZvcm1BcnJheU5hbWU9ImNvbm5lY3RvcnMiICpuZ0Zvcj0ibGV0IGNvbm5lY3RvciBvZiBjb25uZWN0b3JzLmNvbnRyb2xzOyBsZXQgaSA9IGluZGV4OyI+XG4gICAgICAgICAgPGRpdiBbZm9ybUdyb3VwTmFtZV09ImkiIGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gc3RyZXRjaCIgZnhMYXlvdXRHYXA9IjhweCI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PSJjb2x1bW4iIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBzdGFydCI+XG4gICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZvcm1Db250cm9sTmFtZT0iZW5hYmxlZCI+PC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IFtmeExheW91dF09ImFsaWdubWVudCIgW2Z4TGF5b3V0R2FwXT0ibGF5b3V0R2FwIiBmeEZsZXg+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57e1wnZ2F0ZXdheS5jb25uZWN0b3ItdHlwZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJjb25maWdUeXBlIiAoc2VsZWN0aW9uQ2hhbmdlKT0iY2hhbmdlQ29ubmVjdG9yVHlwZShjb25uZWN0b3IpIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGNvbm5lY3RvclR5cGUgb2YgY29ubmVjdG9yVHlwZXMiIFt2YWx1ZV09ImNvbm5lY3RvclR5cGUiPlxuICAgICAgICAgICAgICAgICAgICB7eyBjb25uZWN0b3JUeXBlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbm5lY3Rvci5nZXQoXCdjb25maWdUeXBlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgICAgIGdhdGV3YXkuY29ubmVjdG9yLXR5cGUtcmVxdWlyZWRcbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LmNvbm5lY3Rvci1uYW1lXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0idGV4dCIgZm9ybUNvbnRyb2xOYW1lPSJuYW1lIiAoYmx1cik9ImNoYW5nZUNvbm5lY3Rvck5hbWUoY29ubmVjdG9yLCBpKSI+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29ubmVjdG9yLmdldChcJ25hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgZ2F0ZXdheS5jb25uZWN0b3ItbmFtZS1yZXF1aXJlZFxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IFtmeExheW91dF09ImFsaWdubWVudCIgW2Z4TGF5b3V0R2FwXT0ibGF5b3V0R2FwIlxuICAgICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJ7e2FsaWdubWVudCA9PSBcJ3Jvd1wnID8gXCdlbmQgY2VudGVyXCcgOiBcJ3NwYWNlLWV2ZW5seSBjZW50ZXJcJ319IiBjbGFzcz0iYWN0aW9uLWJ1dHRvbnMiPlxuICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09ImlzUmVhZE9ubHlGb3JtIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0ib3BlbkNvbmZpZ0RpYWxvZygkZXZlbnQsIGksIGNvbm5lY3Rvci5nZXQoXCdjb25maWdcJykudmFsdWUsIGNvbm5lY3Rvci5nZXQoXCduYW1lXCcpLnZhbHVlKSJcbiAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkudXBkYXRlLWNvbmZpZ1wnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPSJ7XCdtYXQtd2FyblwnOiBjb25uZWN0b3IuZ2V0KFwnY29uZmlnXCcpLmludmFsaWR9Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+bW9yZV9ob3JpejwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09ImlzUmVhZE9ubHlGb3JtIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPSJyZW1vdmVDb25uZWN0b3IoaSkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmRlbGV0ZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPHNwYW4gW2Z4U2hvd109IiFjb25uZWN0b3JzLmxlbmd0aCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciIgY2xhc3M9Im5vLWRhdGEtZm91bmQiPnt7XCdnYXRld2F5Lm5vLWNvbm5lY3RvcnNcJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxidXR0b24gW2Z4U2hvd109IiFpc1JlYWRPbmx5Rm9ybSIgbWF0LXJhaXNlZC1idXR0b24gdHlwZT0iYnV0dG9uIiAoY2xpY2spPSJhZGROZXdDb25uZWN0b3IoKSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5jb25uZWN0b3ItYWRkXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICAgIHt7IFwnYWN0aW9uLmFkZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXYgPlxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgPC9tYXQtYWNjb3JkaW9uPlxuICA8c2VjdGlvbiBbZnhTaG93XT0iIWlzUmVhZE9ubHlGb3JtIlxuICAgICAgICAgICBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJlbmQgY2VudGVyIiBjbGFzcz0iZm9ybS1hY3Rpb24tYnV0dG9ucyI+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSIgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgKGNsaWNrKT0iZXhwb3J0Q29uZmlnKCkiXG4gICAgICAgICAgICAqbmdJZj0iIWdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwncmVtb3RlQ29uZmlndXJhdGlvblwnKS52YWx1ZSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09IiFnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmRpcnR5IHx8IGdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuaW52YWxpZCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7XCdnYXRld2F5LmRvd25sb2FkLXRpcFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIHt7XCdhY3Rpb24uZG93bmxvYWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSIgdHlwZT0ic3VibWl0IlxuICAgICAgICAgICAgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwncmVtb3RlQ29uZmlndXJhdGlvblwnKS52YWx1ZSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09IiFnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmRpcnR5IHx8IGdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuaW52YWxpZCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7XCdnYXRld2F5LnNhdmUtdGlwXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAge3tcJ2FjdGlvbi5zYXZlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9zZWN0aW9uPlxuPC9mb3JtPlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC5nYXRld2F5LWZvcm17aGVpZ2h0OjEwMCU7cGFkZGluZzo1cHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtvdmVyZmxvdy15OmF1dG87b3ZlcmZsb3cteDpoaWRkZW59Omhvc3QgLmdhdGV3YXktZm9ybSAuZm9ybS1hY3Rpb24tYnV0dG9uc3twYWRkaW5nLXRvcDo4cHh9Omhvc3QgLmdhdGV3YXktZm9ybSAuZ2F0ZXdheS1jb25maWcgLm5vLWRhdGEtZm91bmR7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpmbGV4O2hlaWdodDo0MHB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdDbGFzcyxzZWxlY3RvcjoiW25nQ2xhc3NdIixpbnB1dHM6WyJjbGFzcyIsIm5nQ2xhc3MiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Y3QuVG9hc3REaXJlY3RpdmUsc2VsZWN0b3I6Ilt0Yi10b2FzdF0iLGlucHV0czpbInRvYXN0VGFyZ2V0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QnV0dG9uLHNlbGVjdG9yOiIgICAgYnV0dG9uW21hdC1idXR0b25dLCBidXR0b25bbWF0LXJhaXNlZC1idXR0b25dLCBidXR0b25bbWF0LWZsYXQtYnV0dG9uXSwgICAgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0gICIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpwdC5NYXRDaGVja2JveCxzZWxlY3RvcjoibWF0LWNoZWNrYm94IixpbnB1dHM6WyJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsImlkIiwicmVxdWlyZWQiLCJsYWJlbFBvc2l0aW9uIiwibmFtZSIsInZhbHVlIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY29sb3IiLCJkaXNhYmxlZEludGVyYWN0aXZlIiwiY2hlY2tlZCIsImRpc2FibGVkIiwiaW5kZXRlcm1pbmF0ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJpbmRldGVybWluYXRlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRDaGVja2JveCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdEVycm9yLHNlbGVjdG9yOiJtYXQtZXJyb3IsIFttYXRFcnJvcl0iLGlucHV0czpbImlkIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpDZS5NYXRPcHRpb24sc2VsZWN0b3I6Im1hdC1vcHRpb24iLGlucHV0czpbInZhbHVlIiwiaWQiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJvblNlbGVjdGlvbkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0T3B0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6emUuTWF0VG9vbHRpcCxzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixpbnB1dHM6WyJtYXRUb29sdGlwUG9zaXRpb24iLCJtYXRUb29sdGlwUG9zaXRpb25BdE9yaWdpbiIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBTaG93RGVsYXkiLCJtYXRUb29sdGlwSGlkZURlbGF5IiwibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcENsYXNzIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6ZXQuTWF0U2xpZGVUb2dnbGUsc2VsZWN0b3I6Im1hdC1zbGlkZS10b2dnbGUiLGlucHV0czpbIm5hbWUiLCJpZCIsImxhYmVsUG9zaXRpb24iLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsInJlcXVpcmVkIiwiY29sb3IiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImNoZWNrZWQiLCJoaWRlSWNvbiIsImRpc2FibGVkSW50ZXJhY3RpdmUiXSxvdXRwdXRzOlsiY2hhbmdlIiwidG9nZ2xlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEFjY29yZGlvbixzZWxlY3RvcjoibWF0LWFjY29yZGlvbiIsaW5wdXRzOlsiaGlkZVRvZ2dsZSIsImRpc3BsYXlNb2RlIiwidG9nZ2xlUG9zaXRpb24iXSxleHBvcnRBczpbIm1hdEFjY29yZGlvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsIixpbnB1dHM6WyJoaWRlVG9nZ2xlIiwidG9nZ2xlUG9zaXRpb24iXSxvdXRwdXRzOlsiYWZ0ZXJFeHBhbmQiLCJhZnRlckNvbGxhcHNlIl0sZXhwb3J0QXM6WyJtYXRFeHBhbnNpb25QYW5lbCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsSGVhZGVyLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciIsaW5wdXRzOlsiZXhwYW5kZWRIZWlnaHQiLCJjb2xsYXBzZWRIZWlnaHQiLCJ0YWJJbmRleCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsVGl0bGUsc2VsZWN0b3I6Im1hdC1wYW5lbC10aXRsZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRHYXBEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0R2FwXSwgW2Z4TGF5b3V0R2FwLnhzXSwgW2Z4TGF5b3V0R2FwLnNtXSwgW2Z4TGF5b3V0R2FwLm1kXSwgIFtmeExheW91dEdhcC5sZ10sIFtmeExheW91dEdhcC54bF0sIFtmeExheW91dEdhcC5sdC1zbV0sIFtmeExheW91dEdhcC5sdC1tZF0sICBbZnhMYXlvdXRHYXAubHQtbGddLCBbZnhMYXlvdXRHYXAubHQteGxdLCBbZnhMYXlvdXRHYXAuZ3QteHNdLCBbZnhMYXlvdXRHYXAuZ3Qtc21dLCAgW2Z4TGF5b3V0R2FwLmd0LW1kXSwgW2Z4TGF5b3V0R2FwLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRHYXAiLCJmeExheW91dEdhcC54cyIsImZ4TGF5b3V0R2FwLnNtIiwiZnhMYXlvdXRHYXAubWQiLCJmeExheW91dEdhcC5sZyIsImZ4TGF5b3V0R2FwLnhsIiwiZnhMYXlvdXRHYXAubHQtc20iLCJmeExheW91dEdhcC5sdC1tZCIsImZ4TGF5b3V0R2FwLmx0LWxnIiwiZnhMYXlvdXRHYXAubHQteGwiLCJmeExheW91dEdhcC5ndC14cyIsImZ4TGF5b3V0R2FwLmd0LXNtIiwiZnhMYXlvdXRHYXAuZ3QtbWQiLCJmeExheW91dEdhcC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRTaG93SGlkZURpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhTaG93XSwgW2Z4U2hvdy5wcmludF0sICBbZnhTaG93LnhzXSwgW2Z4U2hvdy5zbV0sIFtmeFNob3cubWRdLCBbZnhTaG93LmxnXSwgW2Z4U2hvdy54bF0sICBbZnhTaG93Lmx0LXNtXSwgW2Z4U2hvdy5sdC1tZF0sIFtmeFNob3cubHQtbGddLCBbZnhTaG93Lmx0LXhsXSwgIFtmeFNob3cuZ3QteHNdLCBbZnhTaG93Lmd0LXNtXSwgW2Z4U2hvdy5ndC1tZF0sIFtmeFNob3cuZ3QtbGddLCAgW2Z4SGlkZV0sIFtmeEhpZGUucHJpbnRdLCAgW2Z4SGlkZS54c10sIFtmeEhpZGUuc21dLCBbZnhIaWRlLm1kXSwgW2Z4SGlkZS5sZ10sIFtmeEhpZGUueGxdLCAgW2Z4SGlkZS5sdC1zbV0sIFtmeEhpZGUubHQtbWRdLCBbZnhIaWRlLmx0LWxnXSwgW2Z4SGlkZS5sdC14bF0sICBbZnhIaWRlLmd0LXhzXSwgW2Z4SGlkZS5ndC1zbV0sIFtmeEhpZGUuZ3QtbWRdLCBbZnhIaWRlLmd0LWxnXSIsaW5wdXRzOlsiZnhTaG93IiwiZnhTaG93LnByaW50IiwiZnhTaG93LnhzIiwiZnhTaG93LnNtIiwiZnhTaG93Lm1kIiwiZnhTaG93LmxnIiwiZnhTaG93LnhsIiwiZnhTaG93Lmx0LXNtIiwiZnhTaG93Lmx0LW1kIiwiZnhTaG93Lmx0LWxnIiwiZnhTaG93Lmx0LXhsIiwiZnhTaG93Lmd0LXhzIiwiZnhTaG93Lmd0LXNtIiwiZnhTaG93Lmd0LW1kIiwiZnhTaG93Lmd0LWxnIiwiZnhIaWRlIiwiZnhIaWRlLnByaW50IiwiZnhIaWRlLnhzIiwiZnhIaWRlLnNtIiwiZnhIaWRlLm1kIiwiZnhIaWRlLmxnIiwiZnhIaWRlLnhsIiwiZnhIaWRlLmx0LXNtIiwiZnhIaWRlLmx0LW1kIiwiZnhIaWRlLmx0LWxnIiwiZnhIaWRlLmx0LXhsIiwiZnhIaWRlLmd0LXhzIiwiZnhIaWRlLmd0LXNtIiwiZnhIaWRlLmd0LW1kIiwiZnhIaWRlLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Sy5EZWZhdWx0Q2xhc3NEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW25nQ2xhc3NdLCBbbmdDbGFzcy54c10sIFtuZ0NsYXNzLnNtXSwgW25nQ2xhc3MubWRdLCBbbmdDbGFzcy5sZ10sIFtuZ0NsYXNzLnhsXSwgIFtuZ0NsYXNzLmx0LXNtXSwgW25nQ2xhc3MubHQtbWRdLCBbbmdDbGFzcy5sdC1sZ10sIFtuZ0NsYXNzLmx0LXhsXSwgIFtuZ0NsYXNzLmd0LXhzXSwgW25nQ2xhc3MuZ3Qtc21dLCBbbmdDbGFzcy5ndC1tZF0sIFtuZ0NsYXNzLmd0LWxnXSIsaW5wdXRzOlsibmdDbGFzcyIsIm5nQ2xhc3MueHMiLCJuZ0NsYXNzLnNtIiwibmdDbGFzcy5tZCIsIm5nQ2xhc3MubGciLCJuZ0NsYXNzLnhsIiwibmdDbGFzcy5sdC1zbSIsIm5nQ2xhc3MubHQtbWQiLCJuZ0NsYXNzLmx0LWxnIiwibmdDbGFzcy5sdC14bCIsIm5nQ2xhc3MuZ3QteHMiLCJuZ0NsYXNzLmd0LXNtIiwibmdDbGFzcy5ndC1tZCIsIm5nQ2xhc3MuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS7JtU5nTm9WYWxpZGF0ZSxzZWxlY3RvcjoiZm9ybTpub3QoW25nTm9Gb3JtXSk6bm90KFtuZ05hdGl2ZVZhbGlkYXRlXSkifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBOYW1lLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0iLGlucHV0czpbImZvcm1Hcm91cE5hbWUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQXJyYXlOYW1lLHNlbGVjdG9yOiJbZm9ybUFycmF5TmFtZV0iLGlucHV0czpbImZvcm1BcnJheU5hbWUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTptdC5FbnRpdHlHYXRld2F5U2VsZWN0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi1lbnRpdHktZ2F0ZXdheS1zZWxlY3QiLGlucHV0czpbInJlcXVpcmVkIiwibmV3R2F0ZXdheVR5cGUiLCJkZXZpY2VOYW1lIiwiaXNTdGF0ZUZvcm0iXSxvdXRwdXRzOlsiZ2F0ZXdheU5hbWVFeGlzdCJdfSx7a2luZDoicGlwZSIsdHlwZTpfLlVwcGVyQ2FzZVBpcGUsbmFtZToidXBwZXJjYXNlIn0se2tpbmQ6InBpcGUiLHR5cGU6Xy5LZXlWYWx1ZVBpcGUsbmFtZToia2V5dmFsdWUifSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn1dfSl9fWUoIkdhdGV3YXlGb3JtQ29tcG9uZW50IixlbyksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTplbyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItZ2F0ZXdheS1mb3JtIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2Vcbjxmb3JtICNmb3JtQ29udGFpbmVyIGNsYXNzPSJnYXRld2F5LWZvcm0iXG4gICAgICBbZm9ybUdyb3VwXT0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cCJcbiAgICAgIHRiLXRvYXN0IHRvYXN0VGFyZ2V0PSJ7eyB0b2FzdFRhcmdldElkIH19IlxuICAgICAgKG5nU3VibWl0KT0ic2F2ZSgpIj5cbiAgPG1hdC1hY2NvcmRpb24gbXVsdGk9InRydWUiIGNsYXNzPSJtYXQtYm9keS0yIj5cbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1wYW5lbC10aXRsZSI+e3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkXCcgfCB0cmFuc2xhdGUgfCB1cHBlcmNhc2UgfX08L2Rpdj5cbiAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICA8dGItZW50aXR5LWdhdGV3YXktc2VsZWN0XG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJnYXRld2F5IlxuICAgICAgICAgIFtkZXZpY2VOYW1lXT0iZGV2aWNlTmFtZUZvcm0iXG4gICAgICAgICAgW2lzU3RhdGVGb3JtXT0iaXNTdGF0ZUZvcm0iXG4gICAgICAgICAgW25ld0dhdGV3YXlUeXBlXT0iZ2F0ZXdheVR5cGUiXG4gICAgICAgICAgKGdhdGV3YXlOYW1lRXhpc3QpPSJnYXRld2F5RXhpc3QoKSJcbiAgICAgICAgICByZXF1aXJlZFxuICAgICAgICA+XG4gICAgICA8L3RiLWVudGl0eS1nYXRld2F5LXNlbGVjdD5cbiAgICAgIDxkaXYgZnhMYXlvdXQ9ImNvbHVtbiI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgPG1hdC1sYWJlbD57e1wnZ2F0ZXdheS5zZWN1cml0eS10eXBlXCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5VHlwZSIgPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgc2VjdXJpdHlUeXBlIG9mIHNlY3VyaXR5VHlwZXMgfCBrZXl2YWx1ZSIgW3ZhbHVlXT0ic2VjdXJpdHlUeXBlLmtleSI+XG4gICAgICAgICAgICAgIHt7IHNlY3VyaXR5VHlwZS52YWx1ZS50b1N0cmluZygpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IFtmeExheW91dF09ImFsaWdubWVudCIgW2Z4TGF5b3V0R2FwXT0ibGF5b3V0R2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1ob3N0XCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0idGV4dCIgZm9ybUNvbnRyb2xOYW1lPSJob3N0Ij5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgZ2F0ZXdheS50aGluZ3Nib2FyZC1ob3N0LXJlcXVpcmVkXG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0Ij5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkXG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtbWluXG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtbWF4XG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LXBhdHRlcm5cbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2ICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3NlY3VyaXR5VHlwZVwnKS52YWx1ZSA9PSBcJ3Rsc1wnIiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS50bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InRleHQiIGZvcm1Db250cm9sTmFtZT0iY2FDZXJ0UGF0aCI+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkudGxzLXBhdGgtcHJpdmF0ZS1rZXlcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJ0ZXh0IiBmb3JtQ29udHJvbE5hbWU9InByaXZhdGVLZXlQYXRoIj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS50bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJ0ZXh0IiBmb3JtQ29udHJvbE5hbWU9ImNlcnRQYXRoIj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8bWF0LWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT0icmVtb3RlQ29uZmlndXJhdGlvbiI+e3sgXCdnYXRld2F5LnJlbW90ZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtY2hlY2tib3g+XG5cbiAgICAgIDxkaXYgW2Z4TGF5b3V0XT0iYWxpZ25tZW50IiBbZnhMYXlvdXRHYXBdPSJsYXlvdXRHYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3tcJ2dhdGV3YXkucmVtb3RlLWxvZ2dpbmctbGV2ZWxcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icmVtb3RlTG9nZ2luZ0xldmVsIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGxvZ0xldmVsIG9mIGdhdGV3YXlMb2dMZXZlbHMiIFt2YWx1ZV09ImxvZ0xldmVsIj5cbiAgICAgICAgICAgICAge3sgbG9nTGV2ZWwgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5wYXRoLWxvZ3NcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJ0ZXh0IiBmb3JtQ29udHJvbE5hbWU9InJlbW90ZUxvZ2dpbmdQYXRoVG9Mb2dzIj5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlbW90ZUxvZ2dpbmdQYXRoVG9Mb2dzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgIGdhdGV3YXkucGF0aC1sb2dzLXJlcXVpcmVkXG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cblxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cblxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLXBhbmVsLXRpdGxlIj57eyBcJ2dhdGV3YXkuc3RvcmFnZVwnIHwgdHJhbnNsYXRlIHwgdXBwZXJjYXNlIH19PC9kaXY+XG4gICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cblxuICAgICAgPGRpdiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7XCdnYXRld2F5LnN0b3JhZ2UtdHlwZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJzdG9yYWdlVHlwZSI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBzdG9yYWdlVHlwZSBvZiBzdG9yYWdlVHlwZXMgfCBrZXl2YWx1ZSIgW3ZhbHVlXT0ic3RvcmFnZVR5cGUua2V5Ij5cbiAgICAgICAgICAgICAge3sgc3RvcmFnZVR5cGUudmFsdWUudG9TdHJpbmcoKSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgIDxkaXYgW2Z4TGF5b3V0XT0iYWxpZ25tZW50IiBbZnhMYXlvdXRHYXBdPSJsYXlvdXRHYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5zdG9yYWdlLXBhY2stc2l6ZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9InJlYWRSZWNvcmRzQ291bnQiPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdyZWFkUmVjb3Jkc0NvdW50XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLXBhY2stc2l6ZS1yZXF1aXJlZFxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlYWRSZWNvcmRzQ291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLXBhY2stc2l6ZS1taW5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdyZWFkUmVjb3Jkc0NvdW50XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtcGFjay1zaXplLXBhdHRlcm5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbCA+XG4gICAgICAgICAgICAgIHt7IChnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3N0b3JhZ2VUeXBlXCcpLnZhbHVlICE9PSBcJ2ZpbGVcJyA/IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzXCcgOiBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzXCcpIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgZm9ybUNvbnRyb2xOYW1lPSJtYXhSZWNvcmRzQ291bnQiPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdtYXhSZWNvcmRzQ291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWRcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdtYXhSZWNvcmRzQ291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLW1pblxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ21heFJlY29yZHNDb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLXBhdHRlcm5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgW2Z4TGF5b3V0XT0iYWxpZ25tZW50IiBbZnhMYXlvdXRHYXBdPSJsYXlvdXRHYXAiICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3N0b3JhZ2VUeXBlXCcpLnZhbHVlID09IFwnZmlsZVwnIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXNcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgZm9ybUNvbnRyb2xOYW1lPSJtYXhGaWxlc0NvdW50Ij5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnbWF4RmlsZXNDb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgIGdhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWRcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5nZXQoXCdtYXhGaWxlc0NvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgIGdhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXMtbWluXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImdhdGV3YXlDb25maWd1cmF0aW9uR3JvdXAuZ2V0KFwnbWF4RmlsZXNDb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCdnYXRld2F5LnN0b3JhZ2UtcGF0aFwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0idGV4dCIgZm9ybUNvbnRyb2xOYW1lPSJkYXRhRm9sZGVyUGF0aCI+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ2RhdGFGb2xkZXJQYXRoXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5zdG9yYWdlLXBhdGgtcmVxdWlyZWRcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuXG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItcGFuZWwtdGl0bGUiPnt7IFwnZ2F0ZXdheS5jb25uZWN0b3JzLWNvbmZpZ1wnIHwgdHJhbnNsYXRlIHwgdXBwZXJjYXNlIH19PC9kaXY+XG4gICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cblxuICAgICAgPGRpdiBmeExheW91dD0iY29sdW1uIiBjbGFzcz0iZ2F0ZXdheS1jb25maWciPlxuICAgICAgICA8c2VjdGlvbiBmb3JtQXJyYXlOYW1lPSJjb25uZWN0b3JzIiAqbmdGb3I9ImxldCBjb25uZWN0b3Igb2YgY29ubmVjdG9ycy5jb250cm9sczsgbGV0IGkgPSBpbmRleDsiPlxuICAgICAgICAgIDxkaXYgW2Zvcm1Hcm91cE5hbWVdPSJpIiBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIHN0cmV0Y2giIGZ4TGF5b3V0R2FwPSI4cHgiPlxuICAgICAgICAgICAgPGRpdiBmeExheW91dD0iY29sdW1uIiBmeExheW91dEFsaWduPSJjZW50ZXIgc3RhcnQiPlxuICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmb3JtQ29udHJvbE5hbWU9ImVuYWJsZWQiPjwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBbZnhMYXlvdXRdPSJhbGlnbm1lbnQiIFtmeExheW91dEdhcF09ImxheW91dEdhcCIgZnhGbGV4PlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3tcJ2dhdGV3YXkuY29ubmVjdG9yLXR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iY29uZmlnVHlwZSIgKHNlbGVjdGlvbkNoYW5nZSk9ImNoYW5nZUNvbm5lY3RvclR5cGUoY29ubmVjdG9yKSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBjb25uZWN0b3JUeXBlIG9mIGNvbm5lY3RvclR5cGVzIiBbdmFsdWVdPSJjb25uZWN0b3JUeXBlIj5cbiAgICAgICAgICAgICAgICAgICAge3sgY29ubmVjdG9yVHlwZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb25uZWN0b3IuZ2V0KFwnY29uZmlnVHlwZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICBnYXRld2F5LmNvbm5lY3Rvci10eXBlLXJlcXVpcmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwnZ2F0ZXdheS5jb25uZWN0b3ItbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InRleHQiIGZvcm1Db250cm9sTmFtZT0ibmFtZSIgKGJsdXIpPSJjaGFuZ2VDb25uZWN0b3JOYW1lKGNvbm5lY3RvciwgaSkiPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbm5lY3Rvci5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgICAgIGdhdGV3YXkuY29ubmVjdG9yLW5hbWUtcmVxdWlyZWRcbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBbZnhMYXlvdXRdPSJhbGlnbm1lbnQiIFtmeExheW91dEdhcF09ImxheW91dEdhcCJcbiAgICAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj0ie3thbGlnbm1lbnQgPT0gXCdyb3dcJyA/IFwnZW5kIGNlbnRlclwnIDogXCdzcGFjZS1ldmVubHkgY2VudGVyXCd9fSIgY2xhc3M9ImFjdGlvbi1idXR0b25zIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPSJpc1JlYWRPbmx5Rm9ybSIgbWF0LWljb24tYnV0dG9uIChjbGljayk9Im9wZW5Db25maWdEaWFsb2coJGV2ZW50LCBpLCBjb25uZWN0b3IuZ2V0KFwnY29uZmlnXCcpLnZhbHVlLCBjb25uZWN0b3IuZ2V0KFwnbmFtZVwnKS52YWx1ZSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LnVwZGF0ZS1jb25maWdcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT0ie1wnbWF0LXdhcm5cJzogY29ubmVjdG9yLmdldChcJ2NvbmZpZ1wnKS5pbnZhbGlkfSI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPm1vcmVfaG9yaXo8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPSJpc1JlYWRPbmx5Rm9ybSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0icmVtb3ZlQ29ubmVjdG9yKGkpIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5kZWxldGVcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDxzcGFuIFtmeFNob3ddPSIhY29ubmVjdG9ycy5sZW5ndGgiIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiIGNsYXNzPSJuby1kYXRhLWZvdW5kIj57e1wnZ2F0ZXdheS5uby1jb25uZWN0b3JzXCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8YnV0dG9uIFtmeFNob3ddPSIhaXNSZWFkT25seUZvcm0iIG1hdC1yYWlzZWQtYnV0dG9uIHR5cGU9ImJ1dHRvbiIgKGNsaWNrKT0iYWRkTmV3Q29ubmVjdG9yKCkiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuY29ubmVjdG9yLWFkZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgICB7eyBcJ2FjdGlvbi5hZGRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2ID5cbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gIDwvbWF0LWFjY29yZGlvbj5cbiAgPHNlY3Rpb24gW2Z4U2hvd109IiFpc1JlYWRPbmx5Rm9ybSJcbiAgICAgICAgICAgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciIgY2xhc3M9ImZvcm0tYWN0aW9uLWJ1dHRvbnMiPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9InByaW1hcnkiIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIChjbGljayk9ImV4cG9ydENvbmZpZygpIlxuICAgICAgICAgICAgKm5nSWY9IiFnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlbW90ZUNvbmZpZ3VyYXRpb25cJykudmFsdWUiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSIhZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5kaXJ0eSB8fCBnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmludmFsaWQiXG4gICAgICAgICAgICBtYXRUb29sdGlwPSJ7e1wnZ2F0ZXdheS5kb3dubG9hZC10aXBcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICB7e1wnYWN0aW9uLmRvd25sb2FkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cblxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9InByaW1hcnkiIHR5cGU9InN1Ym1pdCJcbiAgICAgICAgICAgICpuZ0lmPSJnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmdldChcJ3JlbW90ZUNvbmZpZ3VyYXRpb25cJykudmFsdWUiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSIhZ2F0ZXdheUNvbmZpZ3VyYXRpb25Hcm91cC5kaXJ0eSB8fCBnYXRld2F5Q29uZmlndXJhdGlvbkdyb3VwLmludmFsaWQiXG4gICAgICAgICAgICBtYXRUb29sdGlwPSJ7e1wnZ2F0ZXdheS5zYXZlLXRpcFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIHt7XCdhY3Rpb24uc2F2ZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvc2VjdGlvbj5cbjwvZm9ybT5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCAuZ2F0ZXdheS1mb3Jte2hlaWdodDoxMDAlO3BhZGRpbmc6NXB4O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7b3ZlcmZsb3cteTphdXRvO292ZXJmbG93LXg6aGlkZGVufTpob3N0IC5nYXRld2F5LWZvcm0gLmZvcm0tYWN0aW9uLWJ1dHRvbnN7cGFkZGluZy10b3A6OHB4fTpob3N0IC5nYXRld2F5LWZvcm0gLmdhdGV3YXktY29uZmlnIC5uby1kYXRhLWZvdW5ke3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6NDBweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm90LlN0b3JlfSx7dHlwZTp0LkVsZW1lbnRSZWZ9LHt0eXBlOlguVXRpbHNTZXJ2aWNlfSx7dHlwZTp0Lk5nWm9uZX0se3R5cGU6bWUuVW50eXBlZEZvcm1CdWlsZGVyfSx7dHlwZTpXaW5kb3csZGVjb3JhdG9yczpbe3R5cGU6cCxhcmdzOlthZV19XX0se3R5cGU6SmUuTWF0RGlhbG9nfSx7dHlwZTpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0eXBlOlguRGV2aWNlU2VydmljZX0se3R5cGU6WC5BdHRyaWJ1dGVTZXJ2aWNlfSx7dHlwZTpsdC5JbXBvcnRFeHBvcnRTZXJ2aWNlfV0scHJvcERlY29yYXRvcnM6e2Zvcm1Db250YWluZXJSZWY6W3t0eXBlOm8sYXJnczpbImZvcm1Db250YWluZXIiLHtzdGF0aWM6ITB9XX1dLG11bHRpcGxlSW5wdXRGb3JtOlt7dHlwZTpvLGFyZ3M6WyJnYXRld2F5Q29uZmlndXJhdGlvbkZvcm0iLHtzdGF0aWM6ITB9XX1dLGN0eDpbe3R5cGU6YX1dLGlzU3RhdGVGb3JtOlt7dHlwZTphfV19fSk7Y2xhc3MgdG8gZXh0ZW5kcyBQe2NvbnN0cnVjdG9yKGUsdCxuLGEsbyxpLHIpe3N1cGVyKGUsdCxhKSx0aGlzLnN0b3JlPWUsdGhpcy5yb3V0ZXI9dCx0aGlzLmRhdGE9bix0aGlzLmRpYWxvZ1JlZj1hLHRoaXMuZmI9byx0aGlzLmlzTGF0ZXN0VmVyc2lvbkNvbmZpZz1pLHRoaXMucmVzb3VyY2VzU2VydmljZT1yLHRoaXMuY29ubmVjdG9yVHlwZT1fdCx0aGlzLmdhdGV3YXlDb25uZWN0b3JEZWZhdWx0VHlwZXNUcmFuc2xhdGVzTWFwPUh0LHRoaXMuZ2F0ZXdheUxvZ0xldmVsPU9iamVjdC52YWx1ZXMoTXQpLHRoaXMuc3VibWl0dGVkPSExLHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMuY29ubmVjdG9yRm9ybT10aGlzLmZiLmdyb3VwKHt0eXBlOltfdC5NUVRULFtdXSxuYW1lOlsiIixbdWUucmVxdWlyZWQsdGhpcy51bmlxTmFtZVJlcXVpcmVkKCksdWUucGF0dGVybihrdCldXSxsb2dMZXZlbDpbTXQuSU5GTyxbXV0sdXNlRGVmYXVsdHM6WyEwLFtdXSxzZW5kRGF0YU9ubHlPbkNoYW5nZTpbITEsW11dLGNsYXNzOlsiIixbXV0sa2V5OlsiYXV0byIsW11dfSl9bmdPbkluaXQoKXt0aGlzLm9ic2VydmVUeXBlQ2hhbmdlKCl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCksc3VwZXIubmdPbkRlc3Ryb3koKX1oZWxwTGlua0lkKCl7cmV0dXJuIHYrIi9kb2NzL2lvdC1nYXRld2F5L2NvbmZpZ3VyYXRpb24vIn1jYW5jZWwoKXt0aGlzLmRpYWxvZ1JlZi5jbG9zZShudWxsKX1hZGQoKXt0aGlzLnN1Ym1pdHRlZD0hMDtjb25zdCBlPXRoaXMuY29ubmVjdG9yRm9ybS5nZXRSYXdWYWx1ZSgpO2UudXNlRGVmYXVsdHM/dGhpcy5nZXREZWZhdWx0Q29uZmlnKGUudHlwZSkuc3Vic2NyaWJlKCh0PT57Y29uc3Qgbj10aGlzLmRhdGEuZ2F0ZXdheVZlcnNpb247biYmKGUuY29uZmlnVmVyc2lvbj1uKSxlLmNvbmZpZ3VyYXRpb25Kc29uPSh0aGlzLmlzTGF0ZXN0VmVyc2lvbkNvbmZpZy50cmFuc2Zvcm0obik/dFtVdC5DdXJyZW50XTp0W1V0LkxlZ2FjeV0pPz90LHRoaXMuY29ubmVjdG9yRm9ybS52YWxpZCYmdGhpcy5kaWFsb2dSZWYuY2xvc2UoZSl9KSk6dGhpcy5jb25uZWN0b3JGb3JtLnZhbGlkJiZ0aGlzLmRpYWxvZ1JlZi5jbG9zZShlKX11bmlxTmFtZVJlcXVpcmVkKCl7cmV0dXJuIGU9Pntjb25zdCB0PWUudmFsdWUudHJpbSgpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIHRoaXMuZGF0YS5kYXRhU291cmNlRGF0YS5zb21lKCgoe3ZhbHVlOntuYW1lOmV9fSk9PmUudG9Mb3dlckNhc2UoKT09PXQpKT97ZHVwbGljYXRlTmFtZTp7dmFsaWQ6ITF9fTpudWxsfX1vYnNlcnZlVHlwZUNoYW5nZSgpe3RoaXMuY29ubmVjdG9yRm9ybS5nZXQoInR5cGUiKS52YWx1ZUNoYW5nZXMucGlwZShFZSgoZT0+e2NvbnN0IHQ9dGhpcy5jb25uZWN0b3JGb3JtLmdldCgidXNlRGVmYXVsdHMiKTtlPT09X3QuR1JQQ3x8ZT09PV90LkNVU1RPTT90LnNldFZhbHVlKCExKTp0LnZhbHVlfHx0LnNldFZhbHVlKCEwKX0pKSxOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCl9Z2V0RGVmYXVsdENvbmZpZyhlKXtyZXR1cm4gdGhpcy5yZXNvdXJjZXNTZXJ2aWNlLmxvYWRKc29uUmVzb3VyY2UoYC9hc3NldHMvbWV0YWRhdGEvY29ubmVjdG9yLWRlZmF1bHQtY29uZmlncy8ke2V9Lmpzb25gKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnRvLGRlcHM6W3t0b2tlbjpvdC5TdG9yZX0se3Rva2VuOml0LlJvdXRlcn0se3Rva2VuOlhlfSx7dG9rZW46SmUuTWF0RGlhbG9nUmVmfSx7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjp2YX0se3Rva2VuOlguUmVzb3VyY2VzU2VydmljZX1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6dG8sc2VsZWN0b3I6InRiLWFkZC1jb25uZWN0b3ItZGlhbG9nIixwcm92aWRlcnM6W10sdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IFtmb3JtR3JvdXBdPSJjb25uZWN0b3JGb3JtIiBjbGFzcz0iYWRkLWNvbm5lY3RvciI+XG4gIDxtYXQtdG9vbGJhciBjb2xvcj0icHJpbWFyeSI+XG4gICAgPGgyPnt7ICJnYXRld2F5LmFkZC1jb25uZWN0b3IiIHwgdHJhbnNsYXRlfX08L2gyPlxuICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgPGRpdiBbdGItaGVscF09ImhlbHBMaW5rSWQoKSI+PC9kaXY+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9ImNhbmNlbCgpIlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIj5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPmNsb3NlPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9tYXQtdG9vbGJhcj5cbiAgPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyIgZnhMYXlvdXQ9ImNvbHVtbiI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnR5cGU8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGdhdGV3YXlDb25uZWN0b3JEZWZhdWx0VHlwZXNUcmFuc2xhdGVzTWFwIHwga2V5dmFsdWUiIFt2YWx1ZV09InR5cGUua2V5Ij5cbiAgICAgICAgICAgICAgICB7eyB0eXBlLnZhbHVlIH19XG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5uYW1lPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGF1dG9jb21wbGV0ZT0ib2ZmIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJuYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwnZHVwbGljYXRlTmFtZVwnKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcJ2dhdGV3YXkuY29ubmVjdG9yLWR1cGxpY2F0ZS1uYW1lXCcgOlwnZ2F0ZXdheS5uYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSIoY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYgY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLnRvdWNoZWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwnZHVwbGljYXRlTmFtZVwnKSJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IGNvbm5lY3RvclR5cGUuQ1VTVE9NIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWNsYXNzPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImNsYXNzIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gY29ubmVjdG9yVHlwZS5HUlBDIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWtleTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJrZXkiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5yZW1vdGUtbG9nZ2luZy1sZXZlbDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibG9nTGV2ZWwiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBsb2dMZXZlbCBvZiBnYXRld2F5TG9nTGV2ZWwiIFt2YWx1ZV09ImxvZ0xldmVsIj57eyBsb2dMZXZlbCB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlICE9PSBjb25uZWN0b3JUeXBlLkdSUEMgJiYgY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlICE9PSBjb25uZWN0b3JUeXBlLkNVU1RPTSJcbiAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIGZpeGVkLXRpdGxlLXdpZHRoIiBmb3JtQ29udHJvbE5hbWU9InVzZURlZmF1bHRzIj5cbiAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuZmlsbC1jb25uZWN0b3ItZGVmYXVsdHMtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5maWxsLWNvbm5lY3Rvci1kZWZhdWx0c1wnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlID09PSBjb25uZWN0b3JUeXBlLk1RVFQiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBmaXhlZC10aXRsZS13aWR0aCIgZm9ybUNvbnRyb2xOYW1lPSJzZW5kRGF0YU9ubHlPbkNoYW5nZSI+XG4gICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LnNlbmQtY2hhbmdlLWRhdGEtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWNoYW5nZS1kYXRhXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucyBmeExheW91dEFsaWduPSJlbmQgY2VudGVyIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICBjZGtGb2N1c0luaXRpYWxcbiAgICAgICAgICAgIChjbGljayk9ImNhbmNlbCgpIj5cbiAgICAgIHt7IFwnYWN0aW9uLmNhbmNlbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIChjbGljayk9ImFkZCgpIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0iY29ubmVjdG9yRm9ybS5pbnZhbGlkIHx8ICFjb25uZWN0b3JGb3JtLmRpcnR5Ij5cbiAgICAgIHt7IFwnYWN0aW9uLmFkZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLmFkZC1jb25uZWN0b3J7bWluLXdpZHRoOjQwMHB4O3dpZHRoOjUwMHB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpkdC5IZWxwQ29tcG9uZW50LHNlbGVjdG9yOiJbdGItaGVscF0iLGlucHV0czpbInRiLWhlbHAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdFN1ZmZpeCxzZWxlY3RvcjoiW21hdFN1ZmZpeF0sIFttYXRJY29uU3VmZml4XSwgW21hdFRleHRTdWZmaXhdIixpbnB1dHM6WyJtYXRUZXh0U3VmZml4Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6cnQuTWF0VG9vbGJhcixzZWxlY3RvcjoibWF0LXRvb2xiYXIiLGlucHV0czpbImNvbG9yIl0sZXhwb3J0QXM6WyJtYXRUb29sYmFyIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQWN0aW9ucyxzZWxlY3RvcjoiW21hdC1kaWFsb2ctYWN0aW9uc10sIG1hdC1kaWFsb2ctYWN0aW9ucywgW21hdERpYWxvZ0FjdGlvbnNdIixpbnB1dHM6WyJhbGlnbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOkplLk1hdERpYWxvZ0NvbnRlbnQsc2VsZWN0b3I6IlttYXQtZGlhbG9nLWNvbnRlbnRdLCBtYXQtZGlhbG9nLWNvbnRlbnQsIFttYXREaWFsb2dDb250ZW50XSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpDZS5NYXRPcHRpb24sc2VsZWN0b3I6Im1hdC1vcHRpb24iLGlucHV0czpbInZhbHVlIiwiaWQiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJvblNlbGVjdGlvbkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0T3B0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6emUuTWF0VG9vbHRpcCxzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixpbnB1dHM6WyJtYXRUb29sdGlwUG9zaXRpb24iLCJtYXRUb29sdGlwUG9zaXRpb25BdE9yaWdpbiIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBTaG93RGVsYXkiLCJtYXRUb29sdGlwSGlkZURlbGF5IiwibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcENsYXNzIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6ZXQuTWF0U2xpZGVUb2dnbGUsc2VsZWN0b3I6Im1hdC1zbGlkZS10b2dnbGUiLGlucHV0czpbIm5hbWUiLCJpZCIsImxhYmVsUG9zaXRpb24iLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsInJlcXVpcmVkIiwiY29sb3IiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImNoZWNrZWQiLCJoaWRlSWNvbiIsImRpc2FibGVkSW50ZXJhY3RpdmUiXSxvdXRwdXRzOlsiY2hhbmdlIiwidG9nZ2xlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRdLCBbZnhMYXlvdXQueHNdLCBbZnhMYXlvdXQuc21dLCBbZnhMYXlvdXQubWRdLCAgW2Z4TGF5b3V0LmxnXSwgW2Z4TGF5b3V0LnhsXSwgW2Z4TGF5b3V0Lmx0LXNtXSwgW2Z4TGF5b3V0Lmx0LW1kXSwgIFtmeExheW91dC5sdC1sZ10sIFtmeExheW91dC5sdC14bF0sIFtmeExheW91dC5ndC14c10sIFtmeExheW91dC5ndC1zbV0sICBbZnhMYXlvdXQuZ3QtbWRdLCBbZnhMYXlvdXQuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dCIsImZ4TGF5b3V0LnhzIiwiZnhMYXlvdXQuc20iLCJmeExheW91dC5tZCIsImZ4TGF5b3V0LmxnIiwiZnhMYXlvdXQueGwiLCJmeExheW91dC5sdC1zbSIsImZ4TGF5b3V0Lmx0LW1kIiwiZnhMYXlvdXQubHQtbGciLCJmeExheW91dC5sdC14bCIsImZ4TGF5b3V0Lmd0LXhzIiwiZnhMYXlvdXQuZ3Qtc20iLCJmeExheW91dC5ndC1tZCIsImZ4TGF5b3V0Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dXQuSGludFRvb2x0aXBJY29uQ29tcG9uZW50LHNlbGVjdG9yOiJbdGItaGludC10b29sdGlwLWljb25dIixpbnB1dHM6WyJ0Yi1oaW50LXRvb2x0aXAtaWNvbiIsInRvb2x0aXBQb3NpdGlvbiIsImhpbnRJY29uIl19LHtraW5kOiJwaXBlIix0eXBlOl8uS2V5VmFsdWVQaXBlLG5hbWU6ImtleXZhbHVlIn0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XX0pfX1lKCJBZGRDb25uZWN0b3JEaWFsb2dDb21wb25lbnQiLHRvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnRvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1hZGQtY29ubmVjdG9yLWRpYWxvZyIscHJvdmlkZXJzOltdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBbZm9ybUdyb3VwXT0iY29ubmVjdG9yRm9ybSIgY2xhc3M9ImFkZC1jb25uZWN0b3IiPlxuICA8bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICAgIDxoMj57eyAiZ2F0ZXdheS5hZGQtY29ubmVjdG9yIiB8IHRyYW5zbGF0ZX19PC9oMj5cbiAgICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICAgIDxkaXYgW3RiLWhlbHBdPSJoZWxwTGlua0lkKCkiPjwvZGl2PlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvbWF0LXRvb2xiYXI+XG4gIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50eXBlPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBnYXRld2F5Q29ubmVjdG9yRGVmYXVsdFR5cGVzVHJhbnNsYXRlc01hcCB8IGtleXZhbHVlIiBbdmFsdWVdPSJ0eXBlLmtleSI+XG4gICAgICAgICAgICAgICAge3sgdHlwZS52YWx1ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkubmFtZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBhdXRvY29tcGxldGU9Im9mZiIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ibmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS5oYXNFcnJvcihcJ2R1cGxpY2F0ZU5hbWVcJykgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCdnYXRld2F5LmNvbm5lY3Rvci1kdXBsaWNhdGUtbmFtZVwnIDpcJ2dhdGV3YXkubmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iKGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS50b3VjaGVkKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS5oYXNFcnJvcihcJ2R1cGxpY2F0ZU5hbWVcJykiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlID09PSBjb25uZWN0b3JUeXBlLkNVU1RPTSIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1jbGFzczwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJjbGFzcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IGNvbm5lY3RvclR5cGUuR1JQQyIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1rZXk8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ia2V5IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucmVtb3RlLWxvZ2dpbmctbGV2ZWw8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImxvZ0xldmVsIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbG9nTGV2ZWwgb2YgZ2F0ZXdheUxvZ0xldmVsIiBbdmFsdWVdPSJsb2dMZXZlbCI+e3sgbG9nTGV2ZWwgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSAhPT0gY29ubmVjdG9yVHlwZS5HUlBDICYmIGNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSAhPT0gY29ubmVjdG9yVHlwZS5DVVNUT00iXG4gICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBmaXhlZC10aXRsZS13aWR0aCIgZm9ybUNvbnRyb2xOYW1lPSJ1c2VEZWZhdWx0cyI+XG4gICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmZpbGwtY29ubmVjdG9yLWRlZmF1bHRzLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZmlsbC1jb25uZWN0b3ItZGVmYXVsdHNcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gY29ubmVjdG9yVHlwZS5NUVRUIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgZml4ZWQtdGl0bGUtd2lkdGgiIGZvcm1Db250cm9sTmFtZT0ic2VuZERhdGFPbmx5T25DaGFuZ2UiPlxuICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5zZW5kLWNoYW5nZS1kYXRhLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc2VuZC1jaGFuZ2UtZGF0YVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5jYW5jZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAoY2xpY2spPSJhZGQoKSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09ImNvbm5lY3RvckZvcm0uaW52YWxpZCB8fCAhY29ubmVjdG9yRm9ybS5kaXJ0eSI+XG4gICAgICB7eyBcJ2FjdGlvbi5hZGRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC5hZGQtY29ubmVjdG9ye21pbi13aWR0aDo0MDBweDt3aWR0aDo1MDBweH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm90LlN0b3JlfSx7dHlwZTppdC5Sb3V0ZXJ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpwLGFyZ3M6W1hlXX1dfSx7dHlwZTpKZS5NYXREaWFsb2dSZWZ9LHt0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTp2YX0se3R5cGU6WC5SZXNvdXJjZXNTZXJ2aWNlfV19KTtjbGFzcyBub3tjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy52YWx1ZVR5cGVLZXlzPU9iamVjdC52YWx1ZXMoR24pLHRoaXMudmFsdWVUeXBlcz1Wbix0aGlzLk1hcHBpbmdWYWx1ZVR5cGU9R24sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5wcm9wYWdhdGVDaGFuZ2U9ZT0+e319bmdPbkluaXQoKXt0aGlzLnZhbHVlTGlzdEZvcm1BcnJheT10aGlzLmZiLmFycmF5KFtdKSx0aGlzLnZhbHVlTGlzdEZvcm1BcnJheS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy51cGRhdGVWaWV3KGUpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfXRyYWNrQnlLZXkoZSx0KXtyZXR1cm4gdH1hZGRLZXkoKXtjb25zdCBlPXRoaXMuZmIuZ3JvdXAoe3R5cGU6W0duLlNUUklOR10sc3RyaW5nOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxpbnRlZ2VyOlt7dmFsdWU6MCxkaXNhYmxlZDohMH0sW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oTHQpXV0sZG91YmxlOlt7dmFsdWU6MCxkaXNhYmxlZDohMH0sW3VlLnJlcXVpcmVkXV0sYm9vbGVhbjpbe3ZhbHVlOiExLGRpc2FibGVkOiEwfSxbdWUucmVxdWlyZWRdXX0pO3RoaXMub2JzZXJ2ZVR5cGVDaGFuZ2UoZSksdGhpcy52YWx1ZUxpc3RGb3JtQXJyYXkucHVzaChlKX1vYnNlcnZlVHlwZUNoYW5nZShlKXtlLmdldCgidHlwZSIpLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHQ9PntlLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLGUuZ2V0KCJ0eXBlIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSxlLmdldCh0KS5lbmFibGUoe2VtaXRFdmVudDohMX0pfSkpfWRlbGV0ZUtleShlLHQpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy52YWx1ZUxpc3RGb3JtQXJyYXkucmVtb3ZlQXQodCksdGhpcy52YWx1ZUxpc3RGb3JtQXJyYXkubWFya0FzRGlydHkoKX12YWx1ZVRpdGxlKGUpe3JldHVybiBpZShlKT8ib2JqZWN0Ij09dHlwZW9mIGU/SlNPTi5zdHJpbmdpZnkoZSk6ZToiIn1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMucHJvcGFnYXRlQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7fXdyaXRlVmFsdWUoZSl7Zm9yKGNvbnN0IHQgb2YgZSl7Y29uc3QgZT17dHlwZTpbdC50eXBlXSxzdHJpbmc6W3t2YWx1ZToiIixkaXNhYmxlZDohMH0sW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0saW50ZWdlcjpbe3ZhbHVlOjAsZGlzYWJsZWQ6ITB9LFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKEx0KV1dLGRvdWJsZTpbe3ZhbHVlOjAsZGlzYWJsZWQ6ITB9LFt1ZS5yZXF1aXJlZF1dLGJvb2xlYW46W3t2YWx1ZTohMSxkaXNhYmxlZDohMH0sW3VlLnJlcXVpcmVkXV19O2VbdC50eXBlXVswXT17dmFsdWU6dC52YWx1ZSxkaXNhYmxlZDohMX07Y29uc3Qgbj10aGlzLmZiLmdyb3VwKGUpO3RoaXMub2JzZXJ2ZVR5cGVDaGFuZ2UobiksdGhpcy52YWx1ZUxpc3RGb3JtQXJyYXkucHVzaChuKX19dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy52YWx1ZUxpc3RGb3JtQXJyYXkudmFsaWQ/bnVsbDp7dmFsdWVMaXN0Rm9ybTp7dmFsaWQ6ITF9fX11cGRhdGVWaWV3KGUpe3RoaXMucHJvcGFnYXRlQ2hhbmdlKGUubWFwKCgoe3R5cGU6ZSwuLi50fSk9Pih7dHlwZTplLHZhbHVlOnRbZV19KSkpKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOm5vLGRlcHM6W3t0b2tlbjptZS5VbnR5cGVkRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOm5vLHNlbGVjdG9yOiJ0Yi10eXBlLXZhbHVlLXBhbmVsIixwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5ubykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+bm8pKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBrZXktcGFuZWwiICpuZ0lmPSJ2YWx1ZUxpc3RGb3JtQXJyYXkuY29udHJvbHMubGVuZ3RoOyBlbHNlIG5vS2V5cyI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1mbGV4IG5vLWZsZXggcm93IGNlbnRlciBmaWxsLXdpZHRoIlxuICAgICAgICAgKm5nRm9yPSJsZXQga2V5Q29udHJvbCBvZiB2YWx1ZUxpc3RGb3JtQXJyYXkuY29udHJvbHM7IHRyYWNrQnk6IHRyYWNrQnlLZXk7IGxldCAkaW5kZXggPSBpbmRleDsgbGV0IGxhc3QgPSBsYXN0OyI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQgdGItZmxleCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09ImtleUNvbnRyb2wiPlxuICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ibGFzdCI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZS1jb250YWluZXIiIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyB2YWx1ZVRpdGxlKGtleUNvbnRyb2wuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkudmFsdWUpIH19PC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudHlwZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGZpbGwtd2lkdGgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0xOCIgW3N2Z0ljb25dPSJ2YWx1ZVR5cGVzLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpPy5pY29uIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8ubmFtZSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdmFsdWVUeXBlIG9mIHZhbHVlVHlwZUtleXMiIFt2YWx1ZV09InZhbHVlVHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0idGItbWF0LTIwIiBzdmdJY29uPSJ7eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLmljb24gfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUiPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCAqbmdTd2l0Y2hDYXNlPSJNYXBwaW5nVmFsdWVUeXBlLlNUUklORyIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJzdHJpbmciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuSU5URUdFUiIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJpbnRlZ2VyIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuRE9VQkxFIiBtYXRJbnB1dCByZXF1aXJlZCBmb3JtQ29udHJvbE5hbWU9ImRvdWJsZSIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuQk9PTEVBTiIgZm9ybUNvbnRyb2xOYW1lPSJib29sZWFuIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09InRydWUiPnRydWU8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPSJmYWxzZSI+ZmFsc2U8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIGtleUNvbnRyb2wuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJkZWxldGVLZXkoJGV2ZW50LCAkaW5kZXgpIlxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IlwnZ2F0ZXdheS5kZWxldGUtdmFsdWVcJyB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2PlxuICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9InByaW1hcnkiIChjbGljayk9ImFkZEtleSgpIj5cbiAgICAgIHt7IFwnZ2F0ZXdheS5hZGQtdmFsdWVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNub0tleXM+XG4gIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIGtleS1wYW5lbCI+XG4gICAgPHNwYW4gY2xhc3M9InRiLXByb21wdCIgdHJhbnNsYXRlPnt7IFwnZ2F0ZXdheS5uby12YWx1ZVwnIH19PC9zcGFuPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnRpdGxlLWNvbnRhaW5lcnttYXgtd2lkdGg6MTF2d306aG9zdCAua2V5LXBhbmVse2hlaWdodDoyNTBweDtvdmVyZmxvdzphdXRvfTpob3N0IC50Yi1mb3JtLXBhbmVsIC5tYXQtbWRjLWljb24tYnV0dG9ue3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHg7cGFkZGluZzoxNnB4O2NvbG9yOiMwMDAwMDA4YX06aG9zdCAuc2VlLWV4YW1wbGV7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDttYXJnaW46NHB4fTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaCxzZWxlY3RvcjoiW25nU3dpdGNoXSIsaW5wdXRzOlsibmdTd2l0Y2giXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoQ2FzZSxzZWxlY3RvcjoiW25nU3dpdGNoQ2FzZV0iLGlucHV0czpbIm5nU3dpdGNoQ2FzZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOndlLk1hdFNlbGVjdFRyaWdnZXIsc2VsZWN0b3I6Im1hdC1zZWxlY3QtdHJpZ2dlciJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsIixpbnB1dHM6WyJoaWRlVG9nZ2xlIiwidG9nZ2xlUG9zaXRpb24iXSxvdXRwdXRzOlsiYWZ0ZXJFeHBhbmQiLCJhZnRlckNvbGxhcHNlIl0sZXhwb3J0QXM6WyJtYXRFeHBhbnNpb25QYW5lbCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsSGVhZGVyLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciIsaW5wdXRzOlsiZXhwYW5kZWRIZWlnaHQiLCJjb2xsYXBzZWRIZWlnaHQiLCJ0YWJJbmRleCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsVGl0bGUsc2VsZWN0b3I6Im1hdC1wYW5lbC10aXRsZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxDb250ZW50LHNlbGVjdG9yOiJuZy10ZW1wbGF0ZVttYXRFeHBhbnNpb25QYW5lbENvbnRlbnRdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OdW1iZXJWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVtuZ01vZGVsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLlJlcXVpcmVkVmFsaWRhdG9yLHNlbGVjdG9yOiI6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sTmFtZV0sOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbF0sOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtuZ01vZGVsXSIsaW5wdXRzOlsicmVxdWlyZWQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WWUuVHJ1bmNhdGVXaXRoVG9vbHRpcERpcmVjdGl2ZSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XX0pfX1lKCJUeXBlVmFsdWVQYW5lbENvbXBvbmVudCIsbm8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6bm8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLXR5cGUtdmFsdWUtcGFuZWwiLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9Pm5vKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5ubykpLG11bHRpOiEwfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBrZXktcGFuZWwiICpuZ0lmPSJ2YWx1ZUxpc3RGb3JtQXJyYXkuY29udHJvbHMubGVuZ3RoOyBlbHNlIG5vS2V5cyI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1mbGV4IG5vLWZsZXggcm93IGNlbnRlciBmaWxsLXdpZHRoIlxuICAgICAgICAgKm5nRm9yPSJsZXQga2V5Q29udHJvbCBvZiB2YWx1ZUxpc3RGb3JtQXJyYXkuY29udHJvbHM7IHRyYWNrQnk6IHRyYWNrQnlLZXk7IGxldCAkaW5kZXggPSBpbmRleDsgbGV0IGxhc3QgPSBsYXN0OyI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQgdGItZmxleCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09ImtleUNvbnRyb2wiPlxuICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ibGFzdCI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZS1jb250YWluZXIiIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyB2YWx1ZVRpdGxlKGtleUNvbnRyb2wuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkudmFsdWUpIH19PC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudHlwZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGZpbGwtd2lkdGgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0xOCIgW3N2Z0ljb25dPSJ2YWx1ZVR5cGVzLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpPy5pY29uIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8ubmFtZSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdmFsdWVUeXBlIG9mIHZhbHVlVHlwZUtleXMiIFt2YWx1ZV09InZhbHVlVHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0idGItbWF0LTIwIiBzdmdJY29uPSJ7eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLmljb24gfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUiPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCAqbmdTd2l0Y2hDYXNlPSJNYXBwaW5nVmFsdWVUeXBlLlNUUklORyIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJzdHJpbmciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuSU5URUdFUiIgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJpbnRlZ2VyIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuRE9VQkxFIiBtYXRJbnB1dCByZXF1aXJlZCBmb3JtQ29udHJvbE5hbWU9ImRvdWJsZSIgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0ICpuZ1N3aXRjaENhc2U9Ik1hcHBpbmdWYWx1ZVR5cGUuQk9PTEVBTiIgZm9ybUNvbnRyb2xOYW1lPSJib29sZWFuIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09InRydWUiPnRydWU8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPSJmYWxzZSI+ZmFsc2U8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIGtleUNvbnRyb2wuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJkZWxldGVLZXkoJGV2ZW50LCAkaW5kZXgpIlxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IlwnZ2F0ZXdheS5kZWxldGUtdmFsdWVcJyB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2PlxuICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9InByaW1hcnkiIChjbGljayk9ImFkZEtleSgpIj5cbiAgICAgIHt7IFwnZ2F0ZXdheS5hZGQtdmFsdWVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNub0tleXM+XG4gIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIGtleS1wYW5lbCI+XG4gICAgPHNwYW4gY2xhc3M9InRiLXByb21wdCIgdHJhbnNsYXRlPnt7IFwnZ2F0ZXdheS5uby12YWx1ZVwnIH19PC9zcGFuPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnRpdGxlLWNvbnRhaW5lcnttYXgtd2lkdGg6MTF2d306aG9zdCAua2V5LXBhbmVse2hlaWdodDoyNTBweDtvdmVyZmxvdzphdXRvfTpob3N0IC50Yi1mb3JtLXBhbmVsIC5tYXQtbWRjLWljb24tYnV0dG9ue3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHg7cGFkZGluZzoxNnB4O2NvbG9yOiMwMDAwMDA4YX06aG9zdCAuc2VlLWV4YW1wbGV7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDttYXJnaW46NHB4fTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLlVudHlwZWRGb3JtQnVpbGRlcn1dfSk7Y2xhc3MgYW8gZXh0ZW5kcyBPe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIodCksdGhpcy5mYj1lLHRoaXMuc3RvcmU9dCx0aGlzLnZhbHVlVHlwZUtleXM9T2JqZWN0LnZhbHVlcyhHbiksdGhpcy52YWx1ZVR5cGVFbnVtPUduLHRoaXMudmFsdWVUeXBlcz1Wbix0aGlzLnJhd0RhdGE9ITEsdGhpcy5rZXlzRGF0YUFwcGxpZWQ9bmV3IGksdGhpcy5NYXBwaW5nS2V5c1R5cGU9Tm4sdGhpcy5lcnJvclRleHQ9IiJ9bmdPbkluaXQoKXt0aGlzLmtleXNMaXN0Rm9ybUFycmF5PXRoaXMucHJlcGFyZUtleXNGb3JtQXJyYXkodGhpcy5rZXlzKX10cmFja0J5S2V5KGUsdCl7cmV0dXJuIHR9YWRkS2V5KCl7bGV0IGU7aWYoZT10aGlzLmtleXNUeXBlPT09Tm4uUlBDX01FVEhPRFM/dGhpcy5mYi5ncm91cCh7bWV0aG9kOlsiIixbdWUucmVxdWlyZWRdXSxhcmd1bWVudHM6W1tdLFtdXX0pOnRoaXMuZmIuZ3JvdXAoe2tleTpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sdmFsdWU6WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dfSksdGhpcy5rZXlzVHlwZSE9PU5uLkNVU1RPTSYmdGhpcy5rZXlzVHlwZSE9PU5uLlJQQ19NRVRIT0RTKXtjb25zdCB0PXRoaXMucmF3RGF0YT8icmF3Ijp0aGlzLnZhbHVlVHlwZUtleXNbMF07ZS5hZGRDb250cm9sKCJ0eXBlIix0aGlzLmZiLmNvbnRyb2wodCkpfXRoaXMua2V5c0xpc3RGb3JtQXJyYXkucHVzaChlKX1kZWxldGVLZXkoZSx0KXtlJiZlLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMua2V5c0xpc3RGb3JtQXJyYXkucmVtb3ZlQXQodCksdGhpcy5rZXlzTGlzdEZvcm1BcnJheS5tYXJrQXNEaXJ0eSgpfWNhbmNlbCgpe3RoaXMucG9wb3Zlcj8uaGlkZSgpfWFwcGx5S2V5c0RhdGEoKXtsZXQgZT10aGlzLmtleXNMaXN0Rm9ybUFycmF5LnZhbHVlO2lmKHRoaXMua2V5c1R5cGU9PT1Obi5DVVNUT00pe2U9e307Zm9yKGxldCB0IG9mIHRoaXMua2V5c0xpc3RGb3JtQXJyYXkudmFsdWUpZVt0LmtleV09dC52YWx1ZX10aGlzLmtleXNEYXRhQXBwbGllZC5lbWl0KGUpfXByZXBhcmVLZXlzRm9ybUFycmF5KGUpe2NvbnN0IHQ9W107cmV0dXJuIGUmJih0aGlzLmtleXNUeXBlPT09Tm4uQ1VTVE9NJiYoZT1PYmplY3Qua2V5cyhlKS5tYXAoKHQ9Pih7a2V5OnQsdmFsdWU6ZVt0XSx0eXBlOiIifSkpKSksZS5mb3JFYWNoKChlPT57bGV0IG47aWYodGhpcy5rZXlzVHlwZT09PU5uLlJQQ19NRVRIT0RTKW49dGhpcy5mYi5ncm91cCh7bWV0aG9kOltlLm1ldGhvZCxbdWUucmVxdWlyZWRdXSxhcmd1bWVudHM6W1suLi5lLmFyZ3VtZW50c10sW11dfSk7ZWxzZXtjb25zdHtrZXk6dCx2YWx1ZTphLHR5cGU6b309ZTtuPXRoaXMuZmIuZ3JvdXAoe2tleTpbdCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx2YWx1ZTpbYSxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx0eXBlOltvLFtdXX0pfXQucHVzaChuKX0pKSksdGhpcy5mYi5hcnJheSh0KX12YWx1ZVRpdGxlKGUpe2NvbnN0IHQ9ZS5nZXQodGhpcy5rZXlzVHlwZT09PU5uLlJQQ19NRVRIT0RTPyJtZXRob2QiOiJ2YWx1ZSIpLnZhbHVlO3JldHVybiBpZSh0KT8ib2JqZWN0Ij09dHlwZW9mIHQ/SlNPTi5zdHJpbmdpZnkodCk6dDoiIn1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmFvLGRlcHM6W3t0b2tlbjptZS5VbnR5cGVkRm9ybUJ1aWxkZXJ9LHt0b2tlbjpvdC5TdG9yZX1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6YW8sc2VsZWN0b3I6InRiLW1hcHBpbmctZGF0YS1rZXlzLXBhbmVsIixpbnB1dHM6e3BhbmVsVGl0bGU6InBhbmVsVGl0bGUiLGFkZEtleVRpdGxlOiJhZGRLZXlUaXRsZSIsZGVsZXRlS2V5VGl0bGU6ImRlbGV0ZUtleVRpdGxlIixub0tleXNUZXh0OiJub0tleXNUZXh0IixrZXlzOiJrZXlzIixrZXlzVHlwZToia2V5c1R5cGUiLHZhbHVlVHlwZUtleXM6InZhbHVlVHlwZUtleXMiLHZhbHVlVHlwZUVudW06InZhbHVlVHlwZUVudW0iLHZhbHVlVHlwZXM6InZhbHVlVHlwZXMiLHJhd0RhdGE6InJhd0RhdGEiLHBvcG92ZXI6InBvcG92ZXIifSxvdXRwdXRzOntrZXlzRGF0YUFwcGxpZWQ6ImtleXNEYXRhQXBwbGllZCJ9LHByb3ZpZGVyczpbXSx1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLW1hcHBpbmcta2V5cy1wYW5lbCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPnt7IHBhbmVsVGl0bGUgIHwgdHJhbnNsYXRlIH19e3tcJyAoXCcgKyBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGggKyBcJylcJ319PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBrZXktcGFuZWwiICpuZ0lmPSJrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGg7IGVsc2Ugbm9LZXlzIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItZmxleCBuby1mbGV4IHJvdyBjZW50ZXIgZmlsbC13aWR0aCJcbiAgICAgICAgICAgKm5nRm9yPSJsZXQga2V5Q29udHJvbCBvZiBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9sczsgdHJhY2tCeTogdHJhY2tCeUtleTsgbGV0ICRpbmRleCA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3Q7Ij5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLWZsZXgiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09ImtleUNvbnRyb2wiPlxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJsYXN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9ImtleXNUeXBlICE9PSBNYXBwaW5nS2V5c1R5cGUuUlBDX01FVEhPRFMiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCBjbGFzcz0idGl0bGUtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBrZXlDb250cm9sLmdldChcJ2tleVwnKS52YWx1ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCctXCcgfX1cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgY2xhc3M9InRpdGxlLWNvbnRhaW5lciI+e3sgdmFsdWVUaXRsZShrZXlDb250cm9sKSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0RXhwYW5zaW9uUGFuZWxDb250ZW50PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciXG4gICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5c1R5cGUgIT09IE1hcHBpbmdLZXlzVHlwZS5DVVNUT00gJiYga2V5c1R5cGUgIT09IE1hcHBpbmdLZXlzVHlwZS5SUENfTUVUSE9EUyI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5wbGF0Zm9ybS1zaWRlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5KU09OUGF0aC1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmtleVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImtleSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmtleS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ2tleVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCdrZXlcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LmNvbm5lY3Rvci1zaWRlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93Ij5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudHlwZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAgZmlsbC13aWR0aCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IG5hbWU9InZhbHVlVHlwZSIgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QtdHJpZ2dlciAqbmdJZj0iIXJhd0RhdGEiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj0idmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8uaWNvbiIgY2xhc3M9InRiLW1hdC0xOCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3ZnSWNvbl09InZhbHVlVHlwZXMuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSk/Lmljb24iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPSIhcmF3RGF0YTsgZWxzZSByYXdUZXh0Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgKHZhbHVlVHlwZXMuZ2V0KGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSk/Lm5hbWUgfHwgdmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcmF3VGV4dD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgXCdnYXRld2F5LnJhd1wnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9IiFyYXdEYXRhOyBlbHNlIHJhd09wdGlvbiI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdmFsdWVUeXBlIG9mIHZhbHVlVHlwZUtleXMiIFt2YWx1ZV09InZhbHVlVHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9InZhbHVlVHlwZXMuZ2V0KHZhbHVlVHlwZSkuaWNvbiIgY2xhc3M9InRiLW1hdC0yMCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdmdJY29uPSJ7eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLmljb24gfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpLm5hbWUgfHwgdmFsdWVUeXBlcy5nZXQodmFsdWVUeXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcmF3T3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09IlwncmF3XCciPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgXCdnYXRld2F5LnJhd1wnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LkpTT05QYXRoLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudmFsdWVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0idmFsdWUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleUNvbnRyb2wuZ2V0KFwndmFsdWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0idGhpcy5rZXlzVHlwZSB8IGdldEdhdGV3YXlIZWxwTGluayA6IGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSA6IHZhbHVlVHlwZUtleXMiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0idGhpcy5rZXlzVHlwZSB8IGdldEdhdGV3YXlIZWxwTGluayA6IGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSA6IHZhbHVlVHlwZUtleXMiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciICpuZ0lmPSJrZXlzVHlwZSA9PT0gTWFwcGluZ0tleXNUeXBlLkNVU1RPTSI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmtleTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJrZXkiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkua2V5LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ2tleVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIGtleUNvbnRyb2wuZ2V0KFwna2V5XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS52YWx1ZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4IGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyIgY2xhc3M9InRiLWlubGluZS1maWVsZCBmbGV4IHRiLXN1ZmZpeC1hYnNvbHV0ZSI+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0idmFsdWUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnZhbHVlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIGtleUNvbnRyb2wuZ2V0KFwndmFsdWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyIgKm5nSWY9ImtleXNUeXBlID09PSBNYXBwaW5nS2V5c1R5cGUuUlBDX01FVEhPRFMiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1ldGhvZC1uYW1lXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXRob2QtbmFtZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkubWV0aG9kLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ21ldGhvZFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIGtleUNvbnRyb2wuZ2V0KFwnbWV0aG9kXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCBjbGFzcz0idGItc2V0dGluZ3MiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciBmeExheW91dD0icm93IHdyYXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUtY29udGFpbmVyIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLmFyZ3VtZW50c1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuYXJndW1lbnRzXCcgfCB0cmFuc2xhdGUgfX17e1wnIChcJyArIGtleUNvbnRyb2wuZ2V0KFwnYXJndW1lbnRzXCcpLnZhbHVlPy5sZW5ndGggKyBcJylcJ319XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0RXhwYW5zaW9uUGFuZWxDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRiLXR5cGUtdmFsdWUtcGFuZWwgZm9ybUNvbnRyb2xOYW1lPSJhcmd1bWVudHMiPjwvdGItdHlwZS12YWx1ZS1wYW5lbD5cbiAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9ImRlbGV0ZUtleSgkZXZlbnQsICRpbmRleCkiXG4gICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJkZWxldGVLZXlUaXRsZSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSIgKGNsaWNrKT0iYWRkS2V5KCkiPlxuICAgICAgICB7eyBhZGRLZXlUaXRsZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI25vS2V5cz5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWZsZXggY2VudGVyIGFsaWduLWNlbnRlciBrZXktcGFuZWwiPlxuICAgICAgPHNwYW4gY2xhc3M9InRiLXByb21wdCIgdHJhbnNsYXRlPnt7IG5vS2V5c1RleHQgfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9InRiLWZsZXggZmxleC1lbmQiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5jYW5jZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgKGNsaWNrKT0iYXBwbHlLZXlzRGF0YSgpIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0ia2V5c0xpc3RGb3JtQXJyYXkuaW52YWxpZCB8fCAha2V5c0xpc3RGb3JtQXJyYXkuZGlydHkiPlxuICAgICAge3sgXCdhY3Rpb24uYXBwbHlcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC50Yi1tYXBwaW5nLWtleXMtcGFuZWx7d2lkdGg6Nzd2dzttYXgtd2lkdGg6NzAwcHh9Omhvc3QgLnRiLW1hcHBpbmcta2V5cy1wYW5lbCAudGl0bGUtY29udGFpbmVye21heC13aWR0aDoxMXZ3O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH06aG9zdCAudGItbWFwcGluZy1rZXlzLXBhbmVsIC5rZXktcGFuZWx7aGVpZ2h0OjUwMHB4O292ZXJmbG93OmF1dG99Omhvc3QgLnRiLW1hcHBpbmcta2V5cy1wYW5lbCB0Yi12YWx1ZS1pbnB1dHt3aWR0aDoxMDAlfTpob3N0IC50Yi1tYXBwaW5nLWtleXMtcGFuZWwgLnRiLWZvcm0tcGFuZWwgLm1hdC1tZGMtaWNvbi1idXR0b257d2lkdGg6NTZweDtoZWlnaHQ6NTZweDtwYWRkaW5nOjE2cHg7Y29sb3I6IzAwMDAwMDhhfTpob3N0IC50Yi1tYXBwaW5nLWtleXMtcGFuZWwgLnNlZS1leGFtcGxle3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7bWFyZ2luOjRweH06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtZm9ybS1maWVsZC1pY29uLXN1ZmZpeHtkaXNwbGF5OmZsZXh9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmd0LkhlbHBQb3B1cENvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhlbHAtcG9wdXBdLCBbdGItaGVscC1wb3B1cC1jb250ZW50XSIsaW5wdXRzOlsidGItaGVscC1wb3B1cCIsInRiLWhlbHAtcG9wdXAtY29udGVudCIsInRyaWdnZXItdGV4dCIsInRyaWdnZXItc3R5bGUiLCJ0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudCIsInRiLWhlbHAtcG9wdXAtc3R5bGUiLCJoaW50TW9kZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOndlLk1hdFNlbGVjdFRyaWdnZXIsc2VsZWN0b3I6Im1hdC1zZWxlY3QtdHJpZ2dlciJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsIixpbnB1dHM6WyJoaWRlVG9nZ2xlIiwidG9nZ2xlUG9zaXRpb24iXSxvdXRwdXRzOlsiYWZ0ZXJFeHBhbmQiLCJhZnRlckNvbGxhcHNlIl0sZXhwb3J0QXM6WyJtYXRFeHBhbnNpb25QYW5lbCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsSGVhZGVyLHNlbGVjdG9yOiJtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciIsaW5wdXRzOlsiZXhwYW5kZWRIZWlnaHQiLCJjb2xsYXBzZWRIZWlnaHQiLCJ0YWJJbmRleCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsVGl0bGUsc2VsZWN0b3I6Im1hdC1wYW5lbC10aXRsZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxDb250ZW50LHNlbGVjdG9yOiJuZy10ZW1wbGF0ZVttYXRFeHBhbnNpb25QYW5lbENvbnRlbnRdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlkuVHJhbnNsYXRlRGlyZWN0aXZlLHNlbGVjdG9yOiJbdHJhbnNsYXRlXSxbbmd4LXRyYW5zbGF0ZV0iLGlucHV0czpbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZVBhcmFtcyJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnV0LkhpbnRUb29sdGlwSWNvbkNvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhpbnQtdG9vbHRpcC1pY29uXSIsaW5wdXRzOlsidGItaGludC10b29sdGlwLWljb24iLCJ0b29sdGlwUG9zaXRpb24iLCJoaW50SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlNhLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOm5vLHNlbGVjdG9yOiJ0Yi10eXBlLXZhbHVlLXBhbmVsIn0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJwaXBlIix0eXBlOlRhLG5hbWU6ImdldEdhdGV3YXlIZWxwTGluayJ9XX0pfX1lKCJNYXBwaW5nRGF0YUtleXNQYW5lbENvbXBvbmVudCIsYW8pLEhlKFtOKCldLGFvLnByb3RvdHlwZSwicmF3RGF0YSIsdm9pZCAwKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmFvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1tYXBwaW5nLWRhdGEta2V5cy1wYW5lbCIscHJvdmlkZXJzOltdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItbWFwcGluZy1rZXlzLXBhbmVsIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSI+e3sgcGFuZWxUaXRsZSAgfCB0cmFuc2xhdGUgfX17e1wnIChcJyArIGtleXNMaXN0Rm9ybUFycmF5LmNvbnRyb2xzLmxlbmd0aCArIFwnKVwnfX08L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIGtleS1wYW5lbCIgKm5nSWY9ImtleXNMaXN0Rm9ybUFycmF5LmNvbnRyb2xzLmxlbmd0aDsgZWxzZSBub0tleXMiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1mbGV4IG5vLWZsZXggcm93IGNlbnRlciBmaWxsLXdpZHRoIlxuICAgICAgICAgICAqbmdGb3I9ImxldCBrZXlDb250cm9sIG9mIGtleXNMaXN0Rm9ybUFycmF5LmNvbnRyb2xzOyB0cmFja0J5OiB0cmFja0J5S2V5OyBsZXQgJGluZGV4ID0gaW5kZXg7IGxldCBsYXN0ID0gbGFzdDsiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQgdGItZmxleCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0ia2V5Q29udHJvbCI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCBjbGFzcz0idGItc2V0dGluZ3MiIFtleHBhbmRlZF09Imxhc3QiPlxuICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0ia2V5c1R5cGUgIT09IE1hcHBpbmdLZXlzVHlwZS5SUENfTUVUSE9EUyI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwIGNsYXNzPSJ0aXRsZS1jb250YWluZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IGtleUNvbnRyb2wuZ2V0KFwna2V5XCcpLnZhbHVlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB7eyBcJy1cJyB9fVxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCBjbGFzcz0idGl0bGUtY29udGFpbmVyIj57eyB2YWx1ZVRpdGxlKGtleUNvbnRyb2wpIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyJcbiAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlzVHlwZSAhPT0gTWFwcGluZ0tleXNUeXBlLkNVU1RPTSAmJiBrZXlzVHlwZSAhPT0gTWFwcGluZ0tleXNUeXBlLlJQQ19NRVRIT0RTIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LnBsYXRmb3JtLXNpZGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LkpTT05QYXRoLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkua2V5XCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ia2V5IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkua2V5LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImtleUNvbnRyb2wuZ2V0KFwna2V5XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlDb250cm9sLmdldChcJ2tleVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9yLXNpZGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS50eXBlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBmaWxsLXdpZHRoIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgbmFtZT0idmFsdWVUeXBlIiBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdC10cmlnZ2VyICpuZ0lmPSIhcmF3RGF0YSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBhbGlnbi1jZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPSJ2YWx1ZVR5cGVzLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpPy5pY29uIiBjbGFzcz0idGItbWF0LTE4IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdmdJY29uXT0idmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8uaWNvbiI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9IiFyYXdEYXRhOyBlbHNlIHJhd1RleHQiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAodmFsdWVUeXBlcy5nZXQoa2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlKT8ubmFtZSB8fCB2YWx1ZVR5cGVzLmdldChrZXlDb250cm9sLmdldChcJ3R5cGVcJykudmFsdWUpKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyYXdUZXh0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBcJ2dhdGV3YXkucmF3XCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3QtdHJpZ2dlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iIXJhd0RhdGE7IGVsc2UgcmF3T3B0aW9uIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB2YWx1ZVR5cGUgb2YgdmFsdWVUeXBlS2V5cyIgW3ZhbHVlXT0idmFsdWVUeXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj0idmFsdWVUeXBlcy5nZXQodmFsdWVUeXBlKS5pY29uIiBjbGFzcz0idGItbWF0LTIwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2Z0ljb249Int7IHZhbHVlVHlwZXMuZ2V0KHZhbHVlVHlwZSkuaWNvbiB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHZhbHVlVHlwZXMuZ2V0KHZhbHVlVHlwZSkubmFtZSB8fCB2YWx1ZVR5cGVzLmdldCh2YWx1ZVR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyYXdPcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT0iXCdyYXdcJyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBcJ2dhdGV3YXkucmF3XCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuSlNPTlBhdGgtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS52YWx1ZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnZhbHVlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ3ZhbHVlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJ0aGlzLmtleXNUeXBlIHwgZ2V0R2F0ZXdheUhlbHBMaW5rIDoga2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlIDogdmFsdWVUeXBlS2V5cyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJ0aGlzLmtleXNUeXBlIHwgZ2V0R2F0ZXdheUhlbHBMaW5rIDoga2V5Q29udHJvbC5nZXQoXCd0eXBlXCcpLnZhbHVlIDogdmFsdWVUeXBlS2V5cyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyIgKm5nSWY9ImtleXNUeXBlID09PSBNYXBwaW5nS2V5c1R5cGUuQ1VTVE9NIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkua2V5PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImtleSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5rZXktcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImtleUNvbnRyb2wuZ2V0KFwna2V5XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYga2V5Q29udHJvbC5nZXQoXCdrZXlcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnZhbHVlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudmFsdWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ3ZhbHVlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIiAqbmdJZj0ia2V5c1R5cGUgPT09IE1hcHBpbmdLZXlzVHlwZS5SUENfTUVUSE9EUyI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubWV0aG9kLW5hbWVcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1ldGhvZC1uYW1lXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9Im1ldGhvZCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5tZXRob2QtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImtleUNvbnRyb2wuZ2V0KFwnbWV0aG9kXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYga2V5Q29udHJvbC5nZXQoXCdtZXRob2RcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQgdGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZS1jb250YWluZXIiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMuYXJndW1lbnRzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5hcmd1bWVudHNcJyB8IHRyYW5zbGF0ZSB9fXt7XCcgKFwnICsga2V5Q29udHJvbC5nZXQoXCdhcmd1bWVudHNcJykudmFsdWU/Lmxlbmd0aCArIFwnKVwnfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGItdHlwZS12YWx1ZS1wYW5lbCBmb3JtQ29udHJvbE5hbWU9ImFyZ3VtZW50cyI+PC90Yi10eXBlLXZhbHVlLXBhbmVsPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlS2V5KCRldmVudCwgJGluZGV4KSJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09ImRlbGV0ZUtleVRpdGxlIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXY+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJhZGRLZXkoKSI+XG4gICAgICAgIHt7IGFkZEtleVRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjbm9LZXlzPlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIGtleS1wYW5lbCI+XG4gICAgICA8c3BhbiBjbGFzcz0idGItcHJvbXB0IiB0cmFuc2xhdGU+e3sgbm9LZXlzVGV4dCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz0idGItZmxleCBmbGV4LWVuZCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uXG4gICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIChjbGljayk9ImNhbmNlbCgpIj5cbiAgICAgIHt7IFwnYWN0aW9uLmNhbmNlbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAoY2xpY2spPSJhcHBseUtleXNEYXRhKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJrZXlzTGlzdEZvcm1BcnJheS5pbnZhbGlkIHx8ICFrZXlzTGlzdEZvcm1BcnJheS5kaXJ0eSI+XG4gICAgICB7eyBcJ2FjdGlvbi5hcHBseVwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnRiLW1hcHBpbmcta2V5cy1wYW5lbHt3aWR0aDo3N3Z3O21heC13aWR0aDo3MDBweH06aG9zdCAudGItbWFwcGluZy1rZXlzLXBhbmVsIC50aXRsZS1jb250YWluZXJ7bWF4LXdpZHRoOjExdnc7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfTpob3N0IC50Yi1tYXBwaW5nLWtleXMtcGFuZWwgLmtleS1wYW5lbHtoZWlnaHQ6NTAwcHg7b3ZlcmZsb3c6YXV0b306aG9zdCAudGItbWFwcGluZy1rZXlzLXBhbmVsIHRiLXZhbHVlLWlucHV0e3dpZHRoOjEwMCV9Omhvc3QgLnRiLW1hcHBpbmcta2V5cy1wYW5lbCAudGItZm9ybS1wYW5lbCAubWF0LW1kYy1pY29uLWJ1dHRvbnt3aWR0aDo1NnB4O2hlaWdodDo1NnB4O3BhZGRpbmc6MTZweDtjb2xvcjojMDAwMDAwOGF9Omhvc3QgLnRiLW1hcHBpbmcta2V5cy1wYW5lbCAuc2VlLWV4YW1wbGV7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDttYXJnaW46NHB4fTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLlVudHlwZWRGb3JtQnVpbGRlcn0se3R5cGU6b3QuU3RvcmV9XSxwcm9wRGVjb3JhdG9yczp7cGFuZWxUaXRsZTpbe3R5cGU6YX1dLGFkZEtleVRpdGxlOlt7dHlwZTphfV0sZGVsZXRlS2V5VGl0bGU6W3t0eXBlOmF9XSxub0tleXNUZXh0Olt7dHlwZTphfV0sa2V5czpbe3R5cGU6YX1dLGtleXNUeXBlOlt7dHlwZTphfV0sdmFsdWVUeXBlS2V5czpbe3R5cGU6YX1dLHZhbHVlVHlwZUVudW06W3t0eXBlOmF9XSx2YWx1ZVR5cGVzOlt7dHlwZTphfV0scmF3RGF0YTpbe3R5cGU6YX1dLHBvcG92ZXI6W3t0eXBlOmF9XSxrZXlzRGF0YUFwcGxpZWQ6W3t0eXBlOmx9XX19KTtjbGFzcyBvbyBleHRlbmRzIE97Z2V0IGRldmljZUluZm9UeXBlKCl7cmV0dXJuIHRoaXMuZGV2aWNlSW5mb1R5cGVWYWx1ZX1zZXQgZGV2aWNlSW5mb1R5cGUoZSl7dGhpcy5kZXZpY2VJbmZvVHlwZVZhbHVlIT09ZSYmKHRoaXMuZGV2aWNlSW5mb1R5cGVWYWx1ZT1lKX1jb25zdHJ1Y3RvcihlLHQsbixhKXtzdXBlcihlKSx0aGlzLnN0b3JlPWUsdGhpcy50cmFuc2xhdGU9dCx0aGlzLmRpYWxvZz1uLHRoaXMuZmI9YSx0aGlzLlNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXA9TG4sdGhpcy5EZXZpY2VJbmZvVHlwZT1rbix0aGlzLnVzZVNvdXJjZT0hMCx0aGlzLnJlcXVpcmVkPSExLHRoaXMuc291cmNlVHlwZXM9T2JqZWN0LnZhbHVlcyhUbiksdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5wcm9wYWdhdGVDaGFuZ2U9ZT0+e319bmdPbkluaXQoKXt0aGlzLm1hcHBpbmdGb3JtR3JvdXA9dGhpcy5mYi5ncm91cCh7ZGV2aWNlTmFtZUV4cHJlc3Npb246WyIiLHRoaXMucmVxdWlyZWQ/W3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXTpbdWUucGF0dGVybihrdCldXX0pLHRoaXMudXNlU291cmNlJiZ0aGlzLm1hcHBpbmdGb3JtR3JvdXAuYWRkQ29udHJvbCgiZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2UiLHRoaXMuZmIuY29udHJvbCh0aGlzLnNvdXJjZVR5cGVzWzBdLFtdKSksdGhpcy5kZXZpY2VJbmZvVHlwZT09PWtuLkZVTEwmJih0aGlzLnVzZVNvdXJjZSYmdGhpcy5tYXBwaW5nRm9ybUdyb3VwLmFkZENvbnRyb2woImRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlIix0aGlzLmZiLmNvbnRyb2wodGhpcy5zb3VyY2VUeXBlc1swXSxbXSkpLHRoaXMubWFwcGluZ0Zvcm1Hcm91cC5hZGRDb250cm9sKCJkZXZpY2VQcm9maWxlRXhwcmVzc2lvbiIsdGhpcy5mYi5jb250cm9sKCIiLHRoaXMucmVxdWlyZWQ/W3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXTpbdWUucGF0dGVybihrdCldKSkpLHRoaXMubWFwcGluZ0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy51cGRhdGVWaWV3KGUpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpLHN1cGVyLm5nT25EZXN0cm95KCl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLnByb3BhZ2F0ZUNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe313cml0ZVZhbHVlKGUpe3RoaXMubWFwcGluZ0Zvcm1Hcm91cC5wYXRjaFZhbHVlKGUse2VtaXRFdmVudDohMX0pfXZhbGlkYXRlKCl7cmV0dXJuIHRoaXMubWFwcGluZ0Zvcm1Hcm91cC52YWxpZD9udWxsOnttYXBwaW5nRm9ybTp7dmFsaWQ6ITF9fX11cGRhdGVWaWV3KGUpe3RoaXMucHJvcGFnYXRlQ2hhbmdlKGUpfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6b28sZGVwczpbe3Rva2VuOm90LlN0b3JlfSx7dG9rZW46WS5UcmFuc2xhdGVTZXJ2aWNlfSx7dG9rZW46SmUuTWF0RGlhbG9nfSx7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOm9vLHNlbGVjdG9yOiJ0Yi1kZXZpY2UtaW5mby10YWJsZSIsaW5wdXRzOnt1c2VTb3VyY2U6InVzZVNvdXJjZSIscmVxdWlyZWQ6InJlcXVpcmVkIixzb3VyY2VUeXBlczoic291cmNlVHlwZXMiLGRldmljZUluZm9UeXBlOiJkZXZpY2VJbmZvVHlwZSJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9Pm9vKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5vbykpLG11bHRpOiEwfV0sdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG5cbjxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCIgW2Zvcm1Hcm91cF09Im1hcHBpbmdGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiBbY2xhc3MudGItcmVxdWlyZWRdPSJyZXF1aXJlZCIgdHJhbnNsYXRlPmRldmljZS5kZXZpY2U8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZSBuby1wYWRkaW5nIG5vLWdhcCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1oZWFkZXIiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1oZWFkZXItY2VsbCB0YWJsZS1uYW1lLWNvbHVtbiIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLWluZm8uZW50aXR5LWZpZWxkPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPSJ1c2VTb3VyY2UiIGNsYXNzPSJ0Yi1mb3JtLXRhYmxlLWhlYWRlci1jZWxsIHRhYmxlLWNvbHVtbiIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLWluZm8uc291cmNlPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXRhYmxlLWhlYWRlci1jZWxsIHRhYmxlLWNvbHVtbiIgdHJhbnNsYXRlPlxuICAgICAgICBnYXRld2F5LmRldmljZS1pbmZvLmV4cHJlc3Npb25cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtYm9keSBuby1nYXAiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1yb3cgdGItZm9ybS1yb3cgbm8tYm9yZGVyIHNhbWUtcGFkZGluZyB0b3Atc2FtZS1wYWRkaW5nIlxuICAgICAgICAgICBbY2xhc3MuYm90dG9tLXNhbWUtcGFkZGluZ109ImRldmljZUluZm9UeXBlICE9PSBEZXZpY2VJbmZvVHlwZS5GVUxMIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1pbmZvLm5hbWU8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAgcmF3LXZhbHVlLW9wdGlvbiIgKm5nSWY9InVzZVNvdXJjZSI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2UiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNvdXJjZVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICB7eyBTb3VyY2VUeXBlVHJhbnNsYXRpb25zTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtcm93LWNlbGwgdGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLWluZm8uZGV2aWNlLW5hbWUtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lRXhwcmVzc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlTmFtZUV4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj0iXCduYW1lLWZpZWxkXCcgfCBnZXRHYXRld2F5SGVscExpbmsgOiBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVFeHByZXNzaW9uU291cmNlXCcpLnZhbHVlIDogc291cmNlVHlwZXMiXG4gICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCduYW1lLWZpZWxkXCcgfCBnZXRHYXRld2F5SGVscExpbmsgOiBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVFeHByZXNzaW9uU291cmNlXCcpLnZhbHVlIDogc291cmNlVHlwZXMiXG4gICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1yb3cgdGItZm9ybS1yb3cgbm8tYm9yZGVyIHNhbWUtcGFkZGluZyBib3R0b20tc2FtZS1wYWRkaW5nIlxuICAgICAgICAgICAqbmdJZj0iZGV2aWNlSW5mb1R5cGUgPT09IERldmljZUluZm9UeXBlLkZVTEwiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLWluZm8ucHJvZmlsZS1uYW1lPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIHJhdy12YWx1ZS1vcHRpb24iICpuZ0lmPSJ1c2VTb3VyY2UiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBzb3VyY2VUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAge3sgU291cmNlVHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXRhYmxlLXJvdy1jZWxsIHRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZVByb2ZpbGVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1pbmZvLmRldmljZS1wcm9maWxlLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlUHJvZmlsZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZVByb2ZpbGVFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9IlwncHJvZmlsZS1uYW1lXCcgfCBnZXRHYXRld2F5SGVscExpbms6IG1hcHBpbmdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlUHJvZmlsZUV4cHJlc3Npb25Tb3VyY2VcJykudmFsdWUgOiBzb3VyY2VUeXBlcyJcbiAgICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3Byb2ZpbGUtbmFtZVwnIHwgZ2V0R2F0ZXdheUhlbHBMaW5rOiBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlXCcpLnZhbHVlIDogc291cmNlVHlwZXMiXG4gICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9ja306aG9zdCAudGItZm9ybS1yb3cuYm90dG9tLXNhbWUtcGFkZGluZ3twYWRkaW5nLWJvdHRvbToxNnB4fTpob3N0IC50Yi1mb3JtLXJvdy50b3Atc2FtZS1wYWRkaW5ne3BhZGRpbmctdG9wOjE2cHh9Omhvc3QgLnRiLWZvcm0tcm93IC5maXhlZC10aXRsZS13aWR0aHt3aWR0aDoxOSV9Omhvc3QgLnRhYmxlLWNvbHVtbnt3aWR0aDo0MCV9Omhvc3QgLnRhYmxlLW5hbWUtY29sdW1ue3dpZHRoOjIwJX06aG9zdCAucmF3LW5hbWV7d2lkdGg6MTklfTpob3N0IC5yYXctdmFsdWUtb3B0aW9ue21heC13aWR0aDo0MCV9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLWZvcm0tZmllbGQtaWNvbi1zdWZmaXh7ZGlzcGxheTpmbGV4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpndC5IZWxwUG9wdXBDb21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oZWxwLXBvcHVwXSwgW3RiLWhlbHAtcG9wdXAtY29udGVudF0iLGlucHV0czpbInRiLWhlbHAtcG9wdXAiLCJ0Yi1oZWxwLXBvcHVwLWNvbnRlbnQiLCJ0cmlnZ2VyLXRleHQiLCJ0cmlnZ2VyLXN0eWxlIiwidGItaGVscC1wb3B1cC1wbGFjZW1lbnQiLCJ0Yi1oZWxwLXBvcHVwLXN0eWxlIiwiaGludE1vZGUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRTdWZmaXgsc2VsZWN0b3I6IlttYXRTdWZmaXhdLCBbbWF0SWNvblN1ZmZpeF0sIFttYXRUZXh0U3VmZml4XSIsaW5wdXRzOlsibWF0VGV4dFN1ZmZpeCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOndlLk1hdFNlbGVjdCxzZWxlY3RvcjoibWF0LXNlbGVjdCIsaW5wdXRzOlsiYXJpYS1kZXNjcmliZWRieSIsInBhbmVsQ2xhc3MiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3IiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwibXVsdGlwbGUiLCJkaXNhYmxlT3B0aW9uQ2VudGVyaW5nIiwiY29tcGFyZVdpdGgiLCJ2YWx1ZSIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJlcnJvclN0YXRlTWF0Y2hlciIsInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLCJzb3J0Q29tcGFyYXRvciIsImlkIiwicGFuZWxXaWR0aCJdLG91dHB1dHM6WyJvcGVuZWRDaGFuZ2UiLCJvcGVuZWQiLCJjbG9zZWQiLCJzZWxlY3Rpb25DaGFuZ2UiLCJ2YWx1ZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2VsZWN0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoicGlwZSIsdHlwZTpUYSxuYW1lOiJnZXRHYXRld2F5SGVscExpbmsifV0sY2hhbmdlRGV0ZWN0aW9uOnQuQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNofSl9fWUoIkRldmljZUluZm9UYWJsZUNvbXBvbmVudCIsb28pLEhlKFtOKCldLG9vLnByb3RvdHlwZSwidXNlU291cmNlIix2b2lkIDApLEhlKFtOKCldLG9vLnByb3RvdHlwZSwicmVxdWlyZWQiLHZvaWQgMCksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpvbyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItZGV2aWNlLWluZm8tdGFibGUiLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5vbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+b28pKSxtdWx0aTohMH1dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuXG48ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiIFtmb3JtR3JvdXBdPSJtYXBwaW5nRm9ybUdyb3VwIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgW2NsYXNzLnRiLXJlcXVpcmVkXT0icmVxdWlyZWQiIHRyYW5zbGF0ZT5kZXZpY2UuZGV2aWNlPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUgbm8tcGFkZGluZyBuby1nYXAiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtaGVhZGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtaGVhZGVyLWNlbGwgdGFibGUtbmFtZS1jb2x1bW4iIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1pbmZvLmVudGl0eS1maWVsZDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj0idXNlU291cmNlIiBjbGFzcz0idGItZm9ybS10YWJsZS1oZWFkZXItY2VsbCB0YWJsZS1jb2x1bW4iIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1pbmZvLnNvdXJjZTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1oZWFkZXItY2VsbCB0YWJsZS1jb2x1bW4iIHRyYW5zbGF0ZT5cbiAgICAgICAgZ2F0ZXdheS5kZXZpY2UtaW5mby5leHByZXNzaW9uXG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXRhYmxlLWJvZHkgbm8tZ2FwIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtcm93IHRiLWZvcm0tcm93IG5vLWJvcmRlciBzYW1lLXBhZGRpbmcgdG9wLXNhbWUtcGFkZGluZyJcbiAgICAgICAgICAgW2NsYXNzLmJvdHRvbS1zYW1lLXBhZGRpbmddPSJkZXZpY2VJbmZvVHlwZSAhPT0gRGV2aWNlSW5mb1R5cGUuRlVMTCI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5kZXZpY2UtaW5mby5uYW1lPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIHJhdy12YWx1ZS1vcHRpb24iICpuZ0lmPSJ1c2VTb3VyY2UiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVFeHByZXNzaW9uU291cmNlIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBzb3VyY2VUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAge3sgU291cmNlVHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXRhYmxlLXJvdy1jZWxsIHRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1pbmZvLmRldmljZS1uYW1lLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlTmFtZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9IlwnbmFtZS1maWVsZFwnIHwgZ2V0R2F0ZXdheUhlbHBMaW5rIDogbWFwcGluZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZVwnKS52YWx1ZSA6IHNvdXJjZVR5cGVzIlxuICAgICAgICAgICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09IlwnbmFtZS1maWVsZFwnIHwgZ2V0R2F0ZXdheUhlbHBMaW5rIDogbWFwcGluZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lRXhwcmVzc2lvblNvdXJjZVwnKS52YWx1ZSA6IHNvdXJjZVR5cGVzIlxuICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tdGFibGUtcm93IHRiLWZvcm0tcm93IG5vLWJvcmRlciBzYW1lLXBhZGRpbmcgYm90dG9tLXNhbWUtcGFkZGluZyJcbiAgICAgICAgICAgKm5nSWY9ImRldmljZUluZm9UeXBlID09PSBEZXZpY2VJbmZvVHlwZS5GVUxMIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1pbmZvLnByb2ZpbGUtbmFtZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCByYXctdmFsdWUtb3B0aW9uIiAqbmdJZj0idXNlU291cmNlIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VQcm9maWxlRXhwcmVzc2lvblNvdXJjZSI+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2Ygc291cmNlVHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgIHt7IFNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS10YWJsZS1yb3ctY2VsbCB0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VQcm9maWxlRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2UtaW5mby5kZXZpY2UtcHJvZmlsZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZVByb2ZpbGVFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VQcm9maWxlRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPSJcJ3Byb2ZpbGUtbmFtZVwnIHwgZ2V0R2F0ZXdheUhlbHBMaW5rOiBtYXBwaW5nRm9ybUdyb3VwLmdldChcJ2RldmljZVByb2ZpbGVFeHByZXNzaW9uU291cmNlXCcpLnZhbHVlIDogc291cmNlVHlwZXMiXG4gICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCdwcm9maWxlLW5hbWVcJyB8IGdldEdhdGV3YXlIZWxwTGluazogbWFwcGluZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VQcm9maWxlRXhwcmVzc2lvblNvdXJjZVwnKS52YWx1ZSA6IHNvdXJjZVR5cGVzIlxuICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6YmxvY2t9Omhvc3QgLnRiLWZvcm0tcm93LmJvdHRvbS1zYW1lLXBhZGRpbmd7cGFkZGluZy1ib3R0b206MTZweH06aG9zdCAudGItZm9ybS1yb3cudG9wLXNhbWUtcGFkZGluZ3twYWRkaW5nLXRvcDoxNnB4fTpob3N0IC50Yi1mb3JtLXJvdyAuZml4ZWQtdGl0bGUtd2lkdGh7d2lkdGg6MTklfTpob3N0IC50YWJsZS1jb2x1bW57d2lkdGg6NDAlfTpob3N0IC50YWJsZS1uYW1lLWNvbHVtbnt3aWR0aDoyMCV9Omhvc3QgLnJhdy1uYW1le3dpZHRoOjE5JX06aG9zdCAucmF3LXZhbHVlLW9wdGlvbnttYXgtd2lkdGg6NDAlfTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm90LlN0b3JlfSx7dHlwZTpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0eXBlOkplLk1hdERpYWxvZ30se3R5cGU6bWUuRm9ybUJ1aWxkZXJ9XSxwcm9wRGVjb3JhdG9yczp7dXNlU291cmNlOlt7dHlwZTphfV0scmVxdWlyZWQ6W3t0eXBlOmF9XSxzb3VyY2VUeXBlczpbe3R5cGU6YX1dLGRldmljZUluZm9UeXBlOlt7dHlwZTphfV19fSk7Y2xhc3MgaW8gZXh0ZW5kcyBQe2NvbnN0cnVjdG9yKGUsdCxuLGEsbyxpLHIscyxsKXtzdXBlcihlLHQsYSksdGhpcy5zdG9yZT1lLHRoaXMucm91dGVyPXQsdGhpcy5kYXRhPW4sdGhpcy5kaWFsb2dSZWY9YSx0aGlzLmZiPW8sdGhpcy5wb3BvdmVyU2VydmljZT1pLHRoaXMucmVuZGVyZXI9cix0aGlzLnZpZXdDb250YWluZXJSZWY9cyx0aGlzLnRyYW5zbGF0ZT1sLHRoaXMuTWFwcGluZ1R5cGU9Zm4sdGhpcy5xdWFsaXR5VHlwZXM9eG4sdGhpcy5RdWFsaXR5VHJhbnNsYXRpb25zTWFwPXZuLHRoaXMuY29udmVydG9yVHlwZXM9T2JqZWN0LnZhbHVlcyh3biksdGhpcy5Db252ZXJ0b3JUeXBlRW51bT13bix0aGlzLkNvbnZlcnRvclR5cGVUcmFuc2xhdGlvbnNNYXA9Q24sdGhpcy5zb3VyY2VUeXBlcz1PYmplY3QudmFsdWVzKFRuKSx0aGlzLk9QQ1VhU291cmNlVHlwZXM9T2JqZWN0LnZhbHVlcyhTbiksdGhpcy5PUENVYVNvdXJjZVR5cGVzRW51bT1Tbix0aGlzLnNvdXJjZVR5cGVzRW51bT1Ubix0aGlzLlNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXA9TG4sdGhpcy5yZXF1ZXN0VHlwZXM9T2JqZWN0LnZhbHVlcyhJbiksdGhpcy5SZXF1ZXN0VHlwZUVudW09SW4sdGhpcy5SZXF1ZXN0VHlwZXNUcmFuc2xhdGlvbnNNYXA9QW4sdGhpcy5EZXZpY2VJbmZvVHlwZT1rbix0aGlzLlNlcnZlclNpZGVSUENUeXBlPVBuLHRoaXMuTWFwcGluZ0tleXNUeXBlPU5uLHRoaXMuTWFwcGluZ0hpbnRUcmFuc2xhdGlvbnNNYXA9Ym4sdGhpcy5NYXBwaW5nVHlwZVRyYW5zbGF0aW9uc01hcD15bix0aGlzLkRhdGFDb252ZXJzaW9uVHJhbnNsYXRpb25zTWFwPUJuLHRoaXMuSGVscExpbmtCeU1hcHBpbmdUeXBlTWFwPWhuLHRoaXMua2V5c1BvcHVwQ2xvc2VkPSEwLHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMuY3JlYXRlTWFwcGluZ0Zvcm0oKX1nZXQgY29udmVydGVyQXR0cmlidXRlcygpe2lmKHRoaXMuY29udmVydGVyVHlwZSlyZXR1cm4gdGhpcy5tYXBwaW5nRm9ybS5nZXQoImNvbnZlcnRlciIpLmdldCh0aGlzLmNvbnZlcnRlclR5cGUpLnZhbHVlLmF0dHJpYnV0ZXMubWFwKChlPT5lLmtleSkpfWdldCBjb252ZXJ0ZXJUZWxlbWV0cnkoKXtpZih0aGlzLmNvbnZlcnRlclR5cGUpcmV0dXJuIHRoaXMubWFwcGluZ0Zvcm0uZ2V0KCJjb252ZXJ0ZXIiKS5nZXQodGhpcy5jb252ZXJ0ZXJUeXBlKS52YWx1ZS50aW1lc2VyaWVzLm1hcCgoZT0+ZS5rZXkpKX1nZXQgb3BjQXR0cmlidXRlcygpe3JldHVybiB0aGlzLm1hcHBpbmdGb3JtLmdldCgiYXR0cmlidXRlcyIpLnZhbHVlPy5tYXAoKGU9PmUua2V5KSl8fFtdfWdldCBvcGNUZWxlbWV0cnkoKXtyZXR1cm4gdGhpcy5tYXBwaW5nRm9ybS5nZXQoInRpbWVzZXJpZXMiKS52YWx1ZT8ubWFwKChlPT5lLmtleSkpfHxbXX1nZXQgb3BjUnBjTWV0aG9kcygpe3JldHVybiB0aGlzLm1hcHBpbmdGb3JtLmdldCgicnBjX21ldGhvZHMiKS52YWx1ZT8ubWFwKChlPT5lLm1ldGhvZCkpfHxbXX1nZXQgb3BjQXR0cmlidXRlc1VwZGF0ZXMoKXtyZXR1cm4gdGhpcy5tYXBwaW5nRm9ybS5nZXQoImF0dHJpYnV0ZXNfdXBkYXRlcyIpPy52YWx1ZT8ubWFwKChlPT5lLmtleSkpfHxbXX1nZXQgY29udmVydGVyVHlwZSgpe3JldHVybiB0aGlzLm1hcHBpbmdGb3JtLmdldCgiY29udmVydGVyIikuZ2V0KCJ0eXBlIikudmFsdWV9Z2V0IGN1c3RvbUtleXMoKXtyZXR1cm4gT2JqZWN0LmtleXModGhpcy5tYXBwaW5nRm9ybS5nZXQoImNvbnZlcnRlciIpLmdldCgiY3VzdG9tIikudmFsdWUuZXh0ZW5zaW9uQ29uZmlnKX1nZXQgcmVxdWVzdE1hcHBpbmdUeXBlKCl7cmV0dXJuIHRoaXMubWFwcGluZ0Zvcm0uZ2V0KCJyZXF1ZXN0VHlwZSIpLnZhbHVlfWdldCByZXNwb25zZVRpbWVvdXRFcnJvclRvb2x0aXAoKXtjb25zdCBlPXRoaXMubWFwcGluZ0Zvcm0uZ2V0KCJyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5yZXNwb25zZVRpbWVvdXQiKTtyZXR1cm4gZS5oYXNFcnJvcigicmVxdWlyZWQiKT90aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LnJlc3BvbnNlLXRpbWVvdXQtcmVxdWlyZWQiKTplLmhhc0Vycm9yKCJtaW4iKT90aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LnJlc3BvbnNlLXRpbWVvdXQtbGltaXRzLWVycm9yIix7bWluOjF9KToiIn1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKSxzdXBlci5uZ09uRGVzdHJveSgpfWNyZWF0ZU1hcHBpbmdGb3JtKCl7c3dpdGNoKHRoaXMuZGF0YS5tYXBwaW5nVHlwZSl7Y2FzZSBmbi5EQVRBOnRoaXMubWFwcGluZ0Zvcm09dGhpcy5mYi5ncm91cCh7fSksdGhpcy5jcmVhdGVEYXRhTWFwcGluZ0Zvcm0oKTticmVhaztjYXNlIGZuLlJFUVVFU1RTOnRoaXMubWFwcGluZ0Zvcm09dGhpcy5mYi5ncm91cCh7fSksdGhpcy5jcmVhdGVSZXF1ZXN0TWFwcGluZ0Zvcm0oKTticmVhaztjYXNlIGZuLk9QQ1VBOnRoaXMuY3JlYXRlT1BDVUFNYXBwaW5nRm9ybSgpfX1jYW5jZWwoKXt0aGlzLmtleXNQb3B1cENsb3NlZCYmdGhpcy5kaWFsb2dSZWYuY2xvc2UobnVsbCl9YWRkKCl7dGhpcy5tYXBwaW5nRm9ybS52YWxpZCYmdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5wcmVwYXJlTWFwcGluZ0RhdGEoKSl9bWFuYWdlS2V5cyhlLHQsbil7ZSYmZS5zdG9wUHJvcGFnYXRpb24oKTtjb25zdCBhPXQuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtpZih0aGlzLnBvcG92ZXJTZXJ2aWNlLmhhc1BvcG92ZXIoYSkpdGhpcy5wb3BvdmVyU2VydmljZS5oaWRlUG9wb3ZlcihhKTtlbHNle2NvbnN0IGU9KHRoaXMuZGF0YS5tYXBwaW5nVHlwZSE9PWZuLk9QQ1VBP3RoaXMubWFwcGluZ0Zvcm0uZ2V0KCJjb252ZXJ0ZXIiKS5nZXQodGhpcy5jb252ZXJ0ZXJUeXBlKTp0aGlzLm1hcHBpbmdGb3JtKS5nZXQobiksdD17a2V5czplLnZhbHVlLGtleXNUeXBlOm4scmF3RGF0YTp0aGlzLm1hcHBpbmdGb3JtLmdldCgiY29udmVydGVyLnR5cGUiKT8udmFsdWU9PT13bi5CWVRFUyxwYW5lbFRpdGxlOk1uLmdldChuKSxhZGRLZXlUaXRsZTpFbi5nZXQobiksZGVsZXRlS2V5VGl0bGU6cW4uZ2V0KG4pLG5vS2V5c1RleHQ6RG4uZ2V0KG4pfTt0aGlzLmRhdGEubWFwcGluZ1R5cGU9PT1mbi5PUENVQSYmKHQudmFsdWVUeXBlS2V5cz1PYmplY3QudmFsdWVzKFNuKSx0LnZhbHVlVHlwZUVudW09U24sdC52YWx1ZVR5cGVzPUxuKSx0aGlzLmtleXNQb3B1cENsb3NlZD0hMTtjb25zdCBvPXRoaXMucG9wb3ZlclNlcnZpY2UuZGlzcGxheVBvcG92ZXIoYSx0aGlzLnJlbmRlcmVyLHRoaXMudmlld0NvbnRhaW5lclJlZixhbywibGVmdEJvdHRvbSIsITEsbnVsbCx0LHt9LHt9LHt9LCEwKTtvLnRiQ29tcG9uZW50UmVmLmluc3RhbmNlLnBvcG92ZXI9byxvLnRiQ29tcG9uZW50UmVmLmluc3RhbmNlLmtleXNEYXRhQXBwbGllZC5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHQ9PntvLmhpZGUoKSxlLnBhdGNoVmFsdWUodCksZS5tYXJrQXNEaXJ0eSgpfSkpLG8udGJIaWRlU3RhcnQucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMua2V5c1BvcHVwQ2xvc2VkPSEwfSkpfX1wcmVwYXJlTWFwcGluZ0RhdGEoKXtjb25zdCBlPXRoaXMubWFwcGluZ0Zvcm0udmFsdWU7c3dpdGNoKHRoaXMuZGF0YS5tYXBwaW5nVHlwZSl7Y2FzZSBmbi5EQVRBOmNvbnN0e2NvbnZlcnRlcjp0LHRvcGljRmlsdGVyOm4sc3Vic2NyaXB0aW9uUW9zOmF9PWU7cmV0dXJue3RvcGljRmlsdGVyOm4sc3Vic2NyaXB0aW9uUW9zOmEsY29udmVydGVyOnt0eXBlOnQudHlwZSwuLi50W3QudHlwZV19fTtjYXNlIGZuLlJFUVVFU1RTOnJldHVybntyZXF1ZXN0VHlwZTplLnJlcXVlc3RUeXBlLHJlcXVlc3RWYWx1ZTplLnJlcXVlc3RWYWx1ZVtlLnJlcXVlc3RUeXBlXX07ZGVmYXVsdDpyZXR1cm4gZX19Z2V0Rm9ybVZhbHVlRGF0YSgpe2lmKHRoaXMuZGF0YS52YWx1ZSYmT2JqZWN0LmtleXModGhpcy5kYXRhLnZhbHVlKS5sZW5ndGgpc3dpdGNoKHRoaXMuZGF0YS5tYXBwaW5nVHlwZSl7Y2FzZSBmbi5EQVRBOmNvbnN0e2NvbnZlcnRlcjplLHRvcGljRmlsdGVyOnQsc3Vic2NyaXB0aW9uUW9zOm59PXRoaXMuZGF0YS52YWx1ZTtyZXR1cm57dG9waWNGaWx0ZXI6dCxzdWJzY3JpcHRpb25Rb3M6bixjb252ZXJ0ZXI6e3R5cGU6ZS50eXBlLFtlLnR5cGVdOnsuLi5lfX19O2Nhc2UgZm4uUkVRVUVTVFM6cmV0dXJue3JlcXVlc3RUeXBlOnRoaXMuZGF0YS52YWx1ZS5yZXF1ZXN0VHlwZSxyZXF1ZXN0VmFsdWU6e1t0aGlzLmRhdGEudmFsdWUucmVxdWVzdFR5cGVdOnRoaXMuZGF0YS52YWx1ZS5yZXF1ZXN0VmFsdWV9fTtkZWZhdWx0OnJldHVybiB0aGlzLmRhdGEudmFsdWV9fWNyZWF0ZURhdGFNYXBwaW5nRm9ybSgpe3RoaXMubWFwcGluZ0Zvcm0uYWRkQ29udHJvbCgidG9waWNGaWx0ZXIiLHRoaXMuZmIuY29udHJvbCgiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldKSksdGhpcy5tYXBwaW5nRm9ybS5hZGRDb250cm9sKCJzdWJzY3JpcHRpb25Rb3MiLHRoaXMuZmIuY29udHJvbCgwKSksdGhpcy5tYXBwaW5nRm9ybS5hZGRDb250cm9sKCJjb252ZXJ0ZXIiLHRoaXMuZmIuZ3JvdXAoe3R5cGU6W3duLkpTT04sW11dLGpzb246dGhpcy5mYi5ncm91cCh7ZGV2aWNlSW5mbzpbe30sW11dLGF0dHJpYnV0ZXM6W1tdLFtdXSx0aW1lc2VyaWVzOltbXSxbXV19KSxieXRlczp0aGlzLmZiLmdyb3VwKHtkZXZpY2VJbmZvOlt7fSxbXV0sYXR0cmlidXRlczpbW10sW11dLHRpbWVzZXJpZXM6W1tdLFtdXX0pLGN1c3RvbTp0aGlzLmZiLmdyb3VwKHtleHRlbnNpb246WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLGV4dGVuc2lvbkNvbmZpZzpbe30sW11dfSl9KSksdGhpcy5tYXBwaW5nRm9ybS5wYXRjaFZhbHVlKHRoaXMuZ2V0Rm9ybVZhbHVlRGF0YSgpKSx0aGlzLm1hcHBpbmdGb3JtLmdldCgiY29udmVydGVyLnR5cGUiKS52YWx1ZUNoYW5nZXMucGlwZShSZSh0aGlzLm1hcHBpbmdGb3JtLmdldCgiY29udmVydGVyLnR5cGUiKS52YWx1ZSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2NvbnN0IHQ9dGhpcy5tYXBwaW5nRm9ybS5nZXQoImNvbnZlcnRlciIpO3QuZ2V0KCJqc29uIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoImJ5dGVzIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoImN1c3RvbSIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KGUpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSl9KSl9Y3JlYXRlUmVxdWVzdE1hcHBpbmdGb3JtKCl7dGhpcy5tYXBwaW5nRm9ybS5hZGRDb250cm9sKCJyZXF1ZXN0VHlwZSIsdGhpcy5mYi5jb250cm9sKEluLkNPTk5FQ1RfUkVRVUVTVCxbXSkpLHRoaXMubWFwcGluZ0Zvcm0uYWRkQ29udHJvbCgicmVxdWVzdFZhbHVlIix0aGlzLmZiLmdyb3VwKHtjb25uZWN0UmVxdWVzdHM6dGhpcy5mYi5ncm91cCh7dG9waWNGaWx0ZXI6WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLGRldmljZUluZm86W3t9LFtdXX0pLGRpc2Nvbm5lY3RSZXF1ZXN0czp0aGlzLmZiLmdyb3VwKHt0b3BpY0ZpbHRlcjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sZGV2aWNlSW5mbzpbe30sW11dfSksYXR0cmlidXRlUmVxdWVzdHM6dGhpcy5mYi5ncm91cCh7dG9waWNGaWx0ZXI6WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLGRldmljZUluZm86dGhpcy5mYi5ncm91cCh7ZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2U6W1RuLk1TRyxbXV0sZGV2aWNlTmFtZUV4cHJlc3Npb246WyIiLFt1ZS5yZXF1aXJlZF1dfSksYXR0cmlidXRlTmFtZUV4cHJlc3Npb25Tb3VyY2U6W1RuLk1TRyxbXV0sYXR0cmlidXRlTmFtZUV4cHJlc3Npb246WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHRvcGljRXhwcmVzc2lvbjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sdmFsdWVFeHByZXNzaW9uOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxyZXRhaW46WyExLFtdXX0pLGF0dHJpYnV0ZVVwZGF0ZXM6dGhpcy5mYi5ncm91cCh7ZGV2aWNlTmFtZUZpbHRlcjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sYXR0cmlidXRlRmlsdGVyOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx0b3BpY0V4cHJlc3Npb246WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHZhbHVlRXhwcmVzc2lvbjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmV0YWluOlshMCxbXV19KSxzZXJ2ZXJTaWRlUnBjOnRoaXMuZmIuZ3JvdXAoe3R5cGU6W1BuLlRXT19XQVksW11dLGRldmljZU5hbWVGaWx0ZXI6WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLG1ldGhvZEZpbHRlcjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVxdWVzdFRvcGljRXhwcmVzc2lvbjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVzcG9uc2VUb3BpY0V4cHJlc3Npb246WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHZhbHVlRXhwcmVzc2lvbjpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scmVzcG9uc2VUb3BpY1FvUzpbMCxbXV0scmVzcG9uc2VUaW1lb3V0OlsxZTQsW3VlLnJlcXVpcmVkLHVlLm1pbigxKV1dfSl9KSksdGhpcy5tYXBwaW5nRm9ybS5nZXQoInJlcXVlc3RUeXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoUmUodGhpcy5tYXBwaW5nRm9ybS5nZXQoInJlcXVlc3RUeXBlIikudmFsdWUpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pntjb25zdCB0PXRoaXMubWFwcGluZ0Zvcm0uZ2V0KCJyZXF1ZXN0VmFsdWUiKTt0LmdldCgiY29ubmVjdFJlcXVlc3RzIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoImRpc2Nvbm5lY3RSZXF1ZXN0cyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJhdHRyaWJ1dGVSZXF1ZXN0cyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJhdHRyaWJ1dGVVcGRhdGVzIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoInNlcnZlclNpZGVScGMiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSx0LmdldChlKS5lbmFibGUoKX0pKSx0aGlzLm1hcHBpbmdGb3JtLmdldCgicmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMudHlwZSIpLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pntjb25zdCB0PXRoaXMubWFwcGluZ0Zvcm0uZ2V0KCJyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYyIpO2U9PT1Qbi5PTkVfV0FZPyh0LmdldCgicmVzcG9uc2VUb3BpY0V4cHJlc3Npb24iKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSx0LmdldCgicmVzcG9uc2VUb3BpY1FvUyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJyZXNwb25zZVRpbWVvdXQiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSk6KHQuZ2V0KCJyZXNwb25zZVRvcGljRXhwcmVzc2lvbiIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoInJlc3BvbnNlVG9waWNRb1MiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJyZXNwb25zZVRpbWVvdXQiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pKX0pKSx0aGlzLm1hcHBpbmdGb3JtLnBhdGNoVmFsdWUodGhpcy5nZXRGb3JtVmFsdWVEYXRhKCkpfWNyZWF0ZU9QQ1VBTWFwcGluZ0Zvcm0oKXt0aGlzLm1hcHBpbmdGb3JtPXRoaXMuZmIuZ3JvdXAoe2RldmljZU5vZGVTb3VyY2U6W1NuLlBBVEgsW11dLGRldmljZU5vZGVQYXR0ZXJuOlsiIixbdWUucmVxdWlyZWRdXSxkZXZpY2VJbmZvOlt7fSxbXV0sYXR0cmlidXRlczpbW10sW11dLHRpbWVzZXJpZXM6W1tdLFtdXSxycGNfbWV0aG9kczpbW10sW11dLGF0dHJpYnV0ZXNfdXBkYXRlczpbW10sW11dfSksdGhpcy5tYXBwaW5nRm9ybS5wYXRjaFZhbHVlKHRoaXMuZ2V0Rm9ybVZhbHVlRGF0YSgpKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmlvLGRlcHM6W3t0b2tlbjpvdC5TdG9yZX0se3Rva2VuOml0LlJvdXRlcn0se3Rva2VuOlhlfSx7dG9rZW46SmUuTWF0RGlhbG9nUmVmfSx7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjpmdC5UYlBvcG92ZXJTZXJ2aWNlfSx7dG9rZW46dC5SZW5kZXJlcjJ9LHt0b2tlbjp0LlZpZXdDb250YWluZXJSZWZ9LHt0b2tlbjpZLlRyYW5zbGF0ZVNlcnZpY2V9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOmlvLHNlbGVjdG9yOiJ0Yi1tYXBwaW5nLWRpYWxvZyIsdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG5cbjxkaXYgW2Zvcm1Hcm91cF09Im1hcHBpbmdGb3JtIiBjbGFzcz0ia2V5LW1hcHBpbmciPlxuICA8bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICAgIDxoMj57eyBNYXBwaW5nVHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodGhpcy5kYXRhPy5tYXBwaW5nVHlwZSkgfCB0cmFuc2xhdGV9fTwvaDI+XG4gICAgPHNwYW4gZnhGbGV4Pjwvc3Bhbj5cbiAgICA8ZGl2IFt0Yi1oZWxwXT0iSGVscExpbmtCeU1hcHBpbmdUeXBlTWFwLmdldCh0aGlzLmRhdGEubWFwcGluZ1R5cGUpIj48L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L21hdC10b29sYmFyPlxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwiPlxuICAgICAgICB7eyBNYXBwaW5nSGludFRyYW5zbGF0aW9uc01hcC5nZXQodGhpcy5kYXRhPy5tYXBwaW5nVHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJkYXRhLm1hcHBpbmdUeXBlIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJNYXBwaW5nVHlwZS5EQVRBIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS50b3BpYy1maWx0ZXI8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idG9waWNGaWx0ZXIiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnRvcGljLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwndG9waWNGaWx0ZXJcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwndG9waWNGaWx0ZXJcJykudG91Y2hlZDsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS90b3BpYy1maWx0ZXJfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5yZXNwb25zZS10b3BpYy1Rb3MtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1xdHQtcW9zXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ic3Vic2NyaXB0aW9uUW9zIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2YgcXVhbGl0eVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAge3sgUXVhbGl0eVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIGZvcm1Hcm91cE5hbWU9ImNvbnZlcnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucGF5bG9hZC10eXBlPC9kaXY+XG4gICAgICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBjb252ZXJ0b3JUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAgICB7eyBDb252ZXJ0b3JUeXBlVHJhbnNsYXRpb25zTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5kYXRhLWNvbnZlcnNpb248L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCI+XG4gICAgICAgICAgICAgICAge3sgRGF0YUNvbnZlcnNpb25UcmFuc2xhdGlvbnNNYXAuZ2V0KGNvbnZlcnRlclR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBOYW1lXT0iY29udmVydGVyVHlwZSIgW25nU3dpdGNoXT0iY29udmVydGVyVHlwZSI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJDb252ZXJ0b3JUeXBlRW51bS5KU09OIj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1kZXZpY2UtaW5mby10YWJsZSBmb3JtQ29udHJvbE5hbWU9ImRldmljZUluZm8iIFtkZXZpY2VJbmZvVHlwZV09IkRldmljZUluZm9UeXBlLkZVTEwiIHJlcXVpcmVkPSJ0cnVlIj5cbiAgICAgICAgICAgICAgICAgIDwvdGItZGV2aWNlLWluZm8tdGFibGU+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbnZlcnRvclR5cGVFbnVtLkJZVEVTIj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1kZXZpY2UtaW5mby10YWJsZSBmb3JtQ29udHJvbE5hbWU9ImRldmljZUluZm8iIFtkZXZpY2VJbmZvVHlwZV09IkRldmljZUluZm9UeXBlLkZVTEwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NvdXJjZVR5cGVzXT0iW3NvdXJjZVR5cGVzRW51bS5NU0csIHNvdXJjZVR5cGVzRW51bS5DT05TVF0iIHJlcXVpcmVkPSJ0cnVlIj5cbiAgICAgICAgICAgICAgICAgIDwvdGItZGV2aWNlLWluZm8tdGFibGU+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIlxuICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImNvbnZlcnRlclR5cGUgPT09IENvbnZlcnRvclR5cGVFbnVtLkJZVEVTIHx8IGNvbnZlcnRlclR5cGUgPT09IENvbnZlcnRvclR5cGVFbnVtLkpTT04iPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZXM8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0Ym94IFt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdPSJjb252ZXJ0ZXJBdHRyaWJ1dGVzIiBjbGFzcz0idGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCBhdHRyaWJ1dGUgb2YgY29udmVydGVyQXR0cmlidXRlcyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgYXR0cmlidXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNhdHRyaWJ1dGVzQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgYXR0cmlidXRlc0J1dHRvbiwgTWFwcGluZ0tleXNUeXBlLkFUVFJJQlVURVMpIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50aW1lc2VyaWVzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggZWxsaXBzaXMtY2hpcHMtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoaXAtbGlzdGJveCBjbGFzcz0idGItZmxleCIgW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09ImNvbnZlcnRlclRlbGVtZXRyeSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgdGVsZW1ldHJ5IG9mIGNvbnZlcnRlclRlbGVtZXRyeSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRlbGVtZXRyeSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3RlbGVtZXRyeUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIHRlbGVtZXRyeUJ1dHRvbiwgTWFwcGluZ0tleXNUeXBlLlRJTUVTRVJJRVMpIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIiAqbmdJZj0iY29udmVydGVyVHlwZSA9PT0gQ29udmVydG9yVHlwZUVudW0uQ1VTVE9NIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmV4dGVuc2lvbi1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5leHRlbnNpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZXh0ZW5zaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmV4dGVuc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwnY29udmVydGVyLmN1c3RvbS5leHRlbnNpb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdjb252ZXJ0ZXIuY3VzdG9tLmV4dGVuc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gc2FtZS1wYWRkaW5nIHRiLWZsZXggY29sdW1uIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuZXh0ZW5zaW9uLWNvbmZpZ3VyYXRpb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCI+e3sgXCdnYXRld2F5LmV4dGVuc2lvbi1jb25maWd1cmF0aW9uLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5rZXlzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09ImN1c3RvbUtleXMiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IHRlbGVtZXRyeSBvZiBjdXN0b21LZXlzIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB0ZWxlbWV0cnkgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAja2V5c0J1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwga2V5c0J1dHRvbiwgTWFwcGluZ0tleXNUeXBlLkNVU1RPTSkiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGItaWNvbiBtYXRCdXR0b25JY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJNYXBwaW5nVHlwZS5SRVFVRVNUUyI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnJlcXVlc3QtdHlwZTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icmVxdWVzdFR5cGUiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHJlcXVlc3RUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgUmVxdWVzdFR5cGVzVHJhbnNsYXRpb25zTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgZm9ybUdyb3VwTmFtZT0icmVxdWVzdFZhbHVlIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlXCcpLmdldChyZXF1ZXN0TWFwcGluZ1R5cGUpIiBbbmdTd2l0Y2hdPSJyZXF1ZXN0TWFwcGluZ1R5cGUiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiXG4gICAgICAgICAgICAgICAgICAgICAqbmdJZj0icmVxdWVzdE1hcHBpbmdUeXBlID09PSBSZXF1ZXN0VHlwZUVudW0uQVRUUklCVVRFX1JFUVVFU1QgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0TWFwcGluZ1R5cGUgPT09IFJlcXVlc3RUeXBlRW51bS5DT05ORUNUX1JFUVVFU1QgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0TWFwcGluZ1R5cGUgPT09IFJlcXVlc3RUeXBlRW51bS5ESVNDT05ORUNUX1JFUVVFU1QiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnRvcGljLWZpbHRlcjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgW2Zvcm1Db250cm9sXT0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlXCcpLmdldChyZXF1ZXN0TWFwcGluZ1R5cGUpLmdldChcJ3RvcGljRmlsdGVyXCcpIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS50b3BpYy1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZVwnKS5nZXQocmVxdWVzdE1hcHBpbmdUeXBlKS5nZXQoXCd0b3BpY0ZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWVcJykuZ2V0KHJlcXVlc3RNYXBwaW5nVHlwZSkuZ2V0KFwndG9waWNGaWx0ZXJcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L3RvcGljLWZpbHRlcl9mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IlJlcXVlc3RUeXBlRW51bS5DT05ORUNUX1JFUVVFU1QiPlxuICAgICAgICAgICAgICAgICAgPHRiLWRldmljZS1pbmZvLXRhYmxlIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlSW5mbyIgW2RldmljZUluZm9UeXBlXT0iRGV2aWNlSW5mb1R5cGUuRlVMTCIgcmVxdWlyZWQ9InRydWUiPlxuICAgICAgICAgICAgICAgICAgPC90Yi1kZXZpY2UtaW5mby10YWJsZT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iUmVxdWVzdFR5cGVFbnVtLkRJU0NPTk5FQ1RfUkVRVUVTVCI+XG4gICAgICAgICAgICAgICAgICA8dGItZGV2aWNlLWluZm8tdGFibGUgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VJbmZvIiBbZGV2aWNlSW5mb1R5cGVdPSJEZXZpY2VJbmZvVHlwZS5QQVJUSUFMIiByZXF1aXJlZD0idHJ1ZSI+XG4gICAgICAgICAgICAgICAgICA8L3RiLWRldmljZS1pbmZvLXRhYmxlPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJSZXF1ZXN0VHlwZUVudW0uQVRUUklCVVRFX1JFUVVFU1QiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZnJvbS1kZXZpY2UtcmVxdWVzdC1zZXR0aW5nczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgZ2F0ZXdheS5mcm9tLWRldmljZS1yZXF1ZXN0LXNldHRpbmdzLWhpbnRcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiIGZvcm1Hcm91cE5hbWU9ImRldmljZUluZm8iPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLWZsZXggbm8tZmxleCBhbGlnbi1jZW50ZXIiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5kZXZpY2UtaW5mby5kZXZpY2UtbmFtZS1leHByZXNzaW9uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVFeHByZXNzaW9uU291cmNlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNvdXJjZVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2UtaW5mby5kZXZpY2UtbmFtZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iKG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy5kZXZpY2VJbmZvLmRldmljZU5hbWVFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy5kZXZpY2VJbmZvLmRldmljZU5hbWVFeHByZXNzaW9uXCcpLnRvdWNoZWQpIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5hdHRyaWJ1dGUtbmFtZS1leHByZXNzaW9uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImF0dHJpYnV0ZU5hbWVFeHByZXNzaW9uU291cmNlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNvdXJjZVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImF0dHJpYnV0ZU5hbWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuYXR0cmlidXRlLW5hbWUtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlUmVxdWVzdHMuYXR0cmlidXRlTmFtZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy5hdHRyaWJ1dGVOYW1lRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUgdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnRvLWRldmljZS1yZXNwb25zZS1zZXR0aW5nczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgZ2F0ZXdheS50by1kZXZpY2UtcmVzcG9uc2Utc2V0dGluZ3MtaGludFxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlc3BvbnNlLXZhbHVlLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkucmVzcG9uc2UtdmFsdWUtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlUmVxdWVzdHMudmFsdWVFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlUmVxdWVzdHMudmFsdWVFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlc3BvbnNlLXRvcGljLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idG9waWNFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkucmVzcG9uc2UtdG9waWMtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlUmVxdWVzdHMudG9waWNFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlUmVxdWVzdHMudG9waWNFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXRhaW4iPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LnJldGFpbi1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0YWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iUmVxdWVzdFR5cGVFbnVtLkFUVFJJQlVURV9VUERBVEUiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmRldmljZS1uYW1lLWZpbHRlclwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VOYW1lRmlsdGVyIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1uYW1lLWZpbHRlci1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVVwZGF0ZXMuZGV2aWNlTmFtZUZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLmRldmljZU5hbWVGaWx0ZXJcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuYXR0cmlidXRlLWZpbHRlci1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5hdHRyaWJ1dGUtZmlsdGVyXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImF0dHJpYnV0ZUZpbHRlciIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5hdHRyaWJ1dGUtZmlsdGVyLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy5hdHRyaWJ1dGVGaWx0ZXJcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLmF0dHJpYnV0ZUZpbHRlclwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkucmVzcG9uc2UtdmFsdWUtZXhwcmVzc2lvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkucmVzcG9uc2UtdmFsdWUtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVVwZGF0ZXMudmFsdWVFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy52YWx1ZUV4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5yZXNwb25zZS10b3BpYy1leHByZXNzaW9uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRvcGljRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXNwb25zZS10b3BpYy1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy50b3BpY0V4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy50b3BpY0V4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUgZml4ZWQtdGl0bGUtd2lkdGgiIGZvcm1Db250cm9sTmFtZT0icmV0YWluIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkucmV0YWluLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0YWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IlJlcXVlc3RUeXBlRW51bS5TRVJWRVJfU0lERV9SUEMiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCByb3cgY2VudGVyIGFsaWduLWNlbnRlciBuby1nYXAgZmlsbC13aWR0aCI+XG4gICAgICAgICAgICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gW3ZhbHVlXT0iU2VydmVyU2lkZVJQQ1R5cGUuVFdPX1dBWSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkud2l0aC1yZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uIFt2YWx1ZV09IlNlcnZlclNpZGVSUENUeXBlLk9ORV9XQVkiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LndpdGhvdXQtcmVzcG9uc2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmRldmljZS1uYW1lLWZpbHRlclwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VOYW1lRmlsdGVyIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1uYW1lLWZpbHRlci1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMuZGV2aWNlTmFtZUZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMuZGV2aWNlTmFtZUZpbHRlclwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5tZXRob2QtZmlsdGVyLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1ldGhvZC1maWx0ZXJcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ibWV0aG9kRmlsdGVyIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lm1ldGhvZC1maWx0ZXItcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLm1ldGhvZEZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMubWV0aG9kRmlsdGVyXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5yZXF1ZXN0LXRvcGljLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icmVxdWVzdFRvcGljRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXF1ZXN0LXRvcGljLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlcXVlc3RUb3BpY0V4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlcXVlc3RUb3BpY0V4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS52YWx1ZS1leHByZXNzaW9uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InZhbHVlRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy52YWx1ZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnZhbHVlRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy50eXBlXCcpLnZhbHVlID09PSBTZXJ2ZXJTaWRlUlBDVHlwZS5UV09fV0FZIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlc3BvbnNlLXRvcGljLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUb3BpY0V4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXNwb25zZS10b3BpYy1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlc3BvbnNlVG9waWNFeHByZXNzaW9uXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5yZXNwb25zZVRvcGljRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LnJlc3BvbnNlLXRvcGljLVFvcy1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJlc3BvbnNlLXRvcGljLVFvc1wnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRvcGljUW9TIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBxdWFsaXR5VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFF1YWxpdHlUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlc3BvbnNlLXRpbWVvdXQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIHR5cGU9Im51bWJlciIgbWluPSIxIiBmb3JtQ29udHJvbE5hbWU9InJlc3BvbnNlVGltZW91dCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0icmVzcG9uc2VUaW1lb3V0RXJyb3JUb29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5yZXNwb25zZVRpbWVvdXRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5yZXNwb25zZVRpbWVvdXRcJykuaGFzRXJyb3IoXCdtaW5cJykpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlc3BvbnNlVGltZW91dFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iTWFwcGluZ1R5cGUuT1BDVUEiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBhbGlnbi1jZW50ZXIiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuZGV2aWNlLW5vZGUtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZGV2aWNlLW5vZGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBkZXZpY2UtY29uZmlnIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5vZGVTb3VyY2UiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBbT1BDVWFTb3VyY2VUeXBlc0VudW0uUEFUSCwgT1BDVWFTb3VyY2VUeXBlc0VudW0uSURFTlRJRklFUl0iIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICB7eyBTb3VyY2VUeXBlVHJhbnNsYXRpb25zTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBkZXZpY2Utbm9kZS1wYXR0ZXJuLWZpZWxkIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VOb2RlUGF0dGVybiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLW5vZGUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSIobWFwcGluZ0Zvcm0uZ2V0KFwnZGV2aWNlTm9kZVBhdHRlcm5cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ2RldmljZU5vZGVQYXR0ZXJuXCcpLnRvdWNoZWQpIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCdkZXZpY2Utbm9kZVwnIHwgZ2V0R2F0ZXdheUhlbHBMaW5rOiBtYXBwaW5nRm9ybS5nZXQoXCdkZXZpY2VOb2RlU291cmNlXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dGItZGV2aWNlLWluZm8tdGFibGUgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VJbmZvIiBbc291cmNlVHlwZXNdPSJPUENVYVNvdXJjZVR5cGVzIiBbZGV2aWNlSW5mb1R5cGVdPSJEZXZpY2VJbmZvVHlwZS5GVUxMIiByZXF1aXJlZD0idHJ1ZSI+XG4gICAgICAgICAgPC90Yi1kZXZpY2UtaW5mby10YWJsZT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZXM8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggZWxsaXBzaXMtY2hpcHMtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09Im9wY0F0dHJpYnV0ZXMiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgYXR0cmlidXRlIG9mIG9wY0F0dHJpYnV0ZXMiPlxuICAgICAgICAgICAgICAgICAge3sgYXR0cmlidXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICNvcGNBdHRyaWJ1dGVzQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIG9wY0F0dHJpYnV0ZXNCdXR0b24sIE1hcHBpbmdLZXlzVHlwZS5BVFRSSUJVVEVTKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudGltZXNlcmllczwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgICAgICAgICA8bWF0LWNoaXAtbGlzdGJveCBjbGFzcz0idGItZmxleCIgW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09Im9wY1RlbGVtZXRyeSI+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IHRlbGVtZXRyeSBvZiBvcGNUZWxlbWV0cnkiPlxuICAgICAgICAgICAgICAgICAge3sgdGVsZW1ldHJ5IH19XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICNvcGNUZWxlbWV0cnlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgb3BjVGVsZW1ldHJ5QnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuVElNRVNFUklFUykiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZS11cGRhdGVzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0Ym94IFt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdPSJvcGNBdHRyaWJ1dGVzVXBkYXRlcyIgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCBhdHRyaWJ1dGUgb2Ygb3BjQXR0cmlidXRlc1VwZGF0ZXMiPlxuICAgICAgICAgICAgICAgICAge3sgYXR0cmlidXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICNhdHRyaWJ1dGVzVXBkYXRlc0J1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZUtleXMoJGV2ZW50LCBhdHRyaWJ1dGVzVXBkYXRlc0J1dHRvbiwgTWFwcGluZ0tleXNUeXBlLkFUVFJJQlVURVNfVVBEQVRFUykiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnJwYy1tZXRob2RzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0Ym94IFt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdPSJvcGNScGNNZXRob2RzIiBjbGFzcz0idGItZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZSBvZiBvcGNScGNNZXRob2RzIj5cbiAgICAgICAgICAgICAgICAgIHt7IGF0dHJpYnV0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAjcnBjTWV0aG9kc0J1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZUtleXMoJGV2ZW50LCBycGNNZXRob2RzQnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuUlBDX01FVEhPRFMpIj5cbiAgICAgICAgICAgICAgICA8dGItaWNvbiBtYXRCdXR0b25JY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIGNka0ZvY3VzSW5pdGlhbFxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0iYWRkKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJtYXBwaW5nRm9ybS5pbnZhbGlkIHx8ICFtYXBwaW5nRm9ybS5kaXJ0eSB8fCAha2V5c1BvcHVwQ2xvc2VkIj5cbiAgICAgIHt7IHRoaXMuZGF0YS5idXR0b25UaXRsZSB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e2Rpc3BsYXk6Z3JpZDtoZWlnaHQ6MTAwJX06aG9zdCAua2V5LW1hcHBpbmd7bWF4LXdpZHRoOjkwMHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Omhvc3QgLmtleS1tYXBwaW5nIC5tYXQtdG9vbGJhcnttaW4taGVpZ2h0OjY0cHh9Omhvc3QgLmtleS1tYXBwaW5nIHRiLXRvZ2dsZS1zZWxlY3R7cGFkZGluZzo0cHggMH06aG9zdCAubWF0LW1kYy1kaWFsb2ctY29udGVudHtoZWlnaHQ6NjcwcHh9Omhvc3QgLmVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lcnttYXgtd2lkdGg6NzAlfTpob3N0IDo6bmctZGVlcCAua2V5LW1hcHBpbmcgLm1hdC1tZGMtY2hpcC1saXN0Ym94IC5tZGMtZXZvbHV0aW9uLWNoaXAtc2V0X19jaGlwc3tqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXgtd3JhcDpub3dyYXB9Omhvc3QgOjpuZy1kZWVwIC50Yi1mb3JtLXJvdyAuZml4ZWQtdGl0bGUtd2lkdGh7bWluLXdpZHRoOjQwcHg7d2lkdGg6MzUlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306aG9zdCA6Om5nLWRlZXAgLnRiLWZvcm0tcm93IC5tYXQtbWRjLWZvcm0tZmllbGR7d2lkdGg6MH06aG9zdCA6Om5nLWRlZXAgLnNlZS1leGFtcGxle3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7bWFyZ2luOjRweH06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtZm9ybS1maWVsZC1pY29uLXN1ZmZpeHtkaXNwbGF5OmZsZXh9Omhvc3QgOjpuZy1kZWVwIC5kZXZpY2UtY29uZmlne2dhcDoxMnB4O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6MTBweH06aG9zdCA6Om5nLWRlZXAgLmRldmljZS1ub2RlLXBhdHRlcm4tZmllbGR7ZmxleC1iYXNpczozJX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaCxzZWxlY3RvcjoiW25nU3dpdGNoXSIsaW5wdXRzOlsibmdTd2l0Y2giXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoQ2FzZSxzZWxlY3RvcjoiW25nU3dpdGNoQ2FzZV0iLGlucHV0czpbIm5nU3dpdGNoQ2FzZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmR0LkhlbHBDb21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oZWxwXSIsaW5wdXRzOlsidGItaGVscCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmd0LkhlbHBQb3B1cENvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhlbHAtcG9wdXBdLCBbdGItaGVscC1wb3B1cC1jb250ZW50XSIsaW5wdXRzOlsidGItaGVscC1wb3B1cCIsInRiLWhlbHAtcG9wdXAtY29udGVudCIsInRyaWdnZXItdGV4dCIsInRyaWdnZXItc3R5bGUiLCJ0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudCIsInRiLWhlbHAtcG9wdXAtc3R5bGUiLCJoaW50TW9kZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpKZS5NYXREaWFsb2dBY3Rpb25zLHNlbGVjdG9yOiJbbWF0LWRpYWxvZy1hY3Rpb25zXSwgbWF0LWRpYWxvZy1hY3Rpb25zLCBbbWF0RGlhbG9nQWN0aW9uc10iLGlucHV0czpbImFsaWduIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQ29udGVudCxzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6eXQuTWF0Q2hpcCxzZWxlY3RvcjoibWF0LWJhc2ljLWNoaXAsIFttYXQtYmFzaWMtY2hpcF0sIG1hdC1jaGlwLCBbbWF0LWNoaXBdIixpbnB1dHM6WyJyb2xlIiwiaWQiLCJhcmlhLWxhYmVsIiwiYXJpYS1kZXNjcmlwdGlvbiIsInZhbHVlIiwiY29sb3IiLCJyZW1vdmFibGUiLCJoaWdobGlnaHRlZCIsImRpc2FibGVSaXBwbGUiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJyZW1vdmVkIiwiZGVzdHJveWVkIl0sZXhwb3J0QXM6WyJtYXRDaGlwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6eXQuTWF0Q2hpcExpc3Rib3gsc2VsZWN0b3I6Im1hdC1jaGlwLWxpc3Rib3giLGlucHV0czpbIm11bHRpcGxlIiwiYXJpYS1vcmllbnRhdGlvbiIsInNlbGVjdGFibGUiLCJjb21wYXJlV2l0aCIsInJlcXVpcmVkIiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInZhbHVlIl0sb3V0cHV0czpbImNoYW5nZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRdLCBbZnhMYXlvdXQueHNdLCBbZnhMYXlvdXQuc21dLCBbZnhMYXlvdXQubWRdLCAgW2Z4TGF5b3V0LmxnXSwgW2Z4TGF5b3V0LnhsXSwgW2Z4TGF5b3V0Lmx0LXNtXSwgW2Z4TGF5b3V0Lmx0LW1kXSwgIFtmeExheW91dC5sdC1sZ10sIFtmeExheW91dC5sdC14bF0sIFtmeExheW91dC5ndC14c10sIFtmeExheW91dC5ndC1zbV0sICBbZnhMYXlvdXQuZ3QtbWRdLCBbZnhMYXlvdXQuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dCIsImZ4TGF5b3V0LnhzIiwiZnhMYXlvdXQuc20iLCJmeExheW91dC5tZCIsImZ4TGF5b3V0LmxnIiwiZnhMYXlvdXQueGwiLCJmeExheW91dC5sdC1zbSIsImZ4TGF5b3V0Lmx0LW1kIiwiZnhMYXlvdXQubHQtbGciLCJmeExheW91dC5sdC14bCIsImZ4TGF5b3V0Lmd0LXhzIiwiZnhMYXlvdXQuZ3Qtc20iLCJmeExheW91dC5ndC1tZCIsImZ4TGF5b3V0Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1pblZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLGlucHV0czpbIm1pbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwTmFtZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdIixpbnB1dHM6WyJmb3JtR3JvdXBOYW1lIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bnQuVG9nZ2xlT3B0aW9uLHNlbGVjdG9yOiJ0Yi10b2dnbGUtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmF0LlRvZ2dsZVNlbGVjdENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXNlbGVjdCIsaW5wdXRzOlsiZGlzYWJsZWQiLCJzZWxlY3RNZWRpYUJyZWFrcG9pbnQiLCJhcHBlYXJhbmNlIiwiZGlzYWJsZVBhZ2luYXRpb24iLCJmaWxsSGVpZ2h0IiwiZXh0cmFQYWRkaW5nIiwicHJpbWFyeUJhY2tncm91bmQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpidC5UYkljb25Db21wb25lbnQsc2VsZWN0b3I6InRiLWljb24iLGlucHV0czpbImNvbG9yIl0sZXhwb3J0QXM6WyJ0Ykljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTprYSxzZWxlY3RvcjoiW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF0iLGlucHV0czpbInRiLWVsbGlwc2lzLWNoaXAtbGlzdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOm9vLHNlbGVjdG9yOiJ0Yi1kZXZpY2UtaW5mby10YWJsZSIsaW5wdXRzOlsidXNlU291cmNlIiwicmVxdWlyZWQiLCJzb3VyY2VUeXBlcyIsImRldmljZUluZm9UeXBlIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoicGlwZSIsdHlwZTpUYSxuYW1lOiJnZXRHYXRld2F5SGVscExpbmsifV19KX19ZSgiTWFwcGluZ0RpYWxvZ0NvbXBvbmVudCIsaW8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6aW8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1hcHBpbmctZGlhbG9nIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcblxuPGRpdiBbZm9ybUdyb3VwXT0ibWFwcGluZ0Zvcm0iIGNsYXNzPSJrZXktbWFwcGluZyI+XG4gIDxtYXQtdG9vbGJhciBjb2xvcj0icHJpbWFyeSI+XG4gICAgPGgyPnt7IE1hcHBpbmdUeXBlVHJhbnNsYXRpb25zTWFwLmdldCh0aGlzLmRhdGE/Lm1hcHBpbmdUeXBlKSB8IHRyYW5zbGF0ZX19PC9oMj5cbiAgICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICAgIDxkaXYgW3RiLWhlbHBdPSJIZWxwTGlua0J5TWFwcGluZ1R5cGVNYXAuZ2V0KHRoaXMuZGF0YS5tYXBwaW5nVHlwZSkiPjwvZGl2PlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvbWF0LXRvb2xiYXI+XG4gIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCI+XG4gICAgICAgIHt7IE1hcHBpbmdIaW50VHJhbnNsYXRpb25zTWFwLmdldCh0aGlzLmRhdGE/Lm1hcHBpbmdUeXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09ImRhdGEubWFwcGluZ1R5cGUiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09Ik1hcHBpbmdUeXBlLkRBVEEiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnRvcGljLWZpbHRlcjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ0b3BpY0ZpbHRlciIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudG9waWMtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCd0b3BpY0ZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCd0b3BpY0ZpbHRlclwnKS50b3VjaGVkOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L3RvcGljLWZpbHRlcl9mblwnIlxuICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LnJlc3BvbnNlLXRvcGljLVFvcy1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubXF0dC1xb3NcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJzdWJzY3JpcHRpb25Rb3MiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBxdWFsaXR5VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICB7eyBRdWFsaXR5VHJhbnNsYXRpb25zTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgZm9ybUdyb3VwTmFtZT0iY29udmVydGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5wYXlsb2FkLXR5cGU8L2Rpdj5cbiAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIiBhcHBlYXJhbmNlPSJmaWxsIj5cbiAgICAgICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIGNvbnZlcnRvclR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgIHt7IENvbnZlcnRvclR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LmRhdGEtY29udmVyc2lvbjwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIj5cbiAgICAgICAgICAgICAgICB7eyBEYXRhQ29udmVyc2lvblRyYW5zbGF0aW9uc01hcC5nZXQoY29udmVydGVyVHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cE5hbWVdPSJjb252ZXJ0ZXJUeXBlIiBbbmdTd2l0Y2hdPSJjb252ZXJ0ZXJUeXBlIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkNvbnZlcnRvclR5cGVFbnVtLkpTT04iPlxuICAgICAgICAgICAgICAgICAgPHRiLWRldmljZS1pbmZvLXRhYmxlIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlSW5mbyIgW2RldmljZUluZm9UeXBlXT0iRGV2aWNlSW5mb1R5cGUuRlVMTCIgcmVxdWlyZWQ9InRydWUiPlxuICAgICAgICAgICAgICAgICAgPC90Yi1kZXZpY2UtaW5mby10YWJsZT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQ29udmVydG9yVHlwZUVudW0uQllURVMiPlxuICAgICAgICAgICAgICAgICAgPHRiLWRldmljZS1pbmZvLXRhYmxlIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlSW5mbyIgW2RldmljZUluZm9UeXBlXT0iRGV2aWNlSW5mb1R5cGUuRlVMTCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc291cmNlVHlwZXNdPSJbc291cmNlVHlwZXNFbnVtLk1TRywgc291cmNlVHlwZXNFbnVtLkNPTlNUXSIgcmVxdWlyZWQ9InRydWUiPlxuICAgICAgICAgICAgICAgICAgPC90Yi1kZXZpY2UtaW5mby10YWJsZT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciXG4gICAgICAgICAgICAgICAgICAgICAqbmdJZj0iY29udmVydGVyVHlwZSA9PT0gQ29udmVydG9yVHlwZUVudW0uQllURVMgfHwgY29udmVydGVyVHlwZSA9PT0gQ29udmVydG9yVHlwZUVudW0uSlNPTiI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuYXR0cmlidXRlczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09ImNvbnZlcnRlckF0dHJpYnV0ZXMiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZSBvZiBjb252ZXJ0ZXJBdHRyaWJ1dGVzIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBhdHRyaWJ1dGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2F0dHJpYnV0ZXNCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZUtleXMoJGV2ZW50LCBhdHRyaWJ1dGVzQnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuQVRUUklCVVRFUykiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnRpbWVzZXJpZXM8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0Ym94IGNsYXNzPSJ0Yi1mbGV4IiBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iY29udmVydGVyVGVsZW1ldHJ5Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCB0ZWxlbWV0cnkgb2YgY29udmVydGVyVGVsZW1ldHJ5Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdGVsZW1ldHJ5IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjdGVsZW1ldHJ5QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgdGVsZW1ldHJ5QnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuVElNRVNFUklFUykiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciICpuZ0lmPSJjb252ZXJ0ZXJUeXBlID09PSBDb252ZXJ0b3JUeXBlRW51bS5DVVNUT00iPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuZXh0ZW5zaW9uLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmV4dGVuc2lvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJleHRlbnNpb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZXh0ZW5zaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdjb252ZXJ0ZXIuY3VzdG9tLmV4dGVuc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ2NvbnZlcnRlci5jdXN0b20uZXh0ZW5zaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiBzYW1lLXBhZGRpbmcgdGItZmxleCBjb2x1bW4iPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5leHRlbnNpb24tY29uZmlndXJhdGlvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIj57eyBcJ2dhdGV3YXkuZXh0ZW5zaW9uLWNvbmZpZ3VyYXRpb24taGludFwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmtleXM8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iY3VzdG9tS2V5cyIgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgdGVsZW1ldHJ5IG9mIGN1c3RvbUtleXMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRlbGVtZXRyeSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNrZXlzQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZUtleXMoJGV2ZW50LCBrZXlzQnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuQ1VTVE9NKSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09Ik1hcHBpbmdUeXBlLlJFUVVFU1RTIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucmVxdWVzdC10eXBlPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0VHlwZSI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2YgcmVxdWVzdFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBSZXF1ZXN0VHlwZXNUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBmb3JtR3JvdXBOYW1lPSJyZXF1ZXN0VmFsdWUiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWVcJykuZ2V0KHJlcXVlc3RNYXBwaW5nVHlwZSkiIFtuZ1N3aXRjaF09InJlcXVlc3RNYXBwaW5nVHlwZSI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJyZXF1ZXN0TWFwcGluZ1R5cGUgPT09IFJlcXVlc3RUeXBlRW51bS5BVFRSSUJVVEVfUkVRVUVTVCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RNYXBwaW5nVHlwZSA9PT0gUmVxdWVzdFR5cGVFbnVtLkNPTk5FQ1RfUkVRVUVTVCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RNYXBwaW5nVHlwZSA9PT0gUmVxdWVzdFR5cGVFbnVtLkRJU0NPTk5FQ1RfUkVRVUVTVCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudG9waWMtZmlsdGVyPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBbZm9ybUNvbnRyb2xdPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWVcJykuZ2V0KHJlcXVlc3RNYXBwaW5nVHlwZSkuZ2V0KFwndG9waWNGaWx0ZXJcJykiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnRvcGljLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlXCcpLmdldChyZXF1ZXN0TWFwcGluZ1R5cGUpLmdldChcJ3RvcGljRmlsdGVyXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZVwnKS5nZXQocmVxdWVzdE1hcHBpbmdUeXBlKS5nZXQoXCd0b3BpY0ZpbHRlclwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvdG9waWMtZmlsdGVyX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iUmVxdWVzdFR5cGVFbnVtLkNPTk5FQ1RfUkVRVUVTVCI+XG4gICAgICAgICAgICAgICAgICA8dGItZGV2aWNlLWluZm8tdGFibGUgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VJbmZvIiBbZGV2aWNlSW5mb1R5cGVdPSJEZXZpY2VJbmZvVHlwZS5GVUxMIiByZXF1aXJlZD0idHJ1ZSI+XG4gICAgICAgICAgICAgICAgICA8L3RiLWRldmljZS1pbmZvLXRhYmxlPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJSZXF1ZXN0VHlwZUVudW0uRElTQ09OTkVDVF9SRVFVRVNUIj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1kZXZpY2UtaW5mby10YWJsZSBmb3JtQ29udHJvbE5hbWU9ImRldmljZUluZm8iIFtkZXZpY2VJbmZvVHlwZV09IkRldmljZUluZm9UeXBlLlBBUlRJQUwiIHJlcXVpcmVkPSJ0cnVlIj5cbiAgICAgICAgICAgICAgICAgIDwvdGItZGV2aWNlLWluZm8tdGFibGU+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IlJlcXVlc3RUeXBlRW51bS5BVFRSSUJVVEVfUkVRVUVTVCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5mcm9tLWRldmljZS1yZXF1ZXN0LXNldHRpbmdzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICBnYXRld2F5LmZyb20tZGV2aWNlLXJlcXVlc3Qtc2V0dGluZ3MtaGludFxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciIgZm9ybUdyb3VwTmFtZT0iZGV2aWNlSW5mbyI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItZmxleCBuby1mbGV4IGFsaWduLWNlbnRlciIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1pbmZvLmRldmljZS1uYW1lLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZUV4cHJlc3Npb25Tb3VyY2UiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2Ygc291cmNlVHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgU291cmNlVHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1pbmZvLmRldmljZS1uYW1lLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSIobWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVJlcXVlc3RzLmRldmljZUluZm8uZGV2aWNlTmFtZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVJlcXVlc3RzLmRldmljZUluZm8uZGV2aWNlTmFtZUV4cHJlc3Npb25cJykudG91Y2hlZCkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cC1zdHlsZV09InttYXhXaWR0aDogXCc5NzBweFwnfSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZS1uYW1lLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYXR0cmlidXRlTmFtZUV4cHJlc3Npb25Tb3VyY2UiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2Ygc291cmNlVHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgU291cmNlVHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iYXR0cmlidXRlTmFtZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5hdHRyaWJ1dGUtbmFtZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy5hdHRyaWJ1dGVOYW1lRXhwcmVzc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVJlcXVlc3RzLmF0dHJpYnV0ZU5hbWVFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkudG8tZGV2aWNlLXJlc3BvbnNlLXNldHRpbmdzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICBnYXRld2F5LnRvLWRldmljZS1yZXNwb25zZS1zZXR0aW5ncy1oaW50XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkucmVzcG9uc2UtdmFsdWUtZXhwcmVzc2lvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZUV4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXNwb25zZS12YWx1ZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy52YWx1ZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy52YWx1ZUV4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkucmVzcG9uc2UtdG9waWMtZXhwcmVzc2lvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ0b3BpY0V4cHJlc3Npb24iIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXNwb25zZS10b3BpYy1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy50b3BpY0V4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVSZXF1ZXN0cy50b3BpY0V4cHJlc3Npb25cJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGItaGVscC1wb3B1cF09Ilwnd2lkZ2V0L2xpYi9nYXRld2F5L2V4cHJlc3Npb25zX2ZuXCciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldGFpbiI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkucmV0YWluLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5yZXRhaW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJSZXF1ZXN0VHlwZUVudW0uQVRUUklCVVRFX1VQREFURSI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5kZXZpY2UtbmFtZS1maWx0ZXItaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVGaWx0ZXIiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy5kZXZpY2VOYW1lRmlsdGVyXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVVwZGF0ZXMuZGV2aWNlTmFtZUZpbHRlclwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5hdHRyaWJ1dGUtZmlsdGVyLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmF0dHJpYnV0ZS1maWx0ZXJcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iYXR0cmlidXRlRmlsdGVyIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmF0dHJpYnV0ZS1maWx0ZXItcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLmF0dHJpYnV0ZUZpbHRlclwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLmF0dHJpYnV0ZVVwZGF0ZXMuYXR0cmlidXRlRmlsdGVyXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5yZXNwb25zZS12YWx1ZS1leHByZXNzaW9uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InZhbHVlRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5yZXNwb25zZS12YWx1ZS1leHByZXNzaW9uLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuYXR0cmlidXRlVXBkYXRlcy52YWx1ZUV4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLnZhbHVlRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlc3BvbnNlLXRvcGljLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idG9waWNFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnJlc3BvbnNlLXRvcGljLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLnRvcGljRXhwcmVzc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5hdHRyaWJ1dGVVcGRhdGVzLnRvcGljRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSBmaXhlZC10aXRsZS13aWR0aCIgZm9ybUNvbnRyb2xOYW1lPSJyZXRhaW4iPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5yZXRhaW4taGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5yZXRhaW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iUmVxdWVzdFR5cGVFbnVtLlNFUlZFUl9TSURFX1JQQyI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHJvdyBjZW50ZXIgYWxpZ24tY2VudGVyIG5vLWdhcCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIiBhcHBlYXJhbmNlPSJmaWxsIj5cbiAgICAgICAgICAgICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiBbdmFsdWVdPSJTZXJ2ZXJTaWRlUlBDVHlwZS5UV09fV0FZIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS53aXRoLXJlc3BvbnNlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gW3ZhbHVlXT0iU2VydmVyU2lkZVJQQ1R5cGUuT05FX1dBWSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkud2l0aG91dC1yZXNwb25zZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5kZXZpY2UtbmFtZS1maWx0ZXItaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWVGaWx0ZXIiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtZmlsdGVyLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5kZXZpY2VOYW1lRmlsdGVyXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5kZXZpY2VOYW1lRmlsdGVyXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5Lm1ldGhvZC1maWx0ZXItaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubWV0aG9kLWZpbHRlclwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2RGaWx0ZXIiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkubWV0aG9kLWZpbHRlci1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMubWV0aG9kRmlsdGVyXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nRm9ybS5nZXQoXCdyZXF1ZXN0VmFsdWUuc2VydmVyU2lkZVJwYy5tZXRob2RGaWx0ZXJcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnJlcXVlc3QtdG9waWMtZXhwcmVzc2lvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0VG9waWNFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnJlcXVlc3QtdG9waWMtZXhwcmVzc2lvbi1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMucmVxdWVzdFRvcGljRXhwcmVzc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMucmVxdWVzdFRvcGljRXhwcmVzc2lvblwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwXT0iXCd3aWRnZXQvbGliL2dhdGV3YXkvZXhwcmVzc2lvbnNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnZhbHVlLWV4cHJlc3Npb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmFsdWVFeHByZXNzaW9uIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnZhbHVlLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnZhbHVlRXhwcmVzc2lvblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMudmFsdWVFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXAtc3R5bGVdPSJ7bWF4V2lkdGg6IFwnOTcwcHhcJ30iPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9Im1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnR5cGVcJykudmFsdWUgPT09IFNlcnZlclNpZGVSUENUeXBlLlRXT19XQVkiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkucmVzcG9uc2UtdG9waWMtZXhwcmVzc2lvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXNwb25zZVRvcGljRXhwcmVzc2lvbiIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnJlc3BvbnNlLXRvcGljLWV4cHJlc3Npb24tcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ibWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMucmVzcG9uc2VUb3BpY0V4cHJlc3Npb25cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlc3BvbnNlVG9waWNFeHByZXNzaW9uXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic2VlLWV4YW1wbGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9leHByZXNzaW9uc19mblwnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiLWhlbHAtcG9wdXAtcGxhY2VtZW50PSJsZWZ0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkucmVzcG9uc2UtdG9waWMtUW9zLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmVzcG9uc2UtdG9waWMtUW9zXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InJlc3BvbnNlVG9waWNRb1MiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHF1YWxpdHlUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgUXVhbGl0eVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkucmVzcG9uc2UtdGltZW91dDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgdHlwZT0ibnVtYmVyIiBtaW49IjEiIGZvcm1Db250cm9sTmFtZT0icmVzcG9uc2VUaW1lb3V0IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJyZXNwb25zZVRpbWVvdXRFcnJvclRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iKG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlc3BvbnNlVGltZW91dFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdGb3JtLmdldChcJ3JlcXVlc3RWYWx1ZS5zZXJ2ZXJTaWRlUnBjLnJlc3BvbnNlVGltZW91dFwnKS5oYXNFcnJvcihcJ21pblwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwncmVxdWVzdFZhbHVlLnNlcnZlclNpZGVScGMucmVzcG9uc2VUaW1lb3V0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJNYXBwaW5nVHlwZS5PUENVQSI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1mbGV4IGFsaWduLWNlbnRlciIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5kZXZpY2Utbm9kZS1oaW50XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5kZXZpY2Utbm9kZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGRldmljZS1jb25maWciPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTm9kZVNvdXJjZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIFtPUENVYVNvdXJjZVR5cGVzRW51bS5QQVRILCBPUENVYVNvdXJjZVR5cGVzRW51bS5JREVOVElGSUVSXSIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFNvdXJjZVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGRldmljZS1ub2RlLXBhdHRlcm4tZmllbGQiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5vZGVQYXR0ZXJuIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2Utbm9kZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihtYXBwaW5nRm9ybS5nZXQoXCdkZXZpY2VOb2RlUGF0dGVyblwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ0Zvcm0uZ2V0KFwnZGV2aWNlTm9kZVBhdHRlcm5cJykudG91Y2hlZCkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNlZS1leGFtcGxlIlxuICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ2RldmljZS1ub2RlXCcgfCBnZXRHYXRld2F5SGVscExpbms6IG1hcHBpbmdGb3JtLmdldChcJ2RldmljZU5vZGVTb3VyY2VcJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICAgICB0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudD0ibGVmdCJcbiAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDx0Yi1kZXZpY2UtaW5mby10YWJsZSBmb3JtQ29udHJvbE5hbWU9ImRldmljZUluZm8iIFtzb3VyY2VUeXBlc109Ik9QQ1VhU291cmNlVHlwZXMiIFtkZXZpY2VJbmZvVHlwZV09IkRldmljZUluZm9UeXBlLkZVTEwiIHJlcXVpcmVkPSJ0cnVlIj5cbiAgICAgICAgICA8L3RiLWRldmljZS1pbmZvLXRhYmxlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuYXR0cmlidXRlczwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgICAgICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0ib3BjQXR0cmlidXRlcyIgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCBhdHRyaWJ1dGUgb2Ygb3BjQXR0cmlidXRlcyI+XG4gICAgICAgICAgICAgICAgICB7eyBhdHRyaWJ1dGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgI29wY0F0dHJpYnV0ZXNCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgb3BjQXR0cmlidXRlc0J1dHRvbiwgTWFwcGluZ0tleXNUeXBlLkFUVFJJQlVURVMpIj5cbiAgICAgICAgICAgICAgICA8dGItaWNvbiBtYXRCdXR0b25JY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4Ij5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50aW1lc2VyaWVzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0Ym94IGNsYXNzPSJ0Yi1mbGV4IiBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0ib3BjVGVsZW1ldHJ5Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgdGVsZW1ldHJ5IG9mIG9wY1RlbGVtZXRyeSI+XG4gICAgICAgICAgICAgICAgICB7eyB0ZWxlbWV0cnkgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgI29wY1RlbGVtZXRyeUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZUtleXMoJGV2ZW50LCBvcGNUZWxlbWV0cnlCdXR0b24sIE1hcHBpbmdLZXlzVHlwZS5USU1FU0VSSUVTKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuYXR0cmlidXRlLXVwZGF0ZXM8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggZWxsaXBzaXMtY2hpcHMtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09Im9wY0F0dHJpYnV0ZXNVcGRhdGVzIiBjbGFzcz0idGItZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZSBvZiBvcGNBdHRyaWJ1dGVzVXBkYXRlcyI+XG4gICAgICAgICAgICAgICAgICB7eyBhdHRyaWJ1dGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgI2F0dHJpYnV0ZXNVcGRhdGVzQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIGF0dHJpYnV0ZXNVcGRhdGVzQnV0dG9uLCBNYXBwaW5nS2V5c1R5cGUuQVRUUklCVVRFU19VUERBVEVTKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucnBjLW1ldGhvZHM8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggZWxsaXBzaXMtY2hpcHMtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09Im9wY1JwY01ldGhvZHMiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgYXR0cmlidXRlIG9mIG9wY1JwY01ldGhvZHMiPlxuICAgICAgICAgICAgICAgICAge3sgYXR0cmlidXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICNycGNNZXRob2RzQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIHJwY01ldGhvZHNCdXR0b24sIE1hcHBpbmdLZXlzVHlwZS5SUENfTUVUSE9EUykiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5jYW5jZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAoY2xpY2spPSJhZGQoKSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09Im1hcHBpbmdGb3JtLmludmFsaWQgfHwgIW1hcHBpbmdGb3JtLmRpcnR5IHx8ICFrZXlzUG9wdXBDbG9zZWQiPlxuICAgICAge3sgdGhpcy5kYXRhLmJ1dHRvblRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7ZGlzcGxheTpncmlkO2hlaWdodDoxMDAlfTpob3N0IC5rZXktbWFwcGluZ3ttYXgtd2lkdGg6OTAwcHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn06aG9zdCAua2V5LW1hcHBpbmcgLm1hdC10b29sYmFye21pbi1oZWlnaHQ6NjRweH06aG9zdCAua2V5LW1hcHBpbmcgdGItdG9nZ2xlLXNlbGVjdHtwYWRkaW5nOjRweCAwfTpob3N0IC5tYXQtbWRjLWRpYWxvZy1jb250ZW50e2hlaWdodDo2NzBweH06aG9zdCAuZWxsaXBzaXMtY2hpcHMtY29udGFpbmVye21heC13aWR0aDo3MCV9Omhvc3QgOjpuZy1kZWVwIC5rZXktbWFwcGluZyAubWF0LW1kYy1jaGlwLWxpc3Rib3ggLm1kYy1ldm9sdXRpb24tY2hpcC1zZXRfX2NoaXBze2p1c3RpZnktY29udGVudDpmbGV4LWVuZDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleC13cmFwOm5vd3JhcH06aG9zdCA6Om5nLWRlZXAgLnRiLWZvcm0tcm93IC5maXhlZC10aXRsZS13aWR0aHttaW4td2lkdGg6NDBweDt3aWR0aDozNSU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfTpob3N0IDo6bmctZGVlcCAudGItZm9ybS1yb3cgLm1hdC1tZGMtZm9ybS1maWVsZHt3aWR0aDowfTpob3N0IDo6bmctZGVlcCAuc2VlLWV4YW1wbGV7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDttYXJnaW46NHB4fTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH06aG9zdCA6Om5nLWRlZXAgLmRldmljZS1jb25maWd7Z2FwOjEycHg7cGFkZGluZy1sZWZ0OjEwcHg7cGFkZGluZy1yaWdodDoxMHB4fTpob3N0IDo6bmctZGVlcCAuZGV2aWNlLW5vZGUtcGF0dGVybi1maWVsZHtmbGV4LWJhc2lzOjMlfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6b3QuU3RvcmV9LHt0eXBlOml0LlJvdXRlcn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOnAsYXJnczpbWGVdfV19LHt0eXBlOkplLk1hdERpYWxvZ1JlZn0se3R5cGU6bWUuRm9ybUJ1aWxkZXJ9LHt0eXBlOmZ0LlRiUG9wb3ZlclNlcnZpY2V9LHt0eXBlOnQuUmVuZGVyZXIyfSx7dHlwZTp0LlZpZXdDb250YWluZXJSZWZ9LHt0eXBlOlkuVHJhbnNsYXRlU2VydmljZX1dfSk7Y2xhc3Mgcm97c2V0IG1hcHBpbmdUeXBlKGUpe3RoaXMubWFwcGluZ1R5cGVWYWx1ZSE9PWUmJih0aGlzLm1hcHBpbmdUeXBlVmFsdWU9ZSl9Z2V0IG1hcHBpbmdUeXBlKCl7cmV0dXJuIHRoaXMubWFwcGluZ1R5cGVWYWx1ZX1jb25zdHJ1Y3RvcihlLHQsbixhKXt0aGlzLnRyYW5zbGF0ZT1lLHRoaXMuZGlhbG9nPXQsdGhpcy5kaWFsb2dTZXJ2aWNlPW4sdGhpcy5mYj1hLHRoaXMucmVxdWlyZWQ9ITEsdGhpcy5tYXBwaW5nVHlwZVRyYW5zbGF0aW9uc01hcD15bix0aGlzLm1hcHBpbmdUeXBlRW51bT1mbix0aGlzLmRpc3BsYXllZENvbHVtbnM9W10sdGhpcy5tYXBwaW5nQ29sdW1ucz1bXSx0aGlzLnRleHRTZWFyY2hNb2RlPSExLHRoaXMuaGlkZVBhZ2VTaXplPSExLHRoaXMuYWN0aXZlVmFsdWU9ITEsdGhpcy5kaXJ0eVZhbHVlPSExLHRoaXMudGV4dFNlYXJjaD10aGlzLmZiLmNvbnRyb2woIiIse25vbk51bGxhYmxlOiEwfSksdGhpcy5vbkNoYW5nZT0oKT0+e30sdGhpcy5vblRvdWNoZWQ9KCk9Pnt9LHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMubWFwcGluZ0Zvcm1Hcm91cD10aGlzLmZiLmFycmF5KFtdKSx0aGlzLmRpcnR5VmFsdWU9IXRoaXMuYWN0aXZlVmFsdWUsdGhpcy5kYXRhU291cmNlPW5ldyBzb31uZ09uSW5pdCgpe3RoaXMuc2V0TWFwcGluZ0NvbHVtbnMoKSx0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaCguLi50aGlzLm1hcHBpbmdDb2x1bW5zLm1hcCgoZT0+ZS5kZWYpKSwiYWN0aW9ucyIpLHRoaXMubWFwcGluZ0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy51cGRhdGVUYWJsZURhdGEoZSksdGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMudGV4dFNlYXJjaC52YWx1ZUNoYW5nZXMucGlwZShWZSgxNTApLEJlKCgoZSx0KT0+KGU/PyIiKT09PXQudHJpbSgpKSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2NvbnN0IHQ9ZS50cmltKCk7dGhpcy51cGRhdGVUYWJsZURhdGEodGhpcy5tYXBwaW5nRm9ybUdyb3VwLnZhbHVlLHQudHJpbSgpKX0pKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMub25DaGFuZ2U9ZX1yZWdpc3Rlck9uVG91Y2hlZChlKXt0aGlzLm9uVG91Y2hlZD1lfXdyaXRlVmFsdWUoZSl7dGhpcy5tYXBwaW5nRm9ybUdyb3VwLmNsZWFyKCksdGhpcy5wdXNoRGF0YUFzRm9ybUFycmF5cyhlKX12YWxpZGF0ZSgpe3JldHVybiF0aGlzLnJlcXVpcmVkfHx0aGlzLm1hcHBpbmdGb3JtR3JvdXAuY29udHJvbHMubGVuZ3RoP251bGw6e21hcHBpbmdGb3JtR3JvdXA6e3ZhbGlkOiExfX19ZW50ZXJGaWx0ZXJNb2RlKCl7dGhpcy50ZXh0U2VhcmNoTW9kZT0hMCxzZXRUaW1lb3V0KCgoKT0+e3RoaXMuc2VhcmNoSW5wdXRGaWVsZC5uYXRpdmVFbGVtZW50LmZvY3VzKCksdGhpcy5zZWFyY2hJbnB1dEZpZWxkLm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoMCwwKX0pLDEwKX1leGl0RmlsdGVyTW9kZSgpe3RoaXMudXBkYXRlVGFibGVEYXRhKHRoaXMubWFwcGluZ0Zvcm1Hcm91cC52YWx1ZSksdGhpcy50ZXh0U2VhcmNoTW9kZT0hMSx0aGlzLnRleHRTZWFyY2gucmVzZXQoKX1tYW5hZ2VNYXBwaW5nKGUsdCl7ZSYmZS5zdG9wUHJvcGFnYXRpb24oKTtjb25zdCBuPWllKHQpP3RoaXMubWFwcGluZ0Zvcm1Hcm91cC5hdCh0KS52YWx1ZTp7fTt0aGlzLmRpYWxvZy5vcGVuKGlvLHtkaXNhYmxlQ2xvc2U6ITAscGFuZWxDbGFzczpbInRiLWRpYWxvZyIsInRiLWZ1bGxzY3JlZW4tZGlhbG9nIl0sZGF0YTp7bWFwcGluZ1R5cGU6dGhpcy5tYXBwaW5nVHlwZSx2YWx1ZTpuLGJ1dHRvblRpdGxlOnJlKHQpPyJhY3Rpb24uYWRkIjoiYWN0aW9uLmFwcGx5In19KS5hZnRlckNsb3NlZCgpLnBpcGUoT2UoMSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2UmJihpZSh0KT90aGlzLm1hcHBpbmdGb3JtR3JvdXAuYXQodCkucGF0Y2hWYWx1ZShlKTp0aGlzLnB1c2hEYXRhQXNGb3JtQXJyYXlzKFtlXSksdGhpcy5tYXBwaW5nRm9ybUdyb3VwLm1hcmtBc0RpcnR5KCkpfSkpfXVwZGF0ZVRhYmxlRGF0YShlLHQpe2xldCBuPWUubWFwKChlPT50aGlzLmdldE1hcHBpbmdWYWx1ZShlKSkpO3QmJihuPW4uZmlsdGVyKChlPT5PYmplY3QudmFsdWVzKGUpLnNvbWUoKGU9PmUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHQudG9Mb3dlckNhc2UoKSkpKSkpKSx0aGlzLmRhdGFTb3VyY2UubG9hZERhdGEobil9ZGVsZXRlTWFwcGluZyhlLHQpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0odGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5kZWxldGUtbWFwcGluZy10aXRsZSIpLCIiLHRoaXMudHJhbnNsYXRlLmluc3RhbnQoImFjdGlvbi5ubyIpLHRoaXMudHJhbnNsYXRlLmluc3RhbnQoImFjdGlvbi55ZXMiKSwhMCkuc3Vic2NyaWJlKChlPT57ZSYmKHRoaXMubWFwcGluZ0Zvcm1Hcm91cC5yZW1vdmVBdCh0KSx0aGlzLm1hcHBpbmdGb3JtR3JvdXAubWFya0FzRGlydHkoKSl9KSl9cHVzaERhdGFBc0Zvcm1BcnJheXMoZSl7ZT8ubGVuZ3RoJiZlLmZvckVhY2goKGU9PnRoaXMubWFwcGluZ0Zvcm1Hcm91cC5wdXNoKHRoaXMuZmIuY29udHJvbChlKSkpKX1nZXRNYXBwaW5nVmFsdWUoZSl7c3dpdGNoKHRoaXMubWFwcGluZ1R5cGUpe2Nhc2UgZm4uREFUQTpjb25zdCB0PUNuLmdldChlLmNvbnZlcnRlcj8udHlwZSk7cmV0dXJue3RvcGljRmlsdGVyOmUudG9waWNGaWx0ZXIsUW9TOmUuc3Vic2NyaXB0aW9uUW9zLGNvbnZlcnRlcjp0P3RoaXMudHJhbnNsYXRlLmluc3RhbnQodCk6IiJ9O2Nhc2UgZm4uUkVRVUVTVFM6bGV0IG47Y29uc3QgYT1lO3JldHVybiBuPWEucmVxdWVzdFR5cGU9PT1Jbi5BVFRSSUJVVEVfVVBEQVRFP2EucmVxdWVzdFZhbHVlLmF0dHJpYnV0ZUZpbHRlcjphLnJlcXVlc3RUeXBlPT09SW4uU0VSVkVSX1NJREVfUlBDP2EucmVxdWVzdFZhbHVlLm1ldGhvZEZpbHRlcjphLnJlcXVlc3RWYWx1ZS50b3BpY0ZpbHRlcix7cmVxdWVzdFR5cGU6ZS5yZXF1ZXN0VHlwZSx0eXBlOnRoaXMudHJhbnNsYXRlLmluc3RhbnQoQW4uZ2V0KGUucmVxdWVzdFR5cGUpKSxkZXRhaWxzOm59O2Nhc2UgZm4uT1BDVUE6Y29uc3Qgbz1lLmRldmljZUluZm8/LmRldmljZU5hbWVFeHByZXNzaW9uLGk9ZS5kZXZpY2VJbmZvPy5kZXZpY2VQcm9maWxlRXhwcmVzc2lvbix7ZGV2aWNlTm9kZVBhdHRlcm46cn09ZTtyZXR1cm57ZGV2aWNlTm9kZVBhdHRlcm46cixkZXZpY2VOYW1lUGF0dGVybjpvLGRldmljZVByb2ZpbGVFeHByZXNzaW9uOml9O2RlZmF1bHQ6cmV0dXJue319fXNldE1hcHBpbmdDb2x1bW5zKCl7c3dpdGNoKHRoaXMubWFwcGluZ1R5cGUpe2Nhc2UgZm4uREFUQTp0aGlzLm1hcHBpbmdDb2x1bW5zLnB1c2goe2RlZjoidG9waWNGaWx0ZXIiLHRpdGxlOiJnYXRld2F5LnRvcGljLWZpbHRlciJ9LHtkZWY6IlFvUyIsdGl0bGU6ImdhdGV3YXkubXF0dC1xb3MifSx7ZGVmOiJjb252ZXJ0ZXIiLHRpdGxlOiJnYXRld2F5LnBheWxvYWQtdHlwZSJ9KTticmVhaztjYXNlIGZuLlJFUVVFU1RTOnRoaXMubWFwcGluZ0NvbHVtbnMucHVzaCh7ZGVmOiJ0eXBlIix0aXRsZToiZ2F0ZXdheS50eXBlIn0se2RlZjoiZGV0YWlscyIsdGl0bGU6ImdhdGV3YXkuZGV0YWlscyJ9KTticmVhaztjYXNlIGZuLk9QQ1VBOnRoaXMubWFwcGluZ0NvbHVtbnMucHVzaCh7ZGVmOiJkZXZpY2VOb2RlUGF0dGVybiIsdGl0bGU6ImdhdGV3YXkuZGV2aWNlLW5vZGUifSx7ZGVmOiJkZXZpY2VOYW1lUGF0dGVybiIsdGl0bGU6ImdhdGV3YXkuZGV2aWNlLW5hbWUifSx7ZGVmOiJkZXZpY2VQcm9maWxlRXhwcmVzc2lvbiIsdGl0bGU6ImdhdGV3YXkuZGV2aWNlLXByb2ZpbGUifSl9fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6cm8sZGVwczpbe3Rva2VuOlkuVHJhbnNsYXRlU2VydmljZX0se3Rva2VuOkplLk1hdERpYWxvZ30se3Rva2VuOlguRGlhbG9nU2VydmljZX0se3Rva2VuOm1lLkZvcm1CdWlsZGVyfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpybyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1hcHBpbmctdGFibGUiLGlucHV0czp7cmVxdWlyZWQ6InJlcXVpcmVkIixtYXBwaW5nVHlwZToibWFwcGluZ1R5cGUifSxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5ybykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+cm8pKSxtdWx0aTohMH1dLHZpZXdRdWVyaWVzOlt7cHJvcGVydHlOYW1lOiJzZWFyY2hJbnB1dEZpZWxkIixmaXJzdDohMCxwcmVkaWNhdGU6WyJzZWFyY2hJbnB1dCJdLGRlc2NlbmRhbnRzOiEwfV0sbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLW1hcHBpbmctdGFibGUgdGItYWJzb2x1dGUtZmlsbCI+XG4gIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PSJjb2x1bW4iIGNsYXNzPSJ0Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQiPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIiBbZnhTaG93XT0iIXRleHRTZWFyY2hNb2RlIj5cbiAgICAgIDxkaXYgY2xhc3M9Im1hdC10b29sYmFyLXRvb2xzIiAqbmdJZj0iKGRhdGFTb3VyY2UuaXNFbXB0eSgpIHwgYXN5bmMpID09PSBmYWxzZSI+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0ic3RhcnQgY2VudGVyIiBmeExheW91dC54cz0iY29sdW1uIiBmeExheW91dEFsaWduLnhzPSJjZW50ZXIgc3RhcnQiIGNsYXNzPSJ0aXRsZS1jb250YWluZXIiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Yi1tYXBwaW5nLXRhYmxlLXRpdGxlIj57e21hcHBpbmdUeXBlVHJhbnNsYXRpb25zTWFwLmdldChtYXBwaW5nVHlwZSkgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlTWFwcGluZygkZXZlbnQpIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmFkZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPSJlbnRlckZpbHRlck1vZGUoKSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5zZWFyY2hcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICA8bWF0LWljb24+c2VhcmNoPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC10b29sYmFyPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIiBbZnhTaG93XT0idGV4dFNlYXJjaE1vZGUiPlxuICAgICAgPGRpdiBjbGFzcz0ibWF0LXRvb2xiYXItdG9vbHMiPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLnNlYXJjaFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD5cbiAgICAgICAgICA8bWF0LWxhYmVsPiZuYnNwOzwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCAjc2VhcmNoSW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT0idGV4dFNlYXJjaCJcbiAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnY29tbW9uLmVudGVyLXNlYXJjaFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9ImV4aXRGaWx0ZXJNb2RlKCkiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uY2xvc2VcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXRvb2xiYXI+XG4gICAgPGRpdiBjbGFzcz0idGFibGUtY29udGFpbmVyIj5cbiAgICAgIDx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPSJkYXRhU291cmNlIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT0iY29sdW1uLmRlZiIgKm5nRm9yPSJsZXQgY29sdW1uIG9mIG1hcHBpbmdDb2x1bW5zOyBsZXQgaSA9IGluZGV4Ij5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MucmVxdWVzdC1jb2x1bW5dPSJtYXBwaW5nVHlwZSA9PT0gbWFwcGluZ1R5cGVFbnVtLlJFUVVFU1RTIj5cbiAgICAgICAgICAgIHt7IGNvbHVtbi50aXRsZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCB0YlRydW5jYXRlV2l0aFRvb2x0aXAgKm1hdENlbGxEZWY9ImxldCBtYXBwaW5nIiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MucmVxdWVzdC1jb2x1bW5dPSJtYXBwaW5nVHlwZSA9PT0gbWFwcGluZ1R5cGVFbnVtLlJFUVVFU1RTIj5cbiAgICAgICAgICAgIHt7IG1hcHBpbmdbY29sdW1uLmRlZl0gfX1cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9ImFjdGlvbnMiIHN0aWNreUVuZD5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZS5ndC1tZF09InsgbWluV2lkdGg6IFwnOTZweFwnLCBtYXhXaWR0aDogXCc5NnB4XCcsIHdpZHRoOiBcJzk2cHhcJywgdGV4dEFsaWduOiBcJ2NlbnRlclwnfSI+XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgbWFwcGluZzsgbGV0IGkgPSBpbmRleCJcbiAgICAgICAgICAgICAgICAgICAgW25nU3R5bGUuZ3QtbWRdPSJ7IG1pbldpZHRoOiBcJzk2cHhcJywgbWF4V2lkdGg6IFwnOTZweFwnLCB3aWR0aDogXCc5NnB4XCd9Ij5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcm93QWN0aW9ucz5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VNYXBwaW5nKCRldmVudCwgaSkiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmRlbGV0ZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlTWFwcGluZygkZXZlbnQsIGkpIj5cbiAgICAgICAgICAgICAgICA8dGItaWNvbj5kZWxldGU8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxkaXYgZnhIaWRlIGZ4U2hvdy5ndC1tZCBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09InJvd0FjdGlvbnMiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGZ4SGlkZSBmeFNob3cubHQtbGcgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0QWxpZ249ImVuZCI+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09ImNlbGxBY3Rpb25zTWVudSI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxtYXQtbWVudSAjY2VsbEFjdGlvbnNNZW51PSJtYXRNZW51IiB4UG9zaXRpb249ImJlZm9yZSI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09InJvd0FjdGlvbnMiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxtYXQtaGVhZGVyLXJvdyBbbmdDbGFzc109IntcJ21hdC1yb3ctc2VsZWN0XCc6IHRydWV9IiAqbWF0SGVhZGVyUm93RGVmPSJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWUiPjwvbWF0LWhlYWRlci1yb3c+XG4gICAgICAgIDxtYXQtcm93ICptYXRSb3dEZWY9ImxldCBtYXBwaW5nOyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyI+PC9tYXQtcm93PlxuICAgICAgPC90YWJsZT5cbiAgICAgIDxzZWN0aW9uIFtmeFNob3ddPSIhdGV4dFNlYXJjaE1vZGUgJiYgKGRhdGFTb3VyY2UuaXNFbXB0eSgpIHwgYXN5bmMpIiBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgICAgICAgY2xhc3M9Im1hdC1oZWFkbGluZS01IHRiLWFic29sdXRlLWZpbGwgdGItYWRkLW5ldyI+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjbGFzcz0iY29ubmVjdG9yIlxuICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZU1hcHBpbmcoJGV2ZW50KSI+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJ0Yi1tYXQtOTYiPmFkZDwvbWF0LWljb24+XG4gICAgICAgICAgPHNwYW4+e3sgXCdnYXRld2F5LmFkZC1tYXBwaW5nXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9zZWN0aW9uPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSAmJiAoZGF0YVNvdXJjZS5pc0VtcHR5KCkgfCBhc3luYykiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCIgdHJhbnNsYXRlPlxuICAgICAgd2lkZ2V0Lm5vLWRhdGEtZm91bmRcbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnR7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOiNmZmY7b3ZlcmZsb3c6aGlkZGVufTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQudGItb3V0bGluZWQtYm9yZGVye2JveC1zaGFkb3c6MCAwICMwMDAzLDAgMCAjMDAwMDAwMjQsMCAwICMwMDAwMDAxZjtib3JkZXI6c29saWQgMXB4ICNlMGUwZTA7Ym9yZGVyLXJhZGl1czo0cHh9Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAubWF0LXRvb2xiYXItdG9vbHN7bWluLWhlaWdodDphdXRvfTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQgLnRpdGxlLWNvbnRhaW5lcntvdmVyZmxvdzpoaWRkZW59Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAudGItbWFwcGluZy10YWJsZS10aXRsZXtwYWRkaW5nLXJpZ2h0OjIwcHg7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lcntvdmVyZmxvdzphdXRvfTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lciAubWF0LW1kYy10YWJsZXt0YWJsZS1sYXlvdXQ6Zml4ZWQ7bWluLXdpZHRoOjQ1MHB4fTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lciAubWF0LW1kYy10YWJsZSAudGFibGUtdmFsdWUtY29sdW1ue3BhZGRpbmc6MCAxMnB4O3dpZHRoOjIzJX06aG9zdCAudGItbWFwcGluZy10YWJsZSAudGItbWFwcGluZy10YWJsZS1jb250ZW50IC50YWJsZS1jb250YWluZXIgLm1hdC1tZGMtdGFibGUgLnRhYmxlLXZhbHVlLWNvbHVtbi5yZXF1ZXN0LWNvbHVtbnt3aWR0aDozOCV9Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAuZWxsaXBzaXN7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Omhvc3QgLm5vLWRhdGEtZm91bmR7aGVpZ2h0OmNhbGMoMTAwJSAtIDEyMHB4KX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCl7Omhvc3QgLm1hdC10b29sYmFye2hlaWdodDphdXRvO21pbi1oZWlnaHQ6MTAwcHh9Omhvc3QgLm1hdC10b29sYmFyIC50Yi1tYXBwaW5nLXRhYmxlLXRpdGxle3BhZGRpbmctYm90dG9tOjVweDt3aWR0aDoxMDAlfX06aG9zdCA6Om5nLWRlZXAgbWF0LWNlbGwudGItdmFsdWUtY2VsbHtjdXJzb3I6cG9pbnRlcn06aG9zdCA6Om5nLWRlZXAgbWF0LWNlbGwudGItdmFsdWUtY2VsbCAubWF0LWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDtmb250LXNpemU6MjRweDtjb2xvcjojNzU3NTc1fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nQ2xhc3Msc2VsZWN0b3I6IltuZ0NsYXNzXSIsaW5wdXRzOlsiY2xhc3MiLCJuZ0NsYXNzIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdUZW1wbGF0ZU91dGxldCxzZWxlY3RvcjoiW25nVGVtcGxhdGVPdXRsZXRdIixpbnB1dHM6WyJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCIsIm5nVGVtcGxhdGVPdXRsZXQiLCJuZ1RlbXBsYXRlT3V0bGV0SW5qZWN0b3IiXX0se2tpbmQ6InBpcGUiLHR5cGU6Xy5Bc3luY1BpcGUsbmFtZToiYXN5bmMifSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnJ0Lk1hdFRvb2xiYXIsc2VsZWN0b3I6Im1hdC10b29sYmFyIixpbnB1dHM6WyJjb2xvciJdLGV4cG9ydEFzOlsibWF0VG9vbGJhciJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmh0Lk1hdE1lbnUsc2VsZWN0b3I6Im1hdC1tZW51IixpbnB1dHM6WyJiYWNrZHJvcENsYXNzIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImFyaWEtZGVzY3JpYmVkYnkiLCJ4UG9zaXRpb24iLCJ5UG9zaXRpb24iLCJvdmVybGFwVHJpZ2dlciIsImhhc0JhY2tkcm9wIiwiY2xhc3MiLCJjbGFzc0xpc3QiXSxvdXRwdXRzOlsiY2xvc2VkIiwiY2xvc2UiXSxleHBvcnRBczpbIm1hdE1lbnUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpodC5NYXRNZW51VHJpZ2dlcixzZWxlY3RvcjoiW21hdC1tZW51LXRyaWdnZXItZm9yXSwgW21hdE1lbnVUcmlnZ2VyRm9yXSIsaW5wdXRzOlsibWF0LW1lbnUtdHJpZ2dlci1mb3IiLCJtYXRNZW51VHJpZ2dlckZvciIsIm1hdE1lbnVUcmlnZ2VyRGF0YSIsIm1hdE1lbnVUcmlnZ2VyUmVzdG9yZUZvY3VzIl0sb3V0cHV0czpbIm1lbnVPcGVuZWQiLCJvbk1lbnVPcGVuIiwibWVudUNsb3NlZCIsIm9uTWVudUNsb3NlIl0sZXhwb3J0QXM6WyJtYXRNZW51VHJpZ2dlciJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmIuTWF0VGFibGUsc2VsZWN0b3I6Im1hdC10YWJsZSwgdGFibGVbbWF0LXRhYmxlXSIsZXhwb3J0QXM6WyJtYXRUYWJsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0SGVhZGVyQ2VsbERlZixzZWxlY3RvcjoiW21hdEhlYWRlckNlbGxEZWZdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlclJvd0RlZixzZWxlY3RvcjoiW21hdEhlYWRlclJvd0RlZl0iLGlucHV0czpbIm1hdEhlYWRlclJvd0RlZiIsIm1hdEhlYWRlclJvd0RlZlN0aWNreSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Q29sdW1uRGVmLHNlbGVjdG9yOiJbbWF0Q29sdW1uRGVmXSIsaW5wdXRzOlsibWF0Q29sdW1uRGVmIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsRGVmLHNlbGVjdG9yOiJbbWF0Q2VsbERlZl0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Um93RGVmLHNlbGVjdG9yOiJbbWF0Um93RGVmXSIsaW5wdXRzOlsibWF0Um93RGVmQ29sdW1ucyIsIm1hdFJvd0RlZldoZW4iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlckNlbGwsc2VsZWN0b3I6Im1hdC1oZWFkZXItY2VsbCwgdGhbbWF0LWhlYWRlci1jZWxsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsLHNlbGVjdG9yOiJtYXQtY2VsbCwgdGRbbWF0LWNlbGxdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdEhlYWRlclJvdyxzZWxlY3RvcjoibWF0LWhlYWRlci1yb3csIHRyW21hdC1oZWFkZXItcm93XSIsZXhwb3J0QXM6WyJtYXRIZWFkZXJSb3ciXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdFJvdyxzZWxlY3RvcjoibWF0LXJvdywgdHJbbWF0LXJvd10iLGV4cG9ydEFzOlsibWF0Um93Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRBbGlnbkRpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRBbGlnbl0sIFtmeExheW91dEFsaWduLnhzXSwgW2Z4TGF5b3V0QWxpZ24uc21dLCBbZnhMYXlvdXRBbGlnbi5tZF0sICBbZnhMYXlvdXRBbGlnbi5sZ10sIFtmeExheW91dEFsaWduLnhsXSwgW2Z4TGF5b3V0QWxpZ24ubHQtc21dLCBbZnhMYXlvdXRBbGlnbi5sdC1tZF0sICBbZnhMYXlvdXRBbGlnbi5sdC1sZ10sIFtmeExheW91dEFsaWduLmx0LXhsXSwgW2Z4TGF5b3V0QWxpZ24uZ3QteHNdLCBbZnhMYXlvdXRBbGlnbi5ndC1zbV0sICBbZnhMYXlvdXRBbGlnbi5ndC1tZF0sIFtmeExheW91dEFsaWduLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRBbGlnbiIsImZ4TGF5b3V0QWxpZ24ueHMiLCJmeExheW91dEFsaWduLnNtIiwiZnhMYXlvdXRBbGlnbi5tZCIsImZ4TGF5b3V0QWxpZ24ubGciLCJmeExheW91dEFsaWduLnhsIiwiZnhMYXlvdXRBbGlnbi5sdC1zbSIsImZ4TGF5b3V0QWxpZ24ubHQtbWQiLCJmeExheW91dEFsaWduLmx0LWxnIiwiZnhMYXlvdXRBbGlnbi5sdC14bCIsImZ4TGF5b3V0QWxpZ24uZ3QteHMiLCJmeExheW91dEFsaWduLmd0LXNtIiwiZnhMYXlvdXRBbGlnbi5ndC1tZCIsImZ4TGF5b3V0QWxpZ24uZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRGbGV4RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeEZsZXhdLCBbZnhGbGV4LnhzXSwgW2Z4RmxleC5zbV0sIFtmeEZsZXgubWRdLCAgW2Z4RmxleC5sZ10sIFtmeEZsZXgueGxdLCBbZnhGbGV4Lmx0LXNtXSwgW2Z4RmxleC5sdC1tZF0sICBbZnhGbGV4Lmx0LWxnXSwgW2Z4RmxleC5sdC14bF0sIFtmeEZsZXguZ3QteHNdLCBbZnhGbGV4Lmd0LXNtXSwgIFtmeEZsZXguZ3QtbWRdLCBbZnhGbGV4Lmd0LWxnXSIsaW5wdXRzOlsiZnhGbGV4IiwiZnhGbGV4LnhzIiwiZnhGbGV4LnNtIiwiZnhGbGV4Lm1kIiwiZnhGbGV4LmxnIiwiZnhGbGV4LnhsIiwiZnhGbGV4Lmx0LXNtIiwiZnhGbGV4Lmx0LW1kIiwiZnhGbGV4Lmx0LWxnIiwiZnhGbGV4Lmx0LXhsIiwiZnhGbGV4Lmd0LXhzIiwiZnhGbGV4Lmd0LXNtIiwiZnhGbGV4Lmd0LW1kIiwiZnhGbGV4Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Sy5EZWZhdWx0U2hvd0hpZGVEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4U2hvd10sIFtmeFNob3cucHJpbnRdLCAgW2Z4U2hvdy54c10sIFtmeFNob3cuc21dLCBbZnhTaG93Lm1kXSwgW2Z4U2hvdy5sZ10sIFtmeFNob3cueGxdLCAgW2Z4U2hvdy5sdC1zbV0sIFtmeFNob3cubHQtbWRdLCBbZnhTaG93Lmx0LWxnXSwgW2Z4U2hvdy5sdC14bF0sICBbZnhTaG93Lmd0LXhzXSwgW2Z4U2hvdy5ndC1zbV0sIFtmeFNob3cuZ3QtbWRdLCBbZnhTaG93Lmd0LWxnXSwgIFtmeEhpZGVdLCBbZnhIaWRlLnByaW50XSwgIFtmeEhpZGUueHNdLCBbZnhIaWRlLnNtXSwgW2Z4SGlkZS5tZF0sIFtmeEhpZGUubGddLCBbZnhIaWRlLnhsXSwgIFtmeEhpZGUubHQtc21dLCBbZnhIaWRlLmx0LW1kXSwgW2Z4SGlkZS5sdC1sZ10sIFtmeEhpZGUubHQteGxdLCAgW2Z4SGlkZS5ndC14c10sIFtmeEhpZGUuZ3Qtc21dLCBbZnhIaWRlLmd0LW1kXSwgW2Z4SGlkZS5ndC1sZ10iLGlucHV0czpbImZ4U2hvdyIsImZ4U2hvdy5wcmludCIsImZ4U2hvdy54cyIsImZ4U2hvdy5zbSIsImZ4U2hvdy5tZCIsImZ4U2hvdy5sZyIsImZ4U2hvdy54bCIsImZ4U2hvdy5sdC1zbSIsImZ4U2hvdy5sdC1tZCIsImZ4U2hvdy5sdC1sZyIsImZ4U2hvdy5sdC14bCIsImZ4U2hvdy5ndC14cyIsImZ4U2hvdy5ndC1zbSIsImZ4U2hvdy5ndC1tZCIsImZ4U2hvdy5ndC1sZyIsImZ4SGlkZSIsImZ4SGlkZS5wcmludCIsImZ4SGlkZS54cyIsImZ4SGlkZS5zbSIsImZ4SGlkZS5tZCIsImZ4SGlkZS5sZyIsImZ4SGlkZS54bCIsImZ4SGlkZS5sdC1zbSIsImZ4SGlkZS5sdC1tZCIsImZ4SGlkZS5sdC1sZyIsImZ4SGlkZS5sdC14bCIsImZ4SGlkZS5ndC14cyIsImZ4SGlkZS5ndC1zbSIsImZ4SGlkZS5ndC1tZCIsImZ4SGlkZS5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOksuRGVmYXVsdENsYXNzRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtuZ0NsYXNzXSwgW25nQ2xhc3MueHNdLCBbbmdDbGFzcy5zbV0sIFtuZ0NsYXNzLm1kXSwgW25nQ2xhc3MubGddLCBbbmdDbGFzcy54bF0sICBbbmdDbGFzcy5sdC1zbV0sIFtuZ0NsYXNzLmx0LW1kXSwgW25nQ2xhc3MubHQtbGddLCBbbmdDbGFzcy5sdC14bF0sICBbbmdDbGFzcy5ndC14c10sIFtuZ0NsYXNzLmd0LXNtXSwgW25nQ2xhc3MuZ3QtbWRdLCBbbmdDbGFzcy5ndC1sZ10iLGlucHV0czpbIm5nQ2xhc3MiLCJuZ0NsYXNzLnhzIiwibmdDbGFzcy5zbSIsIm5nQ2xhc3MubWQiLCJuZ0NsYXNzLmxnIiwibmdDbGFzcy54bCIsIm5nQ2xhc3MubHQtc20iLCJuZ0NsYXNzLmx0LW1kIiwibmdDbGFzcy5sdC1sZyIsIm5nQ2xhc3MubHQteGwiLCJuZ0NsYXNzLmd0LXhzIiwibmdDbGFzcy5ndC1zbSIsIm5nQ2xhc3MuZ3QtbWQiLCJuZ0NsYXNzLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Sy5EZWZhdWx0U3R5bGVEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW25nU3R5bGVdLCAgW25nU3R5bGUueHNdLCBbbmdTdHlsZS5zbV0sIFtuZ1N0eWxlLm1kXSwgW25nU3R5bGUubGddLCBbbmdTdHlsZS54bF0sICBbbmdTdHlsZS5sdC1zbV0sIFtuZ1N0eWxlLmx0LW1kXSwgW25nU3R5bGUubHQtbGddLCBbbmdTdHlsZS5sdC14bF0sICBbbmdTdHlsZS5ndC14c10sIFtuZ1N0eWxlLmd0LXNtXSwgW25nU3R5bGUuZ3QtbWRdLCBbbmdTdHlsZS5ndC1sZ10iLGlucHV0czpbIm5nU3R5bGUiLCJuZ1N0eWxlLnhzIiwibmdTdHlsZS5zbSIsIm5nU3R5bGUubWQiLCJuZ1N0eWxlLmxnIiwibmdTdHlsZS54bCIsIm5nU3R5bGUubHQtc20iLCJuZ1N0eWxlLmx0LW1kIiwibmdTdHlsZS5sdC1sZyIsIm5nU3R5bGUubHQteGwiLCJuZ1N0eWxlLmd0LXhzIiwibmdTdHlsZS5ndC1zbSIsIm5nU3R5bGUuZ3QtbWQiLCJuZ1N0eWxlLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlllLlRydW5jYXRlV2l0aFRvb2x0aXBEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0b29sdGlwRW5hYmxlZCIsInBvc2l0aW9uIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlkuVHJhbnNsYXRlRGlyZWN0aXZlLHNlbGVjdG9yOiJbdHJhbnNsYXRlXSxbbmd4LXRyYW5zbGF0ZV0iLGlucHV0czpbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZVBhcmFtcyJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJ0LlRiSWNvbkNvbXBvbmVudCxzZWxlY3RvcjoidGItaWNvbiIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbInRiSWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlNhLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfV0sY2hhbmdlRGV0ZWN0aW9uOnQuQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNofSl9fWUoIk1hcHBpbmdUYWJsZUNvbXBvbmVudCIscm8pLEhlKFtOKCldLHJvLnByb3RvdHlwZSwicmVxdWlyZWQiLHZvaWQgMCksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpybyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItbWFwcGluZy10YWJsZSIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PnJvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5ybykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsU2FdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItbWFwcGluZy10YWJsZSB0Yi1hYnNvbHV0ZS1maWxsIj5cbiAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9ImNvbHVtbiIgY2xhc3M9InRiLW1hcHBpbmctdGFibGUtY29udGVudCI+XG4gICAgPG1hdC10b29sYmFyIGNsYXNzPSJtYXQtbWRjLXRhYmxlLXRvb2xiYXIiIFtmeFNob3ddPSIhdGV4dFNlYXJjaE1vZGUiPlxuICAgICAgPGRpdiBjbGFzcz0ibWF0LXRvb2xiYXItdG9vbHMiICpuZ0lmPSIoZGF0YVNvdXJjZS5pc0VtcHR5KCkgfCBhc3luYykgPT09IGZhbHNlIj5cbiAgICAgICAgPGRpdiBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJzdGFydCBjZW50ZXIiIGZ4TGF5b3V0LnhzPSJjb2x1bW4iIGZ4TGF5b3V0QWxpZ24ueHM9ImNlbnRlciBzdGFydCIgY2xhc3M9InRpdGxlLWNvbnRhaW5lciI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9InRiLW1hcHBpbmctdGFibGUtdGl0bGUiPnt7bWFwcGluZ1R5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KG1hcHBpbmdUeXBlKSB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gZnhGbGV4Pjwvc3Bhbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VNYXBwaW5nKCRldmVudCkiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uYWRkXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9ImVudGVyRmlsdGVyTW9kZSgpIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLnNlYXJjaFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXRvb2xiYXI+XG4gICAgPG1hdC10b29sYmFyIGNsYXNzPSJtYXQtbWRjLXRhYmxlLXRvb2xiYXIiIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSI+XG4gICAgICA8ZGl2IGNsYXNzPSJtYXQtdG9vbGJhci10b29scyI+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+Jm5ic3A7PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0ICNzZWFyY2hJbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPSJ0ZXh0U2VhcmNoIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdjb21tb24uZW50ZXItc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0iZXhpdEZpbHRlck1vZGUoKSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5jbG9zZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1jb250YWluZXIiPlxuICAgICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09ImRhdGFTb3VyY2UiPlxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPSJjb2x1bW4uZGVmIiAqbmdGb3I9ImxldCBjb2x1bW4gb2YgbWFwcGluZ0NvbHVtbnM7IGxldCBpID0gaW5kZXgiPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgY2xhc3M9InRhYmxlLXZhbHVlLWNvbHVtbiJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5yZXF1ZXN0LWNvbHVtbl09Im1hcHBpbmdUeXBlID09PSBtYXBwaW5nVHlwZUVudW0uUkVRVUVTVFMiPlxuICAgICAgICAgICAge3sgY29sdW1uLnRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCAqbWF0Q2VsbERlZj0ibGV0IG1hcHBpbmciIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5yZXF1ZXN0LWNvbHVtbl09Im1hcHBpbmdUeXBlID09PSBtYXBwaW5nVHlwZUVudW0uUkVRVUVTVFMiPlxuICAgICAgICAgICAge3sgbWFwcGluZ1tjb2x1bW4uZGVmXSB9fVxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iYWN0aW9ucyIgc3RpY2t5RW5kPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlLmd0LW1kXT0ieyBtaW5XaWR0aDogXCc5NnB4XCcsIG1heFdpZHRoOiBcJzk2cHhcJywgd2lkdGg6IFwnOTZweFwnLCB0ZXh0QWxpZ246IFwnY2VudGVyXCd9Ij5cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBtYXBwaW5nOyBsZXQgaSA9IGluZGV4IlxuICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZS5ndC1tZF09InsgbWluV2lkdGg6IFwnOTZweFwnLCBtYXhXaWR0aDogXCc5NnB4XCcsIHdpZHRoOiBcJzk2cHhcJ30iPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyb3dBY3Rpb25zPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZU1hcHBpbmcoJGV2ZW50LCBpKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZGVsZXRlXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJkZWxldGVNYXBwaW5nKCRldmVudCwgaSkiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uPmRlbGV0ZTwvdGItaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPGRpdiBmeEhpZGUgZnhTaG93Lmd0LW1kIGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJlbmQiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0icm93QWN0aW9ucyI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgZnhIaWRlIGZ4U2hvdy5sdC1sZyBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT0iY2VsbEFjdGlvbnNNZW51Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPG1hdC1tZW51ICNjZWxsQWN0aW9uc01lbnU9Im1hdE1lbnUiIHhQb3NpdGlvbj0iYmVmb3JlIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0icm93QWN0aW9ucyI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG1hdC1oZWFkZXItcm93IFtuZ0NsYXNzXT0ie1wnbWF0LXJvdy1zZWxlY3RcJzogdHJ1ZX0iICptYXRIZWFkZXJSb3dEZWY9ImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTogdHJ1ZSI+PC9tYXQtaGVhZGVyLXJvdz5cbiAgICAgICAgPG1hdC1yb3cgKm1hdFJvd0RlZj0ibGV0IG1hcHBpbmc7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7Ij48L21hdC1yb3c+XG4gICAgICA8L3RhYmxlPlxuICAgICAgPHNlY3Rpb24gW2Z4U2hvd109IiF0ZXh0U2VhcmNoTW9kZSAmJiAoZGF0YVNvdXJjZS5pc0VtcHR5KCkgfCBhc3luYykiIGZ4TGF5b3V0QWxpZ249ImNlbnRlciBjZW50ZXIiXG4gICAgICAgICAgICAgICBjbGFzcz0ibWF0LWhlYWRsaW5lLTUgdGItYWJzb2x1dGUtZmlsbCB0Yi1hZGQtbmV3Ij5cbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNsYXNzPSJjb25uZWN0b3IiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlTWFwcGluZygkZXZlbnQpIj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC05NiI+YWRkPC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3Bhbj57eyBcJ2dhdGV3YXkuYWRkLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gW2Z4U2hvd109InRleHRTZWFyY2hNb2RlICYmIChkYXRhU291cmNlLmlzRW1wdHkoKSB8IGFzeW5jKSJcbiAgICAgICAgICBmeExheW91dEFsaWduPSJjZW50ZXIgY2VudGVyIlxuICAgICAgICAgIGNsYXNzPSJuby1kYXRhLWZvdW5kIiB0cmFuc2xhdGU+XG4gICAgICB3aWRnZXQubm8tZGF0YS1mb3VuZFxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6YmxvY2t9Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6I2ZmZjtvdmVyZmxvdzpoaWRkZW59Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudC50Yi1vdXRsaW5lZC1ib3JkZXJ7Ym94LXNoYWRvdzowIDAgIzAwMDMsMCAwICMwMDAwMDAyNCwwIDAgIzAwMDAwMDFmO2JvcmRlcjpzb2xpZCAxcHggI2UwZTBlMDtib3JkZXItcmFkaXVzOjRweH06aG9zdCAudGItbWFwcGluZy10YWJsZSAudGItbWFwcGluZy10YWJsZS1jb250ZW50IC5tYXQtdG9vbGJhci10b29sc3ttaW4taGVpZ2h0OmF1dG99Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAudGl0bGUtY29udGFpbmVye292ZXJmbG93OmhpZGRlbn06aG9zdCAudGItbWFwcGluZy10YWJsZSAudGItbWFwcGluZy10YWJsZS1jb250ZW50IC50Yi1tYXBwaW5nLXRhYmxlLXRpdGxle3BhZGRpbmctcmlnaHQ6MjBweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAudGFibGUtY29udGFpbmVye292ZXJmbG93OmF1dG99Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAudGFibGUtY29udGFpbmVyIC5tYXQtbWRjLXRhYmxle3RhYmxlLWxheW91dDpmaXhlZDttaW4td2lkdGg6NDUwcHh9Omhvc3QgLnRiLW1hcHBpbmctdGFibGUgLnRiLW1hcHBpbmctdGFibGUtY29udGVudCAudGFibGUtY29udGFpbmVyIC5tYXQtbWRjLXRhYmxlIC50YWJsZS12YWx1ZS1jb2x1bW57cGFkZGluZzowIDEycHg7d2lkdGg6MjMlfTpob3N0IC50Yi1tYXBwaW5nLXRhYmxlIC50Yi1tYXBwaW5nLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lciAubWF0LW1kYy10YWJsZSAudGFibGUtdmFsdWUtY29sdW1uLnJlcXVlc3QtY29sdW1ue3dpZHRoOjM4JX06aG9zdCAudGItbWFwcGluZy10YWJsZSAudGItbWFwcGluZy10YWJsZS1jb250ZW50IC5lbGxpcHNpc3tvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306aG9zdCAubm8tZGF0YS1mb3VuZHtoZWlnaHQ6Y2FsYygxMDAlIC0gMTIwcHgpfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KXs6aG9zdCAubWF0LXRvb2xiYXJ7aGVpZ2h0OmF1dG87bWluLWhlaWdodDoxMDBweH06aG9zdCAubWF0LXRvb2xiYXIgLnRiLW1hcHBpbmctdGFibGUtdGl0bGV7cGFkZGluZy1ib3R0b206NXB4O3dpZHRoOjEwMCV9fTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxse2N1cnNvcjpwb2ludGVyfTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxsIC5tYXQtaWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4O2ZvbnQtc2l6ZToyNHB4O2NvbG9yOiM3NTc1NzV9XG4nXX1dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0eXBlOkplLk1hdERpYWxvZ30se3R5cGU6WC5EaWFsb2dTZXJ2aWNlfSx7dHlwZTptZS5Gb3JtQnVpbGRlcn1dLHByb3BEZWNvcmF0b3JzOntyZXF1aXJlZDpbe3R5cGU6YX1dLG1hcHBpbmdUeXBlOlt7dHlwZTphfV0sc2VhcmNoSW5wdXRGaWVsZDpbe3R5cGU6byxhcmdzOlsic2VhcmNoSW5wdXQiXX1dfX0pO2NsYXNzIHNvIGV4dGVuZHMgUntjb25zdHJ1Y3Rvcigpe3N1cGVyKCl9fWUoIk1hcHBpbmdEYXRhc291cmNlIixzbyk7Y2xhc3MgbG97Y29uc3RydWN0b3IoZSx0KXt0aGlzLmZiPWUsdGhpcy5jZHI9dCx0aGlzLnRpdGxlPSJnYXRld2F5LnNlY3VyaXR5Iix0aGlzLmV4dGVuZENlcnRpZmljYXRlc01vZGVsPSExLHRoaXMuQnJva2VyU2VjdXJpdHlUeXBlPXJuLHRoaXMuc2VjdXJpdHlUeXBlcz1PYmplY3QudmFsdWVzKHJuKSx0aGlzLm1vZGVUeXBlcz1PYmplY3QudmFsdWVzKHBuKSx0aGlzLlNlY3VyaXR5VHlwZVRyYW5zbGF0aW9uc01hcD1tbix0aGlzLmRlc3Ryb3kkPW5ldyBTZX1uZ09uSW5pdCgpe3RoaXMuc2VjdXJpdHlGb3JtR3JvdXA9dGhpcy5mYi5ncm91cCh7dHlwZTpbcm4uQU5PTllNT1VTLFtdXSx1c2VybmFtZTpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scGFzc3dvcmQ6WyIiLFt1ZS5wYXR0ZXJuKGt0KV1dLHBhdGhUb0NBQ2VydDpbIiIsW3VlLnBhdHRlcm4oa3QpXV0scGF0aFRvUHJpdmF0ZUtleTpbIiIsW3VlLnBhdHRlcm4oa3QpXV0scGF0aFRvQ2xpZW50Q2VydDpbIiIsW3VlLnBhdHRlcm4oa3QpXV19KSx0aGlzLmV4dGVuZENlcnRpZmljYXRlc01vZGVsJiZ0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmFkZENvbnRyb2woIm1vZGUiLHRoaXMuZmIuY29udHJvbChwbi5OT05FLFtdKSksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+dGhpcy51cGRhdGVWYWxpZGF0b3JzKGUpKSl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9d3JpdGVWYWx1ZShlKXtpZihlKWUudHlwZXx8KGUudHlwZT1ybi5BTk9OWU1PVVMpLHRoaXMudXBkYXRlVmFsaWRhdG9ycyhlLnR5cGUpLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAucmVzZXQoZSx7ZW1pdEV2ZW50OiExfSk7ZWxzZXtjb25zdCBlPXt0eXBlOnJuLkFOT05ZTU9VU307dGhpcy5zZWN1cml0eUZvcm1Hcm91cC5yZXNldChlLHtlbWl0RXZlbnQ6ITF9KX10aGlzLmNkci5tYXJrRm9yQ2hlY2soKX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgidHlwZSIpLnZhbHVlIT09cm4uQkFTSUN8fHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAudmFsaWQ/bnVsbDp7c2VjdXJpdHlGb3JtOnt2YWxpZDohMX19fXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9dXBkYXRlVmFsaWRhdG9ycyhlKXtpZihlKWlmKHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJ1c2VybmFtZSIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJwYXNzd29yZCIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJwYXRoVG9DQUNlcnQiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgicGF0aFRvUHJpdmF0ZUtleSIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJwYXRoVG9DbGllbnRDZXJ0IikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoIm1vZGUiKT8uZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksZT09PXJuLkJBU0lDKXRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJ1c2VybmFtZSIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoInBhc3N3b3JkIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KTtlbHNlIGlmKGU9PT1ybi5DRVJUSUZJQ0FURVMmJih0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgicGF0aFRvQ0FDZXJ0IikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgicGF0aFRvUHJpdmF0ZUtleSIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5zZWN1cml0eUZvcm1Hcm91cC5nZXQoInBhdGhUb0NsaWVudENlcnQiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuZXh0ZW5kQ2VydGlmaWNhdGVzTW9kZWwpKXtjb25zdCBlPXRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJtb2RlIik7ZSYmIWUudmFsdWUmJmUuc2V0VmFsdWUocG4uTk9ORSx7ZW1pdEV2ZW50OiExfSksZT8uZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Rm9ybUdyb3VwLmdldCgidXNlcm5hbWUiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KCJwYXNzd29yZCIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSl9fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6bG8sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfSx7dG9rZW46dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6bG8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1zZWN1cml0eS1jb25maWciLGlucHV0czp7dGl0bGU6InRpdGxlIixleHRlbmRDZXJ0aWZpY2F0ZXNNb2RlbDoiZXh0ZW5kQ2VydGlmaWNhdGVzTW9kZWwifSxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5sbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+bG8pKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHNhbWUtcGFkZGluZyB0Yi1mbGV4IGNvbHVtbiIgW2Zvcm1Hcm91cF09InNlY3VyaXR5Rm9ybUdyb3VwIj5cbiAgPGRpdiBjbGFzcz0idGItZmxleCByb3cgc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIgbm8tZ2FwIGZpbGwtd2lkdGgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIj57eyB0aXRsZSB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHNlY3VyaXR5VHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICB7eyBTZWN1cml0eVR5cGVUcmFuc2xhdGlvbnNNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlIj5cbiAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkJyb2tlclNlY3VyaXR5VHlwZS5CQVNJQyI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS51c2VybmFtZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ1c2VybmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS51c2VybmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndXNlcm5hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndXNlcm5hbWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5wYXNzd29yZDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJwYXNzd29yZCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icGFzc3dvcmQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAgYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0IiBtYXRTdWZmaXg+XG4gICAgICAgICAgICAgICAgPHRiLXRvZ2dsZS1wYXNzd29yZCBjbGFzcz0idGItZmxleCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiPjwvdGItdG9nZ2xlLXBhc3N3b3JkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPSJCcm9rZXJTZWN1cml0eVR5cGUuQ0VSVElGSUNBVEVTIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwiPnt7IFwnZ2F0ZXdheS5wYXRoLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuQ0EtY2VydGlmaWNhdGUtcGF0aDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwYXRoVG9DQUNlcnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucHJpdmF0ZS1rZXktcGF0aDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwYXRoVG9Qcml2YXRlS2V5IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmNsaWVudC1jZXJ0LXBhdGg8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icGF0aFRvQ2xpZW50Q2VydCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJleHRlbmRDZXJ0aWZpY2F0ZXNNb2RlbCI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkubW9kZTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibW9kZSI+XG4gICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBtb2RlVHlwZXMiIFt2YWx1ZV09InR5cGUiPlxuICAgICAgICAgICAgICAgICAge3sgdHlwZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudXNlcm5hbWU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idXNlcm5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS51c2VybmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd1c2VybmFtZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3VzZXJuYW1lXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnBhc3N3b3JkPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwYXNzd29yZCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiIG1hdFN1ZmZpeD5cbiAgICAgICAgICAgICAgICA8dGItdG9nZ2xlLXBhc3N3b3JkIGNsYXNzPSJ0Yi1mbGV4IGFsaWduLWNlbnRlciBmaWxsLWhlaWdodCI+PC90Yi10b2dnbGUtcGFzc3dvcmQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9ja31cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdTd2l0Y2gsc2VsZWN0b3I6IltuZ1N3aXRjaF0iLGlucHV0czpbIm5nU3dpdGNoIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaENhc2Usc2VsZWN0b3I6IltuZ1N3aXRjaENhc2VdIixpbnB1dHM6WyJuZ1N3aXRjaENhc2UiXX0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp0dC5Ub2dnbGVQYXNzd29yZENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXBhc3N3b3JkIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpudC5Ub2dnbGVPcHRpb24sc2VsZWN0b3I6InRiLXRvZ2dsZS1vcHRpb24iLGlucHV0czpbInZhbHVlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YXQuVG9nZ2xlU2VsZWN0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi10b2dnbGUtc2VsZWN0IixpbnB1dHM6WyJkaXNhYmxlZCIsInNlbGVjdE1lZGlhQnJlYWtwb2ludCIsImFwcGVhcmFuY2UiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImZpbGxIZWlnaHQiLCJleHRyYVBhZGRpbmciLCJwcmltYXJ5QmFja2dyb3VuZCJdfV0sY2hhbmdlRGV0ZWN0aW9uOnQuQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNofSl9fWUoIlNlY3VyaXR5Q29uZmlnQ29tcG9uZW50IixsbyksSGUoW04oKV0sbG8ucHJvdG90eXBlLCJleHRlbmRDZXJ0aWZpY2F0ZXNNb2RlbCIsdm9pZCAwKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmxvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1zZWN1cml0eS1jb25maWciLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5sbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+bG8pKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxEXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gc2FtZS1wYWRkaW5nIHRiLWZsZXggY29sdW1uIiBbZm9ybUdyb3VwXT0ic2VjdXJpdHlGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHJvdyBzcGFjZS1iZXR3ZWVuIGFsaWduLWNlbnRlciBuby1nYXAgZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiPnt7IHRpdGxlIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgPHRiLXRvZ2dsZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIiBhcHBlYXJhbmNlPSJmaWxsIj5cbiAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2Ygc2VjdXJpdHlUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgIHt7IFNlY3VyaXR5VHlwZVRyYW5zbGF0aW9uc01hcC5nZXQodHlwZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT0iQnJva2VyU2VjdXJpdHlUeXBlLkJBU0lDIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnVzZXJuYW1lPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InVzZXJuYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnVzZXJuYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd1c2VybmFtZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBzZWN1cml0eUZvcm1Hcm91cC5nZXQoXCd1c2VybmFtZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnBhc3N3b3JkPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwYXNzd29yZCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiIG1hdFN1ZmZpeD5cbiAgICAgICAgICAgICAgICA8dGItdG9nZ2xlLXBhc3N3b3JkIGNsYXNzPSJ0Yi1mbGV4IGFsaWduLWNlbnRlciBmaWxsLWhlaWdodCI+PC90Yi10b2dnbGUtcGFzc3dvcmQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09IkJyb2tlclNlY3VyaXR5VHlwZS5DRVJUSUZJQ0FURVMiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCI+e3sgXCdnYXRld2F5LnBhdGgtaGludFwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5DQS1jZXJ0aWZpY2F0ZS1wYXRoPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhdGhUb0NBQ2VydCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5wcml2YXRlLWtleS1wYXRoPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhdGhUb1ByaXZhdGVLZXkiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuY2xpZW50LWNlcnQtcGF0aDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwYXRoVG9DbGllbnRDZXJ0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9ImV4dGVuZENlcnRpZmljYXRlc01vZGVsIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5tb2RlPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtb2RlIj5cbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIG1vZGVUeXBlcyIgW3ZhbHVlXT0idHlwZSI+XG4gICAgICAgICAgICAgICAgICB7eyB0eXBlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS51c2VybmFtZTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ1c2VybmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LnVzZXJuYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNlY3VyaXR5Rm9ybUdyb3VwLmdldChcJ3VzZXJuYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2VjdXJpdHlGb3JtR3JvdXAuZ2V0KFwndXNlcm5hbWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucGFzc3dvcmQ8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhc3N3b3JkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGFsaWduLWNlbnRlciBmaWxsLWhlaWdodCIgbWF0U3VmZml4PlxuICAgICAgICAgICAgICAgIDx0Yi10b2dnbGUtcGFzc3dvcmQgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0Ij48L3RiLXRvZ2dsZS1wYXNzd29yZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9LHt0eXBlOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9XSxwcm9wRGVjb3JhdG9yczp7dGl0bGU6W3t0eXBlOmF9XSxleHRlbmRDZXJ0aWZpY2F0ZXNNb2RlbDpbe3R5cGU6YX1dfX0pO2NsYXNzIGNve2NvbnN0cnVjdG9yKGUpe3RoaXMuZmI9ZSx0aGlzLmhpZGVOZXdGaWVsZHM9ITEsdGhpcy5zZWN1cml0eVBvbGljeVR5cGVzPV9uLHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMuc2VydmVyQ29uZmlnRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe3VybDpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sdGltZW91dEluTWlsbGlzOlsxZTMsW3VlLnJlcXVpcmVkLHVlLm1pbigxZTMpXV0sc2NhblBlcmlvZEluTWlsbGlzOltWLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMWUzKV1dLHBvbGxQZXJpb2RJbk1pbGxpczpbNWUzLFt1ZS5yZXF1aXJlZCx1ZS5taW4oNTApXV0sZW5hYmxlU3Vic2NyaXB0aW9uczpbITAsW11dLHN1YkNoZWNrUGVyaW9kSW5NaWxsaXM6WzEwMCxbdWUucmVxdWlyZWQsdWUubWluKDEwMCldXSxzaG93TWFwOlshMSxbXV0sc2VjdXJpdHk6W1VuLkJBU0lDMTI4LFtdXSxpZGVudGl0eTpbXX0pLHRoaXMuc2VydmVyQ29uZmlnRm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLm9uQ2hhbmdlKGUpLHRoaXMub25Ub3VjaGVkKCl9KSl9bmdBZnRlclZpZXdJbml0KCl7dGhpcy5oaWRlTmV3RmllbGRzJiZ0aGlzLnNlcnZlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoInBvbGxQZXJpb2RJbk1pbGxpcyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5zZXJ2ZXJDb25maWdGb3JtR3JvdXAudmFsaWQ/bnVsbDp7c2VydmVyQ29uZmlnRm9ybUdyb3VwOnt2YWxpZDohMX19fXdyaXRlVmFsdWUoZSl7Y29uc3R7dGltZW91dEluTWlsbGlzOnQ9MWUzLHNjYW5QZXJpb2RJbk1pbGxpczpuPVYscG9sbFBlcmlvZEluTWlsbGlzOmE9NWUzLGVuYWJsZVN1YnNjcmlwdGlvbnM6bz0hMCxzdWJDaGVja1BlcmlvZEluTWlsbGlzOmk9MTAwLHNob3dNYXA6cj0hMSxzZWN1cml0eTpzPVVuLkJBU0lDMTI4LGlkZW50aXR5Omw9e319PWU7dGhpcy5zZXJ2ZXJDb25maWdGb3JtR3JvdXAucmVzZXQoey4uLmUsdGltZW91dEluTWlsbGlzOnQsc2NhblBlcmlvZEluTWlsbGlzOm4scG9sbFBlcmlvZEluTWlsbGlzOmEsZW5hYmxlU3Vic2NyaXB0aW9uczpvLHN1YkNoZWNrUGVyaW9kSW5NaWxsaXM6aSxzaG93TWFwOnIsc2VjdXJpdHk6cyxpZGVudGl0eTpsfSx7ZW1pdEV2ZW50OiExfSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpjbyxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOmNvLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItb3BjLXNlcnZlci1jb25maWciLGlucHV0czp7aGlkZU5ld0ZpZWxkczoiaGlkZU5ld0ZpZWxkcyJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PmNvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5jbykpLG11bHRpOiEwfV0sbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiIFtmb3JtR3JvdXBdPSJzZXJ2ZXJDb25maWdGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGJUcnVuY2F0ZVdpdGhUb29sdGlwIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci11cmw8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idXJsIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuc2VydmVyLXVybC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndXJsXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndXJsXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5vcGMtdGltZW91dFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS50aW1lb3V0XCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjEwMDAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRpbWVvdXRJbk1pbGxpcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkudGltZW91dC1lcnJvclwnIHwgdHJhbnNsYXRlOiB7bWluOiAxMDAwfSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSIoc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3RpbWVvdXRJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3RpbWVvdXRJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ21pblwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndGltZW91dEluTWlsbGlzXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5zZWN1cml0eS1wb2xpY3lcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkuc2VjdXJpdHktcG9saWN5XCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5Ij5cbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB2ZXJzaW9uIG9mIHNlY3VyaXR5UG9saWN5VHlwZXMiIFt2YWx1ZV09InZlcnNpb24udmFsdWUiPnt7IHZlcnNpb24ubmFtZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLnNjYW4tcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgXCdnYXRld2F5LnNjYW4tcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjEwMDAiIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJzY2FuUGVyaW9kSW5NaWxsaXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iXCdnYXRld2F5LnNjYW4tcGVyaW9kLWVycm9yXCcgfCB0cmFuc2xhdGU6IHttaW46IDEwMDB9IlxuICAgICAgICAgICAgICAgICAgKm5nSWY9IihzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2NhblBlcmlvZEluTWlsbGlzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2NhblBlcmlvZEluTWlsbGlzXCcpLmhhc0Vycm9yKFwnbWluXCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzY2FuUGVyaW9kSW5NaWxsaXNcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgd2FybmluZ1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9IiFoaWRlTmV3RmllbGRzIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iNTAiIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJwb2xsUGVyaW9kSW5NaWxsaXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iXCdnYXRld2F5LnBvbGwtcGVyaW9kLWVycm9yXCcgfCB0cmFuc2xhdGU6IHttaW46IDUwfSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSIoc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvbGxQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvbGxQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ21pblwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9sbFBlcmlvZEluTWlsbGlzXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5zdWItY2hlY2stcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgXCdnYXRld2F5LnN1Yi1jaGVjay1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMTAwIiBuYW1lPSJ2YWx1ZSJcbiAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0ic3ViQ2hlY2tQZXJpb2RJbk1pbGxpcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkuc3ViLWNoZWNrLXBlcmlvZC1lcnJvclwnIHwgdHJhbnNsYXRlOiB7bWluOiAxMDB9IlxuICAgICAgICAgICAgICAgICAgKm5nSWY9IihzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc3ViQ2hlY2tQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3N1YkNoZWNrUGVyaW9kSW5NaWxsaXNcJykuaGFzRXJyb3IoXCdtaW5cJykpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3N1YkNoZWNrUGVyaW9kSW5NaWxsaXNcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgd2FybmluZ1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJlbmFibGVTdWJzY3JpcHRpb25zIj5cbiAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5lbmFibGUtc3Vic2NyaXB0aW9uXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkuZW5hYmxlLXN1YnNjcmlwdGlvblwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8L21hdC1sYWJlbD5cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic2hvd01hcCI+XG4gICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMuc2hvdy1tYXBcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgIHt7IFwnZ2F0ZXdheS5zaG93LW1hcFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1sYWJlbD5cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvZGl2PlxuICA8dGItc2VjdXJpdHktY29uZmlnIGZvcm1Db250cm9sTmFtZT0iaWRlbnRpdHkiXG4gICAgICAgICAgICAgICAgICAgICAgW2V4dGVuZENlcnRpZmljYXRlc01vZGVsXT0idHJ1ZSI+XG4gIDwvdGItc2VjdXJpdHktY29uZmlnPlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdFN1ZmZpeCxzZWxlY3RvcjoiW21hdFN1ZmZpeF0sIFttYXRJY29uU3VmZml4XSwgW21hdFRleHRTdWZmaXhdIixpbnB1dHM6WyJtYXRUZXh0U3VmZml4Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d2UuTWF0U2VsZWN0LHNlbGVjdG9yOiJtYXQtc2VsZWN0IixpbnB1dHM6WyJhcmlhLWRlc2NyaWJlZGJ5IiwicGFuZWxDbGFzcyIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvciIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJtdWx0aXBsZSIsImRpc2FibGVPcHRpb25DZW50ZXJpbmciLCJjb21wYXJlV2l0aCIsInZhbHVlIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImVycm9yU3RhdGVNYXRjaGVyIiwidHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCIsInNvcnRDb21wYXJhdG9yIiwiaWQiLCJwYW5lbFdpZHRoIl0sb3V0cHV0czpbIm9wZW5lZENoYW5nZSIsIm9wZW5lZCIsImNsb3NlZCIsInNlbGVjdGlvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpDZS5NYXRPcHRpb24sc2VsZWN0b3I6Im1hdC1vcHRpb24iLGlucHV0czpbInZhbHVlIiwiaWQiLCJkaXNhYmxlZCJdLG91dHB1dHM6WyJvblNlbGVjdGlvbkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0T3B0aW9uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6emUuTWF0VG9vbHRpcCxzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixpbnB1dHM6WyJtYXRUb29sdGlwUG9zaXRpb24iLCJtYXRUb29sdGlwUG9zaXRpb25BdE9yaWdpbiIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBTaG93RGVsYXkiLCJtYXRUb29sdGlwSGlkZURlbGF5IiwibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcENsYXNzIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6ZXQuTWF0U2xpZGVUb2dnbGUsc2VsZWN0b3I6Im1hdC1zbGlkZS10b2dnbGUiLGlucHV0czpbIm5hbWUiLCJpZCIsImxhYmVsUG9zaXRpb24iLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsInJlcXVpcmVkIiwiY29sb3IiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImNoZWNrZWQiLCJoaWRlSWNvbiIsImRpc2FibGVkSW50ZXJhY3RpdmUiXSxvdXRwdXRzOlsiY2hhbmdlIiwidG9nZ2xlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlllLlRydW5jYXRlV2l0aFRvb2x0aXBEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0b29sdGlwRW5hYmxlZCIsInBvc2l0aW9uIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlkuVHJhbnNsYXRlRGlyZWN0aXZlLHNlbGVjdG9yOiJbdHJhbnNsYXRlXSxbbmd4LXRyYW5zbGF0ZV0iLGlucHV0czpbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZVBhcmFtcyJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnV0LkhpbnRUb29sdGlwSWNvbkNvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhpbnQtdG9vbHRpcC1pY29uXSIsaW5wdXRzOlsidGItaGludC10b29sdGlwLWljb24iLCJ0b29sdGlwUG9zaXRpb24iLCJoaW50SWNvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmxvLHNlbGVjdG9yOiJ0Yi1zZWN1cml0eS1jb25maWciLGlucHV0czpbInRpdGxlIiwiZXh0ZW5kQ2VydGlmaWNhdGVzTW9kZWwiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJPcGNTZXJ2ZXJDb25maWdDb21wb25lbnQiLGNvKSxIZShbTigpXSxjby5wcm90b3R5cGUsImhpZGVOZXdGaWVsZHMiLHZvaWQgMCksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpjbyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItb3BjLXNlcnZlci1jb25maWciLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5jbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+Y28pKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxELGxvLFNhXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiIFtmb3JtR3JvdXBdPSJzZXJ2ZXJDb25maWdGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGJUcnVuY2F0ZVdpdGhUb29sdGlwIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci11cmw8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idXJsIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuc2VydmVyLXVybC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndXJsXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndXJsXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5vcGMtdGltZW91dFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS50aW1lb3V0XCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjEwMDAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRpbWVvdXRJbk1pbGxpcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkudGltZW91dC1lcnJvclwnIHwgdHJhbnNsYXRlOiB7bWluOiAxMDAwfSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSIoc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3RpbWVvdXRJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3RpbWVvdXRJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ21pblwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwndGltZW91dEluTWlsbGlzXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5zZWN1cml0eS1wb2xpY3lcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkuc2VjdXJpdHktcG9saWN5XCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5Ij5cbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB2ZXJzaW9uIG9mIHNlY3VyaXR5UG9saWN5VHlwZXMiIFt2YWx1ZV09InZlcnNpb24udmFsdWUiPnt7IHZlcnNpb24ubmFtZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLnNjYW4tcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgXCdnYXRld2F5LnNjYW4tcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjEwMDAiIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJzY2FuUGVyaW9kSW5NaWxsaXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iXCdnYXRld2F5LnNjYW4tcGVyaW9kLWVycm9yXCcgfCB0cmFuc2xhdGU6IHttaW46IDEwMDB9IlxuICAgICAgICAgICAgICAgICAgKm5nSWY9IihzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2NhblBlcmlvZEluTWlsbGlzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2NhblBlcmlvZEluTWlsbGlzXCcpLmhhc0Vycm9yKFwnbWluXCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzY2FuUGVyaW9kSW5NaWxsaXNcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgd2FybmluZ1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9IiFoaWRlTmV3RmllbGRzIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iNTAiIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJwb2xsUGVyaW9kSW5NaWxsaXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iXCdnYXRld2F5LnBvbGwtcGVyaW9kLWVycm9yXCcgfCB0cmFuc2xhdGU6IHttaW46IDUwfSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSIoc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvbGxQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvbGxQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ21pblwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9sbFBlcmlvZEluTWlsbGlzXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5zdWItY2hlY2stcGVyaW9kXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgXCdnYXRld2F5LnN1Yi1jaGVjay1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMTAwIiBuYW1lPSJ2YWx1ZSJcbiAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0ic3ViQ2hlY2tQZXJpb2RJbk1pbGxpcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkuc3ViLWNoZWNrLXBlcmlvZC1lcnJvclwnIHwgdHJhbnNsYXRlOiB7bWluOiAxMDB9IlxuICAgICAgICAgICAgICAgICAgKm5nSWY9IihzZXJ2ZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnc3ViQ2hlY2tQZXJpb2RJbk1pbGxpc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3N1YkNoZWNrUGVyaW9kSW5NaWxsaXNcJykuaGFzRXJyb3IoXCdtaW5cJykpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnRm9ybUdyb3VwLmdldChcJ3N1YkNoZWNrUGVyaW9kSW5NaWxsaXNcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgd2FybmluZ1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJlbmFibGVTdWJzY3JpcHRpb25zIj5cbiAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5lbmFibGUtc3Vic2NyaXB0aW9uXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkuZW5hYmxlLXN1YnNjcmlwdGlvblwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8L21hdC1sYWJlbD5cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic2hvd01hcCI+XG4gICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMuc2hvdy1tYXBcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgIHt7IFwnZ2F0ZXdheS5zaG93LW1hcFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1sYWJlbD5cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvZGl2PlxuICA8dGItc2VjdXJpdHktY29uZmlnIGZvcm1Db250cm9sTmFtZT0iaWRlbnRpdHkiXG4gICAgICAgICAgICAgICAgICAgICAgW2V4dGVuZENlcnRpZmljYXRlc01vZGVsXT0idHJ1ZSI+XG4gIDwvdGItc2VjdXJpdHktY29uZmlnPlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9XSxwcm9wRGVjb3JhdG9yczp7aGlkZU5ld0ZpZWxkczpbe3R5cGU6YX1dfX0pO2NsYXNzIHBvIGV4dGVuZHMgeWF7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubWFwcGluZ1R5cGVzPWZuLHRoaXMuaXNMZWdhY3k9ITF9aW5pdEJhc2ljRm9ybUdyb3VwKCl7cmV0dXJuIHRoaXMuZmIuZ3JvdXAoe21hcHBpbmc6W10sc2VydmVyOltdfSl9bWFwQ29uZmlnVG9Gb3JtVmFsdWUoZSl7cmV0dXJue3NlcnZlcjplLnNlcnZlcj8/e30sbWFwcGluZzplLm1hcHBpbmc/P1tdfX1nZXRNYXBwZWRWYWx1ZShlKXtyZXR1cm57c2VydmVyOmUuc2VydmVyLG1hcHBpbmc6ZS5tYXBwaW5nfX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnBvLGRlcHM6bnVsbCx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOnBvLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItb3BjLXVhLWJhc2ljLWNvbmZpZyIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+cG8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PnBvKSksbXVsdGk6ITB9XSx1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdGFiLWdyb3VwIFtmb3JtR3JvdXBdPSJiYXNpY0Zvcm1Hcm91cCI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZ2VuZXJhbFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuc2VydmVyXCcgfCB0cmFuc2xhdGUgfX0qIj5cbiAgICA8dGItb3BjLXNlcnZlci1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZXJ2ZXIiIFtoaWRlTmV3RmllbGRzXT0iaXNMZWdhY3kiPjwvdGItb3BjLXNlcnZlci1jb25maWc+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5kYXRhLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AgdGItZmxleCBmaWxsLWhlaWdodCI+XG4gICAgICA8dGItbWFwcGluZy10YWJsZSBmb3JtQ29udHJvbE5hbWU9Im1hcHBpbmciIFtyZXF1aXJlZF09InRydWUiIFttYXBwaW5nVHlwZV09Im1hcHBpbmdUeXBlcy5PUENVQSI+PC90Yi1tYXBwaW5nLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLXRhYi1ncm91cCw6aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWJvZHktd3JhcHBlcntoZWlnaHQ6MTAwJX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1RlbXBsYXRlT3V0bGV0LHNlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0iLGlucHV0czpbIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IiwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRJbmplY3RvciJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6cm8sc2VsZWN0b3I6InRiLW1hcHBpbmctdGFibGUiLGlucHV0czpbInJlcXVpcmVkIiwibWFwcGluZ1R5cGUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpjbyxzZWxlY3RvcjoidGItb3BjLXNlcnZlci1jb25maWciLGlucHV0czpbImhpZGVOZXdGaWVsZHMiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJPcGNVYUJhc2ljQ29uZmlnQ29tcG9uZW50IixwbyksdC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpwbyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItb3BjLXVhLWJhc2ljLWNvbmZpZyIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PnBvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5wbykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsbG8scm8sY29dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10YWItZ3JvdXAgW2Zvcm1Hcm91cF09ImJhc2ljRm9ybUdyb3VwIj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5nZW5lcmFsXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJnZW5lcmFsVGFiQ29udGVudCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5zZXJ2ZXJcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDx0Yi1vcGMtc2VydmVyLWNvbmZpZyBmb3JtQ29udHJvbE5hbWU9InNlcnZlciIgW2hpZGVOZXdGaWVsZHNdPSJpc0xlZ2FjeSI+PC90Yi1vcGMtc2VydmVyLWNvbmZpZz5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmRhdGEtbWFwcGluZ1wnIHwgdHJhbnNsYXRlIH19KiI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCB0Yi1mbGV4IGZpbGwtaGVpZ2h0Ij5cbiAgICAgIDx0Yi1tYXBwaW5nLXRhYmxlIGZvcm1Db250cm9sTmFtZT0ibWFwcGluZyIgW3JlcXVpcmVkXT0idHJ1ZSIgW21hcHBpbmdUeXBlXT0ibWFwcGluZ1R5cGVzLk9QQ1VBIj48L3RiLW1hcHBpbmctdGFibGU+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHtoZWlnaHQ6MTAwJX06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWdyb3VwLDpob3N0IDo6bmctZGVlcCAubWF0LW1kYy10YWItYm9keS13cmFwcGVye2hlaWdodDoxMDAlfVxuJ119XX1dfSk7Y2xhc3MgbW97Y29uc3RydWN0b3IoZSx0KXt0aGlzLmZiPWUsdGhpcy5jZHI9dCx0aGlzLm1xdHRWZXJzaW9ucz1nbix0aGlzLnBvcnRMaW1pdHM9RXQsdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5icm9rZXJDb25maWdGb3JtR3JvdXA9dGhpcy5mYi5ncm91cCh7aG9zdDpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scG9ydDpbbnVsbCxbdWUucmVxdWlyZWQsdWUubWluKEV0Lk1JTiksdWUubWF4KEV0Lk1BWCldXSx2ZXJzaW9uOls1LFtdXSxjbGllbnRJZDpbInRiX2d3XyIrc2UoNSksW3VlLnBhdHRlcm4oa3QpXV0sc2VjdXJpdHk6W119KSx0aGlzLmJyb2tlckNvbmZpZ0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfWdlbmVyYXRlKGUpe3RoaXMuYnJva2VyQ29uZmlnRm9ybUdyb3VwLmdldChlKT8ucGF0Y2hWYWx1ZSgidGJfZ3dfIitzZSg1KSl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLm9uQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7dGhpcy5vblRvdWNoZWQ9ZX13cml0ZVZhbHVlKGUpe2NvbnN0e3ZlcnNpb246dD01LGNsaWVudElkOm49YHRiX2d3XyR7c2UoNSl9YCxzZWN1cml0eTphPXt9fT1lO3RoaXMuYnJva2VyQ29uZmlnRm9ybUdyb3VwLnJlc2V0KHsuLi5lLHZlcnNpb246dCxjbGllbnRJZDpuLHNlY3VyaXR5OmF9LHtlbWl0RXZlbnQ6ITF9KSx0aGlzLmNkci5tYXJrRm9yQ2hlY2soKX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLmJyb2tlckNvbmZpZ0Zvcm1Hcm91cC52YWxpZD9udWxsOnticm9rZXJDb25maWdGb3JtR3JvdXA6e3ZhbGlkOiExfX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTptbyxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjp0LkNoYW5nZURldGVjdG9yUmVmfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTptbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLWJyb2tlci1jb25maWctY29udHJvbCIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+bW8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9Pm1vKSksbXVsdGk6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCIgW2Zvcm1Hcm91cF09ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5ob3N0PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9Imhvc3QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5ob3N0LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdob3N0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICB3YXJuaW5nXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnBvcnQ8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49Int7cG9ydExpbWl0cy5NSU59fSIgbWF4PSJ7e3BvcnRMaW1pdHMuTUFYfX0iXG4gICAgICAgICAgICAgICBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpIHwgZ2V0R2F0ZXdheVBvcnRUb29sdGlwIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9Iihicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICB3YXJuaW5nXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5Lm1xdHQtdmVyc2lvbjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idmVyc2lvbiI+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdmVyc2lvbiBvZiBtcXR0VmVyc2lvbnMiIFt2YWx1ZV09InZlcnNpb24udmFsdWUiPnt7IHZlcnNpb24ubmFtZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jbGllbnQtaWQ8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY2xpZW50SWQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0iR2VuZXJhdGUiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmdlbmVyYXRlLWNsaWVudC1pZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0iZ2VuZXJhdGUoXCdjbGllbnRJZFwnKSJcbiAgICAgICAgICAgICAgICAqbmdJZj0iIWJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdjbGllbnRJZFwnKS52YWx1ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPmF1dG9yZW5ldzwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDx0Yi1zZWN1cml0eS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZWN1cml0eSI+XG4gIDwvdGItc2VjdXJpdHktY29uZmlnPlxuPC9kaXY+XG4nLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRTdWZmaXgsc2VsZWN0b3I6IlttYXRTdWZmaXhdLCBbbWF0SWNvblN1ZmZpeF0sIFttYXRUZXh0U3VmZml4XSIsaW5wdXRzOlsibWF0VGV4dFN1ZmZpeCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOndlLk1hdFNlbGVjdCxzZWxlY3RvcjoibWF0LXNlbGVjdCIsaW5wdXRzOlsiYXJpYS1kZXNjcmliZWRieSIsInBhbmVsQ2xhc3MiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3IiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwibXVsdGlwbGUiLCJkaXNhYmxlT3B0aW9uQ2VudGVyaW5nIiwiY29tcGFyZVdpdGgiLCJ2YWx1ZSIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJlcnJvclN0YXRlTWF0Y2hlciIsInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLCJzb3J0Q29tcGFyYXRvciIsImlkIiwicGFuZWxXaWR0aCJdLG91dHB1dHM6WyJvcGVuZWRDaGFuZ2UiLCJvcGVuZWQiLCJjbG9zZWQiLCJzZWxlY3Rpb25DaGFuZ2UiLCJ2YWx1ZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2VsZWN0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWF4VmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttYXhdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtuZ01vZGVsXSIsaW5wdXRzOlsibWF4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpsbyxzZWxlY3RvcjoidGItc2VjdXJpdHktY29uZmlnIixpbnB1dHM6WyJ0aXRsZSIsImV4dGVuZENlcnRpZmljYXRlc01vZGVsIl19LHtraW5kOiJwaXBlIix0eXBlOndhLG5hbWU6ImdldEdhdGV3YXlQb3J0VG9vbHRpcCJ9XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19ZSgiQnJva2VyQ29uZmlnQ29udHJvbENvbXBvbmVudCIsbW8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6bW8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWJyb2tlci1jb25maWctY29udHJvbCIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxELGxvLHdhXSxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5tbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+bW8pKSxtdWx0aTohMH1dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCIgW2Zvcm1Hcm91cF09ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5ob3N0PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9Imhvc3QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5ob3N0LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdob3N0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICB3YXJuaW5nXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LnBvcnQ8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49Int7cG9ydExpbWl0cy5NSU59fSIgbWF4PSJ7e3BvcnRMaW1pdHMuTUFYfX0iXG4gICAgICAgICAgICAgICBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09ImJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpIHwgZ2V0R2F0ZXdheVBvcnRUb29sdGlwIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9Iihicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicm9rZXJDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICB3YXJuaW5nXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5Lm1xdHQtdmVyc2lvbjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idmVyc2lvbiI+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdmVyc2lvbiBvZiBtcXR0VmVyc2lvbnMiIFt2YWx1ZV09InZlcnNpb24udmFsdWUiPnt7IHZlcnNpb24ubmFtZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jbGllbnQtaWQ8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY2xpZW50SWQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0iR2VuZXJhdGUiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmdlbmVyYXRlLWNsaWVudC1pZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0iZ2VuZXJhdGUoXCdjbGllbnRJZFwnKSJcbiAgICAgICAgICAgICAgICAqbmdJZj0iIWJyb2tlckNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdjbGllbnRJZFwnKS52YWx1ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPmF1dG9yZW5ldzwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDx0Yi1zZWN1cml0eS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZWN1cml0eSI+XG4gIDwvdGItc2VjdXJpdHktY29uZmlnPlxuPC9kaXY+XG4nfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTp0LkNoYW5nZURldGVjdG9yUmVmfV19KTtjbGFzcyB1b3tjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy53b3JrZXJzQ29uZmlnRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe21heE51bWJlck9mV29ya2VyczpbMTAwLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSldXSxtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyOlsxMCxbdWUucmVxdWlyZWQsdWUubWluKDEpXV19KSx0aGlzLndvcmtlcnNDb25maWdGb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMub25DaGFuZ2UoZSksdGhpcy5vblRvdWNoZWQoKX0pKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMub25DaGFuZ2U9ZX1yZWdpc3Rlck9uVG91Y2hlZChlKXt0aGlzLm9uVG91Y2hlZD1lfXdyaXRlVmFsdWUoZSl7Y29uc3R7bWF4TnVtYmVyT2ZXb3JrZXJzOnQsbWF4TWVzc2FnZU51bWJlclBlcldvcmtlcjpufT1lO3RoaXMud29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cC5yZXNldCh7bWF4TnVtYmVyT2ZXb3JrZXJzOnR8fDEwMCxtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyOm58fDEwfSx7ZW1pdEV2ZW50OiExfSl9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy53b3JrZXJzQ29uZmlnRm9ybUdyb3VwLnZhbGlkP251bGw6e3dvcmtlcnNDb25maWdGb3JtR3JvdXA6e3ZhbGlkOiExfX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTp1byxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOnVvLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItd29ya2Vycy1jb25maWctY29udHJvbCIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+dW8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PnVvKSksbXVsdGk6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCIgW2Zvcm1Hcm91cF09IndvcmtlcnNDb25maWdGb3JtR3JvdXAiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgW3N0eWxlLndpZHRoLiVdPSI1MCJcbiAgICAgICAgIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkubWF4LW51bWJlci1vZi13b3JrZXJzLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkubWF4LW51bWJlci1vZi13b3JrZXJzXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIHR5cGU9Im51bWJlciIgbWluPSIxIiBmb3JtQ29udHJvbE5hbWU9Im1heE51bWJlck9mV29ya2VycyJcbiAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5tYXgtbnVtYmVyLW9mLXdvcmtlcnMtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAqbmdJZj0id29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdtYXhOdW1iZXJPZldvcmtlcnNcJykuaGFzRXJyb3IoXCdtaW5cJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAod29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdtYXhOdW1iZXJPZldvcmtlcnNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcnNDb25maWdGb3JtR3JvdXAuZ2V0KFwnbWF4TnVtYmVyT2ZXb3JrZXJzXCcpLnRvdWNoZWQpIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICB3YXJuaW5nXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIFtzdHlsZS53aWR0aC4lXT0iNTAiXG4gICAgICAgICB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5Lm1heC1tZXNzYWdlcy1xdWV1ZS1mb3Itd29ya2VyLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBcJ2dhdGV3YXkubWF4LW1lc3NhZ2VzLXF1ZXVlLWZvci13b3JrZXJcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgdHlwZT0ibnVtYmVyIiBtaW49IjEiIGZvcm1Db250cm9sTmFtZT0ibWF4TWVzc2FnZU51bWJlclBlcldvcmtlciJcbiAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5tYXgtbWVzc2FnZXMtcXVldWUtZm9yLXdvcmtlci1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJ3b3JrZXJzQ29uZmlnRm9ybUdyb3VwLmdldChcJ21heE1lc3NhZ2VOdW1iZXJQZXJXb3JrZXJcJykuaGFzRXJyb3IoXCdtaW5cJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAod29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JrZXJzQ29uZmlnRm9ybUdyb3VwLmdldChcJ21heE1lc3NhZ2VOdW1iZXJQZXJXb3JrZXJcJykudG91Y2hlZCkiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdFN1ZmZpeCxzZWxlY3RvcjoiW21hdFN1ZmZpeF0sIFttYXRJY29uU3VmZml4XSwgW21hdFRleHRTdWZmaXhdIixpbnB1dHM6WyJtYXRUZXh0U3VmZml4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6emUuTWF0VG9vbHRpcCxzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixpbnB1dHM6WyJtYXRUb29sdGlwUG9zaXRpb24iLCJtYXRUb29sdGlwUG9zaXRpb25BdE9yaWdpbiIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBTaG93RGVsYXkiLCJtYXRUb29sdGlwSGlkZURlbGF5IiwibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcENsYXNzIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTnVtYmVyVmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbmdNb2RlbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5NaW5WYWxpZGF0b3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW25nTW9kZWxdIixpbnB1dHM6WyJtaW4iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WWUuVHJ1bmNhdGVXaXRoVG9vbHRpcERpcmVjdGl2ZSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dXQuSGludFRvb2x0aXBJY29uQ29tcG9uZW50LHNlbGVjdG9yOiJbdGItaGludC10b29sdGlwLWljb25dIixpbnB1dHM6WyJ0Yi1oaW50LXRvb2x0aXAtaWNvbiIsInRvb2x0aXBQb3NpdGlvbiIsImhpbnRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6U2Esc2VsZWN0b3I6Ilt0YlRydW5jYXRlV2l0aFRvb2x0aXBdIixpbnB1dHM6WyJ0YlRydW5jYXRlV2l0aFRvb2x0aXAiLCJ0b29sdGlwRW5hYmxlZCIsInBvc2l0aW9uIl19XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19ZSgiV29ya2Vyc0NvbmZpZ0NvbnRyb2xDb21wb25lbnQiLHVvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnVvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi13b3JrZXJzLWNvbmZpZy1jb250cm9sIixjaGFuZ2VEZXRlY3Rpb246ZC5PblB1c2gsc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsU2FdLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PnVvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT51bykpLG11bHRpOiEwfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIiBbZm9ybUdyb3VwXT0id29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiBbc3R5bGUud2lkdGguJV09IjUwIlxuICAgICAgICAgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5tYXgtbnVtYmVyLW9mLXdvcmtlcnMtaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS5tYXgtbnVtYmVyLW9mLXdvcmtlcnNcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgdHlwZT0ibnVtYmVyIiBtaW49IjEiIGZvcm1Db250cm9sTmFtZT0ibWF4TnVtYmVyT2ZXb3JrZXJzIlxuICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lm1heC1udW1iZXItb2Ytd29ya2Vycy1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJ3b3JrZXJzQ29uZmlnRm9ybUdyb3VwLmdldChcJ21heE51bWJlck9mV29ya2Vyc1wnKS5oYXNFcnJvcihcJ21pblwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3b3JrZXJzQ29uZmlnRm9ybUdyb3VwLmdldChcJ21heE51bWJlck9mV29ya2Vyc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd29ya2Vyc0NvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdtYXhOdW1iZXJPZldvcmtlcnNcJykudG91Y2hlZCkiXG4gICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgW3N0eWxlLndpZHRoLiVdPSI1MCJcbiAgICAgICAgIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkubWF4LW1lc3NhZ2VzLXF1ZXVlLWZvci13b3JrZXItaGludFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS5tYXgtbWVzc2FnZXMtcXVldWUtZm9yLXdvcmtlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiB0eXBlPSJudW1iZXIiIG1pbj0iMSIgZm9ybUNvbnRyb2xOYW1lPSJtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyIlxuICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lm1heC1tZXNzYWdlcy1xdWV1ZS1mb3Itd29ya2VyLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9IndvcmtlcnNDb25maWdGb3JtR3JvdXAuZ2V0KFwnbWF4TWVzc2FnZU51bWJlclBlcldvcmtlclwnKS5oYXNFcnJvcihcJ21pblwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3b3JrZXJzQ29uZmlnRm9ybUdyb3VwLmdldChcJ21heE1lc3NhZ2VOdW1iZXJQZXJXb3JrZXJcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcnNDb25maWdGb3JtR3JvdXAuZ2V0KFwnbWF4TWVzc2FnZU51bWJlclBlcldvcmtlclwnKS50b3VjaGVkKSJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgd2FybmluZ1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbid9XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9XX0pO2NsYXNzIGdve2NvbnN0cnVjdG9yKGUpe3RoaXMuZmI9ZSx0aGlzLmlzRXhwYW5zaW9uTW9kZT0hMSx0aGlzLmRlZmF1bHRWYWx1ZT1sbi5LZXksdGhpcy5yZXBvcnRTdHJhdGVneVR5cGVzPU9iamVjdC52YWx1ZXMoc24pLHRoaXMuUmVwb3J0VHlwZVRyYW5zbGF0ZU1hcD1jbix0aGlzLlJlcG9ydFN0cmF0ZWd5VHlwZT1zbix0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLnNob3dTdHJhdGVneUNvbnRyb2w9dGhpcy5mYi5jb250cm9sKCExKSx0aGlzLnJlcG9ydFN0cmF0ZWd5Rm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe3R5cGU6W3t2YWx1ZTpzbi5PblJlcG9ydFBlcmlvZCxkaXNhYmxlZDohMH0sW11dLHJlcG9ydFBlcmlvZDpbe3ZhbHVlOnRoaXMuZGVmYXVsdFZhbHVlLGRpc2FibGVkOiEwfSxbdWUucmVxdWlyZWRdXX0pLHRoaXMub2JzZXJ2ZVN0cmF0ZWd5Rm9ybUNoYW5nZSgpLHRoaXMub2JzZXJ2ZVN0cmF0ZWd5VG9nZ2xlKCl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9d3JpdGVWYWx1ZShlKXt0aGlzLmlzRXhwYW5zaW9uTW9kZSYmdGhpcy5zaG93U3RyYXRlZ3lDb250cm9sLnNldFZhbHVlKCEhZSx7ZW1pdEV2ZW50OiExfSksZSYmdGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC5lbmFibGUoe2VtaXRFdmVudDohMX0pO2NvbnN0e3R5cGU6dD1zbi5PblJlcG9ydFBlcmlvZCxyZXBvcnRQZXJpb2Q6bj10aGlzLmRlZmF1bHRWYWx1ZX09ZT8/e307dGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC5zZXRWYWx1ZSh7dHlwZTp0LHJlcG9ydFBlcmlvZDpufSx7ZW1pdEV2ZW50OiExfSksdGhpcy5vblR5cGVDaGFuZ2UodCl9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC52YWxpZHx8dGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC5kaXNhYmxlZD9udWxsOntyZXBvcnRTdHJhdGVneUZvcm06e3ZhbGlkOiExfX19cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLm9uQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7dGhpcy5vblRvdWNoZWQ9ZX1vYnNlcnZlU3RyYXRlZ3lGb3JtQ2hhbmdlKCl7dGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpLHRoaXMucmVwb3J0U3RyYXRlZ3lGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+dGhpcy5vblR5cGVDaGFuZ2UoZSkpKX1vYnNlcnZlU3RyYXRlZ3lUb2dnbGUoKXt0aGlzLnNob3dTdHJhdGVneUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCksTWUoKCgpPT50aGlzLmlzRXhwYW5zaW9uTW9kZSkpKS5zdWJzY3JpYmUoKGU9PntlPyh0aGlzLnJlcG9ydFN0cmF0ZWd5Rm9ybUdyb3VwLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSksdGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC5nZXQoInJlcG9ydFBlcmlvZCIpLmFkZFZhbGlkYXRvcnModWUucmVxdWlyZWQpLHRoaXMub25DaGFuZ2UodGhpcy5yZXBvcnRTdHJhdGVneUZvcm1Hcm91cC52YWx1ZSkpOih0aGlzLnJlcG9ydFN0cmF0ZWd5Rm9ybUdyb3VwLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHRoaXMucmVwb3J0U3RyYXRlZ3lGb3JtR3JvdXAuZ2V0KCJyZXBvcnRQZXJpb2QiKS5yZW1vdmVWYWxpZGF0b3JzKHVlLnJlcXVpcmVkKSx0aGlzLm9uQ2hhbmdlKG51bGwpKSx0aGlzLnJlcG9ydFN0cmF0ZWd5Rm9ybUdyb3VwLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohMX0pfSkpfW9uVHlwZUNoYW5nZShlKXtjb25zdCB0PXRoaXMucmVwb3J0U3RyYXRlZ3lGb3JtR3JvdXAuZ2V0KCJyZXBvcnRQZXJpb2QiKTtlPT09c24uT25DaGFuZ2U/dC5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KTp0aGlzLmlzRXhwYW5zaW9uTW9kZSYmIXRoaXMuc2hvd1N0cmF0ZWd5Q29udHJvbC52YWx1ZXx8dC5lbmFibGUoe2VtaXRFdmVudDohMX0pfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Z28sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpnbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLXJlcG9ydC1zdHJhdGVneSIsaW5wdXRzOntpc0V4cGFuc2lvbk1vZGU6ImlzRXhwYW5zaW9uTW9kZSIsZGVmYXVsdFZhbHVlOiJkZWZhdWx0VmFsdWUifSxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5nbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+Z28pKSxtdWx0aTohMH1dLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IFtmb3JtR3JvdXBdPSJyZXBvcnRTdHJhdGVneUZvcm1Hcm91cCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gIDxtYXQtZXhwYW5zaW9uLXBhbmVsICpuZ0lmPSJpc0V4cGFuc2lvbk1vZGUgZWxzZSBkZWZhdWx0TW9kZSIgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJzaG93U3RyYXRlZ3lDb250cm9sLnZhbHVlIj5cbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZ4TGF5b3V0QWxpZ249ImNlbnRlciIgW2Zvcm1Db250cm9sXT0ic2hvd1N0cmF0ZWd5Q29udHJvbCIgY2xhc3M9Im1hdC1zbGlkZSIgKGNsaWNrKT0iJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LnJlcG9ydC1zdHJhdGVneS5sYWJlbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09InN0cmF0ZWd5RmllbGRzIj48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHRNb2RlPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LnJlcG9ydC1zdHJhdGVneS5sYWJlbDwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJzdHJhdGVneUZpZWxkcyI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSAjc3RyYXRlZ3lGaWVsZHM+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCI+e3sgXCdnYXRld2F5LnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIHJlcG9ydFN0cmF0ZWd5VHlwZXMiIFt2YWx1ZV09InR5cGUiPnt7IFJlcG9ydFR5cGVUcmFuc2xhdGVNYXAuZ2V0KHR5cGUpIHwgdHJhbnNsYXRlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9InJlcG9ydFN0cmF0ZWd5Rm9ybUdyb3VwLmdldChcJ3R5cGVcJykudmFsdWUgIT09IFJlcG9ydFN0cmF0ZWd5VHlwZS5PbkNoYW5nZSIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiPlxuICAgICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPlxuICAgICAgICAgIGdhdGV3YXkucmVwb3J0LXN0cmF0ZWd5LnJlcG9ydC1wZXJpb2RcbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXBvcnRQZXJpb2QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4nLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0Zvck9mLHNlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIixpbnB1dHM6WyJuZ0Zvck9mIiwibmdGb3JUcmFja0J5IiwibmdGb3JUZW1wbGF0ZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdJZixzZWxlY3RvcjoiW25nSWZdIixpbnB1dHM6WyJuZ0lmIiwibmdJZlRoZW4iLCJuZ0lmRWxzZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdUZW1wbGF0ZU91dGxldCxzZWxlY3RvcjoiW25nVGVtcGxhdGVPdXRsZXRdIixpbnB1dHM6WyJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCIsIm5nVGVtcGxhdGVPdXRsZXQiLCJuZ1RlbXBsYXRlT3V0bGV0SW5qZWN0b3IiXX0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWwsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwiLGlucHV0czpbImhpZGVUb2dnbGUiLCJ0b2dnbGVQb3NpdGlvbiJdLG91dHB1dHM6WyJhZnRlckV4cGFuZCIsImFmdGVyQ29sbGFwc2UiXSxleHBvcnRBczpbIm1hdEV4cGFuc2lvblBhbmVsIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIixpbnB1dHM6WyJleHBhbmRlZEhlaWdodCIsImNvbGxhcHNlZEhlaWdodCIsInRhYkluZGV4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxUaXRsZSxzZWxlY3RvcjoibWF0LXBhbmVsLXRpdGxlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJSZXBvcnRTdHJhdGVneUNvbXBvbmVudCIsZ28pLEhlKFtOKCldLGdvLnByb3RvdHlwZSwiaXNFeHBhbnNpb25Nb2RlIix2b2lkIDApLEhlKFtCKCldLGdvLnByb3RvdHlwZSwiZGVmYXVsdFZhbHVlIix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Z28sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLXJlcG9ydC1zdHJhdGVneSIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PmdvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5nbykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsU2FdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBbZm9ybUdyb3VwXT0icmVwb3J0U3RyYXRlZ3lGb3JtR3JvdXAiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICA8bWF0LWV4cGFuc2lvbi1wYW5lbCAqbmdJZj0iaXNFeHBhbnNpb25Nb2RlIGVsc2UgZGVmYXVsdE1vZGUiIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ic2hvd1N0cmF0ZWd5Q29udHJvbC52YWx1ZSI+XG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmeExheW91dEFsaWduPSJjZW50ZXIiIFtmb3JtQ29udHJvbF09InNob3dTdHJhdGVneUNvbnRyb2wiIGNsYXNzPSJtYXQtc2xpZGUiIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5yZXBvcnQtc3RyYXRlZ3kubGFiZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJzdHJhdGVneUZpZWxkcyI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgPG5nLXRlbXBsYXRlICNkZWZhdWx0TW9kZT5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5yZXBvcnQtc3RyYXRlZ3kubGFiZWw8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0ic3RyYXRlZ3lGaWVsZHMiPjwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI3N0cmF0ZWd5RmllbGRzPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiPnt7IFwnZ2F0ZXdheS50eXBlXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSI+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiByZXBvcnRTdHJhdGVneVR5cGVzIiBbdmFsdWVdPSJ0eXBlIj57eyBSZXBvcnRUeXBlVHJhbnNsYXRlTWFwLmdldCh0eXBlKSB8IHRyYW5zbGF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJyZXBvcnRTdHJhdGVneUZvcm1Hcm91cC5nZXQoXCd0eXBlXCcpLnZhbHVlICE9PSBSZXBvcnRTdHJhdGVneVR5cGUuT25DaGFuZ2UiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIj5cbiAgICAgICAgPHNwYW4gdGJUcnVuY2F0ZVdpdGhUb29sdGlwIHRyYW5zbGF0ZT5cbiAgICAgICAgICBnYXRld2F5LnJlcG9ydC1zdHJhdGVneS5yZXBvcnQtcGVyaW9kXG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icmVwb3J0UGVyaW9kIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuJ31dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTptZS5Gb3JtQnVpbGRlcn1dLHByb3BEZWNvcmF0b3JzOntpc0V4cGFuc2lvbk1vZGU6W3t0eXBlOmF9XSxkZWZhdWx0VmFsdWU6W3t0eXBlOmF9XX19KTtjbGFzcyBmb3tjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy5pc01hc3Rlcj0hMSx0aGlzLmhpZGVOZXdGaWVsZHM9ITEsdGhpcy5rZXlzRGF0YUFwcGxpZWQ9bmV3IGksdGhpcy5tb2RidXNEYXRhVHlwZXM9T2JqZWN0LnZhbHVlcyhlYSksdGhpcy5tb2RpZmllclR5cGVzPU9iamVjdC52YWx1ZXMoT24pLHRoaXMud2l0aEZ1bmN0aW9uQ29kZT0hMCx0aGlzLndpdGhSZXBvcnRTdHJhdGVneT0hMCx0aGlzLmVuYWJsZU1vZGlmaWVyc0NvbnRyb2xNYXA9bmV3IE1hcCx0aGlzLnNob3dNb2RpZmllcnNNYXA9bmV3IE1hcCx0aGlzLmZ1bmN0aW9uQ29kZXNNYXA9bmV3IE1hcCx0aGlzLmRlZmF1bHRGdW5jdGlvbkNvZGVzPVtdLHRoaXMuTW9kYnVzRWRpdGFibGVEYXRhVHlwZXM9dGEsdGhpcy5Nb2RidXNGdW5jdGlvbkNvZGVUcmFuc2xhdGlvbnNNYXA9enQsdGhpcy5Nb2RpZmllclR5cGVzTWFwPVJuLHRoaXMuUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWU9bG4sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5kZWZhdWx0UmVhZEZ1bmN0aW9uQ29kZXM9WzMsNF0sdGhpcy5iaXRzUmVhZEZ1bmN0aW9uQ29kZXM9WzEsMl0sdGhpcy5kZWZhdWx0V3JpdGVGdW5jdGlvbkNvZGVzPVs2LDE2XSx0aGlzLmJpdHNXcml0ZUZ1bmN0aW9uQ29kZXM9WzUsMTVdfW5nT25Jbml0KCl7dGhpcy53aXRoRnVuY3Rpb25Db2RlPSF0aGlzLmlzTWFzdGVyfHx0aGlzLmtleXNUeXBlIT09YWEuQVRUUklCVVRFUyYmdGhpcy5rZXlzVHlwZSE9PWFhLlRJTUVTRVJJRVMsdGhpcy53aXRoUmVwb3J0U3RyYXRlZ3k9ISh0aGlzLmlzTWFzdGVyfHx0aGlzLmtleXNUeXBlIT09YWEuQVRUUklCVVRFUyYmdGhpcy5rZXlzVHlwZSE9PWFhLlRJTUVTRVJJRVN8fHRoaXMuaGlkZU5ld0ZpZWxkcyksdGhpcy5rZXlzTGlzdEZvcm1BcnJheT10aGlzLnByZXBhcmVLZXlzRm9ybUFycmF5KHRoaXMudmFsdWVzKSx0aGlzLmRlZmF1bHRGdW5jdGlvbkNvZGVzPXRoaXMuZ2V0RGVmYXVsdEZ1bmN0aW9uQ29kZXMoKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX10cmFja0J5Q29udHJvbElkKGUsdCl7cmV0dXJuIHQudmFsdWUuaWR9YWRkS2V5KCl7Y29uc3QgZT1zZSg1KSx0PXRoaXMuZmIuZ3JvdXAoe3RhZzpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sdmFsdWU6W3t2YWx1ZToiIixkaXNhYmxlZDohdGhpcy5pc01hc3Rlcn0sW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sdHlwZTpbZWEuQllURVMsW3VlLnJlcXVpcmVkXV0sYWRkcmVzczpbbnVsbCxbdWUucmVxdWlyZWRdXSxvYmplY3RzQ291bnQ6WzEsW3VlLnJlcXVpcmVkXV0sZnVuY3Rpb25Db2RlOlt7dmFsdWU6dGhpcy5nZXREZWZhdWx0RnVuY3Rpb25Db2RlcygpWzBdLGRpc2FibGVkOiF0aGlzLndpdGhGdW5jdGlvbkNvZGV9LFt1ZS5yZXF1aXJlZF1dLHJlcG9ydFN0cmF0ZWd5Olt7dmFsdWU6bnVsbCxkaXNhYmxlZDohdGhpcy53aXRoUmVwb3J0U3RyYXRlZ3l9XSxtb2RpZmllclR5cGU6W3t2YWx1ZTpPbi5NVUxUSVBMSUVSLGRpc2FibGVkOiEwfV0sbW9kaWZpZXJWYWx1ZTpbe3ZhbHVlOjEsZGlzYWJsZWQ6ITB9LFt1ZS5wYXR0ZXJuKEZ0KV1dLGlkOlt7dmFsdWU6ZSxkaXNhYmxlZDohMH1dfSk7dGhpcy5zaG93TW9kaWZpZXJzTWFwLnNldChlLCExKSx0aGlzLmVuYWJsZU1vZGlmaWVyc0NvbnRyb2xNYXAuc2V0KGUsdGhpcy5mYi5jb250cm9sKCExKSksdGhpcy5vYnNlcnZlS2V5RGF0YVR5cGUodCksdGhpcy5vYnNlcnZlRW5hYmxlTW9kaWZpZXIodCksdGhpcy5rZXlzTGlzdEZvcm1BcnJheS5wdXNoKHQpfWRlbGV0ZUtleShlLHQpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5rZXlzTGlzdEZvcm1BcnJheS5yZW1vdmVBdCh0KSx0aGlzLmtleXNMaXN0Rm9ybUFycmF5Lm1hcmtBc0RpcnR5KCl9Y2FuY2VsKCl7dGhpcy5wb3BvdmVyLmhpZGUoKX1hcHBseUtleXNEYXRhKCl7dGhpcy5rZXlzRGF0YUFwcGxpZWQuZW1pdCh0aGlzLmdldEZvcm1WYWx1ZSgpKX1nZXRGb3JtVmFsdWUoKXtyZXR1cm4gdGhpcy5tYXBLZXlzV2l0aE1vZGlmaWVyKHRoaXMud2l0aFJlcG9ydFN0cmF0ZWd5P3RoaXMuY2xlYW5VcEVtcHR5U3RyYXRlZ2llcyh0aGlzLmtleXNMaXN0Rm9ybUFycmF5LnZhbHVlKTp0aGlzLmtleXNMaXN0Rm9ybUFycmF5LnZhbHVlKX1jbGVhblVwRW1wdHlTdHJhdGVnaWVzKGUpe3JldHVybiBlLm1hcCgoZT0+e2NvbnN0e3JlcG9ydFN0cmF0ZWd5OnQsLi4ubn09ZTtyZXR1cm4gdD9lOm59KSl9bWFwS2V5c1dpdGhNb2RpZmllcihlKXtyZXR1cm4gZS5tYXAoKChlLHQpPT57aWYodGhpcy5zaG93TW9kaWZpZXJzTWFwLmdldCh0aGlzLmtleXNMaXN0Rm9ybUFycmF5LmNvbnRyb2xzW3RdLmdldCgiaWQiKS52YWx1ZSkpe2NvbnN0e21vZGlmaWVyVHlwZTp0LG1vZGlmaWVyVmFsdWU6biwuLi5hfT1lO3JldHVybiB0P3suLi5hLFt0XTpufTphfXJldHVybiBlfSkpfXByZXBhcmVLZXlzRm9ybUFycmF5KGUpe2NvbnN0IHQ9W107cmV0dXJuIGUmJmUuZm9yRWFjaCgoZT0+e2NvbnN0IG49dGhpcy5jcmVhdGVEYXRhS2V5Rm9ybUdyb3VwKGUpO3RoaXMub2JzZXJ2ZUtleURhdGFUeXBlKG4pLHRoaXMub2JzZXJ2ZUVuYWJsZU1vZGlmaWVyKG4pLHRoaXMuZnVuY3Rpb25Db2Rlc01hcC5zZXQobi5nZXQoImlkIikudmFsdWUsdGhpcy5nZXRGdW5jdGlvbkNvZGVzKGUudHlwZSkpLHQucHVzaChuKX0pKSx0aGlzLmZiLmFycmF5KHQpfWNyZWF0ZURhdGFLZXlGb3JtR3JvdXAoZSl7Y29uc3R7dGFnOnQsdmFsdWU6bix0eXBlOmEsYWRkcmVzczpvLG9iamVjdHNDb3VudDppLGZ1bmN0aW9uQ29kZTpyLG11bHRpcGxpZXI6cyxkaXZpZGVyOmwscmVwb3J0U3RyYXRlZ3k6Y309ZSxwPXNlKDUpLG09dGhpcy5zaG91bGRTaG93TW9kaWZpZXIoYSk7cmV0dXJuIHRoaXMuc2hvd01vZGlmaWVyc01hcC5zZXQocCxtKSx0aGlzLmVuYWJsZU1vZGlmaWVyc0NvbnRyb2xNYXAuc2V0KHAsdGhpcy5mYi5jb250cm9sKChzfHxsKSYmbSkpLHRoaXMuZmIuZ3JvdXAoe3RhZzpbdCxbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx2YWx1ZTpbe3ZhbHVlOm4sZGlzYWJsZWQ6IXRoaXMuaXNNYXN0ZXJ9LFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHR5cGU6W2EsW3VlLnJlcXVpcmVkXV0sYWRkcmVzczpbbyxbdWUucmVxdWlyZWRdXSxvYmplY3RzQ291bnQ6W2ksW3VlLnJlcXVpcmVkXV0sZnVuY3Rpb25Db2RlOlt7dmFsdWU6cixkaXNhYmxlZDohdGhpcy53aXRoRnVuY3Rpb25Db2RlfSxbdWUucmVxdWlyZWRdXSxtb2RpZmllclR5cGU6W3t2YWx1ZTpsP09uLkRJVklERVI6T24uTVVMVElQTElFUixkaXNhYmxlZDohdGhpcy5lbmFibGVNb2RpZmllcnNDb250cm9sTWFwLmdldChwKS52YWx1ZX1dLG1vZGlmaWVyVmFsdWU6W3t2YWx1ZTpzPz9sPz8xLGRpc2FibGVkOiF0aGlzLmVuYWJsZU1vZGlmaWVyc0NvbnRyb2xNYXAuZ2V0KHApLnZhbHVlfSxbdWUucGF0dGVybihGdCldXSxpZDpbe3ZhbHVlOnAsZGlzYWJsZWQ6ITB9XSxyZXBvcnRTdHJhdGVneTpbe3ZhbHVlOmMsZGlzYWJsZWQ6IXRoaXMud2l0aFJlcG9ydFN0cmF0ZWd5fV19KX1zaG91bGRTaG93TW9kaWZpZXIoZSl7cmV0dXJuISh0aGlzLmlzTWFzdGVyfHx0aGlzLmtleXNUeXBlIT09YWEuQVRUUklCVVRFUyYmdGhpcy5rZXlzVHlwZSE9PWFhLlRJTUVTRVJJRVN8fHRoaXMuTW9kYnVzRWRpdGFibGVEYXRhVHlwZXMuaW5jbHVkZXMoZSkpfW9ic2VydmVLZXlEYXRhVHlwZShlKXtlLmdldCgidHlwZSIpLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHQ9Pnt0aGlzLk1vZGJ1c0VkaXRhYmxlRGF0YVR5cGVzLmluY2x1ZGVzKHQpfHxlLmdldCgib2JqZWN0c0NvdW50IikucGF0Y2hWYWx1ZShuYVt0XSx7ZW1pdEV2ZW50OiExfSk7Y29uc3Qgbj10aGlzLnNob3VsZFNob3dNb2RpZmllcih0KTt0aGlzLnNob3dNb2RpZmllcnNNYXAuc2V0KGUuZ2V0KCJpZCIpLnZhbHVlLG4pLHRoaXMudXBkYXRlRnVuY3Rpb25Db2RlcyhlLHQpfSkpfW9ic2VydmVFbmFibGVNb2RpZmllcihlKXt0aGlzLmVuYWJsZU1vZGlmaWVyc0NvbnRyb2xNYXAuZ2V0KGUuZ2V0KCJpZCIpLnZhbHVlKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh0PT50aGlzLnRvZ2dsZU1vZGlmaWVyQ29udHJvbHMoZSx0KSkpfXRvZ2dsZU1vZGlmaWVyQ29udHJvbHMoZSx0KXtjb25zdCBuPWUuZ2V0KCJtb2RpZmllclR5cGUiKSxhPWUuZ2V0KCJtb2RpZmllclZhbHVlIik7dD8obi5lbmFibGUoKSxhLmVuYWJsZSgpKToobi5kaXNhYmxlKCksYS5kaXNhYmxlKCkpfXVwZGF0ZUZ1bmN0aW9uQ29kZXMoZSx0KXtjb25zdCBuPXRoaXMuZ2V0RnVuY3Rpb25Db2Rlcyh0KTt0aGlzLmZ1bmN0aW9uQ29kZXNNYXAuc2V0KGUuZ2V0KCJpZCIpLnZhbHVlLG4pLG4uaW5jbHVkZXMoZS5nZXQoImZ1bmN0aW9uQ29kZSIpLnZhbHVlKXx8ZS5nZXQoImZ1bmN0aW9uQ29kZSIpLnBhdGNoVmFsdWUoblswXSx7ZW1pdEV2ZW50OiExfSl9Z2V0RnVuY3Rpb25Db2RlcyhlKXtjb25zdCB0PVsuLi5lPT09ZWEuQklUUz90aGlzLmJpdHNXcml0ZUZ1bmN0aW9uQ29kZXM6W10sLi4udGhpcy5kZWZhdWx0V3JpdGVGdW5jdGlvbkNvZGVzXTtpZih0aGlzLmtleXNUeXBlPT09YWEuQVRUUklCVVRFU19VUERBVEVTKXJldHVybiB0LnNvcnQoKChlLHQpPT5lLXQpKTtjb25zdCBuPVsuLi50aGlzLmRlZmF1bHRSZWFkRnVuY3Rpb25Db2Rlc107cmV0dXJuIGU9PT1lYS5CSVRTJiZuLnB1c2goLi4udGhpcy5iaXRzUmVhZEZ1bmN0aW9uQ29kZXMpLHRoaXMua2V5c1R5cGU9PT1hYS5SUENfUkVRVUVTVFMmJm4ucHVzaCguLi50KSxuLnNvcnQoKChlLHQpPT5lLXQpKX1nZXREZWZhdWx0RnVuY3Rpb25Db2Rlcygpe3JldHVybiB0aGlzLmtleXNUeXBlPT09YWEuQVRUUklCVVRFU19VUERBVEVTP3RoaXMuZGVmYXVsdFdyaXRlRnVuY3Rpb25Db2Rlczp0aGlzLmtleXNUeXBlPT09YWEuUlBDX1JFUVVFU1RTP1suLi50aGlzLmRlZmF1bHRSZWFkRnVuY3Rpb25Db2RlcywuLi50aGlzLmRlZmF1bHRXcml0ZUZ1bmN0aW9uQ29kZXNdOnRoaXMuZGVmYXVsdFJlYWRGdW5jdGlvbkNvZGVzfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Zm8sZGVwczpbe3Rva2VuOm1lLlVudHlwZWRGb3JtQnVpbGRlcn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6Zm8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1tb2RidXMtZGF0YS1rZXlzLXBhbmVsIixpbnB1dHM6e2lzTWFzdGVyOiJpc01hc3RlciIsaGlkZU5ld0ZpZWxkczoiaGlkZU5ld0ZpZWxkcyIscGFuZWxUaXRsZToicGFuZWxUaXRsZSIsYWRkS2V5VGl0bGU6ImFkZEtleVRpdGxlIixkZWxldGVLZXlUaXRsZToiZGVsZXRlS2V5VGl0bGUiLG5vS2V5c1RleHQ6Im5vS2V5c1RleHQiLGtleXNUeXBlOiJrZXlzVHlwZSIsdmFsdWVzOiJ2YWx1ZXMiLHBvcG92ZXI6InBvcG92ZXIifSxvdXRwdXRzOntrZXlzRGF0YUFwcGxpZWQ6ImtleXNEYXRhQXBwbGllZCJ9LG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1tb2RidXMta2V5cy1wYW5lbCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPnt7IHBhbmVsVGl0bGUgIHwgdHJhbnNsYXRlIH19e3tcJyAoXCcgKyBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGggKyBcJylcJ319PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBrZXktcGFuZWwiICpuZ0lmPSJrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGg7IGVsc2Ugbm9LZXlzIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItZmxleCBuby1mbGV4IHJvdyBjZW50ZXIgZmlsbC13aWR0aCJcbiAgICAgICAgICAgKm5nRm9yPSJsZXQga2V5Q29udHJvbCBvZiBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9sczsgdHJhY2tCeTogdHJhY2tCeUNvbnRyb2xJZDsgbGV0ICRpbmRleCA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3Q7Ij5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLWZsZXgiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09ImtleUNvbnRyb2wiPlxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJsYXN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9ImlzTWFzdGVyIGVsc2UgdGFnTmFtZSIgY2xhc3M9InRpdGxlLWNvbnRhaW5lciIgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPlxuICAgICAgICAgICAgICAgICAgICB7eyBrZXlDb250cm9sLmdldChcJ3RhZ1wnKS52YWx1ZSB9fXt7IFwnLVwnIH19e3sga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS52YWx1ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3RhZ05hbWU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlLWNvbnRhaW5lciB0Yi1mbGV4Ij57eyBcJ2dhdGV3YXkua2V5XCcgfCB0cmFuc2xhdGUgfX06XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ia2V5LWxhYmVsIiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sga2V5Q29udHJvbC5nZXQoXCd0YWdcJykudmFsdWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUtY29udGFpbmVyIj57eyBcJ2dhdGV3YXkuYWRkcmVzc1wnIHwgdHJhbnNsYXRlIH19OlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImtleS1sYWJlbCI+e3sga2V5Q29udHJvbC5nZXQoXCdhZGRyZXNzXCcpLnZhbHVlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlLWNvbnRhaW5lciI+e3sgXCdnYXRld2F5LnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTpcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrZXktbGFiZWwiPnt7IGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0RXhwYW5zaW9uUGFuZWxDb250ZW50PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwgdGItZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuZGF0YS1rZXlzXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9tb2RidXMtZnVuY3Rpb25zLWRhdGEtdHlwZXNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5wbGF0Zm9ybS1zaWRlPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmtleVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgZ2F0ZXdheS5rZXlcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRhZyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5rZXktcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImtleUNvbnRyb2wuZ2V0KFwndGFnXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlDb250cm9sLmdldChcJ3RhZ1wnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9yLXNpZGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgIGdhdGV3YXkudHlwZVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIG1vZGJ1c0RhdGFUeXBlcyIgW3ZhbHVlXT0idHlwZSI+e3sgdHlwZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj0id2l0aEZ1bmN0aW9uQ29kZSIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuZnVuY3Rpb24tY29kZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZnVuY3Rpb25Db2RlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9ImxldCBjb2RlIG9mIGZ1bmN0aW9uQ29kZXNNYXAuZ2V0KGtleUNvbnRyb2wuZ2V0KFwnaWRcJykudmFsdWUpIHx8IGRlZmF1bHRGdW5jdGlvbkNvZGVzIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09ImNvZGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBNb2RidXNGdW5jdGlvbkNvZGVUcmFuc2xhdGlvbnNNYXAuZ2V0KGNvZGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5vYmplY3RzLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5Lm9iamVjdHMtY291bnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtaW49IjEiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1heD0iNTAwMDAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9Im9iamVjdHNDb3VudCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT0iIU1vZGJ1c0VkaXRhYmxlRGF0YVR5cGVzLmluY2x1ZGVzKGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5vYmplY3RzLWNvdW50LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ29iamVjdHNDb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCdvYmplY3RzQ291bnRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmFkZHJlc3NcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuYWRkcmVzczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbWF4PSI1MDAwMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iYWRkcmVzcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5hZGRyZXNzLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ2FkZHJlc3NcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleUNvbnRyb2wuZ2V0KFwnYWRkcmVzc1wnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9InNob3dNb2RpZmllcnNNYXAuZ2V0KGtleUNvbnRyb2wuZ2V0KFwnaWRcJykudmFsdWUpIiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLXNsaWRlLXRvZ2dsZSI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0iZW5hYmxlTW9kaWZpZXJzQ29udHJvbE1hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdpZFwnKS52YWx1ZSkudmFsdWUiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciBmeExheW91dD0icm93IHdyYXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJjZW50ZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT0iZW5hYmxlTW9kaWZpZXJzQ29udHJvbE1hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdpZFwnKS52YWx1ZSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1hdC1zbGlkZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLm1vZGlmaWVyXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1vZGlmaWVyXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMgdGItZmxleCBmdWxsLXdpZHRoIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50eXBlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGZpbGwtd2lkdGgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9Im1vZGlmaWVyVHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBhbGlnbi1jZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJ0Yi1tYXQtMTgiIFtzdmdJY29uXT0iTW9kaWZpZXJUeXBlc01hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclR5cGVcJykudmFsdWUpPy5pY29uIj48L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgTW9kaWZpZXJUeXBlc01hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclR5cGVcJykudmFsdWUpPy5uYW1lIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBtb2RpZmllclR5cGUgb2YgbW9kaWZpZXJUeXBlcyIgW3ZhbHVlXT0ibW9kaWZpZXJUeXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0yMCIgc3ZnSWNvbj0ie3sgTW9kaWZpZXJUeXBlc01hcC5nZXQobW9kaWZpZXJUeXBlKS5pY29uIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IE1vZGlmaWVyVHlwZXNNYXAuZ2V0KG1vZGlmaWVyVHlwZSkubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0ibW9kaWZpZXJWYWx1ZSIgc3RlcD0iMC4xIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lm1vZGlmaWVyLWludmFsaWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclZhbHVlXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleUNvbnRyb2wuZ2V0KFwnbW9kaWZpZXJWYWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9ImlzTWFzdGVyIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS52YWx1ZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1yZXBvcnQtc3RyYXRlZ3lcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9IndpdGhSZXBvcnRTdHJhdGVneSJcbiAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRWYWx1ZV09IlJlcG9ydFN0cmF0ZWd5RGVmYXVsdFZhbHVlLktleSJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJyZXBvcnRTdHJhdGVneSJcbiAgICAgICAgICAgICAgICAgICAgW2lzRXhwYW5zaW9uTW9kZV09InRydWUiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlS2V5KCRldmVudCwgJGluZGV4KSJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09ImRlbGV0ZUtleVRpdGxlIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXY+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJhZGRLZXkoKSI+XG4gICAgICAgIHt7IGFkZEtleVRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjbm9LZXlzPlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIGtleS1wYW5lbCI+XG4gICAgICA8c3BhbiBjbGFzcz0idGItcHJvbXB0IiB0cmFuc2xhdGU+e3sgbm9LZXlzVGV4dCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz0idGItZmxleCBmbGV4LWVuZCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uXG4gICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIChjbGljayk9ImNhbmNlbCgpIj5cbiAgICAgIHt7IFwnYWN0aW9uLmNhbmNlbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAoY2xpY2spPSJhcHBseUtleXNEYXRhKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJrZXlzTGlzdEZvcm1BcnJheS5pbnZhbGlkIHx8ICFrZXlzTGlzdEZvcm1BcnJheS5kaXJ0eSI+XG4gICAgICB7eyBcJ2FjdGlvbi5hcHBseVwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnRiLW1vZGJ1cy1rZXlzLXBhbmVse3dpZHRoOjc3dnc7bWF4LXdpZHRoOjcwMHB4fTpob3N0IC50Yi1tb2RidXMta2V5cy1wYW5lbCAudGl0bGUtY29udGFpbmVye3dpZHRoOjE4MHB4fTpob3N0IC50Yi1tb2RidXMta2V5cy1wYW5lbCAua2V5LWxhYmVse2ZvbnQtd2VpZ2h0OjQwMH06aG9zdCAudGItbW9kYnVzLWtleXMtcGFuZWwgLmtleS1wYW5lbHtoZWlnaHQ6NTAwcHg7b3ZlcmZsb3c6YXV0b306aG9zdCAudGItbW9kYnVzLWtleXMtcGFuZWwgLnRiLWZvcm0tcGFuZWwgLm1hdC1tZGMtaWNvbi1idXR0b257d2lkdGg6NTZweDtoZWlnaHQ6NTZweDtwYWRkaW5nOjE2cHg7Y29sb3I6IzAwMDAwMDhhfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmd0LkhlbHBQb3B1cENvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhlbHAtcG9wdXBdLCBbdGItaGVscC1wb3B1cC1jb250ZW50XSIsaW5wdXRzOlsidGItaGVscC1wb3B1cCIsInRiLWhlbHAtcG9wdXAtY29udGVudCIsInRyaWdnZXItdGV4dCIsInRyaWdnZXItc3R5bGUiLCJ0Yi1oZWxwLXBvcHVwLXBsYWNlbWVudCIsInRiLWhlbHAtcG9wdXAtc3R5bGUiLCJoaW50TW9kZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOndlLk1hdFNlbGVjdFRyaWdnZXIsc2VsZWN0b3I6Im1hdC1zZWxlY3QtdHJpZ2dlciJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmV0Lk1hdFNsaWRlVG9nZ2xlLHNlbGVjdG9yOiJtYXQtc2xpZGUtdG9nZ2xlIixpbnB1dHM6WyJuYW1lIiwiaWQiLCJsYWJlbFBvc2l0aW9uIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImFyaWEtZGVzY3JpYmVkYnkiLCJyZXF1aXJlZCIsImNvbG9yIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJjaGVja2VkIiwiaGlkZUljb24iLCJkaXNhYmxlZEludGVyYWN0aXZlIl0sb3V0cHV0czpbImNoYW5nZSIsInRvZ2dsZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2xpZGVUb2dnbGUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbCxzZWxlY3RvcjoibWF0LWV4cGFuc2lvbi1wYW5lbCIsaW5wdXRzOlsiaGlkZVRvZ2dsZSIsInRvZ2dsZVBvc2l0aW9uIl0sb3V0cHV0czpbImFmdGVyRXhwYW5kIiwiYWZ0ZXJDb2xsYXBzZSJdLGV4cG9ydEFzOlsibWF0RXhwYW5zaW9uUGFuZWwiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbEhlYWRlcixzZWxlY3RvcjoibWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIiLGlucHV0czpbImV4cGFuZGVkSGVpZ2h0IiwiY29sbGFwc2VkSGVpZ2h0IiwidGFiSW5kZXgiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTokZS5NYXRFeHBhbnNpb25QYW5lbFRpdGxlLHNlbGVjdG9yOiJtYXQtcGFuZWwtdGl0bGUifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOiRlLk1hdEV4cGFuc2lvblBhbmVsQ29udGVudCxzZWxlY3RvcjoibmctdGVtcGxhdGVbbWF0RXhwYW5zaW9uUGFuZWxDb250ZW50XSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRBbGlnbkRpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRBbGlnbl0sIFtmeExheW91dEFsaWduLnhzXSwgW2Z4TGF5b3V0QWxpZ24uc21dLCBbZnhMYXlvdXRBbGlnbi5tZF0sICBbZnhMYXlvdXRBbGlnbi5sZ10sIFtmeExheW91dEFsaWduLnhsXSwgW2Z4TGF5b3V0QWxpZ24ubHQtc21dLCBbZnhMYXlvdXRBbGlnbi5sdC1tZF0sICBbZnhMYXlvdXRBbGlnbi5sdC1sZ10sIFtmeExheW91dEFsaWduLmx0LXhsXSwgW2Z4TGF5b3V0QWxpZ24uZ3QteHNdLCBbZnhMYXlvdXRBbGlnbi5ndC1zbV0sICBbZnhMYXlvdXRBbGlnbi5ndC1tZF0sIFtmeExheW91dEFsaWduLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRBbGlnbiIsImZ4TGF5b3V0QWxpZ24ueHMiLCJmeExheW91dEFsaWduLnNtIiwiZnhMYXlvdXRBbGlnbi5tZCIsImZ4TGF5b3V0QWxpZ24ubGciLCJmeExheW91dEFsaWduLnhsIiwiZnhMYXlvdXRBbGlnbi5sdC1zbSIsImZ4TGF5b3V0QWxpZ24ubHQtbWQiLCJmeExheW91dEFsaWduLmx0LWxnIiwiZnhMYXlvdXRBbGlnbi5sdC14bCIsImZ4TGF5b3V0QWxpZ24uZ3QteHMiLCJmeExheW91dEFsaWduLmd0LXNtIiwiZnhMYXlvdXRBbGlnbi5ndC1tZCIsImZ4TGF5b3V0QWxpZ24uZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRGbGV4RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeEZsZXhdLCBbZnhGbGV4LnhzXSwgW2Z4RmxleC5zbV0sIFtmeEZsZXgubWRdLCAgW2Z4RmxleC5sZ10sIFtmeEZsZXgueGxdLCBbZnhGbGV4Lmx0LXNtXSwgW2Z4RmxleC5sdC1tZF0sICBbZnhGbGV4Lmx0LWxnXSwgW2Z4RmxleC5sdC14bF0sIFtmeEZsZXguZ3QteHNdLCBbZnhGbGV4Lmd0LXNtXSwgIFtmeEZsZXguZ3QtbWRdLCBbZnhGbGV4Lmd0LWxnXSIsaW5wdXRzOlsiZnhGbGV4IiwiZnhGbGV4LnhzIiwiZnhGbGV4LnNtIiwiZnhGbGV4Lm1kIiwiZnhGbGV4LmxnIiwiZnhGbGV4LnhsIiwiZnhGbGV4Lmx0LXNtIiwiZnhGbGV4Lmx0LW1kIiwiZnhGbGV4Lmx0LWxnIiwiZnhGbGV4Lmx0LXhsIiwiZnhGbGV4Lmd0LXhzIiwiZnhGbGV4Lmd0LXNtIiwiZnhGbGV4Lmd0LW1kIiwiZnhGbGV4Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTnVtYmVyVmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbmdNb2RlbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5SZXF1aXJlZFZhbGlkYXRvcixzZWxlY3RvcjoiOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbE5hbWVdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bbmdNb2RlbF0iLGlucHV0czpbInJlcXVpcmVkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWF4VmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttYXhdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtuZ01vZGVsXSIsaW5wdXRzOlsibWF4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpnbyxzZWxlY3RvcjoidGItcmVwb3J0LXN0cmF0ZWd5IixpbnB1dHM6WyJpc0V4cGFuc2lvbk1vZGUiLCJkZWZhdWx0VmFsdWUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dfSl9fWUoIk1vZGJ1c0RhdGFLZXlzUGFuZWxDb21wb25lbnQiLGZvKSxIZShbTigpXSxmby5wcm90b3R5cGUsImlzTWFzdGVyIix2b2lkIDApLEhlKFtOKCldLGZvLnByb3RvdHlwZSwiaGlkZU5ld0ZpZWxkcyIsdm9pZCAwKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmZvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1tb2RidXMtZGF0YS1rZXlzLXBhbmVsIixzdGFuZGFsb25lOiEwLGltcG9ydHM6W0gsRCxUYSxnbyxTYV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJ0Yi1tb2RidXMta2V5cy1wYW5lbCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPnt7IHBhbmVsVGl0bGUgIHwgdHJhbnNsYXRlIH19e3tcJyAoXCcgKyBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGggKyBcJylcJ319PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBrZXktcGFuZWwiICpuZ0lmPSJrZXlzTGlzdEZvcm1BcnJheS5jb250cm9scy5sZW5ndGg7IGVsc2Ugbm9LZXlzIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItZmxleCBuby1mbGV4IHJvdyBjZW50ZXIgZmlsbC13aWR0aCJcbiAgICAgICAgICAgKm5nRm9yPSJsZXQga2V5Q29udHJvbCBvZiBrZXlzTGlzdEZvcm1BcnJheS5jb250cm9sczsgdHJhY2tCeTogdHJhY2tCeUNvbnRyb2xJZDsgbGV0ICRpbmRleCA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3Q7Ij5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLWZsZXgiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09ImtleUNvbnRyb2wiPlxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJsYXN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9ImlzTWFzdGVyIGVsc2UgdGFnTmFtZSIgY2xhc3M9InRpdGxlLWNvbnRhaW5lciIgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPlxuICAgICAgICAgICAgICAgICAgICB7eyBrZXlDb250cm9sLmdldChcJ3RhZ1wnKS52YWx1ZSB9fXt7IFwnLVwnIH19e3sga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS52YWx1ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3RhZ05hbWU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlLWNvbnRhaW5lciB0Yi1mbGV4Ij57eyBcJ2dhdGV3YXkua2V5XCcgfCB0cmFuc2xhdGUgfX06XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ia2V5LWxhYmVsIiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sga2V5Q29udHJvbC5nZXQoXCd0YWdcJykudmFsdWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUtY29udGFpbmVyIj57eyBcJ2dhdGV3YXkuYWRkcmVzc1wnIHwgdHJhbnNsYXRlIH19OlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImtleS1sYWJlbCI+e3sga2V5Q29udHJvbC5nZXQoXCdhZGRyZXNzXCcpLnZhbHVlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlLWNvbnRhaW5lciI+e3sgXCdnYXRld2F5LnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTpcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrZXktbGFiZWwiPnt7IGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0RXhwYW5zaW9uUGFuZWxDb250ZW50PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwgdGItZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuZGF0YS1rZXlzXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzZWUtZXhhbXBsZSJcbiAgICAgICAgICAgICAgICAgICAgICAgW3RiLWhlbHAtcG9wdXBdPSJcJ3dpZGdldC9saWIvZ2F0ZXdheS9tb2RidXMtZnVuY3Rpb25zLWRhdGEtdHlwZXNfZm5cJyJcbiAgICAgICAgICAgICAgICAgICAgICAgdGItaGVscC1wb3B1cC1wbGFjZW1lbnQ9ImxlZnQiXG4gICAgICAgICAgICAgICAgICAgICAgIFt0Yi1oZWxwLXBvcHVwLXN0eWxlXT0ie21heFdpZHRoOiBcJzk3MHB4XCd9Ij5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5wbGF0Zm9ybS1zaWRlPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmtleVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgZ2F0ZXdheS5rZXlcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRhZyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5rZXktcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImtleUNvbnRyb2wuZ2V0KFwndGFnXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlDb250cm9sLmdldChcJ3RhZ1wnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9yLXNpZGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgIGdhdGV3YXkudHlwZVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIG1vZGJ1c0RhdGFUeXBlcyIgW3ZhbHVlXT0idHlwZSI+e3sgdHlwZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj0id2l0aEZ1bmN0aW9uQ29kZSIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuZnVuY3Rpb24tY29kZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iZnVuY3Rpb25Db2RlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9ImxldCBjb2RlIG9mIGZ1bmN0aW9uQ29kZXNNYXAuZ2V0KGtleUNvbnRyb2wuZ2V0KFwnaWRcJykudmFsdWUpIHx8IGRlZmF1bHRGdW5jdGlvbkNvZGVzIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09ImNvZGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBNb2RidXNGdW5jdGlvbkNvZGVUcmFuc2xhdGlvbnNNYXAuZ2V0KGNvZGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5vYmplY3RzLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5Lm9iamVjdHMtY291bnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ibnVtYmVyIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtaW49IjEiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1heD0iNTAwMDAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InZhbHVlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9Im9iamVjdHNDb3VudCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT0iIU1vZGJ1c0VkaXRhYmxlRGF0YVR5cGVzLmluY2x1ZGVzKGtleUNvbnRyb2wuZ2V0KFwndHlwZVwnKS52YWx1ZSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5vYmplY3RzLWNvdW50LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ29iamVjdHNDb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCdvYmplY3RzQ291bnRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmFkZHJlc3NcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuYWRkcmVzczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbWF4PSI1MDAwMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iYWRkcmVzcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5hZGRyZXNzLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJrZXlDb250cm9sLmdldChcJ2FkZHJlc3NcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleUNvbnRyb2wuZ2V0KFwnYWRkcmVzc1wnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9InNob3dNb2RpZmllcnNNYXAuZ2V0KGtleUNvbnRyb2wuZ2V0KFwnaWRcJykudmFsdWUpIiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLXNsaWRlLXRvZ2dsZSI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0iZW5hYmxlTW9kaWZpZXJzQ29udHJvbE1hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdpZFwnKS52YWx1ZSkudmFsdWUiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciBmeExheW91dD0icm93IHdyYXAiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJjZW50ZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT0iZW5hYmxlTW9kaWZpZXJzQ29udHJvbE1hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdpZFwnKS52YWx1ZSkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1hdC1zbGlkZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLm1vZGlmaWVyXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1vZGlmaWVyXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMgdGItZmxleCBmdWxsLXdpZHRoIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50eXBlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGZpbGwtd2lkdGgiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9Im1vZGlmaWVyVHlwZSI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBhbGlnbi1jZW50ZXIiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJ0Yi1tYXQtMTgiIFtzdmdJY29uXT0iTW9kaWZpZXJUeXBlc01hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclR5cGVcJykudmFsdWUpPy5pY29uIj48L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgTW9kaWZpZXJUeXBlc01hcC5nZXQoa2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclR5cGVcJykudmFsdWUpPy5uYW1lIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBtb2RpZmllclR5cGUgb2YgbW9kaWZpZXJUeXBlcyIgW3ZhbHVlXT0ibW9kaWZpZXJUeXBlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC0yMCIgc3ZnSWNvbj0ie3sgTW9kaWZpZXJUeXBlc01hcC5nZXQobW9kaWZpZXJUeXBlKS5pY29uIH19Ij5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IE1vZGlmaWVyVHlwZXNNYXAuZ2V0KG1vZGlmaWVyVHlwZSkubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBjbGFzcz0idGItaW5saW5lLWZpZWxkIGZsZXggdGItc3VmZml4LWFic29sdXRlIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT0ibW9kaWZpZXJWYWx1ZSIgc3RlcD0iMC4xIiB0eXBlPSJudW1iZXIiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19IiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lm1vZGlmaWVyLWludmFsaWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCdtb2RpZmllclZhbHVlXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleUNvbnRyb2wuZ2V0KFwnbW9kaWZpZXJWYWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9ImlzTWFzdGVyIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS52YWx1ZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS52YWx1ZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ia2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5Q29udHJvbC5nZXQoXCd2YWx1ZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1yZXBvcnQtc3RyYXRlZ3lcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9IndpdGhSZXBvcnRTdHJhdGVneSJcbiAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRWYWx1ZV09IlJlcG9ydFN0cmF0ZWd5RGVmYXVsdFZhbHVlLktleSJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJyZXBvcnRTdHJhdGVneSJcbiAgICAgICAgICAgICAgICAgICAgW2lzRXhwYW5zaW9uTW9kZV09InRydWUiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlS2V5KCRldmVudCwgJGluZGV4KSJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09ImRlbGV0ZUtleVRpdGxlIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXY+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJhZGRLZXkoKSI+XG4gICAgICAgIHt7IGFkZEtleVRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjbm9LZXlzPlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZmxleCBjZW50ZXIgYWxpZ24tY2VudGVyIGtleS1wYW5lbCI+XG4gICAgICA8c3BhbiBjbGFzcz0idGItcHJvbXB0IiB0cmFuc2xhdGU+e3sgbm9LZXlzVGV4dCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz0idGItZmxleCBmbGV4LWVuZCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uXG4gICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIChjbGljayk9ImNhbmNlbCgpIj5cbiAgICAgIHt7IFwnYWN0aW9uLmNhbmNlbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAoY2xpY2spPSJhcHBseUtleXNEYXRhKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJrZXlzTGlzdEZvcm1BcnJheS5pbnZhbGlkIHx8ICFrZXlzTGlzdEZvcm1BcnJheS5kaXJ0eSI+XG4gICAgICB7eyBcJ2FjdGlvbi5hcHBseVwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnRiLW1vZGJ1cy1rZXlzLXBhbmVse3dpZHRoOjc3dnc7bWF4LXdpZHRoOjcwMHB4fTpob3N0IC50Yi1tb2RidXMta2V5cy1wYW5lbCAudGl0bGUtY29udGFpbmVye3dpZHRoOjE4MHB4fTpob3N0IC50Yi1tb2RidXMta2V5cy1wYW5lbCAua2V5LWxhYmVse2ZvbnQtd2VpZ2h0OjQwMH06aG9zdCAudGItbW9kYnVzLWtleXMtcGFuZWwgLmtleS1wYW5lbHtoZWlnaHQ6NTAwcHg7b3ZlcmZsb3c6YXV0b306aG9zdCAudGItbW9kYnVzLWtleXMtcGFuZWwgLnRiLWZvcm0tcGFuZWwgLm1hdC1tZGMtaWNvbi1idXR0b257d2lkdGg6NTZweDtoZWlnaHQ6NTZweDtwYWRkaW5nOjE2cHg7Y29sb3I6IzAwMDAwMDhhfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuVW50eXBlZEZvcm1CdWlsZGVyfV0scHJvcERlY29yYXRvcnM6e2lzTWFzdGVyOlt7dHlwZTphfV0saGlkZU5ld0ZpZWxkczpbe3R5cGU6YX1dLHBhbmVsVGl0bGU6W3t0eXBlOmF9XSxhZGRLZXlUaXRsZTpbe3R5cGU6YX1dLGRlbGV0ZUtleVRpdGxlOlt7dHlwZTphfV0sbm9LZXlzVGV4dDpbe3R5cGU6YX1dLGtleXNUeXBlOlt7dHlwZTphfV0sdmFsdWVzOlt7dHlwZTphfV0scG9wb3Zlcjpbe3R5cGU6YX1dLGtleXNEYXRhQXBwbGllZDpbe3R5cGU6bH1dfX0pO2NsYXNzIHlve2NvbnN0cnVjdG9yKGUsdCxuLGEsbyl7dGhpcy5mYj1lLHRoaXMucG9wb3ZlclNlcnZpY2U9dCx0aGlzLnJlbmRlcmVyPW4sdGhpcy52aWV3Q29udGFpbmVyUmVmPWEsdGhpcy5jZHI9byx0aGlzLnNpbmdsZU1vZGU9ITEsdGhpcy5oaWRlTmV3RmllbGRzPSExLHRoaXMuZGlzYWJsZWQ9ITEsdGhpcy5tb2RidXNSZWdpc3RlclR5cGVzPU9iamVjdC52YWx1ZXMoWG4pLHRoaXMubW9kYnVzVmFsdWVLZXlzPU9iamVjdC52YWx1ZXMoYWEpLHRoaXMuTW9kYnVzVmFsdWVzVHJhbnNsYXRpb25zTWFwPVpuLHRoaXMuTW9kYnVzVmFsdWVLZXk9YWEsdGhpcy5kZXN0cm95JD1uZXcgU2V9bmdPbkluaXQoKXt0aGlzLmluaXRpYWxpemVWYWx1ZXNGb3JtR3JvdXAoKSx0aGlzLm9ic2VydmVWYWx1ZXNDaGFuZ2VzKCl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9cmVnaXN0ZXJPbkNoYW5nZShlKXt0aGlzLm9uQ2hhbmdlPWV9cmVnaXN0ZXJPblRvdWNoZWQoZSl7dGhpcy5vblRvdWNoZWQ9ZX13cml0ZVZhbHVlKGUpe2lmKHRoaXMuc2luZ2xlTW9kZSl0aGlzLnZhbHVlc0Zvcm1Hcm91cC5zZXRWYWx1ZSh0aGlzLmdldFNpbmdsZVJlZ2lzdGVyU3RhdGUoZSkse2VtaXRFdmVudDohMX0pO2Vsc2V7Y29uc3R7aG9sZGluZ19yZWdpc3RlcnM6dCxjb2lsc19pbml0aWFsaXplcjpuLGlucHV0X3JlZ2lzdGVyczphLGRpc2NyZXRlX2lucHV0czpvfT1lO3RoaXMudmFsdWVzRm9ybUdyb3VwLnNldFZhbHVlKHtob2xkaW5nX3JlZ2lzdGVyczp0aGlzLmdldFNpbmdsZVJlZ2lzdGVyU3RhdGUodCksY29pbHNfaW5pdGlhbGl6ZXI6dGhpcy5nZXRTaW5nbGVSZWdpc3RlclN0YXRlKG4pLGlucHV0X3JlZ2lzdGVyczp0aGlzLmdldFNpbmdsZVJlZ2lzdGVyU3RhdGUoYSksZGlzY3JldGVfaW5wdXRzOnRoaXMuZ2V0U2luZ2xlUmVnaXN0ZXJTdGF0ZShvKX0se2VtaXRFdmVudDohMX0pfXRoaXMuY2RyLm1hcmtGb3JDaGVjaygpfXZhbGlkYXRlKCl7cmV0dXJuIHRoaXMudmFsdWVzRm9ybUdyb3VwLnZhbGlkP251bGw6e3ZhbHVlc0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fX1zZXREaXNhYmxlZFN0YXRlKGUpe3RoaXMuZGlzYWJsZWQ9ZSx0aGlzLmNkci5tYXJrRm9yQ2hlY2soKX1nZXRWYWx1ZUdyb3VwKGUsdCl7cmV0dXJuIHQ/dGhpcy52YWx1ZXNGb3JtR3JvdXAuZ2V0KHQpLmdldChlKTp0aGlzLnZhbHVlc0Zvcm1Hcm91cC5nZXQoZSl9bWFuYWdlS2V5cyhlLHQsbixhKXtlLnN0b3BQcm9wYWdhdGlvbigpO2NvbnN0IG89dC5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O2lmKHRoaXMucG9wb3ZlclNlcnZpY2UuaGFzUG9wb3ZlcihvKSlyZXR1cm4gdm9pZCB0aGlzLnBvcG92ZXJTZXJ2aWNlLmhpZGVQb3BvdmVyKG8pO2NvbnN0IGk9dGhpcy5nZXRWYWx1ZUdyb3VwKG4sYSkscj17dmFsdWVzOmkudmFsdWUsaXNNYXN0ZXI6IXRoaXMuc2luZ2xlTW9kZSxrZXlzVHlwZTpuLHBhbmVsVGl0bGU6b2EuZ2V0KG4pLGFkZEtleVRpdGxlOmlhLmdldChuKSxkZWxldGVLZXlUaXRsZTpyYS5nZXQobiksbm9LZXlzVGV4dDpzYS5nZXQobiksaGlkZU5ld0ZpZWxkczp0aGlzLmhpZGVOZXdGaWVsZHN9LHM9dGhpcy5wb3BvdmVyU2VydmljZS5kaXNwbGF5UG9wb3ZlcihvLHRoaXMucmVuZGVyZXIsdGhpcy52aWV3Q29udGFpbmVyUmVmLGZvLCJsZWZ0Qm90dG9tIiwhMSxudWxsLHIse30se30se30sITApO3MudGJDb21wb25lbnRSZWYuaW5zdGFuY2UucG9wb3Zlcj1zLHMudGJDb21wb25lbnRSZWYuaW5zdGFuY2Uua2V5c0RhdGFBcHBsaWVkLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3MuaGlkZSgpLGkucGF0Y2hWYWx1ZShlKSxpLm1hcmtBc0RpcnR5KCksdGhpcy5jZHIubWFya0ZvckNoZWNrKCl9KSl9aW5pdGlhbGl6ZVZhbHVlc0Zvcm1Hcm91cCgpe2NvbnN0IGU9KCk9PnRoaXMuZmIuZ3JvdXAodGhpcy5tb2RidXNWYWx1ZUtleXMucmVkdWNlKCgoZSx0KT0+KGVbdF09dGhpcy5mYi5jb250cm9sKFtbXSxbXV0pLGUpKSx7fSkpO3RoaXMuc2luZ2xlTW9kZT90aGlzLnZhbHVlc0Zvcm1Hcm91cD1lKCk6dGhpcy52YWx1ZXNGb3JtR3JvdXA9dGhpcy5mYi5ncm91cCh0aGlzLm1vZGJ1c1JlZ2lzdGVyVHlwZXMucmVkdWNlKCgodCxuKT0+KHRbbl09ZSgpLHQpKSx7fSkpfW9ic2VydmVWYWx1ZXNDaGFuZ2VzKCl7dGhpcy52YWx1ZXNGb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMub25DaGFuZ2UoZSksdGhpcy5vblRvdWNoZWQoKX0pKX1nZXRTaW5nbGVSZWdpc3RlclN0YXRlKGUpe3JldHVybnthdHRyaWJ1dGVzOmU/LmF0dHJpYnV0ZXM/P1tdLHRpbWVzZXJpZXM6ZT8udGltZXNlcmllcz8/W10sYXR0cmlidXRlVXBkYXRlczplPy5hdHRyaWJ1dGVVcGRhdGVzPz9bXSxycGM6ZT8ucnBjPz9bXX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTp5byxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjpmdC5UYlBvcG92ZXJTZXJ2aWNlfSx7dG9rZW46dC5SZW5kZXJlcjJ9LHt0b2tlbjp0LlZpZXdDb250YWluZXJSZWZ9LHt0b2tlbjp0LkNoYW5nZURldGVjdG9yUmVmfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTp5byxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1vZGJ1cy12YWx1ZXMiLGlucHV0czp7c2luZ2xlTW9kZToic2luZ2xlTW9kZSIsaGlkZU5ld0ZpZWxkczoiaGlkZU5ld0ZpZWxkcyJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PnlvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT55bykpLG11bHRpOiEwfV0sbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcblxuPG5nLWNvbnRhaW5lciAqbmdJZj0ic2luZ2xlTW9kZSBlbHNlIG11bHRpcGxlVmlldyI+XG4gIDxkaXYgW2Zvcm1Hcm91cF09InZhbHVlc0Zvcm1Hcm91cCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJzaW5nbGVWaWV3IiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPSJ7JGltcGxpY2l0OiBudWxsfSI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjbXVsdGlwbGVWaWV3PlxuICA8bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0idmFsdWVzRm9ybUdyb3VwIj5cbiAgICA8bWF0LXRhYiAqbmdGb3I9ImxldCByZWdpc3RlciBvZiBtb2RidXNSZWdpc3RlclR5cGVzIiBsYWJlbD0ie3sgTW9kYnVzVmFsdWVzVHJhbnNsYXRpb25zTWFwLmdldChyZWdpc3RlcikgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiBbZm9ybUdyb3VwXT0idmFsdWVzRm9ybUdyb3VwLmdldChyZWdpc3RlcikiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09InNpbmdsZVZpZXciIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09InskaW1wbGljaXQ6IHJlZ2lzdGVyfSI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC10YWI+XG4gIDwvbWF0LXRhYi1ncm91cD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2luZ2xlVmlldyBsZXQtcmVnaXN0ZXI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZXM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5BVFRSSUJVVEVTLCByZWdpc3RlcikudmFsdWUiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZSBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVMsIHJlZ2lzdGVyKS52YWx1ZSI+XG4gICAgICAgICAge3sgYXR0cmlidXRlLnRhZyB9fVxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJkaXNhYmxlZCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAjYXR0cmlidXRlc0J1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgYXR0cmlidXRlc0J1dHRvbiwgTW9kYnVzVmFsdWVLZXkuQVRUUklCVVRFUywgcmVnaXN0ZXIpIj5cbiAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50aW1lc2VyaWVzPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggY2xhc3M9InRiLWZsZXgiIFt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdPSJnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LlRJTUVTRVJJRVMsIHJlZ2lzdGVyKS52YWx1ZSI+XG4gICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCB0ZWxlbWV0cnkgb2YgZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5USU1FU0VSSUVTLCByZWdpc3RlcikudmFsdWUiPlxuICAgICAgICAgIHt7IHRlbGVtZXRyeS50YWcgfX1cbiAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iZGlzYWJsZWQiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgI3RlbGVtZXRyeUJ1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgdGVsZW1ldHJ5QnV0dG9uLCBNb2RidXNWYWx1ZUtleS5USU1FU0VSSUVTLCByZWdpc3RlcikiPlxuICAgICAgICA8dGItaWNvbiBtYXRCdXR0b25JY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZS11cGRhdGVzPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09ImdldFZhbHVlR3JvdXAoTW9kYnVzVmFsdWVLZXkuQVRUUklCVVRFU19VUERBVEVTLCByZWdpc3RlcikudmFsdWUiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZVVwZGF0ZSBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVNfVVBEQVRFUywgcmVnaXN0ZXIpLnZhbHVlIj5cbiAgICAgICAgICB7eyBhdHRyaWJ1dGVVcGRhdGUudGFnIH19XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iZGlzYWJsZWQiXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICNhdHRyaWJ1dGVzVXBkYXRlc0J1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgYXR0cmlidXRlc1VwZGF0ZXNCdXR0b24sIE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVNfVVBEQVRFUywgcmVnaXN0ZXIpIj5cbiAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5ycGMtcmVxdWVzdHM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5SUENfUkVRVUVTVFMsIHJlZ2lzdGVyKS52YWx1ZSIgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgcnBjUmVxdWVzdCBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LlJQQ19SRVFVRVNUUywgcmVnaXN0ZXIpLnZhbHVlIj5cbiAgICAgICAgICB7eyBycGNSZXF1ZXN0LnRhZyB9fVxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJkaXNhYmxlZCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAjcnBjUmVxdWVzdHNCdXR0b25cbiAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIHJwY1JlcXVlc3RzQnV0dG9uLCBNb2RidXNWYWx1ZUtleS5SUENfUkVRVUVTVFMsIHJlZ2lzdGVyKSI+XG4gICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWJvZHktd3JhcHBlcnttaW4taGVpZ2h0OjMyMHB4fTo6bmctZGVlcCAubWRjLWV2b2x1dGlvbi1jaGlwLXNldF9fY2hpcHN7YWxpZ24taXRlbXM6Y2VudGVyfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1RlbXBsYXRlT3V0bGV0LHNlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0iLGlucHV0czpbIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IiwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRJbmplY3RvciJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp5dC5NYXRDaGlwLHNlbGVjdG9yOiJtYXQtYmFzaWMtY2hpcCwgW21hdC1iYXNpYy1jaGlwXSwgbWF0LWNoaXAsIFttYXQtY2hpcF0iLGlucHV0czpbInJvbGUiLCJpZCIsImFyaWEtbGFiZWwiLCJhcmlhLWRlc2NyaXB0aW9uIiwidmFsdWUiLCJjb2xvciIsInJlbW92YWJsZSIsImhpZ2hsaWdodGVkIiwiZGlzYWJsZVJpcHBsZSIsImRpc2FibGVkIl0sb3V0cHV0czpbInJlbW92ZWQiLCJkZXN0cm95ZWQiXSxleHBvcnRBczpbIm1hdENoaXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp5dC5NYXRDaGlwTGlzdGJveCxzZWxlY3RvcjoibWF0LWNoaXAtbGlzdGJveCIsaW5wdXRzOlsibXVsdGlwbGUiLCJhcmlhLW9yaWVudGF0aW9uIiwic2VsZWN0YWJsZSIsImNvbXBhcmVXaXRoIiwicmVxdWlyZWQiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwidmFsdWUiXSxvdXRwdXRzOlsiY2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YnQuVGJJY29uQ29tcG9uZW50LHNlbGVjdG9yOiJ0Yi1pY29uIixpbnB1dHM6WyJjb2xvciJdLGV4cG9ydEFzOlsidGJJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6a2Esc2VsZWN0b3I6Ilt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdIixpbnB1dHM6WyJ0Yi1lbGxpcHNpcy1jaGlwLWxpc3QiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJNb2RidXNWYWx1ZXNDb21wb25lbnQiLHlvKSxIZShbTigpXSx5by5wcm90b3R5cGUsInNpbmdsZU1vZGUiLHZvaWQgMCksSGUoW04oKV0seW8ucHJvdG90eXBlLCJoaWRlTmV3RmllbGRzIix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6eW8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy12YWx1ZXMiLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT55bykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+eW8pKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxELGthXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcblxuPG5nLWNvbnRhaW5lciAqbmdJZj0ic2luZ2xlTW9kZSBlbHNlIG11bHRpcGxlVmlldyI+XG4gIDxkaXYgW2Zvcm1Hcm91cF09InZhbHVlc0Zvcm1Hcm91cCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiIGZ4TGF5b3V0PSJjb2x1bW4iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJzaW5nbGVWaWV3IiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPSJ7JGltcGxpY2l0OiBudWxsfSI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjbXVsdGlwbGVWaWV3PlxuICA8bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0idmFsdWVzRm9ybUdyb3VwIj5cbiAgICA8bWF0LXRhYiAqbmdGb3I9ImxldCByZWdpc3RlciBvZiBtb2RidXNSZWdpc3RlclR5cGVzIiBsYWJlbD0ie3sgTW9kYnVzVmFsdWVzVHJhbnNsYXRpb25zTWFwLmdldChyZWdpc3RlcikgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPGRpdiBbZm9ybUdyb3VwXT0idmFsdWVzRm9ybUdyb3VwLmdldChyZWdpc3RlcikiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09InNpbmdsZVZpZXciIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09InskaW1wbGljaXQ6IHJlZ2lzdGVyfSI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC10YWI+XG4gIDwvbWF0LXRhYi1ncm91cD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2luZ2xlVmlldyBsZXQtcmVnaXN0ZXI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZXM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5BVFRSSUJVVEVTLCByZWdpc3RlcikudmFsdWUiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZSBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVMsIHJlZ2lzdGVyKS52YWx1ZSI+XG4gICAgICAgICAge3sgYXR0cmlidXRlLnRhZyB9fVxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJkaXNhYmxlZCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAjYXR0cmlidXRlc0J1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgYXR0cmlidXRlc0J1dHRvbiwgTW9kYnVzVmFsdWVLZXkuQVRUUklCVVRFUywgcmVnaXN0ZXIpIj5cbiAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS50aW1lc2VyaWVzPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggY2xhc3M9InRiLWZsZXgiIFt0Yi1lbGxpcHNpcy1jaGlwLWxpc3RdPSJnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LlRJTUVTRVJJRVMsIHJlZ2lzdGVyKS52YWx1ZSI+XG4gICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9ImxldCB0ZWxlbWV0cnkgb2YgZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5USU1FU0VSSUVTLCByZWdpc3RlcikudmFsdWUiPlxuICAgICAgICAgIHt7IHRlbGVtZXRyeS50YWcgfX1cbiAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgPG1hdC1jaGlwIGNsYXNzPSJtYXQtbWRjLWNoaXAgZWxsaXBzaXMtY2hpcCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPSJlbGxpcHNpcy10ZXh0Ij48L2xhYmVsPlxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iZGlzYWJsZWQiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgI3RlbGVtZXRyeUJ1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgdGVsZW1ldHJ5QnV0dG9uLCBNb2RidXNWYWx1ZUtleS5USU1FU0VSSUVTLCByZWdpc3RlcikiPlxuICAgICAgICA8dGItaWNvbiBtYXRCdXR0b25JY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LmF0dHJpYnV0ZS11cGRhdGVzPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBlbGxpcHNpcy1jaGlwcy1jb250YWluZXIiPlxuICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggW3RiLWVsbGlwc2lzLWNoaXAtbGlzdF09ImdldFZhbHVlR3JvdXAoTW9kYnVzVmFsdWVLZXkuQVRUUklCVVRFU19VUERBVEVTLCByZWdpc3RlcikudmFsdWUiIGNsYXNzPSJ0Yi1mbGV4Ij5cbiAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj0ibGV0IGF0dHJpYnV0ZVVwZGF0ZSBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVNfVVBEQVRFUywgcmVnaXN0ZXIpLnZhbHVlIj5cbiAgICAgICAgICB7eyBhdHRyaWJ1dGVVcGRhdGUudGFnIH19XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgIDxtYXQtY2hpcCBjbGFzcz0ibWF0LW1kYy1jaGlwIGVsbGlwc2lzLWNoaXAiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZWxsaXBzaXMtdGV4dCI+PC9sYWJlbD5cbiAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cbiAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iZGlzYWJsZWQiXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5lZGl0XCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICNhdHRyaWJ1dGVzVXBkYXRlc0J1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VLZXlzKCRldmVudCwgYXR0cmlidXRlc1VwZGF0ZXNCdXR0b24sIE1vZGJ1c1ZhbHVlS2V5LkFUVFJJQlVURVNfVVBEQVRFUywgcmVnaXN0ZXIpIj5cbiAgICAgICAgPHRiLWljb24gbWF0QnV0dG9uSWNvbj5lZGl0PC90Yi1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5ycGMtcmVxdWVzdHM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IGVsbGlwc2lzLWNoaXBzLWNvbnRhaW5lciI+XG4gICAgICA8bWF0LWNoaXAtbGlzdGJveCBbdGItZWxsaXBzaXMtY2hpcC1saXN0XT0iZ2V0VmFsdWVHcm91cChNb2RidXNWYWx1ZUtleS5SUENfUkVRVUVTVFMsIHJlZ2lzdGVyKS52YWx1ZSIgY2xhc3M9InRiLWZsZXgiPlxuICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPSJsZXQgcnBjUmVxdWVzdCBvZiBnZXRWYWx1ZUdyb3VwKE1vZGJ1c1ZhbHVlS2V5LlJQQ19SRVFVRVNUUywgcmVnaXN0ZXIpLnZhbHVlIj5cbiAgICAgICAgICB7eyBycGNSZXF1ZXN0LnRhZyB9fVxuICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICA8bWF0LWNoaXAgY2xhc3M9Im1hdC1tZGMtY2hpcCBlbGxpcHNpcy1jaGlwIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9ImVsbGlwc2lzLXRleHQiPjwvbGFiZWw+XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XG4gICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJkaXNhYmxlZCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uZWRpdFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAjcnBjUmVxdWVzdHNCdXR0b25cbiAgICAgICAgICAgICAgKGNsaWNrKT0ibWFuYWdlS2V5cygkZXZlbnQsIHJwY1JlcXVlc3RzQnV0dG9uLCBNb2RidXNWYWx1ZUtleS5SUENfUkVRVUVTVFMsIHJlZ2lzdGVyKSI+XG4gICAgICAgIDx0Yi1pY29uIG1hdEJ1dHRvbkljb24+ZWRpdDwvdGItaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWJvZHktd3JhcHBlcnttaW4taGVpZ2h0OjMyMHB4fTo6bmctZGVlcCAubWRjLWV2b2x1dGlvbi1jaGlwLXNldF9fY2hpcHN7YWxpZ24taXRlbXM6Y2VudGVyfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9LHt0eXBlOmZ0LlRiUG9wb3ZlclNlcnZpY2V9LHt0eXBlOnQuUmVuZGVyZXIyfSx7dHlwZTp0LlZpZXdDb250YWluZXJSZWZ9LHt0eXBlOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9XSxwcm9wRGVjb3JhdG9yczp7c2luZ2xlTW9kZTpbe3R5cGU6YX1dLGhpZGVOZXdGaWVsZHM6W3t0eXBlOmF9XX19KTtjbGFzcyBib3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuZmI9ZSx0aGlzLmNkcj10LHRoaXMuaXNNYXN0ZXI9ITEsdGhpcy5kaXNhYmxlZD0hMSx0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLnNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe2NlcnRmaWxlOlsiIixbdWUucGF0dGVybihrdCldXSxrZXlmaWxlOlsiIixbdWUucGF0dGVybihrdCldXSxwYXNzd29yZDpbIiIsW3VlLnBhdHRlcm4oa3QpXV0sc2VydmVyX2hvc3RuYW1lOlsiIixbdWUucGF0dGVybihrdCldXSxyZXFjbGljZXJ0Olt7dmFsdWU6ITEsZGlzYWJsZWQ6ITB9XX0pLHRoaXMub2JzZXJ2ZVZhbHVlQ2hhbmdlcygpfW5nT25DaGFuZ2VzKCl7dGhpcy51cGRhdGVNYXN0ZXJFbmFibGluZygpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9c2V0RGlzYWJsZWRTdGF0ZShlKXt0aGlzLmRpc2FibGVkPWUsdGhpcy5kaXNhYmxlZD90aGlzLnNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwLmRpc2FibGUoe2VtaXRFdmVudDohMX0pOnRoaXMuc2VjdXJpdHlDb25maWdGb3JtR3JvdXAuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnVwZGF0ZU1hc3RlckVuYWJsaW5nKCksdGhpcy5jZHIubWFya0ZvckNoZWNrKCl9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5zZWN1cml0eUNvbmZpZ0Zvcm1Hcm91cC52YWxpZD9udWxsOntzZWN1cml0eUNvbmZpZ0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fX13cml0ZVZhbHVlKGUpe2NvbnN0e2NlcnRmaWxlOnQscGFzc3dvcmQ6bixrZXlmaWxlOmEsc2VydmVyX2hvc3RuYW1lOm99PWUsaT17Y2VydGZpbGU6dD8/IiIscGFzc3dvcmQ6bj8/IiIsa2V5ZmlsZTphPz8iIixzZXJ2ZXJfaG9zdG5hbWU6bz8/IiIscmVxY2xpY2VydDohIWUucmVxY2xpY2VydH07dGhpcy5zZWN1cml0eUNvbmZpZ0Zvcm1Hcm91cC5yZXNldChpLHtlbWl0RXZlbnQ6ITF9KX11cGRhdGVNYXN0ZXJFbmFibGluZygpe3RoaXMuaXNNYXN0ZXI/KHRoaXMuZGlzYWJsZWR8fHRoaXMuc2VjdXJpdHlDb25maWdGb3JtR3JvdXAuZ2V0KCJyZXFjbGljZXJ0IikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwLmdldCgic2VydmVyX2hvc3RuYW1lIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpOih0aGlzLmRpc2FibGVkfHx0aGlzLnNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwLmdldCgic2VydmVyX2hvc3RuYW1lIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwLmdldCgicmVxY2xpY2VydCIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pKX1vYnNlcnZlVmFsdWVDaGFuZ2VzKCl7dGhpcy5zZWN1cml0eUNvbmZpZ0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Ym8sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfSx7dG9rZW46dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6Ym8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1tb2RidXMtc2VjdXJpdHktY29uZmlnIixpbnB1dHM6e2lzTWFzdGVyOiJpc01hc3RlciJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PmJvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5ibykpLG11bHRpOiEwfV0sdXNlc09uQ2hhbmdlczohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyIgW2Zvcm1Hcm91cF09InNlY3VyaXR5Q29uZmlnRm9ybUdyb3VwIj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1oaW50IHRiLXByaW1hcnktZmlsbCI+e3sgXCdnYXRld2F5LmhpbnRzLnBhdGgtaW4tb3NcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLmNhLWNlcnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPmdhdGV3YXkuY2xpZW50LWNlcnQtcGF0aDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY2VydGZpbGUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkucHJpdmF0ZS1rZXktcGF0aFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgIDxzcGFuIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCB0cmFuc2xhdGU+Z2F0ZXdheS5wcml2YXRlLWtleS1wYXRoPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJrZXlmaWxlIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5wYXNzd29yZDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJwYXNzd29yZCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0icGFzc3dvcmQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAgYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0IiBtYXRTdWZmaXg+XG4gICAgICAgICAgPHRiLXRvZ2dsZS1wYXNzd29yZCBjbGFzcz0idGItZmxleCBhbGlnbi1jZW50ZXIgZmlsbC1oZWlnaHQiPjwvdGItdG9nZ2xlLXBhc3N3b3JkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPSIhaXNNYXN0ZXIiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBzcGFjZS1iZXR3ZWVuIHRiLWZsZXggZmlsbC13aWR0aCI+XG4gICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci1ob3N0bmFtZTwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJ2ZXJfaG9zdG5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPSJpc01hc3RlciIgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXFjbGljZXJ0Ij5cbiAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgIHt7IFwnZ2F0ZXdheS5yZXF1ZXN0LWNsaWVudC1jZXJ0aWZpY2F0ZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1sYWJlbD5cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRGVmYXVsdFZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sTmFtZV0sdGV4dGFyZWFbZm9ybUNvbnRyb2xOYW1lXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbF0sdGV4dGFyZWFbZm9ybUNvbnRyb2xdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW25nTW9kZWxdLHRleHRhcmVhW25nTW9kZWxdLFtuZ0RlZmF1bHRDb250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp0dC5Ub2dnbGVQYXNzd29yZENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXBhc3N3b3JkIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1IZShbTigpXSxiby5wcm90b3R5cGUsImlzTWFzdGVyIix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Ym8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1zZWN1cml0eS1jb25maWciLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5ibykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+Ym8pKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxELFNhXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciIFtmb3JtR3JvdXBdPSJzZWN1cml0eUNvbmZpZ0Zvcm1Hcm91cCI+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwiPnt7IFwnZ2F0ZXdheS5oaW50cy5wYXRoLWluLW9zXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5jYS1jZXJ0XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgPHNwYW4gdGJUcnVuY2F0ZVdpdGhUb29sdGlwIHRyYW5zbGF0ZT5nYXRld2F5LmNsaWVudC1jZXJ0LXBhdGg8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImNlcnRmaWxlIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LnByaXZhdGUta2V5LXBhdGhcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPmdhdGV3YXkucHJpdmF0ZS1rZXktcGF0aDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ia2V5ZmlsZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IHNwYWNlLWJldHdlZW4gdGItZmxleCBmaWxsLXdpZHRoIj5cbiAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucGFzc3dvcmQ8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBhc3N3b3JkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIGFsaWduLWNlbnRlciBmaWxsLWhlaWdodCIgbWF0U3VmZml4PlxuICAgICAgICAgIDx0Yi10b2dnbGUtcGFzc3dvcmQgY2xhc3M9InRiLWZsZXggYWxpZ24tY2VudGVyIGZpbGwtaGVpZ2h0Ij48L3RiLXRvZ2dsZS1wYXNzd29yZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj0iIWlzTWFzdGVyIiBjbGFzcz0idGItZm9ybS1yb3cgc3BhY2UtYmV0d2VlbiB0Yi1mbGV4IGZpbGwtd2lkdGgiPlxuICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5zZXJ2ZXItaG9zdG5hbWU8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0ic2VydmVyX2hvc3RuYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj0iaXNNYXN0ZXIiIGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmVxY2xpY2VydCI+XG4gICAgICA8bWF0LWxhYmVsPlxuICAgICAgICB7eyBcJ2dhdGV3YXkucmVxdWVzdC1jbGllbnQtY2VydGlmaWNhdGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9tYXQtbGFiZWw+XG4gICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICA8L2Rpdj5cbjwvZGl2PlxuJ31dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTptZS5Gb3JtQnVpbGRlcn0se3R5cGU6dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHByb3BEZWNvcmF0b3JzOntpc01hc3Rlcjpbe3R5cGU6YX1dfX0pO2NsYXNzIGhvIGV4dGVuZHMgUHtjb25zdHJ1Y3RvcihlLHQsbixhLG8pe3N1cGVyKHQsbixvKSx0aGlzLmZiPWUsdGhpcy5zdG9yZT10LHRoaXMucm91dGVyPW4sdGhpcy5kYXRhPWEsdGhpcy5kaWFsb2dSZWY9byx0aGlzLnBvcnRMaW1pdHM9RXQsdGhpcy5tb2RidXNQcm90b2NvbFR5cGVzPU9iamVjdC52YWx1ZXMoSG4pLHRoaXMubW9kYnVzTWV0aG9kVHlwZXM9T2JqZWN0LnZhbHVlcyhXbiksdGhpcy5tb2RidXNTZXJpYWxNZXRob2RUeXBlcz1PYmplY3QudmFsdWVzKGpuKSx0aGlzLm1vZGJ1c1Bhcml0aWVzPU9iamVjdC52YWx1ZXMoWW4pLHRoaXMubW9kYnVzQnl0ZVNpemVzPSRuLHRoaXMubW9kYnVzQmF1ZHJhdGVzPWxhLHRoaXMubW9kYnVzT3JkZXJUeXBlPU9iamVjdC52YWx1ZXMoSm4pLHRoaXMuTW9kYnVzUHJvdG9jb2xUeXBlPUhuLHRoaXMuTW9kYnVzUGFyaXR5TGFiZWxzTWFwPVFuLHRoaXMuTW9kYnVzUHJvdG9jb2xMYWJlbHNNYXA9em4sdGhpcy5Nb2RidXNNZXRob2RMYWJlbHNNYXA9S24sdGhpcy5SZXBvcnRTdHJhdGVneURlZmF1bHRWYWx1ZT1sbix0aGlzLm1vZGJ1c0hlbHBMaW5rPXYrIi9kb2NzL2lvdC1nYXRld2F5L2NvbmZpZy9tb2RidXMvI3NlY3Rpb24tbWFzdGVyLWRlc2NyaXB0aW9uLWFuZC1jb25maWd1cmF0aW9uLXBhcmFtZXRlcnMiLHRoaXMuc2VyaWFsU3BlY2lmaWNDb250cm9sS2V5cz1bInNlcmlhbFBvcnQiLCJiYXVkcmF0ZSIsInN0b3BiaXRzIiwiYnl0ZXNpemUiLCJwYXJpdHkiLCJzdHJpY3QiXSx0aGlzLnRjcFVkcFNwZWNpZmljQ29udHJvbEtleXM9WyJwb3J0Iiwic2VjdXJpdHkiLCJob3N0Il0sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5zaG93U2VjdXJpdHlDb250cm9sPXRoaXMuZmIuY29udHJvbCghMSksdGhpcy5pbml0aWFsaXplU2xhdmVGb3JtR3JvdXAoKSx0aGlzLnVwZGF0ZVNsYXZlRm9ybUdyb3VwKCksdGhpcy51cGRhdGVDb250cm9sc0VuYWJsaW5nKHRoaXMuZGF0YS52YWx1ZS50eXBlKSx0aGlzLm9ic2VydmVUeXBlQ2hhbmdlKCksdGhpcy5vYnNlcnZlU2hvd1NlY3VyaXR5KCksdGhpcy5zaG93U2VjdXJpdHlDb250cm9sLnBhdGNoVmFsdWUoISF0aGlzLmRhdGEudmFsdWUuc2VjdXJpdHkmJiFlZSh0aGlzLmRhdGEudmFsdWUuc2VjdXJpdHkse30pKX1nZXQgcHJvdG9jb2xUeXBlKCl7cmV0dXJuIHRoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWV9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9Y2FuY2VsKCl7dGhpcy5kaWFsb2dSZWYuY2xvc2UobnVsbCl9YWRkKCl7dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC52YWxpZCYmdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5nZXRTbGF2ZVJlc3VsdERhdGEoKSl9aW5pdGlhbGl6ZVNsYXZlRm9ybUdyb3VwKCl7dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cD10aGlzLmZiLmdyb3VwKHt0eXBlOltIbi5UQ1BdLGhvc3Q6WyIiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKGt0KV1dLHBvcnQ6W251bGwsW3VlLnJlcXVpcmVkLHVlLm1pbihFdC5NSU4pLHVlLm1heChFdC5NQVgpXV0sc2VyaWFsUG9ydDpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sbWV0aG9kOltXbi5TT0NLRVQsW3VlLnJlcXVpcmVkXV0sYmF1ZHJhdGU6W3RoaXMubW9kYnVzQmF1ZHJhdGVzWzBdXSxzdG9wYml0czpbMV0sYnl0ZXNpemU6WyRuWzBdXSxwYXJpdHk6W1luLk5vbmVdLHN0cmljdDpbITBdLHVuaXRJZDpbbnVsbCxbdWUucmVxdWlyZWRdXSxkZXZpY2VOYW1lOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxkZXZpY2VUeXBlOlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSx0aW1lb3V0OlszNV0sYnl0ZU9yZGVyOltKbi5CSUddLHdvcmRPcmRlcjpbSm4uQklHXSxyZXRyaWVzOlshMF0scmV0cnlPbkVtcHR5OlshMF0scmV0cnlPbkludmFsaWQ6WyEwXSxwb2xsUGVyaW9kOls1ZTMsW3VlLnJlcXVpcmVkXV0sY29ubmVjdEF0dGVtcHRUaW1lTXM6WzVlMyxbdWUucmVxdWlyZWRdXSxjb25uZWN0QXR0ZW1wdENvdW50Ols1LFt1ZS5yZXF1aXJlZF1dLHdhaXRBZnRlckZhaWxlZEF0dGVtcHRzTXM6WzNlNSxbdWUucmVxdWlyZWRdXSx2YWx1ZXM6W3t9XSxzZWN1cml0eTpbe31dfSksdGhpcy5hZGRGaWVsZHNUb0Zvcm1Hcm91cCgpfXVwZGF0ZVNsYXZlRm9ybUdyb3VwKCl7dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5wYXRjaFZhbHVlKHsuLi50aGlzLmRhdGEudmFsdWUscG9ydDp0aGlzLmRhdGEudmFsdWUudHlwZT09PUhuLlNlcmlhbD9udWxsOnRoaXMuZGF0YS52YWx1ZS5wb3J0LHNlcmlhbFBvcnQ6dGhpcy5kYXRhLnZhbHVlLnR5cGU9PT1Ibi5TZXJpYWw/dGhpcy5kYXRhLnZhbHVlLnBvcnQ6IiIsdmFsdWVzOnthdHRyaWJ1dGVzOnRoaXMuZGF0YS52YWx1ZS5hdHRyaWJ1dGVzPz9bXSx0aW1lc2VyaWVzOnRoaXMuZGF0YS52YWx1ZS50aW1lc2VyaWVzPz9bXSxhdHRyaWJ1dGVVcGRhdGVzOnRoaXMuZGF0YS52YWx1ZS5hdHRyaWJ1dGVVcGRhdGVzPz9bXSxycGM6dGhpcy5kYXRhLnZhbHVlLnJwYz8/W119fSl9b2JzZXJ2ZVR5cGVDaGFuZ2UoKXt0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldCgidHlwZSIpLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLnVwZGF0ZUNvbnRyb2xzRW5hYmxpbmcoZSksdGhpcy51cGRhdGVNZXRob2RUeXBlKGUpfSkpfXVwZGF0ZU1ldGhvZFR5cGUoZSl7dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoIm1ldGhvZCIpLnZhbHVlIT09V24uUlRVJiZ0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldCgibWV0aG9kIikucGF0Y2hWYWx1ZShlPT09SG4uU2VyaWFsP2puLkFTQ0lJOlduLlNPQ0tFVCx7ZW1pdEV2ZW50OiExfSl9dXBkYXRlQ29udHJvbHNFbmFibGluZyhlKXtjb25zdFt0LG5dPWU9PT1Ibi5TZXJpYWw/W3RoaXMuc2VyaWFsU3BlY2lmaWNDb250cm9sS2V5cyx0aGlzLnRjcFVkcFNwZWNpZmljQ29udHJvbEtleXNdOlt0aGlzLnRjcFVkcFNwZWNpZmljQ29udHJvbEtleXMsdGhpcy5zZXJpYWxTcGVjaWZpY0NvbnRyb2xLZXlzXTt0LmZvckVhY2goKGU9PnRoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KGUpPy5lbmFibGUoe2VtaXRFdmVudDohMX0pKSksbi5mb3JFYWNoKChlPT50aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChlKT8uZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpKSx0aGlzLnVwZGF0ZVNlY3VyaXR5RW5hYmxpbmcodGhpcy5zaG93U2VjdXJpdHlDb250cm9sLnZhbHVlKX1vYnNlcnZlU2hvd1NlY3VyaXR5KCl7dGhpcy5zaG93U2VjdXJpdHlDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9PnRoaXMudXBkYXRlU2VjdXJpdHlFbmFibGluZyhlKSkpfXVwZGF0ZVNlY3VyaXR5RW5hYmxpbmcoZSl7ZSYmdGhpcy5wcm90b2NvbFR5cGUhPT1Ibi5TZXJpYWw/dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoInNlY3VyaXR5IikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KTp0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldCgic2VjdXJpdHkiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmhvLGRlcHM6W3t0b2tlbjptZS5Gb3JtQnVpbGRlcn0se3Rva2VuOm90LlN0b3JlfSx7dG9rZW46aXQuUm91dGVyfSx7dG9rZW46WGV9LHt0b2tlbjpKZS5NYXREaWFsb2dSZWZ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5EaXJlY3RpdmV9KX1zdGF0aWN7dGhpcy7JtWRpcj10Lsm1ybVuZ0RlY2xhcmVEaXJlY3RpdmUoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOmhvLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0fSl9fWUoIk1vZGJ1c1NsYXZlRGlhbG9nQWJzdHJhY3QiLGhvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmhvLGRlY29yYXRvcnM6W3t0eXBlOnN9XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTpvdC5TdG9yZX0se3R5cGU6aXQuUm91dGVyfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6cCxhcmdzOltYZV19XX0se3R5cGU6SmUuTWF0RGlhbG9nUmVmfV19KTtjbGFzcyB4byBleHRlbmRzIGhve2NvbnN0cnVjdG9yKGUsdCxuLGEsbyl7c3VwZXIoZSx0LG4sYSxvKSx0aGlzLmZiPWUsdGhpcy5zdG9yZT10LHRoaXMucm91dGVyPW4sdGhpcy5kYXRhPWEsdGhpcy5kaWFsb2dSZWY9b31nZXRTbGF2ZVJlc3VsdERhdGEoKXtjb25zdHt2YWx1ZXM6ZSx0eXBlOnQsc2VyaWFsUG9ydDpuLC4uLmF9PXRoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAudmFsdWUsbz17Li4uYSx0eXBlOnQsLi4uZX07cmV0dXJuIHQ9PT1Ibi5TZXJpYWwmJihvLnBvcnQ9biksby5yZXBvcnRTdHJhdGVneXx8ZGVsZXRlIG8ucmVwb3J0U3RyYXRlZ3ksb31hZGRGaWVsZHNUb0Zvcm1Hcm91cCgpe3RoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuYWRkQ29udHJvbCgicmVwb3J0U3RyYXRlZ3kiLHRoaXMuZmIuY29udHJvbChudWxsKSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTp4byxkZXBzOlt7dG9rZW46bWUuRm9ybUJ1aWxkZXJ9LHt0b2tlbjpvdC5TdG9yZX0se3Rva2VuOml0LlJvdXRlcn0se3Rva2VuOlhlfSx7dG9rZW46SmUuTWF0RGlhbG9nUmVmfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTp4byxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1vZGJ1cy1zbGF2ZS1kaWFsb2ciLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0ic2xhdmVzLWNvbmZpZy1jb250YWluZXIiPlxuICA8bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICAgIDxoMj57eyBcJ2dhdGV3YXkuc2VydmVyLXNsYXZlXCcgfCB0cmFuc2xhdGUgfX08L2gyPlxuICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgPGRpdiBbdGItaGVscF09Im1vZGJ1c0hlbHBMaW5rIj48L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L21hdC10b29sYmFyPlxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBbZm9ybUdyb3VwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIj5cbiAgICA8ZGl2IGNsYXNzPSJzdHJva2VkIHRiLWZvcm0tcGFuZWwiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggcm93IHNwYWNlLWJldHdlZW4gYWxpZ24tY2VudGVyIG5vLWdhcCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuc2VydmVyLWNvbm5lY3Rpb248L2Rpdj5cbiAgICAgICAgICA8dGItdG9nZ2xlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiIGFwcGVhcmFuY2U9ImZpbGwiPlxuICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBtb2RidXNQcm90b2NvbFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj57eyBNb2RidXNQcm90b2NvbExhYmVsc01hcC5nZXQodHlwZSkgfX08L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyJcbiAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ob3N0XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5Lmhvc3Q8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iaG9zdCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuaG9zdC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIGVsc2Ugc2VyaWFsUG9ydCJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiXG4gICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSJ7e3BvcnRMaW1pdHMuTUlOfX0iIG1heD0ie3twb3J0TGltaXRzLk1BWH19IlxuICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKSB8IGdldEdhdGV3YXlQb3J0VG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ21pblwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2VyaWFsUG9ydD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc2VyaWFsLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucG9ydDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJpYWxQb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkucG9ydC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzZXJpYWxQb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2VyaWFsUG9ydFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmZyYW1lci10eXBlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5tZXRob2RcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwgPyBtb2RidXNTZXJpYWxNZXRob2RUeXBlcyA6IG1vZGJ1c01ldGhvZFR5cGVzIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT0ibWV0aG9kIj57eyBNb2RidXNNZXRob2RMYWJlbHNNYXAuZ2V0KG1ldGhvZCkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJhdWRyYXRlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJhdWRyYXRlPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJiYXVkcmF0ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCByYXRlIG9mIG1vZGJ1c0JhdWRyYXRlcyIgW3ZhbHVlXT0icmF0ZSI+e3sgcmF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ieXRlc2l6ZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlc2l6ZTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYnl0ZXNpemUiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgc2l6ZSBvZiBtb2RidXNCeXRlU2l6ZXMiIFt2YWx1ZV09InNpemUiPnt7IHNpemUgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc3RvcGJpdHNcJyB8IHRyYW5zbGF0ZSB9fSIgIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3BiaXRzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzdG9wYml0cyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucGFyaXR5XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnBhcml0eTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icGFyaXR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHBhcml0eSBvZiBtb2RidXNQYXJpdGllcyIgW3ZhbHVlXT0icGFyaXR5Ij57eyBNb2RidXNQYXJpdHlMYWJlbHNNYXAuZ2V0KHBhcml0eSkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic3RyaWN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5zdHJpY3RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0cmljdFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLnVuaXQtaWRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkudW5pdC1pZDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idW5pdElkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudW5pdC1pZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCd1bml0SWRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1uYW1lPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2UtbmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLXByb2ZpbGU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlVHlwZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1wcm9maWxlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9ImRhdGEuaGlkZU5ld0ZpZWxkcyBlbHNlIHJlcG9ydFN0cmF0ZWd5IiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InNlbmREYXRhT25seU9uQ2hhbmdlIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWRhdGEtb24tY2hhbmdlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcmVwb3J0U3RyYXRlZ3k+XG4gICAgICAgICAgPHRiLXJlcG9ydC1zdHJhdGVneSBbZGVmYXVsdFZhbHVlXT0iUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWUuRGV2aWNlIiBmb3JtQ29udHJvbE5hbWU9InJlcG9ydFN0cmF0ZWd5IiBbaXNFeHBhbnNpb25Nb2RlXT0idHJ1ZSIvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuYWR2YW5jZWQtY29ubmVjdGlvbi1zZXR0aW5nczwvZGl2PlxuICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3Rpb24tdGltZW91dFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0aW9uLXRpbWVvdXQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRpbWVvdXQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuYnl0ZS1vcmRlclwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlLW9yZGVyPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJieXRlT3JkZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndvcmQtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud29yZC1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0id29yZE9yZGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBvcmRlciBvZiBtb2RidXNPcmRlclR5cGUiIFt2YWx1ZV09Im9yZGVyIj57eyBvcmRlciB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCB0Yi1zbGlkZS10b2dnbGUiPlxuICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ic2hvd1NlY3VyaXR5Q29udHJvbC52YWx1ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmeExheW91dEFsaWduPSJjZW50ZXIiIFtmb3JtQ29udHJvbF09InNob3dTZWN1cml0eUNvbnRyb2wiIGNsYXNzPSJtYXQtc2xpZGUiIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGxzLWNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICA8dGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZyBjbGFzcz0ic2VjdXJpdHktY29uZmlnIiBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5Ij48L3RiLW1vZGJ1cy1zZWN1cml0eS1jb25maWc+XG4gICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJpZXMiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5yZXRyaWVzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllc1wnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmV0cnlPbkVtcHR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1lbXB0eVwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJldHJpZXMtb24tZW1wdHlcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJ5T25JbnZhbGlkIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoLTI2MCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICBnYXRld2F5LnBvbGwtcGVyaW9kXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb2xsUGVyaW9kIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgtMjYwIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5jb25uZWN0LWF0dGVtcHQtdGltZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtdGltZTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY29ubmVjdEF0dGVtcHRUaW1lTXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3QtYXR0ZW1wdC1jb3VudFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtY291bnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImNvbm5lY3RBdHRlbXB0Q291bnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ3YWl0QWZ0ZXJGYWlsZWRBdHRlbXB0c01zIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgPHRiLW1vZGJ1cy12YWx1ZXMgW3NpbmdsZU1vZGVdPSJ0cnVlIiBbaGlkZU5ld0ZpZWxkc109ImRhdGEuaGlkZU5ld0ZpZWxkcyIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZXMiPjwvdGItbW9kYnVzLXZhbHVlcz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIGNka0ZvY3VzSW5pdGlhbFxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0iYWRkKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5pbnZhbGlkIHx8ICFzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5kaXJ0eSI+XG4gICAgICB7eyBkYXRhLmJ1dHRvblRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnNsYXZlcy1jb25maWctY29udGFpbmVye3dpZHRoOjgwdnc7bWF4LXdpZHRoOjkwMHB4fTpob3N0IC5zbGF2ZS1uYW1lLWxhYmVse21hcmdpbi1yaWdodDoxNnB4O2NvbG9yOiMwMDAwMDBkZX06aG9zdCAuZml4ZWQtdGl0bGUtd2lkdGgtMjYwe21pbi13aWR0aDoyNjBweH06aG9zdCA6Om5nLWRlZXAgLnNlY3VyaXR5LWNvbmZpZyAuZml4ZWQtdGl0bGUtd2lkdGh7bWluLXdpZHRoOjIzMHB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmR0LkhlbHBDb21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oZWxwXSIsaW5wdXRzOlsidGItaGVscCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpKZS5NYXREaWFsb2dBY3Rpb25zLHNlbGVjdG9yOiJbbWF0LWRpYWxvZy1hY3Rpb25zXSwgbWF0LWRpYWxvZy1hY3Rpb25zLCBbbWF0RGlhbG9nQWN0aW9uc10iLGlucHV0czpbImFsaWduIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQ29udGVudCxzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWwsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwiLGlucHV0czpbImhpZGVUb2dnbGUiLCJ0b2dnbGVQb3NpdGlvbiJdLG91dHB1dHM6WyJhZnRlckV4cGFuZCIsImFmdGVyQ29sbGFwc2UiXSxleHBvcnRBczpbIm1hdEV4cGFuc2lvblBhbmVsIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIixpbnB1dHM6WyJleHBhbmRlZEhlaWdodCIsImNvbGxhcHNlZEhlaWdodCIsInRhYkluZGV4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxUaXRsZSxzZWxlY3RvcjoibWF0LXBhbmVsLXRpdGxlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OdW1iZXJWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVtuZ01vZGVsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1pblZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLGlucHV0czpbIm1pbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1heFZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21heF1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21heF1bbmdNb2RlbF0iLGlucHV0czpbIm1heCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WWUuVHJ1bmNhdGVXaXRoVG9vbHRpcERpcmVjdGl2ZSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bnQuVG9nZ2xlT3B0aW9uLHNlbGVjdG9yOiJ0Yi10b2dnbGUtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmF0LlRvZ2dsZVNlbGVjdENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXNlbGVjdCIsaW5wdXRzOlsiZGlzYWJsZWQiLCJzZWxlY3RNZWRpYUJyZWFrcG9pbnQiLCJhcHBlYXJhbmNlIiwiZGlzYWJsZVBhZ2luYXRpb24iLCJmaWxsSGVpZ2h0IiwiZXh0cmFQYWRkaW5nIiwicHJpbWFyeUJhY2tncm91bmQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp5byxzZWxlY3RvcjoidGItbW9kYnVzLXZhbHVlcyIsaW5wdXRzOlsic2luZ2xlTW9kZSIsImhpZGVOZXdGaWVsZHMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpibyxzZWxlY3RvcjoidGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZyIsaW5wdXRzOlsiaXNNYXN0ZXIiXX0se2tpbmQ6InBpcGUiLHR5cGU6d2EsbmFtZToiZ2V0R2F0ZXdheVBvcnRUb29sdGlwIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpnbyxzZWxlY3RvcjoidGItcmVwb3J0LXN0cmF0ZWd5IixpbnB1dHM6WyJpc0V4cGFuc2lvbk1vZGUiLCJkZWZhdWx0VmFsdWUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJNb2RidXNTbGF2ZURpYWxvZ0NvbXBvbmVudCIseG8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6eG8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1zbGF2ZS1kaWFsb2ciLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxzdGFuZGFsb25lOiEwLGltcG9ydHM6W0gsRCx5byxibyx3YSxnbyxTYV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJzbGF2ZXMtY29uZmlnLWNvbnRhaW5lciI+XG4gIDxtYXQtdG9vbGJhciBjb2xvcj0icHJpbWFyeSI+XG4gICAgPGgyPnt7IFwnZ2F0ZXdheS5zZXJ2ZXItc2xhdmVcJyB8IHRyYW5zbGF0ZSB9fTwvaDI+XG4gICAgPHNwYW4gZnhGbGV4Pjwvc3Bhbj5cbiAgICA8ZGl2IFt0Yi1oZWxwXT0ibW9kYnVzSGVscExpbmsiPjwvZGl2PlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvbWF0LXRvb2xiYXI+XG4gIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50IFtmb3JtR3JvdXBdPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cCIgY2xhc3M9InRiLWZvcm0tcGFuZWwiPlxuICAgIDxkaXYgY2xhc3M9InN0cm9rZWQgdGItZm9ybS1wYW5lbCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCByb3cgc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIgbm8tZ2FwIGZpbGwtd2lkdGgiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5zZXJ2ZXItY29ubmVjdGlvbjwvZGl2PlxuICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCB0eXBlIG9mIG1vZGJ1c1Byb3RvY29sVHlwZXMiIFt2YWx1ZV09InR5cGUiPnt7IE1vZGJ1c1Byb3RvY29sTGFiZWxzTWFwLmdldCh0eXBlKSB9fTwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPSJwcm90b2NvbFR5cGUgIT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwiXG4gICAgICAgICAgICAgICBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIlxuICAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmhvc3RcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuaG9zdDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJob3N0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5ob3N0LXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPSJwcm90b2NvbFR5cGUgIT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwgZWxzZSBzZXJpYWxQb3J0IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyJcbiAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5wb3J0XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnBvcnQ8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49Int7cG9ydExpbWl0cy5NSU59fSIgbWF4PSJ7e3BvcnRMaW1pdHMuTUFYfX0iXG4gICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvcnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpIHwgZ2V0R2F0ZXdheVBvcnRUb29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iKHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykuaGFzRXJyb3IoXCdtYXhcJykpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNzZXJpYWxQb3J0PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5zZXJpYWwtcG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InNlcmlhbFBvcnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IlwnZ2F0ZXdheS5wb3J0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3NlcmlhbFBvcnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzZXJpYWxQb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuZnJhbWVyLXR5cGVcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICBnYXRld2F5Lm1ldGhvZFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbWV0aG9kIG9mIHByb3RvY29sVHlwZSA9PT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCA/IG1vZGJ1c1NlcmlhbE1ldGhvZFR5cGVzIDogbW9kYnVzTWV0aG9kVHlwZXMiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPSJtZXRob2QiPnt7IE1vZGJ1c01ldGhvZExhYmVsc01hcC5nZXQobWV0aG9kKSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9InByb3RvY29sVHlwZSA9PT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuYmF1ZHJhdGVcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuYmF1ZHJhdGU8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImJhdWRyYXRlIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHJhdGUgb2YgbW9kYnVzQmF1ZHJhdGVzIiBbdmFsdWVdPSJyYXRlIj57eyByYXRlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJ5dGVzaXplXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJ5dGVzaXplPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJieXRlc2l6ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBzaXplIG9mIG1vZGJ1c0J5dGVTaXplcyIgW3ZhbHVlXT0ic2l6ZSI+e3sgc2l6ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5zdG9wYml0c1wnIHwgdHJhbnNsYXRlIH19IiAgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcGJpdHM8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InN0b3BiaXRzIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5wYXJpdHlcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucGFyaXR5PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJwYXJpdHkiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgcGFyaXR5IG9mIG1vZGJ1c1Bhcml0aWVzIiBbdmFsdWVdPSJwYXJpdHkiPnt7IE1vZGJ1c1Bhcml0eUxhYmVsc01hcC5nZXQocGFyaXR5KSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJzdHJpY3QiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLnN0cmljdFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RyaWN0XCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMudW5pdC1pZFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS51bml0LWlkPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ1bml0SWQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS51bml0LWlkLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwndW5pdElkXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLW5hbWU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1uYW1lLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5kZXZpY2UtcHJvZmlsZTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJkZXZpY2VUeXBlIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLXByb2ZpbGUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlVHlwZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnZGV2aWNlVHlwZVwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj0iZGF0YS5oaWRlTmV3RmllbGRzIGVsc2UgcmVwb3J0U3RyYXRlZ3kiIGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic2VuZERhdGFPbmx5T25DaGFuZ2UiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnNlbmQtZGF0YS1vbi1jaGFuZ2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNyZXBvcnRTdHJhdGVneT5cbiAgICAgICAgICA8dGItcmVwb3J0LXN0cmF0ZWd5IFtkZWZhdWx0VmFsdWVdPSJSZXBvcnRTdHJhdGVneURlZmF1bHRWYWx1ZS5EZXZpY2UiIGZvcm1Db250cm9sTmFtZT0icmVwb3J0U3RyYXRlZ3kiIFtpc0V4cGFuc2lvbk1vZGVdPSJ0cnVlIi8+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIj5cbiAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5hZHZhbmNlZC1jb25uZWN0aW9uLXNldHRpbmdzPC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuY29ubmVjdGlvbi10aW1lb3V0XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmNvbm5lY3Rpb24tdGltZW91dDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idGltZW91dCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ieXRlLW9yZGVyXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJ5dGUtb3JkZXI8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImJ5dGVPcmRlciI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgb3JkZXIgb2YgbW9kYnVzT3JkZXJUeXBlIiBbdmFsdWVdPSJvcmRlciI+e3sgb3JkZXIgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMud29yZC1vcmRlclwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS53b3JkLW9yZGVyPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJ3b3JkT3JkZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIHRiLXNsaWRlLXRvZ2dsZSI+XG4gICAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJzaG93U2VjdXJpdHlDb250cm9sLnZhbHVlIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciBmeExheW91dD0icm93IHdyYXAiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZ4TGF5b3V0QWxpZ249ImNlbnRlciIgW2Zvcm1Db250cm9sXT0ic2hvd1NlY3VyaXR5Q29udHJvbCIgY2xhc3M9Im1hdC1zbGlkZSIgKGNsaWNrKT0iJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50bHMtY29ubmVjdGlvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1tb2RidXMtc2VjdXJpdHktY29uZmlnIGNsYXNzPSJzZWN1cml0eS1jb25maWciIGZvcm1Db250cm9sTmFtZT0ic2VjdXJpdHkiPjwvdGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZz5cbiAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmV0cmllcyI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLnJldHJpZXNcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5yZXRyaWVzXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJyZXRyeU9uRW1wdHkiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5yZXRyaWVzLW9uLWVtcHR5XCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllcy1vbi1lbXB0eVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmV0cnlPbkludmFsaWQiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5yZXRyaWVzLW9uLWludmFsaWRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5yZXRyaWVzLW9uLWludmFsaWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgtMjYwIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5wb2xsLXBlcmlvZFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgICAgIGdhdGV3YXkucG9sbC1wZXJpb2RcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvbGxQZXJpb2QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3QtYXR0ZW1wdC10aW1lXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmNvbm5lY3QtYXR0ZW1wdC10aW1lPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJjb25uZWN0QXR0ZW1wdFRpbWVNcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoLTI2MCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuY29ubmVjdC1hdHRlbXB0LWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmNvbm5lY3QtYXR0ZW1wdC1jb3VudDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY29ubmVjdEF0dGVtcHRDb3VudCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoLTI2MCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMud2FpdC1hZnRlci1mYWlsZWQtYXR0ZW1wdHNcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud2FpdC1hZnRlci1mYWlsZWQtYXR0ZW1wdHM8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9IndhaXRBZnRlckZhaWxlZEF0dGVtcHRzTXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICAgICAgICA8dGItbW9kYnVzLXZhbHVlcyBbc2luZ2xlTW9kZV09InRydWUiIFtoaWRlTmV3RmllbGRzXT0iZGF0YS5oaWRlTmV3RmllbGRzIiBmb3JtQ29udHJvbE5hbWU9InZhbHVlcyI+PC90Yi1tb2RidXMtdmFsdWVzPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj0iZW5kIGNlbnRlciI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgICAoY2xpY2spPSJjYW5jZWwoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5jYW5jZWxcJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICAoY2xpY2spPSJhZGQoKSJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09InNsYXZlQ29uZmlnRm9ybUdyb3VwLmludmFsaWQgfHwgIXNsYXZlQ29uZmlnRm9ybUdyb3VwLmRpcnR5Ij5cbiAgICAgIHt7IGRhdGEuYnV0dG9uVGl0bGUgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdCAuc2xhdmVzLWNvbmZpZy1jb250YWluZXJ7d2lkdGg6ODB2dzttYXgtd2lkdGg6OTAwcHh9Omhvc3QgLnNsYXZlLW5hbWUtbGFiZWx7bWFyZ2luLXJpZ2h0OjE2cHg7Y29sb3I6IzAwMDAwMGRlfTpob3N0IC5maXhlZC10aXRsZS13aWR0aC0yNjB7bWluLXdpZHRoOjI2MHB4fTpob3N0IDo6bmctZGVlcCAuc2VjdXJpdHktY29uZmlnIC5maXhlZC10aXRsZS13aWR0aHttaW4td2lkdGg6MjMwcHh9XG4nXX1dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTptZS5Gb3JtQnVpbGRlcn0se3R5cGU6b3QuU3RvcmV9LHt0eXBlOml0LlJvdXRlcn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOnAsYXJnczpbWGVdfV19LHt0eXBlOkplLk1hdERpYWxvZ1JlZn1dfSk7Y2xhc3Mgdm8gZXh0ZW5kcyBob3tjb25zdHJ1Y3RvcihlLHQsbixhLG8pe3N1cGVyKGUsdCxuLGEsbyksdGhpcy5mYj1lLHRoaXMuc3RvcmU9dCx0aGlzLnJvdXRlcj1uLHRoaXMuZGF0YT1hLHRoaXMuZGlhbG9nUmVmPW99Z2V0U2xhdmVSZXN1bHREYXRhKCl7Y29uc3R7dmFsdWVzOmUsdHlwZTp0LHNlcmlhbFBvcnQ6biwuLi5hfT10aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLnZhbHVlLG89ey4uLmEsdHlwZTp0LC4uLmV9O3JldHVybiB0PT09SG4uU2VyaWFsJiYoby5wb3J0PW4pLG99YWRkRmllbGRzVG9Gb3JtR3JvdXAoKXt0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmFkZENvbnRyb2woInNlbmREYXRhT25seU9uQ2hhbmdlIix0aGlzLmZiLmNvbnRyb2woITEpKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOnZvLGRlcHM6W3t0b2tlbjptZS5Gb3JtQnVpbGRlcn0se3Rva2VuOm90LlN0b3JlfSx7dG9rZW46aXQuUm91dGVyfSx7dG9rZW46WGV9LHt0b2tlbjpKZS5NYXREaWFsb2dSZWZ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOnZvLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItbW9kYnVzLWxlZ2FjeS1zbGF2ZS1kaWFsb2ciLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0ic2xhdmVzLWNvbmZpZy1jb250YWluZXIiPlxuICA8bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICAgIDxoMj57eyBcJ2dhdGV3YXkuc2VydmVyLXNsYXZlXCcgfCB0cmFuc2xhdGUgfX08L2gyPlxuICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgPGRpdiBbdGItaGVscF09Im1vZGJ1c0hlbHBMaW5rIj48L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L21hdC10b29sYmFyPlxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBbZm9ybUdyb3VwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIj5cbiAgICA8ZGl2IGNsYXNzPSJzdHJva2VkIHRiLWZvcm0tcGFuZWwiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggcm93IHNwYWNlLWJldHdlZW4gYWxpZ24tY2VudGVyIG5vLWdhcCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuc2VydmVyLWNvbm5lY3Rpb248L2Rpdj5cbiAgICAgICAgICA8dGItdG9nZ2xlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiIGFwcGVhcmFuY2U9ImZpbGwiPlxuICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBtb2RidXNQcm90b2NvbFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj57eyBNb2RidXNQcm90b2NvbExhYmVsc01hcC5nZXQodHlwZSkgfX08L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyJcbiAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ob3N0XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5Lmhvc3Q8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iaG9zdCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuaG9zdC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIGVsc2Ugc2VyaWFsUG9ydCJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiXG4gICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSJ7e3BvcnRMaW1pdHMuTUlOfX0iIG1heD0ie3twb3J0TGltaXRzLk1BWH19IlxuICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKSB8IGdldEdhdGV3YXlQb3J0VG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ21pblwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2VyaWFsUG9ydD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc2VyaWFsLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucG9ydDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJpYWxQb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkucG9ydC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzZXJpYWxQb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2VyaWFsUG9ydFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmZyYW1lci10eXBlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5tZXRob2RcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwgPyBtb2RidXNTZXJpYWxNZXRob2RUeXBlcyA6IG1vZGJ1c01ldGhvZFR5cGVzIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT0ibWV0aG9kIj57eyBNb2RidXNNZXRob2RMYWJlbHNNYXAuZ2V0KG1ldGhvZCkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJhdWRyYXRlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJhdWRyYXRlPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJiYXVkcmF0ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCByYXRlIG9mIG1vZGJ1c0JhdWRyYXRlcyIgW3ZhbHVlXT0icmF0ZSI+e3sgcmF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ieXRlc2l6ZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlc2l6ZTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYnl0ZXNpemUiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgc2l6ZSBvZiBtb2RidXNCeXRlU2l6ZXMiIFt2YWx1ZV09InNpemUiPnt7IHNpemUgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc3RvcGJpdHNcJyB8IHRyYW5zbGF0ZSB9fSIgIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3BiaXRzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzdG9wYml0cyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucGFyaXR5XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnBhcml0eTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icGFyaXR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHBhcml0eSBvZiBtb2RidXNQYXJpdGllcyIgW3ZhbHVlXT0icGFyaXR5Ij57eyBNb2RidXNQYXJpdHlMYWJlbHNNYXAuZ2V0KHBhcml0eSkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic3RyaWN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5zdHJpY3RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0cmljdFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLnVuaXQtaWRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkudW5pdC1pZDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idW5pdElkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudW5pdC1pZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCd1bml0SWRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1uYW1lPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2UtbmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLXByb2ZpbGU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlVHlwZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1wcm9maWxlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9ImRhdGEuaGlkZU5ld0ZpZWxkcyBlbHNlIHJlcG9ydFN0cmF0ZWd5IiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InNlbmREYXRhT25seU9uQ2hhbmdlIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWRhdGEtb24tY2hhbmdlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcmVwb3J0U3RyYXRlZ3k+XG4gICAgICAgICAgPHRiLXJlcG9ydC1zdHJhdGVneSBbZGVmYXVsdFZhbHVlXT0iUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWUuRGV2aWNlIiBmb3JtQ29udHJvbE5hbWU9InJlcG9ydFN0cmF0ZWd5IiBbaXNFeHBhbnNpb25Nb2RlXT0idHJ1ZSIvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuYWR2YW5jZWQtY29ubmVjdGlvbi1zZXR0aW5nczwvZGl2PlxuICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3Rpb24tdGltZW91dFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0aW9uLXRpbWVvdXQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRpbWVvdXQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuYnl0ZS1vcmRlclwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlLW9yZGVyPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJieXRlT3JkZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndvcmQtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud29yZC1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0id29yZE9yZGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBvcmRlciBvZiBtb2RidXNPcmRlclR5cGUiIFt2YWx1ZV09Im9yZGVyIj57eyBvcmRlciB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCB0Yi1zbGlkZS10b2dnbGUiPlxuICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ic2hvd1NlY3VyaXR5Q29udHJvbC52YWx1ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmeExheW91dEFsaWduPSJjZW50ZXIiIFtmb3JtQ29udHJvbF09InNob3dTZWN1cml0eUNvbnRyb2wiIGNsYXNzPSJtYXQtc2xpZGUiIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGxzLWNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICA8dGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZyBjbGFzcz0ic2VjdXJpdHktY29uZmlnIiBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5Ij48L3RiLW1vZGJ1cy1zZWN1cml0eS1jb25maWc+XG4gICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJpZXMiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5yZXRyaWVzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllc1wnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmV0cnlPbkVtcHR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1lbXB0eVwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJldHJpZXMtb24tZW1wdHlcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJ5T25JbnZhbGlkIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoLTI2MCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICBnYXRld2F5LnBvbGwtcGVyaW9kXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb2xsUGVyaW9kIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgtMjYwIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5jb25uZWN0LWF0dGVtcHQtdGltZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtdGltZTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY29ubmVjdEF0dGVtcHRUaW1lTXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3QtYXR0ZW1wdC1jb3VudFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtY291bnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImNvbm5lY3RBdHRlbXB0Q291bnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ3YWl0QWZ0ZXJGYWlsZWRBdHRlbXB0c01zIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgPHRiLW1vZGJ1cy12YWx1ZXMgW3NpbmdsZU1vZGVdPSJ0cnVlIiBbaGlkZU5ld0ZpZWxkc109ImRhdGEuaGlkZU5ld0ZpZWxkcyIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZXMiPjwvdGItbW9kYnVzLXZhbHVlcz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIGNka0ZvY3VzSW5pdGlhbFxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0iYWRkKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5pbnZhbGlkIHx8ICFzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5kaXJ0eSI+XG4gICAgICB7eyBkYXRhLmJ1dHRvblRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnNsYXZlcy1jb25maWctY29udGFpbmVye3dpZHRoOjgwdnc7bWF4LXdpZHRoOjkwMHB4fTpob3N0IC5zbGF2ZS1uYW1lLWxhYmVse21hcmdpbi1yaWdodDoxNnB4O2NvbG9yOiMwMDAwMDBkZX06aG9zdCAuZml4ZWQtdGl0bGUtd2lkdGgtMjYwe21pbi13aWR0aDoyNjBweH06aG9zdCA6Om5nLWRlZXAgLnNlY3VyaXR5LWNvbmZpZyAuZml4ZWQtdGl0bGUtd2lkdGh7bWluLXdpZHRoOjIzMHB4fVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nRm9yT2Ysc2VsZWN0b3I6IltuZ0Zvcl1bbmdGb3JPZl0iLGlucHV0czpbIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiLCJuZ0ZvclRlbXBsYXRlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ0lmLHNlbGVjdG9yOiJbbmdJZl0iLGlucHV0czpbIm5nSWYiLCJuZ0lmVGhlbiIsIm5nSWZFbHNlIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmR0LkhlbHBDb21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oZWxwXSIsaW5wdXRzOlsidGItaGVscCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEJ1dHRvbixzZWxlY3RvcjoiICAgIGJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0sICAgIGJ1dHRvblttYXQtc3Ryb2tlZC1idXR0b25dICAiLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0SWNvbkJ1dHRvbixzZWxlY3RvcjoiYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpKZS5NYXREaWFsb2dBY3Rpb25zLHNlbGVjdG9yOiJbbWF0LWRpYWxvZy1hY3Rpb25zXSwgbWF0LWRpYWxvZy1hY3Rpb25zLCBbbWF0RGlhbG9nQWN0aW9uc10iLGlucHV0czpbImFsaWduIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQ29udGVudCxzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWwsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwiLGlucHV0czpbImhpZGVUb2dnbGUiLCJ0b2dnbGVQb3NpdGlvbiJdLG91dHB1dHM6WyJhZnRlckV4cGFuZCIsImFmdGVyQ29sbGFwc2UiXSxleHBvcnRBczpbIm1hdEV4cGFuc2lvblBhbmVsIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIixpbnB1dHM6WyJleHBhbmRlZEhlaWdodCIsImNvbGxhcHNlZEhlaWdodCIsInRhYkluZGV4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxUaXRsZSxzZWxlY3RvcjoibWF0LXBhbmVsLXRpdGxlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdEZsZXhEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4RmxleF0sIFtmeEZsZXgueHNdLCBbZnhGbGV4LnNtXSwgW2Z4RmxleC5tZF0sICBbZnhGbGV4LmxnXSwgW2Z4RmxleC54bF0sIFtmeEZsZXgubHQtc21dLCBbZnhGbGV4Lmx0LW1kXSwgIFtmeEZsZXgubHQtbGddLCBbZnhGbGV4Lmx0LXhsXSwgW2Z4RmxleC5ndC14c10sIFtmeEZsZXguZ3Qtc21dLCAgW2Z4RmxleC5ndC1tZF0sIFtmeEZsZXguZ3QtbGddIixpbnB1dHM6WyJmeEZsZXgiLCJmeEZsZXgueHMiLCJmeEZsZXguc20iLCJmeEZsZXgubWQiLCJmeEZsZXgubGciLCJmeEZsZXgueGwiLCJmeEZsZXgubHQtc20iLCJmeEZsZXgubHQtbWQiLCJmeEZsZXgubHQtbGciLCJmeEZsZXgubHQteGwiLCJmeEZsZXguZ3QteHMiLCJmeEZsZXguZ3Qtc20iLCJmeEZsZXguZ3QtbWQiLCJmeEZsZXguZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5EZWZhdWx0VmFsdWVBY2Nlc3NvcixzZWxlY3RvcjoiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xOYW1lXSx0ZXh0YXJlYVtmb3JtQ29udHJvbE5hbWVdLGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pW2Zvcm1Db250cm9sXSx0ZXh0YXJlYVtmb3JtQ29udHJvbF0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbbmdNb2RlbF0sdGV4dGFyZWFbbmdNb2RlbF0sW25nRGVmYXVsdENvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OdW1iZXJWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVtuZ01vZGVsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1pblZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLGlucHV0czpbIm1pbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk1heFZhbGlkYXRvcixzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21heF1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21heF1bbmdNb2RlbF0iLGlucHV0czpbIm1heCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WWUuVHJ1bmNhdGVXaXRoVG9vbHRpcERpcmVjdGl2ZSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bnQuVG9nZ2xlT3B0aW9uLHNlbGVjdG9yOiJ0Yi10b2dnbGUtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmF0LlRvZ2dsZVNlbGVjdENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXNlbGVjdCIsaW5wdXRzOlsiZGlzYWJsZWQiLCJzZWxlY3RNZWRpYUJyZWFrcG9pbnQiLCJhcHBlYXJhbmNlIiwiZGlzYWJsZVBhZ2luYXRpb24iLCJmaWxsSGVpZ2h0IiwiZXh0cmFQYWRkaW5nIiwicHJpbWFyeUJhY2tncm91bmQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp5byxzZWxlY3RvcjoidGItbW9kYnVzLXZhbHVlcyIsaW5wdXRzOlsic2luZ2xlTW9kZSIsImhpZGVOZXdGaWVsZHMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpibyxzZWxlY3RvcjoidGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZyIsaW5wdXRzOlsiaXNNYXN0ZXIiXX0se2tpbmQ6InBpcGUiLHR5cGU6d2EsbmFtZToiZ2V0R2F0ZXdheVBvcnRUb29sdGlwIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpnbyxzZWxlY3RvcjoidGItcmVwb3J0LXN0cmF0ZWd5IixpbnB1dHM6WyJpc0V4cGFuc2lvbk1vZGUiLCJkZWZhdWx0VmFsdWUiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJNb2RidXNMZWdhY3lTbGF2ZURpYWxvZ0NvbXBvbmVudCIsdm8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6dm8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1sZWdhY3ktc2xhdmUtZGlhbG9nIixjaGFuZ2VEZXRlY3Rpb246ZC5PblB1c2gsc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQseW8sYm8sd2EsZ29dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0ic2xhdmVzLWNvbmZpZy1jb250YWluZXIiPlxuICA8bWF0LXRvb2xiYXIgY29sb3I9InByaW1hcnkiPlxuICAgIDxoMj57eyBcJ2dhdGV3YXkuc2VydmVyLXNsYXZlXCcgfCB0cmFuc2xhdGUgfX08L2gyPlxuICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgPGRpdiBbdGItaGVscF09Im1vZGJ1c0hlbHBMaW5rIj48L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXRlcmlhbC1pY29ucyI+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L21hdC10b29sYmFyPlxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBbZm9ybUdyb3VwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIj5cbiAgICA8ZGl2IGNsYXNzPSJzdHJva2VkIHRiLWZvcm0tcGFuZWwiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggcm93IHNwYWNlLWJldHdlZW4gYWxpZ24tY2VudGVyIG5vLWdhcCBmaWxsLXdpZHRoIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuc2VydmVyLWNvbm5lY3Rpb248L2Rpdj5cbiAgICAgICAgICA8dGItdG9nZ2xlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InR5cGUiIGFwcGVhcmFuY2U9ImZpbGwiPlxuICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gKm5nRm9yPSJsZXQgdHlwZSBvZiBtb2RidXNQcm90b2NvbFR5cGVzIiBbdmFsdWVdPSJ0eXBlIj57eyBNb2RidXNQcm90b2NvbExhYmVsc01hcC5nZXQodHlwZSkgfX08L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyJcbiAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ob3N0XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5Lmhvc3Q8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iaG9zdCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuaG9zdC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIGVsc2Ugc2VyaWFsUG9ydCJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiXG4gICAgICAgICAgICAgICBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSJ7e3BvcnRMaW1pdHMuTUlOfX0iIG1heD0ie3twb3J0TGltaXRzLk1BWH19IlxuICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKSB8IGdldEdhdGV3YXlQb3J0VG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ21pblwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2VyaWFsUG9ydD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc2VyaWFsLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucG9ydDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJpYWxQb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSJcJ2dhdGV3YXkucG9ydC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdzZXJpYWxQb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnc2VyaWFsUG9ydFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmZyYW1lci10eXBlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgZ2F0ZXdheS5tZXRob2RcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibWV0aG9kIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG1ldGhvZCBvZiBwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwgPyBtb2RidXNTZXJpYWxNZXRob2RUeXBlcyA6IG1vZGJ1c01ldGhvZFR5cGVzIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT0ibWV0aG9kIj57eyBNb2RidXNNZXRob2RMYWJlbHNNYXAuZ2V0KG1ldGhvZCkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPSJwcm90b2NvbFR5cGUgPT09IE1vZGJ1c1Byb3RvY29sVHlwZS5TZXJpYWwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJhdWRyYXRlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJhdWRyYXRlPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJiYXVkcmF0ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCByYXRlIG9mIG1vZGJ1c0JhdWRyYXRlcyIgW3ZhbHVlXT0icmF0ZSI+e3sgcmF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5ieXRlc2l6ZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlc2l6ZTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYnl0ZXNpemUiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgc2l6ZSBvZiBtb2RidXNCeXRlU2l6ZXMiIFt2YWx1ZV09InNpemUiPnt7IHNpemUgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc3RvcGJpdHNcJyB8IHRyYW5zbGF0ZSB9fSIgIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3BiaXRzPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzdG9wYml0cyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucGFyaXR5XCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnBhcml0eTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0icGFyaXR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHBhcml0eSBvZiBtb2RidXNQYXJpdGllcyIgW3ZhbHVlXT0icGFyaXR5Ij57eyBNb2RidXNQYXJpdHlMYWJlbHNNYXAuZ2V0KHBhcml0eSkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0ic3RyaWN0Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5zdHJpY3RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0cmljdFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLnVuaXQtaWRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkudW5pdC1pZDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idW5pdElkIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudW5pdC1pZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCd1bml0SWRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRyYW5zbGF0ZT5nYXRld2F5LmRldmljZS1uYW1lPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImRldmljZU5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKFwnZ2F0ZXdheS5kZXZpY2UtbmFtZS1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLXByb2ZpbGU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlVHlwZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5LmRldmljZS1wcm9maWxlLXJlcXVpcmVkXCcpIHwgdHJhbnNsYXRlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9ImRhdGEuaGlkZU5ld0ZpZWxkcyBlbHNlIHJlcG9ydFN0cmF0ZWd5IiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InNlbmREYXRhT25seU9uQ2hhbmdlIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWRhdGEtb24tY2hhbmdlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcmVwb3J0U3RyYXRlZ3k+XG4gICAgICAgICAgPHRiLXJlcG9ydC1zdHJhdGVneSBbZGVmYXVsdFZhbHVlXT0iUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWUuRGV2aWNlIiBmb3JtQ29udHJvbE5hbWU9InJlcG9ydFN0cmF0ZWd5IiBbaXNFeHBhbnNpb25Nb2RlXT0idHJ1ZSIvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuYWR2YW5jZWQtY29ubmVjdGlvbi1zZXR0aW5nczwvZGl2PlxuICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3Rpb24tdGltZW91dFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0aW9uLXRpbWVvdXQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InRpbWVvdXQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuYnl0ZS1vcmRlclwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5ieXRlLW9yZGVyPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJieXRlT3JkZXIiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndvcmQtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud29yZC1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0id29yZE9yZGVyIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBvcmRlciBvZiBtb2RidXNPcmRlclR5cGUiIFt2YWx1ZV09Im9yZGVyIj57eyBvcmRlciB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCB0Yi1zbGlkZS10b2dnbGUiPlxuICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPSJ0Yi1zZXR0aW5ncyIgW2V4cGFuZGVkXT0ic2hvd1NlY3VyaXR5Q29udHJvbC52YWx1ZSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgZnhMYXlvdXQ9InJvdyB3cmFwIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmeExheW91dEFsaWduPSJjZW50ZXIiIFtmb3JtQ29udHJvbF09InNob3dTZWN1cml0eUNvbnRyb2wiIGNsYXNzPSJtYXQtc2xpZGUiIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGxzLWNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICA8dGItbW9kYnVzLXNlY3VyaXR5LWNvbmZpZyBjbGFzcz0ic2VjdXJpdHktY29uZmlnIiBmb3JtQ29udHJvbE5hbWU9InNlY3VyaXR5Ij48L3RiLW1vZGJ1cy1zZWN1cml0eS1jb25maWc+XG4gICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJpZXMiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5yZXRyaWVzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllc1wnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0icmV0cnlPbkVtcHR5Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1lbXB0eVwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJldHJpZXMtb24tZW1wdHlcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3ciIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBmb3JtQ29udHJvbE5hbWU9InJldHJ5T25JbnZhbGlkIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmV0cmllcy1vbi1pbnZhbGlkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoLTI2MCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiB0YlRydW5jYXRlV2l0aFRvb2x0aXAgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgICAgICBnYXRld2F5LnBvbGwtcGVyaW9kXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwb2xsUGVyaW9kIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgtMjYwIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5jb25uZWN0LWF0dGVtcHQtdGltZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtdGltZTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iY29ubmVjdEF0dGVtcHRUaW1lTXMiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmNvbm5lY3QtYXR0ZW1wdC1jb3VudFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0LWF0dGVtcHQtY291bnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9ImNvbm5lY3RBdHRlbXB0Q291bnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aC0yNjAgdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJ3YWl0QWZ0ZXJGYWlsZWRBdHRlbXB0c01zIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICAgICAgPHRiLW1vZGJ1cy12YWx1ZXMgW3NpbmdsZU1vZGVdPSJ0cnVlIiBbaGlkZU5ld0ZpZWxkc109ImRhdGEuaGlkZU5ld0ZpZWxkcyIgZm9ybUNvbnRyb2xOYW1lPSJ2YWx1ZXMiPjwvdGItbW9kYnVzLXZhbHVlcz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249ImVuZCBjZW50ZXIiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgIGNka0ZvY3VzSW5pdGlhbFxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgKGNsaWNrKT0iYWRkKCkiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5pbnZhbGlkIHx8ICFzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5kaXJ0eSI+XG4gICAgICB7eyBkYXRhLmJ1dHRvblRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLnNsYXZlcy1jb25maWctY29udGFpbmVye3dpZHRoOjgwdnc7bWF4LXdpZHRoOjkwMHB4fTpob3N0IC5zbGF2ZS1uYW1lLWxhYmVse21hcmdpbi1yaWdodDoxNnB4O2NvbG9yOiMwMDAwMDBkZX06aG9zdCAuZml4ZWQtdGl0bGUtd2lkdGgtMjYwe21pbi13aWR0aDoyNjBweH06aG9zdCA6Om5nLWRlZXAgLnNlY3VyaXR5LWNvbmZpZyAuZml4ZWQtdGl0bGUtd2lkdGh7bWluLXdpZHRoOjIzMHB4fVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9LHt0eXBlOm90LlN0b3JlfSx7dHlwZTppdC5Sb3V0ZXJ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpwLGFyZ3M6W1hlXX1dfSx7dHlwZTpKZS5NYXREaWFsb2dSZWZ9XX0pO2NsYXNzIHdve2NvbnN0cnVjdG9yKGUsdCxuLGEsbyl7dGhpcy50cmFuc2xhdGU9ZSx0aGlzLmRpYWxvZz10LHRoaXMuZGlhbG9nU2VydmljZT1uLHRoaXMuZmI9YSx0aGlzLmNkcj1vLHRoaXMuaXNMZWdhY3k9ITEsdGhpcy50ZXh0U2VhcmNoTW9kZT0hMSx0aGlzLnRleHRTZWFyY2g9dGhpcy5mYi5jb250cm9sKCIiLHtub25OdWxsYWJsZTohMH0pLHRoaXMuTW9kYnVzUHJvdG9jb2xMYWJlbHNNYXA9em4sdGhpcy5vbkNoYW5nZT0oKT0+e30sdGhpcy5vblRvdWNoZWQ9KCk9Pnt9LHRoaXMuZGVzdHJveSQ9bmV3IFNlLHRoaXMubWFzdGVyRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe3NsYXZlczp0aGlzLmZiLmFycmF5KFtdKX0pLHRoaXMuZGF0YVNvdXJjZT1uZXcgQ299Z2V0IHNsYXZlcygpe3JldHVybiB0aGlzLm1hc3RlckZvcm1Hcm91cC5nZXQoInNsYXZlcyIpfW5nT25Jbml0KCl7dGhpcy5tYXN0ZXJGb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMudXBkYXRlVGFibGVEYXRhKGUuc2xhdmVzKSx0aGlzLm9uQ2hhbmdlKGUpLHRoaXMub25Ub3VjaGVkKCl9KSl9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3kkLm5leHQoKSx0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCl9bmdBZnRlclZpZXdJbml0KCl7dGhpcy50ZXh0U2VhcmNoLnZhbHVlQ2hhbmdlcy5waXBlKFZlKDE1MCksQmUoKChlLHQpPT4oZT8/IiIpPT09dC50cmltKCkpKSxOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT50aGlzLnVwZGF0ZVRhYmxlRGF0YSh0aGlzLnNsYXZlcy52YWx1ZSxlLnRyaW0oKSkpKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMub25DaGFuZ2U9ZX1yZWdpc3Rlck9uVG91Y2hlZChlKXt0aGlzLm9uVG91Y2hlZD1lfXdyaXRlVmFsdWUoZSl7dGhpcy5zbGF2ZXMuY2xlYXIoKSx0aGlzLnB1c2hEYXRhQXNGb3JtQXJyYXlzKGUuc2xhdmVzKX1lbnRlckZpbHRlck1vZGUoKXt0aGlzLnRleHRTZWFyY2hNb2RlPSEwLHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtjb25zdCBlPXRoaXMuc2VhcmNoSW5wdXRGaWVsZC5uYXRpdmVFbGVtZW50O2UuZm9jdXMoKSxlLnNldFNlbGVjdGlvblJhbmdlKDAsMCl9ZXhpdEZpbHRlck1vZGUoKXt0aGlzLnVwZGF0ZVRhYmxlRGF0YSh0aGlzLnNsYXZlcy52YWx1ZSksdGhpcy50ZXh0U2VhcmNoTW9kZT0hMSx0aGlzLnRleHRTZWFyY2gucmVzZXQoKX1tYW5hZ2VTbGF2ZShlLHQpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCk7Y29uc3Qgbj1pZSh0KSxhPW4/dGhpcy5zbGF2ZXMuYXQodCkudmFsdWU6e307dGhpcy5nZXRTbGF2ZURpYWxvZyhhLG4/ImFjdGlvbi5hcHBseSI6ImFjdGlvbi5hZGQiKS5hZnRlckNsb3NlZCgpLnBpcGUoT2UoMSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2UmJihuP3RoaXMuc2xhdmVzLmF0KHQpLnBhdGNoVmFsdWUoZSk6dGhpcy5zbGF2ZXMucHVzaCh0aGlzLmZiLmNvbnRyb2woZSkpLHRoaXMubWFzdGVyRm9ybUdyb3VwLm1hcmtBc0RpcnR5KCkpfSkpfWdldFNsYXZlRGlhbG9nKGUsdCl7cmV0dXJuIHRoaXMuaXNMZWdhY3k/dGhpcy5kaWFsb2cub3Blbih2byx7ZGlzYWJsZUNsb3NlOiEwLHBhbmVsQ2xhc3M6WyJ0Yi1kaWFsb2ciLCJ0Yi1mdWxsc2NyZWVuLWRpYWxvZyJdLGRhdGE6e3ZhbHVlOmUsaGlkZU5ld0ZpZWxkczohMCxidXR0b25UaXRsZTp0fX0pOnRoaXMuZGlhbG9nLm9wZW4oeG8se2Rpc2FibGVDbG9zZTohMCxwYW5lbENsYXNzOlsidGItZGlhbG9nIiwidGItZnVsbHNjcmVlbi1kaWFsb2ciXSxkYXRhOnt2YWx1ZTplLGJ1dHRvblRpdGxlOnQsaGlkZU5ld0ZpZWxkczohMX19KX1kZWxldGVTbGF2ZShlLHQpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0odGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5kZWxldGUtc2xhdmUtdGl0bGUiKSwiIix0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJhY3Rpb24ubm8iKSx0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJhY3Rpb24ueWVzIiksITApLnBpcGUoT2UoMSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2UmJih0aGlzLnNsYXZlcy5yZW1vdmVBdCh0KSx0aGlzLm1hc3RlckZvcm1Hcm91cC5tYXJrQXNEaXJ0eSgpKX0pKX11cGRhdGVUYWJsZURhdGEoZSx0KXt0JiYoZT1lLmZpbHRlcigoZT0+T2JqZWN0LnZhbHVlcyhlKS5zb21lKChlPT5lLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0LnRvTG93ZXJDYXNlKCkpKSkpKSksdGhpcy5kYXRhU291cmNlLmxvYWREYXRhKGUpfXB1c2hEYXRhQXNGb3JtQXJyYXlzKGUpe2U/Lmxlbmd0aCYmZS5mb3JFYWNoKChlPT50aGlzLnNsYXZlcy5wdXNoKHRoaXMuZmIuY29udHJvbChlKSkpKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOndvLGRlcHM6W3t0b2tlbjpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0b2tlbjpKZS5NYXREaWFsb2d9LHt0b2tlbjpYLkRpYWxvZ1NlcnZpY2V9LHt0b2tlbjptZS5Gb3JtQnVpbGRlcn0se3Rva2VuOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOndvLGlzU3RhbmRhbG9uZTohMCxzZWxlY3RvcjoidGItbW9kYnVzLW1hc3Rlci10YWJsZSIsaW5wdXRzOntpc0xlZ2FjeToiaXNMZWdhY3kifSxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT53bykpLG11bHRpOiEwfV0sdmlld1F1ZXJpZXM6W3twcm9wZXJ0eU5hbWU6InNlYXJjaElucHV0RmllbGQiLGZpcnN0OiEwLHByZWRpY2F0ZTpbInNlYXJjaElucHV0Il0sZGVzY2VuZGFudHM6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItbWFzdGVyLXRhYmxlIHRiLWFic29sdXRlLWZpbGwiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggY2VudGVyIj57eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLW1hc3RlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGZ4RmxleCBmeExheW91dD0iY29sdW1uIiBjbGFzcz0idGItbWFzdGVyLXRhYmxlLWNvbnRlbnQiPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIiBbZnhTaG93XT0iIXRleHRTZWFyY2hNb2RlIj5cbiAgICAgIDxkaXYgY2xhc3M9Im1hdC10b29sYmFyLXRvb2xzIiAqbmdJZj0iKGRhdGFTb3VyY2UuaXNFbXB0eSgpIHwgYXN5bmMpID09PSBmYWxzZSI+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0ic3RhcnQgY2VudGVyIiBmeExheW91dC54cz0iY29sdW1uIiBmeExheW91dEFsaWduLnhzPSJjZW50ZXIgc3RhcnQiIGNsYXNzPSJ0aXRsZS1jb250YWluZXIiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Yi1tYXN0ZXItdGFibGUtdGl0bGUiPnt7IFwnZ2F0ZXdheS5zZXJ2ZXJzLXNsYXZlc1wnIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZVNsYXZlKCRldmVudCkiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uYWRkXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9ImVudGVyRmlsdGVyTW9kZSgpIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLnNlYXJjaFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXRvb2xiYXI+XG4gICAgPG1hdC10b29sYmFyIGNsYXNzPSJtYXQtbWRjLXRhYmxlLXRvb2xiYXIiIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSI+XG4gICAgICA8ZGl2IGNsYXNzPSJtYXQtdG9vbGJhci10b29scyI+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+Jm5ic3A7PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0ICNzZWFyY2hJbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPSJ0ZXh0U2VhcmNoIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdjb21tb24uZW50ZXItc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0iZXhpdEZpbHRlck1vZGUoKSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5jbG9zZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1jb250YWluZXIiPlxuICAgICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09ImRhdGFTb3VyY2UiPlxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPSJcJ2RldmljZU5hbWVcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS5kZXZpY2UtbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgc2xhdmUiIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iPlxuICAgICAgICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgc2xhdmVbXCdkZXZpY2VOYW1lXCddIH19PC9kaXY+XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW21hdENvbHVtbkRlZl09IlwnaW5mb1wnIj5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmluZm9cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlIiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IHNsYXZlW1wnaG9zdFwnXSA/PyBzbGF2ZVtcJ3BvcnRcJ10gfX08L2Rpdj5cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT0iXCd1bml0SWRcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS51bml0LWlkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBzbGF2ZSIgY2xhc3M9InRhYmxlLXZhbHVlLWNvbHVtbiI+XG4gICAgICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBzbGF2ZVtcJ3VuaXRJZFwnXSB9fTwvZGl2PlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPSJcJ3R5cGVcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXY+e3sgXCdnYXRld2F5LnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlIiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIHt7IE1vZGJ1c1Byb3RvY29sTGFiZWxzTWFwLmdldChzbGF2ZVtcJ3R5cGVcJ10pIH19XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPSJhY3Rpb25zIiBzdGlja3lFbmQ+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGUuZ3QtbWRdPSJ7IG1pbldpZHRoOiBcJzk2cHhcJywgbWF4V2lkdGg6IFwnOTZweFwnLCB3aWR0aDogXCc5NnB4XCcsIHRleHRBbGlnbjogXCdjZW50ZXJcJ30iPlxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlOyBsZXQgaSA9IGluZGV4IlxuICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZS5ndC1tZF09InsgbWluV2lkdGg6IFwnOTZweFwnLCBtYXhXaWR0aDogXCc5NnB4XCcsIHdpZHRoOiBcJzk2cHhcJ30iPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyb3dBY3Rpb25zPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZVNsYXZlKCRldmVudCwgaSkiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmRlbGV0ZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlU2xhdmUoJGV2ZW50LCBpKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24+ZGVsZXRlPC90Yi1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8ZGl2IGZ4SGlkZSBmeFNob3cuZ3QtbWQgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0QWxpZ249ImVuZCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJyb3dBY3Rpb25zIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmeEhpZGUgZnhTaG93Lmx0LWxnIGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJlbmQiPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPSJjZWxsQWN0aW9uc01lbnUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8bWF0LW1lbnUgI2NlbGxBY3Rpb25zTWVudT0ibWF0TWVudSIgeFBvc2l0aW9uPSJiZWZvcmUiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJyb3dBY3Rpb25zIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bWF0LWhlYWRlci1yb3cgW25nQ2xhc3NdPSJ7XCdtYXQtcm93LXNlbGVjdFwnOiB0cnVlfSIgKm1hdEhlYWRlclJvd0RlZj0iW1wnZGV2aWNlTmFtZVwnLCBcJ2luZm9cJywgXCd1bml0SWRcJywgXCd0eXBlXCcsIFwnYWN0aW9uc1wnXTsgc3RpY2t5OiB0cnVlIj48L21hdC1oZWFkZXItcm93PlxuICAgICAgICA8bWF0LXJvdyAqbWF0Um93RGVmPSJsZXQgc2xhdmU7IGNvbHVtbnM6IFtcJ2RldmljZU5hbWVcJywgXCdpbmZvXCcsIFwndW5pdElkXCcsIFwndHlwZVwnLCBcJ2FjdGlvbnNcJ10iPjwvbWF0LXJvdz5cbiAgICAgIDwvdGFibGU+XG4gICAgICA8c2VjdGlvbiBbZnhTaG93XT0iIXRleHRTZWFyY2hNb2RlICYmIChkYXRhU291cmNlLmlzRW1wdHkoKSB8IGFzeW5jKSIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgIGNsYXNzPSJtYXQtaGVhZGxpbmUtNSB0Yi1hYnNvbHV0ZS1maWxsIHRiLWFkZC1uZXciPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9ImNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VTbGF2ZSgkZXZlbnQpIj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC05NiI+YWRkPC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3Bhbj57eyBcJ2dhdGV3YXkuYWRkLXNsYXZlXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9zZWN0aW9uPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSAmJiAoZGF0YVNvdXJjZS5pc0VtcHR5KCkgfCBhc3luYykiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCIgdHJhbnNsYXRlPlxuICAgICAgd2lkZ2V0Lm5vLWRhdGEtZm91bmRcbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojZmZmO292ZXJmbG93OmhpZGRlbn06aG9zdCAudGItbWFzdGVyLXRhYmxlIC50Yi1tYXN0ZXItdGFibGUtY29udGVudCAubWF0LXRvb2xiYXItdG9vbHN7bWluLWhlaWdodDphdXRvfTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50aXRsZS1jb250YWluZXJ7b3ZlcmZsb3c6aGlkZGVufTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50Yi1tYXN0ZXItdGFibGUtdGl0bGV7cGFkZGluZy1yaWdodDoyMHB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306aG9zdCAudGItbWFzdGVyLXRhYmxlIC50Yi1tYXN0ZXItdGFibGUtY29udGVudCAudGFibGUtY29udGFpbmVye292ZXJmbG93OmF1dG99Omhvc3QgLnRiLW1hc3Rlci10YWJsZSAudGItbWFzdGVyLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lciAubWF0LW1kYy10YWJsZXt0YWJsZS1sYXlvdXQ6Zml4ZWQ7bWluLXdpZHRoOjQ1MHB4fTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50YWJsZS1jb250YWluZXIgLm1hdC1tZGMtdGFibGUgLnRhYmxlLXZhbHVlLWNvbHVtbntwYWRkaW5nOjAgMTJweDt3aWR0aDozOCV9Omhvc3QgLm5vLWRhdGEtZm91bmR7aGVpZ2h0OmNhbGMoMTAwJSAtIDEyMHB4KX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCl7Omhvc3QgLm1hdC10b29sYmFye2hlaWdodDphdXRvO21pbi1oZWlnaHQ6MTAwcHh9Omhvc3QgLm1hdC10b29sYmFyIC50Yi1tYXN0ZXItdGFibGUtdGl0bGV7cGFkZGluZy1ib3R0b206NXB4O3dpZHRoOjEwMCV9fTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxse2N1cnNvcjpwb2ludGVyfTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxsIC5tYXQtaWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4O2ZvbnQtc2l6ZToyNHB4O2NvbG9yOiM3NTc1NzV9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJuZ21vZHVsZSIsdHlwZTpIfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdDbGFzcyxzZWxlY3RvcjoiW25nQ2xhc3NdIixpbnB1dHM6WyJjbGFzcyIsIm5nQ2xhc3MiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nVGVtcGxhdGVPdXRsZXQsc2VsZWN0b3I6IltuZ1RlbXBsYXRlT3V0bGV0XSIsaW5wdXRzOlsibmdUZW1wbGF0ZU91dGxldENvbnRleHQiLCJuZ1RlbXBsYXRlT3V0bGV0IiwibmdUZW1wbGF0ZU91dGxldEluamVjdG9yIl19LHtraW5kOiJwaXBlIix0eXBlOl8uQXN5bmNQaXBlLG5hbWU6ImFzeW5jIn0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QnV0dG9uLHNlbGVjdG9yOiIgICAgYnV0dG9uW21hdC1idXR0b25dLCBidXR0b25bbWF0LXJhaXNlZC1idXR0b25dLCBidXR0b25bbWF0LWZsYXQtYnV0dG9uXSwgICAgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0gICIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpodC5NYXRNZW51LHNlbGVjdG9yOiJtYXQtbWVudSIsaW5wdXRzOlsiYmFja2Ryb3BDbGFzcyIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwieFBvc2l0aW9uIiwieVBvc2l0aW9uIiwib3ZlcmxhcFRyaWdnZXIiLCJoYXNCYWNrZHJvcCIsImNsYXNzIiwiY2xhc3NMaXN0Il0sb3V0cHV0czpbImNsb3NlZCIsImNsb3NlIl0sZXhwb3J0QXM6WyJtYXRNZW51Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6aHQuTWF0TWVudVRyaWdnZXIsc2VsZWN0b3I6IlttYXQtbWVudS10cmlnZ2VyLWZvcl0sIFttYXRNZW51VHJpZ2dlckZvcl0iLGlucHV0czpbIm1hdC1tZW51LXRyaWdnZXItZm9yIiwibWF0TWVudVRyaWdnZXJGb3IiLCJtYXRNZW51VHJpZ2dlckRhdGEiLCJtYXRNZW51VHJpZ2dlclJlc3RvcmVGb2N1cyJdLG91dHB1dHM6WyJtZW51T3BlbmVkIiwib25NZW51T3BlbiIsIm1lbnVDbG9zZWQiLCJvbk1lbnVDbG9zZSJdLGV4cG9ydEFzOlsibWF0TWVudVRyaWdnZXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdFRhYmxlLHNlbGVjdG9yOiJtYXQtdGFibGUsIHRhYmxlW21hdC10YWJsZV0iLGV4cG9ydEFzOlsibWF0VGFibGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlckNlbGxEZWYsc2VsZWN0b3I6IlttYXRIZWFkZXJDZWxsRGVmXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRIZWFkZXJSb3dEZWYsc2VsZWN0b3I6IlttYXRIZWFkZXJSb3dEZWZdIixpbnB1dHM6WyJtYXRIZWFkZXJSb3dEZWYiLCJtYXRIZWFkZXJSb3dEZWZTdGlja3kiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdENvbHVtbkRlZixzZWxlY3RvcjoiW21hdENvbHVtbkRlZl0iLGlucHV0czpbIm1hdENvbHVtbkRlZiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Q2VsbERlZixzZWxlY3RvcjoiW21hdENlbGxEZWZdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdFJvd0RlZixzZWxlY3RvcjoiW21hdFJvd0RlZl0iLGlucHV0czpbIm1hdFJvd0RlZkNvbHVtbnMiLCJtYXRSb3dEZWZXaGVuIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRIZWFkZXJDZWxsLHNlbGVjdG9yOiJtYXQtaGVhZGVyLWNlbGwsIHRoW21hdC1oZWFkZXItY2VsbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Q2VsbCxzZWxlY3RvcjoibWF0LWNlbGwsIHRkW21hdC1jZWxsXSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Yi5NYXRIZWFkZXJSb3csc2VsZWN0b3I6Im1hdC1oZWFkZXItcm93LCB0clttYXQtaGVhZGVyLXJvd10iLGV4cG9ydEFzOlsibWF0SGVhZGVyUm93Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Yi5NYXRSb3csc2VsZWN0b3I6Im1hdC1yb3csIHRyW21hdC1yb3ddIixleHBvcnRBczpbIm1hdFJvdyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRdLCBbZnhMYXlvdXQueHNdLCBbZnhMYXlvdXQuc21dLCBbZnhMYXlvdXQubWRdLCAgW2Z4TGF5b3V0LmxnXSwgW2Z4TGF5b3V0LnhsXSwgW2Z4TGF5b3V0Lmx0LXNtXSwgW2Z4TGF5b3V0Lmx0LW1kXSwgIFtmeExheW91dC5sdC1sZ10sIFtmeExheW91dC5sdC14bF0sIFtmeExheW91dC5ndC14c10sIFtmeExheW91dC5ndC1zbV0sICBbZnhMYXlvdXQuZ3QtbWRdLCBbZnhMYXlvdXQuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dCIsImZ4TGF5b3V0LnhzIiwiZnhMYXlvdXQuc20iLCJmeExheW91dC5tZCIsImZ4TGF5b3V0LmxnIiwiZnhMYXlvdXQueGwiLCJmeExheW91dC5sdC1zbSIsImZ4TGF5b3V0Lmx0LW1kIiwiZnhMYXlvdXQubHQtbGciLCJmeExheW91dC5sdC14bCIsImZ4TGF5b3V0Lmd0LXhzIiwiZnhMYXlvdXQuZ3Qtc20iLCJmeExheW91dC5ndC1tZCIsImZ4TGF5b3V0Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOksuRGVmYXVsdFNob3dIaWRlRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeFNob3ddLCBbZnhTaG93LnByaW50XSwgIFtmeFNob3cueHNdLCBbZnhTaG93LnNtXSwgW2Z4U2hvdy5tZF0sIFtmeFNob3cubGddLCBbZnhTaG93LnhsXSwgIFtmeFNob3cubHQtc21dLCBbZnhTaG93Lmx0LW1kXSwgW2Z4U2hvdy5sdC1sZ10sIFtmeFNob3cubHQteGxdLCAgW2Z4U2hvdy5ndC14c10sIFtmeFNob3cuZ3Qtc21dLCBbZnhTaG93Lmd0LW1kXSwgW2Z4U2hvdy5ndC1sZ10sICBbZnhIaWRlXSwgW2Z4SGlkZS5wcmludF0sICBbZnhIaWRlLnhzXSwgW2Z4SGlkZS5zbV0sIFtmeEhpZGUubWRdLCBbZnhIaWRlLmxnXSwgW2Z4SGlkZS54bF0sICBbZnhIaWRlLmx0LXNtXSwgW2Z4SGlkZS5sdC1tZF0sIFtmeEhpZGUubHQtbGddLCBbZnhIaWRlLmx0LXhsXSwgIFtmeEhpZGUuZ3QteHNdLCBbZnhIaWRlLmd0LXNtXSwgW2Z4SGlkZS5ndC1tZF0sIFtmeEhpZGUuZ3QtbGddIixpbnB1dHM6WyJmeFNob3ciLCJmeFNob3cucHJpbnQiLCJmeFNob3cueHMiLCJmeFNob3cuc20iLCJmeFNob3cubWQiLCJmeFNob3cubGciLCJmeFNob3cueGwiLCJmeFNob3cubHQtc20iLCJmeFNob3cubHQtbWQiLCJmeFNob3cubHQtbGciLCJmeFNob3cubHQteGwiLCJmeFNob3cuZ3QteHMiLCJmeFNob3cuZ3Qtc20iLCJmeFNob3cuZ3QtbWQiLCJmeFNob3cuZ3QtbGciLCJmeEhpZGUiLCJmeEhpZGUucHJpbnQiLCJmeEhpZGUueHMiLCJmeEhpZGUuc20iLCJmeEhpZGUubWQiLCJmeEhpZGUubGciLCJmeEhpZGUueGwiLCJmeEhpZGUubHQtc20iLCJmeEhpZGUubHQtbWQiLCJmeEhpZGUubHQtbGciLCJmeEhpZGUubHQteGwiLCJmeEhpZGUuZ3QteHMiLCJmeEhpZGUuZ3Qtc20iLCJmeEhpZGUuZ3QtbWQiLCJmeEhpZGUuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpLLkRlZmF1bHRDbGFzc0RpcmVjdGl2ZSxzZWxlY3RvcjoiICBbbmdDbGFzc10sIFtuZ0NsYXNzLnhzXSwgW25nQ2xhc3Muc21dLCBbbmdDbGFzcy5tZF0sIFtuZ0NsYXNzLmxnXSwgW25nQ2xhc3MueGxdLCAgW25nQ2xhc3MubHQtc21dLCBbbmdDbGFzcy5sdC1tZF0sIFtuZ0NsYXNzLmx0LWxnXSwgW25nQ2xhc3MubHQteGxdLCAgW25nQ2xhc3MuZ3QteHNdLCBbbmdDbGFzcy5ndC1zbV0sIFtuZ0NsYXNzLmd0LW1kXSwgW25nQ2xhc3MuZ3QtbGddIixpbnB1dHM6WyJuZ0NsYXNzIiwibmdDbGFzcy54cyIsIm5nQ2xhc3Muc20iLCJuZ0NsYXNzLm1kIiwibmdDbGFzcy5sZyIsIm5nQ2xhc3MueGwiLCJuZ0NsYXNzLmx0LXNtIiwibmdDbGFzcy5sdC1tZCIsIm5nQ2xhc3MubHQtbGciLCJuZ0NsYXNzLmx0LXhsIiwibmdDbGFzcy5ndC14cyIsIm5nQ2xhc3MuZ3Qtc20iLCJuZ0NsYXNzLmd0LW1kIiwibmdDbGFzcy5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOksuRGVmYXVsdFN0eWxlRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtuZ1N0eWxlXSwgIFtuZ1N0eWxlLnhzXSwgW25nU3R5bGUuc21dLCBbbmdTdHlsZS5tZF0sIFtuZ1N0eWxlLmxnXSwgW25nU3R5bGUueGxdLCAgW25nU3R5bGUubHQtc21dLCBbbmdTdHlsZS5sdC1tZF0sIFtuZ1N0eWxlLmx0LWxnXSwgW25nU3R5bGUubHQteGxdLCAgW25nU3R5bGUuZ3QteHNdLCBbbmdTdHlsZS5ndC1zbV0sIFtuZ1N0eWxlLmd0LW1kXSwgW25nU3R5bGUuZ3QtbGddIixpbnB1dHM6WyJuZ1N0eWxlIiwibmdTdHlsZS54cyIsIm5nU3R5bGUuc20iLCJuZ1N0eWxlLm1kIiwibmdTdHlsZS5sZyIsIm5nU3R5bGUueGwiLCJuZ1N0eWxlLmx0LXNtIiwibmdTdHlsZS5sdC1tZCIsIm5nU3R5bGUubHQtbGciLCJuZ1N0eWxlLmx0LXhsIiwibmdTdHlsZS5ndC14cyIsIm5nU3R5bGUuZ3Qtc20iLCJuZ1N0eWxlLmd0LW1kIiwibmdTdHlsZS5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpidC5UYkljb25Db21wb25lbnQsc2VsZWN0b3I6InRiLWljb24iLGlucHV0czpbImNvbG9yIl0sZXhwb3J0QXM6WyJ0Ykljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpTYSxzZWxlY3RvcjoiW3RiVHJ1bmNhdGVXaXRoVG9vbHRpcF0iLGlucHV0czpbInRiVHJ1bmNhdGVXaXRoVG9vbHRpcCIsInRvb2x0aXBFbmFibGVkIiwicG9zaXRpb24iXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJNb2RidXNNYXN0ZXJUYWJsZUNvbXBvbmVudCIsd28pLEhlKFt4dCgpXSx3by5wcm90b3R5cGUsImlzTGVnYWN5Iix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6d28sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1tYXN0ZXItdGFibGUiLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT53bykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsU2FdLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPGRpdiBjbGFzcz0idGItbWFzdGVyLXRhYmxlIHRiLWFic29sdXRlLWZpbGwiPlxuICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggY2VudGVyIj57eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLW1hc3RlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGZ4RmxleCBmeExheW91dD0iY29sdW1uIiBjbGFzcz0idGItbWFzdGVyLXRhYmxlLWNvbnRlbnQiPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIiBbZnhTaG93XT0iIXRleHRTZWFyY2hNb2RlIj5cbiAgICAgIDxkaXYgY2xhc3M9Im1hdC10b29sYmFyLXRvb2xzIiAqbmdJZj0iKGRhdGFTb3VyY2UuaXNFbXB0eSgpIHwgYXN5bmMpID09PSBmYWxzZSI+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0ic3RhcnQgY2VudGVyIiBmeExheW91dC54cz0iY29sdW1uIiBmeExheW91dEFsaWduLnhzPSJjZW50ZXIgc3RhcnQiIGNsYXNzPSJ0aXRsZS1jb250YWluZXIiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Yi1tYXN0ZXItdGFibGUtdGl0bGUiPnt7IFwnZ2F0ZXdheS5zZXJ2ZXJzLXNsYXZlc1wnIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZVNsYXZlKCRldmVudCkiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uYWRkXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9ImVudGVyRmlsdGVyTW9kZSgpIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLnNlYXJjaFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXRvb2xiYXI+XG4gICAgPG1hdC10b29sYmFyIGNsYXNzPSJtYXQtbWRjLXRhYmxlLXRvb2xiYXIiIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSI+XG4gICAgICA8ZGl2IGNsYXNzPSJtYXQtdG9vbGJhci10b29scyI+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdhY3Rpb24uc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PlxuICAgICAgICAgIDxtYXQtbGFiZWw+Jm5ic3A7PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0ICNzZWFyY2hJbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPSJ0ZXh0U2VhcmNoIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ie3sgXCdjb21tb24uZW50ZXItc2VhcmNoXCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0iZXhpdEZpbHRlck1vZGUoKSJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2FjdGlvbi5jbG9zZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiPlxuICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1jb250YWluZXIiPlxuICAgICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09ImRhdGFTb3VyY2UiPlxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPSJcJ2RldmljZU5hbWVcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IFwnZ2F0ZXdheS5kZXZpY2UtbmFtZVwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgc2xhdmUiIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iPlxuICAgICAgICAgICAgPGRpdiB0YlRydW5jYXRlV2l0aFRvb2x0aXA+e3sgc2xhdmVbXCdkZXZpY2VOYW1lXCddIH19PC9kaXY+XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW21hdENvbHVtbkRlZl09IlwnaW5mb1wnIj5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPSJ0YWJsZS12YWx1ZS1jb2x1bW4iPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmluZm9cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlIiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXYgdGJUcnVuY2F0ZVdpdGhUb29sdGlwPnt7IHNsYXZlW1wnaG9zdFwnXSA/PyBzbGF2ZVtcJ3BvcnRcJ10gfX08L2Rpdj5cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT0iXCd1bml0SWRcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS51bml0LWlkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBzbGF2ZSIgY2xhc3M9InRhYmxlLXZhbHVlLWNvbHVtbiI+XG4gICAgICAgICAgICA8ZGl2IHRiVHJ1bmNhdGVXaXRoVG9vbHRpcD57eyBzbGF2ZVtcJ3VuaXRJZFwnXSB9fTwvZGl2PlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPSJcJ3R5cGVcJyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIDxkaXY+e3sgXCdnYXRld2F5LnR5cGVcJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlIiBjbGFzcz0idGFibGUtdmFsdWUtY29sdW1uIj5cbiAgICAgICAgICAgIHt7IE1vZGJ1c1Byb3RvY29sTGFiZWxzTWFwLmdldChzbGF2ZVtcJ3R5cGVcJ10pIH19XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPSJhY3Rpb25zIiBzdGlja3lFbmQ+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGUuZ3QtbWRdPSJ7IG1pbldpZHRoOiBcJzk2cHhcJywgbWF4V2lkdGg6IFwnOTZweFwnLCB3aWR0aDogXCc5NnB4XCcsIHRleHRBbGlnbjogXCdjZW50ZXJcJ30iPlxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IHNsYXZlOyBsZXQgaSA9IGluZGV4IlxuICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZS5ndC1tZF09InsgbWluV2lkdGg6IFwnOTZweFwnLCBtYXhXaWR0aDogXCc5NnB4XCcsIHdpZHRoOiBcJzk2cHhcJ30iPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyb3dBY3Rpb25zPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmVkaXRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9Im1hbmFnZVNsYXZlKCRldmVudCwgaSkiPlxuICAgICAgICAgICAgICAgIDx0Yi1pY29uPmVkaXQ8L3RiLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmRlbGV0ZVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iZGVsZXRlU2xhdmUoJGV2ZW50LCBpKSI+XG4gICAgICAgICAgICAgICAgPHRiLWljb24+ZGVsZXRlPC90Yi1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8ZGl2IGZ4SGlkZSBmeFNob3cuZ3QtbWQgZnhGbGV4IGZ4TGF5b3V0PSJyb3ciIGZ4TGF5b3V0QWxpZ249ImVuZCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJyb3dBY3Rpb25zIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmeEhpZGUgZnhTaG93Lmx0LWxnIGZ4RmxleCBmeExheW91dD0icm93IiBmeExheW91dEFsaWduPSJlbmQiPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPSJjZWxsQWN0aW9uc01lbnUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8bWF0LW1lbnUgI2NlbGxBY3Rpb25zTWVudT0ibWF0TWVudSIgeFBvc2l0aW9uPSJiZWZvcmUiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJyb3dBY3Rpb25zIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bWF0LWhlYWRlci1yb3cgW25nQ2xhc3NdPSJ7XCdtYXQtcm93LXNlbGVjdFwnOiB0cnVlfSIgKm1hdEhlYWRlclJvd0RlZj0iW1wnZGV2aWNlTmFtZVwnLCBcJ2luZm9cJywgXCd1bml0SWRcJywgXCd0eXBlXCcsIFwnYWN0aW9uc1wnXTsgc3RpY2t5OiB0cnVlIj48L21hdC1oZWFkZXItcm93PlxuICAgICAgICA8bWF0LXJvdyAqbWF0Um93RGVmPSJsZXQgc2xhdmU7IGNvbHVtbnM6IFtcJ2RldmljZU5hbWVcJywgXCdpbmZvXCcsIFwndW5pdElkXCcsIFwndHlwZVwnLCBcJ2FjdGlvbnNcJ10iPjwvbWF0LXJvdz5cbiAgICAgIDwvdGFibGU+XG4gICAgICA8c2VjdGlvbiBbZnhTaG93XT0iIXRleHRTZWFyY2hNb2RlICYmIChkYXRhU291cmNlLmlzRW1wdHkoKSB8IGFzeW5jKSIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgIGNsYXNzPSJtYXQtaGVhZGxpbmUtNSB0Yi1hYnNvbHV0ZS1maWxsIHRiLWFkZC1uZXciPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9ImNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAoY2xpY2spPSJtYW5hZ2VTbGF2ZSgkZXZlbnQpIj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9InRiLW1hdC05NiI+YWRkPC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3Bhbj57eyBcJ2dhdGV3YXkuYWRkLXNsYXZlXCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9zZWN0aW9uPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIFtmeFNob3ddPSJ0ZXh0U2VhcmNoTW9kZSAmJiAoZGF0YVNvdXJjZS5pc0VtcHR5KCkgfCBhc3luYykiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCIgdHJhbnNsYXRlPlxuICAgICAgd2lkZ2V0Lm5vLWRhdGEtZm91bmRcbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojZmZmO292ZXJmbG93OmhpZGRlbn06aG9zdCAudGItbWFzdGVyLXRhYmxlIC50Yi1tYXN0ZXItdGFibGUtY29udGVudCAubWF0LXRvb2xiYXItdG9vbHN7bWluLWhlaWdodDphdXRvfTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50aXRsZS1jb250YWluZXJ7b3ZlcmZsb3c6aGlkZGVufTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50Yi1tYXN0ZXItdGFibGUtdGl0bGV7cGFkZGluZy1yaWdodDoyMHB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306aG9zdCAudGItbWFzdGVyLXRhYmxlIC50Yi1tYXN0ZXItdGFibGUtY29udGVudCAudGFibGUtY29udGFpbmVye292ZXJmbG93OmF1dG99Omhvc3QgLnRiLW1hc3Rlci10YWJsZSAudGItbWFzdGVyLXRhYmxlLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lciAubWF0LW1kYy10YWJsZXt0YWJsZS1sYXlvdXQ6Zml4ZWQ7bWluLXdpZHRoOjQ1MHB4fTpob3N0IC50Yi1tYXN0ZXItdGFibGUgLnRiLW1hc3Rlci10YWJsZS1jb250ZW50IC50YWJsZS1jb250YWluZXIgLm1hdC1tZGMtdGFibGUgLnRhYmxlLXZhbHVlLWNvbHVtbntwYWRkaW5nOjAgMTJweDt3aWR0aDozOCV9Omhvc3QgLm5vLWRhdGEtZm91bmR7aGVpZ2h0OmNhbGMoMTAwJSAtIDEyMHB4KX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCl7Omhvc3QgLm1hdC10b29sYmFye2hlaWdodDphdXRvO21pbi1oZWlnaHQ6MTAwcHh9Omhvc3QgLm1hdC10b29sYmFyIC50Yi1tYXN0ZXItdGFibGUtdGl0bGV7cGFkZGluZy1ib3R0b206NXB4O3dpZHRoOjEwMCV9fTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxse2N1cnNvcjpwb2ludGVyfTpob3N0IDo6bmctZGVlcCBtYXQtY2VsbC50Yi12YWx1ZS1jZWxsIC5tYXQtaWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4O2ZvbnQtc2l6ZToyNHB4O2NvbG9yOiM3NTc1NzV9XG4nXX1dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0eXBlOkplLk1hdERpYWxvZ30se3R5cGU6WC5EaWFsb2dTZXJ2aWNlfSx7dHlwZTptZS5Gb3JtQnVpbGRlcn0se3R5cGU6dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHByb3BEZWNvcmF0b3JzOntzZWFyY2hJbnB1dEZpZWxkOlt7dHlwZTpvLGFyZ3M6WyJzZWFyY2hJbnB1dCJdfV0saXNMZWdhY3k6W3t0eXBlOmF9XX19KTtjbGFzcyBDbyBleHRlbmRzIFJ7Y29uc3RydWN0b3IoKXtzdXBlcigpfX1lKCJTbGF2ZXNEYXRhc291cmNlIixDbyk7Y2xhc3MgVG8gZXh0ZW5kcyB5YXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5lbmFibGVTbGF2ZUNvbnRyb2w9bmV3IHllKCExKSx0aGlzLmVuYWJsZVNsYXZlQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy51cGRhdGVTbGF2ZUVuYWJsaW5nKGUpLHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJzbGF2ZSIpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohIXRoaXMub25DaGFuZ2V9KX0pKX13cml0ZVZhbHVlKGUpe3N1cGVyLndyaXRlVmFsdWUoZSksdGhpcy5vbkVuYWJsZVNsYXZlQ29udHJvbChlKX12YWxpZGF0ZSgpe2NvbnN0e21hc3RlcjplLHNsYXZlOnR9PXRoaXMuYmFzaWNGb3JtR3JvdXAudmFsdWUsbj0hZT8uc2xhdmVzPy5sZW5ndGgmJihlZSh0LHt9KXx8IXQpO3JldHVybiF0aGlzLmJhc2ljRm9ybUdyb3VwLnZhbGlkfHxuP3tiYXNpY0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fTpudWxsfWluaXRCYXNpY0Zvcm1Hcm91cCgpe3JldHVybiB0aGlzLmZiLmdyb3VwKHttYXN0ZXI6W10sc2xhdmU6W119KX11cGRhdGVTbGF2ZUVuYWJsaW5nKGUpe2U/dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInNsYXZlIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KTp0aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgic2xhdmUiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KX1vbkVuYWJsZVNsYXZlQ29udHJvbChlKXt0aGlzLmVuYWJsZVNsYXZlQ29udHJvbC5zZXRWYWx1ZSghIWUuc2xhdmUmJiFlZShlLnNsYXZlLHt9KSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpUbyxkZXBzOltdLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkRpcmVjdGl2ZX0pfXN0YXRpY3t0aGlzLsm1ZGlyPXQuybXJtW5nRGVjbGFyZURpcmVjdGl2ZSh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6VG8sdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnR9KX19ZSgiTW9kYnVzQmFzaWNDb25maWdEaXJlY3RpdmUiLFRvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlRvLGRlY29yYXRvcnM6W3t0eXBlOnN9XSxjdG9yUGFyYW1ldGVyczooKT0+W119KTtjbGFzcyBTb3tjb25zdHJ1Y3RvcihlKXt0aGlzLmZiPWUsdGhpcy5Nb2RidXNQcm90b2NvbExhYmVsc01hcD16bix0aGlzLk1vZGJ1c01ldGhvZExhYmVsc01hcD1Lbix0aGlzLnBvcnRMaW1pdHM9RXQsdGhpcy5tb2RidXNQcm90b2NvbFR5cGVzPU9iamVjdC52YWx1ZXMoSG4pLHRoaXMubW9kYnVzTWV0aG9kVHlwZXM9T2JqZWN0LnZhbHVlcyhXbiksdGhpcy5tb2RidXNTZXJpYWxNZXRob2RUeXBlcz1PYmplY3QudmFsdWVzKGpuKSx0aGlzLm1vZGJ1c09yZGVyVHlwZT1PYmplY3QudmFsdWVzKEpuKSx0aGlzLk1vZGJ1c1Byb3RvY29sVHlwZT1Ibix0aGlzLm1vZGJ1c0JhdWRyYXRlcz1sYSx0aGlzLmlzU2xhdmVFbmFibGVkPSExLHRoaXMuc2VyaWFsU3BlY2lmaWNDb250cm9sS2V5cz1bInNlcmlhbFBvcnQiLCJiYXVkcmF0ZSJdLHRoaXMudGNwVWRwU3BlY2lmaWNDb250cm9sS2V5cz1bInBvcnQiLCJzZWN1cml0eSIsImhvc3QiXSx0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLnNob3dTZWN1cml0eUNvbnRyb2w9dGhpcy5mYi5jb250cm9sKCExKSx0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwPXRoaXMuZmIuZ3JvdXAoe3R5cGU6W0huLlRDUF0saG9zdDpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scG9ydDpbbnVsbCxbdWUucmVxdWlyZWQsdWUubWluKEV0Lk1JTiksdWUubWF4KEV0Lk1BWCldXSxzZXJpYWxQb3J0OlsiIixbdWUucmVxdWlyZWQsdWUucGF0dGVybihrdCldXSxtZXRob2Q6W1duLlNPQ0tFVF0sdW5pdElkOltudWxsLFt1ZS5yZXF1aXJlZF1dLGJhdWRyYXRlOlt0aGlzLm1vZGJ1c0JhdWRyYXRlc1swXV0sZGV2aWNlTmFtZTpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0sZGV2aWNlVHlwZTpbIiIsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oa3QpXV0scG9sbFBlcmlvZDpbNWUzLFt1ZS5yZXF1aXJlZF1dLHNlbmREYXRhVG9UaGluZ3NCb2FyZDpbITFdLGJ5dGVPcmRlcjpbSm4uQklHXSx3b3JkT3JkZXI6W0puLkJJR10sc2VjdXJpdHk6W10saWRlbnRpdHk6dGhpcy5mYi5ncm91cCh7dmVuZG9yTmFtZTpbIiIsW3VlLnBhdHRlcm4oa3QpXV0scHJvZHVjdENvZGU6WyIiLFt1ZS5wYXR0ZXJuKGt0KV1dLHZlbmRvclVybDpbIiIsW3VlLnBhdHRlcm4oa3QpXV0scHJvZHVjdE5hbWU6WyIiLFt1ZS5wYXR0ZXJuKGt0KV1dLG1vZGVsTmFtZTpbIiIsW3VlLnBhdHRlcm4oa3QpXV19KSx2YWx1ZXM6W119KSx0aGlzLm9ic2VydmVWYWx1ZUNoYW5nZXMoKSx0aGlzLm9ic2VydmVUeXBlQ2hhbmdlKCksdGhpcy5vYnNlcnZlU2hvd1NlY3VyaXR5KCl9Z2V0IHByb3RvY29sVHlwZSgpe3JldHVybiB0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldCgidHlwZSIpLnZhbHVlfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9dmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC52YWxpZD9udWxsOntzbGF2ZUNvbmZpZ0Zvcm1Hcm91cDp7dmFsaWQ6ITF9fX13cml0ZVZhbHVlKGUpe3RoaXMuc2hvd1NlY3VyaXR5Q29udHJvbC5wYXRjaFZhbHVlKCEhZS5zZWN1cml0eSYmIWVlKGUuc2VjdXJpdHkse30pKSx0aGlzLnVwZGF0ZVNsYXZlQ29uZmlnKGUpfXNldERpc2FibGVkU3RhdGUoZSl7dGhpcy5pc1NsYXZlRW5hYmxlZD0hZSx0aGlzLnVwZGF0ZUZvcm1FbmFibGVTdGF0ZSgpfW9ic2VydmVWYWx1ZUNoYW5nZXMoKXt0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9PntlLnR5cGU9PT1Ibi5TZXJpYWwmJihlLnBvcnQ9ZS5zZXJpYWxQb3J0LGRlbGV0ZSBlLnNlcmlhbFBvcnQpLHRoaXMub25DaGFuZ2UoZSksdGhpcy5vblRvdWNoZWQoKX0pKX1vYnNlcnZlVHlwZUNoYW5nZSgpe3RoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMudXBkYXRlRm9ybUVuYWJsZVN0YXRlKCksdGhpcy51cGRhdGVNZXRob2RUeXBlKGUpfSkpfXVwZGF0ZU1ldGhvZFR5cGUoZSl7dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoIm1ldGhvZCIpLnZhbHVlIT09V24uUlRVJiZ0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldCgibWV0aG9kIikucGF0Y2hWYWx1ZShlPT09SG4uU2VyaWFsP2puLkFTQ0lJOlduLlNPQ0tFVCx7ZW1pdEV2ZW50OiExfSl9dXBkYXRlRm9ybUVuYWJsZVN0YXRlKCl7dGhpcy5pc1NsYXZlRW5hYmxlZD8odGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5lbmFibGUoe2VtaXRFdmVudDohMX0pLHRoaXMuc2hvd1NlY3VyaXR5Q29udHJvbC5lbmFibGUoe2VtaXRFdmVudDohMX0pKToodGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSx0aGlzLnNob3dTZWN1cml0eUNvbnRyb2wuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpLHRoaXMudXBkYXRlRW5hYmxpbmdCeVByb3RvY29sKCksdGhpcy51cGRhdGVTZWN1cml0eUVuYWJsZSh0aGlzLnNob3dTZWN1cml0eUNvbnRyb2wudmFsdWUpfW9ic2VydmVTaG93U2VjdXJpdHkoKXt0aGlzLnNob3dTZWN1cml0eUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+dGhpcy51cGRhdGVTZWN1cml0eUVuYWJsZShlKSkpfXVwZGF0ZVNlY3VyaXR5RW5hYmxlKGUpe2UmJnRoaXMuaXNTbGF2ZUVuYWJsZWQmJnRoaXMucHJvdG9jb2xUeXBlIT09SG4uU2VyaWFsP3RoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KCJzZWN1cml0eSIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSk6dGhpcy5zbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoInNlY3VyaXR5IikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSl9dXBkYXRlRW5hYmxpbmdCeVByb3RvY29sKCl7Y29uc3QgZT10aGlzLnByb3RvY29sVHlwZT09PUhuLlNlcmlhbCx0PWU/dGhpcy5zZXJpYWxTcGVjaWZpY0NvbnRyb2xLZXlzOnRoaXMudGNwVWRwU3BlY2lmaWNDb250cm9sS2V5cyxuPWU/dGhpcy50Y3BVZHBTcGVjaWZpY0NvbnRyb2xLZXlzOnRoaXMuc2VyaWFsU3BlY2lmaWNDb250cm9sS2V5czt0aGlzLmlzU2xhdmVFbmFibGVkJiZ0LmZvckVhY2goKGU9PnRoaXMuc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KGUpPy5lbmFibGUoe2VtaXRFdmVudDohMX0pKSksbi5mb3JFYWNoKChlPT50aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChlKT8uZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpKX11cGRhdGVTbGF2ZUNvbmZpZyhlKXtjb25zdHt0eXBlOnQ9SG4uVENQLG1ldGhvZDpuPVduLlJUVSx1bml0SWQ6YT0wLGRldmljZU5hbWU6bz0iIixkZXZpY2VUeXBlOmk9IiIscG9sbFBlcmlvZDpyPTVlMyxzZW5kRGF0YVRvVGhpbmdzQm9hcmQ6cz0hMSxieXRlT3JkZXI6bD1Kbi5CSUcsd29yZE9yZGVyOmM9Sm4uQklHLHNlY3VyaXR5OnA9e30saWRlbnRpdHk6bT17dmVuZG9yTmFtZToiIixwcm9kdWN0Q29kZToiIix2ZW5kb3JVcmw6IiIscHJvZHVjdE5hbWU6IiIsbW9kZWxOYW1lOiIifSx2YWx1ZXM6ZD17fSxiYXVkcmF0ZTp1PXRoaXMubW9kYnVzQmF1ZHJhdGVzWzBdLGhvc3Q6Zz0iIixwb3J0OmY9bnVsbH09ZSx5PXt0eXBlOnQsbWV0aG9kOm4sdW5pdElkOmEsZGV2aWNlTmFtZTpvLGRldmljZVR5cGU6aSxwb2xsUGVyaW9kOnIsc2VuZERhdGFUb1RoaW5nc0JvYXJkOiEhcyxieXRlT3JkZXI6bCx3b3JkT3JkZXI6YyxzZWN1cml0eTpwLGlkZW50aXR5Om0sdmFsdWVzOmQsYmF1ZHJhdGU6dSxob3N0OnQ9PT1Ibi5TZXJpYWw/IiI6Zyxwb3J0OnQ9PT1Ibi5TZXJpYWw/bnVsbDpmLHNlcmlhbFBvcnQ6dD09PUhuLlNlcmlhbD9mOiIifTt0aGlzLnNsYXZlQ29uZmlnRm9ybUdyb3VwLnNldFZhbHVlKHkse2VtaXRFdmVudDohMX0pfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6U28sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpTbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1vZGJ1cy1zbGF2ZS1jb25maWciLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PlNvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5TbykpLG11bHRpOiEwfV0sbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgW2Zvcm1Hcm91cF09InNsYXZlQ29uZmlnRm9ybUdyb3VwIiBjbGFzcz0ic2xhdmUtY29udGFpbmVyIj5cbiAgPGRpdiBjbGFzcz0ic2xhdmUtY29udGVudCB0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIiA+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCByb3cgc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIgbm8tZ2FwIGZpbGwtd2lkdGgiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci1zbGF2ZS1jb25maWc8L2Rpdj5cbiAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2YgbW9kYnVzUHJvdG9jb2xUeXBlcyIgW3ZhbHVlXT0idHlwZSI+e3sgTW9kYnVzUHJvdG9jb2xMYWJlbHNNYXAuZ2V0KHR5cGUpIH19PC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiPlxuICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIlxuICAgICAgICAgICBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIlxuICAgICAgICAgICBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmhvc3RcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuaG9zdDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJob3N0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lmhvc3QtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCBlbHNlIHNlcmlhbFBvcnQiXG4gICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiXG4gICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSJ7e3BvcnRMaW1pdHMuTUlOfX0iIG1heD0ie3twb3J0TGltaXRzLk1BWH19IlxuICAgICAgICAgICAgICAgICAgIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvcnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykgfCBnZXRHYXRld2F5UG9ydFRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ21heFwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLXRlbXBsYXRlICNzZXJpYWxQb3J0PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc2VyaWFsLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucG9ydDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJpYWxQb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IlwnZ2F0ZXdheS5wb3J0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5mcmFtZXItdHlwZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+XG4gICAgICAgICAgZ2F0ZXdheS5tZXRob2RcbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBtZXRob2Qgb2YgcHJvdG9jb2xUeXBlID09PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsID8gbW9kYnVzU2VyaWFsTWV0aG9kVHlwZXMgOiBtb2RidXNNZXRob2RUeXBlcyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT0ibWV0aG9kIj57eyBNb2RidXNNZXRob2RMYWJlbHNNYXAuZ2V0KG1ldGhvZCkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy51bml0LWlkXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnVuaXQtaWQ8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InVuaXRJZCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudW5pdC1pZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCd1bml0SWRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLW5hbWU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLXByb2ZpbGU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlVHlwZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLXByb2ZpbGUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VUeXBlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgIDxzcGFuIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCB0cmFuc2xhdGU+XG4gICAgICAgICAgZ2F0ZXdheS5wb2xsLXBlcmlvZFxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvbGxQZXJpb2QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSA9PT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJhdWRyYXRlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJhdWRyYXRlPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJiYXVkcmF0ZSI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCByYXRlIG9mIG1vZGJ1c0JhdWRyYXRlcyIgW3ZhbHVlXT0icmF0ZSI+e3sgcmF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJzZW5kRGF0YVRvVGhpbmdzQm9hcmQiPlxuICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWRhdGEtdG8tcGxhdGZvcm1cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIj5cbiAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5hZHZhbmNlZC1jb25uZWN0aW9uLXNldHRpbmdzPC9kaXY+XG4gICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJ5dGUtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuYnl0ZS1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYnl0ZU9yZGVyIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndvcmQtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud29yZC1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0id29yZE9yZGVyIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCB0Yi1zbGlkZS10b2dnbGUiPlxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJzaG93U2VjdXJpdHlDb250cm9sLnZhbHVlIj5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZ4TGF5b3V0QWxpZ249ImNlbnRlciIgW2Zvcm1Db250cm9sXT0ic2hvd1NlY3VyaXR5Q29udHJvbCIgY2xhc3M9Im1hdC1zbGlkZSIgKGNsaWNrKT0iJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGxzLWNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgPHRiLW1vZGJ1cy1zZWN1cml0eS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZWN1cml0eSI+PC90Yi1tb2RidXMtc2VjdXJpdHktY29uZmlnPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2lkZW50aXR5XCcpIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudmVuZG9yLW5hbWU8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmVuZG9yTmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnByb2R1Y3QtY29kZTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwcm9kdWN0Q29kZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnZlbmRvci11cmw8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmVuZG9yVXJsIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucHJvZHVjdC1uYW1lPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InByb2R1Y3ROYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkubW9kZWwtbmFtZTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJtb2RlbE5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWVzPC9kaXY+XG4gICAgICA8dGItbW9kYnVzLXZhbHVlcyBmb3JtQ29udHJvbE5hbWU9InZhbHVlcyI+PC90Yi1tb2RidXMtdmFsdWVzPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxkZXBlbmRlbmNpZXM6W3traW5kOiJuZ21vZHVsZSIsdHlwZTpIfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6S2UuTWF0SWNvbixzZWxlY3RvcjoibWF0LWljb24iLGlucHV0czpbImNvbG9yIiwiaW5saW5lIiwic3ZnSWNvbiIsImZvbnRTZXQiLCJmb250SWNvbiJdLGV4cG9ydEFzOlsibWF0SWNvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnhlLk1hdElucHV0LHNlbGVjdG9yOiJpbnB1dFttYXRJbnB1dF0sIHRleHRhcmVhW21hdElucHV0XSwgc2VsZWN0W21hdE5hdGl2ZUNvbnRyb2xdLCAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsaW5wdXRzOlsiZGlzYWJsZWQiLCJpZCIsInBsYWNlaG9sZGVyIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsImVycm9yU3RhdGVNYXRjaGVyIiwiYXJpYS1kZXNjcmliZWRieSIsInZhbHVlIiwicmVhZG9ubHkiXSxleHBvcnRBczpbIm1hdElucHV0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dmUuTWF0Rm9ybUZpZWxkLHNlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsaW5wdXRzOlsiaGlkZVJlcXVpcmVkTWFya2VyIiwiY29sb3IiLCJmbG9hdExhYmVsIiwiYXBwZWFyYW5jZSIsInN1YnNjcmlwdFNpemluZyIsImhpbnRMYWJlbCJdLGV4cG9ydEFzOlsibWF0Rm9ybUZpZWxkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWwsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwiLGlucHV0czpbImhpZGVUb2dnbGUiLCJ0b2dnbGVQb3NpdGlvbiJdLG91dHB1dHM6WyJhZnRlckV4cGFuZCIsImFmdGVyQ29sbGFwc2UiXSxleHBvcnRBczpbIm1hdEV4cGFuc2lvblBhbmVsIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIsc2VsZWN0b3I6Im1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIixpbnB1dHM6WyJleHBhbmRlZEhlaWdodCIsImNvbGxhcHNlZEhlaWdodCIsInRhYkluZGV4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6JGUuTWF0RXhwYW5zaW9uUGFuZWxUaXRsZSxzZWxlY3RvcjoibWF0LXBhbmVsLXRpdGxlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXREaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0XSwgW2Z4TGF5b3V0LnhzXSwgW2Z4TGF5b3V0LnNtXSwgW2Z4TGF5b3V0Lm1kXSwgIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sICBbZnhMYXlvdXQubHQtbGddLCBbZnhMYXlvdXQubHQteGxdLCBbZnhMYXlvdXQuZ3QteHNdLCBbZnhMYXlvdXQuZ3Qtc21dLCAgW2Z4TGF5b3V0Lmd0LW1kXSwgW2Z4TGF5b3V0Lmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXQiLCJmeExheW91dC54cyIsImZ4TGF5b3V0LnNtIiwiZnhMYXlvdXQubWQiLCJmeExheW91dC5sZyIsImZ4TGF5b3V0LnhsIiwiZnhMYXlvdXQubHQtc20iLCJmeExheW91dC5sdC1tZCIsImZ4TGF5b3V0Lmx0LWxnIiwiZnhMYXlvdXQubHQteGwiLCJmeExheW91dC5ndC14cyIsImZ4TGF5b3V0Lmd0LXNtIiwiZnhMYXlvdXQuZ3QtbWQiLCJmeExheW91dC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWF4VmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttYXhdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtuZ01vZGVsXSIsaW5wdXRzOlsibWF4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZZS5UcnVuY2F0ZVdpdGhUb29sdGlwRGlyZWN0aXZlLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpudC5Ub2dnbGVPcHRpb24sc2VsZWN0b3I6InRiLXRvZ2dsZS1vcHRpb24iLGlucHV0czpbInZhbHVlIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YXQuVG9nZ2xlU2VsZWN0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi10b2dnbGUtc2VsZWN0IixpbnB1dHM6WyJkaXNhYmxlZCIsInNlbGVjdE1lZGlhQnJlYWtwb2ludCIsImFwcGVhcmFuY2UiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImZpbGxIZWlnaHQiLCJleHRyYVBhZGRpbmciLCJwcmltYXJ5QmFja2dyb3VuZCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnV0LkhpbnRUb29sdGlwSWNvbkNvbXBvbmVudCxzZWxlY3RvcjoiW3RiLWhpbnQtdG9vbHRpcC1pY29uXSIsaW5wdXRzOlsidGItaGludC10b29sdGlwLWljb24iLCJ0b29sdGlwUG9zaXRpb24iLCJoaW50SWNvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnlvLHNlbGVjdG9yOiJ0Yi1tb2RidXMtdmFsdWVzIixpbnB1dHM6WyJzaW5nbGVNb2RlIiwiaGlkZU5ld0ZpZWxkcyJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJvLHNlbGVjdG9yOiJ0Yi1tb2RidXMtc2VjdXJpdHktY29uZmlnIixpbnB1dHM6WyJpc01hc3RlciJdfSx7a2luZDoicGlwZSIsdHlwZTp3YSxuYW1lOiJnZXRHYXRld2F5UG9ydFRvb2x0aXAifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlNhLHNlbGVjdG9yOiJbdGJUcnVuY2F0ZVdpdGhUb29sdGlwXSIsaW5wdXRzOlsidGJUcnVuY2F0ZVdpdGhUb29sdGlwIiwidG9vbHRpcEVuYWJsZWQiLCJwb3NpdGlvbiJdfV0sY2hhbmdlRGV0ZWN0aW9uOnQuQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNofSl9fXQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6U28sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1zbGF2ZS1jb25maWciLGNoYW5nZURldGVjdGlvbjpkLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5TbykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+U28pKSxtdWx0aTohMH1dLHN0YW5kYWxvbmU6ITAsaW1wb3J0czpbSCxELHlvLGJvLHdhLFNhXSx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxkaXYgW2Zvcm1Hcm91cF09InNsYXZlQ29uZmlnRm9ybUdyb3VwIiBjbGFzcz0ic2xhdmUtY29udGFpbmVyIj5cbiAgPGRpdiBjbGFzcz0ic2xhdmUtY29udGVudCB0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIiA+XG4gICAgPGRpdiBjbGFzcz0idGItZmxleCByb3cgc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIgbm8tZ2FwIGZpbGwtd2lkdGgiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci1zbGF2ZS1jb25maWc8L2Rpdj5cbiAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0idHlwZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IHR5cGUgb2YgbW9kYnVzUHJvdG9jb2xUeXBlcyIgW3ZhbHVlXT0idHlwZSI+e3sgTW9kYnVzUHJvdG9jb2xMYWJlbHNNYXAuZ2V0KHR5cGUpIH19PC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiPlxuICAgICAgPGRpdiAqbmdJZj0icHJvdG9jb2xUeXBlICE9PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsIlxuICAgICAgICAgICBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIlxuICAgICAgICAgICBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGggdGItcmVxdWlyZWQiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmhvc3RcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuaG9zdDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJob3N0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPSIoXCdnYXRld2F5Lmhvc3QtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2hvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwnaG9zdFwnKS50b3VjaGVkIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCBlbHNlIHNlcmlhbFBvcnQiXG4gICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiXG4gICAgICAgICAgIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9ydFwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+Z2F0ZXdheS5wb3J0PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSJ7e3BvcnRMaW1pdHMuTUlOfX0iIG1heD0ie3twb3J0TGltaXRzLk1BWH19IlxuICAgICAgICAgICAgICAgICAgIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvcnQiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz0idGItZXJyb3ItdG9vbHRpcCJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykgfCBnZXRHYXRld2F5UG9ydFRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9IihzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ21heFwnKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdwb3J0XCcpLnRvdWNoZWQiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLXRlbXBsYXRlICNzZXJpYWxQb3J0PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMuc2VyaWFsLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkucG9ydDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJzZXJpYWxQb3J0IiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IlwnZ2F0ZXdheS5wb3J0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0ic2xhdmVDb25maWdGb3JtR3JvdXAuZ2V0KFwncG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3BvcnRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1lcnJvciI+XG4gICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy5mcmFtZXItdHlwZVwnIHwgdHJhbnNsYXRlIH19IiB0cmFuc2xhdGU+XG4gICAgICAgICAgZ2F0ZXdheS5tZXRob2RcbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJtZXRob2QiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBtZXRob2Qgb2YgcHJvdG9jb2xUeXBlID09PSBNb2RidXNQcm90b2NvbFR5cGUuU2VyaWFsID8gbW9kYnVzU2VyaWFsTWV0aG9kVHlwZXMgOiBtb2RidXNNZXRob2RUeXBlcyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT0ibWV0aG9kIj57eyBNb2RidXNNZXRob2RMYWJlbHNNYXAuZ2V0KG1ldGhvZCkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLm1vZGJ1cy51bml0LWlkXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LnVuaXQtaWQ8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InVuaXRJZCIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkudW5pdC1pZC1yZXF1aXJlZFwnKSB8IHRyYW5zbGF0ZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ3VuaXRJZFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCd1bml0SWRcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLW5hbWU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlTmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLW5hbWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VOYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZU5hbWVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdHJhbnNsYXRlPmdhdGV3YXkuZGV2aWNlLXByb2ZpbGU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0iZGV2aWNlVHlwZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPSJ0Yi1lcnJvci10b29sdGlwIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09IihcJ2dhdGV3YXkuZGV2aWNlLXByb2ZpbGUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJzbGF2ZUNvbmZpZ0Zvcm1Hcm91cC5nZXQoXCdkZXZpY2VUeXBlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2RldmljZVR5cGVcJykudG91Y2hlZCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWVycm9yIj5cbiAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCB0Yi1yZXF1aXJlZCIgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMucG9sbC1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgIDxzcGFuIHRiVHJ1bmNhdGVXaXRoVG9vbHRpcCB0cmFuc2xhdGU+XG4gICAgICAgICAgZ2F0ZXdheS5wb2xsLXBlcmlvZFxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InBvbGxQZXJpb2QiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSA9PT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJhdWRyYXRlXCcgfCB0cmFuc2xhdGUgfX0iIHRyYW5zbGF0ZT5nYXRld2F5LmJhdWRyYXRlPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJiYXVkcmF0ZSI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCByYXRlIG9mIG1vZGJ1c0JhdWRyYXRlcyIgW3ZhbHVlXT0icmF0ZSI+e3sgcmF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJzZW5kRGF0YVRvVGhpbmdzQm9hcmQiPlxuICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zZW5kLWRhdGEtdG8tcGxhdGZvcm1cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIj5cbiAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5hZHZhbmNlZC1jb25uZWN0aW9uLXNldHRpbmdzPC9kaXY+XG4gICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLmJ5dGUtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkuYnl0ZS1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0iYnl0ZU9yZGVyIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLndvcmQtb3JkZXJcJyB8IHRyYW5zbGF0ZSB9fSIgdHJhbnNsYXRlPmdhdGV3YXkud29yZC1vcmRlcjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0id29yZE9yZGVyIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IG9yZGVyIG9mIG1vZGJ1c09yZGVyVHlwZSIgW3ZhbHVlXT0ib3JkZXIiPnt7IG9yZGVyIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9InByb3RvY29sVHlwZSAhPT0gTW9kYnVzUHJvdG9jb2xUeXBlLlNlcmlhbCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCB0Yi1zbGlkZS10b2dnbGUiPlxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9InRiLXNldHRpbmdzIiBbZXhwYW5kZWRdPSJzaG93U2VjdXJpdHlDb250cm9sLnZhbHVlIj5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGZ4TGF5b3V0PSJyb3cgd3JhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZ4TGF5b3V0QWxpZ249ImNlbnRlciIgW2Zvcm1Db250cm9sXT0ic2hvd1NlY3VyaXR5Q29udHJvbCIgY2xhc3M9Im1hdC1zbGlkZSIgKGNsaWNrKT0iJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGxzLWNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgPHRiLW1vZGJ1cy1zZWN1cml0eS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZWN1cml0eSI+PC90Yi1tb2RidXMtc2VjdXJpdHktY29uZmlnPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09InNsYXZlQ29uZmlnRm9ybUdyb3VwLmdldChcJ2lkZW50aXR5XCcpIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkudmVuZG9yLW5hbWU8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmVuZG9yTmFtZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnByb2R1Y3QtY29kZTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJwcm9kdWN0Q29kZSIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQtdGl0bGUtd2lkdGgiIHRyYW5zbGF0ZT5nYXRld2F5LnZlbmRvci11cmw8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT0idmFsdWUiIGZvcm1Db250cm9sTmFtZT0idmVuZG9yVXJsIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucHJvZHVjdC1uYW1lPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZsZXggbm8tZ2FwIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9InZhbHVlIiBmb3JtQ29udHJvbE5hbWU9InByb2R1Y3ROYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkubW9kZWwtbmFtZTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCIgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJtb2RlbE5hbWUiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkudmFsdWVzPC9kaXY+XG4gICAgICA8dGItbW9kYnVzLXZhbHVlcyBmb3JtQ29udHJvbE5hbWU9InZhbHVlcyI+PC90Yi1tb2RidXMtdmFsdWVzPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuJ31dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTptZS5Gb3JtQnVpbGRlcn1dfSk7Y2xhc3Mga28gZXh0ZW5kcyBUb3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5pc0xlZ2FjeT0hMX1tYXBDb25maWdUb0Zvcm1WYWx1ZSh7bWFzdGVyOmUsc2xhdmU6dH0pe3JldHVybnttYXN0ZXI6ZT8uc2xhdmVzP2U6e3NsYXZlczpbXX0sc2xhdmU6dD8/e319fWdldE1hcHBlZFZhbHVlKGUpe3JldHVybnttYXN0ZXI6ZS5tYXN0ZXIsc2xhdmU6ZS5zbGF2ZX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTprbyxkZXBzOm51bGwsdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTprbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1vZGJ1cy1iYXNpYy1jb25maWciLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PmtvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5rbykpLG11bHRpOiEwfV0sdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0iYmFzaWNGb3JtR3JvdXAiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09ImdlbmVyYWxUYWJDb250ZW50Ij48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5Lm1hc3Rlci1jb25uZWN0aW9uc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8dGItbW9kYnVzLW1hc3Rlci10YWJsZSBbaXNMZWdhY3ldPSJpc0xlZ2FjeSIgZm9ybUNvbnRyb2xOYW1lPSJtYXN0ZXIiPjwvdGItbW9kYnVzLW1hc3Rlci10YWJsZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnNlcnZlci1jb25maWdcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggY2VudGVyIj57eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLXNlcnZlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBbZm9ybUNvbnRyb2xdPSJlbmFibGVTbGF2ZUNvbnRyb2wiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZW5hYmxlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPHRiLW1vZGJ1cy1zbGF2ZS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzbGF2ZSI+PC90Yi1tb2RidXMtc2xhdmUtY29uZmlnPlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJuZ21vZHVsZSIsdHlwZTpIfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdUZW1wbGF0ZU91dGxldCxzZWxlY3RvcjoiW25nVGVtcGxhdGVPdXRsZXRdIixpbnB1dHM6WyJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCIsIm5nVGVtcGxhdGVPdXRsZXQiLCJuZ1RlbXBsYXRlT3V0bGV0SW5qZWN0b3IiXX0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0TGFiZWwsc2VsZWN0b3I6Im1hdC1sYWJlbCJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWIsc2VsZWN0b3I6Im1hdC10YWIiLGlucHV0czpbImRpc2FibGVkIiwibGFiZWwiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwibGFiZWxDbGFzcyIsImJvZHlDbGFzcyJdLGV4cG9ydEFzOlsibWF0VGFiIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWJHcm91cCxzZWxlY3RvcjoibWF0LXRhYi1ncm91cCIsaW5wdXRzOlsiY29sb3IiLCJmaXRJbmtCYXJUb0NvbnRlbnQiLCJtYXQtc3RyZXRjaC10YWJzIiwiZHluYW1pY0hlaWdodCIsInNlbGVjdGVkSW5kZXgiLCJoZWFkZXJQb3NpdGlvbiIsImFuaW1hdGlvbkR1cmF0aW9uIiwiY29udGVudFRhYkluZGV4IiwiZGlzYWJsZVBhZ2luYXRpb24iLCJkaXNhYmxlUmlwcGxlIiwicHJlc2VydmVDb250ZW50IiwiYmFja2dyb3VuZENvbG9yIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSJdLG91dHB1dHM6WyJzZWxlY3RlZEluZGV4Q2hhbmdlIiwiZm9jdXNDaGFuZ2UiLCJhbmltYXRpb25Eb25lIiwic2VsZWN0ZWRUYWJDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFRhYkdyb3VwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6ZXQuTWF0U2xpZGVUb2dnbGUsc2VsZWN0b3I6Im1hdC1zbGlkZS10b2dnbGUiLGlucHV0czpbIm5hbWUiLCJpZCIsImxhYmVsUG9zaXRpb24iLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsInJlcXVpcmVkIiwiY29sb3IiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImNoZWNrZWQiLCJoaWRlSWNvbiIsImRpc2FibGVkSW50ZXJhY3RpdmUiXSxvdXRwdXRzOlsiY2hhbmdlIiwidG9nZ2xlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dEFsaWduRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dEFsaWduXSwgW2Z4TGF5b3V0QWxpZ24ueHNdLCBbZnhMYXlvdXRBbGlnbi5zbV0sIFtmeExheW91dEFsaWduLm1kXSwgIFtmeExheW91dEFsaWduLmxnXSwgW2Z4TGF5b3V0QWxpZ24ueGxdLCBbZnhMYXlvdXRBbGlnbi5sdC1zbV0sIFtmeExheW91dEFsaWduLmx0LW1kXSwgIFtmeExheW91dEFsaWduLmx0LWxnXSwgW2Z4TGF5b3V0QWxpZ24ubHQteGxdLCBbZnhMYXlvdXRBbGlnbi5ndC14c10sIFtmeExheW91dEFsaWduLmd0LXNtXSwgIFtmeExheW91dEFsaWduLmd0LW1kXSwgW2Z4TGF5b3V0QWxpZ24uZ3QtbGddIixpbnB1dHM6WyJmeExheW91dEFsaWduIiwiZnhMYXlvdXRBbGlnbi54cyIsImZ4TGF5b3V0QWxpZ24uc20iLCJmeExheW91dEFsaWduLm1kIiwiZnhMYXlvdXRBbGlnbi5sZyIsImZ4TGF5b3V0QWxpZ24ueGwiLCJmeExheW91dEFsaWduLmx0LXNtIiwiZnhMYXlvdXRBbGlnbi5sdC1tZCIsImZ4TGF5b3V0QWxpZ24ubHQtbGciLCJmeExheW91dEFsaWduLmx0LXhsIiwiZnhMYXlvdXRBbGlnbi5ndC14cyIsImZ4TGF5b3V0QWxpZ24uZ3Qtc20iLCJmeExheW91dEFsaWduLmd0LW1kIiwiZnhMYXlvdXRBbGlnbi5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2wiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpTbyxzZWxlY3RvcjoidGItbW9kYnVzLXNsYXZlLWNvbmZpZyJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6d28sc2VsZWN0b3I6InRiLW1vZGJ1cy1tYXN0ZXItdGFibGUiLGlucHV0czpbImlzTGVnYWN5Il19XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19ZSgiTW9kYnVzQmFzaWNDb25maWdDb21wb25lbnQiLGtvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOmtvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1tb2RidXMtYmFzaWMtY29uZmlnIixjaGFuZ2VEZXRlY3Rpb246ZC5PblB1c2gscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+a28pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PmtvKSksbXVsdGk6ITB9XSxzdGFuZGFsb25lOiEwLGltcG9ydHM6W0gsRCxTbyx3byxrYV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0iYmFzaWNGb3JtR3JvdXAiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09ImdlbmVyYWxUYWJDb250ZW50Ij48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5Lm1hc3Rlci1jb25uZWN0aW9uc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8dGItbW9kYnVzLW1hc3Rlci10YWJsZSBbaXNMZWdhY3ldPSJpc0xlZ2FjeSIgZm9ybUNvbnRyb2xOYW1lPSJtYXN0ZXIiPjwvdGItbW9kYnVzLW1hc3Rlci10YWJsZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnNlcnZlci1jb25maWdcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggY2VudGVyIj57eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLXNlcnZlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBbZm9ybUNvbnRyb2xdPSJlbmFibGVTbGF2ZUNvbnRyb2wiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZW5hYmxlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPHRiLW1vZGJ1cy1zbGF2ZS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzbGF2ZSI+PC90Yi1tb2RidXMtc2xhdmUtY29uZmlnPlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9XG4nXX1dfV19KTtjbGFzcyBMbyBleHRlbmRzIFRve2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmlzTGVnYWN5PSEwfW1hcENvbmZpZ1RvRm9ybVZhbHVlKGUpe3JldHVybnttYXN0ZXI6ZS5tYXN0ZXI/LnNsYXZlcz9lLm1hc3Rlcjp7c2xhdmVzOltdfSxzbGF2ZTplLnNsYXZlP2hhLm1hcFNsYXZlVG9VcGdyYWRlZFZlcnNpb24oZS5zbGF2ZSk6e319fWdldE1hcHBlZFZhbHVlKGUpe3JldHVybnttYXN0ZXI6ZS5tYXN0ZXIsc2xhdmU6ZS5zbGF2ZT9oYS5tYXBTbGF2ZVRvRG93bmdyYWRlZFZlcnNpb24oZS5zbGF2ZSk6e319fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6TG8sZGVwczpudWxsLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6TG8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1tb2RidXMtbGVnYWN5LWJhc2ljLWNvbmZpZyIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+TG8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkxvKSksbXVsdGk6ITB9XSx1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdGFiLWdyb3VwIFtmb3JtR3JvdXBdPSJiYXNpY0Zvcm1Hcm91cCI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZ2VuZXJhbFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkubWFzdGVyLWNvbm5lY3Rpb25zXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDx0Yi1tb2RidXMtbWFzdGVyLXRhYmxlIFtpc0xlZ2FjeV09ImlzTGVnYWN5IiBmb3JtQ29udHJvbE5hbWU9Im1hc3RlciI+PC90Yi1tb2RidXMtbWFzdGVyLXRhYmxlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuc2VydmVyLWNvbmZpZ1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0taGludCB0Yi1wcmltYXJ5LWZpbGwgdGItZmxleCBjZW50ZXIiPnt7IFwnZ2F0ZXdheS5oaW50cy5tb2RidXMtc2VydmVyXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIFtmb3JtQ29udHJvbF09ImVuYWJsZVNsYXZlQ29udHJvbCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5lbmFibGVcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8dGItbW9kYnVzLXNsYXZlLWNvbmZpZyBmb3JtQ29udHJvbE5hbWU9InNsYXZlIj48L3RiLW1vZGJ1cy1zbGF2ZS1jb25maWc+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHtoZWlnaHQ6MTAwJX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1RlbXBsYXRlT3V0bGV0LHNlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0iLGlucHV0czpbIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IiwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRJbmplY3RvciJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0QWxpZ25EaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4TGF5b3V0QWxpZ25dLCBbZnhMYXlvdXRBbGlnbi54c10sIFtmeExheW91dEFsaWduLnNtXSwgW2Z4TGF5b3V0QWxpZ24ubWRdLCAgW2Z4TGF5b3V0QWxpZ24ubGddLCBbZnhMYXlvdXRBbGlnbi54bF0sIFtmeExheW91dEFsaWduLmx0LXNtXSwgW2Z4TGF5b3V0QWxpZ24ubHQtbWRdLCAgW2Z4TGF5b3V0QWxpZ24ubHQtbGddLCBbZnhMYXlvdXRBbGlnbi5sdC14bF0sIFtmeExheW91dEFsaWduLmd0LXhzXSwgW2Z4TGF5b3V0QWxpZ24uZ3Qtc21dLCAgW2Z4TGF5b3V0QWxpZ24uZ3QtbWRdLCBbZnhMYXlvdXRBbGlnbi5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0QWxpZ24iLCJmeExheW91dEFsaWduLnhzIiwiZnhMYXlvdXRBbGlnbi5zbSIsImZ4TGF5b3V0QWxpZ24ubWQiLCJmeExheW91dEFsaWduLmxnIiwiZnhMYXlvdXRBbGlnbi54bCIsImZ4TGF5b3V0QWxpZ24ubHQtc20iLCJmeExheW91dEFsaWduLmx0LW1kIiwiZnhMYXlvdXRBbGlnbi5sdC1sZyIsImZ4TGF5b3V0QWxpZ24ubHQteGwiLCJmeExheW91dEFsaWduLmd0LXhzIiwiZnhMYXlvdXRBbGlnbi5ndC1zbSIsImZ4TGF5b3V0QWxpZ24uZ3QtbWQiLCJmeExheW91dEFsaWduLmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSxbbmdNb2RlbF0sW2Zvcm1Db250cm9sXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTmdDb250cm9sU3RhdHVzR3JvdXAsc2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixpbnB1dHM6WyJmb3JtQ29udHJvbCIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOlNvLHNlbGVjdG9yOiJ0Yi1tb2RidXMtc2xhdmUtY29uZmlnIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3byxzZWxlY3RvcjoidGItbW9kYnVzLW1hc3Rlci10YWJsZSIsaW5wdXRzOlsiaXNMZWdhY3kiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX1lKCJNb2RidXNMZWdhY3lCYXNpY0NvbmZpZ0NvbXBvbmVudCIsTG8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6TG8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLW1vZGJ1cy1sZWdhY3ktYmFzaWMtY29uZmlnIixjaGFuZ2VEZXRlY3Rpb246ZC5PblB1c2gscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+TG8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkxvKSksbXVsdGk6ITB9XSxzdGFuZGFsb25lOiEwLGltcG9ydHM6W0gsRCxTbyx3byxrYV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0iYmFzaWNGb3JtR3JvdXAiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09ImdlbmVyYWxUYWJDb250ZW50Ij48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5Lm1hc3Rlci1jb25uZWN0aW9uc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8dGItbW9kYnVzLW1hc3Rlci10YWJsZSBbaXNMZWdhY3ldPSJpc0xlZ2FjeSIgZm9ybUNvbnRyb2xOYW1lPSJtYXN0ZXIiPjwvdGItbW9kYnVzLW1hc3Rlci10YWJsZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnNlcnZlci1jb25maWdcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLWhpbnQgdGItcHJpbWFyeS1maWxsIHRiLWZsZXggY2VudGVyIj57eyBcJ2dhdGV3YXkuaGludHMubW9kYnVzLXNlcnZlclwnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBbZm9ybUNvbnRyb2xdPSJlbmFibGVTbGF2ZUNvbnRyb2wiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZW5hYmxlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPHRiLW1vZGJ1cy1zbGF2ZS1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzbGF2ZSI+PC90Yi1tb2RidXMtc2xhdmUtY29uZmlnPlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9XG4nXX1dfV19KTtjbGFzcyBGbyBleHRlbmRzIHlhe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm1hcHBpbmdUeXBlcz1mbix0aGlzLmlzTGVnYWN5PSEwfWluaXRCYXNpY0Zvcm1Hcm91cCgpe3JldHVybiB0aGlzLmZiLmdyb3VwKHttYXBwaW5nOltdLHNlcnZlcjpbXX0pfW1hcENvbmZpZ1RvRm9ybVZhbHVlKGUpe3JldHVybntzZXJ2ZXI6ZS5zZXJ2ZXI/eGEubWFwU2VydmVyVG9VcGdyYWRlZFZlcnNpb24oZS5zZXJ2ZXIpOnt9LG1hcHBpbmc6ZS5zZXJ2ZXI/Lm1hcHBpbmc/eGEubWFwTWFwcGluZ1RvVXBncmFkZWRWZXJzaW9uKGUuc2VydmVyLm1hcHBpbmcpOltdfX1nZXRNYXBwZWRWYWx1ZShlKXtyZXR1cm57c2VydmVyOnhhLm1hcFNlcnZlclRvRG93bmdyYWRlZFZlcnNpb24oZSl9fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Rm8sZGVwczpudWxsLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6Rm8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1vcGMtdWEtbGVnYWN5LWJhc2ljLWNvbmZpZyIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+Rm8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkZvKSksbXVsdGk6ITB9XSx1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdGFiLWdyb3VwIFtmb3JtR3JvdXBdPSJiYXNpY0Zvcm1Hcm91cCI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZ2VuZXJhbFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuc2VydmVyXCcgfCB0cmFuc2xhdGUgfX0qIj5cbiAgICA8dGItb3BjLXNlcnZlci1jb25maWcgZm9ybUNvbnRyb2xOYW1lPSJzZXJ2ZXIiIFtoaWRlTmV3RmllbGRzXT0iaXNMZWdhY3kiPjwvdGItb3BjLXNlcnZlci1jb25maWc+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5kYXRhLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AgdGItZmxleCBmaWxsLWhlaWdodCI+XG4gICAgICA8dGItbWFwcGluZy10YWJsZSBmb3JtQ29udHJvbE5hbWU9Im1hcHBpbmciIFtyZXF1aXJlZF09InRydWUiIFttYXBwaW5nVHlwZV09Im1hcHBpbmdUeXBlcy5PUENVQSI+PC90Yi1tYXBwaW5nLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLXRhYi1ncm91cCw6aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWJvZHktd3JhcHBlcntoZWlnaHQ6MTAwJX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1RlbXBsYXRlT3V0bGV0LHNlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0iLGlucHV0czpbIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IiwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRJbmplY3RvciJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6cm8sc2VsZWN0b3I6InRiLW1hcHBpbmctdGFibGUiLGlucHV0czpbInJlcXVpcmVkIiwibWFwcGluZ1R5cGUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpjbyxzZWxlY3RvcjoidGItb3BjLXNlcnZlci1jb25maWciLGlucHV0czpbImhpZGVOZXdGaWVsZHMiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX10Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkZvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1vcGMtdWEtbGVnYWN5LWJhc2ljLWNvbmZpZyIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PkZvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5GbykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsbG8scm8sY29dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10YWItZ3JvdXAgW2Zvcm1Hcm91cF09ImJhc2ljRm9ybUdyb3VwIj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5nZW5lcmFsXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJnZW5lcmFsVGFiQ29udGVudCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5zZXJ2ZXJcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDx0Yi1vcGMtc2VydmVyLWNvbmZpZyBmb3JtQ29udHJvbE5hbWU9InNlcnZlciIgW2hpZGVOZXdGaWVsZHNdPSJpc0xlZ2FjeSI+PC90Yi1vcGMtc2VydmVyLWNvbmZpZz5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmRhdGEtbWFwcGluZ1wnIHwgdHJhbnNsYXRlIH19KiI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCB0Yi1mbGV4IGZpbGwtaGVpZ2h0Ij5cbiAgICAgIDx0Yi1tYXBwaW5nLXRhYmxlIGZvcm1Db250cm9sTmFtZT0ibWFwcGluZyIgW3JlcXVpcmVkXT0idHJ1ZSIgW21hcHBpbmdUeXBlXT0ibWFwcGluZ1R5cGVzLk9QQ1VBIj48L3RiLW1hcHBpbmctdGFibGU+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHtoZWlnaHQ6MTAwJX06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWdyb3VwLDpob3N0IDo6bmctZGVlcCAubWF0LW1kYy10YWItYm9keS13cmFwcGVye2hlaWdodDoxMDAlfVxuJ119XX1dfSk7Y2xhc3MgSW8gZXh0ZW5kcyB5YXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5NYXBwaW5nVHlwZT1mbn1pbml0QmFzaWNGb3JtR3JvdXAoKXtyZXR1cm4gdGhpcy5mYi5ncm91cCh7bWFwcGluZzpbXSxyZXF1ZXN0c01hcHBpbmc6W10sYnJva2VyOltdLHdvcmtlcnM6W119KX1nZXRSZXF1ZXN0RGF0YUFycmF5KGUpe2NvbnN0IHQ9W107cmV0dXJuIGxlKGUpJiZPYmplY3Qua2V5cyhlKS5mb3JFYWNoKChuPT57Zm9yKGNvbnN0IGEgb2YgZVtuXSl0LnB1c2goe3JlcXVlc3RUeXBlOm4scmVxdWVzdFZhbHVlOmF9KX0pKSx0fWdldFJlcXVlc3REYXRhT2JqZWN0KGUpe3JldHVybiBlLnJlZHVjZSgoKGUse3JlcXVlc3RUeXBlOnQscmVxdWVzdFZhbHVlOm59KT0+KGVbdF0ucHVzaChuKSxlKSkse2Nvbm5lY3RSZXF1ZXN0czpbXSxkaXNjb25uZWN0UmVxdWVzdHM6W10sYXR0cmlidXRlUmVxdWVzdHM6W10sYXR0cmlidXRlVXBkYXRlczpbXSxzZXJ2ZXJTaWRlUnBjOltdfSl9Z2V0QnJva2VyTWFwcGVkVmFsdWUoZSx0KXtyZXR1cm57Li4uZSxtYXhOdW1iZXJPZldvcmtlcnM6dC5tYXhOdW1iZXJPZldvcmtlcnM/PzEwMCxtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyOnQubWF4TWVzc2FnZU51bWJlclBlcldvcmtlcj8/MTB9fXdyaXRlVmFsdWUoZSl7dGhpcy5iYXNpY0Zvcm1Hcm91cC5zZXRWYWx1ZSh0aGlzLm1hcENvbmZpZ1RvRm9ybVZhbHVlKGUpLHtlbWl0RXZlbnQ6ITF9KX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOklvLGRlcHM6bnVsbCx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5EaXJlY3RpdmV9KX1zdGF0aWN7dGhpcy7JtWRpcj10Lsm1ybVuZ0RlY2xhcmVEaXJlY3RpdmUoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOklvLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0fSl9fXQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6SW8sZGVjb3JhdG9yczpbe3R5cGU6c31dfSk7Y2xhc3MgQW8gZXh0ZW5kcyBJb3ttYXBDb25maWdUb0Zvcm1WYWx1ZShlKXtjb25zdHticm9rZXI6dCxtYXBwaW5nOm49W10sY29ubmVjdFJlcXVlc3RzOmE9W10sZGlzY29ubmVjdFJlcXVlc3RzOm89W10sYXR0cmlidXRlUmVxdWVzdHM6aT1bXSxhdHRyaWJ1dGVVcGRhdGVzOnI9W10sc2VydmVyU2lkZVJwYzpzPVtdfT1lLGw9bWEubWFwUmVxdWVzdHNUb1VwZ3JhZGVkVmVyc2lvbih7Y29ubmVjdFJlcXVlc3RzOmEsZGlzY29ubmVjdFJlcXVlc3RzOm8sYXR0cmlidXRlUmVxdWVzdHM6aSxhdHRyaWJ1dGVVcGRhdGVzOnIsc2VydmVyU2lkZVJwYzpzfSk7cmV0dXJue3dvcmtlcnM6dCYmKHQubWF4TnVtYmVyT2ZXb3JrZXJzfHx0Lm1heE1lc3NhZ2VOdW1iZXJQZXJXb3JrZXIpP3ttYXhOdW1iZXJPZldvcmtlcnM6dC5tYXhOdW1iZXJPZldvcmtlcnMsbWF4TWVzc2FnZU51bWJlclBlcldvcmtlcjp0Lm1heE1lc3NhZ2VOdW1iZXJQZXJXb3JrZXJ9Ont9LG1hcHBpbmc6bWEubWFwTWFwcGluZ1RvVXBncmFkZWRWZXJzaW9uKG4pfHxbXSxicm9rZXI6dHx8e30scmVxdWVzdHNNYXBwaW5nOnRoaXMuZ2V0UmVxdWVzdERhdGFBcnJheShsKX19Z2V0TWFwcGVkVmFsdWUoZSl7Y29uc3R7YnJva2VyOnQsd29ya2VyczpuLG1hcHBpbmc6YSxyZXF1ZXN0c01hcHBpbmc6b309ZXx8e30saT1vPy5sZW5ndGg/dGhpcy5nZXRSZXF1ZXN0RGF0YU9iamVjdChvKTp7fTtyZXR1cm57YnJva2VyOnRoaXMuZ2V0QnJva2VyTWFwcGVkVmFsdWUodCxuKSxtYXBwaW5nOm1hLm1hcE1hcHBpbmdUb0Rvd25ncmFkZWRWZXJzaW9uKGEpLC4uLm1hLm1hcFJlcXVlc3RzVG9Eb3duZ3JhZGVkVmVyc2lvbihpKX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpBbyxkZXBzOm51bGwsdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpBbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1xdHQtbGVnYWN5LWJhc2ljLWNvbmZpZyIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+QW8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkFvKSksbXVsdGk6ITB9XSx1c2VzSW5oZXJpdGFuY2U6ITAsbmdJbXBvcnQ6dCx0ZW1wbGF0ZTonXHgzYyEtLVxuICBDb3B5cmlnaHQgwqkgMjAxNi0yMDI0IFRoZSBUaGluZ3Nib2FyZCBBdXRob3JzXG5cbiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7XG4gIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyxcbiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLVx4M2VcbjxtYXQtdGFiLWdyb3VwIFtmb3JtR3JvdXBdPSJiYXNpY0Zvcm1Hcm91cCI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZ2VuZXJhbFwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuYnJva2VyLmNvbm5lY3Rpb25cJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDx0Yi1icm9rZXItY29uZmlnLWNvbnRyb2wgZm9ybUNvbnRyb2xOYW1lPSJicm9rZXIiPjwvdGItYnJva2VyLWNvbmZpZy1jb250cm9sPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZGF0YS1tYXBwaW5nXCcgfCB0cmFuc2xhdGUgfX0qIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIHRiLWZsZXggZmlsbC1oZWlnaHQiPlxuICAgICAgPHRiLW1hcHBpbmctdGFibGUgZm9ybUNvbnRyb2xOYW1lPSJtYXBwaW5nIiBbcmVxdWlyZWRdPSJ0cnVlIiBbbWFwcGluZ1R5cGVdPSJNYXBwaW5nVHlwZS5EQVRBIj48L3RiLW1hcHBpbmctdGFibGU+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5yZXF1ZXN0cy1tYXBwaW5nXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AgdGItZmxleCBmaWxsLWhlaWdodCI+XG4gICAgICA8dGItbWFwcGluZy10YWJsZSBmb3JtQ29udHJvbE5hbWU9InJlcXVlc3RzTWFwcGluZyIgW21hcHBpbmdUeXBlXT0iTWFwcGluZ1R5cGUuUkVRVUVTVFMiPjwvdGItbWFwcGluZy10YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LndvcmtlcnMtc2V0dGluZ3NcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgICA8dGItd29ya2Vycy1jb25maWctY29udHJvbCBmb3JtQ29udHJvbE5hbWU9IndvcmtlcnMiPjwvdGItd29ya2Vycy1jb25maWctY29udHJvbD5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtdGFiPlxuPC9tYXQtdGFiLWdyb3VwPlxuXG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7aGVpZ2h0OjEwMCV9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLXRhYi1ncm91cCw6aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWJvZHktd3JhcHBlcntoZWlnaHQ6MTAwJX1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1RlbXBsYXRlT3V0bGV0LHNlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0iLGlucHV0czpbIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IiwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRJbmplY3RvciJdfSx7a2luZDoibmdtb2R1bGUiLHR5cGU6RH0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuUmVxdWlyZWRWYWxpZGF0b3Isc2VsZWN0b3I6Ijpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW2Zvcm1Db250cm9sXSw6bm90KFt0eXBlPWNoZWNrYm94XSlbcmVxdWlyZWRdW25nTW9kZWxdIixpbnB1dHM6WyJyZXF1aXJlZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dW8sc2VsZWN0b3I6InRiLXdvcmtlcnMtY29uZmlnLWNvbnRyb2wifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOm1vLHNlbGVjdG9yOiJ0Yi1icm9rZXItY29uZmlnLWNvbnRyb2wifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnJvLHNlbGVjdG9yOiJ0Yi1tYXBwaW5nLXRhYmxlIixpbnB1dHM6WyJyZXF1aXJlZCIsIm1hcHBpbmdUeXBlIl19XSxjaGFuZ2VEZXRlY3Rpb246dC5DaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KX19dC7Jtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpBbyxkZWNvcmF0b3JzOlt7dHlwZTpuLGFyZ3M6W3tzZWxlY3RvcjoidGItbXF0dC1sZWdhY3ktYmFzaWMtY29uZmlnIixjaGFuZ2VEZXRlY3Rpb246ZC5PblB1c2gscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+QW8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkFvKSksbXVsdGk6ITB9XSxzdGFuZGFsb25lOiEwLGltcG9ydHM6W0gsRCxsbyx1byxtbyxyb10sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRhYi1ncm91cCBbZm9ybUdyb3VwXT0iYmFzaWNGb3JtR3JvdXAiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09ImdlbmVyYWxUYWJDb250ZW50Ij48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmJyb2tlci5jb25uZWN0aW9uXCcgfCB0cmFuc2xhdGUgfX0qIj5cbiAgICA8dGItYnJva2VyLWNvbmZpZy1jb250cm9sIGZvcm1Db250cm9sTmFtZT0iYnJva2VyIj48L3RiLWJyb2tlci1jb25maWctY29udHJvbD5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmRhdGEtbWFwcGluZ1wnIHwgdHJhbnNsYXRlIH19KiI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCB0Yi1mbGV4IGZpbGwtaGVpZ2h0Ij5cbiAgICAgIDx0Yi1tYXBwaW5nLXRhYmxlIGZvcm1Db250cm9sTmFtZT0ibWFwcGluZyIgW3JlcXVpcmVkXT0idHJ1ZSIgW21hcHBpbmdUeXBlXT0iTWFwcGluZ1R5cGUuREFUQSI+PC90Yi1tYXBwaW5nLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkucmVxdWVzdHMtbWFwcGluZ1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIHRiLWZsZXggZmlsbC1oZWlnaHQiPlxuICAgICAgPHRiLW1hcHBpbmctdGFibGUgZm9ybUNvbnRyb2xOYW1lPSJyZXF1ZXN0c01hcHBpbmciIFttYXBwaW5nVHlwZV09Ik1hcHBpbmdUeXBlLlJFUVVFU1RTIj48L3RiLW1hcHBpbmctdGFibGU+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS53b3JrZXJzLXNldHRpbmdzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmciPlxuICAgICAgPHRiLXdvcmtlcnMtY29uZmlnLWNvbnRyb2wgZm9ybUNvbnRyb2xOYW1lPSJ3b3JrZXJzIj48L3RiLXdvcmtlcnMtY29uZmlnLWNvbnRyb2w+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cblxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0e2hlaWdodDoxMDAlfTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy10YWItZ3JvdXAsOmhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLXRhYi1ib2R5LXdyYXBwZXJ7aGVpZ2h0OjEwMCV9XG4nXX1dfV19KTtjbGFzcyBObyBleHRlbmRzIElve21hcENvbmZpZ1RvRm9ybVZhbHVlKGUpe2NvbnN0e2Jyb2tlcjp0LG1hcHBpbmc6bj1bXSxyZXF1ZXN0c01hcHBpbmc6YX09ZTtyZXR1cm57d29ya2Vyczp0JiYodC5tYXhOdW1iZXJPZldvcmtlcnN8fHQubWF4TWVzc2FnZU51bWJlclBlcldvcmtlcik/e21heE51bWJlck9mV29ya2Vyczp0Lm1heE51bWJlck9mV29ya2VycyxtYXhNZXNzYWdlTnVtYmVyUGVyV29ya2VyOnQubWF4TWVzc2FnZU51bWJlclBlcldvcmtlcn06e30sbWFwcGluZzpuPz9bXSxicm9rZXI6dD8/e30scmVxdWVzdHNNYXBwaW5nOnRoaXMuZ2V0UmVxdWVzdERhdGFBcnJheShhKX19Z2V0TWFwcGVkVmFsdWUoZSl7Y29uc3R7YnJva2VyOnQsd29ya2VyczpuLG1hcHBpbmc6YSxyZXF1ZXN0c01hcHBpbmc6b309ZXx8e307cmV0dXJue2Jyb2tlcjp0aGlzLmdldEJyb2tlck1hcHBlZFZhbHVlKHQsbiksbWFwcGluZzphLHJlcXVlc3RzTWFwcGluZzpvPy5sZW5ndGg/dGhpcy5nZXRSZXF1ZXN0RGF0YU9iamVjdChvKTp7fX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpObyxkZXBzOm51bGwsdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpObyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLW1xdHQtYmFzaWMtY29uZmlnIixwcm92aWRlcnM6W3twcm92aWRlOmdlLHVzZUV4aXN0aW5nOm0oKCgpPT5ObykpLG11bHRpOiEwfSx7cHJvdmlkZTpmZSx1c2VFeGlzdGluZzptKCgoKT0+Tm8pKSxtdWx0aTohMH1dLHVzZXNJbmhlcml0YW5jZTohMCxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10YWItZ3JvdXAgW2Zvcm1Hcm91cF09ImJhc2ljRm9ybUdyb3VwIj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5nZW5lcmFsXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJnZW5lcmFsVGFiQ29udGVudCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5icm9rZXIuY29ubmVjdGlvblwnIHwgdHJhbnNsYXRlIH19KiI+XG4gICAgPHRiLWJyb2tlci1jb25maWctY29udHJvbCBmb3JtQ29udHJvbE5hbWU9ImJyb2tlciI+PC90Yi1icm9rZXItY29uZmlnLWNvbnRyb2w+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5kYXRhLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AgdGItZmxleCBmaWxsLWhlaWdodCI+XG4gICAgICA8dGItbWFwcGluZy10YWJsZSBmb3JtQ29udHJvbE5hbWU9Im1hcHBpbmciIFtyZXF1aXJlZF09InRydWUiIFttYXBwaW5nVHlwZV09Ik1hcHBpbmdUeXBlLkRBVEEiPjwvdGItbWFwcGluZy10YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnJlcXVlc3RzLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCB0Yi1mbGV4IGZpbGwtaGVpZ2h0Ij5cbiAgICAgIDx0Yi1tYXBwaW5nLXRhYmxlIGZvcm1Db250cm9sTmFtZT0icmVxdWVzdHNNYXBwaW5nIiBbbWFwcGluZ1R5cGVdPSJNYXBwaW5nVHlwZS5SRVFVRVNUUyI+PC90Yi1tYXBwaW5nLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkud29ya2Vycy1zZXR0aW5nc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgIDx0Yi13b3JrZXJzLWNvbmZpZy1jb250cm9sIGZvcm1Db250cm9sTmFtZT0id29ya2VycyI+PC90Yi13b3JrZXJzLWNvbmZpZy1jb250cm9sPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHtoZWlnaHQ6MTAwJX06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWdyb3VwLDpob3N0IDo6bmctZGVlcCAubWF0LW1kYy10YWItYm9keS13cmFwcGVye2hlaWdodDoxMDAlfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoibmdtb2R1bGUiLHR5cGU6SH0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nVGVtcGxhdGVPdXRsZXQsc2VsZWN0b3I6IltuZ1RlbXBsYXRlT3V0bGV0XSIsaW5wdXRzOlsibmdUZW1wbGF0ZU91dGxldENvbnRleHQiLCJuZ1RlbXBsYXRlT3V0bGV0IiwibmdUZW1wbGF0ZU91dGxldEluamVjdG9yIl19LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOlcuTWF0VGFiLHNlbGVjdG9yOiJtYXQtdGFiIixpbnB1dHM6WyJkaXNhYmxlZCIsImxhYmVsIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImxhYmVsQ2xhc3MiLCJib2R5Q2xhc3MiXSxleHBvcnRBczpbIm1hdFRhYiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOlcuTWF0VGFiR3JvdXAsc2VsZWN0b3I6Im1hdC10YWItZ3JvdXAiLGlucHV0czpbImNvbG9yIiwiZml0SW5rQmFyVG9Db250ZW50IiwibWF0LXN0cmV0Y2gtdGFicyIsImR5bmFtaWNIZWlnaHQiLCJzZWxlY3RlZEluZGV4IiwiaGVhZGVyUG9zaXRpb24iLCJhbmltYXRpb25EdXJhdGlvbiIsImNvbnRlbnRUYWJJbmRleCIsImRpc2FibGVQYWdpbmF0aW9uIiwiZGlzYWJsZVJpcHBsZSIsInByZXNlcnZlQ29udGVudCIsImJhY2tncm91bmRDb2xvciIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiXSxvdXRwdXRzOlsic2VsZWN0ZWRJbmRleENoYW5nZSIsImZvY3VzQ2hhbmdlIiwiYW5pbWF0aW9uRG9uZSIsInNlbGVjdGVkVGFiQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRUYWJHcm91cCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5SZXF1aXJlZFZhbGlkYXRvcixzZWxlY3RvcjoiOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbE5hbWVdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bbmdNb2RlbF0iLGlucHV0czpbInJlcXVpcmVkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoicGlwZSIsdHlwZTpZLlRyYW5zbGF0ZVBpcGUsbmFtZToidHJhbnNsYXRlIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1byxzZWxlY3RvcjoidGItd29ya2Vycy1jb25maWctY29udHJvbCJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6bW8sc2VsZWN0b3I6InRiLWJyb2tlci1jb25maWctY29udHJvbCJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6cm8sc2VsZWN0b3I6InRiLW1hcHBpbmctdGFibGUiLGlucHV0czpbInJlcXVpcmVkIiwibWFwcGluZ1R5cGUiXX1dLGNoYW5nZURldGVjdGlvbjp0LkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pfX10Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOk5vLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1tcXR0LWJhc2ljLWNvbmZpZyIsY2hhbmdlRGV0ZWN0aW9uOmQuT25QdXNoLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9Pk5vKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5ObykpLG11bHRpOiEwfV0sc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILEQsbG8sdW8sbW8scm9dLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10YWItZ3JvdXAgW2Zvcm1Hcm91cF09ImJhc2ljRm9ybUdyb3VwIj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5nZW5lcmFsXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPSJnZW5lcmFsVGFiQ29udGVudCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5icm9rZXIuY29ubmVjdGlvblwnIHwgdHJhbnNsYXRlIH19KiI+XG4gICAgPHRiLWJyb2tlci1jb25maWctY29udHJvbCBmb3JtQ29udHJvbE5hbWU9ImJyb2tlciI+PC90Yi1icm9rZXItY29uZmlnLWNvbnRyb2w+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5kYXRhLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIG5vLXBhZGRpbmcgcGFkZGluZy10b3AgdGItZmxleCBmaWxsLWhlaWdodCI+XG4gICAgICA8dGItbWFwcGluZy10YWJsZSBmb3JtQ29udHJvbE5hbWU9Im1hcHBpbmciIFtyZXF1aXJlZF09InRydWUiIFttYXBwaW5nVHlwZV09Ik1hcHBpbmdUeXBlLkRBVEEiPjwvdGItbWFwcGluZy10YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnJlcXVlc3RzLW1hcHBpbmdcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1ib3JkZXIgbm8tcGFkZGluZyBwYWRkaW5nLXRvcCB0Yi1mbGV4IGZpbGwtaGVpZ2h0Ij5cbiAgICAgIDx0Yi1tYXBwaW5nLXRhYmxlIGZvcm1Db250cm9sTmFtZT0icmVxdWVzdHNNYXBwaW5nIiBbbWFwcGluZ1R5cGVdPSJNYXBwaW5nVHlwZS5SRVFVRVNUUyI+PC90Yi1tYXBwaW5nLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkud29ya2Vycy1zZXR0aW5nc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgIDx0Yi13b3JrZXJzLWNvbmZpZy1jb250cm9sIGZvcm1Db250cm9sTmFtZT0id29ya2VycyI+PC90Yi13b3JrZXJzLWNvbmZpZy1jb250cm9sPlxuICAgIDwvZGl2PlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHtoZWlnaHQ6MTAwJX06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWdyb3VwLDpob3N0IDo6bmctZGVlcCAubWF0LW1kYy10YWItYm9keS13cmFwcGVye2hlaWdodDoxMDAlfVxuJ119XX1dfSk7Y2xhc3MgTW97aXNFcnJvclN0YXRlKGUpe3JldHVybiBlJiZlLmludmFsaWR9fWUoIkZvcmNlRXJyb3JTdGF0ZU1hdGNoZXIiLE1vKTtjbGFzcyBFbyBleHRlbmRzIE97Y29uc3RydWN0b3IoZSx0LG4sYSxvLGkscixzLGwsYyxwKXtzdXBlcihlKSx0aGlzLnN0b3JlPWUsdGhpcy5mYj10LHRoaXMudHJhbnNsYXRlPW4sdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlPWEsdGhpcy5kaWFsb2dTZXJ2aWNlPW8sdGhpcy5kaWFsb2c9aSx0aGlzLnRlbGVtZXRyeVdzU2VydmljZT1yLHRoaXMuem9uZT1zLHRoaXMudXRpbHM9bCx0aGlzLmlzTGF0ZXN0VmVyc2lvbkNvbmZpZz1jLHRoaXMuY2Q9cCx0aGlzLkNvbm5lY3RvclR5cGU9X3QsdGhpcy5hbGxvd0Jhc2ljQ29uZmlnPW5ldyBTZXQoW190Lk1RVFQsX3QuT1BDVUEsX3QuTU9EQlVTXSksdGhpcy5nYXRld2F5TG9nTGV2ZWw9T2JqZWN0LnZhbHVlcyhNdCksdGhpcy5kaXNwbGF5ZWRDb2x1bW5zPVsiZW5hYmxlZCIsImtleSIsInR5cGUiLCJzeW5jU3RhdHVzIiwiZXJyb3JzIiwiYWN0aW9ucyJdLHRoaXMuR2F0ZXdheUNvbm5lY3RvclR5cGVzVHJhbnNsYXRlc01hcD1IdCx0aGlzLkNvbm5lY3RvckNvbmZpZ3VyYXRpb25Nb2Rlcz1vbix0aGlzLlJlcG9ydFN0cmF0ZWd5RGVmYXVsdFZhbHVlPWxuLHRoaXMubW9kZT10aGlzLkNvbm5lY3RvckNvbmZpZ3VyYXRpb25Nb2Rlcy5CQVNJQyx0aGlzLmJhc2ljQ29uZmlnSW5pdFN1YmplY3Q9bmV3IFNlLHRoaXMuYWN0aXZlRGF0YT1bXSx0aGlzLmluYWN0aXZlRGF0YT1bXSx0aGlzLnNoYXJlZEF0dHJpYnV0ZURhdGE9W10sdGhpcy5zdWJzY3JpcHRpb25PcHRpb25zPXtjYWxsYmFja3M6e29uRGF0YVVwZGF0ZWQ6KCk9PnRoaXMuY3R4Lm5nWm9uZS5ydW4oKCgpPT57dGhpcy5vbkVycm9yc1VwZGF0ZWQoKX0pKSxvbkRhdGFVcGRhdGVFcnJvcjooZSx0KT0+dGhpcy5jdHgubmdab25lLnJ1bigoKCk9Pnt0aGlzLm9uRGF0YVVwZGF0ZUVycm9yKHQpfSkpfX0sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5hdHRyaWJ1dGVVcGRhdGVTdWJqZWN0PW5ldyBTZSx0aGlzLmluaXREYXRhU291cmNlcygpLHRoaXMuaW5pdENvbm5lY3RvckZvcm0oKSx0aGlzLm9ic2VydmVBdHRyaWJ1dGVDaGFuZ2UoKX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLmRhdGFTb3VyY2Uuc29ydD10aGlzLnNvcnQsdGhpcy5kYXRhU291cmNlLnNvcnRpbmdEYXRhQWNjZXNzb3I9dGhpcy5nZXRTb3J0aW5nRGF0YUFjY2Vzc29yKCksdGhpcy5jdHguJHNjb3BlLmdhdGV3YXlDb25uZWN0b3JzPXRoaXMsdGhpcy5sb2FkQ29ubmVjdG9ycygpLHRoaXMubG9hZEdhdGV3YXlTdGF0ZSgpLHRoaXMub2JzZXJ2ZU1vZGVDaGFuZ2UoKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKSxzdXBlci5uZ09uRGVzdHJveSgpfW9uU2F2ZUNvbm5lY3Rvcigpe3RoaXMuc2F2ZUNvbm5lY3Rvcih0aGlzLmdldFVwZGF0ZWRDb25uZWN0b3JEYXRhKHRoaXMuY29ubmVjdG9yRm9ybS52YWx1ZSksITEpfXNhdmVDb25uZWN0b3IoZSx0PSEwKXtjb25zdCBuPXR8fHRoaXMuYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyh0aGlzLmluaXRpYWxDb25uZWN0b3IubmFtZSk/TC5TSEFSRURfU0NPUEU6TC5TRVJWRVJfU0NPUEU7QWUodGhpcy5nZXRFbnRpdHlBdHRyaWJ1dGVUYXNrcyhlLG4pKS5waXBlKE9lKDEpKS5zdWJzY3JpYmUoKG49Pnt0aGlzLnNob3dUb2FzdCh0P3RoaXMudHJhbnNsYXRlLmluc3RhbnQoImdhdGV3YXkuY29ubmVjdG9yLWNyZWF0ZWQiKTp0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJnYXRld2F5LmNvbm5lY3Rvci11cGRhdGVkIikpLHRoaXMuaW5pdGlhbENvbm5lY3Rvcj1lLHRoaXMudXBkYXRlRGF0YSghMCksdGhpcy5jb25uZWN0b3JGb3JtLm1hcmtBc1ByaXN0aW5lKCl9KSl9Z2V0RW50aXR5QXR0cmlidXRlVGFza3MoZSx0KXtjb25zdCBuPVtdLGE9W3trZXk6ZS5uYW1lLHZhbHVlOmV9XSxvPVtdLGk9IXRoaXMuYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyhlLm5hbWUpJiZ0PT09TC5TSEFSRURfU0NPUEV8fCF0aGlzLmluYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyhlLm5hbWUpJiZ0PT09TC5TRVJWRVJfU0NPUEUscj10aGlzLmluaXRpYWxDb25uZWN0b3ImJnRoaXMuaW5pdGlhbENvbm5lY3Rvci5uYW1lIT09ZS5uYW1lO3JldHVybiByJiYoby5wdXNoKHtrZXk6dGhpcy5pbml0aWFsQ29ubmVjdG9yLm5hbWV9KSx0aGlzLnJlbW92ZUNvbm5lY3RvckZyb21MaXN0KHRoaXMuaW5pdGlhbENvbm5lY3Rvci5uYW1lLCEwKSx0aGlzLnJlbW92ZUNvbm5lY3RvckZyb21MaXN0KHRoaXMuaW5pdGlhbENvbm5lY3Rvci5uYW1lLCExKSksaSYmKHQ9PT1MLlNIQVJFRF9TQ09QRT90aGlzLmFjdGl2ZUNvbm5lY3RvcnMucHVzaChlLm5hbWUpOnRoaXMuaW5hY3RpdmVDb25uZWN0b3JzLnB1c2goZS5uYW1lKSksKHJ8fGkpJiZuLnB1c2godGhpcy5nZXRTYXZlRW50aXR5QXR0cmlidXRlc1Rhc2sodCkpLG4ucHVzaCh0aGlzLmF0dHJpYnV0ZVNlcnZpY2Uuc2F2ZUVudGl0eUF0dHJpYnV0ZXModGhpcy5kZXZpY2UsdCxhKSksby5sZW5ndGgmJm4ucHVzaCh0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZGVsZXRlRW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSx0LG8pKSxufWdldFNhdmVFbnRpdHlBdHRyaWJ1dGVzVGFzayhlKXtjb25zdCB0PWU9PT1MLlNIQVJFRF9TQ09QRT8iYWN0aXZlX2Nvbm5lY3RvcnMiOiJpbmFjdGl2ZV9jb25uZWN0b3JzIixuPWU9PT1MLlNIQVJFRF9TQ09QRT90aGlzLmFjdGl2ZUNvbm5lY3RvcnM6dGhpcy5pbmFjdGl2ZUNvbm5lY3RvcnM7cmV0dXJuIHRoaXMuYXR0cmlidXRlU2VydmljZS5zYXZlRW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSxlLFt7a2V5OnQsdmFsdWU6bn1dKX1yZW1vdmVDb25uZWN0b3JGcm9tTGlzdChlLHQpe2NvbnN0IG49dD90aGlzLmFjdGl2ZUNvbm5lY3RvcnM6dGhpcy5pbmFjdGl2ZUNvbm5lY3RvcnMsYT1uLmluZGV4T2YoZSk7LTEhPT1hJiZuLnNwbGljZShhLDEpfWdldFVwZGF0ZWRDb25uZWN0b3JEYXRhKGUpe2NvbnN0IHQ9ey4uLmV9O3JldHVybiB0LmNvbmZpZ3VyYXRpb249YCR7Y2UodC5uYW1lKX0uanNvbmAsZGVsZXRlIHQuYmFzaWNDb25maWcsdC50eXBlIT09X3QuR1JQQyYmZGVsZXRlIHQua2V5LHQudHlwZSE9PV90LkNVU1RPTSYmZGVsZXRlIHQuY2xhc3MsdC50eXBlPT09X3QuTU9EQlVTJiZ0aGlzLmlzTGF0ZXN0VmVyc2lvbkNvbmZpZy50cmFuc2Zvcm0odC5jb25maWdWZXJzaW9uKSYmKHQucmVwb3J0U3RyYXRlZ3l8fCh0LnJlcG9ydFN0cmF0ZWd5PXt0eXBlOnNuLk9uUmVwb3J0UGVyaW9kLHJlcG9ydFBlcmlvZDpsbi5Db25uZWN0b3J9LGRlbGV0ZSB0LnNlbmREYXRhT25seU9uQ2hhbmdlKSksdGhpcy5nYXRld2F5VmVyc2lvbiYmIXQuY29uZmlnVmVyc2lvbiYmKHQuY29uZmlnVmVyc2lvbj10aGlzLmdhdGV3YXlWZXJzaW9uKSx0LnRzPURhdGUubm93KCksdH11cGRhdGVEYXRhKGU9ITEpe3RoaXMucGFnZUxpbmsuc29ydE9yZGVyLnByb3BlcnR5PXRoaXMuc29ydC5hY3RpdmUsdGhpcy5wYWdlTGluay5zb3J0T3JkZXIuZGlyZWN0aW9uPXdbdGhpcy5zb3J0LmRpcmVjdGlvbi50b1VwcGVyQ2FzZSgpXSx0aGlzLmF0dHJpYnV0ZURhdGFTb3VyY2UubG9hZEF0dHJpYnV0ZXModGhpcy5kZXZpY2UsTC5DTElFTlRfU0NPUEUsdGhpcy5wYWdlTGluayxlKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLmFjdGl2ZURhdGE9ZS5kYXRhLmZpbHRlcigoZT0+dGhpcy5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKGUua2V5KSkpLHRoaXMuY29tYmluZURhdGEoKSx0aGlzLmdlbmVyYXRlU3Vic2NyaXB0aW9uKCksdGhpcy5zZXRDbGllbnREYXRhKGUpfSkpLHRoaXMuaW5hY3RpdmVDb25uZWN0b3JzRGF0YVNvdXJjZS5sb2FkQXR0cmlidXRlcyh0aGlzLmRldmljZSxMLlNIQVJFRF9TQ09QRSx0aGlzLnBhZ2VMaW5rLGUpLnN1YnNjcmliZSgoZT0+e3RoaXMuc2hhcmVkQXR0cmlidXRlRGF0YT1lLmRhdGEuZmlsdGVyKChlPT50aGlzLmFjdGl2ZUNvbm5lY3RvcnMuaW5jbHVkZXMoZS5rZXkpKSksdGhpcy5jb21iaW5lRGF0YSgpfSkpLHRoaXMuc2VydmVyRGF0YVNvdXJjZS5sb2FkQXR0cmlidXRlcyh0aGlzLmRldmljZSxMLlNFUlZFUl9TQ09QRSx0aGlzLnBhZ2VMaW5rLGUpLnN1YnNjcmliZSgoZT0+e3RoaXMuaW5hY3RpdmVEYXRhPWUuZGF0YS5maWx0ZXIoKGU9PnRoaXMuaW5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKGUua2V5KSkpLHRoaXMuY29tYmluZURhdGEoKX0pKX1pc0Nvbm5lY3RvclN5bmNlZChlKXtjb25zdCB0PWUudmFsdWU7aWYoIXQudHN8fGUuc2tpcFN5bmN8fCF0aGlzLmlzR2F0ZXdheUFjdGl2ZSlyZXR1cm4hMTtpZigtMT09PXRoaXMuYWN0aXZlRGF0YS5maW5kSW5kZXgoKGU9Pigic3RyaW5nIj09dHlwZW9mIGUudmFsdWU/SlNPTi5wYXJzZShlLnZhbHVlKTplLnZhbHVlKS5uYW1lPT09dC5uYW1lKSkpcmV0dXJuITE7cmV0dXJuLTEhPT10aGlzLnNoYXJlZEF0dHJpYnV0ZURhdGEuZmluZEluZGV4KChlPT57Y29uc3Qgbj1lLnZhbHVlLGE9bi5uYW1lPT09dC5uYW1lLG89ZWUobi5jb25maWd1cmF0aW9uSnNvbix7fSkmJmEsaT10aGlzLmhhc1NhbWVDb25maWcobi5jb25maWd1cmF0aW9uSnNvbix0LmNvbmZpZ3VyYXRpb25Kc29uKSxyPW4udHMmJm4udHM8PXQudHM7cmV0dXJuIGEmJnImJihpfHxvKX0pKX1oYXNTYW1lQ29uZmlnKGUsdCl7Y29uc3R7bmFtZTpuLGlkOmEsZW5hYmxlUmVtb3RlTG9nZ2luZzpvLGxvZ0xldmVsOmkscmVwb3J0U3RyYXRlZ3k6cixjb25maWdWZXJzaW9uOnMsLi4ubH09ZSx7bmFtZTpjLGlkOnAsZW5hYmxlUmVtb3RlTG9nZ2luZzptLGxvZ0xldmVsOmQscmVwb3J0U3RyYXRlZ3k6dSxjb25maWdWZXJzaW9uOmcsLi4uZn09dDtyZXR1cm4gZWUobCxmKX1jb21iaW5lRGF0YSgpe2NvbnN0IGU9Wy4uLnRoaXMuYWN0aXZlRGF0YSwuLi50aGlzLmluYWN0aXZlRGF0YSwuLi50aGlzLnNoYXJlZEF0dHJpYnV0ZURhdGFdLnJlZHVjZSgoKGUsdCk9Pntjb25zdCBuPWUuZmluZEluZGV4KChlPT5lLmtleT09PXQua2V5KSk7cmV0dXJuLTE9PT1uP2UucHVzaCh0KTp0Lmxhc3RVcGRhdGVUcz5lW25dLmxhc3RVcGRhdGVUcyYmIXRoaXMuaXNDb25uZWN0b3JTeW5jZWQoZVtuXSkmJihlW25dPXsuLi50LHNraXBTeW5jOiEwfSksZX0pLFtdKTt0aGlzLmRhdGFTb3VyY2UuZGF0YT1lLm1hcCgoZT0+KHsuLi5lLHZhbHVlOiJzdHJpbmciPT10eXBlb2YgZS52YWx1ZT9KU09OLnBhcnNlKGUudmFsdWUpOmUudmFsdWV9KSkpfWNsZWFyT3V0Q29ubmVjdG9yRm9ybSgpe3RoaXMuaW5pdGlhbENvbm5lY3Rvcj1udWxsLHRoaXMuY29ubmVjdG9yRm9ybS5zZXRWYWx1ZSh7bW9kZTpvbi5CQVNJQyxuYW1lOiIiLHR5cGU6X3QuTVFUVCxzZW5kRGF0YU9ubHlPbkNoYW5nZTohMSxlbmFibGVSZW1vdGVMb2dnaW5nOiExLGxvZ0xldmVsOk10LklORk8sa2V5OiJhdXRvIixjbGFzczoiIixjb25maWd1cmF0aW9uOiIiLGNvbmZpZ3VyYXRpb25Kc29uOnt9LGJhc2ljQ29uZmlnOnt9LGNvbmZpZ1ZlcnNpb246IiIscmVwb3J0U3RyYXRlZ3k6W3t2YWx1ZTp7fSxkaXNhYmxlZDohMH1dfSx7ZW1pdEV2ZW50OiExfSksdGhpcy5jb25uZWN0b3JGb3JtLm1hcmtBc1ByaXN0aW5lKCl9c2VsZWN0Q29ubmVjdG9yKGUsdCl7ZSYmZS5zdG9wUHJvcGFnYXRpb24oKTtjb25zdCBuPXQudmFsdWU7bj8ubmFtZSE9PXRoaXMuaW5pdGlhbENvbm5lY3Rvcj8ubmFtZSYmdGhpcy5jb25maXJtQ29ubmVjdG9yQ2hhbmdlKCkuc3Vic2NyaWJlKChlPT57ZSYmdGhpcy5zZXRGb3JtVmFsdWUobil9KSl9aXNTYW1lQ29ubmVjdG9yKGUpe2lmKCF0aGlzLmluaXRpYWxDb25uZWN0b3IpcmV0dXJuITE7Y29uc3QgdD1lLnZhbHVlO3JldHVybiB0aGlzLmluaXRpYWxDb25uZWN0b3IubmFtZT09PXQubmFtZX1zaG93VG9hc3QoZSl7dGhpcy5zdG9yZS5kaXNwYXRjaCh7dHlwZToiW05vdGlmaWNhdGlvbl0gU2hvdyIsbm90aWZpY2F0aW9uOnttZXNzYWdlOmUsdHlwZToic3VjY2VzcyIsZHVyYXRpb246MWUzLHZlcnRpY2FsUG9zaXRpb246InRvcCIsaG9yaXpvbnRhbFBvc2l0aW9uOiJsZWZ0Iix0YXJnZXQ6ImRhc2hib2FyZFJvb3QiLGZvcmNlRGlzbWlzczohMH19KX1yZXR1cm5UeXBlKGUpe2NvbnN0IHQ9ZS52YWx1ZTtyZXR1cm4gdGhpcy5HYXRld2F5Q29ubmVjdG9yVHlwZXNUcmFuc2xhdGVzTWFwLmdldCh0LnR5cGUpfWRlbGV0ZUNvbm5lY3RvcihlLHQpe3Q/LnN0b3BQcm9wYWdhdGlvbigpO2NvbnN0IG49YERlbGV0ZSBjb25uZWN0b3IgIiR7ZS5rZXl9Ij9gO3RoaXMuZGlhbG9nU2VydmljZS5jb25maXJtKG4sIkFsbCBjb25uZWN0b3IgZGF0YSB3aWxsIGJlIGRlbGV0ZWQuIiwiQ2FuY2VsIiwiRGVsZXRlIikucGlwZShPZSgxKSxVZSgodD0+e2lmKCF0KXJldHVybjtjb25zdCBuPVtdLGE9dGhpcy5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKGUudmFsdWU/Lm5hbWUpP0wuU0hBUkVEX1NDT1BFOkwuU0VSVkVSX1NDT1BFO3JldHVybiBuLnB1c2godGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLmRlbGV0ZUVudGl0eUF0dHJpYnV0ZXModGhpcy5kZXZpY2UsYSxbZV0pKSx0aGlzLnJlbW92ZUNvbm5lY3RvckZyb21MaXN0KGUua2V5LCEwKSx0aGlzLnJlbW92ZUNvbm5lY3RvckZyb21MaXN0KGUua2V5LCExKSxuLnB1c2godGhpcy5nZXRTYXZlRW50aXR5QXR0cmlidXRlc1Rhc2soYSkpLEFlKG4pfSkpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5pbml0aWFsQ29ubmVjdG9yJiZ0aGlzLmluaXRpYWxDb25uZWN0b3IubmFtZSE9PWUua2V5fHwodGhpcy5jbGVhck91dENvbm5lY3RvckZvcm0oKSx0aGlzLmNkLmRldGVjdENoYW5nZXMoKSx0aGlzLmNvbm5lY3RvckZvcm0uZGlzYWJsZSgpKSx0aGlzLnVwZGF0ZURhdGEoITApfSkpfWNvbm5lY3RvckxvZ3MoZSx0KXt0JiZ0LnN0b3BQcm9wYWdhdGlvbigpO2NvbnN0IG49Sih0aGlzLmN0eC5zdGF0ZUNvbnRyb2xsZXIuZ2V0U3RhdGVQYXJhbXMoKSk7bi5jb25uZWN0b3JfbG9ncz1lLG4udGFyZ2V0RW50aXR5UGFyYW1OYW1lPSJjb25uZWN0b3JfbG9ncyIsdGhpcy5jdHguc3RhdGVDb250cm9sbGVyLm9wZW5TdGF0ZSgiY29ubmVjdG9yX2xvZ3MiLG4pfWNvbm5lY3RvclJwYyhlLHQpe3QmJnQuc3RvcFByb3BhZ2F0aW9uKCk7Y29uc3Qgbj1KKHRoaXMuY3R4LnN0YXRlQ29udHJvbGxlci5nZXRTdGF0ZVBhcmFtcygpKTtuLmNvbm5lY3Rvcl9ycGM9ZSxuLnRhcmdldEVudGl0eVBhcmFtTmFtZT0iY29ubmVjdG9yX3JwYyIsdGhpcy5jdHguc3RhdGVDb250cm9sbGVyLm9wZW5TdGF0ZSgiY29ubmVjdG9yX3JwYyIsbil9b25FbmFibGVDb25uZWN0b3IoZSl7ZS52YWx1ZS50cz0obmV3IERhdGUpLmdldFRpbWUoKSx0aGlzLnVwZGF0ZUFjdGl2ZUNvbm5lY3RvcktleXMoZS5rZXkpLHRoaXMuYXR0cmlidXRlVXBkYXRlU3ViamVjdC5uZXh0KGUpfWdldEVycm9yc0NvdW50KGUpe2NvbnN0IHQ9ZS5rZXksbj10aGlzLnN1YnNjcmlwdGlvbiYmdGhpcy5zdWJzY3JpcHRpb24uZGF0YS5maW5kKChlPT5lJiZlLmRhdGFLZXkubmFtZT09PWAke3R9X0VSUk9SU19DT1VOVGApKTtyZXR1cm4gbiYmdGhpcy5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKHQpP24uZGF0YVswXVsxXXx8MDoiSW5hY3RpdmUifW9uQWRkQ29ubmVjdG9yKGUpe2U/LnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuY29uZmlybUNvbm5lY3RvckNoYW5nZSgpLnBpcGUoT2UoMSksTWUoQm9vbGVhbiksVWUoKCgpPT50aGlzLm9wZW5BZGRDb25uZWN0b3JEaWFsb2coKSkpLE1lKEJvb2xlYW4pKS5zdWJzY3JpYmUoKGU9PnRoaXMuYWRkQ29ubmVjdG9yKGUpKSl9YWRkQ29ubmVjdG9yKGUpe3RoaXMuY29ubmVjdG9yRm9ybS5kaXNhYmxlZCYmdGhpcy5jb25uZWN0b3JGb3JtLmVuYWJsZSgpLGUuY29uZmlndXJhdGlvbkpzb258fChlLmNvbmZpZ3VyYXRpb25Kc29uPXt9KSx0aGlzLmdhdGV3YXlWZXJzaW9uJiYhZS5jb25maWdWZXJzaW9uJiYoZS5jb25maWdWZXJzaW9uPXRoaXMuZ2F0ZXdheVZlcnNpb24pLGUuYmFzaWNDb25maWc9ZS5jb25maWd1cmF0aW9uSnNvbix0aGlzLmluaXRpYWxDb25uZWN0b3I9ZTtjb25zdCB0PXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoInR5cGUiKS52YWx1ZTt0aGlzLnNldEluaXRpYWxDb25uZWN0b3JWYWx1ZXMoZSksdGhpcy5zYXZlQ29ubmVjdG9yKHRoaXMuZ2V0VXBkYXRlZENvbm5lY3RvckRhdGEoZSkpLHQhPT1lLnR5cGUmJnRoaXMuYWxsb3dCYXNpY0NvbmZpZy5oYXMoZS50eXBlKT90aGlzLmJhc2ljQ29uZmlnSW5pdFN1YmplY3QucGlwZShPZSgxKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMucGF0Y2hCYXNpY0NvbmZpZ0Nvbm5lY3RvcihlKX0pKTp0aGlzLnBhdGNoQmFzaWNDb25maWdDb25uZWN0b3IoZSl9c2V0SW5pdGlhbENvbm5lY3RvclZhbHVlcyhlKXtjb25zdHtiYXNpY0NvbmZpZzp0LG1vZGU6biwuLi5hfT1lO3RoaXMudG9nZ2xlUmVwb3J0U3RyYXRlZ3koZS50eXBlKSx0aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJtb2RlIikuc2V0VmFsdWUodGhpcy5hbGxvd0Jhc2ljQ29uZmlnLmhhcyhlLnR5cGUpP2UubW9kZT8/b24uQkFTSUM6bnVsbCx7ZW1pdEV2ZW50OiExfSksdGhpcy5jb25uZWN0b3JGb3JtLnBhdGNoVmFsdWUoYSx7ZW1pdEV2ZW50OiExfSl9b3BlbkFkZENvbm5lY3RvckRpYWxvZygpe3JldHVybiB0aGlzLmN0eC5uZ1pvbmUucnVuKCgoKT0+dGhpcy5kaWFsb2cub3Blbih0byx7ZGlzYWJsZUNsb3NlOiEwLHBhbmVsQ2xhc3M6WyJ0Yi1kaWFsb2ciLCJ0Yi1mdWxsc2NyZWVuLWRpYWxvZyJdLGRhdGE6e2RhdGFTb3VyY2VEYXRhOnRoaXMuZGF0YVNvdXJjZS5kYXRhLGdhdGV3YXlWZXJzaW9uOnRoaXMuZ2F0ZXdheVZlcnNpb259fSkuYWZ0ZXJDbG9zZWQoKSkpfXVuaXFOYW1lUmVxdWlyZWQoKXtyZXR1cm4gZT0+e2NvbnN0IHQ9ZS52YWx1ZT8udHJpbSgpLnRvTG93ZXJDYXNlKCksbj10aGlzLmRhdGFTb3VyY2UuZGF0YS5zb21lKChlPT5lLnZhbHVlLm5hbWUudG9Mb3dlckNhc2UoKT09PXQpKSxhPXRoaXMuaW5pdGlhbENvbm5lY3Rvcj8ubmFtZS50b0xvd2VyQ2FzZSgpPT09dDtyZXR1cm4gbiYmIWE/e2R1cGxpY2F0ZU5hbWU6e3ZhbGlkOiExfX06bnVsbH19aW5pdERhdGFTb3VyY2VzKCl7Y29uc3QgZT17cHJvcGVydHk6ImtleSIsZGlyZWN0aW9uOncuQVNDfTt0aGlzLnBhZ2VMaW5rPW5ldyBDKDFlMywwLG51bGwsZSksdGhpcy5hdHRyaWJ1dGVEYXRhU291cmNlPW5ldyBMYSh0aGlzLmF0dHJpYnV0ZVNlcnZpY2UsdGhpcy50ZWxlbWV0cnlXc1NlcnZpY2UsdGhpcy56b25lLHRoaXMudHJhbnNsYXRlKSx0aGlzLmluYWN0aXZlQ29ubmVjdG9yc0RhdGFTb3VyY2U9bmV3IExhKHRoaXMuYXR0cmlidXRlU2VydmljZSx0aGlzLnRlbGVtZXRyeVdzU2VydmljZSx0aGlzLnpvbmUsdGhpcy50cmFuc2xhdGUpLHRoaXMuc2VydmVyRGF0YVNvdXJjZT1uZXcgTGEodGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLHRoaXMudGVsZW1ldHJ5V3NTZXJ2aWNlLHRoaXMuem9uZSx0aGlzLnRyYW5zbGF0ZSksdGhpcy5kYXRhU291cmNlPW5ldyB5KFtdKX1pbml0Q29ubmVjdG9yRm9ybSgpe3RoaXMuY29ubmVjdG9yRm9ybT10aGlzLmZiLmdyb3VwKHttb2RlOltvbi5CQVNJQ10sbmFtZTpbIiIsW3VlLnJlcXVpcmVkLHRoaXMudW5pcU5hbWVSZXF1aXJlZCgpLHVlLnBhdHRlcm4oa3QpXV0sdHlwZTpbIiIsW3VlLnJlcXVpcmVkXV0sZW5hYmxlUmVtb3RlTG9nZ2luZzpbITFdLGxvZ0xldmVsOlsiIixbdWUucmVxdWlyZWRdXSxzZW5kRGF0YU9ubHlPbkNoYW5nZTpbITFdLGtleTpbImF1dG8iXSxjbGFzczpbIiJdLGNvbmZpZ3VyYXRpb246WyIiXSxjb25maWd1cmF0aW9uSnNvbjpbe30sW3VlLnJlcXVpcmVkXV0sYmFzaWNDb25maWc6W3t9XSxjb25maWdWZXJzaW9uOlsiIl0scmVwb3J0U3RyYXRlZ3k6W3t2YWx1ZTp7fSxkaXNhYmxlZDohMH1dfSksdGhpcy5jb25uZWN0b3JGb3JtLmRpc2FibGUoKX1nZXRTb3J0aW5nRGF0YUFjY2Vzc29yKCl7cmV0dXJuKGUsdCk9Pntzd2l0Y2godCl7Y2FzZSJzeW5jU3RhdHVzIjpyZXR1cm4gdGhpcy5pc0Nvbm5lY3RvclN5bmNlZChlKT8xOjA7Y2FzZSJlbmFibGVkIjpyZXR1cm4gdGhpcy5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKGUua2V5KT8xOjA7Y2FzZSJlcnJvcnMiOmNvbnN0IG49dGhpcy5nZXRFcnJvcnNDb3VudChlKTtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIG4/dGhpcy5zb3J0LmRpcmVjdGlvbi50b1VwcGVyQ2FzZSgpPT09dy5ERVNDPy0xOjEvMDpuO2RlZmF1bHQ6cmV0dXJuIGVbdF18fGUudmFsdWVbdF19fX1sb2FkQ29ubmVjdG9ycygpe3RoaXMuZGV2aWNlJiZ0aGlzLmRldmljZS5pZCE9PWsmJkFlKFt0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0RW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSxMLlNIQVJFRF9TQ09QRSxbImFjdGl2ZV9jb25uZWN0b3JzIl0pLHRoaXMuYXR0cmlidXRlU2VydmljZS5nZXRFbnRpdHlBdHRyaWJ1dGVzKHRoaXMuZGV2aWNlLEwuU0VSVkVSX1NDT1BFLFsiaW5hY3RpdmVfY29ubmVjdG9ycyJdKSx0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0RW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSxMLkNMSUVOVF9TQ09QRSxbIlZlcnNpb24iXSldKS5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLmFjdGl2ZUNvbm5lY3RvcnM9dGhpcy5wYXJzZUNvbm5lY3RvcnMoZVswXSksdGhpcy5pbmFjdGl2ZUNvbm5lY3RvcnM9dGhpcy5wYXJzZUNvbm5lY3RvcnMoZVsxXSksdGhpcy5nYXRld2F5VmVyc2lvbj1lWzJdWzBdPy52YWx1ZSx0aGlzLnVwZGF0ZURhdGEoITApfSkpfWxvYWRHYXRld2F5U3RhdGUoKXt0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0RW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSxMLlNFUlZFUl9TQ09QRSkucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57Y29uc3QgdD1lLmZpbmQoKGU9PiJhY3RpdmUiPT09ZS5rZXkpKS52YWx1ZSxuPWUuZmluZCgoZT0+Imxhc3REaXNjb25uZWN0VGltZSI9PT1lLmtleSkpPy52YWx1ZSxhPWUuZmluZCgoZT0+Imxhc3RDb25uZWN0VGltZSI9PT1lLmtleSkpPy52YWx1ZTt0aGlzLmlzR2F0ZXdheUFjdGl2ZT10aGlzLmdldEdhdGV3YXlTdGF0dXModCxhLG4pfSkpfXBhcnNlQ29ubmVjdG9ycyhlKXtjb25zdCB0PWU/LlswXT8udmFsdWV8fFtdO3JldHVybiBuZSh0KT9KU09OLnBhcnNlKHQpOnR9b2JzZXJ2ZU1vZGVDaGFuZ2UoKXt0aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJtb2RlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJtb2RlIikubWFya0FzUHJpc3RpbmUoKX0pKX1vYnNlcnZlQXR0cmlidXRlQ2hhbmdlKCl7dGhpcy5hdHRyaWJ1dGVVcGRhdGVTdWJqZWN0LnBpcGUoVmUoMzAwKSxFZSgoZT0+dGhpcy5leGVjdXRlQXR0cmlidXRlVXBkYXRlcyhlKSkpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKX11cGRhdGVBY3RpdmVDb25uZWN0b3JLZXlzKGUpe2lmKHRoaXMuYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyhlKSl7Y29uc3QgdD10aGlzLmFjdGl2ZUNvbm5lY3RvcnMuaW5kZXhPZihlKTstMSE9PXQmJnRoaXMuYWN0aXZlQ29ubmVjdG9ycy5zcGxpY2UodCwxKSx0aGlzLmluYWN0aXZlQ29ubmVjdG9ycy5wdXNoKGUpfWVsc2V7Y29uc3QgdD10aGlzLmluYWN0aXZlQ29ubmVjdG9ycy5pbmRleE9mKGUpOy0xIT09dCYmdGhpcy5pbmFjdGl2ZUNvbm5lY3RvcnMuc3BsaWNlKHQsMSksdGhpcy5hY3RpdmVDb25uZWN0b3JzLnB1c2goZSl9fWV4ZWN1dGVBdHRyaWJ1dGVVcGRhdGVzKGUpe0FlKHRoaXMuZ2V0QXR0cmlidXRlRXhlY3V0aW9uVGFza3MoZSkpLnBpcGUoT2UoMSksRWUoKCgpPT50aGlzLnVwZGF0ZURhdGEoITApKSksTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgpfWdldEF0dHJpYnV0ZUV4ZWN1dGlvblRhc2tzKGUpe2NvbnN0IHQ9dGhpcy5hY3RpdmVDb25uZWN0b3JzLmluY2x1ZGVzKGUua2V5KSxuPXQ/TC5TRVJWRVJfU0NPUEU6TC5TSEFSRURfU0NPUEUsYT10P0wuU0hBUkVEX1NDT1BFOkwuU0VSVkVSX1NDT1BFO3JldHVyblt0aGlzLmF0dHJpYnV0ZVNlcnZpY2Uuc2F2ZUVudGl0eUF0dHJpYnV0ZXModGhpcy5kZXZpY2UsTC5TSEFSRURfU0NPUEUsW3trZXk6ImFjdGl2ZV9jb25uZWN0b3JzIix2YWx1ZTp0aGlzLmFjdGl2ZUNvbm5lY3RvcnN9XSksdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNhdmVFbnRpdHlBdHRyaWJ1dGVzKHRoaXMuZGV2aWNlLEwuU0VSVkVSX1NDT1BFLFt7a2V5OiJpbmFjdGl2ZV9jb25uZWN0b3JzIix2YWx1ZTp0aGlzLmluYWN0aXZlQ29ubmVjdG9yc31dKSx0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZGVsZXRlRW50aXR5QXR0cmlidXRlcyh0aGlzLmRldmljZSxuLFtlXSksdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNhdmVFbnRpdHlBdHRyaWJ1dGVzKHRoaXMuZGV2aWNlLGEsW2VdKV19b25EYXRhVXBkYXRlRXJyb3IoZSl7Y29uc3QgdD10aGlzLnV0aWxzLnBhcnNlRXhjZXB0aW9uKGUpO2xldCBuPXQubmFtZTt0Lm1lc3NhZ2UmJihuKz0iOiAiK3QubWVzc2FnZSksY29uc29sZS5lcnJvcihuKX1vbkVycm9yc1VwZGF0ZWQoKXt0aGlzLmNkLmRldGVjdENoYW5nZXMoKX1vbkRhdGFVcGRhdGVkKCl7Y29uc3QgZT10aGlzLmN0eC5kZWZhdWx0U3Vic2NyaXB0aW9uLmRhdGEsdD1lLmZpbmQoKGU9PiJhY3RpdmUiPT09ZS5kYXRhS2V5Lm5hbWUpKS5kYXRhWzBdWzFdLG49ZS5maW5kKChlPT4ibGFzdERpc2Nvbm5lY3RUaW1lIj09PWUuZGF0YUtleS5uYW1lKSkuZGF0YVswXVsxXSxhPWUuZmluZCgoZT0+Imxhc3RDb25uZWN0VGltZSI9PT1lLmRhdGFLZXkubmFtZSkpLmRhdGFbMF1bMV07dGhpcy5pc0dhdGV3YXlBY3RpdmU9dGhpcy5nZXRHYXRld2F5U3RhdHVzKHQsYSxuKSx0aGlzLmNkLmRldGVjdENoYW5nZXMoKX1nZXRHYXRld2F5U3RhdHVzKGUsdCxuKXtyZXR1cm4hIWUmJighbnx8dD5uKX1nZW5lcmF0ZVN1YnNjcmlwdGlvbigpe2lmKHRoaXMuc3Vic2NyaXB0aW9uJiZ0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMuZGV2aWNlKXtjb25zdCBlPVt7dHlwZTpGLmVudGl0eSxlbnRpdHlUeXBlOkkuREVWSUNFLGVudGl0eUlkOnRoaXMuZGV2aWNlLmlkLGVudGl0eU5hbWU6IkdhdGV3YXkiLHRpbWVzZXJpZXM6W119XTt0aGlzLmRhdGFTb3VyY2UuZGF0YS5mb3JFYWNoKCh0PT57ZVswXS50aW1lc2VyaWVzLnB1c2goe25hbWU6YCR7dC5rZXl9X0VSUk9SU19DT1VOVGAsbGFiZWw6YCR7dC5rZXl9X0VSUk9SU19DT1VOVGB9KX0pKSx0aGlzLmN0eC5zdWJzY3JpcHRpb25BcGkuY3JlYXRlU3Vic2NyaXB0aW9uRnJvbUluZm8oQS5sYXRlc3QsZSx0aGlzLnN1YnNjcmlwdGlvbk9wdGlvbnMsITEsITApLnN1YnNjcmliZSgoZT0+e3RoaXMuc3Vic2NyaXB0aW9uPWV9KSl9fWNyZWF0ZUJhc2ljQ29uZmlnV2F0Y2hlcigpe3RoaXMuYmFzaWNDb25maWdTdWImJnRoaXMuYmFzaWNDb25maWdTdWIudW5zdWJzY3JpYmUoKSx0aGlzLmJhc2ljQ29uZmlnU3ViPXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoImJhc2ljQ29uZmlnIikudmFsdWVDaGFuZ2VzLnBpcGUoTWUoKCgpPT4hIXRoaXMuaW5pdGlhbENvbm5lY3RvcikpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pntjb25zdCB0PXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoImNvbmZpZ3VyYXRpb25Kc29uIiksbj10aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJ0eXBlIikudmFsdWUsYT10aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJtb2RlIikudmFsdWU7aWYoIWVlKGUsdD8udmFsdWUpJiZ0aGlzLmFsbG93QmFzaWNDb25maWcuaGFzKG4pJiZhPT09b24uQkFTSUMpe2NvbnN0IG49ey4uLnQudmFsdWUsLi4uZX07dGhpcy5jb25uZWN0b3JGb3JtLmdldCgiY29uZmlndXJhdGlvbkpzb24iKS5wYXRjaFZhbHVlKG4se2VtaXRFdmVudDohMX0pfX0pKX1jcmVhdGVKc29uQ29uZmlnV2F0Y2hlcigpe3RoaXMuanNvbkNvbmZpZ1N1YiYmdGhpcy5qc29uQ29uZmlnU3ViLnVuc3Vic2NyaWJlKCksdGhpcy5qc29uQ29uZmlnU3ViPXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoImNvbmZpZ3VyYXRpb25Kc29uIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e2NvbnN0IHQ9dGhpcy5jb25uZWN0b3JGb3JtLmdldCgiYmFzaWNDb25maWciKSxuPXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoInR5cGUiKS52YWx1ZSxhPXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoIm1vZGUiKS52YWx1ZTshZWUoZSx0Py52YWx1ZSkmJnRoaXMuYWxsb3dCYXNpY0NvbmZpZy5oYXMobikmJmE9PT1vbi5BRFZBTkNFRCYmdGhpcy5jb25uZWN0b3JGb3JtLmdldCgiYmFzaWNDb25maWciKS5wYXRjaFZhbHVlKGUse2VtaXRFdmVudDohMX0pfSkpfWNvbmZpcm1Db25uZWN0b3JDaGFuZ2UoKXtyZXR1cm4gdGhpcy5pbml0aWFsQ29ubmVjdG9yJiZ0aGlzLmNvbm5lY3RvckZvcm0uZGlydHk/dGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0odGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5jaGFuZ2UtY29ubmVjdG9yLXRpdGxlIiksdGhpcy50cmFuc2xhdGUuaW5zdGFudCgiZ2F0ZXdheS5jaGFuZ2UtY29ubmVjdG9yLXRleHQiKSx0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJhY3Rpb24ubm8iKSx0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCJhY3Rpb24ueWVzIiksITApOkllKCEwKX1zZXRGb3JtVmFsdWUoZSl7dGhpcy5jb25uZWN0b3JGb3JtLmRpc2FibGVkJiZ0aGlzLmNvbm5lY3RvckZvcm0uZW5hYmxlKCk7Y29uc3QgdD1iYS5nZXRDb25maWcoe2NvbmZpZ3VyYXRpb246IiIsa2V5OiJhdXRvIixjb25maWd1cmF0aW9uSnNvbjp7fSwuLi5lfSx0aGlzLmdhdGV3YXlWZXJzaW9uKTt0aGlzLmdhdGV3YXlWZXJzaW9uJiYhdC5jb25maWdWZXJzaW9uJiYodC5jb25maWdWZXJzaW9uPXRoaXMuZ2F0ZXdheVZlcnNpb24pLHQuYmFzaWNDb25maWc9dC5jb25maWd1cmF0aW9uSnNvbix0aGlzLmluaXRpYWxDb25uZWN0b3I9dCx0aGlzLnVwZGF0ZUNvbm5lY3Rvcih0KX11cGRhdGVDb25uZWN0b3IoZSl7c3dpdGNoKHRoaXMuanNvbkNvbmZpZ1N1Yj8udW5zdWJzY3JpYmUoKSxlLnR5cGUpe2Nhc2UgX3QuTVFUVDpjYXNlIF90Lk9QQ1VBOmNhc2UgX3QuTU9EQlVTOnRoaXMudXBkYXRlQmFzaWNDb25maWdDb25uZWN0b3IoZSk7YnJlYWs7ZGVmYXVsdDp0aGlzLmNvbm5lY3RvckZvcm0ucGF0Y2hWYWx1ZSh7Li4uZSxtb2RlOm51bGx9KSx0aGlzLmNvbm5lY3RvckZvcm0ubWFya0FzUHJpc3RpbmUoKSx0aGlzLmNyZWF0ZUpzb25Db25maWdXYXRjaGVyKCl9fXVwZGF0ZUJhc2ljQ29uZmlnQ29ubmVjdG9yKGUpe3RoaXMuYmFzaWNDb25maWdTdWI/LnVuc3Vic2NyaWJlKCk7Y29uc3QgdD10aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJ0eXBlIikudmFsdWU7dGhpcy5zZXRJbml0aWFsQ29ubmVjdG9yVmFsdWVzKGUpLHQhPT1lLnR5cGUmJnRoaXMuYWxsb3dCYXNpY0NvbmZpZy5oYXMoZS50eXBlKT90aGlzLmJhc2ljQ29uZmlnSW5pdFN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShPZSgxKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMucGF0Y2hCYXNpY0NvbmZpZ0Nvbm5lY3RvcihlKX0pKTp0aGlzLnBhdGNoQmFzaWNDb25maWdDb25uZWN0b3IoZSl9cGF0Y2hCYXNpY0NvbmZpZ0Nvbm5lY3RvcihlKXt0aGlzLmNvbm5lY3RvckZvcm0ucGF0Y2hWYWx1ZShlLHtlbWl0RXZlbnQ6ITF9KSx0aGlzLmNvbm5lY3RvckZvcm0ubWFya0FzUHJpc3RpbmUoKSx0aGlzLmNyZWF0ZUJhc2ljQ29uZmlnV2F0Y2hlcigpLHRoaXMuY3JlYXRlSnNvbkNvbmZpZ1dhdGNoZXIoKX10b2dnbGVSZXBvcnRTdHJhdGVneShlKXtjb25zdCB0PXRoaXMuY29ubmVjdG9yRm9ybS5nZXQoInJlcG9ydFN0cmF0ZWd5Iik7ZT09PV90Lk1PREJVUz90LmVuYWJsZSh7ZW1pdEV2ZW50OiExfSk6dC5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KX1zZXRDbGllbnREYXRhKGUpe2lmKHRoaXMuaW5pdGlhbENvbm5lY3Rvcil7Y29uc3QgdD1lLmRhdGEuZmluZCgoZT0+ZS5rZXk9PT10aGlzLmluaXRpYWxDb25uZWN0b3IubmFtZSkpO3QmJih0LnZhbHVlPSJzdHJpbmciPT10eXBlb2YgdC52YWx1ZT9KU09OLnBhcnNlKHQudmFsdWUpOnQudmFsdWUsdGhpcy5pc0Nvbm5lY3RvclN5bmNlZCh0KSYmdC52YWx1ZS5jb25maWd1cmF0aW9uSnNvbiYmdGhpcy5zZXRGb3JtVmFsdWUoey4uLnQudmFsdWUsbW9kZTp0aGlzLmNvbm5lY3RvckZvcm0uZ2V0KCJtb2RlIikudmFsdWU/P3QudmFsdWUubW9kZX0pKX19c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpFbyxkZXBzOlt7dG9rZW46b3QuU3RvcmV9LHt0b2tlbjptZS5Gb3JtQnVpbGRlcn0se3Rva2VuOlkuVHJhbnNsYXRlU2VydmljZX0se3Rva2VuOlguQXR0cmlidXRlU2VydmljZX0se3Rva2VuOlguRGlhbG9nU2VydmljZX0se3Rva2VuOkplLk1hdERpYWxvZ30se3Rva2VuOlguVGVsZW1ldHJ5V2Vic29ja2V0U2VydmljZX0se3Rva2VuOnQuTmdab25lfSx7dG9rZW46WC5VdGlsc1NlcnZpY2V9LHt0b2tlbjp2YX0se3Rva2VuOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5Db21wb25lbnR9KX1zdGF0aWN7dGhpcy7JtWNtcD10Lsm1ybVuZ0RlY2xhcmVDb21wb25lbnQoe21pblZlcnNpb246IjE0LjAuMCIsdmVyc2lvbjoiMTguMi42Iix0eXBlOkVvLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LWNvbm5lY3RvciIsaW5wdXRzOntjdHg6ImN0eCIsZGV2aWNlOiJkZXZpY2UifSxwcm92aWRlcnM6W3twcm92aWRlOlRlLHVzZUNsYXNzOk1vfV0sdmlld1F1ZXJpZXM6W3twcm9wZXJ0eU5hbWU6Im5hbWVJbnB1dCIsZmlyc3Q6ITAscHJlZGljYXRlOlsibmFtZUlucHV0Il0sZGVzY2VuZGFudHM6ITB9LHtwcm9wZXJ0eU5hbWU6InNvcnQiLGZpcnN0OiEwLHByZWRpY2F0ZTpnLGRlc2NlbmRhbnRzOiEwfV0sdXNlc0luaGVyaXRhbmNlOiEwLG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJjb25uZWN0b3ItY29udGFpbmVyIHRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIj5cbiAgPHNlY3Rpb24gY2xhc3M9InRhYmxlLXNlY3Rpb24gdGItZm9ybS1wYW5lbCBuby1wYWRkaW5nIGZsZXggc2VjdGlvbi1jb250YWluZXIiPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIj5cbiAgICAgIDxoMj57eyBcJ2dhdGV3YXkuY29ubmVjdG9yc1wnIHwgdHJhbnNsYXRlIH19PC9oMj5cbiAgICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgICA8YnV0dG9uICpuZ0lmPSJkYXRhU291cmNlPy5kYXRhPy5sZW5ndGgiXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJpc0xvYWRpbmckIHwgYXN5bmMiXG4gICAgICAgICAgICAgIChjbGljayk9Im9uQWRkQ29ubmVjdG9yKCRldmVudCkiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmFkZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L21hdC10b29sYmFyPlxuICAgIDxkaXYgY2xhc3M9InRhYmxlLWNvbnRhaW5lciI+XG4gICAgICA8c2VjdGlvbiAqbmdJZj0iIWRhdGFTb3VyY2U/LmRhdGE/Lmxlbmd0aCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgIGNsYXNzPSJtYXQtaGVhZGxpbmUtNSB0Yi1hYnNvbHV0ZS1maWxsIHRiLWFkZC1uZXciPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9ImNvbm5lY3RvciJcbiAgICAgICAgKGNsaWNrKT0ib25BZGRDb25uZWN0b3IoJGV2ZW50KSI+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJ0Yi1tYXQtOTYiPmFkZDwvbWF0LWljb24+XG4gICAgICAgICAgPHNwYW4+e3sgXCdnYXRld2F5LmFkZC1jb25uZWN0b3JcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT0iZGF0YVNvdXJjZSJcbiAgICAgICAgICAgICBtYXRTb3J0IFttYXRTb3J0QWN0aXZlXT0icGFnZUxpbmsuc29ydE9yZGVyLnByb3BlcnR5IiBbbWF0U29ydERpcmVjdGlvbl09InBhZ2VMaW5rLnNvcnREaXJlY3Rpb24oKSJcbiAgICAgICAgICAgICBtYXRTb3J0RGlzYWJsZUNsZWFyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iZW5hYmxlZCIgc3RpY2t5PlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgc3R5bGU9IndpZHRoOiA2MHB4O21pbi13aWR0aDogNjBweDsiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtZW5hYmxlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgYXR0cmlidXRlIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIFtjaGVja2VkXT0iYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyhhdHRyaWJ1dGUua2V5KSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgb25FbmFibGVDb25uZWN0b3IoYXR0cmlidXRlKSI+PC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0ia2V5Ij5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDQwJSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1uYW1lXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiPlxuICAgICAgICAgICAge3sgYXR0cmlidXRlLmtleSB9fVxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0idHlwZSI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgc3R5bGU9IndpZHRoOiAzMCUiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtdHlwZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgYXR0cmlidXRlIiBzdHlsZT0idGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSI+XG4gICAgICAgICAgICB7eyByZXR1cm5UeXBlKGF0dHJpYnV0ZSkgfX1cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9InN5bmNTdGF0dXMiPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIHN0eWxlPSJ3aWR0aDogMzAlIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5jb25maWd1cmF0aW9uXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzIiBbY2xhc3NdPSJpc0Nvbm5lY3RvclN5bmNlZChhdHRyaWJ1dGUpID8gXCdzdGF0dXMtc3luY1wnIDogXCdzdGF0dXMtdW5zeW5jXCciPlxuICAgICAgICAgICAgICAgIHt7IGlzQ29ubmVjdG9yU3luY2VkKGF0dHJpYnV0ZSkgPyBcJ3N5bmNcJyA6IFwnb3V0IG9mIHN5bmNcJyB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9ImVycm9ycyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgc3R5bGU9IndpZHRoOiAzMCUiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtc3RhdHVzXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkb3QiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ0Vycm9yczogXCcrIGdldEVycm9yc0NvdW50KGF0dHJpYnV0ZSl9fSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPSJjb25uZWN0b3JMb2dzKGF0dHJpYnV0ZSwgJGV2ZW50KSJcbiAgICAgICAgICAgICAgICAgIFtjbGFzc109IntcJ2hhc0Vycm9yc1wnOiArZ2V0RXJyb3JzQ291bnQoYXR0cmlidXRlKSA+IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCdub0Vycm9yc1wnOiArZ2V0RXJyb3JzQ291bnQoYXR0cmlidXRlKSA9PT0gMCB8fCBnZXRFcnJvcnNDb3VudChhdHRyaWJ1dGUpID09PSBcJ1wnfSI+PC9zcGFuPlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iYWN0aW9ucyIgc3RpY2t5RW5kPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlLmd0LW1kXT0ieyBtaW5XaWR0aDogXCcxNDRweFwnLCBtYXhXaWR0aDogXCcxNDRweFwnLCB3aWR0aDogXCcxNDRweFwnLCB0ZXh0QWxpZ246IFwnY2VudGVyXCd9Ij5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWFjdGlvbnNcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IGF0dHJpYnV0ZSJcbiAgICAgICAgICAgICAgICAgICAgW25nU3R5bGUuZ3QtbWRdPSJ7IG1pbldpZHRoOiBcJzE0NHB4XCcsIG1heFdpZHRoOiBcJzE0NHB4XCcsIHdpZHRoOiBcJzE0NHB4XCd9Ij5cbiAgICAgICAgICAgIDxkaXYgZnhIaWRlIGZ4U2hvdy5ndC1tZCBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJSUEMiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJjb25uZWN0b3JScGMoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+cHJpdmF0ZV9jb25uZWN0aXZpdHk8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJMb2dzIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iY29ubmVjdG9yTG9ncyhhdHRyaWJ1dGUsICRldmVudCkiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5saXN0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0iRGVsZXRlIGNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9ImRlbGV0ZUNvbm5lY3RvcihhdHRyaWJ1dGUsICRldmVudCkiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmeEhpZGUgZnhTaG93Lmx0LWxnPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPSJjZWxsQWN0aW9uc01lbnUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8bWF0LW1lbnUgI2NlbGxBY3Rpb25zTWVudT0ibWF0TWVudSIgeFBvc2l0aW9uPSJiZWZvcmUiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJSUEMiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iY29ubmVjdG9yUnBjKGF0dHJpYnV0ZSwgJGV2ZW50KSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24+cHJpdmF0ZV9jb25uZWN0aXZpdHk8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJMb2dzIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9ImNvbm5lY3RvckxvZ3MoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5saXN0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0iRGVsZXRlIGNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJkZWxldGVDb25uZWN0b3IoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxtYXQtaGVhZGVyLXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbWF0SGVhZGVyUm93RGVmPSJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWUiPjwvbWF0LWhlYWRlci1yb3c+XG4gICAgICAgIDxtYXQtcm93IGNsYXNzPSJtYXQtcm93LXNlbGVjdCIgW2NsYXNzXT0ie1wndGItY3VycmVudC1lbnRpdHlcJzogaXNTYW1lQ29ubmVjdG9yKGF0dHJpYnV0ZSl9IlxuICAgICAgICAgICAgICAgICAqbWF0Um93RGVmPSJsZXQgYXR0cmlidXRlOyBsZXQgaSA9IGluZGV4OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyIgKGNsaWNrKT0ic2VsZWN0Q29ubmVjdG9yKCRldmVudCwgYXR0cmlidXRlKSI+PC9tYXQtcm93PlxuICAgICAgPC90YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9zZWN0aW9uPlxuICA8c2VjdGlvbiBbZm9ybUdyb3VwXT0iY29ubmVjdG9yRm9ybSIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc2VjdGlvbi1jb250YWluZXIgZmxleCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSB0Yi1mbGV4IG5vLWZsZXggc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSI+XG4gICAgICAgIHt7IGluaXRpYWxDb25uZWN0b3I/LnR5cGUgPyBHYXRld2F5Q29ubmVjdG9yVHlwZXNUcmFuc2xhdGVzTWFwLmdldChpbml0aWFsQ29ubmVjdG9yLnR5cGUpIDogXCdcJyB9fVxuICAgICAgICB7eyBcJ2dhdGV3YXkuY29uZmlndXJhdGlvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDxzcGFuIGNsYXNzPSJ2ZXJzaW9uLXBsYWNlaG9sZGVyIiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdjb25maWdWZXJzaW9uXCcpLnZhbHVlIj52e3tjb25uZWN0b3JGb3JtLmdldChcJ2NvbmZpZ1ZlcnNpb25cJykudmFsdWV9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgKm5nSWY9ImluaXRpYWxDb25uZWN0b3IgJiYgYWxsb3dCYXNpY0NvbmZpZy5oYXMoaW5pdGlhbENvbm5lY3Rvci50eXBlKSJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0ibW9kZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uIFt2YWx1ZV09IkNvbm5lY3RvckNvbmZpZ3VyYXRpb25Nb2Rlcy5CQVNJQyI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LmJhc2ljXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiBbdmFsdWVdPSJDb25uZWN0b3JDb25maWd1cmF0aW9uTW9kZXMuQURWQU5DRUQiPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5hZHZhbmNlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgIDwvdGItdG9nZ2xlLXNlbGVjdD5cbiAgICA8L2Rpdj5cbiAgICA8c3BhbiBbZnhTaG93XT0iIWluaXRpYWxDb25uZWN0b3IiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCIgdHJhbnNsYXRlPlxuICAgICAgZ2F0ZXdheS5zZWxlY3QtY29ubmVjdG9yXG4gICAgPC9zcGFuPlxuICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHNlY3Rpb24tY29udGFpbmVyIG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLWZsZXggc3BhY2UtYmV0d2VlbiIgKm5nSWY9ImluaXRpYWxDb25uZWN0b3IiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdtb2RlXCcpPy52YWx1ZSA9PT0gQ29ubmVjdG9yQ29uZmlndXJhdGlvbk1vZGVzLkJBU0lDIGVsc2UgZGVmYXVsdENvbmZpZyI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT0iaW5pdGlhbENvbm5lY3Rvci50eXBlIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9IkNvbm5lY3RvclR5cGUuTVFUVCI+XG4gICAgICAgICAgICA8dGItbXF0dC1iYXNpYy1jb25maWdcbiAgICAgICAgICAgICAgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwnY29uZmlnVmVyc2lvblwnKS52YWx1ZSB8IGlzTGF0ZXN0VmVyc2lvbkNvbmZpZyBlbHNlIGxlZ2FjeSJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgW2dlbmVyYWxUYWJDb250ZW50XT0iZ2VuZXJhbFRhYkNvbnRlbnQiXG4gICAgICAgICAgICAgIChpbml0aWFsaXplZCk9ImJhc2ljQ29uZmlnSW5pdFN1YmplY3QubmV4dCgpIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbGVnYWN5PlxuICAgICAgICAgICAgICA8dGItbXF0dC1sZWdhY3ktYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk9QQ1VBIj5cbiAgICAgICAgICAgIDx0Yi1vcGMtdWEtYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ2NvbmZpZ1ZlcnNpb25cJykudmFsdWUgfCBpc0xhdGVzdFZlcnNpb25Db25maWcgZWxzZSBsZWdhY3kiXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICAgICAgICAgIFtnZW5lcmFsVGFiQ29udGVudF09ImdlbmVyYWxUYWJDb250ZW50IlxuICAgICAgICAgICAgICAoaW5pdGlhbGl6ZWQpPSJiYXNpY0NvbmZpZ0luaXRTdWJqZWN0Lm5leHQoKSJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2xlZ2FjeT5cbiAgICAgICAgICAgICAgPHRiLW9wYy11YS1sZWdhY3ktYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk1PREJVUyI+XG4gICAgICAgICAgICA8dGItbW9kYnVzLWJhc2ljLWNvbmZpZ1xuICAgICAgICAgICAgICAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdjb25maWdWZXJzaW9uXCcpLnZhbHVlIHwgaXNMYXRlc3RWZXJzaW9uQ29uZmlnIGVsc2UgbGVnYWN5IlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9ImJhc2ljQ29uZmlnIlxuICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNsZWdhY3k+XG4gICAgICAgICAgICAgIDx0Yi1tb2RidXMtbGVnYWN5LWJhc2ljLWNvbmZpZ1xuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgW2dlbmVyYWxUYWJDb250ZW50XT0iZ2VuZXJhbFRhYkNvbnRlbnQiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q29uZmlnPlxuICAgICAgICA8bWF0LXRhYi1ncm91cD5cbiAgICAgICAgICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgICAgICAgICAgPHRiLWpzb24tb2JqZWN0LWVkaXRcbiAgICAgICAgICAgICAgZmlsbEhlaWdodD0idHJ1ZSJcbiAgICAgICAgICAgICAgY2xhc3M9InRiLWZsZXggZmlsbC1oZWlnaHQiXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PSJjb2x1bW4iXG4gICAgICAgICAgICAgIGpzb25SZXF1aXJlZFxuICAgICAgICAgICAgICBsYWJlbD0ie3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJjb25maWd1cmF0aW9uSnNvbiI+XG4gICAgICAgICAgICA8L3RiLWpzb24tb2JqZWN0LWVkaXQ+XG4gICAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgICA8L21hdC10YWItZ3JvdXA+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGRpdiBmeExheW91dEFsaWduPSJlbmQgY2VudGVyIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iIWNvbm5lY3RvckZvcm0uZGlydHkgfHwgY29ubmVjdG9yRm9ybS5pbnZhbGlkIlxuICAgICAgICAgICAgICAgIChjbGljayk9Im9uU2F2ZUNvbm5lY3RvcigpIj5cbiAgICAgICAgICB7eyBcJ2FjdGlvbi5zYXZlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG4gIDwvc2VjdGlvbj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNnZW5lcmFsVGFiQ29udGVudD5cbiAgPHNlY3Rpb24gW2Zvcm1Hcm91cF09ImNvbm5lY3RvckZvcm0iIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIHNlY3Rpb24tY29udGFpbmVyIGZsZXgiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiID5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5uYW1lPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGF1dG9jb21wbGV0ZT0ib2ZmIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJuYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS5oYXNFcnJvcihcJ2R1cGxpY2F0ZU5hbWVcJykgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCdnYXRld2F5LmNvbm5lY3Rvci1kdXBsaWNhdGUtbmFtZVwnIDogXCdnYXRld2F5Lm5hbWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSIoY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYgY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLnRvdWNoZWQpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0b3JGb3JtLmdldChcJ25hbWVcJykuaGFzRXJyb3IoXCdkdXBsaWNhdGVOYW1lXCcpIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IENvbm5lY3RvclR5cGUuQ1VTVE9NIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1jbGFzczwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJjbGFzcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlID09PSBDb25uZWN0b3JUeXBlLkdSUEMiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWtleTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJrZXkiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5sb2dzLWNvbmZpZ3VyYXRpb248L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0iZW5hYmxlUmVtb3RlTG9nZ2luZyI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5lbmFibGUtcmVtb3RlLWxvZ2dpbmdcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucmVtb3RlLWxvZ2dpbmctbGV2ZWw8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImxvZ0xldmVsIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbG9nTGV2ZWwgb2YgZ2F0ZXdheUxvZ0xldmVsIiBbdmFsdWVdPSJsb2dMZXZlbCI+e3sgbG9nTGV2ZWwgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IENvbm5lY3RvclR5cGUuTVFUVCIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJzZW5kRGF0YU9ubHlPbkNoYW5nZSI+XG4gICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5zZW5kLWNoYW5nZS1kYXRhLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnNlbmQtY2hhbmdlLWRhdGFcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8L2Rpdj5cbiAgICA8dGItcmVwb3J0LXN0cmF0ZWd5XG4gICAgICBbZGVmYXVsdFZhbHVlXT0iUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWUuQ29ubmVjdG9yIlxuICAgICAgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gQ29ubmVjdG9yVHlwZS5NT0RCVVMgJiYgKGNvbm5lY3RvckZvcm0uZ2V0KFwnY29uZmlnVmVyc2lvblwnKS52YWx1ZSB8IGlzTGF0ZXN0VmVyc2lvbkNvbmZpZykiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9InJlcG9ydFN0cmF0ZWd5IlxuICAgIC8+XG4gIDwvc2VjdGlvbj5cbjwvbmctdGVtcGxhdGU+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrO292ZXJmbG93LXg6YXV0bztwYWRkaW5nOjB9Omhvc3QgLnZlcnNpb24tcGxhY2Vob2xkZXJ7Y29sb3I6Z3JheTtmb250LXNpemU6MTJweH06aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lcntoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2ZsZXgtZGlyZWN0aW9uOnJvd31AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpezpob3N0IC5jb25uZWN0b3ItY29udGFpbmVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn19Omhvc3QgLmNvbm5lY3Rvci1jb250YWluZXI+c2VjdGlvbjpub3QoLnRhYmxlLXNlY3Rpb24pe21heC13aWR0aDp1bnNldH1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpezpob3N0IC5jb25uZWN0b3ItY29udGFpbmVyPnNlY3Rpb246bm90KC50YWJsZS1zZWN0aW9uKXttYXgtd2lkdGg6NTAlfX06aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGFibGUtc2VjdGlvbnttaW4taGVpZ2h0OjM1dmg7b3ZlcmZsb3c6aGlkZGVufTpob3N0IC5jb25uZWN0b3ItY29udGFpbmVyIC50YWJsZS1zZWN0aW9uIC50YWJsZS1jb250YWluZXJ7b3ZlcmZsb3c6YXV0b306aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAuZmxleHtmbGV4OjF9Omhvc3QgLmNvbm5lY3Rvci1jb250YWluZXIgLmlucHV0LWNvbnRhaW5lcntoZWlnaHQ6YXV0b306aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAuc2VjdGlvbi1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfTpob3N0IC5tYXQtdG9vbGJhcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMDAwMDBkZSFpbXBvcnRhbnR9Omhvc3QgLm1hdC1tZGMtc2xpZGUtdG9nZ2xle21hcmdpbjowIDhweH06aG9zdCAuc3RhdHVze3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6MTZweDtmb250LXdlaWdodDo1MDA7d2lkdGg6Zml0LWNvbnRlbnQ7cGFkZGluZzo1cHggMTVweH06aG9zdCAuc3RhdHVzLXN5bmN7YmFja2dyb3VuZDojMTk4MDM4MGY7Y29sb3I6IzE5ODAzOH06aG9zdCAuc3RhdHVzLXVuc3luY3tiYWNrZ3JvdW5kOiNjYjI1MzAwZjtjb2xvcjojY2IyNTMwfTpob3N0IG1hdC1yb3d7Y3Vyc29yOnBvaW50ZXJ9Omhvc3QgLmRvdHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4O2JhY2tncm91bmQtY29sb3I6I2JiYjtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1ibG9ja306aG9zdCAuaGFzRXJyb3Jze2JhY2tncm91bmQtY29sb3I6I2NiMjUzMH06aG9zdCAubm9FcnJvcnN7YmFja2dyb3VuZC1jb2xvcjojMTk4MDM4fTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAubWF0LW1kYy10YWItZ3JvdXAsOmhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC5tYXQtbWRjLXRhYi1ib2R5LXdyYXBwZXJ7aGVpZ2h0OjEwMCV9Omhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC5tYXQtbWRjLXRhYi1ib2R5Lm1hdC1tZGMtdGFiLWJvZHktYWN0aXZle3Bvc2l0aW9uOmFic29sdXRlfTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGItZm9ybS1yb3cgLmZpeGVkLXRpdGxlLXdpZHRoe21pbi13aWR0aDoxMjBweDt3aWR0aDozMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGItYWRkLW5ld3tkaXNwbGF5OmZsZXg7ei1pbmRleDo5OTk7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Omhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC50Yi1hZGQtbmV3IGJ1dHRvbi5jb25uZWN0b3J7aGVpZ2h0OmF1dG87cGFkZGluZy1yaWdodDoxMnB4O2ZvbnQtc2l6ZToyMHB4O2JvcmRlci1zdHlsZTpkYXNoZWQ7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItcmFkaXVzOjhweDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6IzAwMDAwMDYxfVxuJ10sZGVwZW5kZW5jaWVzOlt7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nVGVtcGxhdGVPdXRsZXQsc2VsZWN0b3I6IltuZ1RlbXBsYXRlT3V0bGV0XSIsaW5wdXRzOlsibmdUZW1wbGF0ZU91dGxldENvbnRleHQiLCJuZ1RlbXBsYXRlT3V0bGV0IiwibmdUZW1wbGF0ZU91dGxldEluamVjdG9yIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Xy5OZ1N3aXRjaCxzZWxlY3RvcjoiW25nU3dpdGNoXSIsaW5wdXRzOlsibmdTd2l0Y2giXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoQ2FzZSxzZWxlY3RvcjoiW25nU3dpdGNoQ2FzZV0iLGlucHV0czpbIm5nU3dpdGNoQ2FzZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZ0Lkpzb25PYmplY3RFZGl0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi1qc29uLW9iamVjdC1lZGl0IixpbnB1dHM6WyJsYWJlbCIsImRpc2FibGVkIiwiZmlsbEhlaWdodCIsImVkaXRvclN0eWxlIiwic29ydCIsImpzb25SZXF1aXJlZCIsInJlYWRvbmx5Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QnV0dG9uLHNlbGVjdG9yOiIgICAgYnV0dG9uW21hdC1idXR0b25dLCBidXR0b25bbWF0LXJhaXNlZC1idXR0b25dLCBidXR0b25bbWF0LWZsYXQtYnV0dG9uXSwgICAgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0gICIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRJY29uQnV0dG9uLHNlbGVjdG9yOiJidXR0b25bbWF0LWljb24tYnV0dG9uXSIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6eGUuTWF0SW5wdXQsc2VsZWN0b3I6ImlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCBzZWxlY3RbbWF0TmF0aXZlQ29udHJvbF0sICAgICAgaW5wdXRbbWF0TmF0aXZlQ29udHJvbF0sIHRleHRhcmVhW21hdE5hdGl2ZUNvbnRyb2xdIixpbnB1dHM6WyJkaXNhYmxlZCIsImlkIiwicGxhY2Vob2xkZXIiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJhcmlhLWRlc2NyaWJlZGJ5IiwidmFsdWUiLCJyZWFkb25seSJdLGV4cG9ydEFzOlsibWF0SW5wdXQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp2ZS5NYXRGb3JtRmllbGQsc2VsZWN0b3I6Im1hdC1mb3JtLWZpZWxkIixpbnB1dHM6WyJoaWRlUmVxdWlyZWRNYXJrZXIiLCJjb2xvciIsImZsb2F0TGFiZWwiLCJhcHBlYXJhbmNlIiwic3Vic2NyaXB0U2l6aW5nIiwiaGludExhYmVsIl0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRMYWJlbCxzZWxlY3RvcjoibWF0LWxhYmVsIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp2ZS5NYXRTdWZmaXgsc2VsZWN0b3I6IlttYXRTdWZmaXhdLCBbbWF0SWNvblN1ZmZpeF0sIFttYXRUZXh0U3VmZml4XSIsaW5wdXRzOlsibWF0VGV4dFN1ZmZpeCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnJ0Lk1hdFRvb2xiYXIsc2VsZWN0b3I6Im1hdC10b29sYmFyIixpbnB1dHM6WyJjb2xvciJdLGV4cG9ydEFzOlsibWF0VG9vbGJhciJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmh0Lk1hdE1lbnUsc2VsZWN0b3I6Im1hdC1tZW51IixpbnB1dHM6WyJiYWNrZHJvcENsYXNzIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSIsImFyaWEtZGVzY3JpYmVkYnkiLCJ4UG9zaXRpb24iLCJ5UG9zaXRpb24iLCJvdmVybGFwVHJpZ2dlciIsImhhc0JhY2tkcm9wIiwiY2xhc3MiLCJjbGFzc0xpc3QiXSxvdXRwdXRzOlsiY2xvc2VkIiwiY2xvc2UiXSxleHBvcnRBczpbIm1hdE1lbnUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpodC5NYXRNZW51VHJpZ2dlcixzZWxlY3RvcjoiW21hdC1tZW51LXRyaWdnZXItZm9yXSwgW21hdE1lbnVUcmlnZ2VyRm9yXSIsaW5wdXRzOlsibWF0LW1lbnUtdHJpZ2dlci1mb3IiLCJtYXRNZW51VHJpZ2dlckZvciIsIm1hdE1lbnVUcmlnZ2VyRGF0YSIsIm1hdE1lbnVUcmlnZ2VyUmVzdG9yZUZvY3VzIl0sb3V0cHV0czpbIm1lbnVPcGVuZWQiLCJvbk1lbnVPcGVuIiwibWVudUNsb3NlZCIsIm9uTWVudUNsb3NlIl0sZXhwb3J0QXM6WyJtYXRNZW51VHJpZ2dlciJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOndlLk1hdFNlbGVjdCxzZWxlY3RvcjoibWF0LXNlbGVjdCIsaW5wdXRzOlsiYXJpYS1kZXNjcmliZWRieSIsInBhbmVsQ2xhc3MiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3IiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwibXVsdGlwbGUiLCJkaXNhYmxlT3B0aW9uQ2VudGVyaW5nIiwiY29tcGFyZVdpdGgiLCJ2YWx1ZSIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJlcnJvclN0YXRlTWF0Y2hlciIsInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLCJzb3J0Q29tcGFyYXRvciIsImlkIiwicGFuZWxXaWR0aCJdLG91dHB1dHM6WyJvcGVuZWRDaGFuZ2UiLCJvcGVuZWQiLCJjbG9zZWQiLCJzZWxlY3Rpb25DaGFuZ2UiLCJ2YWx1ZUNoYW5nZSJdLGV4cG9ydEFzOlsibWF0U2VsZWN0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q2UuTWF0T3B0aW9uLHNlbGVjdG9yOiJtYXQtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSIsImlkIiwiZGlzYWJsZWQiXSxvdXRwdXRzOlsib25TZWxlY3Rpb25DaGFuZ2UiXSxleHBvcnRBczpbIm1hdE9wdGlvbiJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnplLk1hdFRvb2x0aXAsc2VsZWN0b3I6IlttYXRUb29sdGlwXSIsaW5wdXRzOlsibWF0VG9vbHRpcFBvc2l0aW9uIiwibWF0VG9vbHRpcFBvc2l0aW9uQXRPcmlnaW4iLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJtYXRUb29sdGlwU2hvd0RlbGF5IiwibWF0VG9vbHRpcEhpZGVEZWxheSIsIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIiwibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBDbGFzcyJdLGV4cG9ydEFzOlsibWF0VG9vbHRpcCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmIuTWF0VGFibGUsc2VsZWN0b3I6Im1hdC10YWJsZSwgdGFibGVbbWF0LXRhYmxlXSIsZXhwb3J0QXM6WyJtYXRUYWJsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0SGVhZGVyQ2VsbERlZixzZWxlY3RvcjoiW21hdEhlYWRlckNlbGxEZWZdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlclJvd0RlZixzZWxlY3RvcjoiW21hdEhlYWRlclJvd0RlZl0iLGlucHV0czpbIm1hdEhlYWRlclJvd0RlZiIsIm1hdEhlYWRlclJvd0RlZlN0aWNreSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Q29sdW1uRGVmLHNlbGVjdG9yOiJbbWF0Q29sdW1uRGVmXSIsaW5wdXRzOlsibWF0Q29sdW1uRGVmIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsRGVmLHNlbGVjdG9yOiJbbWF0Q2VsbERlZl0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmIuTWF0Um93RGVmLHNlbGVjdG9yOiJbbWF0Um93RGVmXSIsaW5wdXRzOlsibWF0Um93RGVmQ29sdW1ucyIsIm1hdFJvd0RlZldoZW4iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpiLk1hdEhlYWRlckNlbGwsc2VsZWN0b3I6Im1hdC1oZWFkZXItY2VsbCwgdGhbbWF0LWhlYWRlci1jZWxsXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Yi5NYXRDZWxsLHNlbGVjdG9yOiJtYXQtY2VsbCwgdGRbbWF0LWNlbGxdIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdEhlYWRlclJvdyxzZWxlY3RvcjoibWF0LWhlYWRlci1yb3csIHRyW21hdC1oZWFkZXItcm93XSIsZXhwb3J0QXM6WyJtYXRIZWFkZXJSb3ciXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiLk1hdFJvdyxzZWxlY3RvcjoibWF0LXJvdywgdHJbbWF0LXJvd10iLGV4cG9ydEFzOlsibWF0Um93Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Zi5NYXRTb3J0LHNlbGVjdG9yOiJbbWF0U29ydF0iLGlucHV0czpbIm1hdFNvcnRBY3RpdmUiLCJtYXRTb3J0U3RhcnQiLCJtYXRTb3J0RGlyZWN0aW9uIiwibWF0U29ydERpc2FibGVDbGVhciIsIm1hdFNvcnREaXNhYmxlZCJdLG91dHB1dHM6WyJtYXRTb3J0Q2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTb3J0Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Zi5NYXRTb3J0SGVhZGVyLHNlbGVjdG9yOiJbbWF0LXNvcnQtaGVhZGVyXSIsaW5wdXRzOlsibWF0LXNvcnQtaGVhZGVyIiwiYXJyb3dQb3NpdGlvbiIsInN0YXJ0IiwiZGlzYWJsZWQiLCJzb3J0QWN0aW9uRGVzY3JpcHRpb24iLCJkaXNhYmxlQ2xlYXIiXSxleHBvcnRBczpbIm1hdFNvcnRIZWFkZXIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYixzZWxlY3RvcjoibWF0LXRhYiIsaW5wdXRzOlsiZGlzYWJsZWQiLCJsYWJlbCIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJsYWJlbENsYXNzIiwiYm9keUNsYXNzIl0sZXhwb3J0QXM6WyJtYXRUYWIiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpXLk1hdFRhYkdyb3VwLHNlbGVjdG9yOiJtYXQtdGFiLWdyb3VwIixpbnB1dHM6WyJjb2xvciIsImZpdElua0JhclRvQ29udGVudCIsIm1hdC1zdHJldGNoLXRhYnMiLCJkeW5hbWljSGVpZ2h0Iiwic2VsZWN0ZWRJbmRleCIsImhlYWRlclBvc2l0aW9uIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJjb250ZW50VGFiSW5kZXgiLCJkaXNhYmxlUGFnaW5hdGlvbiIsImRpc2FibGVSaXBwbGUiLCJwcmVzZXJ2ZUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5Il0sb3V0cHV0czpbInNlbGVjdGVkSW5kZXhDaGFuZ2UiLCJmb2N1c0NoYW5nZSIsImFuaW1hdGlvbkRvbmUiLCJzZWxlY3RlZFRhYkNoYW5nZSJdLGV4cG9ydEFzOlsibWF0VGFiR3JvdXAiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpldC5NYXRTbGlkZVRvZ2dsZSxzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsaW5wdXRzOlsibmFtZSIsImlkIiwibGFiZWxQb3NpdGlvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwicmVxdWlyZWQiLCJjb2xvciIsImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4IiwiY2hlY2tlZCIsImhpZGVJY29uIiwiZGlzYWJsZWRJbnRlcmFjdGl2ZSJdLG91dHB1dHM6WyJjaGFuZ2UiLCJ0b2dnbGVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNsaWRlVG9nZ2xlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRMYXlvdXRBbGlnbkRpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRBbGlnbl0sIFtmeExheW91dEFsaWduLnhzXSwgW2Z4TGF5b3V0QWxpZ24uc21dLCBbZnhMYXlvdXRBbGlnbi5tZF0sICBbZnhMYXlvdXRBbGlnbi5sZ10sIFtmeExheW91dEFsaWduLnhsXSwgW2Z4TGF5b3V0QWxpZ24ubHQtc21dLCBbZnhMYXlvdXRBbGlnbi5sdC1tZF0sICBbZnhMYXlvdXRBbGlnbi5sdC1sZ10sIFtmeExheW91dEFsaWduLmx0LXhsXSwgW2Z4TGF5b3V0QWxpZ24uZ3QteHNdLCBbZnhMYXlvdXRBbGlnbi5ndC1zbV0sICBbZnhMYXlvdXRBbGlnbi5ndC1tZF0sIFtmeExheW91dEFsaWduLmd0LWxnXSIsaW5wdXRzOlsiZnhMYXlvdXRBbGlnbiIsImZ4TGF5b3V0QWxpZ24ueHMiLCJmeExheW91dEFsaWduLnNtIiwiZnhMYXlvdXRBbGlnbi5tZCIsImZ4TGF5b3V0QWxpZ24ubGciLCJmeExheW91dEFsaWduLnhsIiwiZnhMYXlvdXRBbGlnbi5sdC1zbSIsImZ4TGF5b3V0QWxpZ24ubHQtbWQiLCJmeExheW91dEFsaWduLmx0LWxnIiwiZnhMYXlvdXRBbGlnbi5sdC14bCIsImZ4TGF5b3V0QWxpZ24uZ3QteHMiLCJmeExheW91dEFsaWduLmd0LXNtIiwiZnhMYXlvdXRBbGlnbi5ndC1tZCIsImZ4TGF5b3V0QWxpZ24uZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpqLkRlZmF1bHRGbGV4RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeEZsZXhdLCBbZnhGbGV4LnhzXSwgW2Z4RmxleC5zbV0sIFtmeEZsZXgubWRdLCAgW2Z4RmxleC5sZ10sIFtmeEZsZXgueGxdLCBbZnhGbGV4Lmx0LXNtXSwgW2Z4RmxleC5sdC1tZF0sICBbZnhGbGV4Lmx0LWxnXSwgW2Z4RmxleC5sdC14bF0sIFtmeEZsZXguZ3QteHNdLCBbZnhGbGV4Lmd0LXNtXSwgIFtmeEZsZXguZ3QtbWRdLCBbZnhGbGV4Lmd0LWxnXSIsaW5wdXRzOlsiZnhGbGV4IiwiZnhGbGV4LnhzIiwiZnhGbGV4LnNtIiwiZnhGbGV4Lm1kIiwiZnhGbGV4LmxnIiwiZnhGbGV4LnhsIiwiZnhGbGV4Lmx0LXNtIiwiZnhGbGV4Lmx0LW1kIiwiZnhGbGV4Lmx0LWxnIiwiZnhGbGV4Lmx0LXhsIiwiZnhGbGV4Lmd0LXhzIiwiZnhGbGV4Lmd0LXNtIiwiZnhGbGV4Lmd0LW1kIiwiZnhGbGV4Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6Sy5EZWZhdWx0U2hvd0hpZGVEaXJlY3RpdmUsc2VsZWN0b3I6IiAgW2Z4U2hvd10sIFtmeFNob3cucHJpbnRdLCAgW2Z4U2hvdy54c10sIFtmeFNob3cuc21dLCBbZnhTaG93Lm1kXSwgW2Z4U2hvdy5sZ10sIFtmeFNob3cueGxdLCAgW2Z4U2hvdy5sdC1zbV0sIFtmeFNob3cubHQtbWRdLCBbZnhTaG93Lmx0LWxnXSwgW2Z4U2hvdy5sdC14bF0sICBbZnhTaG93Lmd0LXhzXSwgW2Z4U2hvdy5ndC1zbV0sIFtmeFNob3cuZ3QtbWRdLCBbZnhTaG93Lmd0LWxnXSwgIFtmeEhpZGVdLCBbZnhIaWRlLnByaW50XSwgIFtmeEhpZGUueHNdLCBbZnhIaWRlLnNtXSwgW2Z4SGlkZS5tZF0sIFtmeEhpZGUubGddLCBbZnhIaWRlLnhsXSwgIFtmeEhpZGUubHQtc21dLCBbZnhIaWRlLmx0LW1kXSwgW2Z4SGlkZS5sdC1sZ10sIFtmeEhpZGUubHQteGxdLCAgW2Z4SGlkZS5ndC14c10sIFtmeEhpZGUuZ3Qtc21dLCBbZnhIaWRlLmd0LW1kXSwgW2Z4SGlkZS5ndC1sZ10iLGlucHV0czpbImZ4U2hvdyIsImZ4U2hvdy5wcmludCIsImZ4U2hvdy54cyIsImZ4U2hvdy5zbSIsImZ4U2hvdy5tZCIsImZ4U2hvdy5sZyIsImZ4U2hvdy54bCIsImZ4U2hvdy5sdC1zbSIsImZ4U2hvdy5sdC1tZCIsImZ4U2hvdy5sdC1sZyIsImZ4U2hvdy5sdC14bCIsImZ4U2hvdy5ndC14cyIsImZ4U2hvdy5ndC1zbSIsImZ4U2hvdy5ndC1tZCIsImZ4U2hvdy5ndC1sZyIsImZ4SGlkZSIsImZ4SGlkZS5wcmludCIsImZ4SGlkZS54cyIsImZ4SGlkZS5zbSIsImZ4SGlkZS5tZCIsImZ4SGlkZS5sZyIsImZ4SGlkZS54bCIsImZ4SGlkZS5sdC1zbSIsImZ4SGlkZS5sdC1tZCIsImZ4SGlkZS5sdC1sZyIsImZ4SGlkZS5sdC14bCIsImZ4SGlkZS5ndC14cyIsImZ4SGlkZS5ndC1zbSIsImZ4SGlkZS5ndC1tZCIsImZ4SGlkZS5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOksuRGVmYXVsdFN0eWxlRGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtuZ1N0eWxlXSwgIFtuZ1N0eWxlLnhzXSwgW25nU3R5bGUuc21dLCBbbmdTdHlsZS5tZF0sIFtuZ1N0eWxlLmxnXSwgW25nU3R5bGUueGxdLCAgW25nU3R5bGUubHQtc21dLCBbbmdTdHlsZS5sdC1tZF0sIFtuZ1N0eWxlLmx0LWxnXSwgW25nU3R5bGUubHQteGxdLCAgW25nU3R5bGUuZ3QteHNdLCBbbmdTdHlsZS5ndC1zbV0sIFtuZ1N0eWxlLmd0LW1kXSwgW25nU3R5bGUuZ3QtbGddIixpbnB1dHM6WyJuZ1N0eWxlIiwibmdTdHlsZS54cyIsIm5nU3R5bGUuc20iLCJuZ1N0eWxlLm1kIiwibmdTdHlsZS5sZyIsIm5nU3R5bGUueGwiLCJuZ1N0eWxlLmx0LXNtIiwibmdTdHlsZS5sdC1tZCIsIm5nU3R5bGUubHQtbGciLCJuZ1N0eWxlLmx0LXhsIiwibmdTdHlsZS5ndC14cyIsIm5nU3R5bGUuZ3Qtc20iLCJuZ1N0eWxlLmd0LW1kIiwibmdTdHlsZS5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1cyxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk5nQ29udHJvbFN0YXR1c0dyb3VwLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0sW2Zvcm1BcnJheU5hbWVdLFtuZ01vZGVsR3JvdXBdLFtmb3JtR3JvdXBdLGZvcm06bm90KFtuZ05vRm9ybV0pLFtuZ0Zvcm1dIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtR3JvdXBdIixpbnB1dHM6WyJmb3JtR3JvdXAiXSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Db250cm9sTmFtZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0iLGlucHV0czpbImZvcm1Db250cm9sTmFtZSIsImRpc2FibGVkIiwibmdNb2RlbCJdLG91dHB1dHM6WyJuZ01vZGVsQ2hhbmdlIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bnQuVG9nZ2xlT3B0aW9uLHNlbGVjdG9yOiJ0Yi10b2dnbGUtb3B0aW9uIixpbnB1dHM6WyJ2YWx1ZSJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmF0LlRvZ2dsZVNlbGVjdENvbXBvbmVudCxzZWxlY3RvcjoidGItdG9nZ2xlLXNlbGVjdCIsaW5wdXRzOlsiZGlzYWJsZWQiLCJzZWxlY3RNZWRpYUJyZWFrcG9pbnQiLCJhcHBlYXJhbmNlIiwiZGlzYWJsZVBhZ2luYXRpb24iLCJmaWxsSGVpZ2h0IiwiZXh0cmFQYWRkaW5nIiwicHJpbWFyeUJhY2tncm91bmQiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp1dC5IaW50VG9vbHRpcEljb25Db21wb25lbnQsc2VsZWN0b3I6Ilt0Yi1oaW50LXRvb2x0aXAtaWNvbl0iLGlucHV0czpbInRiLWhpbnQtdG9vbHRpcC1pY29uIiwidG9vbHRpcFBvc2l0aW9uIiwiaGludEljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpMbyxzZWxlY3RvcjoidGItbW9kYnVzLWxlZ2FjeS1iYXNpYy1jb25maWcifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmtvLHNlbGVjdG9yOiJ0Yi1tb2RidXMtYmFzaWMtY29uZmlnIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpGbyxzZWxlY3RvcjoidGItb3BjLXVhLWxlZ2FjeS1iYXNpYy1jb25maWcifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnBvLHNlbGVjdG9yOiJ0Yi1vcGMtdWEtYmFzaWMtY29uZmlnIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpBbyxzZWxlY3RvcjoidGItbXF0dC1sZWdhY3ktYmFzaWMtY29uZmlnIn0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpObyxzZWxlY3RvcjoidGItbXF0dC1iYXNpYy1jb25maWcifSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmdvLHNlbGVjdG9yOiJ0Yi1yZXBvcnQtc3RyYXRlZ3kiLGlucHV0czpbImlzRXhwYW5zaW9uTW9kZSIsImRlZmF1bHRWYWx1ZSJdfSx7a2luZDoicGlwZSIsdHlwZTpfLkFzeW5jUGlwZSxuYW1lOiJhc3luYyJ9LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifSx7a2luZDoicGlwZSIsdHlwZTp2YSxuYW1lOiJpc0xhdGVzdFZlcnNpb25Db25maWcifV19KX19ZSgiR2F0ZXdheUNvbm5lY3RvckNvbXBvbmVudCIsRW8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6RW8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktY29ubmVjdG9yIixwcm92aWRlcnM6W3twcm92aWRlOlRlLHVzZUNsYXNzOk1vfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IGNsYXNzPSJjb25uZWN0b3ItY29udGFpbmVyIHRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIj5cbiAgPHNlY3Rpb24gY2xhc3M9InRhYmxlLXNlY3Rpb24gdGItZm9ybS1wYW5lbCBuby1wYWRkaW5nIGZsZXggc2VjdGlvbi1jb250YWluZXIiPlxuICAgIDxtYXQtdG9vbGJhciBjbGFzcz0ibWF0LW1kYy10YWJsZS10b29sYmFyIj5cbiAgICAgIDxoMj57eyBcJ2dhdGV3YXkuY29ubmVjdG9yc1wnIHwgdHJhbnNsYXRlIH19PC9oMj5cbiAgICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgICA8YnV0dG9uICpuZ0lmPSJkYXRhU291cmNlPy5kYXRhPy5sZW5ndGgiXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJpc0xvYWRpbmckIHwgYXN5bmMiXG4gICAgICAgICAgICAgIChjbGljayk9Im9uQWRkQ29ubmVjdG9yKCRldmVudCkiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnYWN0aW9uLmFkZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L21hdC10b29sYmFyPlxuICAgIDxkaXYgY2xhc3M9InRhYmxlLWNvbnRhaW5lciI+XG4gICAgICA8c2VjdGlvbiAqbmdJZj0iIWRhdGFTb3VyY2U/LmRhdGE/Lmxlbmd0aCIgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICAgICAgIGNsYXNzPSJtYXQtaGVhZGxpbmUtNSB0Yi1hYnNvbHV0ZS1maWxsIHRiLWFkZC1uZXciPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9ImNvbm5lY3RvciJcbiAgICAgICAgKGNsaWNrKT0ib25BZGRDb25uZWN0b3IoJGV2ZW50KSI+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJ0Yi1tYXQtOTYiPmFkZDwvbWF0LWljb24+XG4gICAgICAgICAgPHNwYW4+e3sgXCdnYXRld2F5LmFkZC1jb25uZWN0b3JcJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT0iZGF0YVNvdXJjZSJcbiAgICAgICAgICAgICBtYXRTb3J0IFttYXRTb3J0QWN0aXZlXT0icGFnZUxpbmsuc29ydE9yZGVyLnByb3BlcnR5IiBbbWF0U29ydERpcmVjdGlvbl09InBhZ2VMaW5rLnNvcnREaXJlY3Rpb24oKSJcbiAgICAgICAgICAgICBtYXRTb3J0RGlzYWJsZUNsZWFyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iZW5hYmxlZCIgc3RpY2t5PlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgc3R5bGU9IndpZHRoOiA2MHB4O21pbi13aWR0aDogNjBweDsiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtZW5hYmxlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgYXR0cmlidXRlIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIFtjaGVja2VkXT0iYWN0aXZlQ29ubmVjdG9ycy5pbmNsdWRlcyhhdHRyaWJ1dGUua2V5KSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgb25FbmFibGVDb25uZWN0b3IoYXR0cmlidXRlKSI+PC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0ia2V5Ij5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBzdHlsZT0id2lkdGg6IDQwJSI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1uYW1lXCcgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiPlxuICAgICAgICAgICAge3sgYXR0cmlidXRlLmtleSB9fVxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0idHlwZSI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgc3R5bGU9IndpZHRoOiAzMCUiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtdHlwZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPSJsZXQgYXR0cmlidXRlIiBzdHlsZT0idGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSI+XG4gICAgICAgICAgICB7eyByZXR1cm5UeXBlKGF0dHJpYnV0ZSkgfX1cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9InN5bmNTdGF0dXMiPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIHN0eWxlPSJ3aWR0aDogMzAlIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5jb25maWd1cmF0aW9uXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzIiBbY2xhc3NdPSJpc0Nvbm5lY3RvclN5bmNlZChhdHRyaWJ1dGUpID8gXCdzdGF0dXMtc3luY1wnIDogXCdzdGF0dXMtdW5zeW5jXCciPlxuICAgICAgICAgICAgICAgIHt7IGlzQ29ubmVjdG9yU3luY2VkKGF0dHJpYnV0ZSkgPyBcJ3N5bmNcJyA6IFwnb3V0IG9mIHN5bmNcJyB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9ImVycm9ycyI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgc3R5bGU9IndpZHRoOiAzMCUiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LmNvbm5lY3RvcnMtdGFibGUtc3RhdHVzXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9ImxldCBhdHRyaWJ1dGUiIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkb3QiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ0Vycm9yczogXCcrIGdldEVycm9yc0NvdW50KGF0dHJpYnV0ZSl9fSJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPSJjb25uZWN0b3JMb2dzKGF0dHJpYnV0ZSwgJGV2ZW50KSJcbiAgICAgICAgICAgICAgICAgIFtjbGFzc109IntcJ2hhc0Vycm9yc1wnOiArZ2V0RXJyb3JzQ291bnQoYXR0cmlidXRlKSA+IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCdub0Vycm9yc1wnOiArZ2V0RXJyb3JzQ291bnQoYXR0cmlidXRlKSA9PT0gMCB8fCBnZXRFcnJvcnNDb3VudChhdHRyaWJ1dGUpID09PSBcJ1wnfSI+PC9zcGFuPlxuICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0iYWN0aW9ucyIgc3RpY2t5RW5kPlxuICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlLmd0LW1kXT0ieyBtaW5XaWR0aDogXCcxNDRweFwnLCBtYXhXaWR0aDogXCcxNDRweFwnLCB3aWR0aDogXCcxNDRweFwnLCB0ZXh0QWxpZ246IFwnY2VudGVyXCd9Ij5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWFjdGlvbnNcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IGF0dHJpYnV0ZSJcbiAgICAgICAgICAgICAgICAgICAgW25nU3R5bGUuZ3QtbWRdPSJ7IG1pbldpZHRoOiBcJzE0NHB4XCcsIG1heFdpZHRoOiBcJzE0NHB4XCcsIHdpZHRoOiBcJzE0NHB4XCd9Ij5cbiAgICAgICAgICAgIDxkaXYgZnhIaWRlIGZ4U2hvdy5ndC1tZCBmeEZsZXggZnhMYXlvdXQ9InJvdyIgZnhMYXlvdXRBbGlnbj0iZW5kIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJSUEMiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJjb25uZWN0b3JScGMoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+cHJpdmF0ZV9jb25uZWN0aXZpdHk8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJMb2dzIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iY29ubmVjdG9yTG9ncyhhdHRyaWJ1dGUsICRldmVudCkiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5saXN0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0iRGVsZXRlIGNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9ImRlbGV0ZUNvbm5lY3RvcihhdHRyaWJ1dGUsICRldmVudCkiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmeEhpZGUgZnhTaG93Lmx0LWxnPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPSJjZWxsQWN0aW9uc01lbnUiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8bWF0LW1lbnUgI2NlbGxBY3Rpb25zTWVudT0ibWF0TWVudSIgeFBvc2l0aW9uPSJiZWZvcmUiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJSUEMiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iY29ubmVjdG9yUnBjKGF0dHJpYnV0ZSwgJGV2ZW50KSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24+cHJpdmF0ZV9jb25uZWN0aXZpdHk8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJMb2dzIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9ImNvbm5lY3RvckxvZ3MoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5saXN0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0iRGVsZXRlIGNvbm5lY3RvciJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPSJkZWxldGVDb25uZWN0b3IoYXR0cmlidXRlLCAkZXZlbnQpIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxtYXQtaGVhZGVyLXJvdyBjbGFzcz0ibWF0LXJvdy1zZWxlY3QiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbWF0SGVhZGVyUm93RGVmPSJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWUiPjwvbWF0LWhlYWRlci1yb3c+XG4gICAgICAgIDxtYXQtcm93IGNsYXNzPSJtYXQtcm93LXNlbGVjdCIgW2NsYXNzXT0ie1wndGItY3VycmVudC1lbnRpdHlcJzogaXNTYW1lQ29ubmVjdG9yKGF0dHJpYnV0ZSl9IlxuICAgICAgICAgICAgICAgICAqbWF0Um93RGVmPSJsZXQgYXR0cmlidXRlOyBsZXQgaSA9IGluZGV4OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zOyIgKGNsaWNrKT0ic2VsZWN0Q29ubmVjdG9yKCRldmVudCwgYXR0cmlidXRlKSI+PC9tYXQtcm93PlxuICAgICAgPC90YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9zZWN0aW9uPlxuICA8c2VjdGlvbiBbZm9ybUdyb3VwXT0iY29ubmVjdG9yRm9ybSIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc2VjdGlvbi1jb250YWluZXIgZmxleCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSB0Yi1mbGV4IG5vLWZsZXggc3BhY2UtYmV0d2VlbiBhbGlnbi1jZW50ZXIiPlxuICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSI+XG4gICAgICAgIHt7IGluaXRpYWxDb25uZWN0b3I/LnR5cGUgPyBHYXRld2F5Q29ubmVjdG9yVHlwZXNUcmFuc2xhdGVzTWFwLmdldChpbml0aWFsQ29ubmVjdG9yLnR5cGUpIDogXCdcJyB9fVxuICAgICAgICB7eyBcJ2dhdGV3YXkuY29uZmlndXJhdGlvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDxzcGFuIGNsYXNzPSJ2ZXJzaW9uLXBsYWNlaG9sZGVyIiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdjb25maWdWZXJzaW9uXCcpLnZhbHVlIj52e3tjb25uZWN0b3JGb3JtLmdldChcJ2NvbmZpZ1ZlcnNpb25cJykudmFsdWV9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgKm5nSWY9ImluaXRpYWxDb25uZWN0b3IgJiYgYWxsb3dCYXNpY0NvbmZpZy5oYXMoaW5pdGlhbENvbm5lY3Rvci50eXBlKSJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0ibW9kZSIgYXBwZWFyYW5jZT0iZmlsbCI+XG4gICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uIFt2YWx1ZV09IkNvbm5lY3RvckNvbmZpZ3VyYXRpb25Nb2Rlcy5CQVNJQyI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LmJhc2ljXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiBbdmFsdWVdPSJDb25uZWN0b3JDb25maWd1cmF0aW9uTW9kZXMuQURWQU5DRUQiPlxuICAgICAgICAgIHt7IFwnZ2F0ZXdheS5hZHZhbmNlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgIDwvdGItdG9nZ2xlLXNlbGVjdD5cbiAgICA8L2Rpdj5cbiAgICA8c3BhbiBbZnhTaG93XT0iIWluaXRpYWxDb25uZWN0b3IiXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj0iY2VudGVyIGNlbnRlciJcbiAgICAgICAgICBjbGFzcz0ibm8tZGF0YS1mb3VuZCIgdHJhbnNsYXRlPlxuICAgICAgZ2F0ZXdheS5zZWxlY3QtY29ubmVjdG9yXG4gICAgPC9zcGFuPlxuICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHNlY3Rpb24tY29udGFpbmVyIG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLWZsZXggc3BhY2UtYmV0d2VlbiIgKm5nSWY9ImluaXRpYWxDb25uZWN0b3IiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdtb2RlXCcpPy52YWx1ZSA9PT0gQ29ubmVjdG9yQ29uZmlndXJhdGlvbk1vZGVzLkJBU0lDIGVsc2UgZGVmYXVsdENvbmZpZyI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT0iaW5pdGlhbENvbm5lY3Rvci50eXBlIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9IkNvbm5lY3RvclR5cGUuTVFUVCI+XG4gICAgICAgICAgICA8dGItbXF0dC1iYXNpYy1jb25maWdcbiAgICAgICAgICAgICAgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwnY29uZmlnVmVyc2lvblwnKS52YWx1ZSB8IGlzTGF0ZXN0VmVyc2lvbkNvbmZpZyBlbHNlIGxlZ2FjeSJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgW2dlbmVyYWxUYWJDb250ZW50XT0iZ2VuZXJhbFRhYkNvbnRlbnQiXG4gICAgICAgICAgICAgIChpbml0aWFsaXplZCk9ImJhc2ljQ29uZmlnSW5pdFN1YmplY3QubmV4dCgpIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbGVnYWN5PlxuICAgICAgICAgICAgICA8dGItbXF0dC1sZWdhY3ktYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk9QQ1VBIj5cbiAgICAgICAgICAgIDx0Yi1vcGMtdWEtYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ2NvbmZpZ1ZlcnNpb25cJykudmFsdWUgfCBpc0xhdGVzdFZlcnNpb25Db25maWcgZWxzZSBsZWdhY3kiXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICAgICAgICAgIFtnZW5lcmFsVGFiQ29udGVudF09ImdlbmVyYWxUYWJDb250ZW50IlxuICAgICAgICAgICAgICAoaW5pdGlhbGl6ZWQpPSJiYXNpY0NvbmZpZ0luaXRTdWJqZWN0Lm5leHQoKSJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2xlZ2FjeT5cbiAgICAgICAgICAgICAgPHRiLW9wYy11YS1sZWdhY3ktYmFzaWMtY29uZmlnXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJiYXNpY0NvbmZpZyJcbiAgICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPSJDb25uZWN0b3JUeXBlLk1PREJVUyI+XG4gICAgICAgICAgICA8dGItbW9kYnVzLWJhc2ljLWNvbmZpZ1xuICAgICAgICAgICAgICAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCdjb25maWdWZXJzaW9uXCcpLnZhbHVlIHwgaXNMYXRlc3RWZXJzaW9uQ29uZmlnIGVsc2UgbGVnYWN5IlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9ImJhc2ljQ29uZmlnIlxuICAgICAgICAgICAgICBbZ2VuZXJhbFRhYkNvbnRlbnRdPSJnZW5lcmFsVGFiQ29udGVudCJcbiAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNsZWdhY3k+XG4gICAgICAgICAgICAgIDx0Yi1tb2RidXMtbGVnYWN5LWJhc2ljLWNvbmZpZ1xuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemVkKT0iYmFzaWNDb25maWdJbml0U3ViamVjdC5uZXh0KCkiXG4gICAgICAgICAgICAgICAgW2dlbmVyYWxUYWJDb250ZW50XT0iZ2VuZXJhbFRhYkNvbnRlbnQiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q29uZmlnPlxuICAgICAgICA8bWF0LXRhYi1ncm91cD5cbiAgICAgICAgICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT0iZ2VuZXJhbFRhYkNvbnRlbnQiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSoiPlxuICAgICAgICAgICAgPHRiLWpzb24tb2JqZWN0LWVkaXRcbiAgICAgICAgICAgICAgZmlsbEhlaWdodD0idHJ1ZSJcbiAgICAgICAgICAgICAgY2xhc3M9InRiLWZsZXggZmlsbC1oZWlnaHQiXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PSJjb2x1bW4iXG4gICAgICAgICAgICAgIGpzb25SZXF1aXJlZFxuICAgICAgICAgICAgICBsYWJlbD0ie3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJjb25maWd1cmF0aW9uSnNvbiI+XG4gICAgICAgICAgICA8L3RiLWpzb24tb2JqZWN0LWVkaXQ+XG4gICAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgICA8L21hdC10YWItZ3JvdXA+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGRpdiBmeExheW91dEFsaWduPSJlbmQgY2VudGVyIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iIWNvbm5lY3RvckZvcm0uZGlydHkgfHwgY29ubmVjdG9yRm9ybS5pbnZhbGlkIlxuICAgICAgICAgICAgICAgIChjbGljayk9Im9uU2F2ZUNvbm5lY3RvcigpIj5cbiAgICAgICAgICB7eyBcJ2FjdGlvbi5zYXZlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG4gIDwvc2VjdGlvbj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNnZW5lcmFsVGFiQ29udGVudD5cbiAgPHNlY3Rpb24gW2Zvcm1Hcm91cF09ImNvbm5lY3RvckZvcm0iIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLWJvcmRlciBuby1wYWRkaW5nIHBhZGRpbmctdG9wIHNlY3Rpb24tY29udGFpbmVyIGZsZXgiPlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiID5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIHRiLXJlcXVpcmVkIiB0cmFuc2xhdGU+Z2F0ZXdheS5uYW1lPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IG5vLWdhcCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGF1dG9jb21wbGV0ZT0ib2ZmIiBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJuYW1lIiBwbGFjZWhvbGRlcj0ie3sgXCdnYXRld2F5LnNldFwnIHwgdHJhbnNsYXRlIH19Ii8+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9InRiLWVycm9yLXRvb2x0aXAiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iKGNvbm5lY3RvckZvcm0uZ2V0KFwnbmFtZVwnKS5oYXNFcnJvcihcJ2R1cGxpY2F0ZU5hbWVcJykgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCdnYXRld2F5LmNvbm5lY3Rvci1kdXBsaWNhdGUtbmFtZVwnIDogXCdnYXRld2F5Lm5hbWUtcmVxdWlyZWRcJykgfCB0cmFuc2xhdGUiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSIoY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykgJiYgY29ubmVjdG9yRm9ybS5nZXQoXCduYW1lXCcpLnRvdWNoZWQpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0b3JGb3JtLmdldChcJ25hbWVcJykuaGFzRXJyb3IoXCdkdXBsaWNhdGVOYW1lXCcpIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItZXJyb3IiPlxuICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IENvbm5lY3RvclR5cGUuQ1VTVE9NIiBjbGFzcz0idGItZm9ybS1yb3cgY29sdW1uLXhzIiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkuY29ubmVjdG9ycy10YWJsZS1jbGFzczwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJjbGFzcyIgcGxhY2Vob2xkZXI9Int7IFwnZ2F0ZXdheS5zZXRcJyB8IHRyYW5zbGF0ZSB9fSIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj0iY29ubmVjdG9yRm9ybS5nZXQoXCd0eXBlXCcpLnZhbHVlID09PSBDb25uZWN0b3JUeXBlLkdSUEMiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBjb2x1bW4teHMiIGZ4TGF5b3V0QWxpZ249InNwYWNlLWJldHdlZW4gY2VudGVyIj5cbiAgICAgIDxkaXYgY2xhc3M9ImZpeGVkLXRpdGxlLXdpZHRoIiB0cmFuc2xhdGU+Z2F0ZXdheS5jb25uZWN0b3JzLXRhYmxlLWtleTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9InRiLWZsZXggbm8tZ2FwIiBhcHBlYXJhbmNlPSJvdXRsaW5lIiBzdWJzY3JpcHRTaXppbmc9ImR5bmFtaWMiPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPSJ2YWx1ZSIgZm9ybUNvbnRyb2xOYW1lPSJrZXkiIHBsYWNlaG9sZGVyPSJ7eyBcJ2dhdGV3YXkuc2V0XCcgfCB0cmFuc2xhdGUgfX0iLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5sb2dzLWNvbmZpZ3VyYXRpb248L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IiBmeExheW91dEFsaWduPSJzcGFjZS1iZXR3ZWVuIGNlbnRlciI+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0iZW5hYmxlUmVtb3RlTG9nZ2luZyI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5lbmFibGUtcmVtb3RlLWxvZ2dpbmdcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJmaXhlZC10aXRsZS13aWR0aCIgdHJhbnNsYXRlPmdhdGV3YXkucmVtb3RlLWxvZ2dpbmctbGV2ZWw8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZmxleCBuby1nYXAiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz0idGItZmxleCBuby1nYXAiIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImxvZ0xldmVsIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbG9nTGV2ZWwgb2YgZ2F0ZXdheUxvZ0xldmVsIiBbdmFsdWVdPSJsb2dMZXZlbCI+e3sgbG9nTGV2ZWwgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJjb25uZWN0b3JGb3JtLmdldChcJ3R5cGVcJykudmFsdWUgPT09IENvbm5lY3RvclR5cGUuTVFUVCIgY2xhc3M9InRiLWZvcm0tcm93IGNvbHVtbi14cyIgZnhMYXlvdXRBbGlnbj0ic3BhY2UtYmV0d2VlbiBjZW50ZXIiPlxuICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJzZW5kRGF0YU9ubHlPbkNoYW5nZSI+XG4gICAgICAgIDxtYXQtbGFiZWwgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5zZW5kLWNoYW5nZS1kYXRhLWhpbnRcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgICAgICAge3sgXCdnYXRld2F5LnNlbmQtY2hhbmdlLWRhdGFcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8L2Rpdj5cbiAgICA8dGItcmVwb3J0LXN0cmF0ZWd5XG4gICAgICBbZGVmYXVsdFZhbHVlXT0iUmVwb3J0U3RyYXRlZ3lEZWZhdWx0VmFsdWUuQ29ubmVjdG9yIlxuICAgICAgKm5nSWY9ImNvbm5lY3RvckZvcm0uZ2V0KFwndHlwZVwnKS52YWx1ZSA9PT0gQ29ubmVjdG9yVHlwZS5NT0RCVVMgJiYgKGNvbm5lY3RvckZvcm0uZ2V0KFwnY29uZmlnVmVyc2lvblwnKS52YWx1ZSB8IGlzTGF0ZXN0VmVyc2lvbkNvbmZpZykiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9InJlcG9ydFN0cmF0ZWd5IlxuICAgIC8+XG4gIDwvc2VjdGlvbj5cbjwvbmctdGVtcGxhdGU+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrO292ZXJmbG93LXg6YXV0bztwYWRkaW5nOjB9Omhvc3QgLnZlcnNpb24tcGxhY2Vob2xkZXJ7Y29sb3I6Z3JheTtmb250LXNpemU6MTJweH06aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lcntoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2ZsZXgtZGlyZWN0aW9uOnJvd31AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpezpob3N0IC5jb25uZWN0b3ItY29udGFpbmVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn19Omhvc3QgLmNvbm5lY3Rvci1jb250YWluZXI+c2VjdGlvbjpub3QoLnRhYmxlLXNlY3Rpb24pe21heC13aWR0aDp1bnNldH1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpezpob3N0IC5jb25uZWN0b3ItY29udGFpbmVyPnNlY3Rpb246bm90KC50YWJsZS1zZWN0aW9uKXttYXgtd2lkdGg6NTAlfX06aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGFibGUtc2VjdGlvbnttaW4taGVpZ2h0OjM1dmg7b3ZlcmZsb3c6aGlkZGVufTpob3N0IC5jb25uZWN0b3ItY29udGFpbmVyIC50YWJsZS1zZWN0aW9uIC50YWJsZS1jb250YWluZXJ7b3ZlcmZsb3c6YXV0b306aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAuZmxleHtmbGV4OjF9Omhvc3QgLmNvbm5lY3Rvci1jb250YWluZXIgLmlucHV0LWNvbnRhaW5lcntoZWlnaHQ6YXV0b306aG9zdCAuY29ubmVjdG9yLWNvbnRhaW5lciAuc2VjdGlvbi1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfTpob3N0IC5tYXQtdG9vbGJhcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMDAwMDBkZSFpbXBvcnRhbnR9Omhvc3QgLm1hdC1tZGMtc2xpZGUtdG9nZ2xle21hcmdpbjowIDhweH06aG9zdCAuc3RhdHVze3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6MTZweDtmb250LXdlaWdodDo1MDA7d2lkdGg6Zml0LWNvbnRlbnQ7cGFkZGluZzo1cHggMTVweH06aG9zdCAuc3RhdHVzLXN5bmN7YmFja2dyb3VuZDojMTk4MDM4MGY7Y29sb3I6IzE5ODAzOH06aG9zdCAuc3RhdHVzLXVuc3luY3tiYWNrZ3JvdW5kOiNjYjI1MzAwZjtjb2xvcjojY2IyNTMwfTpob3N0IG1hdC1yb3d7Y3Vyc29yOnBvaW50ZXJ9Omhvc3QgLmRvdHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4O2JhY2tncm91bmQtY29sb3I6I2JiYjtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1ibG9ja306aG9zdCAuaGFzRXJyb3Jze2JhY2tncm91bmQtY29sb3I6I2NiMjUzMH06aG9zdCAubm9FcnJvcnN7YmFja2dyb3VuZC1jb2xvcjojMTk4MDM4fTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAubWF0LW1kYy10YWItZ3JvdXAsOmhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC5tYXQtbWRjLXRhYi1ib2R5LXdyYXBwZXJ7aGVpZ2h0OjEwMCV9Omhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC5tYXQtbWRjLXRhYi1ib2R5Lm1hdC1tZGMtdGFiLWJvZHktYWN0aXZle3Bvc2l0aW9uOmFic29sdXRlfTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGItZm9ybS1yb3cgLmZpeGVkLXRpdGxlLXdpZHRoe21pbi13aWR0aDoxMjBweDt3aWR0aDozMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfTpob3N0IDo6bmctZGVlcCAuY29ubmVjdG9yLWNvbnRhaW5lciAudGItYWRkLW5ld3tkaXNwbGF5OmZsZXg7ei1pbmRleDo5OTk7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Omhvc3QgOjpuZy1kZWVwIC5jb25uZWN0b3ItY29udGFpbmVyIC50Yi1hZGQtbmV3IGJ1dHRvbi5jb25uZWN0b3J7aGVpZ2h0OmF1dG87cGFkZGluZy1yaWdodDoxMnB4O2ZvbnQtc2l6ZToyMHB4O2JvcmRlci1zdHlsZTpkYXNoZWQ7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItcmFkaXVzOjhweDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6IzAwMDAwMDYxfVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6b3QuU3RvcmV9LHt0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTpZLlRyYW5zbGF0ZVNlcnZpY2V9LHt0eXBlOlguQXR0cmlidXRlU2VydmljZX0se3R5cGU6WC5EaWFsb2dTZXJ2aWNlfSx7dHlwZTpKZS5NYXREaWFsb2d9LHt0eXBlOlguVGVsZW1ldHJ5V2Vic29ja2V0U2VydmljZX0se3R5cGU6dC5OZ1pvbmV9LHt0eXBlOlguVXRpbHNTZXJ2aWNlfSx7dHlwZTp2YX0se3R5cGU6dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHByb3BEZWNvcmF0b3JzOntjdHg6W3t0eXBlOmF9XSxkZXZpY2U6W3t0eXBlOmF9XSxuYW1lSW5wdXQ6W3t0eXBlOm8sYXJnczpbIm5hbWVJbnB1dCJdfV0sc29ydDpbe3R5cGU6byxhcmdzOltnLHtzdGF0aWM6ITF9XX1dfX0pO2NsYXNzIHFve2NvbnN0cnVjdG9yKGUpe3RoaXMuZGV2aWNlU2VydmljZT1lfWRvd25sb2FkKGUpe2UmJmUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5kZXZpY2VJZCYmdGhpcy5kZXZpY2VTZXJ2aWNlLmRvd25sb2FkR2F0ZXdheURvY2tlckNvbXBvc2VGaWxlKHRoaXMuZGV2aWNlSWQpLnN1YnNjcmliZSgoKCk9Pnt9KSl9c3RhdGlje3RoaXMuybVmYWM9dC7Jtcm1bmdEZWNsYXJlRmFjdG9yeSh7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpxbyxkZXBzOlt7dG9rZW46WC5EZXZpY2VTZXJ2aWNlfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpxbyxzZWxlY3RvcjoidGItZ2F0ZXdheS1jb21tYW5kIixpbnB1dHM6e2RldmljZUlkOiJkZXZpY2VJZCJ9LG5nSW1wb3J0OnQsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudCBzdHlsZT0icGFkZGluZzogMTZweCAxNnB4IDhweCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIj5cbiAgPGRpdiBjbGFzcz0idGItbm8tZGF0YS10ZXh0Ij57eyBcJ2dhdGV3YXkuZG9ja2VyLWxhYmVsXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+ZGV2aWNlLmNvbm5lY3Rpdml0eS5pbnN0YWxsLW5lY2Vzc2FyeS1jbGllbnQtdG9vbHM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyBzcGFjZS1iZXR3ZWVuIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLW5vLWRhdGEtdGV4dCB0Yi1jb21tYW5kcy1oaW50IiB0cmFuc2xhdGU+Z2F0ZXdheS5pbnN0YWxsLWRvY2tlci1jb21wb3NlPC9kaXY+XG4gICAgICA8YSBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9InByaW1hcnkiIGhyZWY9Imh0dHBzOi8vZG9jcy5kb2NrZXIuY29tL2NvbXBvc2UvaW5zdGFsbC8iIHRhcmdldD0iX2JsYW5rIj5cbiAgICAgICAgPG1hdC1pY29uPmRlc2NyaXB0aW9uPC9tYXQtaWNvbj5cbiAgICAgICAge3sgXCdjb21tb24uZG9jdW1lbnRhdGlvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2E+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuZG93bmxvYWQtY29uZmlndXJhdGlvbi1maWxlPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgc3BhY2UtYmV0d2VlbiI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1uby1kYXRhLXRleHQgdGItY29tbWFuZHMtaGludCIgdHJhbnNsYXRlPmdhdGV3YXkuZG93bmxvYWQtZG9ja2VyLWNvbXBvc2U8L2Rpdj5cbiAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJkb3dubG9hZCgkZXZlbnQpIj5cbiAgICAgICAgPG1hdC1pY29uPmRvd25sb2FkPC9tYXQtaWNvbj5cbiAgICAgICAge3sgXCdhY3Rpb24uZG93bmxvYWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkubGF1bmNoLWdhdGV3YXk8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1uby1kYXRhLXRleHQgdGItY29tbWFuZHMtaGludCIgdHJhbnNsYXRlPmdhdGV3YXkubGF1bmNoLWRvY2tlci1jb21wb3NlPC9kaXY+XG4gICAgPHRiLW1hcmtkb3duIHVzZVBsYWluTWFya2Rvd24gY29udGFpbmVyQ2xhc3M9InN0YXJ0LWNvZGUiXG4gICAgICAgICAgICAgICAgIGRhdGE9IlxuICAgICAgICAgIGBgYGJhc2hcbiAgICAgICAgICBkb2NrZXIgY29tcG9zZSB1cFxuICAgICAgICAgIHs6Y29weS1jb2RlfVxuICAgICAgICAgIGBgYFxuICAgICAgIj48L3RiLW1hcmtkb3duPlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC50Yi1jb21tYW5kcy1oaW50e2NvbG9yOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2ZsZXg6MX06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgLmNvZGUtd3JhcHBlcntwYWRkaW5nOjB9Omhvc3QgOjpuZy1kZWVwIC50Yi1tYXJrZG93bi12aWV3IC5zdGFydC1jb2RlIC5jb2RlLXdyYXBwZXIgcHJlW2NsYXNzKj1sYW5ndWFnZS1de21hcmdpbjowO2JhY2tncm91bmQ6I2YzZjZmYTtib3JkZXItY29sb3I6IzMwNTY4MDtwYWRkaW5nLXJpZ2h0OjM4cHg7b3ZlcmZsb3c6c2Nyb2xsO3BhZGRpbmctYm90dG9tOjRweDttaW4taGVpZ2h0OjQycHg7c2Nyb2xsYmFyLXdpZHRoOnRoaW59Omhvc3QgOjpuZy1kZWVwIC50Yi1tYXJrZG93bi12aWV3IC5zdGFydC1jb2RlIC5jb2RlLXdyYXBwZXIgcHJlW2NsYXNzKj1sYW5ndWFnZS1dOjotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo0cHg7aGVpZ2h0OjRweH06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG57cmlnaHQ6LTJweH06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG4gcHtjb2xvcjojMzA1NjgwfTpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBwLDpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBkaXZ7YmFja2dyb3VuZC1jb2xvcjojZjNmNmZhfTpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBkaXYgaW1ne2Rpc3BsYXk6bm9uZX06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG4gZGl2OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246aW5pdGlhbDtkaXNwbGF5OmJsb2NrO3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7YmFja2dyb3VuZDojMzA1NjgwO21hc2staW1hZ2U6dXJsKC9hc3NldHMvY29weS1jb2RlLWljb24uc3ZnKTstd2Via2l0LW1hc2staW1hZ2U6dXJsKC9hc3NldHMvY29weS1jb2RlLWljb24uc3ZnKTttYXNrLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1tYXNrLXJlcGVhdDpuby1yZXBlYXR9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJjb21wb25lbnQiLHR5cGU6d3QuVGJNYXJrZG93bkNvbXBvbmVudCxzZWxlY3RvcjoidGItbWFya2Rvd24iLGlucHV0czpbImRhdGEiLCJjb250ZXh0IiwiYWRkaXRpb25hbENvbXBpbGVNb2R1bGVzIiwibWFya2Rvd25DbGFzcyIsImNvbnRhaW5lckNsYXNzIiwic3R5bGUiLCJhcHBseURlZmF1bHRNYXJrZG93blN0eWxlIiwiYWRkaXRpb25hbFN0eWxlcyIsImxpbmVOdW1iZXJzIiwiZmFsbGJhY2tUb1BsYWluTWFya2Rvd24iLCJ1c2VQbGFpbk1hcmtkb3duIl0sb3V0cHV0czpbInJlYWR5Il19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QW5jaG9yLHNlbGVjdG9yOiJhW21hdC1idXR0b25dLCBhW21hdC1yYWlzZWQtYnV0dG9uXSwgYVttYXQtZmxhdC1idXR0b25dLCBhW21hdC1zdHJva2VkLWJ1dHRvbl0iLGV4cG9ydEFzOlsibWF0QnV0dG9uIiwibWF0QW5jaG9yIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6YmUuTWF0QnV0dG9uLHNlbGVjdG9yOiIgICAgYnV0dG9uW21hdC1idXR0b25dLCBidXR0b25bbWF0LXJhaXNlZC1idXR0b25dLCBidXR0b25bbWF0LWZsYXQtYnV0dG9uXSwgICAgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0gICIsZXhwb3J0QXM6WyJtYXRCdXR0b24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpLZS5NYXRJY29uLHNlbGVjdG9yOiJtYXQtaWNvbiIsaW5wdXRzOlsiY29sb3IiLCJpbmxpbmUiLCJzdmdJY29uIiwiZm9udFNldCIsImZvbnRJY29uIl0sZXhwb3J0QXM6WyJtYXRJY29uIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6SmUuTWF0RGlhbG9nQ29udGVudCxzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpZLlRyYW5zbGF0ZURpcmVjdGl2ZSxzZWxlY3RvcjoiW3RyYW5zbGF0ZV0sW25neC10cmFuc2xhdGVdIixpbnB1dHM6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVQYXJhbXMiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9XX0pfX1lKCJEZXZpY2VHYXRld2F5Q29tbWFuZENvbXBvbmVudCIscW8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6cW8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktY29tbWFuZCIsdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudCBzdHlsZT0icGFkZGluZzogMTZweCAxNnB4IDhweCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tYm9yZGVyIj5cbiAgPGRpdiBjbGFzcz0idGItbm8tZGF0YS10ZXh0Ij57eyBcJ2dhdGV3YXkuZG9ja2VyLWxhYmVsXCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBzdHJva2VkIj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+ZGV2aWNlLmNvbm5lY3Rpdml0eS5pbnN0YWxsLW5lY2Vzc2FyeS1jbGllbnQtdG9vbHM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyBzcGFjZS1iZXR3ZWVuIj5cbiAgICAgIDxkaXYgY2xhc3M9InRiLW5vLWRhdGEtdGV4dCB0Yi1jb21tYW5kcy1oaW50IiB0cmFuc2xhdGU+Z2F0ZXdheS5pbnN0YWxsLWRvY2tlci1jb21wb3NlPC9kaXY+XG4gICAgICA8YSBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9InByaW1hcnkiIGhyZWY9Imh0dHBzOi8vZG9jcy5kb2NrZXIuY29tL2NvbXBvc2UvaW5zdGFsbC8iIHRhcmdldD0iX2JsYW5rIj5cbiAgICAgICAgPG1hdC1pY29uPmRlc2NyaXB0aW9uPC9tYXQtaWNvbj5cbiAgICAgICAge3sgXCdjb21tb24uZG9jdW1lbnRhdGlvblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2E+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkuZG93bmxvYWQtY29uZmlndXJhdGlvbi1maWxlPC9kaXY+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgc3BhY2UtYmV0d2VlbiI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1uby1kYXRhLXRleHQgdGItY29tbWFuZHMtaGludCIgdHJhbnNsYXRlPmdhdGV3YXkuZG93bmxvYWQtZG9ja2VyLWNvbXBvc2U8L2Rpdj5cbiAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IiAoY2xpY2spPSJkb3dubG9hZCgkZXZlbnQpIj5cbiAgICAgICAgPG1hdC1pY29uPmRvd25sb2FkPC9tYXQtaWNvbj5cbiAgICAgICAge3sgXCdhY3Rpb24uZG93bmxvYWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCI+XG4gICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSIgdHJhbnNsYXRlPmdhdGV3YXkubGF1bmNoLWdhdGV3YXk8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJ0Yi1uby1kYXRhLXRleHQgdGItY29tbWFuZHMtaGludCIgdHJhbnNsYXRlPmdhdGV3YXkubGF1bmNoLWRvY2tlci1jb21wb3NlPC9kaXY+XG4gICAgPHRiLW1hcmtkb3duIHVzZVBsYWluTWFya2Rvd24gY29udGFpbmVyQ2xhc3M9InN0YXJ0LWNvZGUiXG4gICAgICAgICAgICAgICAgIGRhdGE9IlxuICAgICAgICAgIGBgYGJhc2hcbiAgICAgICAgICBkb2NrZXIgY29tcG9zZSB1cFxuICAgICAgICAgIHs6Y29weS1jb2RlfVxuICAgICAgICAgIGBgYFxuICAgICAgIj48L3RiLW1hcmtkb3duPlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC50Yi1jb21tYW5kcy1oaW50e2NvbG9yOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2ZsZXg6MX06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgLmNvZGUtd3JhcHBlcntwYWRkaW5nOjB9Omhvc3QgOjpuZy1kZWVwIC50Yi1tYXJrZG93bi12aWV3IC5zdGFydC1jb2RlIC5jb2RlLXdyYXBwZXIgcHJlW2NsYXNzKj1sYW5ndWFnZS1de21hcmdpbjowO2JhY2tncm91bmQ6I2YzZjZmYTtib3JkZXItY29sb3I6IzMwNTY4MDtwYWRkaW5nLXJpZ2h0OjM4cHg7b3ZlcmZsb3c6c2Nyb2xsO3BhZGRpbmctYm90dG9tOjRweDttaW4taGVpZ2h0OjQycHg7c2Nyb2xsYmFyLXdpZHRoOnRoaW59Omhvc3QgOjpuZy1kZWVwIC50Yi1tYXJrZG93bi12aWV3IC5zdGFydC1jb2RlIC5jb2RlLXdyYXBwZXIgcHJlW2NsYXNzKj1sYW5ndWFnZS1dOjotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo0cHg7aGVpZ2h0OjRweH06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG57cmlnaHQ6LTJweH06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG4gcHtjb2xvcjojMzA1NjgwfTpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBwLDpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBkaXZ7YmFja2dyb3VuZC1jb2xvcjojZjNmNmZhfTpob3N0IDo6bmctZGVlcCAudGItbWFya2Rvd24tdmlldyAuc3RhcnQtY29kZSBidXR0b24uY2xpcGJvYXJkLWJ0biBkaXYgaW1ne2Rpc3BsYXk6bm9uZX06aG9zdCA6Om5nLWRlZXAgLnRiLW1hcmtkb3duLXZpZXcgLnN0YXJ0LWNvZGUgYnV0dG9uLmNsaXBib2FyZC1idG4gZGl2OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246aW5pdGlhbDtkaXNwbGF5OmJsb2NrO3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7YmFja2dyb3VuZDojMzA1NjgwO21hc2staW1hZ2U6dXJsKC9hc3NldHMvY29weS1jb2RlLWljb24uc3ZnKTstd2Via2l0LW1hc2staW1hZ2U6dXJsKC9hc3NldHMvY29weS1jb2RlLWljb24uc3ZnKTttYXNrLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1tYXNrLXJlcGVhdDpuby1yZXBlYXR9XG4nXX1dfV0sY3RvclBhcmFtZXRlcnM6KCk9Plt7dHlwZTpYLkRldmljZVNlcnZpY2V9XSxwcm9wRGVjb3JhdG9yczp7ZGV2aWNlSWQ6W3t0eXBlOmF9XX19KTtjbGFzcyBEb3tjb25zdHJ1Y3RvcihlLHQsbixhKXt0aGlzLmZiPWUsdGhpcy5kZXZpY2VTZXJ2aWNlPXQsdGhpcy5jZD1uLHRoaXMuZGlhbG9nPWEsdGhpcy5kaWFsb2dNb2RlPSExLHRoaXMuaW5pdGlhbENyZWRlbnRpYWxzVXBkYXRlZD1uZXcgaSx0aGlzLlN0b3JhZ2VUeXBlcz1BdCx0aGlzLnN0b3JhZ2VUeXBlcz1PYmplY3QudmFsdWVzKEF0KSx0aGlzLnN0b3JhZ2VUeXBlc1RyYW5zbGF0aW9uTWFwPVJ0LHRoaXMubG9nU2F2aW5nUGVyaW9kcz1PdCx0aGlzLmxvY2FsTG9nc0NvbmZpZ3M9T2JqZWN0LmtleXMoUHQpLHRoaXMubG9jYWxMb2dzQ29uZmlnVHJhbnNsYXRlTWFwPUd0LHRoaXMuc2VjdXJpdHlUeXBlcz1CdCx0aGlzLmdhdGV3YXlMb2dMZXZlbD1PYmplY3QudmFsdWVzKE10KSx0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLmluaXRCYXNpY0Zvcm1Hcm91cCgpLHRoaXMub2JzZXJ2ZUZvcm1DaGFuZ2VzKCksdGhpcy5iYXNpY0Zvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy5vbkNoYW5nZShlKSx0aGlzLm9uVG91Y2hlZCgpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCksdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpfXJlZ2lzdGVyT25DaGFuZ2UoZSl7dGhpcy5vbkNoYW5nZT1lfXJlZ2lzdGVyT25Ub3VjaGVkKGUpe3RoaXMub25Ub3VjaGVkPWV9d3JpdGVWYWx1ZShlKXt0aGlzLmJhc2ljRm9ybUdyb3VwLnBhdGNoVmFsdWUoZSx7ZW1pdEV2ZW50OiExfSksdGhpcy5jaGVja0FuZEZldGNoQ3JlZGVudGlhbHMoZT8udGhpbmdzYm9hcmQ/LnNlY3VyaXR5Pz97fSksZT8uZ3JwYyYmdGhpcy50b2dnbGVScGNGaWVsZHMoZS5ncnBjLmVuYWJsZWQpOyhlPy50aGluZ3Nib2FyZD8uc3RhdGlzdGljcz8uY29tbWFuZHM/P1tdKS5mb3JFYWNoKChlPT50aGlzLmFkZENvbW1hbmQoZSwhMSkpKX12YWxpZGF0ZSgpe3JldHVybiB0aGlzLmJhc2ljRm9ybUdyb3VwLnZhbGlkP251bGw6e2Jhc2ljRm9ybUdyb3VwOnt2YWxpZDohMX19fWF0TGVhc3RPbmVSZXF1aXJlZChlLHQ9bnVsbCl7cmV0dXJuIG49Pnt0fHwodD1PYmplY3Qua2V5cyhuLmNvbnRyb2xzKSk7cmV0dXJuIG4/LmNvbnRyb2xzJiZ0LnNvbWUoKHQ9PiFlKG4uY29udHJvbHNbdF0pKSk/bnVsbDp7YXRMZWFzdE9uZTohMH19fXRvZ2dsZVJwY0ZpZWxkcyhlKXtjb25zdCB0PXRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJncnBjIik7ZT8odC5nZXQoInNlcnZlclBvcnQiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJrZWVwQWxpdmVUaW1lTXMiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJrZWVwQWxpdmVUaW1lb3V0TXMiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJrZWVwYWxpdmVQZXJtaXRXaXRob3V0Q2FsbHMiKS5lbmFibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJtYXhQaW5nc1dpdGhvdXREYXRhIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0LmdldCgibWluVGltZUJldHdlZW5QaW5nc01zIikuZW5hYmxlKHtlbWl0RXZlbnQ6ITF9KSx0LmdldCgibWluUGluZ0ludGVydmFsV2l0aG91dERhdGFNcyIpLmVuYWJsZSh7ZW1pdEV2ZW50OiExfSkpOih0LmdldCgic2VydmVyUG9ydCIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJrZWVwQWxpdmVUaW1lTXMiKS5kaXNhYmxlKHtlbWl0RXZlbnQ6ITF9KSx0LmdldCgia2VlcEFsaXZlVGltZW91dE1zIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoImtlZXBhbGl2ZVBlcm1pdFdpdGhvdXRDYWxscyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJtYXhQaW5nc1dpdGhvdXREYXRhIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSksdC5nZXQoIm1pblRpbWVCZXR3ZWVuUGluZ3NNcyIpLmRpc2FibGUoe2VtaXRFdmVudDohMX0pLHQuZ2V0KCJtaW5QaW5nSW50ZXJ2YWxXaXRob3V0RGF0YU1zIikuZGlzYWJsZSh7ZW1pdEV2ZW50OiExfSkpfWFkZExvY2FsTG9nQ29uZmlnKGUsdCl7Y29uc3Qgbj10aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgibG9ncy5sb2NhbCIpLGE9dGhpcy5mYi5ncm91cCh7bG9nTGV2ZWw6W3QubG9nTGV2ZWx8fE10LklORk8sW3VlLnJlcXVpcmVkXV0sZmlsZVBhdGg6W3QuZmlsZVBhdGh8fCIuL2xvZ3MiLFt1ZS5yZXF1aXJlZF1dLGJhY2t1cENvdW50Olt0LmJhY2t1cENvdW50fHw3LFt1ZS5yZXF1aXJlZCx1ZS5taW4oMCldXSxzYXZpbmdUaW1lOlt0LnNhdmluZ1RpbWV8fDMsW3VlLnJlcXVpcmVkLHVlLm1pbigwKV1dLHNhdmluZ1BlcmlvZDpbdC5zYXZpbmdQZXJpb2R8fER0LmRheXMsW3VlLnJlcXVpcmVkXV19KTtuLmFkZENvbnRyb2woZSxhKX1nZXRMb2dGb3JtR3JvdXAoZSl7cmV0dXJuIHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KGBsb2dzLmxvY2FsLiR7ZX1gKX1jb21tYW5kRm9ybUFycmF5KCl7cmV0dXJuIHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJ0aGluZ3Nib2FyZC5zdGF0aXN0aWNzLmNvbW1hbmRzIil9cmVtb3ZlQ29tbWFuZENvbnRyb2woZSx0KXsiIiE9PXQucG9pbnRlclR5cGUmJih0aGlzLmNvbW1hbmRGb3JtQXJyYXkoKS5yZW1vdmVBdChlKSx0aGlzLmJhc2ljRm9ybUdyb3VwLm1hcmtBc0RpcnR5KCkpfXJlbW92ZUFsbFNlY3VyaXR5VmFsaWRhdG9ycygpe2NvbnN0IGU9dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInRoaW5nc2JvYXJkLnNlY3VyaXR5Iik7ZS5jbGVhclZhbGlkYXRvcnMoKTtmb3IoY29uc3QgdCBpbiBlLmNvbnRyb2xzKSJ0eXBlIiE9PXQmJihlLmNvbnRyb2xzW3RdLmNsZWFyVmFsaWRhdG9ycygpLGUuY29udHJvbHNbdF0uc2V0RXJyb3JzKG51bGwpLGUuY29udHJvbHNbdF0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpKX1yZW1vdmVBbGxTdG9yYWdlVmFsaWRhdG9ycygpe2NvbnN0IGU9dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInN0b3JhZ2UiKTtmb3IoY29uc3QgdCBpbiBlLmNvbnRyb2xzKSJ0eXBlIiE9PXQmJihlLmNvbnRyb2xzW3RdLmNsZWFyVmFsaWRhdG9ycygpLGUuY29udHJvbHNbdF0uc2V0RXJyb3JzKG51bGwpLGUuY29udHJvbHNbdF0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpKX1vcGVuQ29uZmlndXJhdGlvbkNvbmZpcm1EaWFsb2coKXt0aGlzLmRldmljZVNlcnZpY2UuZ2V0RGV2aWNlKHRoaXMuZGV2aWNlLmlkKS5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLmRpYWxvZy5vcGVuKFBhLHtkaXNhYmxlQ2xvc2U6ITAscGFuZWxDbGFzczpbInRiLWRpYWxvZyIsInRiLWZ1bGxzY3JlZW4tZGlhbG9nIl0sZGF0YTp7Z2F0ZXdheU5hbWU6ZS5uYW1lfX0pLmFmdGVyQ2xvc2VkKCkucGlwZShPZSgxKSkuc3Vic2NyaWJlKChlPT57ZXx8dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInRoaW5nc2JvYXJkLnJlbW90ZUNvbmZpZ3VyYXRpb24iKS5zZXRWYWx1ZSghMCx7ZW1pdEV2ZW50OiExfSl9KSl9KSl9YWRkQ29tbWFuZChlLHQ9ITApe2NvbnN0e2F0dHJpYnV0ZU9uR2F0ZXdheTpuPW51bGwsY29tbWFuZDphPW51bGwsdGltZW91dDpvPW51bGx9PWV8fHt9LGk9dGhpcy5mYi5ncm91cCh7YXR0cmlidXRlT25HYXRld2F5OltuLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKC9eW14uXHNdKyQvKV1dLGNvbW1hbmQ6W2EsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oL14oPz1cUykuKlxTJC8pXV0sdGltZW91dDpbbyxbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKSx1ZS5wYXR0ZXJuKC9eW14uXHNdKyQvKV1dfSk7dGhpcy5jb21tYW5kRm9ybUFycmF5KCkucHVzaChpLHtlbWl0RXZlbnQ6dH0pfWluaXRCYXNpY0Zvcm1Hcm91cCgpe3RoaXMuYmFzaWNGb3JtR3JvdXA9dGhpcy5mYi5ncm91cCh7dGhpbmdzYm9hcmQ6dGhpcy5pbml0VGhpbmdzYm9hcmRGb3JtR3JvdXAoKSxzdG9yYWdlOnRoaXMuaW5pdFN0b3JhZ2VGb3JtR3JvdXAoKSxncnBjOnRoaXMuaW5pdEdycGNGb3JtR3JvdXAoKSxjb25uZWN0b3JzOnRoaXMuZmIuYXJyYXkoW10pLGxvZ3M6dGhpcy5pbml0TG9nc0Zvcm1Hcm91cCgpfSl9aW5pdFRoaW5nc2JvYXJkRm9ybUdyb3VwKCl7cmV0dXJuIHRoaXMuZmIuZ3JvdXAoe2hvc3Q6W3dpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSxbdWUucmVxdWlyZWQsdWUucGF0dGVybigvXlteXHNdKyQvKV1dLHBvcnQ6WzE4ODMsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5tYXgoNjU1MzUpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLHJlbW90ZVNoZWxsOlshMV0scmVtb3RlQ29uZmlndXJhdGlvbjpbITBdLGNoZWNrQ29ubmVjdG9yc0NvbmZpZ3VyYXRpb25JblNlY29uZHM6WzYwLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sc3RhdGlzdGljczp0aGlzLmZiLmdyb3VwKHtlbmFibGU6WyEwXSxzdGF0c1NlbmRQZXJpb2RJblNlY29uZHM6WzM2MDAsW3VlLnJlcXVpcmVkLHVlLm1pbig2MCksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sY29tbWFuZHM6dGhpcy5mYi5hcnJheShbXSl9KSxtYXhQYXlsb2FkU2l6ZUJ5dGVzOls4MTk2LFt1ZS5yZXF1aXJlZCx1ZS5taW4oMTAwKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxtaW5QYWNrU2VuZERlbGF5TVM6WzUwLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMTApLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLG1pblBhY2tTaXplVG9TZW5kOls1MDAsW3VlLnJlcXVpcmVkLHVlLm1pbigxMDApLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLGhhbmRsZURldmljZVJlbmFtaW5nOlshMF0sY2hlY2tpbmdEZXZpY2VBY3Rpdml0eTp0aGlzLmluaXRDaGVja2luZ0RldmljZUFjdGl2aXR5Rm9ybUdyb3VwKCksc2VjdXJpdHk6dGhpcy5pbml0U2VjdXJpdHlGb3JtR3JvdXAoKSxxb3M6WzEsW3VlLnJlcXVpcmVkLHVlLm1pbigwKSx1ZS5tYXgoMSksdWUucGF0dGVybigvXlteLlxzXSskLyldXX0pfWluaXRTdG9yYWdlRm9ybUdyb3VwKCl7cmV0dXJuIHRoaXMuZmIuZ3JvdXAoe3R5cGU6W0F0Lk1FTU9SWSxbdWUucmVxdWlyZWRdXSxyZWFkX3JlY29yZHNfY291bnQ6WzEwMCxbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLG1heF9yZWNvcmRzX2NvdW50OlsxZTUsW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxkYXRhX2ZvbGRlcl9wYXRoOlsiLi9kYXRhLyIsW3VlLnJlcXVpcmVkXV0sbWF4X2ZpbGVfY291bnQ6WzEwLFt1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sbWF4X3JlYWRfcmVjb3Jkc19jb3VudDpbMTAsW3VlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxtYXhfcmVjb3Jkc19wZXJfZmlsZTpbMWU0LFt1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sZGF0YV9maWxlX3BhdGg6WyIuL2RhdGEvZGF0YS5kYiIsW3VlLnJlcXVpcmVkXV0sbWVzc2FnZXNfdHRsX2NoZWNrX2luX2hvdXJzOlsxLFt1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sbWVzc2FnZXNfdHRsX2luX2RheXM6WzcsW3VlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXX0pfWluaXRHcnBjRm9ybUdyb3VwKCl7cmV0dXJuIHRoaXMuZmIuZ3JvdXAoe2VuYWJsZWQ6WyExXSxzZXJ2ZXJQb3J0Ols5NTk1LFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUubWF4KDY1NTM1KSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxrZWVwQWxpdmVUaW1lTXM6WzFlNCxbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLGtlZXBBbGl2ZVRpbWVvdXRNczpbNWUzLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sa2VlcGFsaXZlUGVybWl0V2l0aG91dENhbGxzOlshMF0sbWF4UGluZ3NXaXRob3V0RGF0YTpbMCxbdWUucmVxdWlyZWQsdWUubWluKDApLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV1dLG1pblRpbWVCZXR3ZWVuUGluZ3NNczpbMWU0LFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV0sbWluUGluZ0ludGVydmFsV2l0aG91dERhdGFNczpbNWUzLFt1ZS5yZXF1aXJlZCx1ZS5taW4oMSksdWUucGF0dGVybigvXi0/WzAtOV0rJC8pXV19KX1pbml0TG9nc0Zvcm1Hcm91cCgpe3JldHVybiB0aGlzLmZiLmdyb3VwKHtkYXRlRm9ybWF0OlsiJVktJW0tJWQgJUg6JU06JVMiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKC9eW15cc10uKlteXHNdJC8pXV0sbG9nRm9ybWF0OlsiJShhc2N0aW1lKXMgLSB8JShsZXZlbG5hbWUpc3wgLSBbJShmaWxlbmFtZSlzXSAtICUobW9kdWxlKXMgLSAlKGZ1bmNOYW1lKXMgLSAlKGxpbmVubylkIC0gJShtZXNzYWdlKXMiLFt1ZS5yZXF1aXJlZCx1ZS5wYXR0ZXJuKC9eW15cc10uKlteXHNdJC8pXV0sdHlwZTpbInJlbW90ZSIsW3VlLnJlcXVpcmVkXV0scmVtb3RlOnRoaXMuZmIuZ3JvdXAoe2VuYWJsZWQ6WyExXSxsb2dMZXZlbDpbTXQuSU5GTyxbdWUucmVxdWlyZWRdXX0pLGxvY2FsOnRoaXMuZmIuZ3JvdXAoe30pfSl9aW5pdENoZWNraW5nRGV2aWNlQWN0aXZpdHlGb3JtR3JvdXAoKXtyZXR1cm4gdGhpcy5mYi5ncm91cCh7Y2hlY2tEZXZpY2VJbmFjdGl2aXR5OlshMV0saW5hY3Rpdml0eVRpbWVvdXRTZWNvbmRzOlsyMDAsW3VlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXSxpbmFjdGl2aXR5Q2hlY2tQZXJpb2RTZWNvbmRzOls1MDAsW3VlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldXX0pfWluaXRTZWN1cml0eUZvcm1Hcm91cCgpe3JldHVybiB0aGlzLmZiLmdyb3VwKHt0eXBlOltWdC5BQ0NFU1NfVE9LRU4sW3VlLnJlcXVpcmVkXV0sYWNjZXNzVG9rZW46W251bGwsW3VlLnJlcXVpcmVkLHVlLnBhdHRlcm4oL15bXi5cc10rJC8pXV0sY2xpZW50SWQ6W251bGwsW3VlLnBhdHRlcm4oL15bXi5cc10rJC8pXV0sdXNlcm5hbWU6W251bGwsW3VlLnBhdHRlcm4oL15bXi5cc10rJC8pXV0scGFzc3dvcmQ6W251bGwsW3VlLnBhdHRlcm4oL15bXi5cc10rJC8pXV0sY2FDZXJ0OltudWxsXSxjZXJ0OltudWxsXSxwcml2YXRlS2V5OltudWxsXX0pfW9ic2VydmVGb3JtQ2hhbmdlcygpe3RoaXMub2JzZXJ2ZVNlY3VyaXR5UGFzc3dvcmRDaGFuZ2VzKCksdGhpcy5vYnNlcnZlUmVtb3RlQ29uZmlndXJhdGlvbkNoYW5nZXMoKSx0aGlzLm9ic2VydmVEZXZpY2VBY3Rpdml0eUNoYW5nZXMoKSx0aGlzLm9ic2VydmVTZWN1cml0eVR5cGVDaGFuZ2VzKCksdGhpcy5vYnNlcnZlU3RvcmFnZVR5cGVDaGFuZ2VzKCl9b2JzZXJ2ZVNlY3VyaXR5UGFzc3dvcmRDaGFuZ2VzKCl7Y29uc3QgZT10aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgidGhpbmdzYm9hcmQuc2VjdXJpdHkudXNlcm5hbWUiKTt0aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgidGhpbmdzYm9hcmQuc2VjdXJpdHkucGFzc3dvcmQiKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh0PT57dCYmIiIhPT10P2Uuc2V0VmFsaWRhdG9ycyhbdWUucmVxdWlyZWRdKTplLmNsZWFyVmFsaWRhdG9ycygpLGUudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiExfSl9KSl9b2JzZXJ2ZVJlbW90ZUNvbmZpZ3VyYXRpb25DaGFuZ2VzKCl7dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInRoaW5nc2JvYXJkLnJlbW90ZUNvbmZpZ3VyYXRpb24iKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57ZXx8dGhpcy5vcGVuQ29uZmlndXJhdGlvbkNvbmZpcm1EaWFsb2coKX0pKSx0aGlzLmxvZ1NlbGVjdG9yPXRoaXMuZmIuY29udHJvbChQdC5zZXJ2aWNlKTtmb3IoY29uc3QgZSBvZiBPYmplY3Qua2V5cyhQdCkpdGhpcy5hZGRMb2NhbExvZ0NvbmZpZyhlLHt9KX1vYnNlcnZlRGV2aWNlQWN0aXZpdHlDaGFuZ2VzKCl7Y29uc3QgZT10aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgidGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eSIpO2UuZ2V0KCJjaGVja0RldmljZUluYWN0aXZpdHkiKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh0PT57ZS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7Y29uc3Qgbj1bdWUubWluKDEpLHVlLnJlcXVpcmVkLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV07dD8oZS5nZXQoImluYWN0aXZpdHlUaW1lb3V0U2Vjb25kcyIpLnNldFZhbGlkYXRvcnMobiksZS5nZXQoImluYWN0aXZpdHlDaGVja1BlcmlvZFNlY29uZHMiKS5zZXRWYWxpZGF0b3JzKG4pKTooZS5nZXQoImluYWN0aXZpdHlUaW1lb3V0U2Vjb25kcyIpLmNsZWFyVmFsaWRhdG9ycygpLGUuZ2V0KCJpbmFjdGl2aXR5Q2hlY2tQZXJpb2RTZWNvbmRzIikuY2xlYXJWYWxpZGF0b3JzKCkpLGUuZ2V0KCJpbmFjdGl2aXR5VGltZW91dFNlY29uZHMiKS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtlbWl0RXZlbnQ6ITF9KSxlLmdldCgiaW5hY3Rpdml0eUNoZWNrUGVyaW9kU2Vjb25kcyIpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohMX0pfSkpLHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJncnBjLmVuYWJsZWQiKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57dGhpcy50b2dnbGVScGNGaWVsZHMoZSl9KSl9b2JzZXJ2ZVNlY3VyaXR5VHlwZUNoYW5nZXMoKXtjb25zdCBlPXRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJ0aGluZ3Nib2FyZC5zZWN1cml0eSIpO2UuZ2V0KCJ0eXBlIikudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgodD0+e3N3aXRjaCh0aGlzLnJlbW92ZUFsbFNlY3VyaXR5VmFsaWRhdG9ycygpLHQpe2Nhc2UgVnQuQUNDRVNTX1RPS0VOOnRoaXMuYWRkQWNjZXNzVG9rZW5WYWxpZGF0b3JzKGUpO2JyZWFrO2Nhc2UgVnQuVExTX1BSSVZBVEVfS0VZOnRoaXMuYWRkVGxzUHJpdmF0ZUtleVZhbGlkYXRvcnMoZSk7YnJlYWs7Y2FzZSBWdC5UTFNfQUNDRVNTX1RPS0VOOnRoaXMuYWRkVGxzQWNjZXNzVG9rZW5WYWxpZGF0b3JzKGUpO2JyZWFrO2Nhc2UgVnQuVVNFUk5BTUVfUEFTU1dPUkQ6ZS5hZGRWYWxpZGF0b3JzKFt0aGlzLmF0TGVhc3RPbmVSZXF1aXJlZCh1ZS5yZXF1aXJlZCxbImNsaWVudElkIiwidXNlcm5hbWUiXSldKX1lLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKX0pKSxbImNhQ2VydCIsInByaXZhdGVLZXkiLCJjZXJ0Il0uZm9yRWFjaCgodD0+e2UuZ2V0KHQpLnZhbHVlQ2hhbmdlcy5waXBlKE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCgpPT50aGlzLmNkLmRldGVjdENoYW5nZXMoKSkpfSkpfW9ic2VydmVTdG9yYWdlVHlwZUNoYW5nZXMoKXtjb25zdCBlPXRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJzdG9yYWdlIik7ZS5nZXQoInR5cGUiKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh0PT57c3dpdGNoKHRoaXMucmVtb3ZlQWxsU3RvcmFnZVZhbGlkYXRvcnMoKSx0KXtjYXNlIEF0Lk1FTU9SWTp0aGlzLmFkZE1lbW9yeVN0b3JhZ2VWYWxpZGF0b3JzKGUpO2JyZWFrO2Nhc2UgQXQuRklMRTp0aGlzLmFkZEZpbGVTdG9yYWdlVmFsaWRhdG9ycyhlKTticmVhaztjYXNlIEF0LlNRTElURTp0aGlzLmFkZFNxbGl0ZVN0b3JhZ2VWYWxpZGF0b3JzKGUpfX0pKX1hZGRBY2Nlc3NUb2tlblZhbGlkYXRvcnMoZSl7ZS5nZXQoImFjY2Vzc1Rva2VuIikuYWRkVmFsaWRhdG9ycyhbdWUucmVxdWlyZWQsdWUucGF0dGVybigvXlteLlxzXSskLyldKSxlLmdldCgiYWNjZXNzVG9rZW4iKS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCl9YWRkVGxzUHJpdmF0ZUtleVZhbGlkYXRvcnMoZSl7WyJjYUNlcnQiLCJwcml2YXRlS2V5IiwiY2VydCJdLmZvckVhY2goKHQ9PntlLmdldCh0KS5hZGRWYWxpZGF0b3JzKFt1ZS5yZXF1aXJlZF0pLGUuZ2V0KHQpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKX0pKX1hZGRUbHNBY2Nlc3NUb2tlblZhbGlkYXRvcnMoZSl7dGhpcy5hZGRBY2Nlc3NUb2tlblZhbGlkYXRvcnMoZSksZS5nZXQoImNhQ2VydCIpLmFkZFZhbGlkYXRvcnMoW3VlLnJlcXVpcmVkXSksZS5nZXQoImNhQ2VydCIpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKX1hZGRNZW1vcnlTdG9yYWdlVmFsaWRhdG9ycyhlKXtlLmdldCgicmVhZF9yZWNvcmRzX2NvdW50IikuYWRkVmFsaWRhdG9ycyhbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV0pLGUuZ2V0KCJtYXhfcmVjb3Jkc19jb3VudCIpLmFkZFZhbGlkYXRvcnMoW3VlLnJlcXVpcmVkLHVlLm1pbigxKSx1ZS5wYXR0ZXJuKC9eLT9bMC05XSskLyldKSxlLmdldCgicmVhZF9yZWNvcmRzX2NvdW50IikudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiExfSksZS5nZXQoIm1heF9yZWNvcmRzX2NvdW50IikudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiExfSl9YWRkRmlsZVN0b3JhZ2VWYWxpZGF0b3JzKGUpe1sibWF4X2ZpbGVfY291bnQiLCJtYXhfcmVhZF9yZWNvcmRzX2NvdW50IiwibWF4X3JlY29yZHNfcGVyX2ZpbGUiXS5mb3JFYWNoKCh0PT57ZS5nZXQodCkuYWRkVmFsaWRhdG9ycyhbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV0pLGUuZ2V0KHQpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohMX0pfSkpfWFkZFNxbGl0ZVN0b3JhZ2VWYWxpZGF0b3JzKGUpe1sibWVzc2FnZXNfdHRsX2NoZWNrX2luX2hvdXJzIiwibWVzc2FnZXNfdHRsX2luX2RheXMiXS5mb3JFYWNoKCh0PT57ZS5nZXQodCkuYWRkVmFsaWRhdG9ycyhbdWUucmVxdWlyZWQsdWUubWluKDEpLHVlLnBhdHRlcm4oL14tP1swLTldKyQvKV0pLGUuZ2V0KHQpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohMX0pfSkpfWNoZWNrQW5kRmV0Y2hDcmVkZW50aWFscyhlKXtlLnR5cGUhPT1WdC5UTFNfUFJJVkFURV9LRVkmJnRoaXMuZGV2aWNlU2VydmljZS5nZXREZXZpY2VDcmVkZW50aWFscyh0aGlzLmRldmljZS5pZCkucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh0PT57dGhpcy5pbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkLmVtaXQodCksdGhpcy51cGRhdGVTZWN1cml0eVR5cGUoZSx0KSx0aGlzLnVwZGF0ZUNyZWRlbnRpYWxzKHQsZSl9KSl9dXBkYXRlU2VjdXJpdHlUeXBlKGUsdCl7Y29uc3Qgbj10LmNyZWRlbnRpYWxzVHlwZT09PVUuQUNDRVNTX1RPS0VOfHxlLnR5cGU9PT1WdC5UTFNfQUNDRVNTX1RPS0VOP2UudHlwZT09PVZ0LlRMU19BQ0NFU1NfVE9LRU4/VnQuVExTX0FDQ0VTU19UT0tFTjpWdC5BQ0NFU1NfVE9LRU46dC5jcmVkZW50aWFsc1R5cGU9PT1VLk1RVFRfQkFTSUM/VnQuVVNFUk5BTUVfUEFTU1dPUkQ6bnVsbDtuJiZ0aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgidGhpbmdzYm9hcmQuc2VjdXJpdHkudHlwZSIpLnNldFZhbHVlKG4se2VtaXRFdmVudDohMX0pfXVwZGF0ZUNyZWRlbnRpYWxzKGUsdCl7c3dpdGNoKGUuY3JlZGVudGlhbHNUeXBlKXtjYXNlIFUuQUNDRVNTX1RPS0VOOnRoaXMudXBkYXRlQWNjZXNzVG9rZW5DcmVkZW50aWFscyhlLHQpO2JyZWFrO2Nhc2UgVS5NUVRUX0JBU0lDOnRoaXMudXBkYXRlTXF0dEJhc2ljQ3JlZGVudGlhbHMoZSk7Y2FzZSBVLlg1MDlfQ0VSVElGSUNBVEU6fX11cGRhdGVBY2Nlc3NUb2tlbkNyZWRlbnRpYWxzKGUsdCl7dGhpcy5iYXNpY0Zvcm1Hcm91cC5nZXQoInRoaW5nc2JvYXJkLnNlY3VyaXR5LmFjY2Vzc1Rva2VuIikuc2V0VmFsdWUoZS5jcmVkZW50aWFsc0lkLHtlbWl0RXZlbnQ6ITF9KSx0LnR5cGU9PT1WdC5UTFNfQUNDRVNTX1RPS0VOJiZ0aGlzLmJhc2ljRm9ybUdyb3VwLmdldCgidGhpbmdzYm9hcmQuc2VjdXJpdHkuY2FDZXJ0Iikuc2V0VmFsdWUodC5jYUNlcnQse2VtaXRFdmVudDohMX0pfXVwZGF0ZU1xdHRCYXNpY0NyZWRlbnRpYWxzKGUpe2NvbnN0IHQ9SlNPTi5wYXJzZShlLmNyZWRlbnRpYWxzVmFsdWUpO3RoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJ0aGluZ3Nib2FyZC5zZWN1cml0eS5jbGllbnRJZCIpLnNldFZhbHVlKHQuY2xpZW50SWQse2VtaXRFdmVudDohMX0pLHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJ0aGluZ3Nib2FyZC5zZWN1cml0eS51c2VybmFtZSIpLnNldFZhbHVlKHQudXNlck5hbWUse2VtaXRFdmVudDohMX0pLHRoaXMuYmFzaWNGb3JtR3JvdXAuZ2V0KCJ0aGluZ3Nib2FyZC5zZWN1cml0eS5wYXNzd29yZCIpLnNldFZhbHVlKHQucGFzc3dvcmQse2VtaXRFdmVudDohMX0pfXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6RG8sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfSx7dG9rZW46WC5EZXZpY2VTZXJ2aWNlfSx7dG9rZW46dC5DaGFuZ2VEZXRlY3RvclJlZn0se3Rva2VuOkplLk1hdERpYWxvZ31dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6RG8saXNTdGFuZGFsb25lOiEwLHNlbGVjdG9yOiJ0Yi1nYXRld2F5LWJhc2ljLWNvbmZpZ3VyYXRpb24iLGlucHV0czp7ZGV2aWNlOiJkZXZpY2UiLGRpYWxvZ01vZGU6ImRpYWxvZ01vZGUifSxvdXRwdXRzOntpbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkOiJpbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkIn0scHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+RG8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PkRvKSksbXVsdGk6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuPG1hdC10YWItZ3JvdXAgY2xhc3M9InRhYi1ncm91cC1ibG9jayIgW2Zvcm1Hcm91cF09ImJhc2ljRm9ybUdyb3VwIiBbY2xhc3MuZGlhbG9nLW1vZGVdPSJkaWFsb2dNb2RlIj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5nZW5lcmFsXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy10ZW1wbGF0ZSBtYXRUYWJDb250ZW50PlxuICAgICAgPGRpdiBmb3JtR3JvdXBOYW1lPSJ0aGluZ3Nib2FyZCIgY2xhc3M9Im1hdC1jb250ZW50IG1hdC1wYWRkaW5nIGNvbmZpZ3VyYXRpb24tYmxvY2siPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIj5cbiAgICAgICAgICA8ZGl2IHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucmVtb3RlLWNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBjb2xvcj0icHJpbWFyeSIgZm9ybUNvbnRyb2xOYW1lPSJyZW1vdGVDb25maWd1cmF0aW9uIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJlbW90ZS1jb25maWd1cmF0aW9uXCcgIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLnJlbW90ZS1zaGVsbFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGNvbG9yPSJwcmltYXJ5IiBmb3JtQ29udHJvbE5hbWU9InJlbW90ZVNoZWxsIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnJlbW90ZS1zaGVsbFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkudGhpbmdzYm9hcmQtaG9zdDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJob3N0Ii8+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuaG9zdFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmhvc3RcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icG9ydCIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucG9ydFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5wb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucG9ydFwnKS5oYXNFcnJvcihcJ21heFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtbWF4XCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnBvcnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMucG9ydFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCI+XG4gICAgICAgICAgPGRpdiB0cmFuc2xhdGUgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPnNlY3VyaXR5LnNlY3VyaXR5PC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBmb3JtR3JvdXBOYW1lPSJzZWN1cml0eSI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLXNlbGVjdCBjbGFzcz0idG9nZ2xlLWdyb3VwIiBmb3JtQ29udHJvbE5hbWU9InR5cGUiPlxuICAgICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCBzZWN1cml0eVR5cGUgb2Ygc2VjdXJpdHlUeXBlcyB8IGtleXZhbHVlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPSJzZWN1cml0eVR5cGUua2V5Ij57eyBzZWN1cml0eVR5cGUudmFsdWUgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnR5cGVcJykudmFsdWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhcJ2FjY2Vzc3Rva2VuXCcpIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+c2VjdXJpdHkuYWNjZXNzLXRva2VuPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImFjY2Vzc1Rva2VuIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LmFjY2Vzc1Rva2VuXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnc2VjdXJpdHkuYWNjZXNzLXRva2VuLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDx0Yi1jb3B5LWJ1dHRvblxuICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgIG1pbmlCdXR0b249ImZhbHNlIlxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5hY2Nlc3NUb2tlblwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICBbY29weVRleHRdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5hY2Nlc3NUb2tlblwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICB0b29sdGlwVGV4dD0ie3sgXCdkZXZpY2UuY29weS1hY2Nlc3MtdG9rZW5cJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgIGljb249ImNvbnRlbnRfY29weSI+XG4gICAgICAgICAgICAgIDwvdGItY29weS1idXR0b24+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMudG9rZW5cJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMiXG4gICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnR5cGVcJykudmFsdWUgPT09IFwndXNlcm5hbWVQYXNzd29yZFwnIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+c2VjdXJpdHkuY2xpZW50SWQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImNsaWVudElkIi8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5jbGllbnRJZFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdzZWN1cml0eS5jbGllbnRJZC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDx0Yi1jb3B5LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWluaUJ1dHRvbj0iZmFsc2UiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5jbGllbnRJZFwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgW2NvcHlUZXh0XT0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkuY2xpZW50SWRcJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0PSJ7eyBcJ2dhdGV3YXkuY29weS1jbGllbnQtaWRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj0iY29udGVudF9jb3B5Ij5cbiAgICAgICAgICAgICAgICAgIDwvdGItY29weS1idXR0b24+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5jbGllbnQtaWRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5zZWN1cml0eS51c2VybmFtZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idXNlcm5hbWUiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnVzZXJuYW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ3NlY3VyaXR5LnVzZXJuYW1lLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPHRiLWNvcHktYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtaW5pQnV0dG9uPSJmYWxzZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnVzZXJuYW1lXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgICAgICBbY29weVRleHRdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS51c2VybmFtZVwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcFRleHQ9Int7IFwnZ2F0ZXdheS5jb3B5LXVzZXJuYW1lXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgICAgIGljb249ImNvbnRlbnRfY29weSI+XG4gICAgICAgICAgICAgICAgICA8L3RiLWNvcHktYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMudXNlcm5hbWVcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIHN1YnNjcmlwdFNpemluZz0iZHluYW1pYyIgc3R5bGU9IndpZHRoOiAxMDAlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnR5cGVcJykudmFsdWUgPT09IFwndXNlcm5hbWVQYXNzd29yZFwnIj5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnBhc3N3b3JkPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icGFzc3dvcmQiLz5cbiAgICAgICAgICAgICAgICA8dGItY29weS1idXR0b25cbiAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWluaUJ1dHRvbj0iZmFsc2UiXG4gICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkucGFzc3dvcmRcJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICBbY29weVRleHRdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5wYXNzd29yZFwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0PSJ7eyBcJ2dhdGV3YXkuY29weS1wYXNzd29yZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgIGljb249ImNvbnRlbnRfY29weSI+XG4gICAgICAgICAgICAgICAgPC90Yi1jb3B5LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMucGFzc3dvcmRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8dGItZXJyb3Igc3R5bGU9Im1hcmdpbi10b3A6IC0xMnB4OyBkaXNwbGF5OiBibG9jazsiIGZ4RmxleD0iMTAwIlxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS50eXBlXCcpLnZhbHVlID09PSBcJ3VzZXJuYW1lUGFzc3dvcmRcJyJcbiAgICAgICAgICAgICAgICAgICAgICBbZXJyb3JdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eVwnKS5oYXNFcnJvcihcJ2F0TGVhc3RPbmVcJykgP1xuICAgICAgICAgIChcJ2RldmljZS5jbGllbnQtaWQtb3ItdXNlci1uYW1lLW5lY2Vzc2FyeVwnIHwgdHJhbnNsYXRlKSA6IFwnXCciPjwvdGItZXJyb3I+XG4gICAgICAgICAgICA8dGItZmlsZS1pbnB1dFxuICAgICAgICAgICAgICBmeEZsZXg9IjEwMCJcbiAgICAgICAgICAgICAgaGludD0ie3sgXCdnYXRld2F5LmhpbnRzLmNhLWNlcnRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnR5cGVcJykudmFsdWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhcJ3Rsc1wnKSJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPSJjYUNlcnQiXG4gICAgICAgICAgICAgIGxhYmVsPSJ7eyBcJ3NlY3VyaXR5LmNhLWNlcnRcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgW2FsbG93ZWRFeHRlbnNpb25zXT0iXCdwZW0sIGNlcnQsIGtleVwnIlxuICAgICAgICAgICAgICBbYWNjZXB0XT0iXCcucGVtLCBhcHBsaWNhdGlvbi9wZW0sLmNlcnQsIGFwcGxpY2F0aW9uL2NlcnQsIC5rZXksYXBwbGljYXRpb24va2V5XCciXG4gICAgICAgICAgICAgIGRyb3BMYWJlbD0ie3sgXCdnYXRld2F5LmRyb3AtZmlsZVwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICAgICAgICAgIDwvdGItZmlsZS1pbnB1dD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkubG9ncy5sb2dzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy10ZW1wbGF0ZSBtYXRUYWJDb250ZW50PlxuICAgICAgPGRpdiBmb3JtR3JvdXBOYW1lPSJsb2dzIiBjbGFzcz0ibWF0LWNvbnRlbnQgbWF0LXBhZGRpbmcgY29uZmlndXJhdGlvbi1ibG9jayI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tcGFkZGluZy1ib3R0b20iPlxuICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9ImNvbHVtbiI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5kYXRlLWZvcm1hdDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJkYXRlRm9ybWF0Ii8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2xvZ3MuZGF0ZUZvcm1hdFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5kYXRlLWZvcm1hdC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmRhdGUtZm9ybVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmxvZ3MubG9nLWZvcm1hdDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJsb2dGb3JtYXQiIHJvd3M9IjIiPjwvdGV4dGFyZWE+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2xvZ3MubG9nRm9ybWF0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLmxvZy1mb3JtYXQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5sb2ctZm9ybWF0XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIiBmb3JtR3JvdXBOYW1lPSJyZW1vdGUiPlxuICAgICAgICAgIDxkaXYgdHJhbnNsYXRlIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIj5nYXRld2F5LmxvZ3MucmVtb3RlPC9kaXY+XG4gICAgICAgICAgPGRpdiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLnJlbW90ZS1sb2dcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBjb2xvcj0icHJpbWFyeSIgZm9ybUNvbnRyb2xOYW1lPSJlbmFibGVkIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmxvZ3MucmVtb3RlLWxvZ3NcJyAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmxvZ3MubGV2ZWw8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibG9nTGV2ZWwiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBsb2dMZXZlbCBvZiBnYXRld2F5TG9nTGV2ZWwiIFt2YWx1ZV09ImxvZ0xldmVsIj57eyBsb2dMZXZlbCB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1wYWRkaW5nLWJvdHRvbSIgZm9ybUdyb3VwTmFtZT0ibG9jYWwiPlxuICAgICAgICAgIDxkaXYgdHJhbnNsYXRlIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIj5nYXRld2F5LmxvZ3MubG9jYWw8L2Rpdj5cbiAgICAgICAgICA8dGItdG9nZ2xlLXNlbGVjdCBjbGFzcz0idG9nZ2xlLWdyb3VwIiBbZm9ybUNvbnRyb2xdPSJsb2dTZWxlY3RvciI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCBsb2dDb25maWcgb2YgbG9jYWxMb2dzQ29uZmlncyIgW3ZhbHVlXT0ibG9nQ29uZmlnIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImZpcnN0LWNhcGl0YWwiPnt7IGxvY2FsTG9nc0NvbmZpZ1RyYW5zbGF0ZU1hcC5nZXQobG9nQ29uZmlnKSB9fTwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT0iZ2V0TG9nRm9ybUdyb3VwKGxvZ1NlbGVjdG9yLnZhbHVlKSI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmxvZ3MubGV2ZWw8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9ImxvZ0xldmVsIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGxvZ0xldmVsIG9mIGdhdGV3YXlMb2dMZXZlbCIgW3ZhbHVlXT0ibG9nTGV2ZWwiPnt7IGxvZ0xldmVsIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmxvZ3MuZmlsZS1wYXRoPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZmlsZVBhdGgiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdsb2dzLmxvY2FsLlwnICsgbG9nU2VsZWN0b3IudmFsdWUgKyBcJy5maWxlUGF0aFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLmZpbGUtcGF0aC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgc2F2aW5nLXBlcmlvZCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5zYXZpbmctcGVyaW9kPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJzYXZpbmdUaW1lIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnbG9ncy5sb2NhbC5cJyArIGxvZ1NlbGVjdG9yLnZhbHVlICsgXCcuc2F2aW5nVGltZVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmxvZ3Muc2F2aW5nLXBlcmlvZC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2xvZ3MubG9jYWwuXCcgKyBsb2dTZWxlY3Rvci52YWx1ZSArIFwnLnNhdmluZ1RpbWVcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5zYXZpbmctcGVyaW9kLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBoaWRlUmVxdWlyZWRNYXJrZXIgc3R5bGU9Im1pbi13aWR0aDogMTEwcHg7IHdpZHRoOiAzMCUiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJzYXZpbmdQZXJpb2QiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBwZXJpb2Qgb2YgbG9nU2F2aW5nUGVyaW9kcyB8IGtleXZhbHVlIiBbdmFsdWVdPSJwZXJpb2Qua2V5Ij5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBwZXJpb2QudmFsdWUgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5iYWNrdXAtY291bnQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJiYWNrdXBDb3VudCIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnbG9ncy5sb2NhbC5cJyArIGxvZ1NlbGVjdG9yLnZhbHVlICsgXCcuYmFja3VwQ291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5iYWNrdXAtY291bnQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdsb2dzLmxvY2FsLlwnICsgbG9nU2VsZWN0b3IudmFsdWUgKyBcJy5iYWNrdXBDb3VudFwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5iYWNrdXAtY291bnQtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuYmFja3VwLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnN0b3JhZ2VcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9InN0b3JhZ2UiIGNsYXNzPSJtYXQtY29udGVudCBtYXQtcGFkZGluZyBjb25maWd1cmF0aW9uLWJsb2NrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1wYWRkaW5nLWJvdHRvbSI+XG4gICAgICAgICAgPGRpdiB0cmFuc2xhdGUgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPmdhdGV3YXkuc3RvcmFnZTwvZGl2PlxuICAgICAgICAgIDxkaXYgdHJhbnNsYXRlIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLWhpbnQiPmdhdGV3YXkuaGludHMuc3RvcmFnZTwvZGl2PlxuICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGNsYXNzPSJ0b2dnbGUtZ3JvdXAiIGZvcm1Db250cm9sTmFtZT0idHlwZSI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiAqbmdGb3I9ImxldCBzdG9yYWdlVHlwZSBvZiBzdG9yYWdlVHlwZXMiIFt2YWx1ZV09InN0b3JhZ2VUeXBlIj5cbiAgICAgICAgICAgICAge3sgc3RvcmFnZVR5cGVzVHJhbnNsYXRpb25NYXAuZ2V0KHN0b3JhZ2VUeXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgIDwvdGItdG9nZ2xlLXNlbGVjdD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLWhpbnQiPnt7IFwnZ2F0ZXdheS5oaW50cy5cJyArIGJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UudHlwZVwnKS52YWx1ZSB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS50eXBlXCcpLnZhbHVlIj5cbiAgICAgICAgICAgIDxzZWN0aW9uICpuZ1N3aXRjaENhc2U9IlN0b3JhZ2VUeXBlcy5NRU1PUlkiIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InJlYWRfcmVjb3Jkc19jb3VudCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UucmVhZF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UucmVhZF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5yZWFkX3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5yZWFkLXJlY29yZC1jb3VudFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1heF9yZWNvcmRzX2NvdW50Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tYXhfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tYXhfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1heC1yZWNvcmRzLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPHNlY3Rpb24gKm5nU3dpdGNoQ2FzZT0iU3RvcmFnZVR5cGVzLkZJTEUiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdG9yYWdlLWRhdGEtZm9sZGVyLXBhdGg8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImRhdGFfZm9sZGVyX3BhdGgiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UuZGF0YV9mb2xkZXJfcGF0aFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtZGF0YS1mb2xkZXItcGF0aC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz0ibWF0LWZvcm0tZmllbGQtaW5maXggcG9pbnRlci1ldmVudCBzdWZmaXgtaWNvbiIgYXJpYS1oaWRkZW49ImZhbHNlIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9ImhlbHAtaWNvbiJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRTdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZGF0YS1mb2xkZXJcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtbWF4LWZpbGVzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1heF9maWxlX2NvdW50Ii8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9maWxlX2NvdW50XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9maWxlX2NvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LWZpbGVzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X2ZpbGVfY291bnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LWZpbGVzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5tYXgtZmlsZS1jb3VudFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgZm9ybUNvbnRyb2xOYW1lPSJtYXhfcmVhZF9yZWNvcmRzX2NvdW50Ii8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWFkX3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlYWRfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWFkX3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5tYXgtcmVhZC1jb3VudFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1heF9yZWNvcmRzX3Blcl9maWxlIi8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWNvcmRzX3Blcl9maWxlXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtcmVjb3Jkcy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlY29yZHNfcGVyX2ZpbGVcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtcmVjb3Jkcy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWNvcmRzX3Blcl9maWxlXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5tYXgtcmVjb3Jkc1wnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPHNlY3Rpb24gKm5nU3dpdGNoQ2FzZT0iU3RvcmFnZVR5cGVzLlNRTElURSI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtcGF0aDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YV9maWxlX3BhdGgiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UuZGF0YV9maWxlX3BhdGhcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLXBhdGgtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5kYXRhLWZvbGRlclwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1lc3NhZ2VzX3R0bF9jaGVja19pbl9ob3VycyIvPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tZXNzYWdlc190dGxfY2hlY2tfaW5faG91cnNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXNzYWdlcy10dGwtY2hlY2staW4taG91cnMtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9jaGVja19pbl9ob3Vyc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXNzYWdlcy10dGwtY2hlY2staW4taG91cnMtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tZXNzYWdlc190dGxfY2hlY2tfaW5faG91cnNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMudHRsLWNoZWNrLWhvdXJcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubWVzc2FnZXMtdHRsLWluLWRheXM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1lc3NhZ2VzX3R0bF9pbl9kYXlzIi8+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tZXNzYWdlc190dGxfaW5fZGF5c1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXNzYWdlcy10dGwtaW4tZGF5cy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tZXNzYWdlc190dGxfaW5fZGF5c1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubWVzc2FnZXMtdHRsLWluLWRheXMtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9pbl9kYXlzXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubWVzc2FnZXMtdHRsLWluLWRheXMtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLnR0bC1tZXNzYWdlcy1kYXlcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdycGNcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9ImdycGMiIGNsYXNzPSJtYXQtY29udGVudCBtYXQtcGFkZGluZyBjb25maWd1cmF0aW9uLWJsb2NrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1wYWRkaW5nLWJvdHRvbSI+XG4gICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgY29sb3I9InByaW1hcnkiIGZvcm1Db250cm9sTmFtZT0iZW5hYmxlZCI+XG4gICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwY1wnICB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8ZGl2IHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucGVybWl0LXdpdGhvdXQtY2FsbHNcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBjb2xvcj0icHJpbWFyeSIgZm9ybUNvbnRyb2xOYW1lPSJrZWVwYWxpdmVQZXJtaXRXaXRob3V0Q2FsbHMiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucGVybWl0LXdpdGhvdXQtY2FsbHNcJyAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c2VjdGlvbj5cbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnNlcnZlci1wb3J0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ic2VydmVyUG9ydCIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuc2VydmVyLXBvcnRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5zZXJ2ZXJQb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMuc2VydmVyUG9ydFwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMuc2VydmVyUG9ydFwnKS5oYXNFcnJvcihcJ21heFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1tYXhcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMuc2VydmVyUG9ydFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnRoaW5nc2JvYXJkLXBvcnQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtdGltZW91dDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImtlZXBBbGl2ZVRpbWVvdXRNcyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5rZWVwQWxpdmVUaW1lb3V0TXNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMua2VlcEFsaXZlVGltZW91dE1zXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtdGltZW91dC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMua2VlcEFsaXZlVGltZW91dE1zXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5ncnBjLWtlZXAtYWxpdmU8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJrZWVwQWxpdmVUaW1lTXMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmdycGMta2VlcC1hbGl2ZVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLmtlZXBBbGl2ZVRpbWVNc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMua2VlcEFsaXZlVGltZU1zXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLmtlZXBBbGl2ZVRpbWVNc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMta2VlcC1hbGl2ZS1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5nczwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1pblRpbWVCZXR3ZWVuUGluZ3NNcyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWluVGltZUJldHdlZW5QaW5nc01zXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5taW5UaW1lQmV0d2VlblBpbmdzTXNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWluVGltZUJldHdlZW5QaW5nc01zXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWF4UGluZ3NXaXRob3V0RGF0YSIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWF4UGluZ3NXaXRob3V0RGF0YVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWF4UGluZ3NXaXRob3V0RGF0YVwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5tYXhQaW5nc1dpdGhvdXREYXRhXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGE8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtaW5QaW5nSW50ZXJ2YWxXaXRob3V0RGF0YU1zIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5ncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLm1pblBpbmdJbnRlcnZhbFdpdGhvdXREYXRhTXNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWluUGluZ0ludGVydmFsV2l0aG91dERhdGFNc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLm1pblBpbmdJbnRlcnZhbFdpdGhvdXREYXRhTXNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LnN0YXRpc3RpY3Muc3RhdGlzdGljc1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT0idGhpbmdzYm9hcmQiIGNsYXNzPSJtYXQtY29udGVudCBtYXQtcGFkZGluZyBjb25maWd1cmF0aW9uLWJsb2NrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1wYWRkaW5nLWJvdHRvbSIgZm9ybUdyb3VwTmFtZT0ic3RhdGlzdGljcyI+XG4gICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY29sb3I9InByaW1hcnkiIGNsYXNzPSJtYXQtc2xpZGUiIGZvcm1Db250cm9sTmFtZT0iZW5hYmxlIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnN0YXRpc3RpY3NcJyAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLnNlbmQtcGVyaW9kPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJzdGF0c1NlbmRQZXJpb2RJblNlY29uZHMiIHR5cGU9Im51bWJlciIgbWluPSI2MCIvPlxuICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc3RhdGlzdGljcy5zdGF0c1NlbmRQZXJpb2RJblNlY29uZHNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnNlbmQtcGVyaW9kLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc3RhdGlzdGljcy5zdGF0c1NlbmRQZXJpb2RJblNlY29uZHNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5zZW5kLXBlcmlvZC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zdGF0aXN0aWNzLnN0YXRzU2VuZFBlcmlvZEluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5zZW5kLXBlcmlvZC1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmRzPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbC1oaW50IiB0cmFuc2xhdGU+Z2F0ZXdheS5oaW50cy5jb21tYW5kczwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgZm9ybUdyb3VwTmFtZT0ic3RhdGlzdGljcyI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PSJyb3ciIGZvcm1BcnJheU5hbWU9ImNvbW1hbmRzIiBjbGFzcz0ic3RhdGlzdGljcy1jb250YWluZXIiXG4gICAgICAgICAgICAgICAgICpuZ0Zvcj0ibGV0IGNvbW1hbmRDb250cm9sIG9mIGNvbW1hbmRGb3JtQXJyYXkoKS5jb250cm9sczsgbGV0ICRpbmRleCA9IGluZGV4Ij5cbiAgICAgICAgICAgICAgPHNlY3Rpb24gW2Zvcm1Hcm91cE5hbWVdPSIkaW5kZXgiIGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIHN0cm9rZWQgbm8tcGFkZGluZy1ib3R0b20gbm8tZ2FwIGNvbW1hbmQtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3MuYXR0cmlidXRlLW5hbWU8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iYXR0cmlidXRlT25HYXRld2F5Ii8+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbW1hbmRDb250cm9sLmdldChcJ2F0dHJpYnV0ZU9uR2F0ZXdheVwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5hdHRyaWJ1dGUtbmFtZS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmF0dHJpYnV0ZVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLnRpbWVvdXQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0idGltZW91dCIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZENvbnRyb2wuZ2V0KFwndGltZW91dFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy50aW1lb3V0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbW1hbmRDb250cm9sLmdldChcJ3RpbWVvdXRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnRpbWVvdXQtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbW1hbmRDb250cm9sLmdldChcJ3RpbWVvdXRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy50aW1lb3V0LXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy50aW1lb3V0XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0ibWF0LWJsb2NrIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RhdGlzdGljcy5jb21tYW5kPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJjb21tYW5kIi8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb21tYW5kQ29udHJvbC5nZXQoXCdjb21tYW5kXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5jb21tYW5kLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZENvbnRyb2wuZ2V0KFwnY29tbWFuZFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5jb21tYW5kLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5jb21tYW5kXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPSJyZW1vdmVDb21tYW5kQ29udHJvbCgkaW5kZXgsICRldmVudCkiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRiLWJveC1idXR0b24iXG4gICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iIWJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnJlbW90ZUNvbmZpZ3VyYXRpb25cJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LnN0YXRpc3RpY3MucmVtb3ZlXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPSJhYm92ZSI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj0icHJpbWFyeSJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiBmaXQtY29udGVudDsiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iIWJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnJlbW90ZUNvbmZpZ3VyYXRpb25cJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9ImFkZENvbW1hbmQoKSI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmFkZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkub3RoZXJcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9InRoaW5nc2JvYXJkIiBjbGFzcz0ibWF0LWNvbnRlbnQgbWF0LXBhZGRpbmcgY29uZmlndXJhdGlvbi1ibG9jayI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwiIGZvcm1Hcm91cE5hbWU9ImNoZWNraW5nRGV2aWNlQWN0aXZpdHkiXG4gICAgICAgICAgICAgW2NsYXNzLm5vLXBhZGRpbmctYm90dG9tXT0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5jaGVja0RldmljZUluYWN0aXZpdHlcJykudmFsdWUiPlxuICAgICAgICAgIDxkaXYgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5jaGVjay1kZXZpY2UtYWN0aXZpdHlcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyI+XG4gICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBjb2xvcj0icHJpbWFyeSIgZm9ybUNvbnRyb2xOYW1lPSJjaGVja0RldmljZUluYWN0aXZpdHkiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuY2hlY2tpbmctZGV2aWNlLWFjdGl2aXR5XCcgIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiXG4gICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNraW5nRGV2aWNlQWN0aXZpdHkuY2hlY2tEZXZpY2VJbmFjdGl2aXR5XCcpLnZhbHVlIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iaW5hY3Rpdml0eVRpbWVvdXRTZWNvbmRzIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNraW5nRGV2aWNlQWN0aXZpdHkuaW5hY3Rpdml0eVRpbWVvdXRTZWNvbmRzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNraW5nRGV2aWNlQWN0aXZpdHkuaW5hY3Rpdml0eVRpbWVvdXRTZWNvbmRzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5pbmFjdGl2aXR5VGltZW91dFNlY29uZHNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmluYWN0aXZpdHktdGltZW91dFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5pbmFjdGl2aXR5LWNoZWNrLXBlcmlvZC1zZWNvbmRzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIG1pbj0iMCIgZm9ybUNvbnRyb2xOYW1lPSJpbmFjdGl2aXR5Q2hlY2tQZXJpb2RTZWNvbmRzIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5pbmFjdGl2aXR5Q2hlY2tQZXJpb2RTZWNvbmRzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LWNoZWNrLXBlcmlvZC1zZWNvbmRzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5pbmFjdGl2aXR5Q2hlY2tQZXJpb2RTZWNvbmRzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja2luZ0RldmljZUFjdGl2aXR5LmluYWN0aXZpdHlDaGVja1BlcmlvZFNlY29uZHNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuaW5hY3Rpdml0eS1wZXJpb2RcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLXRpdGxlIiB0cmFuc2xhdGU+Z2F0ZXdheS5hZHZhbmNlZDwvZGl2PlxuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubWluLXBhY2stc2VuZC1kZWxheTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtaW5QYWNrU2VuZERlbGF5TVMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1pblBhY2tTZW5kRGVsYXlNU1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubWluLXBhY2stc2VuZC1kZWxheS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5taW5QYWNrU2VuZERlbGF5TVNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5taW4tcGFjay1zZW5kLWRlbGF5LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1pblBhY2tTZW5kRGVsYXlNU1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5taW4tcGFjay1zZW5kLWRlbGF5LXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5taW5pbWFsLXBhY2stZGVsYXlcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubXF0dC1xb3M8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icW9zIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbWF4PSIxIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnFvc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubXF0dC1xb3MtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucW9zXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubXF0dC1xb3MtcmFuZ2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucW9zXCcpLmhhc0Vycm9yKFwnbWF4XCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubXF0dC1xb3MtcmFuZ2VcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5xb3NcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLmNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbjwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJjaGVja0Nvbm5lY3RvcnNDb25maWd1cmF0aW9uSW5TZWNvbmRzIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNrQ29ubmVjdG9yc0NvbmZpZ3VyYXRpb25JblNlY29uZHNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tDb25uZWN0b3JzQ29uZmlndXJhdGlvbkluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNrQ29ubmVjdG9yc0NvbmZpZ3VyYXRpb25JblNlY29uZHNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5jaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RhdGlzdGljcy5tYXgtcGF5bG9hZC1zaXplLWJ5dGVzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1heFBheWxvYWRTaXplQnl0ZXMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWF4UGF5bG9hZFNpemVCeXRlc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5tYXgtcGF5bG9hZC1zaXplLWJ5dGVzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWF4UGF5bG9hZFNpemVCeXRlc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MubWF4LXBheWxvYWQtc2l6ZS1ieXRlcy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5tYXhQYXlsb2FkU2l6ZUJ5dGVzXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MubWF4LXBheWxvYWQtc2l6ZS1ieXRlcy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMubWF4LXBheWxvYWQtc2l6ZS1ieXRlc1wnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3MubWluLXBhY2stc2l6ZS10by1zZW5kPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1pblBhY2tTaXplVG9TZW5kIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1pblBhY2tTaXplVG9TZW5kXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLm1pbi1wYWNrLXNpemUtdG8tc2VuZC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1pblBhY2tTaXplVG9TZW5kXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5taW4tcGFjay1zaXplLXRvLXNlbmQtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWluUGFja1NpemVUb1NlbmRcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5taW4tcGFjay1zaXplLXRvLXNlbmQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1pbi1wYWNrLXNpemUtdG8tc2VuZFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3R7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1yb3dzOm1pbi1jb250ZW50IG1pbm1heChhdXRvLDFmcikgbWluLWNvbnRlbnR9Omhvc3QgLmNvbmZpZ3VyYXRpb24tYmxvY2t7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTZweDttYXgtaGVpZ2h0Ojcwdmh9Omhvc3QgLmRpYWxvZy1tb2RlIC5jb25maWd1cmF0aW9uLWJsb2Nre21heC1oZWlnaHQ6NjB2aH06aG9zdCAubWF0LXRvb2xiYXJ7Z3JpZC1yb3c6MTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMDAwMDBkZSFpbXBvcnRhbnR9Omhvc3QgLnRhYi1ncm91cC1ibG9ja3ttaW4td2lkdGg6MDtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjA7Z3JpZC1yb3c6Mn06aG9zdCAudG9nZ2xlLWdyb3Vwe21hcmdpbi1yaWdodDphdXRvfTpob3N0IC5maXJzdC1jYXBpdGFse3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemV9Omhvc3QgdGV4dGFyZWF7cmVzaXplOm5vbmV9Omhvc3QgLnNhdmluZy1wZXJpb2R7ZmxleDoxfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lcnt3aWR0aDoxMDAlfTpob3N0IC5zdGF0aXN0aWNzLWNvbnRhaW5lciAuY29tbWFuZC1jb250YWluZXJ7d2lkdGg6MTAwJX06aG9zdCBtYXQtZm9ybS1maWVsZCBtYXQtZXJyb3J7ZGlzcGxheTpub25lIWltcG9ydGFudH06aG9zdCBtYXQtZm9ybS1maWVsZCBtYXQtZXJyb3I6Zmlyc3QtY2hpbGR7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9Omhvc3QgOjpuZy1kZWVwIC5wb2ludGVyLWV2ZW50e3BvaW50ZXItZXZlbnRzOmFsbH06aG9zdCA6Om5nLWRlZXAgLnRvZ2dsZS1ncm91cCBzcGFue3BhZGRpbmc6MCAyNXB4fTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2NvbG9yOiNlMGUwZTB9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLWZvcm0tZmllbGQtaWNvbi1zdWZmaXg6aG92ZXJ7Y29sb3I6IzllOWU5ZX06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtZm9ybS1maWVsZC1pY29uLXN1ZmZpeHtkaXNwbGF5OmZsZXh9XG4nXSxkZXBlbmRlbmNpZXM6W3traW5kOiJuZ21vZHVsZSIsdHlwZTpIfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdGb3JPZixzZWxlY3RvcjoiW25nRm9yXVtuZ0Zvck9mXSIsaW5wdXRzOlsibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSIsIm5nRm9yVGVtcGxhdGUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nU3dpdGNoLHNlbGVjdG9yOiJbbmdTd2l0Y2hdIixpbnB1dHM6WyJuZ1N3aXRjaCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOl8uTmdTd2l0Y2hDYXNlLHNlbGVjdG9yOiJbbmdTd2l0Y2hDYXNlXSIsaW5wdXRzOlsibmdTd2l0Y2hDYXNlIl19LHtraW5kOiJwaXBlIix0eXBlOl8uS2V5VmFsdWVQaXBlLG5hbWU6ImtleXZhbHVlIn0se2tpbmQ6Im5nbW9kdWxlIix0eXBlOkR9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Q3QuVGJFcnJvckNvbXBvbmVudCxzZWxlY3RvcjoidGItZXJyb3IiLGlucHV0czpbIm5vTWFyZ2luIiwiZXJyb3IiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp4ZS5NYXRJbnB1dCxzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSwgICAgICBpbnB1dFttYXROYXRpdmVDb250cm9sXSwgdGV4dGFyZWFbbWF0TmF0aXZlQ29udHJvbF0iLGlucHV0czpbImRpc2FibGVkIiwiaWQiLCJwbGFjZWhvbGRlciIsIm5hbWUiLCJyZXF1aXJlZCIsInR5cGUiLCJlcnJvclN0YXRlTWF0Y2hlciIsImFyaWEtZGVzY3JpYmVkYnkiLCJ2YWx1ZSIsInJlYWRvbmx5Il0sZXhwb3J0QXM6WyJtYXRJbnB1dCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZlLk1hdEZvcm1GaWVsZCxzZWxlY3RvcjoibWF0LWZvcm0tZmllbGQiLGlucHV0czpbImhpZGVSZXF1aXJlZE1hcmtlciIsImNvbG9yIiwiZmxvYXRMYWJlbCIsImFwcGVhcmFuY2UiLCJzdWJzY3JpcHRTaXppbmciLCJoaW50TGFiZWwiXSxleHBvcnRBczpbIm1hdEZvcm1GaWVsZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdExhYmVsLHNlbGVjdG9yOiJtYXQtbGFiZWwifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOnZlLk1hdEVycm9yLHNlbGVjdG9yOiJtYXQtZXJyb3IsIFttYXRFcnJvcl0iLGlucHV0czpbImlkIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6dmUuTWF0U3VmZml4LHNlbGVjdG9yOiJbbWF0U3VmZml4XSwgW21hdEljb25TdWZmaXhdLCBbbWF0VGV4dFN1ZmZpeF0iLGlucHV0czpbIm1hdFRleHRTdWZmaXgiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTp3ZS5NYXRTZWxlY3Qsc2VsZWN0b3I6Im1hdC1zZWxlY3QiLGlucHV0czpbImFyaWEtZGVzY3JpYmVkYnkiLCJwYW5lbENsYXNzIiwiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiLCJoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIiwiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsImNvbXBhcmVXaXRoIiwidmFsdWUiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiZXJyb3JTdGF0ZU1hdGNoZXIiLCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsIiwic29ydENvbXBhcmF0b3IiLCJpZCIsInBhbmVsV2lkdGgiXSxvdXRwdXRzOlsib3BlbmVkQ2hhbmdlIiwib3BlbmVkIiwiY2xvc2VkIiwic2VsZWN0aW9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFNlbGVjdCJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOkNlLk1hdE9wdGlvbixzZWxlY3RvcjoibWF0LW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiLCJpZCIsImRpc2FibGVkIl0sb3V0cHV0czpbIm9uU2VsZWN0aW9uQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp6ZS5NYXRUb29sdGlwLHNlbGVjdG9yOiJbbWF0VG9vbHRpcF0iLGlucHV0czpbIm1hdFRvb2x0aXBQb3NpdGlvbiIsIm1hdFRvb2x0aXBQb3NpdGlvbkF0T3JpZ2luIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFNob3dEZWxheSIsIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJtYXRUb29sdGlwVG91Y2hHZXN0dXJlcyIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwQ2xhc3MiXSxleHBvcnRBczpbIm1hdFRvb2x0aXAiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpXLk1hdFRhYkNvbnRlbnQsc2VsZWN0b3I6IlttYXRUYWJDb250ZW50XSJ9LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWIsc2VsZWN0b3I6Im1hdC10YWIiLGlucHV0czpbImRpc2FibGVkIiwibGFiZWwiLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwibGFiZWxDbGFzcyIsImJvZHlDbGFzcyJdLGV4cG9ydEFzOlsibWF0VGFiIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6Vy5NYXRUYWJHcm91cCxzZWxlY3RvcjoibWF0LXRhYi1ncm91cCIsaW5wdXRzOlsiY29sb3IiLCJmaXRJbmtCYXJUb0NvbnRlbnQiLCJtYXQtc3RyZXRjaC10YWJzIiwiZHluYW1pY0hlaWdodCIsInNlbGVjdGVkSW5kZXgiLCJoZWFkZXJQb3NpdGlvbiIsImFuaW1hdGlvbkR1cmF0aW9uIiwiY29udGVudFRhYkluZGV4IiwiZGlzYWJsZVBhZ2luYXRpb24iLCJkaXNhYmxlUmlwcGxlIiwicHJlc2VydmVDb250ZW50IiwiYmFja2dyb3VuZENvbG9yIiwiYXJpYS1sYWJlbCIsImFyaWEtbGFiZWxsZWRieSJdLG91dHB1dHM6WyJzZWxlY3RlZEluZGV4Q2hhbmdlIiwiZm9jdXNDaGFuZ2UiLCJhbmltYXRpb25Eb25lIiwic2VsZWN0ZWRUYWJDaGFuZ2UiXSxleHBvcnRBczpbIm1hdFRhYkdyb3VwIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6ZXQuTWF0U2xpZGVUb2dnbGUsc2VsZWN0b3I6Im1hdC1zbGlkZS10b2dnbGUiLGlucHV0czpbIm5hbWUiLCJpZCIsImxhYmVsUG9zaXRpb24iLCJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsInJlcXVpcmVkIiwiY29sb3IiLCJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJ0YWJJbmRleCIsImNoZWNrZWQiLCJoaWRlSWNvbiIsImRpc2FibGVkSW50ZXJhY3RpdmUiXSxvdXRwdXRzOlsiY2hhbmdlIiwidG9nZ2xlQ2hhbmdlIl0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOmouRGVmYXVsdExheW91dERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhMYXlvdXRdLCBbZnhMYXlvdXQueHNdLCBbZnhMYXlvdXQuc21dLCBbZnhMYXlvdXQubWRdLCAgW2Z4TGF5b3V0LmxnXSwgW2Z4TGF5b3V0LnhsXSwgW2Z4TGF5b3V0Lmx0LXNtXSwgW2Z4TGF5b3V0Lmx0LW1kXSwgIFtmeExheW91dC5sdC1sZ10sIFtmeExheW91dC5sdC14bF0sIFtmeExheW91dC5ndC14c10sIFtmeExheW91dC5ndC1zbV0sICBbZnhMYXlvdXQuZ3QtbWRdLCBbZnhMYXlvdXQuZ3QtbGddIixpbnB1dHM6WyJmeExheW91dCIsImZ4TGF5b3V0LnhzIiwiZnhMYXlvdXQuc20iLCJmeExheW91dC5tZCIsImZ4TGF5b3V0LmxnIiwiZnhMYXlvdXQueGwiLCJmeExheW91dC5sdC1zbSIsImZ4TGF5b3V0Lmx0LW1kIiwiZnhMYXlvdXQubHQtbGciLCJmeExheW91dC5sdC14bCIsImZ4TGF5b3V0Lmd0LXhzIiwiZnhMYXlvdXQuZ3Qtc20iLCJmeExheW91dC5ndC1tZCIsImZ4TGF5b3V0Lmd0LWxnIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0RmxleERpcmVjdGl2ZSxzZWxlY3RvcjoiICBbZnhGbGV4XSwgW2Z4RmxleC54c10sIFtmeEZsZXguc21dLCBbZnhGbGV4Lm1kXSwgIFtmeEZsZXgubGddLCBbZnhGbGV4LnhsXSwgW2Z4RmxleC5sdC1zbV0sIFtmeEZsZXgubHQtbWRdLCAgW2Z4RmxleC5sdC1sZ10sIFtmeEZsZXgubHQteGxdLCBbZnhGbGV4Lmd0LXhzXSwgW2Z4RmxleC5ndC1zbV0sICBbZnhGbGV4Lmd0LW1kXSwgW2Z4RmxleC5ndC1sZ10iLGlucHV0czpbImZ4RmxleCIsImZ4RmxleC54cyIsImZ4RmxleC5zbSIsImZ4RmxleC5tZCIsImZ4RmxleC5sZyIsImZ4RmxleC54bCIsImZ4RmxleC5sdC1zbSIsImZ4RmxleC5sdC1tZCIsImZ4RmxleC5sdC1sZyIsImZ4RmxleC5sdC14bCIsImZ4RmxleC5ndC14cyIsImZ4RmxleC5ndC1zbSIsImZ4RmxleC5ndC1tZCIsImZ4RmxleC5ndC1sZyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkRlZmF1bHRWYWx1ZUFjY2Vzc29yLHNlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0ifSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLk51bWJlclZhbHVlQWNjZXNzb3Isc2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWluVmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttaW5dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtuZ01vZGVsXSIsaW5wdXRzOlsibWluIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuTWF4VmFsaWRhdG9yLHNlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttYXhdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtuZ01vZGVsXSIsaW5wdXRzOlsibWF4Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xEaXJlY3RpdmUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbF0iLGlucHV0czpbImZvcm1Db250cm9sIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXSxleHBvcnRBczpbIm5nRm9ybSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm1lLkZvcm1Hcm91cERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Hcm91cF0iLGlucHV0czpbImZvcm1Hcm91cCJdLG91dHB1dHM6WyJuZ1N1Ym1pdCJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUNvbnRyb2xOYW1lLHNlbGVjdG9yOiJbZm9ybUNvbnRyb2xOYW1lXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2xOYW1lIiwiZGlzYWJsZWQiLCJuZ01vZGVsIl0sb3V0cHV0czpbIm5nTW9kZWxDaGFuZ2UiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtR3JvdXBOYW1lLHNlbGVjdG9yOiJbZm9ybUdyb3VwTmFtZV0iLGlucHV0czpbImZvcm1Hcm91cE5hbWUiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQXJyYXlOYW1lLHNlbGVjdG9yOiJbZm9ybUFycmF5TmFtZV0iLGlucHV0czpbImZvcm1BcnJheU5hbWUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpUdC5GaWxlSW5wdXRDb21wb25lbnQsc2VsZWN0b3I6InRiLWZpbGUtaW5wdXQiLGlucHV0czpbImxhYmVsIiwiaGludCIsImFjY2VwdCIsIm5vRmlsZVRleHQiLCJpbnB1dElkIiwiYWxsb3dlZEV4dGVuc2lvbnMiLCJkcm9wTGFiZWwiLCJtYXhTaXplQnl0ZSIsImNvbnRlbnRDb252ZXJ0RnVuY3Rpb24iLCJyZXF1aXJlZCIsInJlcXVpcmVkQXNFcnJvciIsImRpc2FibGVkIiwiZXhpc3RpbmdGaWxlTmFtZSIsInJlYWRBc0JpbmFyeSIsIndvcmtGcm9tRmlsZU9iaiIsIm11bHRpcGxlRmlsZSJdLG91dHB1dHM6WyJmaWxlTmFtZUNoYW5nZWQiXX0se2tpbmQ6InBpcGUiLHR5cGU6WS5UcmFuc2xhdGVQaXBlLG5hbWU6InRyYW5zbGF0ZSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6WS5UcmFuc2xhdGVEaXJlY3RpdmUsc2VsZWN0b3I6Ilt0cmFuc2xhdGVdLFtuZ3gtdHJhbnNsYXRlXSIsaW5wdXRzOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlUGFyYW1zIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6U3QuQ29weUJ1dHRvbkNvbXBvbmVudCxzZWxlY3RvcjoidGItY29weS1idXR0b24iLGlucHV0czpbImNvcHlUZXh0IiwiZGlzYWJsZWQiLCJtZGlJY29uIiwiaWNvbiIsInRvb2x0aXBUZXh0IiwidG9vbHRpcFBvc2l0aW9uIiwic3R5bGUiLCJjb2xvciIsIm1pbmlCdXR0b24iXSxvdXRwdXRzOlsic3VjY2Vzc0NvcGllZCJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm50LlRvZ2dsZU9wdGlvbixzZWxlY3RvcjoidGItdG9nZ2xlLW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTphdC5Ub2dnbGVTZWxlY3RDb21wb25lbnQsc2VsZWN0b3I6InRiLXRvZ2dsZS1zZWxlY3QiLGlucHV0czpbImRpc2FibGVkIiwic2VsZWN0TWVkaWFCcmVha3BvaW50IiwiYXBwZWFyYW5jZSIsImRpc2FibGVQYWdpbmF0aW9uIiwiZmlsbEhlaWdodCIsImV4dHJhUGFkZGluZyIsInByaW1hcnlCYWNrZ3JvdW5kIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6dXQuSGludFRvb2x0aXBJY29uQ29tcG9uZW50LHNlbGVjdG9yOiJbdGItaGludC10b29sdGlwLWljb25dIixpbnB1dHM6WyJ0Yi1oaW50LXRvb2x0aXAtaWNvbiIsInRvb2x0aXBQb3NpdGlvbiIsImhpbnRJY29uIl19XX0pfX1lKCJHYXRld2F5QmFzaWNDb25maWd1cmF0aW9uQ29tcG9uZW50IixEbyksSGUoW04oKV0sRG8ucHJvdG90eXBlLCJkaWFsb2dNb2RlIix2b2lkIDApLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6RG8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktYmFzaWMtY29uZmlndXJhdGlvbiIsc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILERdLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PkRvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5EbykpLG11bHRpOiEwfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG48bWF0LXRhYi1ncm91cCBjbGFzcz0idGFiLWdyb3VwLWJsb2NrIiBbZm9ybUdyb3VwXT0iYmFzaWNGb3JtR3JvdXAiIFtjbGFzcy5kaWFsb2ctbW9kZV09ImRpYWxvZ01vZGUiPlxuICA8bWF0LXRhYiBsYWJlbD0ie3sgXCdnYXRld2F5LmdlbmVyYWxcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9InRoaW5nc2JvYXJkIiBjbGFzcz0ibWF0LWNvbnRlbnQgbWF0LXBhZGRpbmcgY29uZmlndXJhdGlvbi1ibG9jayI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tcGFkZGluZy1ib3R0b20iPlxuICAgICAgICAgIDxkaXYgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5yZW1vdGUtY29uZmlndXJhdGlvblwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGNvbG9yPSJwcmltYXJ5IiBmb3JtQ29udHJvbE5hbWU9InJlbW90ZUNvbmZpZ3VyYXRpb24iPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmVtb3RlLWNvbmZpZ3VyYXRpb25cJyAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucmVtb3RlLXNoZWxsXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmciPlxuICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9Im1hdC1zbGlkZSIgY29sb3I9InByaW1hcnkiIGZvcm1Db250cm9sTmFtZT0icmVtb3RlU2hlbGwiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkucmVtb3RlLXNoZWxsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS50aGluZ3Nib2FyZC1ob3N0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Imhvc3QiLz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5ob3N0XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuaG9zdFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkudGhpbmdzYm9hcmQtcG9ydDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJwb3J0IiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5wb3J0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnBvcnRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5wb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1tYXhcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucG9ydFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5wb3J0XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIj5cbiAgICAgICAgICA8ZGl2IHRyYW5zbGF0ZSBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSI+c2VjdXJpdHkuc2VjdXJpdHk8L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIGZvcm1Hcm91cE5hbWU9InNlY3VyaXR5Ij5cbiAgICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGNsYXNzPSJ0b2dnbGUtZ3JvdXAiIGZvcm1Db250cm9sTmFtZT0idHlwZSI+XG4gICAgICAgICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IHNlY3VyaXR5VHlwZSBvZiBzZWN1cml0eVR5cGVzIHwga2V5dmFsdWUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09InNlY3VyaXR5VHlwZS5rZXkiPnt7IHNlY3VyaXR5VHlwZS52YWx1ZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudHlwZVwnKS52YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFwnYWNjZXNzdG9rZW5cJykiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5zZWN1cml0eS5hY2Nlc3MtdG9rZW48L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iYWNjZXNzVG9rZW4iLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkuYWNjZXNzVG9rZW5cJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdzZWN1cml0eS5hY2Nlc3MtdG9rZW4tcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPHRiLWNvcHktYnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgbWluaUJ1dHRvbj0iZmFsc2UiXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LmFjY2Vzc1Rva2VuXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgIFtjb3B5VGV4dF09ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LmFjY2Vzc1Rva2VuXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0PSJ7eyBcJ2RldmljZS5jb3B5LWFjY2Vzcy10b2tlblwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj0iYWJvdmUiXG4gICAgICAgICAgICAgICAgaWNvbj0iY29udGVudF9jb3B5Ij5cbiAgICAgICAgICAgICAgPC90Yi1jb3B5LWJ1dHRvbj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy50b2tlblwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPHNlY3Rpb24+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyJcbiAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudHlwZVwnKS52YWx1ZSA9PT0gXCd1c2VybmFtZVBhc3N3b3JkXCciPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5zZWN1cml0eS5jbGllbnRJZDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iY2xpZW50SWQiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LmNsaWVudElkXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ3NlY3VyaXR5LmNsaWVudElkLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPHRiLWNvcHktYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtaW5pQnV0dG9uPSJmYWxzZSJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LmNsaWVudElkXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgICAgICBbY29weVRleHRdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5jbGllbnRJZFwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcFRleHQ9Int7IFwnZ2F0ZXdheS5jb3B5LWNsaWVudC1pZFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgICBpY29uPSJjb250ZW50X2NvcHkiPlxuICAgICAgICAgICAgICAgICAgPC90Yi1jb3B5LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmNsaWVudC1pZFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPnNlY3VyaXR5LnVzZXJuYW1lPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ1c2VybmFtZSIvPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudXNlcm5hbWVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnc2VjdXJpdHkudXNlcm5hbWUtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8dGItY29weS1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgIG1pbmlCdXR0b249ImZhbHNlIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudXNlcm5hbWVcJykudmFsdWUiXG4gICAgICAgICAgICAgICAgICAgIFtjb3B5VGV4dF09ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnVzZXJuYW1lXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgICAgICB0b29sdGlwVGV4dD0ie3sgXCdnYXRld2F5LmNvcHktdXNlcm5hbWVcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPSJhYm92ZSJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj0iY29udGVudF9jb3B5Ij5cbiAgICAgICAgICAgICAgICAgIDwvdGItY29weS1idXR0b24+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy51c2VybmFtZVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgc3Vic2NyaXB0U2l6aW5nPSJkeW5hbWljIiBzdHlsZT0id2lkdGg6IDEwMCUiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudHlwZVwnKS52YWx1ZSA9PT0gXCd1c2VybmFtZVBhc3N3b3JkXCciPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkucGFzc3dvcmQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJwYXNzd29yZCIvPlxuICAgICAgICAgICAgICAgIDx0Yi1jb3B5LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICBtaW5pQnV0dG9uPSJmYWxzZSJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zZWN1cml0eS5wYXNzd29yZFwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgIFtjb3B5VGV4dF09ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnBhc3N3b3JkXCcpLnZhbHVlIlxuICAgICAgICAgICAgICAgICAgdG9vbHRpcFRleHQ9Int7IFwnZ2F0ZXdheS5jb3B5LXBhc3N3b3JkXCcgfCB0cmFuc2xhdGUgfX0iXG4gICAgICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249ImFib3ZlIlxuICAgICAgICAgICAgICAgICAgaWNvbj0iY29udGVudF9jb3B5Ij5cbiAgICAgICAgICAgICAgICA8L3RiLWNvcHktYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5wYXNzd29yZFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDx0Yi1lcnJvciBzdHlsZT0ibWFyZ2luLXRvcDogLTEycHg7IGRpc3BsYXk6IGJsb2NrOyIgZnhGbGV4PSIxMDAiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5LnR5cGVcJykudmFsdWUgPT09IFwndXNlcm5hbWVQYXNzd29yZFwnIlxuICAgICAgICAgICAgICAgICAgICAgIFtlcnJvcl09ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnNlY3VyaXR5XCcpLmhhc0Vycm9yKFwnYXRMZWFzdE9uZVwnKSA/XG4gICAgICAgICAgKFwnZGV2aWNlLmNsaWVudC1pZC1vci11c2VyLW5hbWUtbmVjZXNzYXJ5XCcgfCB0cmFuc2xhdGUpIDogXCdcJyI+PC90Yi1lcnJvcj5cbiAgICAgICAgICAgIDx0Yi1maWxlLWlucHV0XG4gICAgICAgICAgICAgIGZ4RmxleD0iMTAwIlxuICAgICAgICAgICAgICBoaW50PSJ7eyBcJ2dhdGV3YXkuaGludHMuY2EtY2VydFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuc2VjdXJpdHkudHlwZVwnKS52YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFwndGxzXCcpIlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9ImNhQ2VydCJcbiAgICAgICAgICAgICAgbGFiZWw9Int7IFwnc2VjdXJpdHkuY2EtY2VydFwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICBbYWxsb3dlZEV4dGVuc2lvbnNdPSJcJ3BlbSwgY2VydCwga2V5XCciXG4gICAgICAgICAgICAgIFthY2NlcHRdPSJcJy5wZW0sIGFwcGxpY2F0aW9uL3BlbSwuY2VydCwgYXBwbGljYXRpb24vY2VydCwgLmtleSxhcHBsaWNhdGlvbi9rZXlcJyJcbiAgICAgICAgICAgICAgZHJvcExhYmVsPSJ7eyBcJ2dhdGV3YXkuZHJvcC1maWxlXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgICAgICAgICAgPC90Yi1maWxlLWlucHV0PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5sb2dzLmxvZ3NcJyB8IHRyYW5zbGF0ZSB9fSI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9ImxvZ3MiIGNsYXNzPSJtYXQtY29udGVudCBtYXQtcGFkZGluZyBjb25maWd1cmF0aW9uLWJsb2NrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCBuby1wYWRkaW5nLWJvdHRvbSI+XG4gICAgICAgICAgPGRpdiBmeExheW91dD0iY29sdW1uIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5sb2dzLmRhdGUtZm9ybWF0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImRhdGVGb3JtYXQiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnbG9ncy5kYXRlRm9ybWF0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLmRhdGUtZm9ybWF0LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZGF0ZS1mb3JtXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5sb2ctZm9ybWF0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImxvZ0Zvcm1hdCIgcm93cz0iMiI+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnbG9ncy5sb2dGb3JtYXRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmxvZ3MubG9nLWZvcm1hdC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmxvZy1mb3JtYXRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tcGFkZGluZy1ib3R0b20iIGZvcm1Hcm91cE5hbWU9InJlbW90ZSI+XG4gICAgICAgICAgPGRpdiB0cmFuc2xhdGUgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPmdhdGV3YXkubG9ncy5yZW1vdGU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IHRiLWhpbnQtdG9vbHRpcC1pY29uPSJ7eyBcJ2dhdGV3YXkuaGludHMucmVtb3RlLWxvZ1wnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGNvbG9yPSJwcmltYXJ5IiBmb3JtQ29udHJvbE5hbWU9ImVuYWJsZWQiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5yZW1vdGUtbG9nc1wnICB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5sZXZlbDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPSJsb2dMZXZlbCI+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IGxvZ0xldmVsIG9mIGdhdGV3YXlMb2dMZXZlbCIgW3ZhbHVlXT0ibG9nTGV2ZWwiPnt7IGxvZ0xldmVsIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIiBmb3JtR3JvdXBOYW1lPSJsb2NhbCI+XG4gICAgICAgICAgPGRpdiB0cmFuc2xhdGUgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiPmdhdGV3YXkubG9ncy5sb2NhbDwvZGl2PlxuICAgICAgICAgIDx0Yi10b2dnbGUtc2VsZWN0IGNsYXNzPSJ0b2dnbGUtZ3JvdXAiIFtmb3JtQ29udHJvbF09ImxvZ1NlbGVjdG9yIj5cbiAgICAgICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IGxvZ0NvbmZpZyBvZiBsb2NhbExvZ3NDb25maWdzIiBbdmFsdWVdPSJsb2dDb25maWciXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZmlyc3QtY2FwaXRhbCI+e3sgbG9jYWxMb2dzQ29uZmlnVHJhbnNsYXRlTWFwLmdldChsb2dDb25maWcpIH19PC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgIDwvdGItdG9nZ2xlLXNlbGVjdD5cbiAgICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPSJnZXRMb2dGb3JtR3JvdXAobG9nU2VsZWN0b3IudmFsdWUpIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5sZXZlbDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT0ibG9nTGV2ZWwiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPSJsZXQgbG9nTGV2ZWwgb2YgZ2F0ZXdheUxvZ0xldmVsIiBbdmFsdWVdPSJsb2dMZXZlbCI+e3sgbG9nTGV2ZWwgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkubG9ncy5maWxlLXBhdGg8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJmaWxlUGF0aCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2xvZ3MubG9jYWwuXCcgKyBsb2dTZWxlY3Rvci52YWx1ZSArIFwnLmZpbGVQYXRoXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmxvZ3MuZmlsZS1wYXRoLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBzYXZpbmctcGVyaW9kIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5sb2dzLnNhdmluZy1wZXJpb2Q8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InNhdmluZ1RpbWUiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdsb2dzLmxvY2FsLlwnICsgbG9nU2VsZWN0b3IudmFsdWUgKyBcJy5zYXZpbmdUaW1lXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubG9ncy5zYXZpbmctcGVyaW9kLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnbG9ncy5sb2NhbC5cJyArIGxvZ1NlbGVjdG9yLnZhbHVlICsgXCcuc2F2aW5nVGltZVwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLnNhdmluZy1wZXJpb2QtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGhpZGVSZXF1aXJlZE1hcmtlciBzdHlsZT0ibWluLXdpZHRoOiAxMTBweDsgd2lkdGg6IDMwJSI+XG4gICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9InNhdmluZ1BlcmlvZCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj0ibGV0IHBlcmlvZCBvZiBsb2dTYXZpbmdQZXJpb2RzIHwga2V5dmFsdWUiIFt2YWx1ZV09InBlcmlvZC5rZXkiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IHBlcmlvZC52YWx1ZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5sb2dzLmJhY2t1cC1jb3VudDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImJhY2t1cENvdW50IiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdsb2dzLmxvY2FsLlwnICsgbG9nU2VsZWN0b3IudmFsdWUgKyBcJy5iYWNrdXBDb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLmJhY2t1cC1jb3VudC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2xvZ3MubG9jYWwuXCcgKyBsb2dTZWxlY3Rvci52YWx1ZSArIFwnLmJhY2t1cENvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5sb2dzLmJhY2t1cC1jb3VudC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5iYWNrdXAtY291bnRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuc3RvcmFnZVwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT0ic3RvcmFnZSIgY2xhc3M9Im1hdC1jb250ZW50IG1hdC1wYWRkaW5nIGNvbmZpZ3VyYXRpb24tYmxvY2siPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIj5cbiAgICAgICAgICA8ZGl2IHRyYW5zbGF0ZSBjbGFzcz0idGItZm9ybS1wYW5lbC10aXRsZSI+Z2F0ZXdheS5zdG9yYWdlPC9kaXY+XG4gICAgICAgICAgPGRpdiB0cmFuc2xhdGUgY2xhc3M9InRiLWZvcm0tcGFuZWwtaGludCI+Z2F0ZXdheS5oaW50cy5zdG9yYWdlPC9kaXY+XG4gICAgICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgY2xhc3M9InRvZ2dsZS1ncm91cCIgZm9ybUNvbnRyb2xOYW1lPSJ0eXBlIj5cbiAgICAgICAgICAgIDx0Yi10b2dnbGUtb3B0aW9uICpuZ0Zvcj0ibGV0IHN0b3JhZ2VUeXBlIG9mIHN0b3JhZ2VUeXBlcyIgW3ZhbHVlXT0ic3RvcmFnZVR5cGUiPlxuICAgICAgICAgICAgICB7eyBzdG9yYWdlVHlwZXNUcmFuc2xhdGlvbk1hcC5nZXQoc3RvcmFnZVR5cGUpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L3RiLXRvZ2dsZS1vcHRpb24+XG4gICAgICAgICAgPC90Yi10b2dnbGUtc2VsZWN0PlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtaGludCI+e3sgXCdnYXRld2F5LmhpbnRzLlwnICsgYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS50eXBlXCcpLnZhbHVlIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLnR5cGVcJykudmFsdWUiPlxuICAgICAgICAgICAgPHNlY3Rpb24gKm5nU3dpdGNoQ2FzZT0iU3RvcmFnZVR5cGVzLk1FTU9SWSIgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0icmVhZF9yZWNvcmRzX2NvdW50Ii8+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5yZWFkX3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5yZWFkX3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLnJlYWRfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLnJlYWQtcmVjb3JkLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcmFnZS1tYXgtcmVjb3JkczwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWF4X3JlY29yZHNfY291bnQiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlY29yZHNfY291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1heF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMubWF4LXJlY29yZHMtY291bnRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8c2VjdGlvbiAqbmdTd2l0Y2hDYXNlPSJTdG9yYWdlVHlwZXMuRklMRSI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtZGF0YS1mb2xkZXItcGF0aDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0iZGF0YV9mb2xkZXJfcGF0aCIvPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5kYXRhX2ZvbGRlcl9wYXRoXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPSJtYXQtZm9ybS1maWVsZC1pbmZpeCBwb2ludGVyLWV2ZW50IHN1ZmZpeC1pY29uIiBhcmlhLWhpZGRlbj0iZmFsc2UiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0iaGVscC1pY29uIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5kYXRhLWZvbGRlclwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIGZvcm1Db250cm9sTmFtZT0ibWF4X2ZpbGVfY291bnQiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X2ZpbGVfY291bnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X2ZpbGVfY291bnRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXMtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tYXhfZmlsZV9jb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtZmlsZXMtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1heC1maWxlLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0ibnVtYmVyIiBmb3JtQ29udHJvbE5hbWU9Im1heF9yZWFkX3JlY29yZHNfY291bnQiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlYWRfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tYXhfcmVhZF9yZWNvcmRzX2NvdW50XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlYWRfcmVjb3Jkc19jb3VudFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1heC1yZWFkLWNvdW50XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdG9yYWdlLW1heC1maWxlLXJlY29yZHM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIGZvcm1Db250cm9sTmFtZT0ibWF4X3JlY29yZHNfcGVyX2ZpbGUiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlY29yZHNfcGVyX2ZpbGVcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5tYXhfcmVjb3Jkc19wZXJfZmlsZVwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdG9yYWdlLW1heC1yZWNvcmRzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWF4X3JlY29yZHNfcGVyX2ZpbGVcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1heC1yZWNvcmRzXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8c2VjdGlvbiAqbmdTd2l0Y2hDYXNlPSJTdG9yYWdlVHlwZXMuU1FMSVRFIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RvcmFnZS1wYXRoPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJkYXRhX2ZpbGVfcGF0aCIvPlxuICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnc3RvcmFnZS5kYXRhX2ZpbGVfcGF0aFwnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0b3JhZ2UtcGF0aC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmRhdGEtZm9sZGVyXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5tZXNzYWdlcy10dGwtY2hlY2staW4taG91cnM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIGZvcm1Db250cm9sTmFtZT0ibWVzc2FnZXNfdHRsX2NoZWNrX2luX2hvdXJzIi8+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9jaGVja19pbl9ob3Vyc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWVzc2FnZXNfdHRsX2NoZWNrX2luX2hvdXJzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9jaGVja19pbl9ob3Vyc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkubWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy50dGwtY2hlY2staG91clwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9Im1hdC1ibG9jayI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5tZXNzYWdlcy10dGwtaW4tZGF5czwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPSJudW1iZXIiIGZvcm1Db250cm9sTmFtZT0ibWVzc2FnZXNfdHRsX2luX2RheXMiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9pbl9kYXlzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1lc3NhZ2VzLXR0bC1pbi1kYXlzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdzdG9yYWdlLm1lc3NhZ2VzX3R0bF9pbl9kYXlzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXNzYWdlcy10dGwtaW4tZGF5cy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3N0b3JhZ2UubWVzc2FnZXNfdHRsX2luX2RheXNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tZXNzYWdlcy10dGwtaW4tZGF5cy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMudHRsLW1lc3NhZ2VzLWRheVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuZ3JwY1wnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT0iZ3JwYyIgY2xhc3M9Im1hdC1jb250ZW50IG1hdC1wYWRkaW5nIGNvbmZpZ3VyYXRpb24tYmxvY2siPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz0ibWF0LXNsaWRlIiBjb2xvcj0icHJpbWFyeSIgZm9ybUNvbnRyb2xOYW1lPSJlbmFibGVkIj5cbiAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjXCcgIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDxkaXYgdGItaGludC10b29sdGlwLWljb249Int7IFwnZ2F0ZXdheS5oaW50cy5wZXJtaXQtd2l0aG91dC1jYWxsc1wnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGNvbG9yPSJwcmltYXJ5IiBmb3JtQ29udHJvbE5hbWU9ImtlZXBhbGl2ZVBlcm1pdFdpdGhvdXRDYWxscyI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5wZXJtaXQtd2l0aG91dC1jYWxsc1wnICB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc2VydmVyLXBvcnQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJzZXJ2ZXJQb3J0IiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5zZXJ2ZXItcG9ydFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLnNlcnZlclBvcnRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5zZXJ2ZXJQb3J0XCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5zZXJ2ZXJQb3J0XCcpLmhhc0Vycm9yKFwnbWF4XCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS50aGluZ3Nib2FyZC1wb3J0LW1heFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5zZXJ2ZXJQb3J0XCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkudGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmdycGMta2VlcC1hbGl2ZS10aW1lb3V0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ia2VlcEFsaXZlVGltZW91dE1zIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5ncnBjLWtlZXAtYWxpdmUtdGltZW91dFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLmtlZXBBbGl2ZVRpbWVvdXRNc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtdGltZW91dC1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5rZWVwQWxpdmVUaW1lb3V0TXNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMta2VlcC1hbGl2ZS10aW1lb3V0LW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5rZWVwQWxpdmVUaW1lb3V0TXNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLWtlZXAtYWxpdmUtdGltZW91dC1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmdycGMta2VlcC1hbGl2ZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImtlZXBBbGl2ZVRpbWVNcyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuZ3JwYy1rZWVwLWFsaXZlXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMua2VlcEFsaXZlVGltZU1zXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMta2VlcC1hbGl2ZS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5rZWVwQWxpdmVUaW1lTXNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMta2VlcC1hbGl2ZS1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMua2VlcEFsaXZlVGltZU1zXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1rZWVwLWFsaXZlLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWluVGltZUJldHdlZW5QaW5nc01zIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5ncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3NcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5taW5UaW1lQmV0d2VlblBpbmdzTXNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLm1pblRpbWVCZXR3ZWVuUGluZ3NNc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5taW5UaW1lQmV0d2VlblBpbmdzTXNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5ncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGE8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJtYXhQaW5nc1dpdGhvdXREYXRhIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5ncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGFcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5tYXhQaW5nc1dpdGhvdXREYXRhXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5tYXhQaW5nc1dpdGhvdXREYXRhXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCdncnBjLm1heFBpbmdzV2l0aG91dERhdGFcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5ncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1pblBpbmdJbnRlcnZhbFdpdGhvdXREYXRhTXMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWluUGluZ0ludGVydmFsV2l0aG91dERhdGFNc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwnZ3JwYy5taW5QaW5nSW50ZXJ2YWxXaXRob3V0RGF0YU1zXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5ncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ2dycGMubWluUGluZ0ludGVydmFsV2l0aG91dERhdGFNc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiIGxhYmVsPSJ7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5zdGF0aXN0aWNzXCcgfCB0cmFuc2xhdGUgfX0iPlxuICAgIDxuZy10ZW1wbGF0ZSBtYXRUYWJDb250ZW50PlxuICAgICAgPGRpdiBmb3JtR3JvdXBOYW1lPSJ0aGluZ3Nib2FyZCIgY2xhc3M9Im1hdC1jb250ZW50IG1hdC1wYWRkaW5nIGNvbmZpZ3VyYXRpb24tYmxvY2siPlxuICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsIG5vLXBhZGRpbmctYm90dG9tIiBmb3JtR3JvdXBOYW1lPSJzdGF0aXN0aWNzIj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjb2xvcj0icHJpbWFyeSIgY2xhc3M9Im1hdC1zbGlkZSIgZm9ybUNvbnRyb2xOYW1lPSJlbmFibGUiPlxuICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3Muc3RhdGlzdGljc1wnICB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3Muc2VuZC1wZXJpb2Q8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9InN0YXRzU2VuZFBlcmlvZEluU2Vjb25kcyIgdHlwZT0ibnVtYmVyIiBtaW49IjYwIi8+XG4gICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zdGF0aXN0aWNzLnN0YXRzU2VuZFBlcmlvZEluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3Muc2VuZC1wZXJpb2QtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5zdGF0aXN0aWNzLnN0YXRzU2VuZFBlcmlvZEluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnNlbmQtcGVyaW9kLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLnN0YXRpc3RpY3Muc3RhdHNTZW5kUGVyaW9kSW5TZWNvbmRzXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnNlbmQtcGVyaW9kLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3MuY29tbWFuZHM8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0Yi1mb3JtLXBhbmVsLWhpbnQiIHRyYW5zbGF0ZT5nYXRld2F5LmhpbnRzLmNvbW1hbmRzPC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBmb3JtR3JvdXBOYW1lPSJzdGF0aXN0aWNzIj5cbiAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9InJvdyIgZm9ybUFycmF5TmFtZT0iY29tbWFuZHMiIGNsYXNzPSJzdGF0aXN0aWNzLWNvbnRhaW5lciJcbiAgICAgICAgICAgICAgICAgKm5nRm9yPSJsZXQgY29tbWFuZENvbnRyb2wgb2YgY29tbWFuZEZvcm1BcnJheSgpLmNvbnRyb2xzOyBsZXQgJGluZGV4ID0gaW5kZXgiPlxuICAgICAgICAgICAgICA8c2VjdGlvbiBbZm9ybUdyb3VwTmFtZV09IiRpbmRleCIgY2xhc3M9InRiLWZvcm0tcGFuZWwgc3Ryb2tlZCBuby1wYWRkaW5nLWJvdHRvbSBuby1nYXAgY29tbWFuZC1jb250YWluZXIiPlxuICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RhdGlzdGljcy5hdHRyaWJ1dGUtbmFtZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJhdHRyaWJ1dGVPbkdhdGV3YXkiLz5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZENvbnRyb2wuZ2V0KFwnYXR0cmlidXRlT25HYXRld2F5XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmF0dHJpYnV0ZS1uYW1lLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuYXR0cmlidXRlXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3MudGltZW91dDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJ0aW1lb3V0IiB0eXBlPSJudW1iZXIiIG1pbj0iMCIvPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb21tYW5kQ29udHJvbC5nZXQoXCd0aW1lb3V0XCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnRpbWVvdXQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZENvbnRyb2wuZ2V0KFwndGltZW91dFwnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MudGltZW91dC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iY29tbWFuZENvbnRyb2wuZ2V0KFwndGltZW91dFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLnRpbWVvdXQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLnRpbWVvdXRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJtYXQtYmxvY2siPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImNvbW1hbmQiLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImNvbW1hbmRDb250cm9sLmdldChcJ2NvbW1hbmRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmQtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJjb21tYW5kQ29udHJvbC5nZXQoXCdjb21tYW5kXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmNvbW1hbmQtcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLmNvbW1hbmRcJyB8IHRyYW5zbGF0ZSB9fSI+aW5mb19vdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9InJlbW92ZUNvbW1hbmRDb250cm9sKCRpbmRleCwgJGV2ZW50KSJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGItYm94LWJ1dHRvbiJcbiAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPSIhYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucmVtb3RlQ29uZmlndXJhdGlvblwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5yZW1vdmVcJyB8IHRyYW5zbGF0ZSB9fSJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249ImFib3ZlIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IGZpdC1jb250ZW50OyJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPSIhYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucmVtb3RlQ29uZmlndXJhdGlvblwnKS52YWx1ZSJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0iYWRkQ29tbWFuZCgpIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MuYWRkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgbGFiZWw9Int7IFwnZ2F0ZXdheS5vdGhlclwnIHwgdHJhbnNsYXRlIH19Ij5cbiAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT0idGhpbmdzYm9hcmQiIGNsYXNzPSJtYXQtY29udGVudCBtYXQtcGFkZGluZyBjb25maWd1cmF0aW9uLWJsb2NrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0idGItZm9ybS1wYW5lbCIgZm9ybUdyb3VwTmFtZT0iY2hlY2tpbmdEZXZpY2VBY3Rpdml0eSJcbiAgICAgICAgICAgICBbY2xhc3Mubm8tcGFkZGluZy1ib3R0b21dPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja2luZ0RldmljZUFjdGl2aXR5LmNoZWNrRGV2aWNlSW5hY3Rpdml0eVwnKS52YWx1ZSI+XG4gICAgICAgICAgPGRpdiB0Yi1oaW50LXRvb2x0aXAtaWNvbj0ie3sgXCdnYXRld2F5LmhpbnRzLmNoZWNrLWRldmljZS1hY3Rpdml0eVwnIHwgdHJhbnNsYXRlIH19IlxuICAgICAgICAgICAgICAgY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPSJtYXQtc2xpZGUiIGNvbG9yPSJwcmltYXJ5IiBmb3JtQ29udHJvbE5hbWU9ImNoZWNrRGV2aWNlSW5hY3Rpdml0eSI+XG4gICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5jaGVja2luZy1kZXZpY2UtYWN0aXZpdHlcJyAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyJcbiAgICAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5jaGVja0RldmljZUluYWN0aXZpdHlcJykudmFsdWUiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5pbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kczwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJpbmFjdGl2aXR5VGltZW91dFNlY29uZHMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5pbmFjdGl2aXR5VGltZW91dFNlY29uZHNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tpbmdEZXZpY2VBY3Rpdml0eS5pbmFjdGl2aXR5VGltZW91dFNlY29uZHNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja2luZ0RldmljZUFjdGl2aXR5LmluYWN0aXZpdHlUaW1lb3V0U2Vjb25kc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMuaW5hY3Rpdml0eS10aW1lb3V0XCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LmluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9Im51bWJlciIgbWluPSIwIiBmb3JtQ29udHJvbE5hbWU9ImluYWN0aXZpdHlDaGVja1BlcmlvZFNlY29uZHMiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja2luZ0RldmljZUFjdGl2aXR5LmluYWN0aXZpdHlDaGVja1BlcmlvZFNlY29uZHNcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja2luZ0RldmljZUFjdGl2aXR5LmluYWN0aXZpdHlDaGVja1BlcmlvZFNlY29uZHNcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LWNoZWNrLXBlcmlvZC1zZWNvbmRzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLmNoZWNraW5nRGV2aWNlQWN0aXZpdHkuaW5hY3Rpdml0eUNoZWNrUGVyaW9kU2Vjb25kc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5pbmFjdGl2aXR5LWNoZWNrLXBlcmlvZC1zZWNvbmRzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5pbmFjdGl2aXR5LXBlcmlvZFwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwgbm8tcGFkZGluZy1ib3R0b20iPlxuICAgICAgICAgIDxkaXYgY2xhc3M9InRiLWZvcm0tcGFuZWwtdGl0bGUiIHRyYW5zbGF0ZT5nYXRld2F5LmFkdmFuY2VkPC9kaXY+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRiLWZvcm0tcm93IG5vLWJvcmRlciBuby1wYWRkaW5nIHRiLXN0YW5kYXJkLWZpZWxkcyBjb2x1bW4teHMiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5taW4tcGFjay1zZW5kLWRlbGF5PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9Im1pblBhY2tTZW5kRGVsYXlNUyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWluUGFja1NlbmREZWxheU1TXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5taW4tcGFjay1zZW5kLWRlbGF5LXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1pblBhY2tTZW5kRGVsYXlNU1wnKS5oYXNFcnJvcihcJ21pblwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1pbi1wYWNrLXNlbmQtZGVsYXktbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWluUGFja1NlbmREZWxheU1TXCcpLmhhc0Vycm9yKFwncGF0dGVyblwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5Lm1pbi1wYWNrLXNlbmQtZGVsYXktcGF0dGVyblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLm1pbmltYWwtcGFjay1kZWxheVwnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5tcXR0LXFvczwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJxb3MiIHR5cGU9Im51bWJlciIgbWluPSIwIiBtYXg9IjEiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQucW9zXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tcXR0LXFvcy1yZXF1aXJlZFwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5xb3NcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tcXR0LXFvcy1yYW5nZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5xb3NcJykuaGFzRXJyb3IoXCdtYXhcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5tcXR0LXFvcy1yYW5nZVwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0SWNvblN1ZmZpeCBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD0ie3sgXCdnYXRld2F5LmhpbnRzLnFvc1wnIHwgdHJhbnNsYXRlIH19Ij5pbmZvX291dGxpbmVkXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0idGItZm9ybS1yb3cgbm8tYm9yZGVyIG5vLXBhZGRpbmcgdGItc3RhbmRhcmQtZmllbGRzIGNvbHVtbi14cyI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT0ib3V0bGluZSIgY2xhc3M9ImZsZXgiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIHRyYW5zbGF0ZT5nYXRld2F5LnN0YXRpc3RpY3MuY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9ImNoZWNrQ29ubmVjdG9yc0NvbmZpZ3VyYXRpb25JblNlY29uZHMiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tDb25uZWN0b3JzQ29uZmlndXJhdGlvbkluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ3JlcXVpcmVkXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5jaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5jaGVja0Nvbm5lY3RvcnNDb25maWd1cmF0aW9uSW5TZWNvbmRzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5jaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tbWluXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQuY2hlY2tDb25uZWN0b3JzQ29uZmlndXJhdGlvbkluU2Vjb25kc1wnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLmNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbi1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9Im91dGxpbmUiIGNsYXNzPSJmbGV4Ij5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCB0cmFuc2xhdGU+Z2F0ZXdheS5zdGF0aXN0aWNzLm1heC1wYXlsb2FkLXNpemUtYnl0ZXM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWF4UGF5bG9hZFNpemVCeXRlcyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiLz5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5tYXhQYXlsb2FkU2l6ZUJ5dGVzXCcpLmhhc0Vycm9yKFwncmVxdWlyZWRcJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLm1heC1wYXlsb2FkLXNpemUtYnl0ZXMtcmVxdWlyZWRcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5tYXhQYXlsb2FkU2l6ZUJ5dGVzXCcpLmhhc0Vycm9yKFwnbWluXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5tYXgtcGF5bG9hZC1zaXplLWJ5dGVzLW1pblwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yXG4gICAgICAgICAgICAgICAgKm5nSWY9ImJhc2ljRm9ybUdyb3VwLmdldChcJ3RoaW5nc2JvYXJkLm1heFBheWxvYWRTaXplQnl0ZXNcJykuaGFzRXJyb3IoXCdwYXR0ZXJuXCcpIj5cbiAgICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuc3RhdGlzdGljcy5tYXgtcGF5bG9hZC1zaXplLWJ5dGVzLXBhdHRlcm5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdEljb25TdWZmaXggc3R5bGU9ImN1cnNvcjpwb2ludGVyOyJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9Int7IFwnZ2F0ZXdheS5oaW50cy5tYXgtcGF5bG9hZC1zaXplLWJ5dGVzXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0Yi1mb3JtLXJvdyBuby1ib3JkZXIgbm8tcGFkZGluZyB0Yi1zdGFuZGFyZC1maWVsZHMgY29sdW1uLXhzIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPSJvdXRsaW5lIiBjbGFzcz0iZmxleCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgdHJhbnNsYXRlPmdhdGV3YXkuc3RhdGlzdGljcy5taW4tcGFjay1zaXplLXRvLXNlbmQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT0ibWluUGFja1NpemVUb1NlbmQiIHR5cGU9Im51bWJlciIgbWluPSIwIi8+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWluUGFja1NpemVUb1NlbmRcJykuaGFzRXJyb3IoXCdyZXF1aXJlZFwnKSI+XG4gICAgICAgICAgICAgICAge3sgXCdnYXRld2F5LnN0YXRpc3RpY3MubWluLXBhY2stc2l6ZS10by1zZW5kLXJlcXVpcmVkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAqbmdJZj0iYmFzaWNGb3JtR3JvdXAuZ2V0KFwndGhpbmdzYm9hcmQubWluUGFja1NpemVUb1NlbmRcJykuaGFzRXJyb3IoXCdtaW5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLm1pbi1wYWNrLXNpemUtdG8tc2VuZC1taW5cJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICpuZ0lmPSJiYXNpY0Zvcm1Hcm91cC5nZXQoXCd0aGluZ3Nib2FyZC5taW5QYWNrU2l6ZVRvU2VuZFwnKS5oYXNFcnJvcihcJ3BhdHRlcm5cJykiPlxuICAgICAgICAgICAgICAgIHt7IFwnZ2F0ZXdheS5zdGF0aXN0aWNzLm1pbi1wYWNrLXNpemUtdG8tc2VuZC1wYXR0ZXJuXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRJY29uU3VmZml4IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPSJ7eyBcJ2dhdGV3YXkuaGludHMubWluLXBhY2stc2l6ZS10by1zZW5kXCcgfCB0cmFuc2xhdGUgfX0iPmluZm9fb3V0bGluZWRcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLXJvd3M6bWluLWNvbnRlbnQgbWlubWF4KGF1dG8sMWZyKSBtaW4tY29udGVudH06aG9zdCAuY29uZmlndXJhdGlvbi1ibG9ja3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxNnB4O21heC1oZWlnaHQ6NzB2aH06aG9zdCAuZGlhbG9nLW1vZGUgLmNvbmZpZ3VyYXRpb24tYmxvY2t7bWF4LWhlaWdodDo2MHZofTpob3N0IC5tYXQtdG9vbGJhcntncmlkLXJvdzoxO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6IzAwMDAwMGRlIWltcG9ydGFudH06aG9zdCAudGFiLWdyb3VwLWJsb2Nre21pbi13aWR0aDowO2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6MDtncmlkLXJvdzoyfTpob3N0IC50b2dnbGUtZ3JvdXB7bWFyZ2luLXJpZ2h0OmF1dG99Omhvc3QgLmZpcnN0LWNhcGl0YWx7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZX06aG9zdCB0ZXh0YXJlYXtyZXNpemU6bm9uZX06aG9zdCAuc2F2aW5nLXBlcmlvZHtmbGV4OjF9Omhvc3QgLnN0YXRpc3RpY3MtY29udGFpbmVye3dpZHRoOjEwMCV9Omhvc3QgLnN0YXRpc3RpY3MtY29udGFpbmVyIC5jb21tYW5kLWNvbnRhaW5lcnt3aWR0aDoxMDAlfTpob3N0IG1hdC1mb3JtLWZpZWxkIG1hdC1lcnJvcntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fTpob3N0IG1hdC1mb3JtLWZpZWxkIG1hdC1lcnJvcjpmaXJzdC1jaGlsZHtkaXNwbGF5OmJsb2NrIWltcG9ydGFudH06aG9zdCA6Om5nLWRlZXAgLnBvaW50ZXItZXZlbnR7cG9pbnRlci1ldmVudHM6YWxsfTpob3N0IDo6bmctZGVlcCAudG9nZ2xlLWdyb3VwIHNwYW57cGFkZGluZzowIDI1cHh9Omhvc3QgOjpuZy1kZWVwIC5tYXQtbWRjLWZvcm0tZmllbGQtaWNvbi1zdWZmaXh7Y29sb3I6I2UwZTBlMH06aG9zdCA6Om5nLWRlZXAgLm1hdC1tZGMtZm9ybS1maWVsZC1pY29uLXN1ZmZpeDpob3Zlcntjb2xvcjojOWU5ZTllfTpob3N0IDo6bmctZGVlcCAubWF0LW1kYy1mb3JtLWZpZWxkLWljb24tc3VmZml4e2Rpc3BsYXk6ZmxleH1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTpYLkRldmljZVNlcnZpY2V9LHt0eXBlOnQuQ2hhbmdlRGV0ZWN0b3JSZWZ9LHt0eXBlOkplLk1hdERpYWxvZ31dLHByb3BEZWNvcmF0b3JzOntkZXZpY2U6W3t0eXBlOmF9XSxkaWFsb2dNb2RlOlt7dHlwZTphfV0saW5pdGlhbENyZWRlbnRpYWxzVXBkYXRlZDpbe3R5cGU6bH1dfX0pO2NsYXNzIFBve2NvbnN0cnVjdG9yKGUpe3RoaXMuZmI9ZSx0aGlzLmRlc3Ryb3kkPW5ldyBTZSx0aGlzLmFkdmFuY2VkRm9ybUNvbnRyb2w9dGhpcy5mYi5jb250cm9sKCIiKSx0aGlzLmFkdmFuY2VkRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoTmUodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZT0+e3RoaXMub25DaGFuZ2UoZSksdGhpcy5vblRvdWNoZWQoKX0pKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1yZWdpc3Rlck9uQ2hhbmdlKGUpe3RoaXMub25DaGFuZ2U9ZX1yZWdpc3Rlck9uVG91Y2hlZChlKXt0aGlzLm9uVG91Y2hlZD1lfXdyaXRlVmFsdWUoZSl7dGhpcy5hZHZhbmNlZEZvcm1Db250cm9sLnJlc2V0KGUse2VtaXRFdmVudDohMX0pfXZhbGlkYXRlKCl7cmV0dXJuIHRoaXMuYWR2YW5jZWRGb3JtQ29udHJvbC52YWxpZD9udWxsOnthZHZhbmNlZEZvcm1Db250cm9sOnt2YWxpZDohMX19fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6UG8sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfV0sdGFyZ2V0OnQuybXJtUZhY3RvcnlUYXJnZXQuQ29tcG9uZW50fSl9c3RhdGlje3RoaXMuybVjbXA9dC7Jtcm1bmdEZWNsYXJlQ29tcG9uZW50KHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsdHlwZTpQbyxpc1N0YW5kYWxvbmU6ITAsc2VsZWN0b3I6InRiLWdhdGV3YXktYWR2YW5jZWQtY29uZmlndXJhdGlvbiIscHJvdmlkZXJzOlt7cHJvdmlkZTpnZSx1c2VFeGlzdGluZzptKCgoKT0+UG8pKSxtdWx0aTohMH0se3Byb3ZpZGU6ZmUsdXNlRXhpc3Rpbmc6bSgoKCk9PlBvKSksbXVsdGk6ITB9XSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuXG48dGItanNvbi1vYmplY3QtZWRpdFxuICBmaWxsSGVpZ2h0PSJ0cnVlIlxuICBjbGFzcz0idGItZmxleCBjb25maWctY29udGFpbmVyIlxuICBmeExheW91dD0iY29sdW1uIlxuICBqc29uUmVxdWlyZWRcbiAgbGFiZWw9Int7IFwnZ2F0ZXdheS5jb25maWd1cmF0aW9uXCcgfCB0cmFuc2xhdGUgfX0iXG4gIFtmb3JtQ29udHJvbF09ImFkdmFuY2VkRm9ybUNvbnRyb2wiXG4vPlxuJyxzdHlsZXM6WydAY2hhcnNldCAiVVRGLTgiOzpob3N0IC5jb25maWctY29udGFpbmVye2hlaWdodDpjYWxjKDEwMCUgLSA2MHB4KTtwYWRkaW5nOjhweH1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6Im5nbW9kdWxlIix0eXBlOkh9LHtraW5kOiJuZ21vZHVsZSIsdHlwZTpEfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOnZ0Lkpzb25PYmplY3RFZGl0Q29tcG9uZW50LHNlbGVjdG9yOiJ0Yi1qc29uLW9iamVjdC1lZGl0IixpbnB1dHM6WyJsYWJlbCIsImRpc2FibGVkIiwiZmlsbEhlaWdodCIsImVkaXRvclN0eWxlIiwic29ydCIsImpzb25SZXF1aXJlZCIsInJlYWRvbmx5Il19LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6ai5EZWZhdWx0TGF5b3V0RGlyZWN0aXZlLHNlbGVjdG9yOiIgIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sICBbZnhMYXlvdXQubGddLCBbZnhMYXlvdXQueGxdLCBbZnhMYXlvdXQubHQtc21dLCBbZnhMYXlvdXQubHQtbWRdLCAgW2Z4TGF5b3V0Lmx0LWxnXSwgW2Z4TGF5b3V0Lmx0LXhsXSwgW2Z4TGF5b3V0Lmd0LXhzXSwgW2Z4TGF5b3V0Lmd0LXNtXSwgIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ10iLGlucHV0czpbImZ4TGF5b3V0IiwiZnhMYXlvdXQueHMiLCJmeExheW91dC5zbSIsImZ4TGF5b3V0Lm1kIiwiZnhMYXlvdXQubGciLCJmeExheW91dC54bCIsImZ4TGF5b3V0Lmx0LXNtIiwiZnhMYXlvdXQubHQtbWQiLCJmeExheW91dC5sdC1sZyIsImZ4TGF5b3V0Lmx0LXhsIiwiZnhMYXlvdXQuZ3QteHMiLCJmeExheW91dC5ndC1zbSIsImZ4TGF5b3V0Lmd0LW1kIiwiZnhMYXlvdXQuZ3QtbGciXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbERpcmVjdGl2ZSxzZWxlY3RvcjoiW2Zvcm1Db250cm9sXSIsaW5wdXRzOlsiZm9ybUNvbnRyb2wiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdLGV4cG9ydEFzOlsibmdGb3JtIl19LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV19KX19ZSgiR2F0ZXdheUFkdmFuY2VkQ29uZmlndXJhdGlvbkNvbXBvbmVudCIsUG8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6UG8sZGVjb3JhdG9yczpbe3R5cGU6bixhcmdzOlt7c2VsZWN0b3I6InRiLWdhdGV3YXktYWR2YW5jZWQtY29uZmlndXJhdGlvbiIsc3RhbmRhbG9uZTohMCxpbXBvcnRzOltILERdLHByb3ZpZGVyczpbe3Byb3ZpZGU6Z2UsdXNlRXhpc3Rpbmc6bSgoKCk9PlBvKSksbXVsdGk6ITB9LHtwcm92aWRlOmZlLHVzZUV4aXN0aW5nOm0oKCgpPT5QbykpLG11bHRpOiEwfV0sdGVtcGxhdGU6J1x4M2MhLS1cbiAgQ29weXJpZ2h0IMKpIDIwMTYtMjAyNCBUaGUgVGhpbmdzYm9hcmQgQXV0aG9yc1xuXG4gIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpO1xuICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsXG4gIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS1ceDNlXG5cbjx0Yi1qc29uLW9iamVjdC1lZGl0XG4gIGZpbGxIZWlnaHQ9InRydWUiXG4gIGNsYXNzPSJ0Yi1mbGV4IGNvbmZpZy1jb250YWluZXIiXG4gIGZ4TGF5b3V0PSJjb2x1bW4iXG4gIGpzb25SZXF1aXJlZFxuICBsYWJlbD0ie3sgXCdnYXRld2F5LmNvbmZpZ3VyYXRpb25cJyB8IHRyYW5zbGF0ZSB9fSJcbiAgW2Zvcm1Db250cm9sXT0iYWR2YW5jZWRGb3JtQ29udHJvbCJcbi8+XG4nLHN0eWxlczpbJ0BjaGFyc2V0ICJVVEYtOCI7Omhvc3QgLmNvbmZpZy1jb250YWluZXJ7aGVpZ2h0OmNhbGMoMTAwJSAtIDYwcHgpO3BhZGRpbmc6OHB4fVxuJ119XX1dLGN0b3JQYXJhbWV0ZXJzOigpPT5be3R5cGU6bWUuRm9ybUJ1aWxkZXJ9XX0pO2NsYXNzIEdve2NvbnN0cnVjdG9yKGUsdCxuLGEpe3RoaXMuZmI9ZSx0aGlzLmF0dHJpYnV0ZVNlcnZpY2U9dCx0aGlzLmRldmljZVNlcnZpY2U9bix0aGlzLmNkPWEsdGhpcy5Db25maWd1cmF0aW9uTW9kZXM9b24sdGhpcy5kZXN0cm95JD1uZXcgU2UsdGhpcy5nYXRld2F5Q29uZmlnQXR0cmlidXRlS2V5cz1bImdlbmVyYWxfY29uZmlndXJhdGlvbiIsImdycGNfY29uZmlndXJhdGlvbiIsImxvZ3NfY29uZmlndXJhdGlvbiIsInN0b3JhZ2VfY29uZmlndXJhdGlvbiIsIlJlbW90ZUxvZ2dpbmdMZXZlbCIsIm1vZGUiXSx0aGlzLmdhdGV3YXlDb25maWdHcm91cD10aGlzLmZiLmdyb3VwKHtiYXNpY0NvbmZpZzpbXSxhZHZhbmNlZENvbmZpZzpbXSxtb2RlOltvbi5CQVNJQ119KSx0aGlzLm9ic2VydmVBbGlnbkNvbmZpZ3MoKX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLmZldGNoQ29uZmlnQXR0cmlidXRlKHRoaXMuZGV2aWNlKX1uZ09uRGVzdHJveSgpe3RoaXMuZGVzdHJveSQubmV4dCgpLHRoaXMuZGVzdHJveSQuY29tcGxldGUoKX1zYXZlQ29uZmlnKCl7Y29uc3R7bW9kZTplLGFkdmFuY2VkQ29uZmlnOnR9PXBlKHRoaXMucmVtb3ZlRW1wdHkodGhpcy5nYXRld2F5Q29uZmlnR3JvdXAudmFsdWUpKSxuPXttb2RlOmUsLi4udH07bi50aGluZ3Nib2FyZC5zdGF0aXN0aWNzLmNvbW1hbmRzPU9iamVjdC52YWx1ZXMobi50aGluZ3Nib2FyZC5zdGF0aXN0aWNzLmNvbW1hbmRzPz9bXSk7Y29uc3QgYT10aGlzLmdlbmVyYXRlQXR0cmlidXRlcyhuKTt0aGlzLmF0dHJpYnV0ZVNlcnZpY2Uuc2F2ZUVudGl0eUF0dHJpYnV0ZXModGhpcy5kZXZpY2UsTC5TSEFSRURfU0NPUEUsYSkucGlwZShVZSgoZT0+dGhpcy51cGRhdGVDcmVkZW50aWFscyhuLnRoaW5nc2JvYXJkLnNlY3VyaXR5KSkpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5kaWFsb2dSZWY/dGhpcy5kaWFsb2dSZWYuY2xvc2UoKToodGhpcy5nYXRld2F5Q29uZmlnR3JvdXAubWFya0FzUHJpc3RpbmUoKSx0aGlzLmNkLmRldGVjdENoYW5nZXMoKSl9KSl9b2JzZXJ2ZUFsaWduQ29uZmlncygpe3RoaXMuZ2F0ZXdheUNvbmZpZ0dyb3VwLmdldCgiYmFzaWNDb25maWciKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57Y29uc3QgdD10aGlzLmdhdGV3YXlDb25maWdHcm91cC5nZXQoImFkdmFuY2VkQ29uZmlnIik7ZWUodC52YWx1ZSxlKXx8dGhpcy5nYXRld2F5Q29uZmlnR3JvdXAuZ2V0KCJtb2RlIikudmFsdWUhPT1vbi5CQVNJQ3x8dC5wYXRjaFZhbHVlKGUse2VtaXRFdmVudDohMX0pfSkpLHRoaXMuZ2F0ZXdheUNvbmZpZ0dyb3VwLmdldCgiYWR2YW5jZWRDb25maWciKS52YWx1ZUNoYW5nZXMucGlwZShOZSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlPT57Y29uc3QgdD10aGlzLmdhdGV3YXlDb25maWdHcm91cC5nZXQoImJhc2ljQ29uZmlnIik7ZWUodC52YWx1ZSxlKXx8dGhpcy5nYXRld2F5Q29uZmlnR3JvdXAuZ2V0KCJtb2RlIikudmFsdWUhPT1vbi5BRFZBTkNFRHx8dC5wYXRjaFZhbHVlKGUse2VtaXRFdmVudDohMX0pfSkpfWdlbmVyYXRlQXR0cmlidXRlcyhlKXtjb25zdCB0PVtdLG49KGUsbik9Pnt0LnB1c2goe2tleTplLHZhbHVlOm59KX0sYT0oZSx0KT0+e3Q9ey4uLnQsdHM6KG5ldyBEYXRlKS5nZXRUaW1lKCl9LG4oZSx0KX07cmV0dXJuIG4oIlJlbW90ZUxvZ2dpbmdMZXZlbCIsZS5sb2dzPy5yZW1vdGU/LmVuYWJsZWQ/ZS5sb2dzLnJlbW90ZS5sb2dMZXZlbDpNdC5OT05FKSxkZWxldGUgZS5jb25uZWN0b3JzLG4oImxvZ3NfY29uZmlndXJhdGlvbiIsdGhpcy5nZW5lcmF0ZUxvZ3NGaWxlKGUubG9ncykpLGEoImdycGNfY29uZmlndXJhdGlvbiIsZS5ncnBjKSxhKCJzdG9yYWdlX2NvbmZpZ3VyYXRpb24iLGUuc3RvcmFnZSksYSgiZ2VuZXJhbF9jb25maWd1cmF0aW9uIixlLnRoaW5nc2JvYXJkKSxuKCJtb2RlIixlLm1vZGUpLHR9dXBkYXRlQ3JlZGVudGlhbHMoZSl7bGV0IHQ9e307c3dpdGNoKGUudHlwZSl7Y2FzZSBWdC5VU0VSTkFNRV9QQVNTV09SRDp0aGlzLnNob3VsZFVwZGF0ZUNyZWRlbnRpYWxzKGUpJiYodD10aGlzLmdlbmVyYXRlTXF0dENyZWRlbnRpYWxzKGUpKTticmVhaztjYXNlIFZ0LkFDQ0VTU19UT0tFTjpjYXNlIFZ0LlRMU19BQ0NFU1NfVE9LRU46dGhpcy5zaG91bGRVcGRhdGVBY2Nlc3NUb2tlbihlKSYmKHQ9e2NyZWRlbnRpYWxzVHlwZTpVLkFDQ0VTU19UT0tFTixjcmVkZW50aWFsc0lkOmUuYWNjZXNzVG9rZW59KX1yZXR1cm4gT2JqZWN0LmtleXModCkubGVuZ3RoP3RoaXMuZGV2aWNlU2VydmljZS5zYXZlRGV2aWNlQ3JlZGVudGlhbHMoey4uLnRoaXMuaW5pdGlhbENyZWRlbnRpYWxzLC4uLnR9KTpJZShudWxsKX1zaG91bGRVcGRhdGVDcmVkZW50aWFscyhlKXtpZih0aGlzLmluaXRpYWxDcmVkZW50aWFscy5jcmVkZW50aWFsc1R5cGUhPT1VLk1RVFRfQkFTSUMpcmV0dXJuITA7Y29uc3QgdD1KU09OLnBhcnNlKHRoaXMuaW5pdGlhbENyZWRlbnRpYWxzLmNyZWRlbnRpYWxzVmFsdWUpO3JldHVybiEodC5jbGllbnRJZD09PWUuY2xpZW50SWQmJnQudXNlck5hbWU9PT1lLnVzZXJuYW1lJiZ0LnBhc3N3b3JkPT09ZS5wYXNzd29yZCl9Z2VuZXJhdGVNcXR0Q3JlZGVudGlhbHMoZSl7Y29uc3R7Y2xpZW50SWQ6dCx1c2VybmFtZTpuLHBhc3N3b3JkOmF9PWUsbz17Li4udCYme2NsaWVudElkOnR9LC4uLm4mJnt1c2VyTmFtZTpufSwuLi5hJiZ7cGFzc3dvcmQ6YX19O3JldHVybntjcmVkZW50aWFsc1R5cGU6VS5NUVRUX0JBU0lDLGNyZWRlbnRpYWxzVmFsdWU6SlNPTi5zdHJpbmdpZnkobyl9fXNob3VsZFVwZGF0ZUFjY2Vzc1Rva2VuKGUpe3JldHVybiB0aGlzLmluaXRpYWxDcmVkZW50aWFscy5jcmVkZW50aWFsc1R5cGUhPT1VLkFDQ0VTU19UT0tFTnx8dGhpcy5pbml0aWFsQ3JlZGVudGlhbHMuY3JlZGVudGlhbHNJZCE9PWUuYWNjZXNzVG9rZW59Y2FuY2VsKCl7dGhpcy5kaWFsb2dSZWYmJnRoaXMuZGlhbG9nUmVmLmNsb3NlKCl9cmVtb3ZlRW1wdHkoZSl7cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhlKS5maWx0ZXIoKChbZSx0XSk9Pm51bGwhPXQpKS5tYXAoKChbZSx0XSk9PltlLHQ9PT1PYmplY3QodCk/dGhpcy5yZW1vdmVFbXB0eSh0KTp0XSkpKX1nZW5lcmF0ZUxvZ3NGaWxlKGUpe2NvbnN0IHQ9e3ZlcnNpb246MSxkaXNhYmxlX2V4aXN0aW5nX2xvZ2dlcnM6ITEsZm9ybWF0dGVyczp7TG9nRm9ybWF0dGVyOntjbGFzczoibG9nZ2luZy5Gb3JtYXR0ZXIiLGZvcm1hdDplLmxvZ0Zvcm1hdCxkYXRlZm10OmUuZGF0ZUZvcm1hdH19LGhhbmRsZXJzOntjb25zb2xlSGFuZGxlcjp7Y2xhc3M6ImxvZ2dpbmcuU3RyZWFtSGFuZGxlciIsZm9ybWF0dGVyOiJMb2dGb3JtYXR0ZXIiLGxldmVsOjAsc3RyZWFtOiJleHQ6Ly9zeXMuc3Rkb3V0In0sZGF0YWJhc2VIYW5kbGVyOntjbGFzczoidGhpbmdzYm9hcmRfZ2F0ZXdheS50Yl91dGlsaXR5LnRiX2hhbmRsZXIuVGltZWRSb3RhdGluZ0ZpbGVIYW5kbGVyIixmb3JtYXR0ZXI6IkxvZ0Zvcm1hdHRlciIsZmlsZW5hbWU6Ii4vbG9ncy9kYXRhYmFzZS5sb2ciLGJhY2t1cENvdW50OjEsZW5jb2Rpbmc6InV0Zi04In19LGxvZ2dlcnM6e2RhdGFiYXNlOntoYW5kbGVyczpbImRhdGFiYXNlSGFuZGxlciIsImNvbnNvbGVIYW5kbGVyIl0sbGV2ZWw6IkRFQlVHIixwcm9wYWdhdGU6ITF9fSxyb290OntsZXZlbDoiRVJST1IiLGhhbmRsZXJzOlsiY29uc29sZUhhbmRsZXIiXX0sdHM6KG5ldyBEYXRlKS5nZXRUaW1lKCl9O3JldHVybiB0aGlzLmFkZExvY2FsTG9nZ2Vycyh0LGUubG9jYWwpLHR9YWRkTG9jYWxMb2dnZXJzKGUsdCl7Zm9yKGNvbnN0IG4gb2YgT2JqZWN0LmtleXModCkpZS5oYW5kbGVyc1tuKyJIYW5kbGVyIl09dGhpcy5jcmVhdGVIYW5kbGVyT2JqKHRbbl0sbiksZS5sb2dnZXJzW25dPXRoaXMuY3JlYXRlTG9nZ2VyT2JqKHRbbl0sbil9Y3JlYXRlSGFuZGxlck9iaihlLHQpe3JldHVybntjbGFzczoidGhpbmdzYm9hcmRfZ2F0ZXdheS50Yl91dGlsaXR5LnRiX2hhbmRsZXIuVGltZWRSb3RhdGluZ0ZpbGVIYW5kbGVyIixmb3JtYXR0ZXI6IkxvZ0Zvcm1hdHRlciIsZmlsZW5hbWU6YCR7ZS5maWxlUGF0aH0vJHt0fS5sb2dgLGJhY2t1cENvdW50OmUuYmFja3VwQ291bnQsaW50ZXJ2YWw6ZS5zYXZpbmdUaW1lLHdoZW46ZS5zYXZpbmdQZXJpb2QsZW5jb2Rpbmc6InV0Zi04In19Y3JlYXRlTG9nZ2VyT2JqKGUsdCl7cmV0dXJue2hhbmRsZXJzOltgJHt0fUhhbmRsZXJgLCJjb25zb2xlSGFuZGxlciJdLGxldmVsOmUubG9nTGV2ZWwscHJvcGFnYXRlOiExfX1mZXRjaENvbmZpZ0F0dHJpYnV0ZShlKXtlLmlkIT09ayYmdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLmdldEVudGl0eUF0dHJpYnV0ZXMoZSxMLkNMSUVOVF9TQ09QRSkucGlwZShfZSgodD0+dC5sZW5ndGg/SWUodCk6dGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLmdldEVudGl0eUF0dHJpYnV0ZXMoZSxMLlNIQVJFRF9TQ09QRSx0aGlzLmdhdGV3YXlDb25maWdBdHRyaWJ1dGVLZXlzKSkpLE5lKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGU9Pnt0aGlzLnVwZGF0ZUNvbmZpZ3MoZSksdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCl9KSl9dXBkYXRlQ29uZmlncyhlKXtjb25zdCB0PXt0aGluZ3Nib2FyZDp7fSxncnBjOnt9LGxvZ3M6e30sc3RvcmFnZTp7fSxtb2RlOm9uLkJBU0lDfTtlLmZvckVhY2goKGU9Pntzd2l0Y2goZS5rZXkpe2Nhc2UiZ2VuZXJhbF9jb25maWd1cmF0aW9uIjp0LnRoaW5nc2JvYXJkPWUudmFsdWUsdGhpcy51cGRhdGVGb3JtQ29udHJvbHMoZS52YWx1ZSk7YnJlYWs7Y2FzZSJncnBjX2NvbmZpZ3VyYXRpb24iOnQuZ3JwYz1lLnZhbHVlO2JyZWFrO2Nhc2UibG9nc19jb25maWd1cmF0aW9uIjp0LmxvZ3M9dGhpcy5sb2dzVG9PYmooZS52YWx1ZSk7YnJlYWs7Y2FzZSJzdG9yYWdlX2NvbmZpZ3VyYXRpb24iOnQuc3RvcmFnZT1lLnZhbHVlO2JyZWFrO2Nhc2UibW9kZSI6dC5tb2RlPWUudmFsdWU7YnJlYWs7Y2FzZSJSZW1vdGVMb2dnaW5nTGV2ZWwiOnQubG9ncz17Li4udC5sb2dzLHJlbW90ZTp7ZW5hYmxlZDplLnZhbHVlIT09TXQuTk9ORSxsb2dMZXZlbDplLnZhbHVlfX19fSkpLHRoaXMuZ2F0ZXdheUNvbmZpZ0dyb3VwLmdldCgiYmFzaWNDb25maWciKS5zZXRWYWx1ZSh0LHtlbWl0RXZlbnQ6ITF9KSx0aGlzLmdhdGV3YXlDb25maWdHcm91cC5nZXQoImFkdmFuY2VkQ29uZmlnIikuc2V0VmFsdWUodCx7ZW1pdEV2ZW50OiExfSl9dXBkYXRlRm9ybUNvbnRyb2xzKGUpe2NvbnN0e3R5cGU6dCxhY2Nlc3NUb2tlbjpuLC4uLmF9PWUuc2VjdXJpdHk/P3t9O3RoaXMuaW5pdGlhbENyZWRlbnRpYWxzPXtkZXZpY2VJZDp0aGlzLmRldmljZSxjcmVkZW50aWFsc1R5cGU6dCxjcmVkZW50aWFsc0lkOm4sY3JlZGVudGlhbHNWYWx1ZTpKU09OLnN0cmluZ2lmeShhKX19bG9nc1RvT2JqKGUpe2NvbnN0e2Zvcm1hdDp0LGRhdGVmbXQ6bn09ZS5mb3JtYXR0ZXJzLkxvZ0Zvcm1hdHRlcjtyZXR1cm57bG9jYWw6T2JqZWN0LmtleXMoUHQpLnJlZHVjZSgoKHQsbik9Pntjb25zdCBhPWUuaGFuZGxlcnNbYCR7bn1IYW5kbGVyYF18fHt9LG89ZS5sb2dnZXJzW25dfHx7fTtyZXR1cm4gdFtuXT17bG9nTGV2ZWw6by5sZXZlbHx8TXQuSU5GTyxmaWxlUGF0aDphLmZpbGVuYW1lPy5zcGxpdChgLyR7bn1gKVswXXx8Ii4vbG9ncyIsYmFja3VwQ291bnQ6YS5iYWNrdXBDb3VudHx8NyxzYXZpbmdUaW1lOmEuaW50ZXJ2YWx8fDMsc2F2aW5nUGVyaW9kOmEud2hlbnx8RHQuZGF5c30sdH0pLHt9KSxsb2dGb3JtYXQ6dCxkYXRlRm9ybWF0Om59fXN0YXRpY3t0aGlzLsm1ZmFjPXQuybXJtW5nRGVjbGFyZUZhY3Rvcnkoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6R28sZGVwczpbe3Rva2VuOm1lLkZvcm1CdWlsZGVyfSx7dG9rZW46WC5BdHRyaWJ1dGVTZXJ2aWNlfSx7dG9rZW46WC5EZXZpY2VTZXJ2aWNlfSx7dG9rZW46dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHRhcmdldDp0Lsm1ybVGYWN0b3J5VGFyZ2V0LkNvbXBvbmVudH0pfXN0YXRpY3t0aGlzLsm1Y21wPXQuybXJtW5nRGVjbGFyZUNvbXBvbmVudCh7bWluVmVyc2lvbjoiMTQuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLHR5cGU6R28sc2VsZWN0b3I6InRiLWdhdGV3YXktY29uZmlndXJhdGlvbiIsaW5wdXRzOntkZXZpY2U6ImRldmljZSIsZGlhbG9nUmVmOiJkaWFsb2dSZWYifSxuZ0ltcG9ydDp0LHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuXG48ZGl2IFtmb3JtR3JvdXBdPSJnYXRld2F5Q29uZmlnR3JvdXAiIGNsYXNzPSJnYXRld2F5LWNvbmZpZy1jb250YWluZXIiPlxuICA8ZGl2IGNsYXNzPSJjb250ZW50LXdyYXBwZXIiPlxuICAgIDxtYXQtdG9vbGJhciBjb2xvcj0icHJpbWFyeSIgW2NsYXNzLnBhZ2UtaGVhZGVyXT0iIWRpYWxvZ1JlZiI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHNwYWNlLWJldHdlZW4gYWxpZ24tY2VudGVyIj5cbiAgICAgICAgPGgyIHRyYW5zbGF0ZT5nYXRld2F5LmdhdGV3YXktY29uZmlndXJhdGlvbjwvaDI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItYWN0aW9ucyI+XG4gICAgICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgW2NsYXNzLmRpYWxvZy10b2dnbGVdPSIhIWRpYWxvZ1JlZiIgZm9ybUNvbnRyb2xOYW1lPSJtb2RlIiBhcHBlYXJhbmNlPSJ7e2RpYWxvZ1JlZiA/IFwnc3Ryb2tlZFwnIDogXCdmaWxsXCd9fSI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiBbdmFsdWVdPSJDb25maWd1cmF0aW9uTW9kZXMuQkFTSUMiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuYmFzaWNcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gW3ZhbHVlXT0iQ29uZmlndXJhdGlvbk1vZGVzLkFEVkFOQ0VEIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmFkdmFuY2VkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj0iZGlhbG9nUmVmIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0iY2FuY2VsKCkiIHR5cGU9ImJ1dHRvbiI+XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgICA8dGItZ2F0ZXdheS1iYXNpYy1jb25maWd1cmF0aW9uXG4gICAgICAqbmdJZj0iZ2F0ZXdheUNvbmZpZ0dyb3VwLmdldChcJ21vZGVcJykudmFsdWUgPT09IENvbmZpZ3VyYXRpb25Nb2Rlcy5CQVNJQyJcbiAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICBbZGV2aWNlXT0iZGV2aWNlIlxuICAgICAgW2RpYWxvZ01vZGVdPSIhIWRpYWxvZ1JlZiJcbiAgICAgIChpbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkKT0iaW5pdGlhbENyZWRlbnRpYWxzID0gJGV2ZW50IlxuICAgIC8+XG4gICAgPHRiLWdhdGV3YXktYWR2YW5jZWQtY29uZmlndXJhdGlvblxuICAgICAgKm5nSWY9ImdhdGV3YXlDb25maWdHcm91cC5nZXQoXCdtb2RlXCcpLnZhbHVlID09PSBDb25maWd1cmF0aW9uTW9kZXMuQURWQU5DRUQiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9ImFkdmFuY2VkQ29uZmlnIlxuICAgIC8+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJhY3Rpb25zIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAqbmdJZj0iZGlhbG9nUmVmIlxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0iZ2F0ZXdheUNvbmZpZ0dyb3VwLmludmFsaWQgfHwgIWdhdGV3YXlDb25maWdHcm91cC5kaXJ0eSJcbiAgICAgICAgICAgIChjbGljayk9InNhdmVDb25maWcoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5zYXZlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3c6aGlkZGVufTpob3N0IC5wYWdlLWhlYWRlci5tYXQtdG9vbGJhcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMDAwMDBkZSFpbXBvcnRhbnR9Omhvc3QgLmFjdGlvbnN7Z3JpZC1yb3c6MztwYWRkaW5nOjhweCAxNnB4IDhweCA4cHg7ZGlzcGxheTpmbGV4O2dhcDo4cHg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3JpZ2h0OjA7ei1pbmRleDoxO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDoxMDAlfTpob3N0IC5nYXRld2F5LWNvbmZpZy1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59Omhvc3QgLmNvbnRlbnQtd3JhcHBlcntmbGV4OjF9Omhvc3QgLnRvb2xiYXItYWN0aW9uc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5kaWFsb2ctdG9nZ2xlIDo6bmctZGVlcCAubWF0LWJ1dHRvbi10b2dnbGUtYnV0dG9ue2NvbG9yOiNmZmZmZmZiZn1cbiddLGRlcGVuZGVuY2llczpbe2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTpfLk5nSWYsc2VsZWN0b3I6IltuZ0lmXSIsaW5wdXRzOlsibmdJZiIsIm5nSWZUaGVuIiwibmdJZkVsc2UiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpiZS5NYXRCdXR0b24sc2VsZWN0b3I6IiAgICBidXR0b25bbWF0LWJ1dHRvbl0sIGJ1dHRvblttYXQtcmFpc2VkLWJ1dHRvbl0sIGJ1dHRvblttYXQtZmxhdC1idXR0b25dLCAgICBidXR0b25bbWF0LXN0cm9rZWQtYnV0dG9uXSAgIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOmJlLk1hdEljb25CdXR0b24sc2VsZWN0b3I6ImJ1dHRvblttYXQtaWNvbi1idXR0b25dIixleHBvcnRBczpbIm1hdEJ1dHRvbiJdfSx7a2luZDoiY29tcG9uZW50Iix0eXBlOktlLk1hdEljb24sc2VsZWN0b3I6Im1hdC1pY29uIixpbnB1dHM6WyJjb2xvciIsImlubGluZSIsInN2Z0ljb24iLCJmb250U2V0IiwiZm9udEljb24iXSxleHBvcnRBczpbIm1hdEljb24iXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTpydC5NYXRUb29sYmFyLHNlbGVjdG9yOiJtYXQtdG9vbGJhciIsaW5wdXRzOlsiY29sb3IiXSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXMsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdLFtuZ01vZGVsXSxbZm9ybUNvbnRyb2xdIn0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5OZ0NvbnRyb2xTdGF0dXNHcm91cCxzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdLFtmb3JtQXJyYXlOYW1lXSxbbmdNb2RlbEdyb3VwXSxbZm9ybUdyb3VwXSxmb3JtOm5vdChbbmdOb0Zvcm1dKSxbbmdGb3JtXSJ9LHtraW5kOiJkaXJlY3RpdmUiLHR5cGU6bWUuRm9ybUdyb3VwRGlyZWN0aXZlLHNlbGVjdG9yOiJbZm9ybUdyb3VwXSIsaW5wdXRzOlsiZm9ybUdyb3VwIl0sb3V0cHV0czpbIm5nU3VibWl0Il0sZXhwb3J0QXM6WyJuZ0Zvcm0iXX0se2tpbmQ6ImRpcmVjdGl2ZSIsdHlwZTptZS5Gb3JtQ29udHJvbE5hbWUsc2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixpbnB1dHM6WyJmb3JtQ29udHJvbE5hbWUiLCJkaXNhYmxlZCIsIm5nTW9kZWwiXSxvdXRwdXRzOlsibmdNb2RlbENoYW5nZSJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOlkuVHJhbnNsYXRlRGlyZWN0aXZlLHNlbGVjdG9yOiJbdHJhbnNsYXRlXSxbbmd4LXRyYW5zbGF0ZV0iLGlucHV0czpbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZVBhcmFtcyJdfSx7a2luZDoiZGlyZWN0aXZlIix0eXBlOm50LlRvZ2dsZU9wdGlvbixzZWxlY3RvcjoidGItdG9nZ2xlLW9wdGlvbiIsaW5wdXRzOlsidmFsdWUiXX0se2tpbmQ6ImNvbXBvbmVudCIsdHlwZTphdC5Ub2dnbGVTZWxlY3RDb21wb25lbnQsc2VsZWN0b3I6InRiLXRvZ2dsZS1zZWxlY3QiLGlucHV0czpbImRpc2FibGVkIiwic2VsZWN0TWVkaWFCcmVha3BvaW50IiwiYXBwZWFyYW5jZSIsImRpc2FibGVQYWdpbmF0aW9uIiwiZmlsbEhlaWdodCIsImV4dHJhUGFkZGluZyIsInByaW1hcnlCYWNrZ3JvdW5kIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6RG8sc2VsZWN0b3I6InRiLWdhdGV3YXktYmFzaWMtY29uZmlndXJhdGlvbiIsaW5wdXRzOlsiZGV2aWNlIiwiZGlhbG9nTW9kZSJdLG91dHB1dHM6WyJpbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkIl19LHtraW5kOiJjb21wb25lbnQiLHR5cGU6UG8sc2VsZWN0b3I6InRiLWdhdGV3YXktYWR2YW5jZWQtY29uZmlndXJhdGlvbiJ9LHtraW5kOiJwaXBlIix0eXBlOlkuVHJhbnNsYXRlUGlwZSxuYW1lOiJ0cmFuc2xhdGUifV19KX19ZSgiR2F0ZXdheUNvbmZpZ3VyYXRpb25Db21wb25lbnQiLEdvKSx0Lsm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhKHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOkdvLGRlY29yYXRvcnM6W3t0eXBlOm4sYXJnczpbe3NlbGVjdG9yOiJ0Yi1nYXRld2F5LWNvbmZpZ3VyYXRpb24iLHRlbXBsYXRlOidceDNjIS0tXG4gIENvcHlyaWdodCDCqSAyMDE2LTIwMjQgVGhlIFRoaW5nc2JvYXJkIEF1dGhvcnNcblxuICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTtcbiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLFxuICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tXHgzZVxuXG48ZGl2IFtmb3JtR3JvdXBdPSJnYXRld2F5Q29uZmlnR3JvdXAiIGNsYXNzPSJnYXRld2F5LWNvbmZpZy1jb250YWluZXIiPlxuICA8ZGl2IGNsYXNzPSJjb250ZW50LXdyYXBwZXIiPlxuICAgIDxtYXQtdG9vbGJhciBjb2xvcj0icHJpbWFyeSIgW2NsYXNzLnBhZ2UtaGVhZGVyXT0iIWRpYWxvZ1JlZiI+XG4gICAgICA8ZGl2IGNsYXNzPSJ0Yi1mbGV4IHNwYWNlLWJldHdlZW4gYWxpZ24tY2VudGVyIj5cbiAgICAgICAgPGgyIHRyYW5zbGF0ZT5nYXRld2F5LmdhdGV3YXktY29uZmlndXJhdGlvbjwvaDI+XG4gICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItYWN0aW9ucyI+XG4gICAgICAgICAgPHRiLXRvZ2dsZS1zZWxlY3QgW2NsYXNzLmRpYWxvZy10b2dnbGVdPSIhIWRpYWxvZ1JlZiIgZm9ybUNvbnRyb2xOYW1lPSJtb2RlIiBhcHBlYXJhbmNlPSJ7e2RpYWxvZ1JlZiA/IFwnc3Ryb2tlZFwnIDogXCdmaWxsXCd9fSI+XG4gICAgICAgICAgICA8dGItdG9nZ2xlLW9wdGlvbiBbdmFsdWVdPSJDb25maWd1cmF0aW9uTW9kZXMuQkFTSUMiPlxuICAgICAgICAgICAgICB7eyBcJ2dhdGV3YXkuYmFzaWNcJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC90Yi10b2dnbGUtb3B0aW9uPlxuICAgICAgICAgICAgPHRiLXRvZ2dsZS1vcHRpb24gW3ZhbHVlXT0iQ29uZmlndXJhdGlvbk1vZGVzLkFEVkFOQ0VEIj5cbiAgICAgICAgICAgICAge3sgXCdnYXRld2F5LmFkdmFuY2VkXCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvdGItdG9nZ2xlLW9wdGlvbj5cbiAgICAgICAgICA8L3RiLXRvZ2dsZS1zZWxlY3Q+XG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj0iZGlhbG9nUmVmIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0iY2FuY2VsKCkiIHR5cGU9ImJ1dHRvbiI+XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgICA8dGItZ2F0ZXdheS1iYXNpYy1jb25maWd1cmF0aW9uXG4gICAgICAqbmdJZj0iZ2F0ZXdheUNvbmZpZ0dyb3VwLmdldChcJ21vZGVcJykudmFsdWUgPT09IENvbmZpZ3VyYXRpb25Nb2Rlcy5CQVNJQyJcbiAgICAgIGZvcm1Db250cm9sTmFtZT0iYmFzaWNDb25maWciXG4gICAgICBbZGV2aWNlXT0iZGV2aWNlIlxuICAgICAgW2RpYWxvZ01vZGVdPSIhIWRpYWxvZ1JlZiJcbiAgICAgIChpbml0aWFsQ3JlZGVudGlhbHNVcGRhdGVkKT0iaW5pdGlhbENyZWRlbnRpYWxzID0gJGV2ZW50IlxuICAgIC8+XG4gICAgPHRiLWdhdGV3YXktYWR2YW5jZWQtY29uZmlndXJhdGlvblxuICAgICAgKm5nSWY9ImdhdGV3YXlDb25maWdHcm91cC5nZXQoXCdtb2RlXCcpLnZhbHVlID09PSBDb25maWd1cmF0aW9uTW9kZXMuQURWQU5DRUQiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9ImFkdmFuY2VkQ29uZmlnIlxuICAgIC8+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJhY3Rpb25zIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9InByaW1hcnkiXG4gICAgICAgICAgICB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAqbmdJZj0iZGlhbG9nUmVmIlxuICAgICAgICAgICAgKGNsaWNrKT0iY2FuY2VsKCkiPlxuICAgICAge3sgXCdhY3Rpb24uY2FuY2VsXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPSJwcmltYXJ5IlxuICAgICAgICAgICAgdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT0iZ2F0ZXdheUNvbmZpZ0dyb3VwLmludmFsaWQgfHwgIWdhdGV3YXlDb25maWdHcm91cC5kaXJ0eSJcbiAgICAgICAgICAgIChjbGljayk9InNhdmVDb25maWcoKSI+XG4gICAgICB7eyBcJ2FjdGlvbi5zYXZlXCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsc3R5bGVzOlsnQGNoYXJzZXQgIlVURi04Ijs6aG9zdHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3c6aGlkZGVufTpob3N0IC5wYWdlLWhlYWRlci5tYXQtdG9vbGJhcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMDAwMDBkZSFpbXBvcnRhbnR9Omhvc3QgLmFjdGlvbnN7Z3JpZC1yb3c6MztwYWRkaW5nOjhweCAxNnB4IDhweCA4cHg7ZGlzcGxheTpmbGV4O2dhcDo4cHg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3JpZ2h0OjA7ei1pbmRleDoxO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDoxMDAlfTpob3N0IC5nYXRld2F5LWNvbmZpZy1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59Omhvc3QgLmNvbnRlbnQtd3JhcHBlcntmbGV4OjF9Omhvc3QgLnRvb2xiYXItYWN0aW9uc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5kaWFsb2ctdG9nZ2xlIDo6bmctZGVlcCAubWF0LWJ1dHRvbi10b2dnbGUtYnV0dG9ue2NvbG9yOiNmZmZmZmZiZn1cbiddfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOm1lLkZvcm1CdWlsZGVyfSx7dHlwZTpYLkF0dHJpYnV0ZVNlcnZpY2V9LHt0eXBlOlguRGV2aWNlU2VydmljZX0se3R5cGU6dC5DaGFuZ2VEZXRlY3RvclJlZn1dLHByb3BEZWNvcmF0b3JzOntkZXZpY2U6W3t0eXBlOmF9XSxkaWFsb2dSZWY6W3t0eXBlOmF9XX19KTt2YXIgT289e2dhdGV3YXk6e2FkZHJlc3M6IkFkZHJlc3MiLCJhZGRyZXNzLXJlcXVpcmVkIjoiQWRkcmVzcyByZXF1aXJlZCIsImFkZC1lbnRyeSI6IkFkZCBjb25maWd1cmF0aW9uIiwiYWRkLWF0dHJpYnV0ZSI6IkFkZCBhdHRyaWJ1dGUiLCJhZGQtYXR0cmlidXRlLXVwZGF0ZSI6IkFkZCBhdHRyaWJ1dGUgdXBkYXRlIiwiYWRkLWtleSI6IkFkZCBrZXkiLCJhZGQtdGltZXNlcmllcyI6IkFkZCB0aW1lIHNlcmllcyIsImFkZC1tYXBwaW5nIjoiQWRkIG1hcHBpbmciLCJhZGQtc2xhdmUiOiJBZGQgU2xhdmUiLGFyZ3VtZW50czoiQXJndW1lbnRzIiwiYWRkLXJwYy1tZXRob2QiOiJBZGQgbWV0aG9kIiwiYWRkLXJwYy1yZXF1ZXN0IjoiQWRkIHJlcXVlc3QiLCJhZGQtdmFsdWUiOiJBZGQgYXJndW1lbnQiLGJhdWRyYXRlOiJCYXVkcmF0ZSIsYnl0ZXNpemU6IkJ5dGVzaXplIiwiZGVsZXRlLXZhbHVlIjoiRGVsZXRlIHZhbHVlIiwiZGVsZXRlLXJwYy1tZXRob2QiOiJEZWxldGUgbWV0aG9kIiwiZGVsZXRlLXJwYy1yZXF1ZXN0IjoiRGVsZXRlIHJlcXVlc3QiLCJkZWxldGUtYXR0cmlidXRlLXVwZGF0ZSI6IkRlbGV0ZSBhdHRyaWJ1dGUgdXBkYXRlIixhZHZhbmNlZDoiQWR2YW5jZWQiLCJhZHZhbmNlZC1jb25uZWN0aW9uLXNldHRpbmdzIjoiQWR2YW5jZWQgY29ubmVjdGlvbiBzZXR0aW5ncyIsYXR0cmlidXRlczoiQXR0cmlidXRlcyIsImF0dHJpYnV0ZS11cGRhdGVzIjoiQXR0cmlidXRlIHVwZGF0ZXMiLCJhdHRyaWJ1dGUtZmlsdGVyIjoiQXR0cmlidXRlIGZpbHRlciIsImF0dHJpYnV0ZS1maWx0ZXItaGludCI6IkZpbHRlciBmb3IgaW5jb21pbmcgYXR0cmlidXRlIG5hbWUgZnJvbSBwbGF0Zm9ybSwgc3VwcG9ydHMgcmVndWxhciBleHByZXNzaW9uLiIsImF0dHJpYnV0ZS1maWx0ZXItcmVxdWlyZWQiOiJBdHRyaWJ1dGUgZmlsdGVyIHJlcXVpcmVkLiIsImF0dHJpYnV0ZS1uYW1lLWV4cHJlc3Npb24iOiJBdHRyaWJ1dGUgbmFtZSBleHByZXNzaW9uIiwiYXR0cmlidXRlLW5hbWUtZXhwcmVzc2lvbi1yZXF1aXJlZCI6IkF0dHJpYnV0ZSBuYW1lIGV4cHJlc3Npb24gcmVxdWlyZWQuIiwiYXR0cmlidXRlLW5hbWUtZXhwcmVzc2lvbi1oaW50IjoiSGludCBmb3IgQXR0cmlidXRlIG5hbWUgZXhwcmVzc2lvbiIsYmFzaWM6IkJhc2ljIiwiYnl0ZS1vcmRlciI6IkJ5dGUgb3JkZXIiLCJ3b3JkLW9yZGVyIjoiV29yZCBvcmRlciIsYnJva2VyOntjb25uZWN0aW9uOiJDb25uZWN0aW9uIHRvIGJyb2tlciIsbmFtZToiQnJva2VyIG5hbWUiLCJuYW1lLXJlcXVpcmVkIjoiQnJva2VyIG5hbWUgcmVxdWlyZWQuIiwic2VjdXJpdHktdHlwZXMiOnthbm9ueW1vdXM6IkFub255bW91cyIsYmFzaWM6IkJhc2ljIixjZXJ0aWZpY2F0ZXM6IkNlcnRpZmljYXRlcyJ9fSwiQ0EtY2VydGlmaWNhdGUtcGF0aCI6IlBhdGggdG8gQ0EgY2VydGlmaWNhdGUgZmlsZSIsInBhdGgtdG8tQ0EtY2VydC1yZXF1aXJlZCI6IlBhdGggdG8gQ0EgY2VydGlmaWNhdGUgZmlsZSBpcyByZXF1aXJlZC4iLCJjaGFuZ2UtY29ubmVjdG9yLXRpdGxlIjoiQ29uZmlybSBjb25uZWN0b3IgY2hhbmdlIiwiY2hhbmdlLWNvbm5lY3Rvci10ZXh0IjoiU3dpdGNoaW5nIGNvbm5lY3RvcnMgd2lsbCBkaXNjYXJkIGFueSB1bnNhdmVkIGNoYW5nZXMuIENvbnRpbnVlPyIsImNoZWNraW5nLWRldmljZS1hY3Rpdml0eSI6IkNoZWNraW5nIGRldmljZSBhY3Rpdml0eSIsY29tbWFuZDoiRG9ja2VyIGNvbW1hbmRzIiwiY29tbWFuZC1jb3BpZWQtbWVzc2FnZSI6IkRvY2tlciBjb21tYW5kIGhhcyBiZWVuIGNvcGllZCB0byBjbGlwYm9hcmQiLGNvbmZpZ3VyYXRpb246IkNvbmZpZ3VyYXRpb24iLCJhZGQtY29ubmVjdG9yIjoiQWRkIGNvbm5lY3RvciIsImNvbm5lY3Rvci1hZGQiOiJBZGQgbmV3IGNvbm5lY3RvciIsImNvbm5lY3Rvci1lbmFibGVkIjoiRW5hYmxlIGNvbm5lY3RvciIsImNvbm5lY3Rvci1uYW1lIjoiQ29ubmVjdG9yIG5hbWUiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6IkNvbm5lY3RvciBuYW1lIGlzIHJlcXVpcmVkLiIsImNvbm5lY3Rvci10eXBlIjoiQ29ubmVjdG9yIHR5cGUiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IkNvbm5lY3RvciB0eXBlIGlzIHJlcXVpcmVkLiIsY29ubmVjdG9yczoiQ29ubmVjdG9ycyIsImNvbm5lY3RvcnMtY29uZmlnIjoiQ29ubmVjdG9ycyBjb25maWd1cmF0aW9uIiwiY29ubmVjdG9ycy10YWJsZS1lbmFibGVkIjoiRW5hYmxlZCIsImNvbm5lY3RvcnMtdGFibGUtbmFtZSI6Ik5hbWUiLCJjb25uZWN0b3JzLXRhYmxlLXR5cGUiOiJUeXBlIiwiY29ubmVjdG9ycy10YWJsZS1zdGF0dXMiOiJTdGF0dXMiLCJjb25uZWN0b3JzLXRhYmxlLWFjdGlvbnMiOiJBY3Rpb25zIiwiY29ubmVjdG9ycy10YWJsZS1rZXkiOiJLZXkiLCJjb25uZWN0b3JzLXRhYmxlLWNsYXNzIjoiQ2xhc3MiLCJjb25uZWN0aW9uLXRpbWVvdXQiOiJDb25uZWN0aW9uIHRpbWVvdXQgKHMpIiwiY29ubmVjdC1hdHRlbXB0LXRpbWUiOiJDb25uZWN0IGF0dGVtcHQgdGltZSAobXMpIiwiY29ubmVjdC1hdHRlbXB0LWNvdW50IjoiQ29ubmVjdCBhdHRlbXB0IGNvdW50IiwiY29weS11c2VybmFtZSI6IkNvcHkgdXNlcm5hbWUiLCJjb3B5LXBhc3N3b3JkIjoiQ29weSBwYXNzd29yZCIsImNvcHktY2xpZW50LWlkIjoiQ29weSBjbGllbnQgSUQiLCJjb25uZWN0b3ItY3JlYXRlZCI6IkNvbm5lY3RvciBjcmVhdGVkIiwiY29ubmVjdG9yLXVwZGF0ZWQiOiJDb25uZWN0b3IgdXBkYXRlZCIsInJwYy1jb21tYW5kLXNhdmUtdGVtcGxhdGUiOiJTYXZlIFRlbXBsYXRlIiwicnBjLWNvbW1hbmQtc2VuZCI6IlNlbmQiLCJycGMtY29tbWFuZC1yZXN1bHQiOiJSZXNwb25zZSIsInJwYy1jb21tYW5kLWVkaXQtcGFyYW1zIjoiRWRpdCBwYXJhbWV0ZXJzIiwiZ2F0ZXdheS1jb25maWd1cmF0aW9uIjoiR2VuZXJhbCBDb25maWd1cmF0aW9uIiwiZG9ja2VyLWxhYmVsIjoiVXNlIHRoZSBmb2xsb3dpbmcgaW5zdHJ1Y3Rpb24gdG8gcnVuIElvVCBHYXRld2F5IGluIERvY2tlciBjb21wb3NlIHdpdGggY3JlZGVudGlhbHMgZm9yIHNlbGVjdGVkIGRldmljZSIsImluc3RhbGwtZG9ja2VyLWNvbXBvc2UiOiJVc2UgdGhlIGluc3RydWN0aW9ucyB0byBkb3dubG9hZCwgaW5zdGFsbCBhbmQgc2V0dXAgZG9ja2VyIGNvbXBvc2UiLCJkZXZpY2UtaW5mby1zZXR0aW5ncyI6IkRldmljZSBpbmZvIHNldHRpbmdzIiwiZGV2aWNlLWluZm8iOnsiZW50aXR5LWZpZWxkIjoiRW50aXR5IGZpZWxkIixzb3VyY2U6IlNvdXJjZSIsZXhwcmVzc2lvbjoiVmFsdWUgLyBFeHByZXNzaW9uIiwiZXhwcmVzc2lvbi1oaW50IjoiU2hvdyBoZWxwIixuYW1lOiJOYW1lIiwicHJvZmlsZS1uYW1lIjoiUHJvZmlsZSBuYW1lIiwiZGV2aWNlLW5hbWUtZXhwcmVzc2lvbiI6IkRldmljZSBuYW1lIGV4cHJlc3Npb24iLCJkZXZpY2UtbmFtZS1leHByZXNzaW9uLXJlcXVpcmVkIjoiRGV2aWNlIG5hbWUgZXhwcmVzc2lvbiBpcyByZXF1aXJlZC4iLCJkZXZpY2UtcHJvZmlsZS1leHByZXNzaW9uLXJlcXVpcmVkIjoiRGV2aWNlIHByb2ZpbGUgZXhwcmVzc2lvbiBpcyByZXF1aXJlZC4ifSwiZGV2aWNlLW5hbWUtZmlsdGVyIjoiRGV2aWNlIG5hbWUgZmlsdGVyIiwiZGV2aWNlLW5hbWUtZmlsdGVyLWhpbnQiOiJUaGlzIGZpZWxkIHN1cHBvcnRzIFJlZ3VsYXIgZXhwcmVzc2lvbnMgdG8gZmlsdGVyIGluY29taW5nIGRhdGEgYnkgZGV2aWNlIG5hbWUuIiwiZGV2aWNlLW5hbWUtZmlsdGVyLXJlcXVpcmVkIjoiRGV2aWNlIG5hbWUgZmlsdGVyIGlzIHJlcXVpcmVkLiIsZGV0YWlsczoiRGV0YWlscyIsImRlbGV0ZS1tYXBwaW5nLXRpdGxlIjoiRGVsZXRlIG1hcHBpbmc/IiwiZGVsZXRlLXNsYXZlLXRpdGxlIjoiRGVsZXRlIHNsYXZlPyIsZGl2aWRlcjoiRGl2aWRlciIsImRvd25sb2FkLWNvbmZpZ3VyYXRpb24tZmlsZSI6IkRvd25sb2FkIGNvbmZpZ3VyYXRpb24gZmlsZSIsImRvd25sb2FkLWRvY2tlci1jb21wb3NlIjoiRG93bmxvYWQgZG9ja2VyLWNvbXBvc2UueW1sIGZvciB5b3VyIGdhdGV3YXkiLCJlbmFibGUtcmVtb3RlLWxvZ2dpbmciOiJFbmFibGUgcmVtb3RlIGxvZ2dpbmciLCJlbGxpcHNpcy1jaGlwcy10ZXh0IjoiKyB7e2NvdW50fX0gbW9yZSIsImxhdW5jaC1nYXRld2F5IjoiTGF1bmNoIGdhdGV3YXkiLCJsYXVuY2gtY29tbWFuZCI6IkxhdW5jaCBjb21tYW5kIiwibGF1bmNoLWRvY2tlci1jb21wb3NlIjoiU3RhcnQgdGhlIGdhdGV3YXkgdXNpbmcgdGhlIGZvbGxvd2luZyBjb21tYW5kIGluIHRoZSB0ZXJtaW5hbCBmcm9tIGZvbGRlciB3aXRoIGRvY2tlci1jb21wb3NlLnltbCBmaWxlIiwibG9ncy1jb25maWd1cmF0aW9uIjoiTG9ncyBjb25maWd1cmF0aW9uIiwiY3JlYXRlLW5ldy1nYXRld2F5IjoiQ3JlYXRlIGEgbmV3IGdhdGV3YXkiLCJjcmVhdGUtbmV3LWdhdGV3YXktdGV4dCI6IkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCBjcmVhdGUgYSBuZXcgZ2F0ZXdheSB3aXRoIG5hbWU6ICd7e2dhdGV3YXlOYW1lfX0nPyIsImNyZWF0ZWQtdGltZSI6IkNyZWF0ZWQgdGltZSIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1oZWFkZXIiOiJDb25maWd1cmF0aW9ucyB3aWxsIGJlIGRlbGV0ZWQiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctYm9keSI6IlR1cm5pbmcgb2ZmIFJlbW90ZSBDb25maWd1cmF0aW9uIGlzIHBvc3NpYmxlIG9ubHkgaWYgdGhlcmUgaXMgcGh5c2ljYWwgYWNjZXNzIHRvIHRoZSBHYXRld2F5LiBBbGwgcHJldmlvdXMgY29uZmlndXJhdGlvbnMgd2lsbCBiZSBkZWxldGVkLjxicj48YnI+IFxuVG8gdHVybiBvZmYgY29uZmlndXJhdGlvbiwgZW50ZXIgZ2F0ZXdheSBuYW1lIGJlbG93IiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0IjoiR2F0ZXdheSBuYW1lIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0LXJlcXVpcmVkIjoiR2F0ZXdheSBuYW1lIGlzIG1hbmRhdG9yeSIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1jb25maXJtIjoiVHVybiBPZmYiLCJjb25uZWN0b3ItZHVwbGljYXRlLW5hbWUiOiJDb25uZWN0b3Igd2l0aCBzdWNoIG5hbWUgYWxyZWFkeSBleGlzdHMuIiwiY29ubmVjdG9yLXNpZGUiOiJDb25uZWN0b3Igc2lkZSIsInBheWxvYWQtdHlwZSI6IlBheWxvYWQgdHlwZSIsInBsYXRmb3JtLXNpZGUiOiJQbGF0Zm9ybSBzaWRlIixKU09OOiJKU09OIiwiSlNPTi1oaW50IjoiQ29udmVydGVyIGZvciB0aGlzIHBheWxvYWQgdHlwZSBwcm9jZXNzZXMgTVFUVCBtZXNzYWdlcyBpbiBKU09OIGZvcm1hdC4gSXQgdXNlcyBKU09OIFBhdGggZXhwcmVzc2lvbnMgdG8gZXh0cmFjdCB2aXRhbCBkZXRhaWxzIHN1Y2ggYXMgZGV2aWNlIG5hbWVzLCBkZXZpY2UgcHJvZmlsZSBuYW1lcywgYXR0cmlidXRlcywgYW5kIHRpbWUgc2VyaWVzIGZyb20gdGhlIG1lc3NhZ2UuIEFuZCByZWd1bGFyIGV4cHJlc3Npb25zIHRvIGdldCBkZXZpY2UgZGV0YWlscyBmcm9tIHRvcGljcy4iLGJ5dGVzOiJCeXRlcyIsImJ5dGVzLWhpbnQiOiJDb252ZXJ0ZXIgZm9yIHRoaXMgcGF5bG9hZCB0eXBlIGRlc2lnbmVkIGZvciBiaW5hcnkgTVFUVCBwYXlsb2FkcywgdGhpcyBjb252ZXJ0ZXIgZGlyZWN0bHkgaW50ZXJwcmV0cyBiaW5hcnkgZGF0YSB0byByZXRyaWV2ZSBkZXZpY2UgbmFtZXMgYW5kIGRldmljZSBwcm9maWxlIG5hbWVzLCBhbG9uZyB3aXRoIGF0dHJpYnV0ZXMgYW5kIHRpbWUgc2VyaWVzLCB1c2luZyBzcGVjaWZpYyBieXRlIHBvc2l0aW9ucyBmb3IgZGF0YSBleHRyYWN0aW9uLiIsY3VzdG9tOiJDdXN0b20iLCJjdXN0b20taGludCI6IlRoaXMgb3B0aW9uIGFsbG93cyB5b3UgdG8gdXNlIGEgY3VzdG9tIGNvbnZlcnRlciBmb3Igc3BlY2lmaWMgZGF0YSB0YXNrcy4gWW91IG5lZWQgdG8gYWRkIHlvdXIgY3VzdG9tIGNvbnZlcnRlciB0byB0aGUgZXh0ZW5zaW9uIGZvbGRlciBhbmQgZW50ZXIgaXRzIGNsYXNzIG5hbWUgaW4gdGhlIFVJIHNldHRpbmdzLiBBbnkga2V5cyB5b3UgcHJvdmlkZSB3aWxsIGJlIHNlbnQgYXMgY29uZmlndXJhdGlvbiB0byB5b3VyIGN1c3RvbSBjb252ZXJ0ZXIuIiwiY2xpZW50LWNlcnQtcGF0aCI6IlBhdGggdG8gY2xpZW50IGNlcnRpZmljYXRlIGZpbGUiLCJwYXRoLXRvLWNsaWVudC1jZXJ0LXJlcXVpcmVkIjoiUGF0aCB0byBjbGllbnQgY2VydGlmaWNhdGUgZmlsZSBpcyByZXF1aXJlZC4iLCJjbGllbnQtaWQiOiJDbGllbnQgSUQiLCJkYXRhLWNvbnZlcnNpb24iOiJEYXRhIGNvbnZlcnNpb24iLCJkYXRhLW1hcHBpbmciOiJEYXRhIG1hcHBpbmciLCJkYXRhLW1hcHBpbmctaGludCI6IkRhdGEgbWFwcGluZyBwcm92aWRlcyB0aGUgY2FwYWJpbGl0eSB0byBwYXJzZSBhbmQgY29udmVydCB0aGUgZGF0YSByZWNlaXZlZCBmcm9tIGEgTVFUVCBjbGllbnQgaW4gaW5jb21pbmcgbWVzc2FnZXMgaW50byBzcGVjaWZpYyBhdHRyaWJ1dGVzIGFuZCB0aW1lIHNlcmllcyBkYXRhIGtleXMuIiwib3BjdWEtZGF0YS1tYXBwaW5nLWhpbnQiOiJEYXRhIG1hcHBpbmcgcHJvdmlkZXMgdGhlIGNhcGFiaWxpdHkgdG8gcGFyc2UgYW5kIGNvbnZlcnQgdGhlIGRhdGEgcmVjZWl2ZWQgZnJvbSBhIE9QQ1VBIHNlcnZlciBpbnRvIHNwZWNpZmljIGRhdGEga2V5cy4iLGRlbGV0ZToiRGVsZXRlIGNvbmZpZ3VyYXRpb24iLCJkZWxldGUtYXR0cmlidXRlIjoiRGVsZXRlIGF0dHJpYnV0ZSIsImRlbGV0ZS1rZXkiOiJEZWxldGUga2V5IiwiZGVsZXRlLXRpbWVzZXJpZXMiOiJEZWxldGUgdGltZSBzZXJpZXMiLGRlZmF1bHQ6IkRlZmF1bHQiLCJkZXZpY2Utbm9kZSI6IkRldmljZSBub2RlIiwiZGV2aWNlLW5vZGUtcmVxdWlyZWQiOiJEZXZpY2Ugbm9kZSByZXF1aXJlZC4iLCJkZXZpY2Utbm9kZS1oaW50IjoiUGF0aCBvciBpZGVudGlmaWVyIGZvciBkZXZpY2Ugbm9kZSBvbiBPUEMgVUEgc2VydmVyLiBSZWxhdGl2ZSBwYXRocyBmcm9tIGl0IGZvciBhdHRyaWJ1dGVzIGFuZCB0aW1lIHNlcmllcyBjYW4gYmUgdXNlZC4iLCJkZXZpY2UtbmFtZSI6IkRldmljZSBuYW1lIiwiZGV2aWNlLXByb2ZpbGUtbGFiZWwiOiJEZXZpY2UgcHJvZmlsZSIsImRldmljZS1uYW1lLXJlcXVpcmVkIjoiRGV2aWNlIG5hbWUgcmVxdWlyZWQiLCJkZXZpY2UtcHJvZmlsZS1yZXF1aXJlZCI6IkRldmljZSBwcm9maWxlIHJlcXVpcmVkIiwiZG93bmxvYWQtdGlwIjoiRG93bmxvYWQgY29uZmlndXJhdGlvbiBmaWxlIiwiZHJvcC1maWxlIjoiRHJvcCBmaWxlIGhlcmUgb3IiLGVuYWJsZToiRW5hYmxlIiwiZW5hYmxlLXN1YnNjcmlwdGlvbiI6IkVuYWJsZSBzdWJzY3JpcHRpb24iLGV4dGVuc2lvbjoiRXh0ZW5zaW9uIiwiZXh0ZW5zaW9uLWhpbnQiOiJQdXQgeW91ciBjb252ZXJ0ZXIgY2xhc3NuYW1lIGluIHRoZSBmaWVsZC4gQ3VzdG9tIGNvbnZlcnRlciB3aXRoIHN1Y2ggY2xhc3Mgc2hvdWxkIGJlIGluIGV4dGVuc2lvbi9tcXR0IGZvbGRlci4iLCJleHRlbnNpb24tcmVxdWlyZWQiOiJFeHRlbnNpb24gaXMgcmVxdWlyZWQuIiwiZXh0ZW5zaW9uLWNvbmZpZ3VyYXRpb24iOiJFeHRlbnNpb24gY29uZmlndXJhdGlvbiIsImV4dGVuc2lvbi1jb25maWd1cmF0aW9uLWhpbnQiOiJDb25maWd1cmF0aW9uIGZvciBjb252ZXJ0b3IiLCJmaWxsLWNvbm5lY3Rvci1kZWZhdWx0cyI6IkZpbGwgY29uZmlndXJhdGlvbiB3aXRoIGRlZmF1bHQgdmFsdWVzIiwiZmlsbC1jb25uZWN0b3ItZGVmYXVsdHMtaGludCI6IlRoaXMgcHJvcGVydHkgYWxsb3dzIHRvIGZpbGwgY29ubmVjdG9yIGNvbmZpZ3VyYXRpb24gd2l0aCBkZWZhdWx0IHZhbHVlcyBvbiBpdCdzIGNyZWF0aW9uLiIsImZyb20tZGV2aWNlLXJlcXVlc3Qtc2V0dGluZ3MiOiJJbnB1dCByZXF1ZXN0IHBhcnNpbmciLCJmcm9tLWRldmljZS1yZXF1ZXN0LXNldHRpbmdzLWhpbnQiOiJUaGVzZSBmaWVsZHMgc3VwcG9ydCBKU09OUGF0aCBleHByZXNzaW9ucyB0byBleHRyYWN0IGEgbmFtZSBmcm9tIGluY29taW5nIG1lc3NhZ2UuIiwiZnVuY3Rpb24tY29kZSI6IkZ1bmN0aW9uIGNvZGUiLCJmdW5jdGlvbi1jb2RlcyI6eyJyZWFkLWNvaWxzIjoiMDEgLSBSZWFkIENvaWxzIiwicmVhZC1kaXNjcmV0ZS1pbnB1dHMiOiIwMiAtIFJlYWQgRGlzY3JldGUgSW5wdXRzIiwicmVhZC1tdWx0aXBsZS1ob2xkaW5nLXJlZ2lzdGVycyI6IjAzIC0gUmVhZCBNdWx0aXBsZSBIb2xkaW5nIFJlZ2lzdGVycyIsInJlYWQtaW5wdXQtcmVnaXN0ZXJzIjoiMDQgLSBSZWFkIElucHV0IFJlZ2lzdGVycyIsIndyaXRlLXNpbmdsZS1jb2lsIjoiMDUgLSBXcml0ZSBTaW5nbGUgQ29pbCIsIndyaXRlLXNpbmdsZS1ob2xkaW5nLXJlZ2lzdGVyIjoiMDYgLSBXcml0ZSBTaW5nbGUgSG9sZGluZyBSZWdpc3RlciIsIndyaXRlLW11bHRpcGxlLWNvaWxzIjoiMTUgLSBXcml0ZSBNdWx0aXBsZSBDb2lscyIsIndyaXRlLW11bHRpcGxlLWhvbGRpbmctcmVnaXN0ZXJzIjoiMTYgLSBXcml0ZSBNdWx0aXBsZSBIb2xkaW5nIFJlZ2lzdGVycyJ9LCJ0by1kZXZpY2UtcmVzcG9uc2Utc2V0dGluZ3MiOiJPdXRwdXQgcmVxdWVzdCBwcm9jZXNzaW5nIiwidG8tZGV2aWNlLXJlc3BvbnNlLXNldHRpbmdzLWhpbnQiOiJGb3IgdGhlc2UgZmllbGRzIHlvdSBjYW4gdXNlIHRoZSBmb2xsb3dpbmcgdmFyaWFibGVzIGFuZCB0aGV5IHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhY3R1YWwgdmFsdWVzOiAke2RldmljZU5hbWV9LCAke2F0dHJpYnV0ZUtleX0sICR7YXR0cmlidXRlVmFsdWV9IixnYXRld2F5OiJHYXRld2F5IiwiZ2F0ZXdheS1leGlzdHMiOiJEZXZpY2Ugd2l0aCBzYW1lIG5hbWUgaXMgYWxyZWFkeSBleGlzdHMuIiwiZ2F0ZXdheS1uYW1lIjoiR2F0ZXdheSBuYW1lIiwiZ2F0ZXdheS1uYW1lLXJlcXVpcmVkIjoiR2F0ZXdheSBuYW1lIGlzIHJlcXVpcmVkLiIsImdhdGV3YXktc2F2ZWQiOiJHYXRld2F5IGNvbmZpZ3VyYXRpb24gc3VjY2Vzc2Z1bGx5IHNhdmVkLiIsImdlbmVyYXRlLWNsaWVudC1pZCI6IkdlbmVyYXRlIENsaWVudCBJRCIsZ3JwYzoiR1JQQyIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0IjoiS2VlcCBhbGl2ZSB0aW1lb3V0IChpbiBtcykiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dC1yZXF1aXJlZCI6IktlZXAgYWxpdmUgdGltZW91dCBpcyByZXF1aXJlZCIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LW1pbiI6IktlZXAgYWxpdmUgdGltZW91dCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcGF0dGVybiI6IktlZXAgYWxpdmUgdGltZW91dCBpcyBub3QgdmFsaWQiLCJncnBjLWtlZXAtYWxpdmUiOiJLZWVwIGFsaXZlIChpbiBtcykiLCJncnBjLWtlZXAtYWxpdmUtcmVxdWlyZWQiOiJLZWVwIGFsaXZlIGlzIHJlcXVpcmVkIiwiZ3JwYy1rZWVwLWFsaXZlLW1pbiI6IktlZXAgYWxpdmUgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMta2VlcC1hbGl2ZS1wYXR0ZXJuIjoiS2VlcCBhbGl2ZSBpcyBub3QgdmFsaWQiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MiOiJNaW4gdGltZSBiZXR3ZWVuIHBpbmdzIChpbiBtcykiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcmVxdWlyZWQiOiJNaW4gdGltZSBiZXR3ZWVuIHBpbmdzIGlzIHJlcXVpcmVkIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLW1pbiI6Ik1pbiB0aW1lIGJldHdlZW4gcGluZ3MgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1wYXR0ZXJuIjoiTWluIHRpbWUgYmV0d2VlbiBwaW5ncyBpcyBub3QgdmFsaWQiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YSI6Ik1pbiBwaW5nIGludGVydmFsIHdpdGhvdXQgZGF0YSAoaW4gbXMpIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcmVxdWlyZWQiOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgaXMgcmVxdWlyZWQiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1taW4iOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgaXMgbm90IHZhbGlkIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoiTWF4IHBpbmdzIHdpdGhvdXQgZGF0YSIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6Ik1heCBwaW5ncyB3aXRob3V0IGRhdGEgaXMgcmVxdWlyZWQiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtbWluIjoiTWF4IHBpbmdzIHdpdGhvdXQgZGF0YSBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiJNYXggcGluZ3Mgd2l0aG91dCBkYXRhIGlzIG5vdCB2YWxpZCIsaW5mbzoiSW5mbyIsaWRlbnRpdHk6IklkZW50aXR5IiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcyI6IkluYWN0aXZpdHkgY2hlY2sgcGVyaW9kIChpbiBzZWMpIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1yZXF1aXJlZCI6IkluYWN0aXZpdHkgY2hlY2sgcGVyaW9kIGlzIHJlcXVpcmVkIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1taW4iOiJJbmFjdGl2aXR5IGNoZWNrIHBlcmlvZCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1wYXR0ZXJuIjoiSW5hY3Rpdml0eSBjaGVjayBwZXJpb2QgaXMgbm90IHZhbGlkIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMiOiJJbmFjdGl2aXR5IHRpbWVvdXQgKGluIHNlYykiLCJpbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1yZXF1aXJlZCI6IkluYWN0aXZpdHkgdGltZW91dCBpcyByZXF1aXJlZCIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLW1pbiI6IkluYWN0aXZpdHkgdGltZW91dCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcGF0dGVybiI6IkluYWN0aXZpdHkgdGltZW91dCBpcyBub3QgdmFsaWQiLCJ1bml0LWlkIjoiVW5pdCBJRCIsaG9zdDoiSG9zdCIsImhvc3QtcmVxdWlyZWQiOiJIb3N0IGlzIHJlcXVpcmVkLiIsaG9sZGluZ19yZWdpc3RlcnM6IkhvbGRpbmcgcmVnaXN0ZXJzIixjb2lsc19pbml0aWFsaXplcjoiQ29pbHMgaW5pdGlhbGl6ZXIiLGlucHV0X3JlZ2lzdGVyczoiSW5wdXQgcmVnaXN0ZXJzIixkaXNjcmV0ZV9pbnB1dHM6IkRpc2NyZXRlIGlucHV0cyIsImpzb24tcGFyc2UiOiJOb3QgdmFsaWQgSlNPTi4iLCJqc29uLXJlcXVpcmVkIjoiRmllbGQgY2Fubm90IGJlIGVtcHR5LiIsIkpTT05QYXRoLWhpbnQiOiJUaGlzIGZpZWxkIHN1cHBvcnRzIGNvbnN0YW50cyBhbmQgSlNPTlBhdGggZXhwcmVzc2lvbnMuIixsb2dzOntsb2dzOiJMb2dzIixkYXlzOiJkYXlzIixob3VyczoiaG91cnMiLG1pbnV0ZXM6Im1pbnV0ZXMiLHNlY29uZHM6InNlY29uZHMiLCJkYXRlLWZvcm1hdCI6IkRhdGUgZm9ybWF0IiwiZGF0ZS1mb3JtYXQtcmVxdWlyZWQiOiJEYXRlIGZvcm1hdCByZXF1aXJlZCIsImxvZy1mb3JtYXQiOiJMb2cgZm9ybWF0IiwibG9nLXR5cGUiOiJMb2cgdHlwZSIsImxvZy1mb3JtYXQtcmVxdWlyZWQiOiJMb2cgZm9ybWF0IHJlcXVpcmVkIixyZW1vdGU6IlJlbW90ZSBsb2dnaW5nIiwicmVtb3RlLWxvZ3MiOiJSZW1vdGUgbG9ncyIsbG9jYWw6IkxvY2FsIGxvZ2dpbmciLGxldmVsOiJMb2cgbGV2ZWwiLCJmaWxlLXBhdGgiOiJGaWxlIHBhdGgiLCJmaWxlLXBhdGgtcmVxdWlyZWQiOiJGaWxlIHBhdGggcmVxdWlyZWQiLCJzYXZpbmctcGVyaW9kIjoiTG9nIHNhdmluZyBwZXJpb2QiLCJzYXZpbmctcGVyaW9kLW1pbiI6IkxvZyBzYXZpbmcgcGVyaW9kIGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJzYXZpbmctcGVyaW9kLXJlcXVpcmVkIjoiTG9nIHNhdmluZyBwZXJpb2QgcmVxdWlyZWQiLCJiYWNrdXAtY291bnQiOiJCYWNrdXAgY291bnQiLCJiYWNrdXAtY291bnQtbWluIjoiQmFja3VwIGNvdW50IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJiYWNrdXAtY291bnQtcmVxdWlyZWQiOiJCYWNrdXAgY291bnQgcmVxdWlyZWQifSwibWF4LW51bWJlci1vZi13b3JrZXJzIjoiTWF4IG51bWJlciBvZiB3b3JrZXJzIiwibWF4LW51bWJlci1vZi13b3JrZXJzLWhpbnQiOiJNYXhpbWFsIG51bWJlciBvZiB3b3JrZXJzIHRocmVhZHMgZm9yIGNvbnZlcnRlcnMgXG4oVGhlIGFtb3VudCBvZiB3b3JrZXJzIGNoYW5nZXMgZHluYW1pY2FsbHksIGRlcGVuZGluZyBvbiBsb2FkKSBcblJlY29tbWVuZGVkIGFtb3VudCA1MC0xNTAuIiwibWF4LW51bWJlci1vZi13b3JrZXJzLXJlcXVpcmVkIjoiTWF4IG51bWJlciBvZiB3b3JrZXJzIGlzIHJlcXVpcmVkLiIsIm1heC1tZXNzYWdlcy1xdWV1ZS1mb3Itd29ya2VyIjoiTWF4IG1lc3NhZ2VzIHF1ZXVlIHBlciB3b3JrZXIiLCJtYXgtbWVzc2FnZXMtcXVldWUtZm9yLXdvcmtlci1oaW50IjoiTWF4aW1hbCBtZXNzYWdlcyBjb3VudCB0aGF0IHdpbGwgYmUgaW4gdGhlIHF1ZXVlIFxuZm9yIGVhY2ggY29udmVydGVyIHdvcmtlci4iLCJtYXgtbWVzc2FnZXMtcXVldWUtZm9yLXdvcmtlci1yZXF1aXJlZCI6Ik1heCBtZXNzYWdlcyBxdWV1ZSBwZXIgd29ya2VyIGlzIHJlcXVpcmVkLiIsbWV0aG9kOiJNZXRob2QiLCJtZXRob2QtbmFtZSI6Ik1ldGhvZCBuYW1lIiwibWV0aG9kLXJlcXVpcmVkIjoiTWV0aG9kIG5hbWUgaXMgcmVxdWlyZWQuIiwibWluLXBhY2stc2VuZC1kZWxheSI6Ik1pbiBwYWNrIHNlbmQgZGVsYXkgKGluIG1zKSIsIm1pbi1wYWNrLXNlbmQtZGVsYXktcmVxdWlyZWQiOiJNaW4gcGFjayBzZW5kIGRlbGF5IGlzIHJlcXVpcmVkIiwibWluLXBhY2stc2VuZC1kZWxheS1taW4iOiJNaW4gcGFjayBzZW5kIGRlbGF5IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEwIiwibWluLXBhY2stc2VuZC1kZWxheS1wYXR0ZXJuIjoiTWluIHBhY2sgc2VuZCBkZWxheSBpcyBub3QgdmFsaWQiLG11bHRpcGxpZXI6Ik11bHRpcGxpZXIiLG1vZGU6Ik1vZGUiLCJtb2RlbC1uYW1lIjoiTW9kZWwgbmFtZSIsbW9kaWZpZXI6Ik1vZGlmaWVyIiwibW9kaWZpZXItaW52YWxpZCI6Ik1vZGlmaWVyIGlzIG5vdCB2YWxpZCIsIm1xdHQtdmVyc2lvbiI6Ik1RVFQgdmVyc2lvbiIsbmFtZToiTmFtZSIsIm5hbWUtcmVxdWlyZWQiOiJOYW1lIGlzIHJlcXVpcmVkLiIsIm5vLWF0dHJpYnV0ZXMiOiJObyBhdHRyaWJ1dGVzIiwibm8tYXR0cmlidXRlLXVwZGF0ZXMiOiJObyBhdHRyaWJ1dGUgdXBkYXRlcyIsIm5vLWNvbm5lY3RvcnMiOiJObyBjb25uZWN0b3JzIiwibm8tZGF0YSI6Ik5vIGNvbmZpZ3VyYXRpb25zIiwibm8tZ2F0ZXdheS1mb3VuZCI6Ik5vIGdhdGV3YXkgZm91bmQuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5vdCBmb3VuZC4iLCJuby10aW1lc2VyaWVzIjoiTm8gdGltZSBzZXJpZXMiLCJuby1rZXlzIjoiTm8ga2V5cyIsIm5vLXZhbHVlIjoiTm8gYXJndW1lbnRzIiwibm8tcnBjLW1ldGhvZHMiOiJObyBSUEMgbWV0aG9kcyIsIm5vLXJwYy1yZXF1ZXN0cyI6Ik5vIFJQQyByZXF1ZXN0cyIsInBhdGgtaGludCI6IlRoZSBwYXRoIGlzIGxvY2FsIHRvIHRoZSBnYXRld2F5IGZpbGUgc3lzdGVtIiwicGF0aC1sb2dzIjoiUGF0aCB0byBsb2cgZmlsZXMiLCJwYXRoLWxvZ3MtcmVxdWlyZWQiOiJQYXRoIGlzIHJlcXVpcmVkLiIscGFzc3dvcmQ6IlBhc3N3b3JkIiwicGFzc3dvcmQtcmVxdWlyZWQiOiJQYXNzd29yZCBpcyByZXF1aXJlZC4iLCJwZXJtaXQtd2l0aG91dC1jYWxscyI6IktlZXAgYWxpdmUgcGVybWl0IHdpdGhvdXQgY2FsbHMiLCJwb2xsLXBlcmlvZCI6IlBvbGwgcGVyaW9kIChtcykiLCJwb2xsLXBlcmlvZC1lcnJvciI6IlBvbGwgcGVyaW9kIHNob3VsZCBiZSBhdCBsZWFzdCB7e21pbn19IChtcykuIixwb3J0OiJQb3J0IiwicG9ydC1yZXF1aXJlZCI6IlBvcnQgaXMgcmVxdWlyZWQuIiwicG9ydC1saW1pdHMtZXJyb3IiOiJQb3J0IHNob3VsZCBiZSBudW1iZXIgZnJvbSB7e21pbn19IHRvIHt7bWF4fX0uIiwicHJpdmF0ZS1rZXktcGF0aCI6IlBhdGggdG8gcHJpdmF0ZSBrZXkgZmlsZSIsInBhdGgtdG8tcHJpdmF0ZS1rZXktcmVxdWlyZWQiOiJQYXRoIHRvIHByaXZhdGUga2V5IGZpbGUgaXMgcmVxdWlyZWQuIixwYXJpdHk6IlBhcml0eSIsInByb2R1Y3QtY29kZSI6IlByb2R1Y3QgY29kZSIsInByb2R1Y3QtbmFtZSI6IlByb2R1Y3QgbmFtZSIscmF3OiJSYXciLHJldGFpbjoiUmV0YWluIiwicmV0YWluLWhpbnQiOiJUaGlzIGZsYWcgdGVsbHMgdGhlIGJyb2tlciB0byBzdG9yZSB0aGUgbWVzc2FnZSBmb3IgYSB0b3BpY1xuYW5kIGVuc3VyZXMgYW55IG5ldyBjbGllbnQgc3Vic2NyaWJpbmcgdG8gdGhhdCB0b3BpY1xud2lsbCByZWNlaXZlIHRoZSBzdG9yZWQgbWVzc2FnZS4iLHJlbW90ZToiUmVtb3RlIGNvbmZpZ3VyYXRpb24iLCJyZW1vdGUtbG9nZ2luZy1sZXZlbCI6IkxvZ2dpbmcgbGV2ZWwiLCJyZW1vdmUtZW50cnkiOiJSZW1vdmUgY29uZmlndXJhdGlvbiIsInJlbW90ZS1zaGVsbCI6IlJlbW90ZSBzaGVsbCIsInJlbW90ZS1jb25maWd1cmF0aW9uIjoiUmVtb3RlIENvbmZpZ3VyYXRpb24iLHJldHJpZXM6IlJldHJpZXMiLCJyZXRyaWVzLW9uLWVtcHR5IjoiUmV0cmllcyBvbiBlbXB0eSIsInJldHJpZXMtb24taW52YWxpZCI6IlJldHJpZXMgb24gaW52YWxpZCIscnBjOnt0aXRsZToie3t0eXBlfX0gQ29ubmVjdG9yIFJQQyBwYXJhbWV0ZXJzIiwidGVtcGxhdGVzLXRpdGxlIjoiQ29ubmVjdG9yIFJQQyBUZW1wbGF0ZXMiLG1ldGhvZEZpbHRlcjoiTWV0aG9kIGZpbHRlciIsIm1ldGhvZC1uYW1lIjoiTWV0aG9kIG5hbWUiLHJlcXVlc3RUb3BpY0V4cHJlc3Npb246IlJlcXVlc3QgdG9waWMgZXhwcmVzc2lvbiIscmVzcG9uc2VUb3BpY0V4cHJlc3Npb246IlJlc3BvbnNlIHRvcGljIGV4cHJlc3Npb24iLHJlc3BvbnNlVGltZW91dDoiUmVzcG9uc2UgdGltZW91dCIsdmFsdWVFeHByZXNzaW9uOiJWYWx1ZSBleHByZXNzaW9uIix0YWc6IlRhZyIsdHlwZToiVHlwZSIsZnVuY3Rpb25Db2RlOiJGdW5jdGlvbiBDb2RlIixvYmplY3RzQ291bnQ6Ik9iamVjdHMgQ291bnQiLGFkZHJlc3M6IkFkZHJlc3MiLG1ldGhvZDoiTWV0aG9kIixyZXF1ZXN0VHlwZToiUmVxdWVzdCBUeXBlIixyZXF1ZXN0VGltZW91dDoiUmVxdWVzdCBUaW1lb3V0IixvYmplY3RUeXBlOiJPYmplY3QgdHlwZSIsaWRlbnRpZmllcjoiSWRlbnRpZmllciIscHJvcGVydHlJZDoiUHJvcGVydHkgSUQiLG1ldGhvZFJQQzoiTWV0aG9kIFJQQyBuYW1lIix3aXRoUmVzcG9uc2U6IldpdGggUmVzcG9uc2UiLGNoYXJhY3RlcmlzdGljVVVJRDoiQ2hhcmFjdGVyaXN0aWMgVVVJRCIsbWV0aG9kUHJvY2Vzc2luZzoiTWV0aG9kIFByb2Nlc3NpbmciLG5vZGVJRDoiTm9kZSBJRCIsaXNFeHRlbmRlZElEOiJJcyBFeHRlbmRlZCBJRCIsaXNGRDoiSXMgRkQiLGJpdHJhdGVTd2l0Y2g6IkJpdHJhdGUgU3dpdGNoIixkYXRhSW5IRVg6IkRhdGEgSW4gSEVYIixkYXRhTGVuZ3RoOiJEYXRhIExlbmd0aCIsZGF0YUJ5dGVvcmRlcjoiRGF0YSBCeXRlIE9yZGVyIixkYXRhQmVmb3JlOiJEYXRhIEJlZm9yZSIsZGF0YUFmdGVyOiJEYXRhIEFmdGVyIixkYXRhRXhwcmVzc2lvbjoiRGF0YSBFeHByZXNzaW9uIixlbmNvZGluZzoiRW5jb2RpbmciLG9pZDoiT0lEIiwiYWRkLW9pZCI6IkFkZCBPSUQiLCJhZGQtaGVhZGVyIjoiQWRkIGhlYWRlciIsImFkZC1zZWN1cml0eSI6IkFkZCBzZWN1cml0eSIscmVtb3ZlOiJSZW1vdmUiLHJlcXVlc3RGaWx0ZXI6IlJlcXVlc3QgRmlsdGVyIixyZXF1ZXN0VXJsRXhwcmVzc2lvbjoiUmVxdWVzdCBVUkwgRXhwcmVzc2lvbiIsaHR0cE1ldGhvZDoiSFRUUCBNZXRob2QiLHRpbWVvdXQ6IlRpbWVvdXQiLHRyaWVzOiJUcmllcyIsaHR0cEhlYWRlcnM6IkhUVFAgSGVhZGVycyIsImhlYWRlci1uYW1lIjoiSGVhZGVyIG5hbWUiLGhpbnQ6eyJtb2RidXMtcmVzcG9uc2UtcmVhZGluZyI6IlJQQyByZXNwb25zZSB3aWxsIHJldHVybiBhbGwgc3VidHJhY3RlZCB2YWx1ZXMgZnJvbSBhbGwgY29ubmVjdGVkIGRldmljZXMgd2hlbiB0aGUgcmVhZGluZyBmdW5jdGlvbnMgYXJlIHNlbGVjdGVkLiIsIm1vZGJ1cy13cml0aW5nLWZ1bmN0aW9ucyI6IlJQQyB3aWxsIHdyaXRlIGEgZmlsbGVkIHZhbHVlIHRvIGFsbCBjb25uZWN0ZWQgZGV2aWNlcyB3aGVuIHRoZSB3cml0aW5nIGZ1bmN0aW9ucyBhcmUgc2VsZWN0ZWQuIiwib3BjLW1ldGhvZCI6IkEgZmlsbGVkIG1ldGhvZCBuYW1lIGlzIHRoZSBPUEMtVUEgbWV0aG9kIHRoYXQgd2lsbCBwcm9jZXNzZWQgb24gdGhlIHNlcnZlciBzaWRlIChtYWtlIHN1cmUgeW91ciBub2RlIGhhcyB0aGUgcmVxdWVzdGVkIG1ldGhvZCkuIn0sInNlY3VyaXR5LW5hbWUiOiJTZWN1cml0eSBuYW1lIix2YWx1ZToiVmFsdWUiLHNlY3VyaXR5OiJTZWN1cml0eSIscmVzcG9uc2VWYWx1ZUV4cHJlc3Npb246IlJlc3BvbnNlIFZhbHVlIEV4cHJlc3Npb24iLHJlcXVlc3RWYWx1ZUV4cHJlc3Npb246IlJlcXVlc3QgVmFsdWUgRXhwcmVzc2lvbiIsYXJndW1lbnRzOiJBcmd1bWVudHMiLCJhZGQtYXJndW1lbnQiOiJBZGQgYXJndW1lbnQiLCJ3cml0ZS1wcm9wZXJ0eSI6IldyaXRlIHByb3BlcnR5IiwicmVhZC1wcm9wZXJ0eSI6IlJlYWQgcHJvcGVydHkiLCJhbmFsb2ctb3V0cHV0IjoiQW5hbG9nIG91dHB1dCIsImFuYWxvZy1pbnB1dCI6IkFuYWxvZyBpbnB1dCIsImJpbmFyeS1vdXRwdXQiOiJCaW5hcnkgb3V0cHV0IiwiYmluYXJ5LWlucHV0IjoiQmluYXJ5IGlucHV0IiwiYmluYXJ5LXZhbHVlIjoiQmluYXJ5IHZhbHVlIiwiYW5hbG9nLXZhbHVlIjoiQW5hbG9nIHZhbHVlIix3cml0ZToiV3JpdGUiLHJlYWQ6IlJlYWQiLHNjYW46IlNjYW4iLG9pZHM6Ik9JRFMiLHNldDoiU2V0IixtdWx0aXNldDoiTXVsdGlzZXQiLGdldDoiR2V0IiwiYnVsay13YWxrIjoiQnVsayB3YWxrIix0YWJsZToiVGFibGUiLCJtdWx0aS1nZXQiOiJNdWx0aWdldCIsImdldC1uZXh0IjoiR2V0IG5leHQiLCJidWxrLWdldCI6IkJ1bGsgZ2V0Iix3YWxrOiJXYWxrIiwic2F2ZS10ZW1wbGF0ZSI6IlNhdmUgdGVtcGxhdGUiLCJ0ZW1wbGF0ZS1uYW1lIjoiVGVtcGxhdGUgbmFtZSIsInRlbXBsYXRlLW5hbWUtcmVxdWlyZWQiOiJUZW1wbGF0ZSBuYW1lIGlzIHJlcXVpcmVkLiIsInRlbXBsYXRlLW5hbWUtZHVwbGljYXRlIjoiVGVtcGxhdGUgd2l0aCBzdWNoIG5hbWUgYWxyZWFkeSBleGlzdHMsIGl0IHdpbGwgYmUgdXBkYXRlZC4iLGNvbW1hbmQ6IkNvbW1hbmQiLHBhcmFtczoiUGFyYW1zIiwianNvbi12YWx1ZS1pbnZhbGlkIjoiSlNPTiB2YWx1ZSBoYXMgYW4gaW52YWxpZCBmb3JtYXQifSwicnBjLW1ldGhvZHMiOiJSUEMgbWV0aG9kcyIsInJwYy1yZXF1ZXN0cyI6IlJQQyByZXF1ZXN0cyIscmVxdWVzdDp7ImNvbm5lY3QtcmVxdWVzdCI6IkNvbm5lY3QgcmVxdWVzdCIsImRpc2Nvbm5lY3QtcmVxdWVzdCI6IkRpc2Nvbm5lY3QgcmVxdWVzdCIsImF0dHJpYnV0ZS1yZXF1ZXN0IjoiQXR0cmlidXRlIHJlcXVlc3QiLCJhdHRyaWJ1dGUtdXBkYXRlIjoiQXR0cmlidXRlIHVwZGF0ZSIsInJwYy1jb25uZWN0aW9uIjoiUlBDIGNvbW1hbmQifSwicmVxdWVzdC10eXBlIjoiUmVxdWVzdCB0eXBlIiwicmVxdWVzdHMtbWFwcGluZyI6IlJlcXVlc3RzIG1hcHBpbmciLCJyZXF1ZXN0cy1tYXBwaW5nLWhpbnQiOiJNUVRUIENvbm5lY3RvciByZXF1ZXN0cyBhbGxvd3MgeW91IHRvIGNvbm5lY3QsIGRpc2Nvbm5lY3QsIHByb2Nlc3MgYXR0cmlidXRlIHJlcXVlc3RzIGZyb20gdGhlIGRldmljZSwgaGFuZGxlIGF0dHJpYnV0ZSB1cGRhdGVzIG9uIHRoZSBzZXJ2ZXIgYW5kIFJQQyBwcm9jZXNzaW5nIGNvbmZpZ3VyYXRpb24uIiwicmVxdWVzdC10b3BpYy1leHByZXNzaW9uIjoiUmVxdWVzdCB0b3BpYyBleHByZXNzaW9uIiwicmVxdWVzdC1jbGllbnQtY2VydGlmaWNhdGUiOiJSZXF1ZXN0IGNsaWVudCBjZXJ0aWZpY2F0ZSIsInJlcXVlc3QtdG9waWMtZXhwcmVzc2lvbi1yZXF1aXJlZCI6IlJlcXVlc3QgdG9waWMgZXhwcmVzc2lvbiBpcyByZXF1aXJlZC4iLCJyZXNwb25zZS10aW1lb3V0IjoiUmVzcG9uc2UgdGltZW91dCAobXMpIiwicmVzcG9uc2UtdGltZW91dC1yZXF1aXJlZCI6IlJlc3BvbnNlIHRpbWVvdXQgaXMgcmVxdWlyZWQuIiwicmVzcG9uc2UtdGltZW91dC1saW1pdHMtZXJyb3IiOiJUaW1lb3V0IG11c3QgYmUgbW9yZSB0aGVuIHt7bWlufX0gbXMuIiwicmVzcG9uc2UtdG9waWMtUW9zIjoiUmVzcG9uc2UgdG9waWMgUW9TIiwicmVzcG9uc2UtdG9waWMtUW9zLWhpbnQiOiJNUVRUIFF1YWxpdHkgb2YgU2VydmljZSAoUW9TKSBpcyBhbiBhZ3JlZW1lbnQgYmV0d2VlbiB0aGUgbWVzc2FnZSBzZW5kZXIgYW5kIHJlY2VpdmVyIHRoYXQgZGVmaW5lcyB0aGUgbGV2ZWwgb2YgZGVsaXZlcnkgZ3VhcmFudGVlIGZvciBhIHNwZWNpZmljIG1lc3NhZ2UuIiwicmVzcG9uc2UtdG9waWMtZXhwcmVzc2lvbiI6IlJlc3BvbnNlIHRvcGljIGV4cHJlc3Npb24iLCJyZXNwb25zZS10b3BpYy1leHByZXNzaW9uLXJlcXVpcmVkIjoiUmVzcG9uc2UgdG9waWMgZXhwcmVzc2lvbiBpcyByZXF1aXJlZC4iLCJyZXNwb25zZS12YWx1ZS1leHByZXNzaW9uIjoiUmVzcG9uc2UgdmFsdWUgZXhwcmVzc2lvbiIsInJlc3BvbnNlLXZhbHVlLWV4cHJlc3Npb24tcmVxdWlyZWQiOiJSZXNwb25zZSB2YWx1ZSBleHByZXNzaW9uIGlzIHJlcXVpcmVkLiIsInZlbmRvci1uYW1lIjoiVmVuZG9yIG5hbWUiLCJ2ZW5kb3ItdXJsIjoiVmVuZG9yIFVSTCIsdmFsdWU6IlZhbHVlIix2YWx1ZXM6IlZhbHVlcyIsInZhbHVlLXJlcXVpcmVkIjoiVmFsdWUgaXMgcmVxdWlyZWQuIiwidmFsdWUtZXhwcmVzc2lvbiI6IlZhbHVlIGV4cHJlc3Npb24iLCJ2YWx1ZS1leHByZXNzaW9uLXJlcXVpcmVkIjoiVmFsdWUgZXhwcmVzc2lvbiBpcyByZXF1aXJlZC4iLCJ3aXRoLXJlc3BvbnNlIjoiV2l0aCByZXNwb25zZSIsIndpdGhvdXQtcmVzcG9uc2UiOiJXaXRob3V0IHJlc3BvbnNlIixvdGhlcjoiT3RoZXIiLCJzYXZlLXRpcCI6IlNhdmUgY29uZmlndXJhdGlvbiBmaWxlIiwic2Nhbi1wZXJpb2QiOiJTY2FuIHBlcmlvZCAobXMpIiwic2Nhbi1wZXJpb2QtZXJyb3IiOiJTY2FuIHBlcmlvZCBzaG91bGQgYmUgYXQgbGVhc3Qge3ttaW59fSAobXMpLiIsInN1Yi1jaGVjay1wZXJpb2QiOiJTdWJzY3JpcHRpb24gY2hlY2sgcGVyaW9kIChtcykiLCJzdWItY2hlY2stcGVyaW9kLWVycm9yIjoiU3Vic2NyaXB0aW9uIGNoZWNrIHBlcmlvZCBzaG91bGQgYmUgYXQgbGVhc3Qge3ttaW59fSAobXMpLiIsInNlY3VyaXR5LWxhYmVsIjoiU2VjdXJpdHkiLCJzZWN1cml0eS1wb2xpY3kiOiJTZWN1cml0eSBwb2xpY3kiLCJzZWN1cml0eS10eXBlIjoiU2VjdXJpdHkgdHlwZSIsInNlY3VyaXR5LXR5cGVzIjp7ImFjY2Vzcy10b2tlbiI6IkFjY2VzcyBUb2tlbiIsInVzZXJuYW1lLXBhc3N3b3JkIjoiVXNlcm5hbWUgYW5kIFBhc3N3b3JkIix0bHM6IlRMUyIsInRscy1hY2Nlc3MtdG9rZW4iOiJUTFMgKyBBY2Nlc3MgVG9rZW4iLCJ0bHMtcHJpdmF0ZS1rZXkiOiJUTFMgKyBQcml2YXRlIEtleSJ9LCJzZWxlY3QtY29ubmVjdG9yIjoiU2VsZWN0IGNvbm5lY3RvciB0byBkaXNwbGF5IGNvbmZpZyIsInNlbmQtY2hhbmdlLWRhdGEiOiJTZW5kIGRhdGEgb25seSBvbiBjaGFuZ2UiLCJzZW5kLWRhdGEtdG8tcGxhdGZvcm0iOiJTZW5kIGRhdGEgdG8gcGxhdGZvcm0iLCJzZW5kLWRhdGEtb24tY2hhbmdlIjoiU2VuZCBkYXRhIG9ubHkgb24gY2hhbmdlIiwic2VuZC1jaGFuZ2UtZGF0YS1oaW50IjoiVGhlIHZhbHVlcyB3aWxsIGJlIHNhdmVkIHRvIHRoZSBkYXRhYmFzZSBvbmx5IGlmIHRoZXkgYXJlIGRpZmZlcmVudCBmcm9tIHRoZSBjb3JyZXNwb25kaW5nIHZhbHVlcyBpbiB0aGUgcHJldmlvdXMgY29udmVydGVkIG1lc3NhZ2UuIFRoaXMgZnVuY3Rpb25hbGl0eSBhcHBsaWVzIHRvIGJvdGggYXR0cmlidXRlcyBhbmQgdGltZSBzZXJpZXMgaW4gdGhlIGNvbnZlcnRlciBvdXRwdXQuIixzZXJ2ZXI6IlNlcnZlciIsInNlcnZlci1ob3N0bmFtZSI6IlNlcnZlciBob3N0bmFtZSIsInNlcnZlci1zbGF2ZSI6IlNlcnZlciAoU2xhdmUpIiwic2VydmVycy1zbGF2ZXMiOiJTZXJ2ZXJzIChTbGF2ZXMpIiwic2VydmVyLXBvcnQiOiJTZXJ2ZXIgcG9ydCIsInNlcnZlci11cmwiOiJTZXJ2ZXIgZW5kcG9pbnQgdXJsIiwic2VydmVyLWNvbm5lY3Rpb24iOiJTZXJ2ZXIgQ29ubmVjdGlvbiIsInNlcnZlci1jb25maWciOiJTZXJ2ZXIgY29uZmlndXJhdGlvbiIsInNlcnZlci1zbGF2ZS1jb25maWciOiJTZXJ2ZXIgKFNsYXZlKSBjb25maWd1cmF0aW9uIiwic2VydmVyLXVybC1yZXF1aXJlZCI6IlNlcnZlciBlbmRwb2ludCB1cmwgaXMgcmVxdWlyZWQuIixzdG9wYml0czoiU3RvcGJpdHMiLHN0cmljdDoiU3RyaWN0IixzZXQ6IlNldCIsInNob3ctbWFwIjoiU2hvdyBtYXAiLHN0YXRpc3RpY3M6e3N0YXRpc3RpYzoiU3RhdGlzdGljIixzdGF0aXN0aWNzOiJTdGF0aXN0aWNzIiwic3RhdGlzdGljLWNvbW1hbmRzLWVtcHR5IjonTm8gY29uZmlndXJlZCBzdGF0aXN0aWMga2V5cyBmb3VuZC4gWW91IGNhbiBjb25maWd1cmUgdGhlbSBpbiAiU3RhdGlzdGljcyIgdGFiIGluIGdlbmVyYWwgY29uZmlndXJhdGlvbi4nLCJzdGF0aXN0aWNzLWJ1dHRvbiI6IkdvIHRvIGNvbmZpZ3VyYXRpb24iLGNvbW1hbmRzOiJDb21tYW5kcyIsInNlbmQtcGVyaW9kIjoiU3RhdGlzdGljIHNlbmQgcGVyaW9kIChpbiBzZWMpIiwic2VuZC1wZXJpb2QtcmVxdWlyZWQiOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgaXMgcmVxdWlyZWQiLCJzZW5kLXBlcmlvZC1taW4iOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgY2FuIG5vdCBiZSBsZXNzIHRoZW4gNjAiLCJzZW5kLXBlcmlvZC1wYXR0ZXJuIjoiU3RhdGlzdGljIHNlbmQgcGVyaW9kIGlzIG5vdCB2YWxpZCIsImNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbiI6IkNoZWNrIGNvbm5lY3RvcnMgY29uZmlndXJhdGlvbiAoaW4gc2VjKSIsIm1heC1wYXlsb2FkLXNpemUtYnl0ZXMiOiJNYXggcGF5bG9hZCBzaXplIGluIGJ5dGVzIiwibWF4LXBheWxvYWQtc2l6ZS1ieXRlcy1yZXF1aXJlZCI6Ik1heCBwYXlsb2FkIHNpemUgaW4gYnl0ZXMgaXMgcmVxdWlyZWQiLCJtYXgtcGF5bG9hZC1zaXplLWJ5dGVzLW1pbiI6Ik1heCBwYXlsb2FkIHNpemUgaW4gYnl0ZXMgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMTAwIiwibWF4LXBheWxvYWQtc2l6ZS1ieXRlcy1wYXR0ZXJuIjoiTWF4IHBheWxvYWQgc2l6ZSBpbiBieXRlcyBpcyBub3QgdmFsaWQiLCJtaW4tcGFjay1zaXplLXRvLXNlbmQiOiJNaW4gcGFja2V0IHNpemUgdG8gc2VuZCIsIm1pbi1wYWNrLXNpemUtdG8tc2VuZC1yZXF1aXJlZCI6Ik1pbiBwYWNrZXQgc2l6ZSB0byBzZW5kIGlzIHJlcXVpcmVkIiwibWluLXBhY2stc2l6ZS10by1zZW5kLW1pbiI6Ik1pbiBwYWNrZXQgc2l6ZSB0byBzZW5kIGNhbiBub3QgYmUgbGVzcyB0aGVuIDEwMCIsIm1pbi1wYWNrLXNpemUtdG8tc2VuZC1wYXR0ZXJuIjoiTWluIHBhY2tldCBzaXplIHRvIHNlbmQgaXMgbm90IHZhbGlkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXJlcXVpcmVkIjoiQ2hlY2sgY29ubmVjdG9ycyBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLW1pbiI6IkNoZWNrIGNvbm5lY3RvcnMgY29uZmlndXJhdGlvbiBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXBhdHRlcm4iOiJDaGVjayBjb25uZWN0b3JzIGNvbmZpZ3VyYXRpb24gaXMgbm90IHZhbGlkIixhZGQ6IkFkZCBjb21tYW5kIix0aW1lb3V0OiJUaW1lb3V0IChpbiBzZWMpIiwidGltZW91dC1tcyI6IlRpbWVvdXQgKGluIG1zKSIsInRpbWVvdXQtcmVxdWlyZWQiOiJUaW1lb3V0IGlzIHJlcXVpcmVkIiwidGltZW91dC1taW4iOiJUaW1lb3V0IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJ0aW1lb3V0LXBhdHRlcm4iOiJUaW1lb3V0IGlzIG5vdCB2YWxpZCIsImF0dHJpYnV0ZS1uYW1lIjoiQXR0cmlidXRlIG5hbWUiLCJhdHRyaWJ1dGUtbmFtZS1yZXF1aXJlZCI6IkF0dHJpYnV0ZSBuYW1lIGlzIHJlcXVpcmVkIixjb21tYW5kOiJDb21tYW5kIiwiY29tbWFuZC1yZXF1aXJlZCI6IkNvbW1hbmQgaXMgcmVxdWlyZWQiLCJjb21tYW5kLXBhdHRlcm4iOiJDb21tYW5kIGlzIG5vdCB2YWxpZCIscmVtb3ZlOiJSZW1vdmUgY29tbWFuZCJ9LHN0b3JhZ2U6IlN0b3JhZ2UiLCJzdG9yYWdlLW1heC1maWxlLXJlY29yZHMiOiJNYXhpbXVtIHJlY29yZHMgaW4gZmlsZSIsInN0b3JhZ2UtbWF4LWZpbGVzIjoiTWF4aW11bSBudW1iZXIgb2YgZmlsZXMiLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiJNaW5pbXVtIG51bWJlciBpcyAxLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXJlcXVpcmVkIjoiTnVtYmVyIGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMiOiJNYXhpbXVtIHJlY29yZHMgaW4gc3RvcmFnZSIsInN0b3JhZ2UtbWF4LXJlY29yZHMtbWluIjoiTWluaW11bSBudW1iZXIgb2YgcmVjb3JkcyBpcyAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1yZXF1aXJlZCI6Ik1heGltdW0gcmVjb3JkcyBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50IjoiUmVhZCByZWNvcmQgY291bnQgaW4gc3RvcmFnZSIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtbWluIjoiTWluaW11bSBudW1iZXIgb2YgcmVjb3JkcyBpcyAxLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1yZXF1aXJlZCI6IlJlYWQgcmVjb3JkIGNvdW50IGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50IjoiTWF4IHJlYWQgcmVjb3JkIGNvdW50IGluIHN0b3JhZ2UiLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1taW4iOiJNaW5pbXVtIG51bWJlciBvZiByZWNvcmRzIGlzIDEuIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcmVxdWlyZWQiOiJNYXggUmVhZCByZWNvcmQgY291bnQgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoIjoiRGF0YSBmb2xkZXIgcGF0aCIsInN0b3JhZ2UtZGF0YS1mb2xkZXItcGF0aC1yZXF1aXJlZCI6IkRhdGEgZm9sZGVyIHBhdGggaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1wYWNrLXNpemUiOiJNYXhpbXVtIGV2ZW50IHBhY2sgc2l6ZSIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6Ik1pbmltdW0gbnVtYmVyIGlzIDEuIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiJNYXhpbXVtIGV2ZW50IHBhY2sgc2l6ZSBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLXBhdGgiOiJTdG9yYWdlIHBhdGgiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiJTdG9yYWdlIHBhdGggaXMgcmVxdWlyZWQuIiwic3RvcmFnZS10eXBlIjoiU3RvcmFnZSB0eXBlIiwic3RvcmFnZS10eXBlcyI6eyJmaWxlLXN0b3JhZ2UiOiJGaWxlIHN0b3JhZ2UiLCJtZW1vcnktc3RvcmFnZSI6Ik1lbW9yeSBzdG9yYWdlIixzcWxpdGU6IlNRTElURSJ9LCJyZXBvcnQtc3RyYXRlZ3kiOntsYWJlbDoiUmVwb3J0IHN0cmF0ZWd5Iiwib24tY2hhbmdlIjoiT24gdmFsdWUgY2hhbmdlIiwib24tcmVwb3J0LXBlcmlvZCI6Ik9uIHJlcG9ydCBwZXJpb2QiLCJvbi1jaGFuZ2Utb3ItcmVwb3J0LXBlcmlvZCI6Ik9uIHZhbHVlIGNoYW5nZSBvciByZXBvcnQgcGVyaW9kIiwicmVwb3J0LXBlcmlvZCI6IlJlcG9ydCBwZXJpb2QifSwic291cmNlLXR5cGUiOnttc2c6IkV4dHJhY3QgZnJvbSBtZXNzYWdlIix0b3BpYzoiRXh0cmFjdCBmcm9tIHRvcGljIixjb25zdDoiQ29uc3RhbnQiLGlkZW50aWZpZXI6IklkZW50aWZpZXIiLHBhdGg6IlBhdGgifSwid29ya2Vycy1zZXR0aW5ncyI6IldvcmtlcnMgc2V0dGluZ3MiLHRoaW5nc2JvYXJkOiJUaGluZ3NCb2FyZCIsZ2VuZXJhbDoiR2VuZXJhbCIsdGltZXNlcmllczoiVGltZSBzZXJpZXMiLGtleToiS2V5IixrZXlzOiJLZXlzIiwia2V5LXJlcXVpcmVkIjoiS2V5IGlzIHJlcXVpcmVkLiIsInRoaW5nc2JvYXJkLWhvc3QiOiJQbGF0Zm9ybSBob3N0IiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6Ikhvc3QgaXMgcmVxdWlyZWQuIiwidGhpbmdzYm9hcmQtcG9ydCI6IlBsYXRmb3JtIHBvcnQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6Ik1heGltdW0gcG9ydCBudW1iZXIgaXMgNjU1MzUuIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiJNaW5pbXVtIHBvcnQgbnVtYmVyIGlzIDEuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiUG9ydCBpcyBub3QgdmFsaWQuIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6IlBvcnQgaXMgcmVxdWlyZWQuIix0aWR5OiJUaWR5IiwidGlkeS10aXAiOiJUaWR5IGNvbmZpZyBKU09OIix0aW1lb3V0OiJUaW1lb3V0IChtcykiLCJ0aW1lb3V0LWVycm9yIjoiVGltZW91dCBzaG91bGQgYmUgYXQgbGVhc3Qge3ttaW59fSAobXMpLiIsInRpdGxlLWNvbm5lY3RvcnMtanNvbiI6IkNvbm5lY3RvciB7e3R5cGVOYW1lfX0gY29uZmlndXJhdGlvbiIsdHlwZToiVHlwZSIsInRvcGljLWZpbHRlciI6IlRvcGljIGZpbHRlciIsInRvcGljLXJlcXVpcmVkIjoiVG9waWMgZmlsdGVyIGlzIHJlcXVpcmVkLiIsInRscy1wYXRoLWNhLWNlcnRpZmljYXRlIjoiUGF0aCB0byBDQSBjZXJ0aWZpY2F0ZSBvbiBnYXRld2F5IiwidGxzLXBhdGgtY2xpZW50LWNlcnRpZmljYXRlIjoiUGF0aCB0byBjbGllbnQgY2VydGlmaWNhdGUgb24gZ2F0ZXdheSIsInRscy1jb25uZWN0aW9uIjoiVExTIENvbm5lY3Rpb24iLCJtYXN0ZXItY29ubmVjdGlvbnMiOiJNYXN0ZXIgQ29ubmVjdGlvbnMiLCJtZXRob2QtZmlsdGVyIjoiTWV0aG9kIGZpbHRlciIsIm1ldGhvZC1maWx0ZXItaGludCI6IlJlZ3VsYXIgZXhwcmVzc2lvbiB0byBmaWx0ZXIgaW5jb21pbmcgUlBDIG1ldGhvZCBmcm9tIHBsYXRmb3JtLiIsIm1ldGhvZC1maWx0ZXItcmVxdWlyZWQiOiJNZXRob2QgZmlsdGVyIGlzIHJlcXVpcmVkLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3VycyI6Ik1lc3NhZ2VzIFRUTCBjaGVjayBpbiBob3VycyIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1yZXF1aXJlZCI6Ik1lc3NhZ2VzIFRUTCBjaGVjayBpbiBob3VycyBpcyByZXF1aXJlZC4iLCJtZXNzYWdlcy10dGwtY2hlY2staW4taG91cnMtbWluIjoiTWluIG51bWJlciBpcyAxLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cyI6Ik1lc3NhZ2VzIFRUTCBpbiBkYXlzIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcmVxdWlyZWQiOiJNZXNzYWdlcyBUVEwgaW4gZGF5cyBpcyByZXF1aXJlZC4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1taW4iOiJNaW4gbnVtYmVyIGlzIDEuIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwibXF0dC1xb3MiOiJRb1MiLCJtcXR0LXFvcy1yZXF1aXJlZCI6IlFvUyBpcyByZXF1aXJlZCIsIm1xdHQtcW9zLXJhbmdlIjoiUW9TIHZhbHVlcyByYW5nZSBpcyBmcm9tIDAgdG8gMSIscW9zOnsiYXQtbW9zdC1vbmNlIjoiMCAtIEF0IG1vc3Qgb25jZSIsImF0LWxlYXN0LW9uY2UiOiIxIC0gQXQgbGVhc3Qgb25jZSIsImV4YWN0bHktb25jZSI6IjIgLSBFeGFjdGx5IG9uY2UifSwib2JqZWN0cy1jb3VudCI6Ik9iamVjdHMgY291bnQiLCJvYmplY3RzLWNvdW50LXJlcXVpcmVkIjoiT2JqZWN0cyBjb3VudCBpcyByZXF1aXJlZCIsIndhaXQtYWZ0ZXItZmFpbGVkLWF0dGVtcHRzIjoiV2FpdCBhZnRlciBmYWlsZWQgYXR0ZW1wdHMgKG1zKSIsInRscy1wYXRoLXByaXZhdGUta2V5IjoiUGF0aCB0byBwcml2YXRlIGtleSBvbiBnYXRld2F5IiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiJUb2dnbGUgZnVsbHNjcmVlbiIsInRyYW5zZm9ybWVyLWpzb24tY29uZmlnIjoiQ29uZmlndXJhdGlvbiBKU09OKiIsInVwZGF0ZS1jb25maWciOiJBZGQvdXBkYXRlIGNvbmZpZ3VyYXRpb24gSlNPTiIsdXNlcm5hbWU6IlVzZXJuYW1lIiwidXNlcm5hbWUtcmVxdWlyZWQiOiJVc2VybmFtZSBpcyByZXF1aXJlZC4iLCJ1bml0LWlkLXJlcXVpcmVkIjoiVW5pdCBJRCBpcyByZXF1aXJlZC4iLCJ3cml0ZS1jb2lsIjoiV3JpdGUgQ29pbCIsIndyaXRlLWNvaWxzIjoiV3JpdGUgQ29pbHMiLCJ3cml0ZS1yZWdpc3RlciI6IldyaXRlIFJlZ2lzdGVyIiwid3JpdGUtcmVnaXN0ZXJzIjoiV3JpdGUgUmVnaXN0ZXJzIixoaW50czp7Im1vZGJ1cy1tYXN0ZXIiOiJDb25maWd1cmF0aW9uIHNlY3Rpb25zIGZvciBjb25uZWN0aW5nIHRvIE1vZGJ1cyBzZXJ2ZXJzIGFuZCByZWFkaW5nIGRhdGEgZnJvbSB0aGVtLiIsIm1vZGJ1cy1zZXJ2ZXIiOiJDb25maWd1cmF0aW9uIHNlY3Rpb24gZm9yIHRoZSBNb2RidXMgc2VydmVyLCBzdG9yaW5nIGRhdGEgYW5kIHNlbmRpbmcgdXBkYXRlcyB0byB0aGUgcGxhdGZvcm0gd2hlbiBjaGFuZ2VzIG9jY3VyIG9yIGF0IGZpeGVkIGludGVydmFscy4iLCJyZW1vdGUtY29uZmlndXJhdGlvbiI6IkVuYWJsZXMgcmVtb3RlIGNvbmZpZ3VyYXRpb24gYW5kIG1hbmFnZW1lbnQgb2YgdGhlIGdhdGV3YXkiLCJyZW1vdGUtc2hlbGwiOiJFbmFibGVzIHJlbW90ZSBjb250cm9sIG9mIHRoZSBvcGVyYXRpbmcgc3lzdGVtIHdpdGggdGhlIGdhdGV3YXkgZnJvbSB0aGUgUmVtb3RlIFNoZWxsIHdpZGdldCIsaG9zdDoiSG9zdG5hbWUgb3IgSVAgYWRkcmVzcyBvZiBwbGF0Zm9ybSBzZXJ2ZXIiLHBvcnQ6IlBvcnQgb2YgTVFUVCBzZXJ2aWNlIG9uIHBsYXRmb3JtIHNlcnZlciIsdG9rZW46IkFjY2VzcyB0b2tlbiBmb3IgdGhlIGdhdGV3YXkgZnJvbSBwbGF0Zm9ybSBzZXJ2ZXIiLCJjbGllbnQtaWQiOiJNUVRUIGNsaWVudCBpZCBmb3IgdGhlIGdhdGV3YXkgZm9ybSBwbGF0Zm9ybSBzZXJ2ZXIiLHVzZXJuYW1lOiJNUVRUIHVzZXJuYW1lIGZvciB0aGUgZ2F0ZXdheSBmb3JtIHBsYXRmb3JtIHNlcnZlciIscGFzc3dvcmQ6Ik1RVFQgcGFzc3dvcmQgZm9yIHRoZSBnYXRld2F5IGZvcm0gcGxhdGZvcm0gc2VydmVyIiwiY2EtY2VydCI6IlBhdGggdG8gQ0EgY2VydGlmaWNhdGUgZmlsZSIsImRhdGUtZm9ybSI6IkRhdGUgZm9ybWF0IGluIGxvZyBtZXNzYWdlIiwiZGF0YS1mb2xkZXIiOiJQYXRoIHRvIHRoZSBmb2xkZXIgdGhhdCB3aWxsIGNvbnRhaW4gZGF0YSAoUmVsYXRpdmUgb3IgQWJzb2x1dGUpIiwibG9nLWZvcm1hdCI6IkxvZyBtZXNzYWdlIGZvcm1hdCIsInJlbW90ZS1sb2ciOiJFbmFibGVzIHJlbW90ZSBsb2dnaW5nIGFuZCBsb2dzIHJlYWRpbmcgZnJvbSB0aGUgZ2F0ZXdheSIsImJhY2t1cC1jb3VudCI6IklmIGJhY2t1cCBjb3VudCBpcyA+IDAsIHdoZW4gYSByb2xsb3ZlciBpcyBkb25lLCBubyBtb3JlIHRoYW4gYmFja3VwIGNvdW50IGZpbGVzIGFyZSBrZXB0IC0gdGhlIG9sZGVzdCBvbmVzIGFyZSBkZWxldGVkIixzdG9yYWdlOiJQcm92aWRlcyBjb25maWd1cmF0aW9uIGZvciBzYXZpbmcgaW5jb21pbmcgZGF0YSBiZWZvcmUgaXQgaXMgc2VudCB0byB0aGUgcGxhdGZvcm0iLCJtYXgtZmlsZS1jb3VudCI6Ik1heGltdW0gbnVtYmVyIG9mIGZpbGVzIHRoYXQgd2lsbCBiZSBjcmVhdGVkIiwibWF4LXJlYWQtY291bnQiOiJOdW1iZXIgb2YgbWVzc2FnZXMgdG8gcmV0cmlldmUgZnJvbSB0aGUgc3RvcmFnZSBhbmQgc2VuZCB0byBwbGF0Zm9ybSIsIm1heC1yZWNvcmRzIjoiTWF4aW11bSBjb3VudCBvZiByZWNvcmRzIHRoYXQgd2lsbCBiZSBzdG9yZWQgaW4gb25lIGZpbGUiLCJyZWFkLXJlY29yZC1jb3VudCI6Ik51bWJlciBvZiBtZXNzYWdlcyB0byByZXRyaWV2ZSBmcm9tIHRoZSBzdG9yYWdlIGFuZCBzZW5kIHRvIHBsYXRmb3JtIiwibWF4LXJlY29yZHMtY291bnQiOiJNYXhpbXVtIG51bWJlciBvZiBkYXRhIGVudHJpZXMgaW4gc3RvcmFnZSBiZWZvcmUgc2VuZGluZyB0byBwbGF0Zm9ybSIsInR0bC1jaGVjay1ob3VyIjoiSG93IG9mdGVuIHdpbGwgdGhlIEdhdGV3YXkgY2hlY2sgZGF0YSBmb3Igb2Jzb2xlc2NlbmNlIiwidHRsLW1lc3NhZ2VzLWRheSI6Ik1heGltdW0gbnVtYmVyIG9mIGRheXMgdGhhdCB0aGUgc3RvcmFnZSB3aWxsIHJldGFpbiBkYXRhIixjb21tYW5kczoiQ29tbWFuZHMgZm9yIGNvbGxlY3RpbmcgYWRkaXRpb25hbCBzdGF0aXN0aWMiLGF0dHJpYnV0ZToiU3RhdGlzdGljIHRlbGVtZXRyeSBrZXkiLHRpbWVvdXQ6IlRpbWVvdXQgZm9yIGNvbW1hbmQgZXhlY3V0aW5nIixjb21tYW5kOiJUaGUgcmVzdWx0IG9mIHRoZSBjb21tYW5kIGV4ZWN1dGlvbiwgd2lsbCBiZSB1c2VkIGFzIHRoZSB2YWx1ZSBmb3IgdGVsZW1ldHJ5IiwiY2hlY2stZGV2aWNlLWFjdGl2aXR5IjoiRW5hYmxlcyBtb25pdG9yIHRoZSBhY3Rpdml0eSBvZiBlYWNoIGNvbm5lY3RlZCBkZXZpY2UiLCJpbmFjdGl2aXR5LXRpbWVvdXQiOiJUaW1lIGFmdGVyIHdob3NlIHRoZSBnYXRld2F5IHdpbGwgZGlzY29ubmVjdCBkZXZpY2UiLCJpbmFjdGl2aXR5LXBlcmlvZCI6IlBlcmlvZGljaXR5IG9mIGRldmljZSBhY3Rpdml0eSBjaGVjayIsIm1pbmltYWwtcGFjay1kZWxheSI6IkRlbGF5IGJldHdlZW4gc2VuZGluZyBwYWNrcyBvZiBtZXNzYWdlcyAoRGVjcmVhc2luZyB0aGlzIHNldHRpbmcgcmVzdWx0cyBpbiBpbmNyZWFzZWQgQ1BVIHVzYWdlKSIscW9zOiJRdWFsaXR5IG9mIFNlcnZpY2UgaW4gTVFUVCBtZXNzYWdpbmcgKDAgLSBhdCBtb3N0IG9uY2UsIDEgLSBhdCBsZWFzdCBvbmNlKSIsInNlcnZlci1wb3J0IjoiTmV0d29yayBwb3J0IG9uIHdoaWNoIEdSUEMgc2VydmVyIHdpbGwgbGlzdGVuIGZvciBpbmNvbWluZyBjb25uZWN0aW9ucy4iLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dCI6Ik1heGltdW0gdGltZSB0aGUgc2VydmVyIHNob3VsZCB3YWl0IGZvciBhIGtlZXBhbGl2ZSBwaW5nIHJlc3BvbnNlIGJlZm9yZSBjb25zaWRlcmluZyB0aGUgY29ubmVjdGlvbiBkZWFkLiIsImdycGMta2VlcC1hbGl2ZSI6IkR1cmF0aW9uIGJldHdlZW4gdHdvIHN1Y2Nlc3NpdmUga2VlcGFsaXZlIHBpbmcgbWVzc2FnZXMgd2hlbiB0aGVyZSBpcyBubyBhY3RpdmUgUlBDIGNhbGwuIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzIjoiTWluaW11bSBhbW91bnQgb2YgdGltZSB0aGUgc2VydmVyIHNob3VsZCB3YWl0IGJldHdlZW4gc2VuZGluZyBrZWVwYWxpdmUgcGluZyBtZXNzYWdlcyIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YSI6Ik1heGltdW0gbnVtYmVyIG9mIGtlZXBhbGl2ZSBwaW5nIG1lc3NhZ2VzIHRoYXQgdGhlIHNlcnZlciBjYW4gc2VuZCB3aXRob3V0IHJlY2VpdmluZyBhbnkgZGF0YSBiZWZvcmUgaXQgY29uc2lkZXJzIHRoZSBjb25uZWN0aW9uIGRlYWQuIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEiOiJNaW5pbXVtIGFtb3VudCBvZiB0aW1lIHRoZSBzZXJ2ZXIgc2hvdWxkIHdhaXQgYmV0d2VlbiBzZW5kaW5nIGtlZXBhbGl2ZSBwaW5nIG1lc3NhZ2VzIHdoZW4gdGhlcmUgaXMgbm8gZGF0YSBiZWluZyBzZW50IG9yIHJlY2VpdmVkLiIsInBlcm1pdC13aXRob3V0LWNhbGxzIjoiQWxsb3cgc2VydmVyIHRvIGtlZXAgdGhlIEdSUEMgY29ubmVjdGlvbiBhbGl2ZSBldmVuIHdoZW4gdGhlcmUgYXJlIG5vIGFjdGl2ZSBSUEMgY2FsbHMuIiwicGF0aC1pbi1vcyI6IlBhdGggaW4gZ2F0ZXdheSBvcy4iLG1lbW9yeToiWW91ciBkYXRhIHdpbGwgYmUgc3RvcmVkIGluIHRoZSBpbi1tZW1vcnkgcXVldWUsIGl0IGlzIGEgZmFzdGVzdCBidXQgbm8gcGVyc2lzdGVuY2UgZ3VhcmFudGVlLiIsZmlsZToiWW91ciBkYXRhIHdpbGwgYmUgc3RvcmVkIGluIHNlcGFyYXRlZCBmaWxlcyBhbmQgd2lsbCBiZSBzYXZlZCBldmVuIGFmdGVyIHRoZSBnYXRld2F5IHJlc3RhcnQuIixzcWxpdGU6IllvdXIgZGF0YSB3aWxsIGJlIHN0b3JlZCBpbiBmaWxlIGJhc2VkIGRhdGFiYXNlLiBBbmQgd2lsbCBiZSBzYXZlZCBldmVuIGFmdGVyIHRoZSBnYXRld2F5IHJlc3RhcnQuIiwib3BjLXRpbWVvdXQiOiJUaW1lb3V0IGluIG1pbGxpc2Vjb25kcyBmb3IgY29ubmVjdGluZyB0byBPUEMtVUEgc2VydmVyLiIsInNlY3VyaXR5LXBvbGljeSI6IlNlY3VyaXR5IFBvbGljeSBkZWZpbmVzIHRoZSBzZWN1cml0eSBtZWNoYW5pc21zIHRvIGJlIGFwcGxpZWQuIiwic2Nhbi1wZXJpb2QiOiJQZXJpb2QgaW4gbWlsbGlzZWNvbmRzIHRvIHJlc2NhbiB0aGUgc2VydmVyLiIsInN1Yi1jaGVjay1wZXJpb2QiOiJQZXJpb2QgdG8gY2hlY2sgdGhlIHN1YnNjcmlwdGlvbnMgaW4gdGhlIE9QQy1VQSBzZXJ2ZXIuIiwiZW5hYmxlLXN1YnNjcmlwdGlvbiI6IklmIHRydWUgLSB0aGUgZ2F0ZXdheSB3aWxsIHN1YnNjcmliZSB0byBpbnRlcmVzdGluZyBub2RlcyBhbmQgd2FpdCBmb3IgZGF0YSB1cGRhdGUgYW5kIGlmIGZhbHNlIC0gdGhlIGdhdGV3YXkgd2lsbCByZXNjYW4gT1BDLVVBIHNlcnZlciBldmVyeSBzY2FuUGVyaW9kSW5NaWxsaXMuIiwic2hvdy1tYXAiOiJTaG93IG5vZGVzIG9uIHNjYW5uaW5nLiIsIm1ldGhvZC1uYW1lIjoiTmFtZSBvZiBtZXRob2Qgb24gT1BDLVVBIHNlcnZlci4iLGFyZ3VtZW50czoiQXJndW1lbnRzIGZvciB0aGUgbWV0aG9kICh3aWxsIGJlIG92ZXJ3cml0dGVuIGJ5IGFyZ3VtZW50cyBmcm9tIHRoZSBSUEMgcmVxdWVzdCkuIiwibWluLXBhY2stc2l6ZS10by1zZW5kIjoiTWluaW11bSBwYWNrYWdlIHNpemUgZm9yIHNlbmRpbmcuIiwibWF4LXBheWxvYWQtc2l6ZS1ieXRlcyI6Ik1heGltdW0gcGFja2FnZSBzaXplIGluIGJ5dGVzIiwicG9sbC1wZXJpb2QiOiJQZXJpb2QgaW4gbWlsbGlzZWNvbmRzIHRvIHJlYWQgZGF0YSBmcm9tIG5vZGVzLiIsbW9kYnVzOnsiZnJhbWVyLXR5cGUiOiJUeXBlIG9mIGEgZnJhbWVyIChTb2NrZXQsIFJUVSwgb3IgQVNDSUkpLCBpZiBuZWVkZWQuIixob3N0OiJIb3N0bmFtZSBvciBJUCBhZGRyZXNzIG9mIE1vZGJ1cyBzZXJ2ZXIuIixwb3J0OiJNb2RidXMgc2VydmVyIHBvcnQgZm9yIGNvbm5lY3Rpb24uIiwidW5pdC1pZCI6Ik1vZGJ1cyBzbGF2ZSBJRC4iLCJjb25uZWN0aW9uLXRpbWVvdXQiOiJDb25uZWN0aW9uIHRpbWVvdXQgKGluIHNlY29uZHMpIGZvciB0aGUgTW9kYnVzIHNlcnZlci4iLCJieXRlLW9yZGVyIjoiQnl0ZSBvcmRlciBmb3IgcmVhZGluZyBkYXRhLiIsIndvcmQtb3JkZXIiOiJXb3JkIG9yZGVyIHdoZW4gcmVhZGluZyBtdWx0aXBsZSByZWdpc3RlcnMuIixyZXRyaWVzOiJSZXRyeWluZyBkYXRhIHRyYW5zbWlzc2lvbiB0byB0aGUgbWFzdGVyLiBBY2NlcHRhYmxlIHZhbHVlczogdHJ1ZSBvciBmYWxzZS4iLCJyZXRyaWVzLW9uLWVtcHR5IjoiUmV0cnkgc2VuZGluZyBkYXRhIHRvIHRoZSBtYXN0ZXIgaWYgdGhlIGRhdGEgaXMgZW1wdHkuIiwicmV0cmllcy1vbi1pbnZhbGlkIjoiUmV0cnkgc2VuZGluZyBkYXRhIHRvIHRoZSBtYXN0ZXIgaWYgaXQgZmFpbHMuIiwicG9sbC1wZXJpb2QiOiJQZXJpb2QgaW4gbWlsbGlzZWNvbmRzIHRvIGNoZWNrIGF0dHJpYnV0ZXMgYW5kIHRlbGVtZXRyeSBvbiB0aGUgc2xhdmUuIiwiY29ubmVjdC1hdHRlbXB0LXRpbWUiOiJBIHdhaXRpbmcgcGVyaW9kIGluIG1pbGxpc2Vjb25kcyBiZWZvcmUgZXN0YWJsaXNoaW5nIGEgY29ubmVjdGlvbiB0byB0aGUgbWFzdGVyLiIsImNvbm5lY3QtYXR0ZW1wdC1jb3VudCI6IlRoZSBudW1iZXIgb2YgY29ubmVjdGlvbiBhdHRlbXB0cyBtYWRlIHRocm91Z2ggdGhlIGdhdGV3YXkuIiwid2FpdC1hZnRlci1mYWlsZWQtYXR0ZW1wdHMiOiJBIHdhaXRpbmcgcGVyaW9kIGluIG1pbGxpc2Vjb25kcyBiZWZvcmUgYXR0ZW1wdGluZyB0byBzZW5kIGRhdGEgdG8gdGhlIG1hc3Rlci4iLCJzZXJpYWwtcG9ydCI6IlNlcmlhbCBwb3J0IGZvciBjb25uZWN0aW9uLiIsYmF1ZHJhdGU6IkJhdWQgcmF0ZSBmb3IgdGhlIHNlcmlhbCBkZXZpY2UuIixzdG9wYml0czoiVGhlIG51bWJlciBvZiBzdG9wIGJpdHMgc2VudCBhZnRlciBlYWNoIGNoYXJhY3RlciBpbiBhIG1lc3NhZ2UgdG8gaW5kaWNhdGUgdGhlIGVuZCBvZiB0aGUgYnl0ZS4iLGJ5dGVzaXplOiJUaGUgbnVtYmVyIG9mIGJpdHMgaW4gYSBieXRlIG9mIHNlcmlhbCBkYXRhLiBUaGlzIGNhbiBiZSBvbmUgb2YgNSwgNiwgNywgb3IgOC4iLHBhcml0eToiVGhlIHR5cGUgb2YgY2hlY2tzdW0gdXNlZCB0byB2ZXJpZnkgZGF0YSBpbnRlZ3JpdHkuIE9wdGlvbnM6IChFKXZlbiwgKE8pZGQsIChOKW9uZS4iLHN0cmljdDoiVXNlIGludGVyLWNoYXJhY3RlciB0aW1lb3V0IGZvciBiYXVkcmF0ZXMg4omkIDE5MjAwLiIsIm9iamVjdHMtY291bnQiOiJEZXBlbmRzIG9uIHRoZSBzZWxlY3RlZCB0eXBlLiIsYWRkcmVzczoiUmVnaXN0ZXIgYWRkcmVzcyB0byB2ZXJpZnkuIixrZXk6IktleSB0byBiZSB1c2VkIGFzIHRoZSBhdHRyaWJ1dGUga2V5IGZvciB0aGUgcGxhdGZvcm0gaW5zdGFuY2UuIiwiZGF0YS1rZXlzIjoiRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgZnVuY3Rpb24gY29kZXMgYW5kIGRhdGEgdHlwZXMgY2xpY2sgb24gaGVscCBpY29uIixtb2RpZmllcjoiVGhlIHJldHJpZXZlZCB2YWx1ZSB3aWxsIGJlIGFkanVzdGVkIChieSBtdWx0aXBseWluZyBvciBkaXZpZGluZyBpdCkgYmFzZWQgb24gdGhlIHNwZWNpZmllZCBtb2RpZmllciB2YWx1ZS4ifX19fSxSbz17ImFkZC1lbnRyeSI6Itil2LbYp9mB2Kkg2KrZg9mI2YrZhiIsYWR2YW5jZWQ6ItmF2KrZgtiv2YUiLCJjaGVja2luZy1kZXZpY2UtYWN0aXZpdHkiOiLZgdit2LUg2YbYtNin2Lcg2KfZhNis2YfYp9iyIixjb21tYW5kOiLYo9mI2KfZhdixIERvY2tlciIsImNvbW1hbmQtY29waWVkLW1lc3NhZ2UiOiLYqtmFINmG2LPYriDYo9mF2LEgRG9ja2VyINil2YTZiSDYp9mE2K3Yp9mB2LjYqSIsY29uZmlndXJhdGlvbjoi2KfZhNiq2YPZiNmK2YYiLCJjb25uZWN0b3ItYWRkIjoi2KXYttin2YHYqSDZhdmI2LXZhCDYrNiv2YrYryIsImNvbm5lY3Rvci1lbmFibGVkIjoi2KrZhdmD2YrZhiDYp9mE2YXZiNi12YQiLCJjb25uZWN0b3ItbmFtZSI6Itin2LPZhSDYp9mE2YXZiNi12YQiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6Itin2LPZhSDYp9mE2YXZiNi12YQg2YXYt9mE2YjYqC4iLCJjb25uZWN0b3ItdHlwZSI6ItmG2YjYuSDYp9mE2YXZiNi12YQiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6ItmG2YjYuSDYp9mE2YXZiNi12YQg2YXYt9mE2YjYqC4iLGNvbm5lY3RvcnM6Itin2YTZhdmI2LXZhNin2KoiLCJjb25uZWN0b3JzLWNvbmZpZyI6Itiq2YPZiNmK2YbYp9iqINin2YTZhdmI2LXZhNin2KoiLCJjb25uZWN0b3JzLXRhYmxlLWVuYWJsZWQiOiLZhdmF2YPZkdmGIiwiY29ubmVjdG9ycy10YWJsZS1uYW1lIjoi2KfZhNin2LPZhSIsImNvbm5lY3RvcnMtdGFibGUtdHlwZSI6Itin2YTZhtmI2LkiLCJjb25uZWN0b3JzLXRhYmxlLXN0YXR1cyI6Itin2YTYrdin2YTYqSIsImNvbm5lY3RvcnMtdGFibGUtYWN0aW9ucyI6Itin2YTYpdis2LHYp9ih2KfYqiIsImNvbm5lY3RvcnMtdGFibGUta2V5Ijoi2KfZhNmF2YHYqtin2K0iLCJjb25uZWN0b3JzLXRhYmxlLWNsYXNzIjoi2KfZhNmB2KbYqSIsInJwYy1jb21tYW5kLXNlbmQiOiLYpdix2LPYp9mEIiwicnBjLWNvbW1hbmQtcmVzdWx0Ijoi2KfZhNin2LPYqtis2KfYqNipIiwicnBjLWNvbW1hbmQtZWRpdC1wYXJhbXMiOiLYqtit2LHZitixINin2YTZhdi52YTZhdin2KoiLCJnYXRld2F5LWNvbmZpZ3VyYXRpb24iOiLYqtmD2YjZitmGINi52KfZhSIsImRvY2tlci1sYWJlbCI6Itin2LPYqtiu2K/ZhSDYp9mE2KrYudmE2YrZhdin2Kog2KfZhNiq2KfZhNmK2Kkg2YTYqti02LrZitmEIElvVCBHYXRld2F5INmB2YogRG9ja2VyIGNvbXBvc2Ug2YXYuSDYqNmK2KfZhtin2Kog2KfYudiq2YXYp9ivINmE2YTYrNmH2KfYsiDYp9mE2YXYrdiv2K8iLCJpbnN0YWxsLWRvY2tlci1jb21wb3NlIjoi2KfYs9iq2K7Yr9mFINin2YTYqti52YTZitmF2KfYqiDZhNiq2YbYstmK2YQg2YjYqtir2KjZitiqINmI2KXYudiv2KfYryBkb2NrZXIgY29tcG9zZSIsImRvd25sb2FkLWNvbmZpZ3VyYXRpb24tZmlsZSI6Itiq2YbYstmK2YQg2YXZhNmBINin2YTYqtmD2YjZitmGIiwiZG93bmxvYWQtZG9ja2VyLWNvbXBvc2UiOiLYqtmG2LLZitmEIGRvY2tlci1jb21wb3NlLnltbCDZhNio2YjYp9io2KrZgyIsImxhdW5jaC1nYXRld2F5Ijoi2KrYtNi62YrZhCDYp9mE2KjZiNin2KjYqSIsImxhdW5jaC1kb2NrZXItY29tcG9zZSI6Itio2K/YoSDYqti02LrZitmEINin2YTYqNmI2KfYqNipINio2KfYs9iq2K7Yr9in2YUg2KfZhNij2YXYsSDYp9mE2KrYp9mE2Yog2YHZiiDYp9mE2LfYsdmB2YrYqSDZhdmGINin2YTZhdis2YTYryDYp9mE2LDZiiDZitit2KrZiNmKINi52YTZiSDZhdmE2YEgZG9ja2VyLWNvbXBvc2UueW1sIiwiY3JlYXRlLW5ldy1nYXRld2F5Ijoi2KXZhti02KfYoSDYqNmI2KfYqNipINis2K/Zitiv2KkiLCJjcmVhdGUtbmV3LWdhdGV3YXktdGV4dCI6ItmH2YQg2KPZhtiqINmF2KrYo9mD2K8g2KPZhtmDINiq2LHZitivINil2YbYtNin2KEg2KjZiNin2KjYqSDYrNiv2YrYr9ipINio2KfYs9mFOiAne3tnYXRld2F5TmFtZX19J9ifIiwiY3JlYXRlZC10aW1lIjoi2YjZgtiqINin2YTYpdmG2LTYp9ihIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWhlYWRlciI6Itiz2YrYqtmFINit2LDZgSDYp9mE2KrZg9mI2YrZhtin2KoiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctYm9keSI6ItmK2YXZg9mGINiq2LnYt9mK2YQg2KfZhNiq2YPZiNmK2YYg2LnZhiDYqNmP2LnYryDZgdmC2Lcg2KXYsNinINmD2KfZhiDZh9mG2KfZgyDZiNi12YjZhCDYrNiz2K/ZiiDYpdmE2Ykg2KfZhNio2YjYp9io2KkuINiz2KrYqtmFINit2LDZgSDYrNmF2YrYuSDYp9mE2KrZg9mI2YrZhtin2Kog2KfZhNiz2KfYqNmC2KkuPGJyPjxicj4gXG4g2YTYqti52LfZitmEINin2YTYqtmD2YjZitmG2Iwg2KPYr9iu2YQg2KfYs9mFINin2YTYqNmI2KfYqNipINij2K/Zhtin2YciLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaW5wdXQiOiLYp9iz2YUg2KfZhNio2YjYp9io2KkiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaW5wdXQtcmVxdWlyZWQiOiLYp9iz2YUg2KfZhNio2YjYp9io2Kkg2KXZhNiy2KfZhdmKIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWNvbmZpcm0iOiLYpdmK2YLYp9mBINin2YTYqti02LrZitmEIixkZWxldGU6Itit2LDZgSDYp9mE2KrZg9mI2YrZhiIsImRvd25sb2FkLXRpcCI6Itiq2YbYstmK2YQg2YXZhNmBINin2YTYqtmD2YjZitmGIiwiZHJvcC1maWxlIjoi2KPZgdmE2YIg2KfZhNmF2YTZgSDZh9mG2Kcg2KPZiCIsZ2F0ZXdheToi2KfZhNio2YjYp9io2KkiLCJnYXRld2F5LWV4aXN0cyI6Itin2YTYrNmH2KfYsiDYqNmG2YHYsyDYp9mE2KfYs9mFINmF2YjYrNmI2K8g2KjYp9mE2YHYudmELiIsImdhdGV3YXktbmFtZSI6Itin2LPZhSDYp9mE2KjZiNin2KjYqSIsImdhdGV3YXktbmFtZS1yZXF1aXJlZCI6Itin2LPZhSDYp9mE2KjZiNin2KjYqSDZhdi32YTZiNioLiIsImdhdGV3YXktc2F2ZWQiOiLYqtmFINit2YHYuCDYqtmD2YjZitmGINin2YTYqNmI2KfYqNipINio2YbYrNin2K0uIixncnBjOiJHUlBDIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQiOiLZhdmH2YTYqSDYp9mE2KjZgtin2KEg2LnZhNmJINmC2YrYryDYp9mE2K3Zitin2KkgKNio2KfZhNmF2YTZhNmKINir2KfZhtmK2KkpIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcmVxdWlyZWQiOiLZhdmH2YTYqSDYp9mE2KjZgtin2KEg2LnZhNmJINmC2YrYryDYp9mE2K3Zitin2Kkg2YXYt9mE2YjYqNipIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtbWluIjoi2YXZh9mE2Kkg2KfZhNio2YLYp9ihINi52YTZiSDZgtmK2K8g2KfZhNit2YrYp9ipINmE2Kcg2YrZhdmD2YYg2KPZhiDYqtmD2YjZhiDYo9mC2YQg2YXZhiAxIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcGF0dGVybiI6ItmF2YfZhNipINin2YTYqNmC2KfYoSDYudmE2Ykg2YLZitivINin2YTYrdmK2KfYqSDYutmK2LEg2LXYp9mE2K3YqSIsImdycGMta2VlcC1hbGl2ZSI6Itin2YTYqNmC2KfYoSDYudmE2Ykg2YLZitivINin2YTYrdmK2KfYqSAo2KjYp9mE2YXZhNmE2Yog2KvYp9mG2YrYqSkiLCJncnBjLWtlZXAtYWxpdmUtcmVxdWlyZWQiOiLYp9mE2KjZgtin2KEg2LnZhNmJINmC2YrYryDYp9mE2K3Zitin2Kkg2YXYt9mE2YjYqCIsImdycGMta2VlcC1hbGl2ZS1taW4iOiLYp9mE2KjZgtin2KEg2LnZhNmJINmC2YrYryDYp9mE2K3Zitin2Kkg2YTYpyDZitmF2YPZhiDYo9mGINmK2YPZiNmGINij2YLZhCDZhdmGIDEiLCJncnBjLWtlZXAtYWxpdmUtcGF0dGVybiI6Itin2YTYqNmC2KfYoSDYudmE2Ykg2YLZitivINin2YTYrdmK2KfYqSDYutmK2LEg2LXYp9mE2K0iLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MiOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTZhNmI2YLYqiDYqNmK2YYg2KfZhNio2YrZhti62KfYqiAo2KjYp9mE2YXZhNmE2Yog2KvYp9mG2YrYqSkiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcmVxdWlyZWQiOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTZhNmI2YLYqiDYqNmK2YYg2KfZhNio2YrZhti62KfYqiDZhdi32YTZiNioIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLW1pbiI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNmE2YjZgtiqINio2YrZhiDYp9mE2KjZitmG2LrYp9iqINmE2Kcg2YrZhdmD2YYg2KPZhiDZitmD2YjZhiDYo9mC2YQg2YXZhiAxIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLXBhdHRlcm4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTZhNmI2YLYqiDYqNmK2YYg2KfZhNio2YrZhti62KfYqiDYutmK2LEg2LXYp9mE2K0iLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YSI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNmB2KfYtdmEINin2YTYqNmK2YbYuiDYqNiv2YjZhiDYqNmK2KfZhtin2KogKNio2KfZhNmF2YTZhNmKINir2KfZhtmK2KkpIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcmVxdWlyZWQiOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTZgdin2LXZhCDYp9mE2KjZitmG2Log2KjYr9mI2YYg2KjZitin2YbYp9iqINmF2LfZhNmI2KgiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1taW4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTZgdin2LXZhCDYp9mE2KjZitmG2Log2KjYr9mI2YYg2KjZitin2YbYp9iqINmE2Kcg2YrZhdmD2YYg2KPZhiDZitmD2YjZhiDYo9mC2YQg2YXZhiAxIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcGF0dGVybiI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNmB2KfYtdmEINin2YTYqNmK2YbYuiDYqNiv2YjZhiDYqNmK2KfZhtin2Kog2LrZitixINi12KfZhNitIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINin2YTYqNmK2YbYutin2Kog2KjYr9mI2YYg2KjZitin2YbYp9iqIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXJlcXVpcmVkIjoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINin2YTYqNmK2YbYutin2Kog2KjYr9mI2YYg2KjZitin2YbYp9iqINmF2LfZhNmI2KgiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtbWluIjoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINin2YTYqNmK2YbYutin2Kog2KjYr9mI2YYg2KjZitin2YbYp9iqINmE2Kcg2YrZhdmD2YYg2KPZhiDZitmD2YjZhiDYo9mC2YQg2YXZhiAxIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiLYp9mE2K3YryDYp9mE2KPZgti12Ykg2YTYudiv2K8g2KfZhNio2YrZhti62KfYqiDYqNiv2YjZhiDYqNmK2KfZhtin2Kog2LrZitixINi12KfZhNitIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcyI6ItmB2KrYsdipINmB2K3YtSDYp9mE2K7ZhdmI2YQgKNio2KfZhNir2YjYp9mG2YopIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1yZXF1aXJlZCI6ItmB2KrYsdipINmB2K3YtSDYp9mE2K7ZhdmI2YQg2YXYt9mE2YjYqNipIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1taW4iOiLZgdiq2LHYqSDZgdit2LUg2KfZhNiu2YXZiNmEINmE2Kcg2YrZhdmD2YYg2KPZhiDYqtmD2YjZhiDYo9mC2YQg2YXZhiAxIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1wYXR0ZXJuIjoi2YHYqtix2Kkg2YHYrdi1INin2YTYrtmF2YjZhCDYutmK2LEg2LXYp9mE2K3YqSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzIjoi2YHYqtix2Kkg2KfZhNiu2YXZiNmEICjYqNin2YTYq9mI2KfZhtmKKSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLXJlcXVpcmVkIjoi2YHYqtix2Kkg2KfZhNiu2YXZiNmEINmF2LfZhNmI2KjYqSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLW1pbiI6ItmB2KrYsdipINin2YTYrtmF2YjZhCDZhNinINmK2YXZg9mGINij2YYg2KrZg9mI2YYg2KPZgtmEINmF2YYgMSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLXBhdHRlcm4iOiLZgdiq2LHYqSDYp9mE2K7ZhdmI2YQg2LrZitixINi12KfZhNit2KkiLCJqc29uLXBhcnNlIjoiSlNPTiDYutmK2LEg2LXYp9mE2K0uIiwianNvbi1yZXF1aXJlZCI6Itin2YTYrdmC2YQg2YTYpyDZitmF2YPZhiDYo9mGINmK2YPZiNmGINmB2KfYsdi62YvYpy4iLGxvZ3M6e2xvZ3M6Itin2YTYs9is2YTYp9iqIixkYXlzOiLYo9mK2KfZhSIsaG91cnM6Itiz2KfYudin2KoiLG1pbnV0ZXM6Itiv2YLYp9im2YIiLHNlY29uZHM6Itir2YjYp9mG2YoiLCJkYXRlLWZvcm1hdCI6Itiq2YbYs9mK2YIg2KfZhNiq2KfYsdmK2K4iLCJkYXRlLWZvcm1hdC1yZXF1aXJlZCI6Itiq2YbYs9mK2YIg2KfZhNiq2KfYsdmK2K4g2YXYt9mE2YjYqCIsImxvZy1mb3JtYXQiOiLYqtmG2LPZitmCINin2YTYs9is2YQiLCJsb2ctdHlwZSI6ItmG2YjYuSDYp9mE2LPYrNmEIiwibG9nLWZvcm1hdC1yZXF1aXJlZCI6Itiq2YbYs9mK2YIg2KfZhNiz2KzZhCDZhdi32YTZiNioIixyZW1vdGU6Itin2YTYqtiz2KzZitmEINi52YYg2KjZj9i52K8iLCJyZW1vdGUtbG9ncyI6Itin2YTYs9is2YTYp9iqINi52YYg2KjZj9i52K8iLGxvY2FsOiLYp9mE2KrYs9is2YrZhCDYp9mE2YXYrdmE2YoiLGxldmVsOiLZhdiz2KrZiNmJINin2YTYs9is2YQiLCJmaWxlLXBhdGgiOiLZhdiz2KfYsSDYp9mE2YXZhNmBIiwiZmlsZS1wYXRoLXJlcXVpcmVkIjoi2YXYs9in2LEg2KfZhNmF2YTZgSDZhdi32YTZiNioIiwic2F2aW5nLXBlcmlvZCI6ItmB2KrYsdipINit2YHYuCDYp9mE2LPYrNmEIiwic2F2aW5nLXBlcmlvZC1taW4iOiLZgdiq2LHYqSDYrdmB2Lgg2KfZhNiz2KzZhCDZhNinINmK2YXZg9mGINij2YYg2KrZg9mI2YYg2KPZgtmEINmF2YYgMSIsInNhdmluZy1wZXJpb2QtcmVxdWlyZWQiOiLZgdiq2LHYqSDYrdmB2Lgg2KfZhNiz2KzZhCDZhdi32YTZiNio2KkiLCJiYWNrdXAtY291bnQiOiLYudiv2K8g2KfZhNmG2LPYriDYp9mE2KfYrdiq2YrYp9i32YrYqSIsImJhY2t1cC1jb3VudC1taW4iOiLYudiv2K8g2KfZhNmG2LPYriDYp9mE2KfYrdiq2YrYp9i32YrYqSDZhNinINmK2YXZg9mGINij2YYg2YrZg9mI2YYg2KPZgtmEINmF2YYgMSIsImJhY2t1cC1jb3VudC1yZXF1aXJlZCI6Iti52K/YryDYp9mE2YbYs9iuINin2YTYp9it2KrZitin2LfZitipINmF2LfZhNmI2KgifSwibWluLXBhY2stc2VuZC1kZWxheSI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNiq2KPYrtmK2LEg2KXYsdiz2KfZhCDYp9mE2K3YstmF2KkgKNio2KfZhNmF2YTZhNmKINir2KfZhtmK2KkpIiwibWluLXBhY2stc2VuZC1kZWxheS1yZXF1aXJlZCI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNiq2KPYrtmK2LEg2KXYsdiz2KfZhCDYp9mE2K3YstmF2Kkg2YXYt9mE2YjYqCIsIm1pbi1wYWNrLXNlbmQtZGVsYXktbWluIjoi2YTYpyDZitmF2YPZhiDYo9mGINmK2YPZiNmGINin2YTYrdivINin2YTYo9iv2YbZiSDZhNiq2KPYrtmK2LEg2KXYsdiz2KfZhCDYp9mE2K3YstmF2Kkg2KPZgtmEINmF2YYgMCIsIm5vLWNvbm5lY3RvcnMiOiLZhNinINiq2YjYrNivINmF2YjYtdmE2KfYqiIsIm5vLWRhdGEiOiLZhNinINiq2YjYrNivINiq2YPZiNmK2YbYp9iqIiwibm8tZ2F0ZXdheS1mb3VuZCI6ItmE2YUg2YrYqtmFINin2YTYudir2YjYsSDYudmE2Ykg2KjZiNin2KjYqS4iLCJuby1nYXRld2F5LW1hdGNoaW5nIjoiJ3t7aXRlbX19JyDYutmK2LEg2YXZiNis2YjYry4iLCJwYXRoLWxvZ3MiOiLZhdiz2KfYsSDYpdmE2Ykg2YXZhNmB2KfYqiDYp9mE2LPYrNmEIiwicGF0aC1sb2dzLXJlcXVpcmVkIjoi2KfZhNmF2LPYp9ixINmF2LfZhNmI2KguIiwicGVybWl0LXdpdGhvdXQtY2FsbHMiOiLYp9mE2KjZgtin2KEg2LnZhNmJINin2YTYrdmK2KfYqSDZitiz2YXYrSDYqNiv2YjZhiDZhdmD2KfZhNmF2KfYqiIscmVtb3RlOiLYp9mE2KrZg9mI2YrZhiDYudmGINio2Y/YudivIiwicmVtb3RlLWxvZ2dpbmctbGV2ZWwiOiLZhdiz2KrZiNmJINin2YTYqtiz2KzZitmEIiwicmVtb3ZlLWVudHJ5Ijoi2KXYstin2YTYqSDYp9mE2KrZg9mI2YrZhiIsInJlbW90ZS1zaGVsbCI6ItmC2LTYsdipINi52YYg2KjZj9i52K8iLCJyZW1vdGUtY29uZmlndXJhdGlvbiI6Itin2YTYqtmD2YjZitmGINi52YYg2KjZj9i52K8iLG90aGVyOiLYotiu2LEiLCJzYXZlLXRpcCI6Itit2YHYuCDZhdmE2YEg2KfZhNiq2YPZiNmK2YYiLCJzZWN1cml0eS10eXBlIjoi2YbZiNi5INin2YTYo9mF2KfZhiIsInNlY3VyaXR5LXR5cGVzIjp7ImFjY2Vzcy10b2tlbiI6Itix2YXYsiDYp9mE2YjYtdmI2YQiLCJ1c2VybmFtZS1wYXNzd29yZCI6Itin2LPZhSDYp9mE2YXYs9iq2K7Yr9mFINmI2YPZhNmF2Kkg2KfZhNmF2LHZiNixIix0bHM6IlRMUyIsInRscy1hY2Nlc3MtdG9rZW4iOiJUTFMgKyDYsdmF2LIg2KfZhNmI2LXZiNmEIiwidGxzLXByaXZhdGUta2V5IjoiVExTICsg2KfZhNmF2YHYqtin2K0g2KfZhNiu2KfYtSJ9LCJzZXJ2ZXItcG9ydCI6ItmF2YbZgdiwINin2YTYrtin2K/ZhSIsc3RhdGlzdGljczp7c3RhdGlzdGljOiLYpdit2LXYp9im2YrYqSIsc3RhdGlzdGljczoi2KfZhNil2K3Ytdin2KbZitin2KoiLCJzdGF0aXN0aWMtY29tbWFuZHMtZW1wdHkiOiLZhNinINiq2KrZiNmB2LEg2KXYrdi12KfYptmK2KfYqiIsY29tbWFuZHM6Itin2YTYo9mI2KfZhdixIiwic2VuZC1wZXJpb2QiOiLZgdiq2LHYqSDYpdix2LPYp9mEINin2YTYpdit2LXYp9im2YrYp9iqICjYqNin2YTYq9mI2KfZhtmKKSIsInNlbmQtcGVyaW9kLXJlcXVpcmVkIjoi2YHYqtix2Kkg2KXYsdiz2KfZhCDYp9mE2KXYrdi12KfYptmK2KfYqiDZhdi32YTZiNio2KkiLCJzZW5kLXBlcmlvZC1taW4iOiLZhNinINmK2YXZg9mGINij2YYg2KrZg9mI2YYg2YHYqtix2Kkg2KXYsdiz2KfZhCDYp9mE2KXYrdi12KfYptmK2KfYqiDYo9mC2YQg2YXZhiA2MCIsInNlbmQtcGVyaW9kLXBhdHRlcm4iOiLZgdiq2LHYqSDYpdix2LPYp9mEINin2YTYpdit2LXYp9im2YrYp9iqINi62YrYsSDYtdin2YTYrdipIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uIjoi2YHYqtix2Kkg2YHYrdi1INiq2YPZiNmK2YYg2KfZhNmF2YjYtdmE2KfYqiAo2KjYp9mE2KvZiNin2YbZiikiLCJjaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tcmVxdWlyZWQiOiLZgdiq2LHYqSDZgdit2LUg2KrZg9mI2YrZhiDYp9mE2YXZiNi12YTYp9iqINmF2LfZhNmI2KjYqSIsImNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbi1taW4iOiLZhNinINmK2YXZg9mGINij2YYg2KrZg9mI2YYg2YHYqtix2Kkg2YHYrdi1INiq2YPZiNmK2YYg2KfZhNmF2YjYtdmE2KfYqiDYo9mC2YQg2YXZhiAxIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXBhdHRlcm4iOiLZgdiq2LHYqSDZgdit2LUg2KrZg9mI2YrZhiDYp9mE2YXZiNi12YTYp9iqINi62YrYsSDYtdin2YTYrdipIixhZGQ6Itil2LbYp9mB2Kkg2KPZhdixIix0aW1lb3V0OiLYp9mE2YXZh9mE2KkiLCJ0aW1lb3V0LW1zIjoi2KfZhNmF2YfZhNipICjYqNin2YTZhdmE2YTZiiDYq9in2YbZitipKSIsInRpbWVvdXQtcmVxdWlyZWQiOiLYp9mE2YXZh9mE2Kkg2YXYt9mE2YjYqNipIiwidGltZW91dC1taW4iOiLZhNinINmK2YXZg9mGINij2YYg2KrZg9mI2YYg2KfZhNmF2YfZhNipINij2YLZhCDZhdmGIDEiLCJ0aW1lb3V0LXBhdHRlcm4iOiLYp9mE2YXZh9mE2Kkg2LrZitixINi12KfZhNit2KkiLCJhdHRyaWJ1dGUtbmFtZSI6Itin2LPZhSDYp9mE2LPZhdipIiwiYXR0cmlidXRlLW5hbWUtcmVxdWlyZWQiOiLYp9iz2YUg2KfZhNiz2YXYqSDZhdi32YTZiNioIixjb21tYW5kOiLYp9mE2KPZhdixIiwiY29tbWFuZC1yZXF1aXJlZCI6Itin2YTYo9mF2LEg2YXYt9mE2YjYqCIsImNvbW1hbmQtcGF0dGVybiI6Itin2YTYo9mF2LEg2LrZitixINi12KfZhNitIixyZW1vdmU6Itil2LLYp9mE2Kkg2KfZhNij2YXYsSJ9LHN0b3JhZ2U6Itin2YTYqtiu2LLZitmGIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoi2KfZhNiz2KzZhNin2Kog2KfZhNmC2LXZiNmJINmB2Yog2KfZhNmF2YTZgSIsInN0b3JhZ2UtbWF4LWZpbGVzIjoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINin2YTZhdmE2YHYp9iqIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoi2KfZhNit2K8g2KfZhNij2K/ZhtmJINmH2YggMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoi2KfZhNi52K/YryDYutmK2LEg2LXYp9mE2K0uIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiLYp9mE2LnYr9ivINmF2LfZhNmI2KguIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Itin2YTYs9is2YTYp9iqINin2YTZgti12YjZiSDZgdmKINin2YTYqtiu2LLZitmGIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1taW4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTYudiv2K8g2KfZhNiz2KzZhNin2Kog2YfZiCAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6Itin2YTYudiv2K8g2LrZitixINi12KfZhNitLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiLYp9mE2LPYrNmE2KfYqiDYp9mE2YLYtdmI2Ykg2YXYt9mE2YjYqNipLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQiOiLYudiv2K8g2YLYsdin2KHYqSDYp9mE2LPYrNmE2KfYqiDZgdmKINin2YTYqtiu2LLZitmGIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1taW4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YTYudiv2K8g2KfZhNiz2KzZhNin2Kog2YfZiCAxLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVybiI6Itin2YTYudiv2K8g2LrZitixINi12KfZhNitLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcmVxdWlyZWQiOiLYudiv2K8g2YLYsdin2KHYqSDYp9mE2LPYrNmE2KfYqiDZhdi32YTZiNioLiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50Ijoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINmC2LHYp9ih2Kkg2KfZhNiz2KzZhNin2Kog2YHZiiDYp9mE2KrYrtiy2YrZhiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LW1pbiI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNi52K/YryDYp9mE2LPYrNmE2KfYqiDZh9mIIDEuIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVybiI6Itin2YTYudiv2K8g2LrZitixINi12KfZhNitLiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkIjoi2LnYr9ivINin2YTZgtix2KfYodipINin2YTZgti12YjZiSDZhdi32YTZiNioLiIsInN0b3JhZ2UtZGF0YS1mb2xkZXItcGF0aCI6ItmF2LPYp9ixINmF2KzZhNivINin2YTYqNmK2KfZhtin2KoiLCJzdG9yYWdlLWRhdGEtZm9sZGVyLXBhdGgtcmVxdWlyZWQiOiLZhdiz2KfYsSDZhdis2YTYryDYp9mE2KjZitin2YbYp9iqINmF2LfZhNmI2KguIiwic3RvcmFnZS1wYWNrLXNpemUiOiLYp9mE2K3YryDYp9mE2KPZgti12Ykg2YTYrdis2YUg2K3YstmF2Kkg2KfZhNit2K/YqyIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZh9mIIDEuIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6Itin2YTYudiv2K8g2LrZitixINi12KfZhNitLiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoi2KfZhNit2KzZhSDYp9mE2KPZgti12Ykg2YTYrdiy2YXYqSDYp9mE2K3Yr9irINmF2LfZhNmI2KguIiwic3RvcmFnZS1wYXRoIjoi2YXYs9in2LEg2KfZhNiq2K7YstmK2YYiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiLZhdiz2KfYsSDYp9mE2KrYrtiy2YrZhiDZhdi32YTZiNioLiIsInN0b3JhZ2UtdHlwZSI6ItmG2YjYuSDYp9mE2KrYrtiy2YrZhiIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoi2KrYrtiy2YrZhiDYp9mE2YXZhNmB2KfYqiIsIm1lbW9yeS1zdG9yYWdlIjoi2KrYrtiy2YrZhiDYp9mE2LDYp9mD2LHYqSIsc3FsaXRlOiJTUUxJVEUifSx0aGluZ3Nib2FyZDoi2KvZitmG2LrYstio2YjYsdivIixnZW5lcmFsOiLYudin2YUiLCJ0aGluZ3Nib2FyZC1ob3N0Ijoi2YXYttmK2YEg2KvZitmG2LrYstio2YjYsdivIiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6Itin2YTZhdi22YrZgSDZhdi32YTZiNioLiIsInRoaW5nc2JvYXJkLXBvcnQiOiLZhdmG2YHYsCDYq9mK2YbYutiy2KjZiNix2K8iLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6Itin2YTYrdivINin2YTYo9mC2LXZiSDZhNix2YLZhSDYp9mE2YXZhtmB2LAg2YfZiCA2NTUzNS4iLCJ0aGluZ3Nib2FyZC1wb3J0LW1pbiI6Itin2YTYrdivINin2YTYo9iv2YbZiSDZhNix2YLZhSDYp9mE2YXZhtmB2LAg2YfZiCAxLiIsInRoaW5nc2JvYXJkLXBvcnQtcGF0dGVybiI6Itin2YTZhdmG2YHYsCDYutmK2LEg2LXYp9mE2K0uIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6Itin2YTZhdmG2YHYsCDZhdi32YTZiNioLiIsdGlkeToi2KrYsdiq2YrYqCIsInRpZHktdGlwIjoi2KrYsdiq2YrYqCDYqtmD2YjZitmGIEpTT04iLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiLYqtmD2YjZitmGINmF2YjYtdmEIHt7dHlwZU5hbWV9fSIsInRscy1wYXRoLWNhLWNlcnRpZmljYXRlIjoi2KfZhNmF2LPYp9ixINil2YTZiSDYtNmH2KfYr9ipIENBINi52YTZiSDYp9mE2KjZiNin2KjYqSIsInRscy1wYXRoLWNsaWVudC1jZXJ0aWZpY2F0ZSI6Itin2YTZhdiz2KfYsSDYpdmE2Ykg2LTZh9in2K/YqSDYp9mE2LnZhdmK2YQg2LnZhNmJINin2YTYqNmI2KfYqNipIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzIjoi2YHYrdi1IFRUTCDYp9mE2LHYs9in2KbZhCDYqNin2YTYs9in2LnYp9iqIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXJlcXVpcmVkIjoi2YrYrNioINiq2K3Yr9mK2K8g2YHYrdi1IFRUTCDYp9mE2LHYs9in2KbZhCDYqNin2YTYs9in2LnYp9iqLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1taW4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YfZiCAxLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1wYXR0ZXJuIjoi2KfZhNix2YLZhSDYutmK2LEg2LXYp9mE2K0uIiwibWVzc2FnZXMtdHRsLWluLWRheXMiOiJUVEwg2KfZhNix2LPYp9im2YQg2KjYp9mE2KPZitin2YUiLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1yZXF1aXJlZCI6ItmK2KzYqCDYqtit2K/ZitivIFRUTCDYp9mE2LHYs9in2KbZhCDYqNin2YTYo9mK2KfZhS4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1taW4iOiLYp9mE2K3YryDYp9mE2KPYr9mG2Ykg2YfZiCAxLiIsIm1lc3NhZ2VzLXR0bC1pbi1kYXlzLXBhdHRlcm4iOiLYp9mE2LHZgtmFINi62YrYsSDYtdin2YTYrS4iLCJtcXR0LXFvcyI6Itis2YjYr9ipINin2YTYrtiv2YXYqSAoUW9TKSIsIm1xdHQtcW9zLXJlcXVpcmVkIjoi2KzZiNiv2Kkg2KfZhNiu2K/ZhdipIChRb1MpINmF2LfZhNmI2KjYqSIsIm1xdHQtcW9zLXJhbmdlIjoi2KrYqtix2KfZiNitINmC2YrZhSDYrNmI2K/YqSDYp9mE2K7Yr9mF2KkgKFFvUykg2YXZhiAwINil2YTZiSAxIiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiLYp9mE2YXYs9in2LEg2KXZhNmJINin2YTZhdmB2KrYp9itINin2YTYrtin2LUg2LnZhNmJINin2YTYqNmI2KfYqNipIiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiLYqtio2K/ZitmEINmI2LbYuSDZhdmE2KEg2KfZhNi02KfYtNipIiwidHJhbnNmb3JtZXItanNvbi1jb25maWciOiLYqtmD2YjZitmGIEpTT04qIiwidXBkYXRlLWNvbmZpZyI6Itil2LbYp9mB2Kkv2KrYrdiv2YrYqyDYqtmD2YjZitmGIEpTT04iLGhpbnRzOnsicmVtb3RlLWNvbmZpZ3VyYXRpb24iOiLZitmF2YPZhtmDINiq2YXZg9mK2YYg2KfZhNiq2YPZiNmK2YYg2YjYpdiv2KfYsdipINin2YTYqNmI2KfYqNipINi52YYg2KjZj9i52K8iLCJyZW1vdGUtc2hlbGwiOiLZitmF2YPZhtmDINiq2YXZg9mK2YYg2KfZhNiq2K3Zg9mFINin2YTYqNi52YrYryDZgdmKINmG2LjYp9mFINin2YTYqti02LrZitmEINmF2Lkg2KfZhNio2YjYp9io2Kkg2YXZhiDYudmG2LXYsSDZiNin2KzZh9ipINin2YTZhdiz2KrYrtiv2YUg2YLYtNix2Kkg2LnZhiDYqNmP2LnYryIsaG9zdDoi2KfYs9mFINin2YTZhdi22YrZgSDYo9mIINi52YbZiNin2YYgSVAg2YTYrtin2K/ZhSDYq9mK2YbYutiy2KjZiNix2K8iLHBvcnQ6ItmF2YbZgdiwINiu2K/ZhdipIE1RVFQg2LnZhNmJINiu2KfYr9mFINir2YrZhti62LLYqNmI2LHYryIsdG9rZW46Itix2YXYsiDYp9mE2YjYtdmI2YQg2YTZhNio2YjYp9io2Kkg2YXZhiDYrtin2K/ZhSDYq9mK2YbYutiy2KjZiNix2K8iLCJjbGllbnQtaWQiOiLZhdi52LHZgSDYudmF2YrZhCBNUVRUINmE2YTYqNmI2KfYqNipINmF2YYg2K7Yp9iv2YUg2KvZitmG2LrYstio2YjYsdivIix1c2VybmFtZToi2KfYs9mFINin2YTZhdiz2KrYrtiv2YUgTVFUVCDZhNmE2KjZiNin2KjYqSDZhdmGINiu2KfYr9mFINir2YrZhti62LLYqNmI2LHYryIscGFzc3dvcmQ6ItmD2YTZhdipINin2YTZhdix2YjYsSBNUVRUINmE2YTYqNmI2KfYqNipINmF2YYg2K7Yp9iv2YUg2KvZitmG2LrYstio2YjYsdivIiwiY2EtY2VydCI6Itin2YTZhdiz2KfYsSDYpdmE2Ykg2YXZhNmBINi02YfYp9iv2KkgQ0EiLCJkYXRlLWZvcm0iOiLYqtmG2LPZitmCINin2YTYqtin2LHZitiuINmB2Yog2LHYs9in2YTYqSDYp9mE2LPYrNmEIiwiZGF0YS1mb2xkZXIiOiLYp9mE2YXYs9in2LEg2KXZhNmJINin2YTZhdis2YTYryDYp9mE2LDZiiDYs9mK2K3YqtmI2Yog2LnZhNmJINin2YTYqNmK2KfZhtin2KogKNmG2LPYqNmKINij2Ygg2YXYt9mE2YIpIiwibG9nLWZvcm1hdCI6Itiq2YbYs9mK2YIg2LHYs9in2YTYqSDYp9mE2LPYrNmEIiwicmVtb3RlLWxvZyI6ItmK2YXZg9mG2YMg2KrZhdmD2YrZhiDYp9mE2KrYs9is2YrZhCDYp9mE2KjYudmK2K8g2YjZgtix2KfYodipINin2YTYs9is2YTYp9iqINmF2YYg2KfZhNio2YjYp9io2KkiLCJiYWNrdXAtY291bnQiOiLYpdiw2Kcg2YPYp9mGINi52K/YryDYp9mE2YbYs9iuINin2YTYp9it2KrZitin2LfZitipID4gMNiMINi52YbYryDYudmF2YTZitipINiq2K/ZiNmK2LHYjCDZhNinINmK2KrZhSDYp9mE2KfYrdiq2YHYp9i4INio2KPZg9ir2LEg2YXZhiDYudiv2K8g2KfZhNmG2LPYriDYp9mE2KfYrdiq2YrYp9i32YrYqSDYp9mE2YXYrdiv2K/YqSAtINmK2KrZhSDYrdiw2YEg2KfZhNij2YLYr9mFIixzdG9yYWdlOiLZitmI2YHYsSDYqtmD2YjZitmG2YvYpyDZhNit2YHYuCDYp9mE2KjZitin2YbYp9iqINin2YTZiNin2LHYr9ipINmC2KjZhCDYpdix2LPYp9mE2YfYpyDYpdmE2Ykg2KfZhNmF2YbYtdipIiwibWF4LWZpbGUtY291bnQiOiLYp9mE2LnYr9ivINin2YTYo9mC2LXZiSDZhNi52K/YryDYp9mE2YXZhNmB2KfYqiDYp9mE2KrZiiDYs9mK2KrZhSDYpdmG2LTYp9ik2YfYpyIsIm1heC1yZWFkLWNvdW50Ijoi2LnYr9ivINin2YTYsdiz2KfYptmEINmE2YTYrdi12YjZhCDYudmE2YrZh9inINmF2YYg2KfZhNiq2K7YstmK2YYg2YjYpdix2LPYp9mE2YfYpyDYpdmE2Ykg2KvZitmG2LrYstio2YjYsdivIiwibWF4LXJlY29yZHMiOiLYp9mE2LnYr9ivINin2YTYo9mC2LXZiSDZhNmE2LPYrNmE2KfYqiDYp9mE2KrZiiDYs9iq2K7YstmGINmB2Yog2YXZhNmBINmI2KfYrdivIiwicmVhZC1yZWNvcmQtY291bnQiOiLYudiv2K8g2KfZhNix2LPYp9im2YQg2YTZhNit2LXZiNmEINi52YTZitmH2Kcg2YXZhiDYp9mE2KrYrtiy2YrZhiDZiNil2LHYs9in2YTZh9inINil2YTZiSDYq9mK2YbYutiy2KjZiNix2K8iLCJtYXgtcmVjb3Jkcy1jb3VudCI6Itin2YTYudiv2K8g2KfZhNij2YLYtdmJINmE2YTYqNmK2KfZhtin2Kog2YHZiiDYp9mE2KrYrtiy2YrZhiDZgtio2YQg2KXYsdiz2KfZhNmH2Kcg2KXZhNmJINir2YrZhti62LLYqNmI2LHYryIsInR0bC1jaGVjay1ob3VyIjoi2YPZhSDZhdix2Kkg2LPZitiq2K3ZgtmCINin2YTYqNmI2KfYqNipINmF2YYg2KfZhNio2YrYp9mG2KfYqiDYp9mE2YLYr9mK2YXYqSIsInR0bC1tZXNzYWdlcy1kYXkiOiLYp9mE2K3YryDYp9mE2KPZgti12Ykg2YTYudiv2K8g2KfZhNij2YrYp9mFINin2YTYqtmKINiz2KrYrdiq2YHYuCDZgdmK2YfYpyDYp9mE2KrYrtiy2YrZhiDYqNin2YTYqNmK2KfZhtin2KoiLGNvbW1hbmRzOiLYp9mE2KPZiNin2YXYsSDZhNis2YXYuSDYp9mE2KXYrdi12KfYptmK2KfYqiDYp9mE2KXYttin2YHZitipIixhdHRyaWJ1dGU6ItmF2YHYqtin2K0g2KrZhNmC2Yog2KfZhNil2K3Ytdin2KbZitin2KoiLHRpbWVvdXQ6ItmF2YfZhNipINiy2YXZhtmK2Kkg2YTYqtmG2YHZitiwINin2YTYo9mF2LEiLGNvbW1hbmQ6Itiz2YrYqtmFINin2LPYqtiu2K/Yp9mFINmG2KrZitis2Kkg2KrZhtmB2YrYsCDYp9mE2KPZhdixINmD2YLZitmF2Kkg2YTYqtmE2YLZiiDYp9mE2KXYrdi12KfYptmK2KfYqiIsImNoZWNrLWRldmljZS1hY3Rpdml0eSI6ItmK2YXZg9mG2YMg2KrZhdmD2YrZhiDZhdix2KfZgtio2Kkg2YbYtNin2Lcg2YPZhCDYrNmH2KfYsiDZhdiq2LXZhCIsImluYWN0aXZpdHktdGltZW91dCI6Itin2YTZiNmC2Kog2KjYudivINin2YTYsNmKINiz2KrZgdi12YQg2KfZhNio2YjYp9io2Kkg2KfZhNis2YfYp9iyIiwiaW5hY3Rpdml0eS1wZXJpb2QiOiLYqtmD2LHYp9ixINmB2K3YtSDZhti02KfYtyDYp9mE2KzZh9in2LIiLCJtaW5pbWFsLXBhY2stZGVsYXkiOiLYp9mE2KrYo9iu2YrYsSDYqNmK2YYg2KXYsdiz2KfZhCDYrdiy2YUg2KfZhNix2LPYp9im2YQgKNmK2KTYr9mKINiq2YLZhNmK2YQg2YfYsNinINin2YTYpdi52K/Yp9ivINil2YTZiSDYstmK2KfYr9ipINin2LPYqtiu2K/Yp9mFINmI2K3Yr9ipINin2YTZhdi52KfZhNis2Kkg2KfZhNmF2LHZg9iy2YrYqSkiLHFvczoi2KzZiNiv2Kkg2KfZhNiu2K/ZhdipINmB2Yog2LHYs9in2KbZhCBNUVRUICgwIC0g2LnZhNmJINin2YTYo9mD2KvYsSDZhdix2Kkg2YjYp9it2K/YqdiMIDEgLSDYudmE2Ykg2KfZhNij2YLZhCDZhdix2Kkg2YjYp9it2K/YqSkiLCJzZXJ2ZXItcG9ydCI6ItmF2YbZgdiwINin2YTYtNio2YPYqSDYp9mE2LDZiiDYs9mK2LPYqtmF2Lkg2YHZitmHINiu2KfYr9mFIEdSUEMg2YTZhNin2LPYqtmB2LPYp9ix2KfYqiDYp9mE2YjYp9ix2K/YqS4iLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dCI6Itin2YTYrdivINin2YTYo9mC2LXZiSDZhNmE2YjZgtiqINin2YTYsNmKINmK2KzYqCDYo9mGINmK2YbYqti42LHZhyDYp9mE2K7Yp9iv2YUg2YTYp9iz2KrYrNin2KjYqSDYsdiz2KfZhNipINin2YTYrdmB2KfYuCDYudmE2Ykg2KfZhNin2KrYtdin2YQg2YLYqNmEINin2LnYqtio2KfYsSDYp9mE2KfYqti12KfZhCDZhdmK2KrZi9inLiIsImdycGMta2VlcC1hbGl2ZSI6Itin2YTZhdiv2Kkg2KjZitmGINix2LPYp9im2YQg2K3Zgdi4INin2YTYp9iq2LXYp9mEINin2YTZhdiq2LnYp9mC2KjYqSDYudmG2K8g2LnYr9mFINmI2KzZiNivINin2LPYqtiv2LnYp9ihIFJQQyDZhti02LcuIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzIjoi2KfZhNit2K8g2KfZhNij2K/ZhtmJINmE2YTZiNmC2Kog2KfZhNiw2Yog2YrYrNioINmB2YrZhyDYo9mGINmK2YbYqti42LEg2KfZhNiu2KfYr9mFINio2YrZhiDYpdix2LPYp9mEINix2LPYp9im2YQg2K3Zgdi4INin2YTYp9iq2LXYp9mEIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2LnYr9ivINix2LPYp9im2YQg2K3Zgdi4INin2YTYp9iq2LXYp9mEINin2YTYqtmKINmK2YXZg9mGINmE2YTYrtin2K/ZhSDYpdix2LPYp9mE2YfYpyDYr9mI2YYg2KrZhNmC2Yog2KPZiiDYqNmK2KfZhtin2Kog2YLYqNmEINin2LnYqtio2KfYsSDYp9mE2KfYqti12KfZhCDZhdmK2KrZi9inLiIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhIjoi2KfZhNit2K8g2KfZhNij2K/ZhtmJINmE2YTZiNmC2Kog2KfZhNiw2Yog2YrYrNioINmB2YrZhyDYo9mGINmK2YbYqti42LEg2KfZhNiu2KfYr9mFINio2YrZhiDYpdix2LPYp9mEINix2LPYp9im2YQg2K3Zgdi4INin2YTYp9iq2LXYp9mEINi52YbYryDYudiv2YUg2KXYsdiz2KfZhCDYo9mIINin2LPYqtmE2KfZhSDYqNmK2KfZhtin2KouIiwicGVybWl0LXdpdGhvdXQtY2FsbHMiOiLYp9mE2LPZhdin2K0g2YTZhNiu2KfYr9mFINio2KXYqNmC2KfYoSDYp9iq2LXYp9mEIEdSUEMg2K3ZitmL2Kcg2K3YqtmJINi52YbYr9mF2Kcg2YTYpyDYqtmD2YjZhiDZh9mG2KfZgyDYp9iz2KrYr9i52KfYodin2KogUlBDINmG2LTYt9ipLiJ9fSxWbz17ImFkZC1lbnRyeSI6IkFmZWdpciBjb25maWd1cmFjacOzIiwiY29ubmVjdG9yLWFkZCI6IkFmZWdpciBjb25lY3RvciIsImNvbm5lY3Rvci1lbmFibGVkIjoiQWN0aXZhciBjb25lY3RvciIsImNvbm5lY3Rvci1uYW1lIjoiTm9tIGNvbmVjdG9yIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiJDYWwgbm9tIGNvbmVjdG9yLiIsImNvbm5lY3Rvci10eXBlIjoiVGlwdXMgY29uZWN0b3IiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IkNhbCB0aXB1cyBjb25lY3Rvci4iLGNvbm5lY3RvcnM6IkNvbmZpZ3VyYWNpw7MgZGUgY29uZWN0b3JzIiwiY3JlYXRlLW5ldy1nYXRld2F5IjoiQ3JlYXIgdW4gZ2F0ZXdheSBub3UiLCJjcmVhdGUtbmV3LWdhdGV3YXktdGV4dCI6IkNyZWFyIHVuIG5vdSBnYXRld2F5IGFtYiBlbCBub206ICd7e2dhdGV3YXlOYW1lfX0nPyIsZGVsZXRlOiJFc2JvcnJhciBjb25maWd1cmFjacOzIiwiZG93bmxvYWQtdGlwIjoiRGVzY2FycmVnYXIgZml0eGVyIGRlIGNvbmZpZ3VyYWNpw7MiLGdhdGV3YXk6IkdhdGV3YXkiLCJnYXRld2F5LWV4aXN0cyI6IkphIGV4aXN0ZWl4IHVuIGRpc3Bvc2l0aXUgYW1iIGVsIG1hdGVpeCBub20uIiwiZ2F0ZXdheS1uYW1lIjoiTm9tIGRlIEdhdGV3YXkiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJDYWwgdW4gbm9tIGRlIGdhdGV3YXkuIiwiZ2F0ZXdheS1zYXZlZCI6IkNvbmZpZ3VyYWNpw7MgZGUgZ2F0ZXdheSBncmF2YWRhIHNhdGlzZmFjdMOycmlhbWVudC4iLCJqc29uLXBhcnNlIjoiSlNPTiBubyB2w6BsaWQuIiwianNvbi1yZXF1aXJlZCI6IkVsIGNhbXAgbm8gcG90IHNlciBidWl0LiIsIm5vLWNvbm5lY3RvcnMiOiJObyBoaSBoYSBjb25lY3RvcnMiLCJuby1kYXRhIjoiTm8gaGkgaGEgY29uZmlndXJhY2lvbnMiLCJuby1nYXRld2F5LWZvdW5kIjoiTm8gcydoYSB0cm9iYXQgY2FwIGdhdGV3YXkuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5vIHRyb2JhdC4iLCJwYXRoLWxvZ3MiOiJSdXRhIGFscyBmaXR4ZXJzIGRlIGxvZyIsInBhdGgtbG9ncy1yZXF1aXJlZCI6IkNhbCBydXRhLiIscmVtb3RlOiJDb25maWd1cmFjacOzIHJlbW90YSIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoiTml2ZWwgZGUgbG9nZ2luZyIsInJlbW92ZS1lbnRyeSI6IkVzYm9ycmFyIGNvbmZpZ3VyYWNpw7MiLCJzYXZlLXRpcCI6IkdyYXZhciBmaXR4ZXIgZGUgY29uZmlndXJhY2nDsyIsInNlY3VyaXR5LXR5cGUiOiJUaXB1cyBkZSBzZWd1cmV0YXQiLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJUb2tlbiBkJ2FjY8OpcyIsdGxzOiJUTFMifSxzdG9yYWdlOiJHcmFiYWNpw7MiLCJzdG9yYWdlLW1heC1maWxlLXJlY29yZHMiOiJOw7ptZXJvIG3DoHhpbSBkZSByZWdpc3RyZXMgZW4gZml0eGVyIiwic3RvcmFnZS1tYXgtZmlsZXMiOiJOw7ptZXJvIG3DoHhpbSBkZSBmaXR4ZXJzIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoiRWwgbsO6bWVybyBtw61uaW0gw6lzIDEuIiwic3RvcmFnZS1tYXgtZmlsZXMtcGF0dGVybiI6Ik7Dum1lcm8gbm8gdsOgbGlkLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXJlcXVpcmVkIjoiQ2FsIG7Dum1lcm8uIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik3DoHhpbSBkZSByZWdpc3RyZXMgZW4gZWwgbWFnYXR6ZW0iLCJzdG9yYWdlLW1heC1yZWNvcmRzLW1pbiI6IkVsIG7Dum1lcm8gbcOtbmltIMOpcyAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6Ik7Dum1lcm8gbm8gdsOgbGlkLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJDYWwgbsO6bWVyby4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6Ik1pZGEgbcOgeGltIGRlIGVzZGV2ZW5pbWVudHMiLCJzdG9yYWdlLXBhY2stc2l6ZS1taW4iOiJFbCBuw7ptZXJvIG3DrW5pbSDDqXMgMS4iLCJzdG9yYWdlLXBhY2stc2l6ZS1wYXR0ZXJuIjoiTsO6bWVybyBubyB2w6BsaWQuIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiJDYWwgbsO6bWVyby4iLCJzdG9yYWdlLXBhdGgiOiJSdXRhIGRlIG1hZ2F0emVtIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoiQ2FsIHJ1dGEgZGUgbWFnYXR6ZW0uIiwic3RvcmFnZS10eXBlIjoiVGlwdXMgZGUgbWFnYXR6ZW0iLCJzdG9yYWdlLXR5cGVzIjp7ImZpbGUtc3RvcmFnZSI6Ik1hZ2F0emVtIGZpdHhlciIsIm1lbW9yeS1zdG9yYWdlIjoiTWFnYXR6ZW0gZW4gbWVtb3JpYSJ9LHRoaW5nc2JvYXJkOiJUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QiOiJIb3N0IFRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6IkNhbCBIb3N0LiIsInRoaW5nc2JvYXJkLXBvcnQiOiJQb3J0IFRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtcG9ydC1tYXgiOiJFbCBwb3J0IG3DoHhpbSDDqXMgNjU1MzUuIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiJFbCBwb3J0IG3DrW5pbSDDqXMgMS4iLCJ0aGluZ3Nib2FyZC1wb3J0LXBhdHRlcm4iOiJQb3J0IG5vIHbDoGxpZC4iLCJ0aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkIjoiQ2FsIHBvcnQuIix0aWR5OiJFbmRyZcOnYXQiLCJ0aWR5LXRpcCI6IkVuZHJlw6dhdCBKU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoiQ29uZmlndXJhY2nDsyBjb25lY3RvciB7e3R5cGVOYW1lfX0iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IlJ1dGEgYWwgY2VydGlmaWNhdCBDQSBhbCBnYXRld2F5IiwidGxzLXBhdGgtY2xpZW50LWNlcnRpZmljYXRlIjoiUnV0YSBhbCBjZXJ0aWZpY2F0IGNsaWVudCBhbCBnYXRld2F5IiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiJSdXRhIGEgbGEgY2xhdSBwcml2YWRhIGFsIGdhdGV3YXkiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlBhbnRhbGxhIGNvbXBsZXRhIGZ1bGxzY3JlZW4iLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IkNvbmZpZ3VyYWNpw7MgSlNPTioiLCJ1cGRhdGUtY29uZmlnIjoiQWZlZ2lyL2FjdHVhbGl6YXIgY29uZmlndXJhY2nDsyBKU09OIn0sQm89eyJhZGQtZW50cnkiOiJQxZlpZGF0IGtvbmZpZ3VyYWNpIiwiY29ubmVjdG9yLWFkZCI6IlDFmWlkYXQgbm92w70ga29uZWt0b3IiLCJjb25uZWN0b3ItZW5hYmxlZCI6IlBvdm9saXQga29uZWt0b3IiLCJjb25uZWN0b3ItbmFtZSI6Ik7DoXpldiBrb25la3RvcnUiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6Ik7DoXpldiBrb25la3RvcnUgamUgcG92aW5uw70uIiwiY29ubmVjdG9yLXR5cGUiOiJUeXAga29uZWt0b3J1IiwiY29ubmVjdG9yLXR5cGUtcmVxdWlyZWQiOiJUeXAga29uZWt0b3J1IGplIHBvdmlubsO9LiIsY29ubmVjdG9yczoiS29uZmlndXJhY2Uga29uZWt0b3J1IiwiY3JlYXRlLW5ldy1nYXRld2F5IjoiVnl0dm/FmWl0IG5vdm91IGJyw6FudSIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiSnN0ZSBzaSBqaXN0aSwgxb5lIGNoY2V0ZSB2eXR2b8WZaXQgbm92b3UgYnLDoW51IHMgbsOhenZlbTogJ3t7Z2F0ZXdheU5hbWV9fSc/IixkZWxldGU6IlNtYXphdCBrb25maWd1cmFjaSIsImRvd25sb2FkLXRpcCI6IlN0w6Fobm91dCBzb3Vib3Iga29uZmlndXJhY2UiLGdhdGV3YXk6IkJyw6FuYSIsImdhdGV3YXktZXhpc3RzIjoiWmHFmcOtemVuw60gc2Ugc2hvZG7DvW0gbsOhenZlbSBqacW+IGV4aXN0dWplLiIsImdhdGV3YXktbmFtZSI6Ik7DoXpldiBicsOhbnkiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJOw6F6ZXYgYnLDoW55IGplIHBvdmlubsO9LiIsImdhdGV3YXktc2F2ZWQiOiJLb25maWd1cmFjZSBicsOhbnkgYnlsYSDDunNwxJvFoW7EmyB1bG/FvmVuYS4iLCJqc29uLXBhcnNlIjoiTmVwbGF0bsO9IEpTT04uIiwianNvbi1yZXF1aXJlZCI6IlBvbGUgbmVtxa/FvmUgYsO9dCBwcsOhemRuw6kuIiwibm8tY29ubmVjdG9ycyI6IsW9w6FkbsOpIGtvbmVrdG9yeSIsIm5vLWRhdGEiOiLFvcOhZG7DqSBrb25maWd1cmFjZSIsIm5vLWdhdGV3YXktZm91bmQiOiLFvcOhZG7DqSBicsOhbnkgbmVieWx5IG5hbGV6ZW55LiIsIm5vLWdhdGV3YXktbWF0Y2hpbmciOiIgJ3t7aXRlbX19JyBuZW5hbGV6ZW5hLiIsInBhdGgtbG9ncyI6IkNlc3RhIGsgc291Ym9yxa9tIGxvZ3UiLCJwYXRoLWxvZ3MtcmVxdWlyZWQiOiJDZXN0YSBqZSBwb3Zpbm7DoS4iLHJlbW90ZToiVnpkw6FsZW7DoSBrb25maWd1cmFjZSIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoiw5pyb3ZlxYggbG9nb3bDoW7DrSIsInJlbW92ZS1lbnRyeSI6Ik9kc3RyYW5pdCBrb25maWd1cmFjaSIsInNhdmUtdGlwIjoiVWxvxb5pdCBzb3Vib3Iga29uZmlndXJhY2UiLCJzZWN1cml0eS10eXBlIjoiVHlwIHphYmV6cGXEjWVuw60iLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJQxZnDrXN0dXBvdsO9IHRva2VuIix0bHM6IlRMUyJ9LHN0b3JhZ2U6IsOabG/FvmnFoXTEmyIsInN0b3JhZ2UtbWF4LWZpbGUtcmVjb3JkcyI6Ik1heGltw6FsbsOtIHBvxI1ldCB6w6F6bmFtxa8gdiBzb3Vib3J1Iiwic3RvcmFnZS1tYXgtZmlsZXMiOiJNYXhpbcOhbG7DrSBwb8SNZXQgc291Ym9yxa8iLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiJNaW5pbcOhbG7DrSBwb8SNZXQgamUgMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiUG/EjWV0IG5lbsOtIHBsYXRuw70uIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiJQb8SNZXQgamUgcG92aW5uw70uIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik1heGltw6FsbsOtIHBvxI1ldCB6w6F6bmFtxa8gdiDDumxvxb5pxaF0aSIsInN0b3JhZ2UtbWF4LXJlY29yZHMtbWluIjoiTWluaW3DoWxuw60gcG/EjWV0IHrDoXpuYW3FryBqZSAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6IlBvxI1ldCBuZW7DrSBwbGF0bsO9LiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJNYXhpbcOhbG7DrSBwb8SNZXQgesOhem5hbcWvIGplIHBvdmlubsO9LiIsInN0b3JhZ2UtcGFjay1zaXplIjoiTWF4aW3DoWxuw60gdmVsaWtvc3Qgc291Ym9ydSB1ZMOhbG9zdMOtIiwic3RvcmFnZS1wYWNrLXNpemUtbWluIjoiTWluaW3DoWxuw60gcG/EjWV0IGplIDEuIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6IlBvxI1ldCBuZW7DrSBwbGF0bsO9LiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoiTWF4aW3DoWxuw60gdmVsaWtvc3Qgc291Ym9ydSB1ZMOhbG9zdMOtIGplIHBvdmlubsOhLiIsInN0b3JhZ2UtcGF0aCI6IkNlc3RhIGsgw7psb8W+acWhdGkiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiJDZXN0YSBrIMO6bG/FvmnFoXRpIGplIHBvdmlubsOhLiIsInN0b3JhZ2UtdHlwZSI6IlR5cCDDumxvxb5pxaF0xJsiLCJzdG9yYWdlLXR5cGVzIjp7ImZpbGUtc3RvcmFnZSI6IlNvdWJvciIsIm1lbW9yeS1zdG9yYWdlIjoiUGFtxJvFpSJ9LHRoaW5nc2JvYXJkOiJUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QiOiJIb3N0IFRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6Ikhvc3QgamUgcG92aW5uw70uIiwidGhpbmdzYm9hcmQtcG9ydCI6IlBvcnQgVGhpbmdzQm9hcmQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6Ik1heGltw6FsbsOtIMSNw61zbG8gcG9ydHUgamUgNjU1MzUuIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiJNaW5pbcOhbG7DrSDEjcOtc2xvIHBvcnR1IGplIDEuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiUG9ydCBuZW7DrSBwbGF0bsO9LiIsInRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWQiOiJQb3J0IGplIHBvdmlubsO9LiIsdGlkeToiVXNwb8WZw6FkYXQiLCJ0aWR5LXRpcCI6IlVzcG/FmcOhZGF0IEpTT04ga29uZmlndXJhY2kiLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiJLb25maWd1cmFjZSB7e3R5cGVOYW1lfX0ga29uZWt0b3J1IiwidGxzLXBhdGgtY2EtY2VydGlmaWNhdGUiOiJDZXN0YSBrIGNlcnRpZmlrw6F0dSBDQSBicsOhbnkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiJDZXN0YSBrIGNlcnRpZmlrw6F0dSBrbGllbnRhIGJyw6FueSIsInRscy1wYXRoLXByaXZhdGUta2V5IjoiQ2VzdGEgayBwcml2w6F0bsOtbXUga2zDrcSNaSBicsOhbnkiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlDFmWVwbm91dCBkbyByZcW+aW11IGNlbMOpIG9icmF6b3ZreSIsInRyYW5zZm9ybWVyLWpzb24tY29uZmlnIjoiSlNPTioga29uZmlndXJhY2UiLCJ1cGRhdGUtY29uZmlnIjoiUMWZaWRhdC9lZGl0b3ZhdCBKU09OIGtvbmZpZ3VyYWNpIn0sVW89eyJhZGQtZW50cnkiOiJUaWxmw7hqIGtvbmZpZ3VyYXRpb24iLCJjb25uZWN0b3ItYWRkIjoiVGlsZsO4aiBueSBzdGlrZm9yYmluZGVsc2UiLCJjb25uZWN0b3ItZW5hYmxlZCI6IkFrdGl2w6lyIHN0aWtmb3JiaW5kZWxzZSIsImNvbm5lY3Rvci1uYW1lIjoiTmF2biBww6Ugc3Rpa2ZvcmJpbmRlbHNlIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiJOYXZuIHDDpSBzdGlrZm9yYmluZGVsc2UgZXIgcMOla3LDpnZldC4iLCJjb25uZWN0b3ItdHlwZSI6IlN0aWtmb3JiaW5kZWxzZXN0eXBlIiwiY29ubmVjdG9yLXR5cGUtcmVxdWlyZWQiOiJTdGlrZm9yYmluZGVsc2VzdHlwZSBlciBww6VrcsOmdmV0LiIsY29ubmVjdG9yczoiS29uZmlndXJhdGlvbiBhZiBzdGlrZm9yYmluZGVsc2VyIiwiY3JlYXRlLW5ldy1nYXRld2F5IjoiT3ByZXQgZW4gbnkgZ2F0ZXdheSIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiIixkZWxldGU6IlNsZXQga29uZmlndXJhdGlvbiIsImRvd25sb2FkLXRpcCI6IkRvd25sb2FkIGtvbmZpZ3VyYXRpb25zZmlsIixnYXRld2F5OiJHYXRld2F5IiwiZ2F0ZXdheS1leGlzdHMiOiJFbmhlZCBtZWQgc2FtbWUgbmF2biBmaW5kZXMgYWxsZXJlZGUuIiwiZ2F0ZXdheS1uYW1lIjoiR2F0ZXdheS1uYXZuIiwiZ2F0ZXdheS1uYW1lLXJlcXVpcmVkIjoiR2F0ZXdheS1uYXZuIGVyIHDDpWtyw6Z2ZXQuIiwiZ2F0ZXdheS1zYXZlZCI6IkdhdGV3YXkta29uZmlndXJhdGlvbmVuIGJsZXYgZ2VtdC4iLCJqc29uLXBhcnNlIjoiSWtrZSBneWxkaWcgSlNPTi4iLCJqc29uLXJlcXVpcmVkIjoiRmVsdGV0IG3DpSBpa2tlIHbDpnJlIHRvbXQuIiwibm8tY29ubmVjdG9ycyI6IkluZ2VuIHN0aWtmb3JiaW5kZWxzZXIiLCJuby1kYXRhIjoiSW5nZW4ga29uZmlndXJhdGlvbmVyIiwibm8tZ2F0ZXdheS1mb3VuZCI6IkluZ2VuIGdhdGV3YXkgZnVuZGV0LiIsIm5vLWdhdGV3YXktbWF0Y2hpbmciOiIiLCJwYXRoLWxvZ3MiOiJTdGkgdGlsIGxvZ2ZpbGVyIiwicGF0aC1sb2dzLXJlcXVpcmVkIjoiU3RpIGVyIHDDpWtyw6Z2ZXQuIixyZW1vdGU6IkZqZXJua29uZmlndXJhdGlvbiIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoiTG9nZsO4cmluZ3NuaXZlYXUiLCJyZW1vdmUtZW50cnkiOiJGamVybiBrb25maWd1cmF0aW9uIiwic2F2ZS10aXAiOiJHZW0ga29uZmlndXJhdGlvbnNmaWwiLCJzZWN1cml0eS10eXBlIjoiU2lra2VyaGVkc3R5cGUiLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJBZGdhbmdzdG9rZW4iLHRsczoiVExTIn0sc3RvcmFnZToiTGFncmluZyIsInN0b3JhZ2UtbWF4LWZpbGUtcmVjb3JkcyI6Ik1ha3MuIGFudGFsIHBvc3RlciBpIGZpbCIsInN0b3JhZ2UtbWF4LWZpbGVzIjoiTWFrcy4gYW50YWwgZmlsZXIiLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiJNaW4uIGFudGFsIGVyIDEuIiwic3RvcmFnZS1tYXgtZmlsZXMtcGF0dGVybiI6IkFudGFsIGVyIGlra2UgZ3lsZGlndC4iLCJzdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZCI6IkFudGFsIGVyIHDDpWtyw6Z2ZXQuIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik1ha3MuIGFudGFsIHBvc3RlciBpIGxhZ3JpbmciLCJzdG9yYWdlLW1heC1yZWNvcmRzLW1pbiI6Ik1pbi4gYW50YWwgcG9zdGVyIGVyIDEuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoiQW50YWwgZXIgaWtrZSBneWxkaWd0LiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJNYWtzLiBhbnRhbCBwb3N0ZXIgZXIgcMOla3LDpnZldC4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6Ik1ha3MuIGFudGFsIHBha2tlc3TDuHJyZWxzZSBmb3IgYmVnaXZlbmhlZCIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6Ik1pbi4gYW50YWwgZXIgMS4iLCJzdG9yYWdlLXBhY2stc2l6ZS1wYXR0ZXJuIjoiQW50YWwgZXIgaWtrZSBneWxkaWd0LiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoiTWFrcy4gYW50YWwgcGFra2VzdMO4cnJlbHNlIGZvciBiZWdpdmVuaGVkIGVyIHDDpWtyw6Z2ZXQuIiwic3RvcmFnZS1wYXRoIjoiTGFncmluZ3NzdGkiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiJMYWdyaW5nc3N0aSBlciBww6VrcsOmdmV0LiIsInN0b3JhZ2UtdHlwZSI6IkxhZ3JpbmdzdHlwZSIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoiTGFncmluZyBhZiBmaWx0ZXIiLCJtZW1vcnktc3RvcmFnZSI6IkxhZ3JpbmcgYWYgaHVrb21tZWxzZSJ9LHRoaW5nc2JvYXJkOiJUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QiOiJUaGluZ3NCb2FyZC12w6ZydCIsInRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWQiOiJWw6ZydCBlciBww6VrcsOmdmV0LiIsInRoaW5nc2JvYXJkLXBvcnQiOiJUaGluZ3NCb2FyZC1wb3J0IiwidGhpbmdzYm9hcmQtcG9ydC1tYXgiOiJNYWtzLiBwb3J0bnVtbWVyIGVyIDY1NTM1LiIsInRoaW5nc2JvYXJkLXBvcnQtbWluIjoiTWluLiBwb3J0bnVtbWVyIGVyIDEuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiUG9ydCBlciBpa2tlIGd5bGRpZy4iLCJ0aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkIjoiUG9ydCBlciBww6VrcsOmdmV0LiIsdGlkeToiVGlkeSIsInRpZHktdGlwIjoiVGlkeSBrb25maWcuIEpTT04iLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiIiLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IlN0aSB0aWwgQ0EtY2VydGlmaWthdCBww6UgZ2F0ZXdheSIsInRscy1wYXRoLWNsaWVudC1jZXJ0aWZpY2F0ZSI6IlN0aSB0aWwga2xpZW50Y2VydGlmaWthdCBww6UgZ2F0ZXdheSIsInRscy1wYXRoLXByaXZhdGUta2V5IjoiU3RpIHRpbCBwcml2YXQgbsO4Z2xlIHDDpSBnYXRld2F5IiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiJTa2lmdCB0aWwgZnVsZCBza8Omcm0iLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IktvbmZpZ3VyYXRpb24gSlNPTioiLCJ1cGRhdGUtY29uZmlnIjoiVGlsZsO4ai9vcGRhdGVyIGtvbmZpZ3VyYXRpb24gSlNPTiJ9LF9vPXsiYWRkLWVudHJ5IjoiQcOxYWRpciBjb25maWd1cmFjacOzbiIsYWR2YW5jZWQ6IkF2YW56YWRvIiwiY2hlY2tpbmctZGV2aWNlLWFjdGl2aXR5IjoiUHJvYmFuZG8gYWN0aXZpZGFkIGRlIGRpc3Bvc2l0aXZvIixjb21tYW5kOiJDb21hbmRvcyBEb2NrZXIiLCJjb21tYW5kLWNvcGllZC1tZXNzYWdlIjoiU2UgaGFuIGNvcGlhZG8gbG9zIGNvbWFuZG9zIGFsIHBvcnRhcGFwZWxlcyIsY29uZmlndXJhdGlvbjoiQ29uZmlndXJhY2nDs24iLCJjb25uZWN0b3ItYWRkIjoiQcOxYWRpciBjb25lY3RvciIsImNvbm5lY3Rvci1lbmFibGVkIjoiQWN0aXZhciBjb25lY3RvciIsImNvbm5lY3Rvci1uYW1lIjoiTm9tYnJlIGNvbmVjdG9yIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBub21icmUgY29uZWN0b3IuIiwiY29ubmVjdG9yLXR5cGUiOiJUaXBvIGNvbmVjdG9yIiwiY29ubmVjdG9yLXR5cGUtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSB0aXBvIGNvbmVjdG9yLiIsY29ubmVjdG9yczoiQ29uZWN0b3JlcyIsImNvbm5lY3RvcnMtY29uZmlnIjoiQ29uZmlndXJhY2nDs24gZGUgY29uZWN0b3JlcyIsImNvbm5lY3RvcnMtdGFibGUtZW5hYmxlZCI6IkVuYWJsZWQiLCJjb25uZWN0b3JzLXRhYmxlLW5hbWUiOiJOb21icmUiLCJjb25uZWN0b3JzLXRhYmxlLXR5cGUiOiJUaXBvIiwiY29ubmVjdG9ycy10YWJsZS1zdGF0dXMiOiJFc3RhZG8iLCJjb25uZWN0b3JzLXRhYmxlLWFjdGlvbnMiOiJBY2Npb25lcyIsImNvbm5lY3RvcnMtdGFibGUta2V5IjoiQ2xhdmUiLCJjb25uZWN0b3JzLXRhYmxlLWNsYXNzIjoiQ2xhc2UiLCJycGMtY29tbWFuZC1zZW5kIjoiRW52aWFyIiwicnBjLWNvbW1hbmQtcmVzdWx0IjoiUmVzdWx0YWRvIiwicnBjLWNvbW1hbmQtZWRpdC1wYXJhbXMiOiJFZGl0YXIgcGFyYW1ldHJvcyIsImdhdGV3YXktY29uZmlndXJhdGlvbiI6IkNvbmZpZ3VyYWNpw7NuIEdlbmVyYWwiLCJjcmVhdGUtbmV3LWdhdGV3YXkiOiJDcmVhciB1biBnYXRld2F5IG51ZXZvIiwiY3JlYXRlLW5ldy1nYXRld2F5LXRleHQiOiJDcmVhciB1biBudWV2byBnYXRld2F5IGNvbiBlbCBub21icmU6ICd7e2dhdGV3YXlOYW1lfX0nPyIsImNyZWF0ZWQtdGltZSI6IkhvcmEgZGUgY3JlYWNpw7NuIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWhlYWRlciI6IkxhcyBjb25maWd1cmFjaW9uZXMgc2UgYm9ycmFyw6FuIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWJvZHkiOiJTw7NsbyBlcyBwb3NpYmxlIGRlc2FjdGl2YXIgbGEgY29uZmlndXJhY2nDs24gcmVtb3RhLCBzaSBoYXkgYWNjZXNvIGbDrXNpY28gYWwgZ2F0ZXdheS4gU2UgYm9ycmFyw6FuIHRvZGFzIGxhcyBjb25maWd1cmFjaW9uZXMgcHJldmlhcy48YnI+PGJyPiBcblBhcmEgZGVzYWN0aXZhciBsYSBjb25maWd1cmFjacOzbiwgaW50cm9kdWNlIGVsIG5vbWJyZSBkZWwgZ2F0ZXdheSBhcXXDrSIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1pbnB1dCI6Ik5vbWJyZSBHYXRld2F5IiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0LXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgbm9tYnJlIGRlIGdhdGV3YXkiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctY29uZmlybSI6IkRlc2FjdGl2YXIiLGRlbGV0ZToiQm9ycmFyIGNvbmZpZ3VyYWNpw7NuIiwiZG93bmxvYWQtdGlwIjoiRGVzY2FyZ2FyIGZpY2hlcm8gZGUgY29uZmlndXJhY2nDs24iLCJkcm9wLWZpbGUiOiJBcnJhc3RyYSB1biBmaWNoZXJvIG8iLGdhdGV3YXk6IkdhdGV3YXkiLCJnYXRld2F5LWV4aXN0cyI6IllhIGV4aXN0ZSB1biBkaXNwb3NpdGl2byBjb24gZWwgbWlzbW8gbm9tYnJlLiIsImdhdGV3YXktbmFtZSI6Ik5vbWJyZSBkZSBHYXRld2F5IiwiZ2F0ZXdheS1uYW1lLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgdW4gbm9tYnJlIGRlIGdhdGV3YXkuIiwiZ2F0ZXdheS1zYXZlZCI6IkNvbmZpZ3VyYWNpw7NuIGRlIGdhdGV3YXkgZ3JhYmFkYSBzYXRpc2ZhY3RvcmlhbWVudGUuIixncnBjOiJHUlBDIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQiOiJUaW1lb3V0IEtlZXAgYWxpdmUgKGVuIG1zKSIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgVGltZW91dCBLZWVwIGFsaXZlIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtbWluIjoiRWwgdmFsb3Igbm8gcHVlZGUgc2VyIG1lbm9yIGRlIDEiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dC1wYXR0ZXJuIjoiRWwgdmFsb3Igbm8gZXMgdsOhbGlkbyIsImdycGMta2VlcC1hbGl2ZSI6IktlZXAgYWxpdmUgKGVuIG1zKSIsImdycGMta2VlcC1hbGl2ZS1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIGtlZXAgYWxpdmUiLCJncnBjLWtlZXAtYWxpdmUtbWluIjoiRWwgdmFsb3Igbm8gcHVlZGUgc2VyIG1lbm9yIGRlIDEiLCJncnBjLWtlZXAtYWxpdmUtcGF0dGVybiI6IkVsIHZhbG9yIGtlZXAgYWxpdmUgbm8gZXMgdsOhbGlkbyIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncyI6IlRpZW1wbyBtw61uaW1vIGVudHJlIHBpbmdzIChlbiBtcykiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSB0aWVtcG8gbcOtbmltbyBlbnRyZSBwaW5ncyIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1taW4iOiJFbCB2YWxvciBubyBwdWVkZSBzZXIgbWVub3IgZGUgMSIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1wYXR0ZXJuIjoiRWwgdmFsb3IgZGUgdGllbXBvIG3DrW5pbW8gZW50cmUgcGluZ3Mgbm8gZXMgdsOhbGlkbyIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhIjoiSW50ZXJ2YWxvIG3DrW5pbW8gc2luIGRhdG9zIChlbiBtcykiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIGludGVydmFsbyIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLW1pbiI6IkVsIHZhbG9yIG5vIHB1ZWRlIHNlciBtZW5vciBkZSAxIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcGF0dGVybiI6IkVsIHZhbG9yIGRlIGludGVydmFsbyBubyBlcyB2w6FsaWRvIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoiSW50ZXJ2YWxvIG3DoXhpbW8gc2luIGRhdG9zIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgaW50ZXJ2YWxvIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLW1pbiI6IkVsIHZhbG9yIG5vIHB1ZWRlIHNlciBtZW5vciBkZSAxIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiJFbCB2YWxvciBkZSBpbnRlcnZhbG8gbm8gZXMgdsOhbGlkbyIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMiOiJQZXJpb2RvIGRlIGNvbnRyb2wgZGUgaW5hY3RpdmlkYWQgKGVuIHNlZ3VuZG9zKSIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBwZXJpb2RvIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1taW4iOiJFbCB2YWxvciBubyBwdWVkZSBzZXIgbWVub3IgZGUgMSIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcGF0dGVybiI6IkVsIHZhbG9yIGRlbCBwZXJpb2RvIG5vIGVzIHbDoWxpZG8iLCJpbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcyI6IlRpbWVvdXQgZGUgaW5hY3RpdmlkYWQgKGVuIHNlZ3VuZG9zKSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgdGltZW91dCBkZSBpbmFjdGl2aWRhZCIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLW1pbiI6IkVsIHZhbG9yIG5vIHB1ZWRlIHNlciBtZW5vciBkZSAxIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcGF0dGVybiI6IkVsIHZhbG9yIGRlIGluYWN0aXZpZGFkIG5vIGVzIHbDoWxpZG8iLCJqc29uLXBhcnNlIjoiSlNPTiBubyB2w6FsaWRvLiIsImpzb24tcmVxdWlyZWQiOiJFbCBjYW1wbyBubyBwdWVkZSBlc3RhciB2YWPDrW8uIixsb2dzOntsb2dzOiJSZWdpc3Ryb3MiLGRheXM6ImTDrWFzIixob3VyczoiaG9yYXMiLG1pbnV0ZXM6Im1pbnV0b3MiLHNlY29uZHM6InNlZ3VuZG9zIiwiZGF0ZS1mb3JtYXQiOiJGb3JtYXRvIGRlIGZlY2hhIiwiZGF0ZS1mb3JtYXQtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBmb3JtYXRvIGRlIGZlY2hhIiwibG9nLWZvcm1hdCI6IkZvcm1hdG8gZGUgcmVnaXN0cm8iLCJsb2ctdHlwZSI6IlRpcG8gZGUgcmVnaXN0cm8iLCJsb2ctZm9ybWF0LXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgdGlwbyBkZSByZWdpc3RybyIscmVtb3RlOiJSZWdpc3RybyByZW1vdG8iLCJyZW1vdGUtbG9ncyI6IlJlZ2lzdHJvIHJlbW90byIsbG9jYWw6IlJlZ2lzdHJvIGxvY2FsIixsZXZlbDoiTml2ZWwgZGUgcmVnaXN0cm8iLCJmaWxlLXBhdGgiOiJSdXRhIGRlIGZpY2hlcm8iLCJmaWxlLXBhdGgtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBydXRhIGRlIGZpY2hlcm8iLCJzYXZpbmctcGVyaW9kIjoiUGVyaW9kbyBkZSBndWFyZGFkbyBkZSByZWdpc3Ryb3MiLCJzYXZpbmctcGVyaW9kLW1pbiI6IkVsIHBlcmlvZG8gbm8gcHVlZGUgc2VyIG1lbm9yIHF1ZSAxIiwic2F2aW5nLXBlcmlvZC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIHBlcmlvZG8gZGUgZ3VhcmRhZG8iLCJiYWNrdXAtY291bnQiOiJOw7ptZXJvIGRlIGJhY2t1cHMiLCJiYWNrdXAtY291bnQtbWluIjoiRWwgbsO6bWVybyBkZSBiYWNrdXBzIG5vIHB1ZWRlIHNlciBtZW5vciBxdWUgMSIsImJhY2t1cC1jb3VudC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIG7Dum1lcm8gZGUgYmFja3VwcyJ9LCJtaW4tcGFjay1zZW5kLWRlbGF5IjoiVGllbXBvIGRlIGVzcGVyYSwgZW52w61vIGRlIHBhcXVldGVzIChlbiBtcykiLCJtaW4tcGFjay1zZW5kLWRlbGF5LXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgdGllbXBvIGRlIGVzcGVyYSIsIm1pbi1wYWNrLXNlbmQtZGVsYXktbWluIjoiRWwgdGllbXBvIGRlIGVzcGVyYSBubyBwdWVkZSBzZXIgbWVub3IgcXVlIDAiLCJuby1jb25uZWN0b3JzIjoiTm8gaGF5IGNvbmVjdG9yZXMiLCJuby1kYXRhIjoiTm8gaGF5IGNvbmZpZ3VyYWNpb25lcyIsIm5vLWdhdGV3YXktZm91bmQiOiJObyBzZSBoYSBlbmNvbnRyYWRvIG5pbmfDum4gZ2F0ZXdheS4iLCJuby1nYXRld2F5LW1hdGNoaW5nIjoiICd7e2l0ZW19fScgbm8gZW5jb250cmFkby4iLCJwYXRoLWxvZ3MiOiJSdXRhIGEgbG9zIGFyY2hpdm9zIGRlIGxvZyIsInBhdGgtbG9ncy1yZXF1aXJlZCI6IlJ1dGEgcmVxdWVyaWRhLiIsInBlcm1pdC13aXRob3V0LWNhbGxzIjoiUGVybWl0aXIgS2VlcCBhbGl2ZSBzaSBsbGFtYWRhcyIscmVtb3RlOiJDb25maWd1cmFjacOzbiByZW1vdGEiLCJyZW1vdGUtbG9nZ2luZy1sZXZlbCI6Ik5pdmVsIGRlIGxvZ2dpbmciLCJyZW1vdmUtZW50cnkiOiJCb3JyYXIgY29uZmlndXJhY2nDs24iLCJyZW1vdGUtc2hlbGwiOiJDb25zb2xhIHJlbW90YSIsInJlbW90ZS1jb25maWd1cmF0aW9uIjoiQ29uZmlndXJhY2nDs24gcmVtb3RhIixvdGhlcjoib3Ryb3MiLCJzYXZlLXRpcCI6IkdyYWJhciBmaWNoZXJvIGRlIGNvbmZpZ3VyYWNpw7NuIiwic2VjdXJpdHktdHlwZSI6IlRpcG8gZGUgc2VndXJpZGFkIiwic2VjdXJpdHktdHlwZXMiOnsiYWNjZXNzLXRva2VuIjoiVMOza2VuIGRlIGFjY2VzbyIsInVzZXJuYW1lLXBhc3N3b3JkIjoiVXN1YXJpbyB5IGNvbnRyYXNlw7FhIix0bHM6IlRMUyIsInRscy1hY2Nlc3MtdG9rZW4iOiJUTFMgKyBUw7NrZW4gZGUgYWNjZXNvIiwidGxzLXByaXZhdGUta2V5IjoiVExTICsgQ2xhdmUgcHJpdmFkYSJ9LCJzZXJ2ZXItcG9ydCI6IlB1ZXJ0byBkZWwgc2Vydmlkb3IiLHN0YXRpc3RpY3M6e3N0YXRpc3RpYzoiRXN0YWTDrXN0aWNhIixzdGF0aXN0aWNzOiJFc3RhZMOtc3RpY2FzIiwic3RhdGlzdGljLWNvbW1hbmRzLWVtcHR5IjoiTm8gaGF5IGVzdGFkw61zdGljYXMiLGNvbW1hbmRzOiJDb21hbmRvcyIsInNlbmQtcGVyaW9kIjoiUGVyaW9kbyBkZSBlbnbDrW8gZGUgZXN0YWTDrXN0aWNhcyAoZW4gc2VndW5kb3MpIiwic2VuZC1wZXJpb2QtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBwZXJpb2RvIGRlIGVudsOtbyIsInNlbmQtcGVyaW9kLW1pbiI6IkVsIHBlcmlvZG8gZGUgZW52w61vIG5vIHB1ZWRlIHNlciBtZW5vciBkZSA2MCIsInNlbmQtcGVyaW9kLXBhdHRlcm4iOiJFbCBwZXJpb2RvIGRlIGVudsOtbyBubyBlcyB2w6FsaWRvIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uIjoiUmV2aXNhciBjb25maWd1cmFjacOzbiBkZSBjb25lY3RvcmVzIChlbiBzZWd1bmRvcykiLCJjaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tcmVxdWlyZWQiOiJTZSByZXF1aWVyZSB1biB2YWxvciIsImNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbi1taW4iOiJFbCB2YWxvciBubyBwdWVkZSBzZXIgbWVub3IgZGUgMSIsImNoZWNrLWNvbm5lY3RvcnMtY29uZmlndXJhdGlvbi1wYXR0ZXJuIjoiTGEgY29uZmlndXJhY2nDs24gbm8gZXMgdsOhbGlkYSIsYWRkOiJBw7FhZGlyIGNvbWFuZG8iLHRpbWVvdXQ6IlRpbWVvdXQiLCJ0aW1lb3V0LW1zIjoiVGltZW91dCAoZW4gbXMpIiwidGltZW91dC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIHRpbWVvdXQiLCJ0aW1lb3V0LW1pbiI6IkVsIHRpbWVvdXQgbm8gcHVlZGUgc2VyIG1lbm9yIGRlIDEiLCJ0aW1lb3V0LXBhdHRlcm4iOiJFbCB0aW1lb3V0IG5vIGVzIHbDoWxpZG8iLCJhdHRyaWJ1dGUtbmFtZSI6Ik5vbWJyZSBkZSBhdHJpYnV0byIsImF0dHJpYnV0ZS1uYW1lLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgbm9tYnJlIGRlIGF0cmlidXRvIixjb21tYW5kOiJDb21hbmRvIiwiY29tbWFuZC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIGNvbWFuZG8iLHJlbW92ZToiQm9ycmFyIGNvbWFuZG8ifSxzdG9yYWdlOiJHcmFiYWNpw7NuIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoiTsO6bWVybyBtw6F4aW1vIGRlIHJlZ2lzdHJvcyBlbiBmaWNoZXJvIiwic3RvcmFnZS1tYXgtZmlsZXMiOiJOw7ptZXJvIG3DoXhpbW8gZGUgZmljaGVyb3MiLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiJFbCBuw7ptZXJvIG3DrW5pbW8gZXMgMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiTsO6bWVybyBubyB2w6FsaWRvLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgbsO6bWVyby4iLCJzdG9yYWdlLW1heC1yZWNvcmRzIjoiTcOheGltbyBkZSByZWdpc3Ryb3MgZW4gZWwgYWxtYWPDqW4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLW1pbiI6IkVsIG7Dum1lcm8gbcOtbmltbyBlcyAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6Ik7Dum1lcm8gbm8gdsOhbGlkby4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgbsO6bWVyby4iLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50IjoiTGVlciBuw7ptZXJvIGRlIGVudHJhZGFzIGVuIGFsbWFjw6luIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1taW4iOiJFbCBuw7ptZXJvIG3DrW5pbW8gZGUgZW50cmFkYXMgZXMgMS4iLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm4iOiJFbCBuw7ptZXJvIG5vIGVzIHbDoWxpZG8uIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIG7Dum1lcm8gZGUgZW50cmFkYXMuIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQiOiJOw7ptZXJvIG3DoXhpbW8gZGUgZW50cmFkYXMgZW4gZWwgYWxtYWPDqW4iLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1taW4iOiJFbCBuw7ptZXJvIG3DrW5pbW8gZXMgMS4iLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1wYXR0ZXJuIjoiRWwgbsO6bWVybyBubyBlcyB2w6FsaWRvIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBuw7ptZXJvIG3DoXhpbW8gZGUgZW50cmFkYXMuIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoIjoiUnV0YSBkZSBjYXJwZXRhIGRlIGRhdG9zIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoLXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgcnV0YS4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6IlRhbWHDsW8gbcOheGltbyBkZSBldmVudG9zIiwic3RvcmFnZS1wYWNrLXNpemUtbWluIjoiRWwgbsO6bWVybyBtw61uaW1vIGVzIDEuIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6Ik7Dum1lcm8gbm8gdsOhbGlkby4iLCJzdG9yYWdlLXBhY2stc2l6ZS1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIG7Dum1lcm8uIiwic3RvcmFnZS1wYXRoIjoiUnV0YSBkZSBhbG1hY8OpbiIsInN0b3JhZ2UtcGF0aC1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIHJ1dGEgZGUgYWxtYWPDqW4uIiwic3RvcmFnZS10eXBlIjoiVGlwbyBkZSBhbG1hY8OpbiIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoiQWxtYWPDqW4gZW4gZmljaGVybyIsIm1lbW9yeS1zdG9yYWdlIjoiQWxtYWPDqW4gZW4gbWVtb3JpYSIsc3FsaXRlOiJTUUxJVEUifSx0aGluZ3Nib2FyZDoiVGhpbmdzQm9hcmQiLGdlbmVyYWw6IkdlbmVyYWwiLCJ0aGluZ3Nib2FyZC1ob3N0IjoiSG9zdCBUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBIb3N0LiIsInRoaW5nc2JvYXJkLXBvcnQiOiJQdWVydG8gVGhpbmdzQm9hcmQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6IkVsIHB1ZXJ0byBtw6F4aW1vIGVzIDY1NTM1LiIsInRoaW5nc2JvYXJkLXBvcnQtbWluIjoiRWwgcHVlcnRvIG3DrW5pbW8gZXMgMS4iLCJ0aGluZ3Nib2FyZC1wb3J0LXBhdHRlcm4iOiJQdWVydG8gbm8gdsOhbGlkby4iLCJ0aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkIjoiU2UgcmVxdWllcmUgcHVlcnRvLiIsdGlkeToiVGlkeSIsInRpZHktdGlwIjoiVGlkeSBKU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoiQ29uZmlndXJhY2nDs24gY29uZWN0b3Ige3t0eXBlTmFtZX19IiwidGxzLXBhdGgtY2EtY2VydGlmaWNhdGUiOiJSdXRhIGFsIGNlcnRpZmljYWRvIENBIGVuIGVsIGdhdGV3YXkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiJSdXRhIGFsIGNlcnRpZmljYWRvIGNsaWVudGUgZW4gZWwgZ2F0ZXdheSIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3VycyI6IkNvbXByb2JhY2nDs24gZGUgVFRMIGRlIG1lbnNhamVzIGVuIGhvcmFzIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXJlcXVpcmVkIjoiQ2FtcG8gcmVxdWVyaWRvLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1taW4iOiJFbCBtw61uaW1vIGVzIDEuIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXBhdHRlcm4iOiJFbCBuw7ptZXJvIG5vIGVzIHbDoWxpZG8uIiwibWVzc2FnZXMtdHRsLWluLWRheXMiOiJUVEwgKFRpbWUgdG8gbGl2ZSkgZGUgbWVuc2FnZXMgZW4gZMOtYXMiLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1yZXF1aXJlZCI6IlNlIHJlcXVpZXJlIFRUTCBkZSBtZW5zYWplcy4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1taW4iOiJFbCBuw7ptZXJvIG3DrW5pbW8gZXMgMS4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1wYXR0ZXJuIjoiRWwgbsO6bWVybyBubyBlcyB2w6FsaWRvLiIsIm1xdHQtcW9zIjoiUW9TIiwibXF0dC1xb3MtcmVxdWlyZWQiOiJTZSByZXF1aWVyZSBRb1MiLCJtcXR0LXFvcy1yYW5nZSI6IkVsIHJhbmdvIGRlIHZhbG9yZXMgZXMgZGVzZGUgMCBhIDEiLCJ0bHMtcGF0aC1wcml2YXRlLWtleSI6IlJ1dGEgYSBsYSBjbGF2ZSBwcml2YWRhIGVuIGVsIGdhdGV3YXkiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlBhbnRhbGxhIGNvbXBsZXRhIGZ1bGxzY3JlZW4iLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IkNvbmZpZ3VyYWNpw7NuIEpTT04qIiwidXBkYXRlLWNvbmZpZyI6IkHDsWFkaXIvYWN0dWFsaXphciBjb25maWd1cmFjacOzbiBKU09OIixoaW50czp7InJlbW90ZS1jb25maWd1cmF0aW9uIjoiSGFiaWxpdGEgbGEgYWRtaW5pc3RyYWNpw7NuIHkgY29uZmlndXJhY2nDs24gcmVtb3RhIGRlbCBnYXRld2F5IiwicmVtb3RlLXNoZWxsIjoiSGFiaWxpdGEgZWwgY29udHJvbCByZW1vdG8gZGVsIHNpc3RlbWEgb3BlcmF0aXZvIGRlbCBnYXRld2F5IGRlc2RlIGVsIHdpZGdldCB0ZXJtaW5hbCByZW1vdG8iLGhvc3Q6Ikhvc3RuYW1lIG8gZGlyZWNjacOzbiBJUCBkZWwgc2Vydmlkb3IgVGhpbmdzYm9hcmQiLHBvcnQ6IlB1ZXJ0byBkZWwgc2VydmljaW8gTVFUVCBlbiBlbCBzZXJ2aWRvciBUaGluZ3Nib2FyZCIsdG9rZW46IkFjY2VzcyB0b2tlbiBwYXJhIGVsIGdhdGV3YXkiLCJjbGllbnQtaWQiOiJJRCBkZSBjbGllbnRlIE1RVFQgcGFyYSBlbCBnYXRld2F5Iix1c2VybmFtZToiVXN1YXJpbyBNUVRUIHBhcmEgZWwgZ2F0ZXdheSIscGFzc3dvcmQ6IkNvbnRyYXNlw7FhIE1RVFQgcGFyYSBlbCBnYXRld2F5IiwiY2EtY2VydCI6IlJ1dGEgYWwgZmljaGVybyBkZWwgY2VydGlmaWNhZG8gQ0EiLCJkYXRlLWZvcm0iOiJGb3JtYXRvIGRlIGZlY2hhIGVuIGxvcyBtZW5zYWplcyBkZSByZWdpc3RybyIsImRhdGEtZm9sZGVyIjoiUnV0YSBhIGxhIGNhcnBldGEgcXVlIGNvbnRlbmRyw6EgbG9zIGRhdG9zIChSZWxhdGl2YSBvIGFic29sdXRhKSIsImxvZy1mb3JtYXQiOiJGb3JtYXRvIGRlIG1lbnNhamVzIGVuIHJlZ2lzdHJvIiwicmVtb3RlLWxvZyI6IkhhYmlsaXRhIGVsIHJlZ2lzdHJvIHJlbW90byB5IGxhIHBvc3RlcmlvciBsZWN0dXJhIGRlc2RlIGVsIGdhdGV3YXkiLCJiYWNrdXAtY291bnQiOiJTaSBlbCBjb250YWplIGRlIGNvcGlhcyBkZSBzZWd1cmlkYWQgZXMgbWF5b3IgcXVlIDAsIGN1YW5kbyBzZSByZWFsaWNlIHVuYSByZW5vdmFjacOzbiwgbm8gc2UgY29uc2VydmFuIG3DoXMgcXVlIGxvcyBhcmNoaXZvcyBkZSByZWN1ZW50byBkZSBjb3BpYXMgZGUgc2VndXJpZGFkLCBsb3MgbcOhcyBhbnTDrWd1b3Mgc2UgZWxpbWluYXLDoW4iLHN0b3JhZ2U6IlByb3ZlZSBsYSBjb25maWd1cmFjacOzbiBwYXJhIGVsIGdyYWJhZG8gZGUgZGF0b3MgZW50cmFudGVzIGFudGVzIGRlIHF1ZSBzZSBlbnbDrWVuIGEgbGEgcGxhdGFmb3JtYSIsIm1heC1maWxlLWNvdW50IjoiTsO6bWVybyBtw6F4aW1vIGRlIGZpY2hlcm9zIHF1ZSBzZSBjcmVhcsOhbiIsIm1heC1yZWFkLWNvdW50IjoiTsO6bWVvIG3DoXhpbW8gZGUgbWVuc2FqZXMgYSBvYnRlbmVyIGRlc2RlIGVsIGRpc2NvIHkgZW52aWFkb3MgYSBsYSBwbGF0YWZvcm1hIiwibWF4LXJlY29yZHMiOiJOw7ptZXJvIG3DoXhpbW8gZGUgcmVnaXN0cm9zIHF1ZSBzZSBndWFyZGFyw6FuIGVuIHVuIHNvbG8gZmljaGVybyIsInJlYWQtcmVjb3JkLWNvdW50IjoiTsO6bWVybyBkZSBtZW5zYWdlcyBhIG9idGVuZXIgZGVzZGUgZWwgYWxtYWNlbmFtaWVudG8geSBlbnZpYWRvcyBhIGxhIHBsYXRhZm9ybWEiLCJtYXgtcmVjb3Jkcy1jb3VudCI6Ik7Dum1lcm8gbcOheGltbyBkZSBkYXRvcyBlbiBhbG1hY2VuYW1pZW50byBhbnRlcyBkZSBlbnZpYXIgYSBsYSBwbGF0YWZvcm1hIiwidHRsLWNoZWNrLWhvdXIiOiJDb24gcXXDqSBmcmVjdWVuY2lhIGVsIGdhdGV3YXkgY29tcHJvYmFyw6Egc2kgbG9zIGRhdG9zIGVzdMOhbiBvYnNvbGV0b3MiLCJ0dGwtbWVzc2FnZXMtZGF5IjoiTsO6bWVybyBtw6F4aW1vIGRlIGTDrWFzIHBhcmEgbGEgcmV0ZW5jacOzbiBkZSBkYXRvcyBlbiBlbCBhbG1hY8OpbiIsY29tbWFuZHM6IkNvbWFuZG9zIHBhcmEgcmVjb2dlciBlc3RhZMOtc3RpY2FzIGFkaWNpb25hbGVzIixhdHRyaWJ1dGU6IkNsYXZlIGRlIHRlbGVtZXRyw61hIHBhcmEgZXN0YWTDrXN0aWNhcyIsdGltZW91dDoiVGltZW91dCBwYXJhIGxhIGVqZWN1Y2nDs24gZGUgY29tYW5kb3MiLGNvbW1hbmQ6IkVsIHJlc3VsdGFkbyBkZSBsYSBlamVjdWNpw7NuIGRlbCBjb21hbmRvLCBzZSB1c2Fyw6EgY29tbyB2YWxvciBwYXJhIGxhIHRlbGVtZXRyw61hIiwiY2hlY2stZGV2aWNlLWFjdGl2aXR5IjoiSGFiaWxpdGEgbGEgbW9uaXRvcml6YWNpw7NuIGRlIGNhZGEgdW5vIGRlIGxvcyBkaXNwb3NpdGl2b3MgY29uZWN0YWRvcyIsImluYWN0aXZpdHktdGltZW91dCI6IlRpZW1wbyB0cmFzIHF1ZSBlbCBnYXRld2F5IGRlc2NvbmVjdGFyw6EgZWwgZGlzcG9zaXRpdm8iLCJpbmFjdGl2aXR5LXBlcmlvZCI6IlBlcmlvZG8gZGUgbW9uaXRvcml6YWNpw7NuIGRlIGFjdGl2aWRhZCBlbiBlbCBkaXNwb3NpdGl2byIsIm1pbmltYWwtcGFjay1kZWxheSI6IlRpZW1wbyBkZSBlc3BlcmEgZW50cmUgZW52w61vIGRlIHBhcXVldGVzIGRlIG1lbnNhamVzIChVbiB2YWxvciBtdXkgYmFqbywgcmVzdWx0YXLDoSBlbiB1biBhdW1lbnRvIGRlIHVzbyBkZSBsYSBDUFUgZW4gZWwgZ2F0ZXdheSkiLHFvczoiUXVhbGl0eSBvZiBTZXJ2aWNlIGVuIGxvcyBtZW5zYWplcyBNUVRUICgwIC0gYXQgbW9zdCBvbmNlLCAxIC0gYXQgbGVhc3Qgb25jZSkiLCJzZXJ2ZXItcG9ydCI6IlB1ZXJ0byBkZSByZWQgZW4gZWwgY3VhbCBlbCBzZXJ2aWRvciBHUlBDIGVzY3VjaGFyw6EgY29uZXhpb25lcyBlbnRyYW50ZXMuIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQiOiJUaWVtcG8gbcOheGltbywgZWwgY3VhbCBlbCBzZXJ2aWRvciBlc3BlcmFyYSB1biBwaW5nIGtlZXBhbGl2ZSBhbnRlcyBkZSBjb25zaWRlcmFyIGxhIGNvbmV4acOzbiB0ZXJtaW5hZGEuIiwiZ3JwYy1rZWVwLWFsaXZlIjoiRHVyYWNpw7NuIGVudHJlIGRvcyBwaW5ncyBrZWVwYWxpdmUgY3VhbmRvIG5vIGhheWEgbGxhbWFkYSBSUEMgYWN0aXZhLiIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncyI6Ik3DrW5pbW8gdGllbXBvIHF1ZSBlbCBzZXJ2aWRvciBkZWJlIGVzcGVyYXIgZW50cmUgZW52w61vcyBkZSBtZW5zYWplcyBkZSBwaW5nIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoiTsO6bWVybyBtw6F4aW1vIGRlIHBpbmdzIGtlZXBhbGl2ZSBxdWUgZWwgc2Vydmlkb3IgcHVlZGUgZW52aWFyIHNpbiByZWNpYmlyIG5pbmfDum4gZGF0byBhbnRlcyBkZSBjb25zaWRlcmFyIGxhIGNvbmV4acOzbiB0ZXJtaW5hZGEuIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEiOiJNw61uaW1vIHRpZW1wbyBxdWUgZWwgc2Vydmlkb3IgZGViZSBlc3BlcmFyIGVudHJlIGVudsOtb3MgZGUgcGluZyBrZWVwYWxpdmUgY3VhbmRvIG5vIGhheWEgbmluZ8O6biBkYXRvIGVuIGVudsOtbyBvIHJlY2VwY2nDs24uIiwicGVybWl0LXdpdGhvdXQtY2FsbHMiOiJQZXJtaXRpciBhbCBzZXJ2aWRvciBtYW50ZW5lciBsYSBjb25leGnDs24gR1JQQyBhYmllcnRhLCBjdWFuZG8gbm8gaGF5YSBsbGFtYWRhcyBSUEMgYWN0aXZhcy4ifX0sSG89eyJhZGQtZW50cnkiOiLshKTsoJUg7LaU6rCAIiwiY29ubmVjdG9yLWFkZCI6IuyDiOuhnOyatCDsl7DqsrDsnpAg7LaU6rCAIiwiY29ubmVjdG9yLWVuYWJsZWQiOiJFbmFibGUgY29ubmVjdG9yIiwiY29ubmVjdG9yLW5hbWUiOiJDb25uZWN0b3IgbmFtZSIsImNvbm5lY3Rvci1uYW1lLXJlcXVpcmVkIjoiQ29ubmVjdG9yIG5hbWUgaXMgcmVxdWlyZWQuIiwiY29ubmVjdG9yLXR5cGUiOiJDb25uZWN0b3IgdHlwZSIsImNvbm5lY3Rvci10eXBlLXJlcXVpcmVkIjoiQ29ubmVjdG9yIHR5cGUgaXMgcmVxdWlyZWQuIixjb25uZWN0b3JzOiJDb25uZWN0b3JzIGNvbmZpZ3VyYXRpb24iLCJjcmVhdGUtbmV3LWdhdGV3YXkiOiJDcmVhdGUgYSBuZXcgZ2F0ZXdheSIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiQXJlIHlvdSBzdXJlIHlvdSB3YW50IGNyZWF0ZSBhIG5ldyBnYXRld2F5IHdpdGggbmFtZTogJ3t7Z2F0ZXdheU5hbWV9fSc/IixkZWxldGU6IkRlbGV0ZSBjb25maWd1cmF0aW9uIiwiZG93bmxvYWQtdGlwIjoiRG93bmxvYWQgY29uZmlndXJhdGlvbiBmaWxlIixnYXRld2F5OiJHYXRld2F5IiwiZ2F0ZXdheS1leGlzdHMiOiJEZXZpY2Ugd2l0aCBzYW1lIG5hbWUgaXMgYWxyZWFkeSBleGlzdHMuIiwiZ2F0ZXdheS1uYW1lIjoiR2F0ZXdheSBuYW1lIiwiZ2F0ZXdheS1uYW1lLXJlcXVpcmVkIjoiR2F0ZXdheSBuYW1lIGlzIHJlcXVpcmVkLiIsImdhdGV3YXktc2F2ZWQiOiJHYXRld2F5IGNvbmZpZ3VyYXRpb24gc3VjY2Vzc2Z1bGx5IHNhdmVkLiIsImpzb24tcGFyc2UiOiJOb3QgdmFsaWQgSlNPTi4iLCJqc29uLXJlcXVpcmVkIjoiRmllbGQgY2Fubm90IGJlIGVtcHR5LiIsIm5vLWNvbm5lY3RvcnMiOiJObyBjb25uZWN0b3JzIiwibm8tZGF0YSI6Ik5vIGNvbmZpZ3VyYXRpb25zIiwibm8tZ2F0ZXdheS1mb3VuZCI6Ik5vIGdhdGV3YXkgZm91bmQuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5vdCBmb3VuZC4iLCJwYXRoLWxvZ3MiOiJQYXRoIHRvIGxvZyBmaWxlcyIsInBhdGgtbG9ncy1yZXF1aXJlZCI6IlBhdGggaXMgcmVxdWlyZWQuIixyZW1vdGU6IlJlbW90ZSBjb25maWd1cmF0aW9uIiwicmVtb3RlLWxvZ2dpbmctbGV2ZWwiOiJMb2dnaW5nIGxldmVsIiwicmVtb3ZlLWVudHJ5IjoiUmVtb3ZlIGNvbmZpZ3VyYXRpb24iLCJzYXZlLXRpcCI6IlNhdmUgY29uZmlndXJhdGlvbiBmaWxlIiwic2VjdXJpdHktdHlwZSI6IlNlY3VyaXR5IHR5cGUiLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJBY2Nlc3MgVG9rZW4iLHRsczoiVExTIn0sc3RvcmFnZToiU3RvcmFnZSIsInN0b3JhZ2UtbWF4LWZpbGUtcmVjb3JkcyI6Ik1heGltdW0gcmVjb3JkcyBpbiBmaWxlIiwic3RvcmFnZS1tYXgtZmlsZXMiOiJNYXhpbXVtIG51bWJlciBvZiBmaWxlcyIsInN0b3JhZ2UtbWF4LWZpbGVzLW1pbiI6Ik1pbmltdW0gbnVtYmVyIGlzIDEuIiwic3RvcmFnZS1tYXgtZmlsZXMtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiJOdW1iZXIgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik1heGltdW0gcmVjb3JkcyBpbiBzdG9yYWdlIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1taW4iOiJNaW5pbXVtIG51bWJlciBvZiByZWNvcmRzIGlzIDEuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkIjoiTWF4aW11bSByZWNvcmRzIGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtcGFjay1zaXplIjoiTWF4aW11bSBldmVudCBwYWNrIHNpemUiLCJzdG9yYWdlLXBhY2stc2l6ZS1taW4iOiJNaW5pbXVtIG51bWJlciBpcyAxLiIsInN0b3JhZ2UtcGFjay1zaXplLXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoiTWF4aW11bSBldmVudCBwYWNrIHNpemUgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1wYXRoIjoiU3RvcmFnZSBwYXRoIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoiU3RvcmFnZSBwYXRoIGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtdHlwZSI6IlN0b3JhZ2UgdHlwZSIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoiRmlsZSBzdG9yYWdlIiwibWVtb3J5LXN0b3JhZ2UiOiJNZW1vcnkgc3RvcmFnZSJ9LHRoaW5nc2JvYXJkOiJUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QiOiJUaGluZ3NCb2FyZCBob3N0IiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6Ikhvc3QgaXMgcmVxdWlyZWQuIiwidGhpbmdzYm9hcmQtcG9ydCI6IlRoaW5nc0JvYXJkIHBvcnQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6Ik1heGltdW0gcG9ydCBudW1iZXIgaXMgNjU1MzUuIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiJNaW5pbXVtIHBvcnQgbnVtYmVyIGlzIDEuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiUG9ydCBpcyBub3QgdmFsaWQuIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6IlBvcnQgaXMgcmVxdWlyZWQuIix0aWR5OiJUaWR5IiwidGlkeS10aXAiOiJUaWR5IGNvbmZpZyBKU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoiQ29ubmVjdG9yIHt7dHlwZU5hbWV9fSBjb25maWd1cmF0aW9uIiwidGxzLXBhdGgtY2EtY2VydGlmaWNhdGUiOiJQYXRoIHRvIENBIGNlcnRpZmljYXRlIG9uIGdhdGV3YXkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiJQYXRoIHRvIGNsaWVudCBjZXJ0aWZpY2F0ZSBvbiBnYXRld2F5IiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiJQYXRoIHRvIHByaXZhdGUga2V5IG9uIGdhdGV3YXkiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlRvZ2dsZSBmdWxsc2NyZWVuIiwidHJhbnNmb3JtZXItanNvbi1jb25maWciOiJDb25maWd1cmF0aW9uIEpTT04qIiwidXBkYXRlLWNvbmZpZyI6IkFkZC91cGRhdGUgY29uZmlndXJhdGlvbiBKU09OIn0sem89eyJhZGQtZW50cnkiOiJBZGQgY29uZmlndXJhdGlvbiIsYWR2YW5jZWQ6IkFkdmFuY2VkIiwiY2hlY2tpbmctZGV2aWNlLWFjdGl2aXR5IjoiQ2hlY2tpbmcgZGV2aWNlIGFjdGl2aXR5Iixjb21tYW5kOiJEb2NrZXIgY29tbWFuZHMiLCJjb21tYW5kLWNvcGllZC1tZXNzYWdlIjoiRG9ja2VyIGNvbW1hbmQgaGFzIGJlZW4gY29waWVkIHRvIGNsaXBib2FyZCIsY29uZmlndXJhdGlvbjoiQ29uZmlndXJhdGlvbiIsImNvbm5lY3Rvci1hZGQiOiJBZGQgbmV3IGNvbm5lY3RvciIsImNvbm5lY3Rvci1lbmFibGVkIjoiRW5hYmxlIGNvbm5lY3RvciIsImNvbm5lY3Rvci1uYW1lIjoiQ29ubmVjdG9yIG5hbWUiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6IkNvbm5lY3RvciBuYW1lIGlzIHJlcXVpcmVkLiIsImNvbm5lY3Rvci10eXBlIjoiQ29ubmVjdG9yIHR5cGUiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IkNvbm5lY3RvciB0eXBlIGlzIHJlcXVpcmVkLiIsY29ubmVjdG9yczoiQ29ubmVjdG9ycyIsImNvbm5lY3RvcnMtY29uZmlnIjoiQ29ubmVjdG9ycyBjb25maWd1cmF0aW9uIiwiY29ubmVjdG9ycy10YWJsZS1lbmFibGVkIjoiRW5hYmxlZCIsImNvbm5lY3RvcnMtdGFibGUtbmFtZSI6Ik5hbWUiLCJjb25uZWN0b3JzLXRhYmxlLXR5cGUiOiJUeXBlIiwiY29ubmVjdG9ycy10YWJsZS1zdGF0dXMiOiJTdGF0dXMiLCJjb25uZWN0b3JzLXRhYmxlLWFjdGlvbnMiOiJBY3Rpb25zIiwiY29ubmVjdG9ycy10YWJsZS1rZXkiOiJLZXkiLCJjb25uZWN0b3JzLXRhYmxlLWNsYXNzIjoiQ2xhc3MiLCJycGMtY29tbWFuZC1zZW5kIjoiU2VuZCIsInJwYy1jb21tYW5kLXJlc3VsdCI6IlJlc3VsdCIsInJwYy1jb21tYW5kLWVkaXQtcGFyYW1zIjoiRWRpdCBwYXJhbWV0ZXJzIiwiZ2F0ZXdheS1jb25maWd1cmF0aW9uIjoiR2VuZXJhbCBDb25maWd1cmF0aW9uIiwiZG9ja2VyLWxhYmVsIjoiSW4gb3JkZXIgdG8gcnVuIFRoaW5nc0JvYXJkIElvVCBnYXRld2F5IGluIGRvY2tlciB3aXRoIGNyZWRlbnRpYWxzIGZvciB0aGlzIGRldmljZSB5b3UgY2FuIHVzZSB0aGUgZm9sbG93aW5nIGNvbW1hbmRzLiIsImNyZWF0ZS1uZXctZ2F0ZXdheSI6IkNyZWF0ZSBhIG5ldyBnYXRld2F5IiwiY3JlYXRlLW5ldy1nYXRld2F5LXRleHQiOiJBcmUgeW91IHN1cmUgeW91IHdhbnQgY3JlYXRlIGEgbmV3IGdhdGV3YXkgd2l0aCBuYW1lOiAne3tnYXRld2F5TmFtZX19Jz8iLCJjcmVhdGVkLXRpbWUiOiJDcmVhdGVkIHRpbWUiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaGVhZGVyIjoiQ29uZmlndXJhdGlvbnMgd2lsbCBiZSBkZWxldGVkIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWJvZHkiOiJUdXJuaW5nIG9mZiBSZW1vdGUgQ29uZmlndXJhdGlvbiBpcyBwb3NzaWJsZSBvbmx5IGlmIHRoZXJlIGlzIHBoeXNpY2FsIGFjY2VzcyB0byB0aGUgR2F0ZXdheS4gQWxsIHByZXZpb3VzIGNvbmZpZ3VyYXRpb25zIHdpbGwgYmUgZGVsZXRlZC48YnI+PGJyPiBcblRvIHR1cm4gb2ZmIGNvbmZpZ3VyYXRpb24sIGVudGVyIGdhdGV3YXkgbmFtZSBiZWxvdyIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1pbnB1dCI6IkdhdGV3YXkgbmFtZSIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1pbnB1dC1yZXF1aXJlZCI6IkdhdGV3YXkgbmFtZSBpcyBtYW5kYXRvcnkiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctY29uZmlybSI6IlR1cm4gT2ZmIixkZWxldGU6IkRlbGV0ZSBjb25maWd1cmF0aW9uIiwiZG93bmxvYWQtdGlwIjoiRG93bmxvYWQgY29uZmlndXJhdGlvbiBmaWxlIiwiZHJvcC1maWxlIjoiRHJvcCBmaWxlIGhlcmUgb3IiLGdhdGV3YXk6IkdhdGV3YXkiLCJnYXRld2F5LWV4aXN0cyI6IkRldmljZSB3aXRoIHNhbWUgbmFtZSBpcyBhbHJlYWR5IGV4aXN0cy4iLCJnYXRld2F5LW5hbWUiOiJHYXRld2F5IG5hbWUiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJHYXRld2F5IG5hbWUgaXMgcmVxdWlyZWQuIiwiZ2F0ZXdheS1zYXZlZCI6IkdhdGV3YXkgY29uZmlndXJhdGlvbiBzdWNjZXNzZnVsbHkgc2F2ZWQuIixncnBjOiJHUlBDIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQiOiJLZWVwIGFsaXZlIHRpbWVvdXQgKGluIG1zKSIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LXJlcXVpcmVkIjoiS2VlcCBhbGl2ZSB0aW1lb3V0IGlzIHJlcXVpcmVkIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtbWluIjoiS2VlcCBhbGl2ZSB0aW1lb3V0IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dC1wYXR0ZXJuIjoiS2VlcCBhbGl2ZSB0aW1lb3V0IGlzIG5vdCB2YWxpZCIsImdycGMta2VlcC1hbGl2ZSI6IktlZXAgYWxpdmUgKGluIG1zKSIsImdycGMta2VlcC1hbGl2ZS1yZXF1aXJlZCI6IktlZXAgYWxpdmUgaXMgcmVxdWlyZWQiLCJncnBjLWtlZXAtYWxpdmUtbWluIjoiS2VlcCBhbGl2ZSBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1rZWVwLWFsaXZlLXBhdHRlcm4iOiJLZWVwIGFsaXZlIGlzIG5vdCB2YWxpZCIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncyI6Ik1pbiB0aW1lIGJldHdlZW4gcGluZ3MgKGluIG1zKSIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1yZXF1aXJlZCI6Ik1pbiB0aW1lIGJldHdlZW4gcGluZ3MgaXMgcmVxdWlyZWQiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtbWluIjoiTWluIHRpbWUgYmV0d2VlbiBwaW5ncyBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLXBhdHRlcm4iOiJNaW4gdGltZSBiZXR3ZWVuIHBpbmdzIGlzIG5vdCB2YWxpZCIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhIjoiTWluIHBpbmcgaW50ZXJ2YWwgd2l0aG91dCBkYXRhIChpbiBtcykiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6Ik1pbiBwaW5nIGludGVydmFsIHdpdGhvdXQgZGF0YSBpcyByZXF1aXJlZCIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLW1pbiI6Ik1pbiBwaW5nIGludGVydmFsIHdpdGhvdXQgZGF0YSBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcGF0dGVybiI6Ik1pbiBwaW5nIGludGVydmFsIHdpdGhvdXQgZGF0YSBpcyBub3QgdmFsaWQiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEiOiJNYXggcGluZ3Mgd2l0aG91dCBkYXRhIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXJlcXVpcmVkIjoiTWF4IHBpbmdzIHdpdGhvdXQgZGF0YSBpcyByZXF1aXJlZCIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YS1taW4iOiJNYXggcGluZ3Mgd2l0aG91dCBkYXRhIGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtcGF0dGVybiI6Ik1heCBwaW5ncyB3aXRob3V0IGRhdGEgaXMgbm90IHZhbGlkIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcyI6IkluYWN0aXZpdHkgY2hlY2sgcGVyaW9kIChpbiBzZWMpIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1yZXF1aXJlZCI6IkluYWN0aXZpdHkgY2hlY2sgcGVyaW9kIGlzIHJlcXVpcmVkIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1taW4iOiJJbmFjdGl2aXR5IGNoZWNrIHBlcmlvZCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1wYXR0ZXJuIjoiSW5hY3Rpdml0eSBjaGVjayBwZXJpb2QgaXMgbm90IHZhbGlkIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMiOiJJbmFjdGl2aXR5IHRpbWVvdXQgKGluIHNlYykiLCJpbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1yZXF1aXJlZCI6IkluYWN0aXZpdHkgdGltZW91dCBpcyByZXF1aXJlZCIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLW1pbiI6IkluYWN0aXZpdHkgdGltZW91dCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcGF0dGVybiI6IkluYWN0aXZpdHkgdGltZW91dCBpcyBub3QgdmFsaWQiLCJqc29uLXBhcnNlIjoiTm90IHZhbGlkIEpTT04uIiwianNvbi1yZXF1aXJlZCI6IkZpZWxkIGNhbm5vdCBiZSBlbXB0eS4iLGxvZ3M6e2xvZ3M6IkxvZ3MiLGRheXM6ImRheXMiLGhvdXJzOiJob3VycyIsbWludXRlczoibWludXRlcyIsc2Vjb25kczoic2Vjb25kcyIsImRhdGUtZm9ybWF0IjoiRGF0ZSBmb3JtYXQiLCJkYXRlLWZvcm1hdC1yZXF1aXJlZCI6IkRhdGUgZm9ybWF0IHJlcXVpcmVkIiwibG9nLWZvcm1hdCI6IkxvZyBmb3JtYXQiLCJsb2ctdHlwZSI6IkxvZyB0eXBlIiwibG9nLWZvcm1hdC1yZXF1aXJlZCI6IkxvZyBmb3JtYXQgcmVxdWlyZWQiLHJlbW90ZToiUmVtb3RlIGxvZ2dpbmciLCJyZW1vdGUtbG9ncyI6IlJlbW90ZSBsb2dzIixsb2NhbDoiTG9jYWwgbG9nZ2luZyIsbGV2ZWw6IkxvZyBsZXZlbCIsImZpbGUtcGF0aCI6IkZpbGUgcGF0aCIsImZpbGUtcGF0aC1yZXF1aXJlZCI6IkZpbGUgcGF0aCByZXF1aXJlZCIsInNhdmluZy1wZXJpb2QiOiJMb2cgc2F2aW5nIHBlcmlvZCIsInNhdmluZy1wZXJpb2QtbWluIjoiTG9nIHNhdmluZyBwZXJpb2QgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsInNhdmluZy1wZXJpb2QtcmVxdWlyZWQiOiJMb2cgc2F2aW5nIHBlcmlvZCByZXF1aXJlZCIsImJhY2t1cC1jb3VudCI6IkJhY2t1cCBjb3VudCIsImJhY2t1cC1jb3VudC1taW4iOiJCYWNrdXAgY291bnQgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImJhY2t1cC1jb3VudC1yZXF1aXJlZCI6IkJhY2t1cCBjb3VudCByZXF1aXJlZCJ9LCJtaW4tcGFjay1zZW5kLWRlbGF5IjoiTWluIHBhY2sgc2VuZCBkZWxheSAoaW4gbXMpIiwibWluLXBhY2stc2VuZC1kZWxheS1yZXF1aXJlZCI6Ik1pbiBwYWNrIHNlbmQgZGVsYXkgaXMgcmVxdWlyZWQiLCJtaW4tcGFjay1zZW5kLWRlbGF5LW1pbiI6Ik1pbiBwYWNrIHNlbmQgZGVsYXkgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMCIsIm5vLWNvbm5lY3RvcnMiOiJObyBjb25uZWN0b3JzIiwibm8tZGF0YSI6Ik5vIGNvbmZpZ3VyYXRpb25zIiwibm8tZ2F0ZXdheS1mb3VuZCI6Ik5vIGdhdGV3YXkgZm91bmQuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5vdCBmb3VuZC4iLCJwYXRoLWxvZ3MiOiJQYXRoIHRvIGxvZyBmaWxlcyIsInBhdGgtbG9ncy1yZXF1aXJlZCI6IlBhdGggaXMgcmVxdWlyZWQuIiwicGVybWl0LXdpdGhvdXQtY2FsbHMiOiJLZWVwIGFsaXZlIHBlcm1pdCB3aXRob3V0IGNhbGxzIixyZW1vdGU6IlJlbW90ZSBjb25maWd1cmF0aW9uIiwicmVtb3RlLWxvZ2dpbmctbGV2ZWwiOiJMb2dnaW5nIGxldmVsIiwicmVtb3ZlLWVudHJ5IjoiUmVtb3ZlIGNvbmZpZ3VyYXRpb24iLCJyZW1vdGUtc2hlbGwiOiJSZW1vdGUgc2hlbGwiLCJyZW1vdGUtY29uZmlndXJhdGlvbiI6IlJlbW90ZSBDb25maWd1cmF0aW9uIixvdGhlcjoiT3RoZXIiLCJzYXZlLXRpcCI6IlNhdmUgY29uZmlndXJhdGlvbiBmaWxlIiwic2VjdXJpdHktdHlwZSI6IlNlY3VyaXR5IHR5cGUiLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJBY2Nlc3MgVG9rZW4iLCJ1c2VybmFtZS1wYXNzd29yZCI6IlVzZXJuYW1lIGFuZCBQYXNzd29yZCIsdGxzOiJUTFMiLCJ0bHMtYWNjZXNzLXRva2VuIjoiVExTICsgQWNjZXNzIFRva2VuIiwidGxzLXByaXZhdGUta2V5IjoiVExTICsgUHJpdmF0ZSBLZXkifSwic2VydmVyLXBvcnQiOiJTZXJ2ZXIgcG9ydCIsc3RhdGlzdGljczp7c3RhdGlzdGljOiJTdGF0aXN0aWMiLHN0YXRpc3RpY3M6IlN0YXRpc3RpY3MiLCJzdGF0aXN0aWMtY29tbWFuZHMtZW1wdHkiOiJObyBzdGF0aXN0aWNzIGF2YWlsYWJsZSIsY29tbWFuZHM6IkNvbW1hbmRzIiwic2VuZC1wZXJpb2QiOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgKGluIHNlYykiLCJzZW5kLXBlcmlvZC1yZXF1aXJlZCI6IlN0YXRpc3RpYyBzZW5kIHBlcmlvZCBpcyByZXF1aXJlZCIsInNlbmQtcGVyaW9kLW1pbiI6IlN0YXRpc3RpYyBzZW5kIHBlcmlvZCBjYW4gbm90IGJlIGxlc3MgdGhlbiA2MCIsInNlbmQtcGVyaW9kLXBhdHRlcm4iOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgaXMgbm90IHZhbGlkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uIjoiQ2hlY2sgY29ubmVjdG9ycyBjb25maWd1cmF0aW9uIChpbiBzZWMpIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXJlcXVpcmVkIjoiQ2hlY2sgY29ubmVjdG9ycyBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLW1pbiI6IkNoZWNrIGNvbm5lY3RvcnMgY29uZmlndXJhdGlvbiBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXBhdHRlcm4iOiJDaGVjayBjb25uZWN0b3JzIGNvbmZpZ3VyYXRpb24gaXMgbm90IHZhbGlkIixhZGQ6IkFkZCBjb21tYW5kIix0aW1lb3V0OiJUaW1lb3V0IiwidGltZW91dC1tcyI6IlRpbWVvdXQgKGluIG1zKSIsInRpbWVvdXQtcmVxdWlyZWQiOiJUaW1lb3V0IGlzIHJlcXVpcmVkIiwidGltZW91dC1taW4iOiJUaW1lb3V0IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJ0aW1lb3V0LXBhdHRlcm4iOiJUaW1lb3V0IGlzIG5vdCB2YWxpZCIsImF0dHJpYnV0ZS1uYW1lIjoiQXR0cmlidXRlIG5hbWUiLCJhdHRyaWJ1dGUtbmFtZS1yZXF1aXJlZCI6IkF0dHJpYnV0ZSBuYW1lIGlzIHJlcXVpcmVkIixjb21tYW5kOiJDb21tYW5kIiwiY29tbWFuZC1yZXF1aXJlZCI6IkNvbW1hbmQgaXMgcmVxdWlyZWQiLHJlbW92ZToiUmVtb3ZlIGNvbW1hbmQifSxzdG9yYWdlOiJTdG9yYWdlIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoiTWF4aW11bSByZWNvcmRzIGluIGZpbGUiLCJzdG9yYWdlLW1heC1maWxlcyI6Ik1heGltdW0gbnVtYmVyIG9mIGZpbGVzIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoiTWluaW11bSBudW1iZXIgaXMgMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJzdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZCI6Ik51bWJlciBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLW1heC1yZWNvcmRzIjoiTWF4aW11bSByZWNvcmRzIGluIHN0b3JhZ2UiLCJzdG9yYWdlLW1heC1yZWNvcmRzLW1pbiI6Ik1pbmltdW0gbnVtYmVyIG9mIHJlY29yZHMgaXMgMS4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJNYXhpbXVtIHJlY29yZHMgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudCI6IlJlYWQgcmVjb3JkIGNvdW50IGluIHN0b3JhZ2UiLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LW1pbiI6Ik1pbmltdW0gbnVtYmVyIG9mIHJlY29yZHMgaXMgMS4iLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQtcmVxdWlyZWQiOiJSZWFkIHJlY29yZCBjb3VudCBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudCI6Ik1heCByZWFkIHJlY29yZCBjb3VudCBpbiBzdG9yYWdlIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtbWluIjoiTWluaW11bSBudW1iZXIgb2YgcmVjb3JkcyBpcyAxLiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkIjoiTWF4IFJlYWQgcmVjb3JkIGNvdW50IGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtZGF0YS1mb2xkZXItcGF0aCI6IkRhdGEgZm9sZGVyIHBhdGgiLCJzdG9yYWdlLWRhdGEtZm9sZGVyLXBhdGgtcmVxdWlyZWQiOiJEYXRhIGZvbGRlciBwYXRoIGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtcGFjay1zaXplIjoiTWF4aW11bSBldmVudCBwYWNrIHNpemUiLCJzdG9yYWdlLXBhY2stc2l6ZS1taW4iOiJNaW5pbXVtIG51bWJlciBpcyAxLiIsInN0b3JhZ2UtcGFjay1zaXplLXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoiTWF4aW11bSBldmVudCBwYWNrIHNpemUgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1wYXRoIjoiU3RvcmFnZSBwYXRoIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoiU3RvcmFnZSBwYXRoIGlzIHJlcXVpcmVkLiIsInN0b3JhZ2UtdHlwZSI6IlN0b3JhZ2UgdHlwZSIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoiRmlsZSBzdG9yYWdlIiwibWVtb3J5LXN0b3JhZ2UiOiJNZW1vcnkgc3RvcmFnZSIsc3FsaXRlOiJTUUxJVEUifSx0aGluZ3Nib2FyZDoiVGhpbmdzQm9hcmQiLGdlbmVyYWw6IkdlbmVyYWwiLCJ0aGluZ3Nib2FyZC1ob3N0IjoiVGhpbmdzQm9hcmQgaG9zdCIsInRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWQiOiJIb3N0IGlzIHJlcXVpcmVkLiIsInRoaW5nc2JvYXJkLXBvcnQiOiJUaGluZ3NCb2FyZCBwb3J0IiwidGhpbmdzYm9hcmQtcG9ydC1tYXgiOiJNYXhpbXVtIHBvcnQgbnVtYmVyIGlzIDY1NTM1LiIsInRoaW5nc2JvYXJkLXBvcnQtbWluIjoiTWluaW11bSBwb3J0IG51bWJlciBpcyAxLiIsInRoaW5nc2JvYXJkLXBvcnQtcGF0dGVybiI6IlBvcnQgaXMgbm90IHZhbGlkLiIsInRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWQiOiJQb3J0IGlzIHJlcXVpcmVkLiIsdGlkeToiVGlkeSIsInRpZHktdGlwIjoiVGlkeSBjb25maWcgSlNPTiIsInRpdGxlLWNvbm5lY3RvcnMtanNvbiI6IkNvbm5lY3RvciB7e3R5cGVOYW1lfX0gY29uZmlndXJhdGlvbiIsInRscy1wYXRoLWNhLWNlcnRpZmljYXRlIjoiUGF0aCB0byBDQSBjZXJ0aWZpY2F0ZSBvbiBnYXRld2F5IiwidGxzLXBhdGgtY2xpZW50LWNlcnRpZmljYXRlIjoiUGF0aCB0byBjbGllbnQgY2VydGlmaWNhdGUgb24gZ2F0ZXdheSIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3VycyI6Ik1lc3NhZ2VzIFRUTCBjaGVjayBpbiBob3VycyIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1yZXF1aXJlZCI6Ik1lc3NhZ2VzIFRUTCBjaGVjayBpbiBob3VycyBpcyByZXF1aXJlZC4iLCJtZXNzYWdlcy10dGwtY2hlY2staW4taG91cnMtbWluIjoiTWluIG51bWJlciBpcyAxLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cyI6Ik1lc3NhZ2VzIFRUTCBpbiBkYXlzIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcmVxdWlyZWQiOiJNZXNzYWdlcyBUVEwgaW4gZGF5cyBpcyByZXF1aXJlZC4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1taW4iOiJNaW4gbnVtYmVyIGlzIDEuIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcGF0dGVybiI6Ik51bWJlciBpcyBub3QgdmFsaWQuIiwibXF0dC1xb3MiOiJRb1MiLCJtcXR0LXFvcy1yZXF1aXJlZCI6IlFvUyBpcyByZXF1aXJlZCIsIm1xdHQtcW9zLXJhbmdlIjoiUW9TIHZhbHVlcyByYW5nZSBpcyBmcm9tIDAgdG8gMSIsInRscy1wYXRoLXByaXZhdGUta2V5IjoiUGF0aCB0byBwcml2YXRlIGtleSBvbiBnYXRld2F5IiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiJUb2dnbGUgZnVsbHNjcmVlbiIsInRyYW5zZm9ybWVyLWpzb24tY29uZmlnIjoiQ29uZmlndXJhdGlvbiBKU09OKiIsInVwZGF0ZS1jb25maWciOiJBZGQvdXBkYXRlIGNvbmZpZ3VyYXRpb24gSlNPTiIsaGludHM6eyJyZW1vdGUtY29uZmlndXJhdGlvbiI6IkVuYWJsZXMgcmVtb3RlIGNvbmZpZ3VyYXRpb24gYW5kIG1hbmFnZW1lbnQgb2YgdGhlIGdhdGV3YXkiLCJyZW1vdGUtc2hlbGwiOiJFbmFibGVzIHJlbW90ZSBjb250cm9sIG9mIHRoZSBvcGVyYXRpbmcgc3lzdGVtIHdpdGggdGhlIGdhdGV3YXkgZnJvbSB0aGUgUmVtb3RlIFNoZWxsIHdpZGdldCIsaG9zdDoiSG9zdG5hbWUgb3IgSVAgYWRkcmVzcyBvZiBUaGluZ3NCb2FyZCBzZXJ2ZXIiLHBvcnQ6IlBvcnQgb2YgTVFUVCBzZXJ2aWNlIG9uIFRoaW5nc0JvYXJkIHNlcnZlciIsdG9rZW46IkFjY2VzcyB0b2tlbiBmb3IgdGhlIGdhdGV3YXkgZnJvbSBUaGluZ3NCb2FyZCBzZXJ2ZXIiLCJjbGllbnQtaWQiOiJNUVRUIGNsaWVudCBpZCBmb3IgdGhlIGdhdGV3YXkgZm9ybSBUaGluZ3NCb2FyZCBzZXJ2ZXIiLHVzZXJuYW1lOiJNUVRUIHVzZXJuYW1lIGZvciB0aGUgZ2F0ZXdheSBmb3JtIFRoaW5nc0JvYXJkIHNlcnZlciIscGFzc3dvcmQ6Ik1RVFQgcGFzc3dvcmQgZm9yIHRoZSBnYXRld2F5IGZvcm0gVGhpbmdzQm9hcmQgc2VydmVyIiwiY2EtY2VydCI6IlBhdGggdG8gQ0EgY2VydGlmaWNhdGUgZmlsZSIsImRhdGUtZm9ybSI6IkRhdGUgZm9ybWF0IGluIGxvZyBtZXNzYWdlIiwiZGF0YS1mb2xkZXIiOiJQYXRoIHRvIGZvbGRlciwgdGhhdCB3aWxsIGNvbnRhaW5zIGRhdGEgKFJlbGF0aXZlIG9yIEFic29sdXRlKSIsImxvZy1mb3JtYXQiOiJMb2cgbWVzc2FnZSBmb3JtYXQiLCJyZW1vdGUtbG9nIjoiRW5hYmxlcyByZW1vdGUgbG9nZ2luZyBhbmQgbG9ncyByZWFkaW5nIGZyb20gdGhlIGdhdGV3YXkiLCJiYWNrdXAtY291bnQiOiJJZiBiYWNrdXAgY291bnQgaXMgPiAwLCB3aGVuIGEgcm9sbG92ZXIgaXMgZG9uZSwgbm8gbW9yZSB0aGFuIGJhY2t1cCBjb3VudCBmaWxlcyBhcmUga2VwdCAtIHRoZSBvbGRlc3Qgb25lcyBhcmUgZGVsZXRlZCIsc3RvcmFnZToiUHJvdmlkZXMgY29uZmlndXJhdGlvbiBmb3Igc2F2aW5nIGluY29taW5nIGRhdGEgYmVmb3JlIGl0IGlzIHNlbnQgdG8gdGhlIHBsYXRmb3JtIiwibWF4LWZpbGUtY291bnQiOiJNYXhpbXVtIGNvdW50IG9mIGZpbGUgdGhhdCB3aWxsIGJlIGNyZWF0ZWQiLCJtYXgtcmVhZC1jb3VudCI6IkNvdW50IG9mIG1lc3NhZ2VzIHRvIGdldCBmcm9tIHN0b3JhZ2UgYW5kIHNlbmQgdG8gVGhpbmdzQm9hcmQiLCJtYXgtcmVjb3JkcyI6Ik1heGltdW0gY291bnQgb2YgcmVjb3JkcyB0aGF0IHdpbGwgYmUgc3RvcmVkIGluIG9uZSBmaWxlIiwicmVhZC1yZWNvcmQtY291bnQiOiJDb3VudCBvZiBtZXNzYWdlcyB0byBnZXQgZnJvbSBzdG9yYWdlIGFuZCBzZW5kIHRvIFRoaW5nc0JvYXJkIiwibWF4LXJlY29yZHMtY291bnQiOiJNYXhpbXVtIGNvdW50IG9mIGRhdGEgaW4gc3RvcmFnZSBiZWZvcmUgc2VuZCB0byBUaGluZ3NCb2FyZCIsInR0bC1jaGVjay1ob3VyIjoiSG93IG9mdGVuIHdpbGwgR2F0ZXdheSBjaGVjayBkYXRhIGZvciBvYnNvbGVzY2VuY2UiLCJ0dGwtbWVzc2FnZXMtZGF5IjoiTWF4aW11bSBkYXlzIHRoYXQgc3RvcmFnZSB3aWxsIHNhdmUgZGF0YSIsY29tbWFuZHM6IkNvbW1hbmRzIGZvciBjb2xsZWN0aW5nIGFkZGl0aW9uYWwgc3RhdGlzdGljIixhdHRyaWJ1dGU6IlN0YXRpc3RpYyB0ZWxlbWV0cnkga2V5Iix0aW1lb3V0OiJUaW1lb3V0IGZvciBjb21tYW5kIGV4ZWN1dGluZyIsY29tbWFuZDoiVGhlIHJlc3VsdCBvZiB0aGUgY29tbWFuZCBleGVjdXRpb24sIHdpbGwgYmUgdXNlZCBhcyB0aGUgdmFsdWUgZm9yIHRlbGVtZXRyeSIsImNoZWNrLWRldmljZS1hY3Rpdml0eSI6IkVuYWJsZXMgbW9uaXRvciB0aGUgYWN0aXZpdHkgb2YgZWFjaCBjb25uZWN0ZWQgZGV2aWNlIiwiaW5hY3Rpdml0eS10aW1lb3V0IjoiVGltZSBhZnRlciB3aG9zZSB0aGUgZ2F0ZXdheSB3aWxsIGRpc2Nvbm5lY3QgZGV2aWNlIiwiaW5hY3Rpdml0eS1wZXJpb2QiOiJQZXJpb2RpY2l0eSBvZiBkZXZpY2UgYWN0aXZpdHkgY2hlY2siLCJtaW5pbWFsLXBhY2stZGVsYXkiOiJEZWxheSBiZXR3ZWVuIHNlbmRpbmcgcGFja3Mgb2YgbWVzc2FnZXMgKERlY3JlYXNpbmcgdGhpcyBzZXR0aW5nIHJlc3VsdHMgaW4gaW5jcmVhc2VkIENQVSB1c2FnZSkiLHFvczoiUXVhbGl0eSBvZiBTZXJ2aWNlIGluIE1RVFQgbWVzc2FnaW5nICgwIC0gYXQgbW9zdCBvbmNlLCAxIC0gYXQgbGVhc3Qgb25jZSkiLCJzZXJ2ZXItcG9ydCI6Ik5ldHdvcmsgcG9ydCBvbiB3aGljaCBHUlBDIHNlcnZlciB3aWxsIGxpc3RlbiBmb3IgaW5jb21pbmcgY29ubmVjdGlvbnMuIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQiOiJNYXhpbXVtIHRpbWUgdGhlIHNlcnZlciBzaG91bGQgd2FpdCBmb3IgYSBrZWVwYWxpdmUgcGluZyByZXNwb25zZSBiZWZvcmUgY29uc2lkZXJpbmcgdGhlIGNvbm5lY3Rpb24gZGVhZC4iLCJncnBjLWtlZXAtYWxpdmUiOiJEdXJhdGlvbiBiZXR3ZWVuIHR3byBzdWNjZXNzaXZlIGtlZXBhbGl2ZSBwaW5nIG1lc3NhZ2VzIHdoZW4gdGhlcmUgaXMgbm8gYWN0aXZlIFJQQyBjYWxsLiIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncyI6Ik1pbmltdW0gYW1vdW50IG9mIHRpbWUgdGhlIHNlcnZlciBzaG91bGQgd2FpdCBiZXR3ZWVuIHNlbmRpbmcga2VlcGFsaXZlIHBpbmcgbWVzc2FnZXMiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEiOiJNYXhpbXVtIG51bWJlciBvZiBrZWVwYWxpdmUgcGluZyBtZXNzYWdlcyB0aGF0IHRoZSBzZXJ2ZXIgY2FuIHNlbmQgd2l0aG91dCByZWNlaXZpbmcgYW55IGRhdGEgYmVmb3JlIGl0IGNvbnNpZGVycyB0aGUgY29ubmVjdGlvbiBkZWFkLiIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhIjoiTWluaW11bSBhbW91bnQgb2YgdGltZSB0aGUgc2VydmVyIHNob3VsZCB3YWl0IGJldHdlZW4gc2VuZGluZyBrZWVwYWxpdmUgcGluZyBtZXNzYWdlcyB3aGVuIHRoZXJlIGlzIG5vIGRhdGEgYmVpbmcgc2VudCBvciByZWNlaXZlZC4iLCJwZXJtaXQtd2l0aG91dC1jYWxscyI6IkFsbG93IHNlcnZlciB0byBrZWVwIHRoZSBHUlBDIGNvbm5lY3Rpb24gYWxpdmUgZXZlbiB3aGVuIHRoZXJlIGFyZSBubyBhY3RpdmUgUlBDIGNhbGxzLiJ9fSxXbz17ImFkZC1lbnRyeSI6IkNvbmZpZ3VyYXRpZSB0b2V2b2VnZW4iLCJjb25uZWN0b3ItYWRkIjoiTmlldXdlIGNvbm5lY3RvciB0b2V2b2VnZW4iLCJjb25uZWN0b3ItZW5hYmxlZCI6IkNvbm5lY3RvciBpbnNjaGFrZWxlbiIsImNvbm5lY3Rvci1uYW1lIjoiTmFhbSB2YW4gZGUgY29ubmVjdG9yIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiJEZSBuYWFtIHZhbiBkZSBjb25uZWN0b3IgaXMgdmVyZWlzdC4iLCJjb25uZWN0b3ItdHlwZSI6IlR5cGUgYWFuc2x1aXRpbmciLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IkhldCB0eXBlIGNvbm5lY3RvciBpcyB2ZXJlaXN0LiIsY29ubmVjdG9yczoiQ29uZmlndXJhdGllIHZhbiBjb25uZWN0b3JlbiIsImNyZWF0ZS1uZXctZ2F0ZXdheSI6IkVlbiBuaWV1d2UgZ2F0ZXdheSBtYWtlbiIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiV2VldCB1IHpla2VyIGRhdCB1IGVlbiBuaWV1d2UgZ2F0ZXdheSB3aWx0IG1ha2VuIG1ldCBkZSBuYWFtOiAne3tnYXRld2F5TmFtZX19Jz8iLGRlbGV0ZToiQ29uZmlndXJhdGllIHZlcndpamRlcmVuIiwiZG93bmxvYWQtdGlwIjoiQ29uZmlndXJhdGllYmVzdGFuZCBkb3dubG9hZGVuIixnYXRld2F5OiJHYXRld2F5IiwiZ2F0ZXdheS1leGlzdHMiOiJEZXZpY2UgbWV0IGRlemVsZmRlIG5hYW0gYmVzdGFhdCBhbC4iLCJnYXRld2F5LW5hbWUiOiJOYWFtIHZhbiBkZSBnYXRld2F5IiwiZ2F0ZXdheS1uYW1lLXJlcXVpcmVkIjoiRGUgbmFhbSB2YW4gZGUgZ2F0ZXdheSBpcyB2ZXJlaXN0LiIsImdhdGV3YXktc2F2ZWQiOiJHYXRld2F5Y29uZmlndXJhdGllIHN1Y2Nlc3ZvbCBvcGdlc2xhZ2VuLiIsImpzb24tcGFyc2UiOiJPbmdlbGRpZ2UgSlNPTi4iLCJqc29uLXJlcXVpcmVkIjoiSGV0IHZlbGQgbWFnIG5pZXQgbGVlZyB6aWpuLiIsIm5vLWNvbm5lY3RvcnMiOiJHZWVuIGNvbm5lY3RvcmVuIiwibm8tZGF0YSI6IkdlZW4gY29uZmlndXJhdGllcyIsIm5vLWdhdGV3YXktZm91bmQiOiJHZWVuIGdhdGV3YXkgZ2V2b25kZW4uIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6Iid7e2l0ZW19fScgbmlldCBnZXZvbmRlbi4iLCJwYXRoLWxvZ3MiOiJQYWQgbmFhciBsb2diZXN0YW5kZW4iLCJwYXRoLWxvZ3MtcmVxdWlyZWQiOiJQYWQgaXMgdmVyZWlzdC4iLHJlbW90ZToiQ29uZmlndXJhdGllIG9wIGFmc3RhbmQiLCJyZW1vdGUtbG9nZ2luZy1sZXZlbCI6IlJlZ2lzdHJhdGllIG5pdmVhdSIsInJlbW92ZS1lbnRyeSI6IkNvbmZpZ3VyYXRpZSB2ZXJ3aWpkZXJlbiIsInNhdmUtdGlwIjoiQ29uZmlndXJhdGllYmVzdGFuZCBvcHNsYWFuIiwic2VjdXJpdHktdHlwZSI6IlNvb3J0IGJldmVpbGlnaW5nIiwic2VjdXJpdHktdHlwZXMiOnsiYWNjZXNzLXRva2VuIjoiVG9lZ2FuZyB0b3QgdG9rZW4iLHRsczoiVExTIChUTFMpIn0sc3RvcmFnZToiT3BzbGFnIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoiTWF4aW11bSBhYW50YWwgcmVjb3JkcyBpbiBiZXN0YW5kIiwic3RvcmFnZS1tYXgtZmlsZXMiOiJNYXhpbWFhbCBhYW50YWwgYmVzdGFuZGVuIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoiTWluaW11bSBhYW50YWwgaXMgMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiTnVtbWVyIGlzIG5pZXQgZ2VsZGlnLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXJlcXVpcmVkIjoiTnVtbWVyIGlzIHZlcmVpc3QuIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik1heGltdW0gYWFudGFsIHJlY29yZHMgaW4gb3BzbGFnIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1taW4iOiJNaW5pbXVtIGFhbnRhbCByZWNvcmRzIGlzIDEuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoiTnVtbWVyIGlzIG5pZXQgZ2VsZGlnLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJNYXhpbWFsZSByZWNvcmRzIHppam4gdmVyZWlzdC4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6Ik1heGltYWxlIHBha2tldGdyb290dGUgdm9vciBldmVudHMiLCJzdG9yYWdlLXBhY2stc2l6ZS1taW4iOiJNaW5pbXVtIGFhbnRhbCBpcyAxLiIsInN0b3JhZ2UtcGFjay1zaXplLXBhdHRlcm4iOiJOdW1tZXIgaXMgbmlldCBnZWxkaWcuIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiJEZSBtYXhpbWFsZSBwYWtrZXRncm9vdHRlIHZhbiBoZXQgZXZlbnQgaXMgdmVyZWlzdC4iLCJzdG9yYWdlLXBhdGgiOiJPcHNsYWcgcGFkIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoiT3BzbGFncGFkIGlzIHZlcmVpc3QuIiwic3RvcmFnZS10eXBlIjoiVHlwZSBvcHNsYWciLCJzdG9yYWdlLXR5cGVzIjp7ImZpbGUtc3RvcmFnZSI6Ik9wc2xhZyB2YW4gYmVzdGFuZGVuIiwibWVtb3J5LXN0b3JhZ2UiOiJHZWhldWdlbiBvcHNsYWcifSx0aGluZ3Nib2FyZDoiRGluZ2VuIEJvcmQiLCJ0aGluZ3Nib2FyZC1ob3N0IjoiVGhpbmdzQm9hcmQtZ2FzdGhlZXIiLCJ0aGluZ3Nib2FyZC1ob3N0LXJlcXVpcmVkIjoiU2VydmVyIGhvc3QgaXMgdmVyZWlzdC4iLCJ0aGluZ3Nib2FyZC1wb3J0IjoiVGhpbmdzQm9hcmQtcG9vcnQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6IkhldCBtYXhpbWFsZSBwb29ydG51bW1lciBpcyA2NTUzNS4iLCJ0aGluZ3Nib2FyZC1wb3J0LW1pbiI6IkhldCBtaW5pbWFsZSBwb29ydG51bW1lciBpcyAxLiIsInRoaW5nc2JvYXJkLXBvcnQtcGF0dGVybiI6IlBvb3J0IGlzIG5pZXQgZ2VsZGlnLiIsInRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWQiOiJQb29ydCBpcyB2ZXJlaXN0LiIsdGlkeToiT3JkZWxpamsiLCJ0aWR5LXRpcCI6Ik9wZ2VydWltZGUgY29uZmlndXJhdGllIEpTT04iLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiJDb25maWd1cmF0aWUgdmFuIGNvbm5lY3RvciB7e3R5cGVOYW1lfX0iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IlBhZCBuYWFyIENBLWNlcnRpZmljYWF0IG9wIGdhdGV3YXkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiJQYWQgbmFhciBjbGllbnRjZXJ0aWZpY2FhdCBvcCBnYXRld2F5IiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiJQYWQgbmFhciBwcml2w6lzbGV1dGVsIG9wIGdhdGV3YXkiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlZvbGxlZGlnIHNjaGVybSBpbi0gZW4gdWl0c2NoYWtlbGVuIiwidHJhbnNmb3JtZXItanNvbi1jb25maWciOiJDb25maWd1cmF0aWUgSlNPTioiLCJ1cGRhdGUtY29uZmlnIjoiQ29uZmlndXJhdGllIEpTT04gdG9ldm9lZ2VuL2JpandlcmtlbiJ9LGpvPXsiYWRkLWVudHJ5IjoiRG9kYWoga29uZmlndXJhY2rEmSIsYWR2YW5jZWQ6IkFkdmFuY2VkIiwiY2hlY2tpbmctZGV2aWNlLWFjdGl2aXR5IjoiQ2hlY2tpbmcgZGV2aWNlIGFjdGl2aXR5Iixjb21tYW5kOiJEb2NrZXIgY29tbWFuZHMiLCJjb21tYW5kLWNvcGllZC1tZXNzYWdlIjoiRG9ja2VyIGNvbW1hbmQgaGFzIGJlZW4gY29waWVkIHRvIGNsaXBib2FyZCIsY29uZmlndXJhdGlvbjoiQ29uZmlndXJhdGlvbiIsImNvbm5lY3Rvci1hZGQiOiJEb2RhaiBub3dlIHrFgsSFY3plIiwiY29ubmVjdG9yLWVuYWJsZWQiOiJXxYLEhWN6IHrFgsSFY3plIiwiY29ubmVjdG9yLW5hbWUiOiJOYXp3YSB6xYLEhWN6YSIsImNvbm5lY3Rvci1uYW1lLXJlcXVpcmVkIjoiTmF6d2EgesWCxIVjemEgamVzdCB3eW1hZ2FuYS4iLCJjb25uZWN0b3ItdHlwZSI6IlR5cCB6xYLEhWN6YSIsImNvbm5lY3Rvci10eXBlLXJlcXVpcmVkIjoiVHlwIHrFgsSFY3phIGplc3Qgd3ltYWdhbnkuIixjb25uZWN0b3JzOiJLb25maWd1cmFjamEgesWCxIVjenkiLCJjb25uZWN0b3JzLWNvbmZpZyI6IkNvbm5lY3RvcnMgY29uZmlndXJhdGlvbiIsImNvbm5lY3RvcnMtdGFibGUtZW5hYmxlZCI6IkVuYWJsZWQiLCJjb25uZWN0b3JzLXRhYmxlLW5hbWUiOiJOYW1lIiwiY29ubmVjdG9ycy10YWJsZS10eXBlIjoiVHlwZSIsImNvbm5lY3RvcnMtdGFibGUtc3RhdHVzIjoiU3RhdHVzIiwiY29ubmVjdG9ycy10YWJsZS1hY3Rpb25zIjoiQWN0aW9ucyIsImNvbm5lY3RvcnMtdGFibGUta2V5IjoiS2V5IiwiY29ubmVjdG9ycy10YWJsZS1jbGFzcyI6IkNsYXNzIiwicnBjLWNvbW1hbmQtc2VuZCI6IlNlbmQiLCJycGMtY29tbWFuZC1yZXN1bHQiOiJSZXN1bHQiLCJycGMtY29tbWFuZC1lZGl0LXBhcmFtcyI6IkVkaXQgcGFyYW1ldGVycyIsImdhdGV3YXktY29uZmlndXJhdGlvbiI6IkdlbmVyYWwgQ29uZmlndXJhdGlvbiIsImRvY2tlci1sYWJlbCI6IkluIG9yZGVyIHRvIHJ1biBUaGluZ3NCb2FyZCBJb1QgZ2F0ZXdheSBpbiBkb2NrZXIgd2l0aCBjcmVkZW50aWFscyBmb3IgdGhpcyBkZXZpY2UgeW91IGNhbiB1c2UgdGhlIGZvbGxvd2luZyBjb21tYW5kcy4iLCJjcmVhdGUtbmV3LWdhdGV3YXkiOiJVdHfDs3J6IG5vd3kgZ2F0ZXdheSIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiQ3p5IG5hIHBld25vIGNoY2VzeiB1dHdvcnp5xIcgbm93eSBnYXRld2F5IG8gbmF6d2llOiAne3tnYXRld2F5TmFtZX19Jz8iLCJjcmVhdGVkLXRpbWUiOiJDcmVhdGVkIHRpbWUiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaGVhZGVyIjoiQ29uZmlndXJhdGlvbnMgd2lsbCBiZSBkZWxldGVkIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWJvZHkiOiJUdXJuaW5nIG9mZiBSZW1vdGUgQ29uZmlndXJhdGlvbiBpcyBwb3NzaWJsZSBvbmx5IGlmIHRoZXJlIGlzIHBoeXNpY2FsIGFjY2VzcyB0byB0aGUgR2F0ZXdheS4gQWxsIHByZXZpb3VzIGNvbmZpZ3VyYXRpb25zIHdpbGwgYmUgZGVsZXRlZC48YnI+PGJyPiBcblRvIHR1cm4gb2ZmIGNvbmZpZ3VyYXRpb24sIGVudGVyIGdhdGV3YXkgbmFtZSBiZWxvdyIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1pbnB1dCI6IkdhdGV3YXkgbmFtZSIsImNvbmZpZ3VyYXRpb24tZGVsZXRlLWRpYWxvZy1pbnB1dC1yZXF1aXJlZCI6IkdhdGV3YXkgbmFtZSBpcyBtYW5kYXRvcnkiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctY29uZmlybSI6IlR1cm4gT2ZmIixkZWxldGU6IlVzdcWEIGtvbmZpZ3VyYWNqxJkiLCJkb3dubG9hZC10aXAiOiJQb2JpZXJ6IHBsaWsga29uZmlndXJhY3lqbnkiLCJkcm9wLWZpbGUiOiJEcm9wIGZpbGUgaGVyZSBvciIsZ2F0ZXdheToiV2VqxZtjaWUiLCJnYXRld2F5LWV4aXN0cyI6IlVyesSFZHplbmllIG8gdGVqIHNhbWVqIG5hendpZSBqdcW8IGlzdG5pZWplLiIsImdhdGV3YXktbmFtZSI6Ik5hendhIEdhdGV3YXkiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJOYXp3YSBHYXRld2F5J2EgamVzdCB3eW1hZ2FuYS4iLCJnYXRld2F5LXNhdmVkIjoiS29uZmlndXJhY2phIEdhdGV3ZXknYSB6b3N0YcWCYSBwb215xZtsbmllIHphcGlzYW5hLiIsZ3JwYzoiR1JQQyIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0IjoiS2VlcCBhbGl2ZSB0aW1lb3V0IChpbiBtcykiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dC1yZXF1aXJlZCI6IktlZXAgYWxpdmUgdGltZW91dCBpcyByZXF1aXJlZCIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LW1pbiI6IktlZXAgYWxpdmUgdGltZW91dCBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtcGF0dGVybiI6IktlZXAgYWxpdmUgdGltZW91dCBpcyBub3QgdmFsaWQiLCJncnBjLWtlZXAtYWxpdmUiOiJLZWVwIGFsaXZlIChpbiBtcykiLCJncnBjLWtlZXAtYWxpdmUtcmVxdWlyZWQiOiJLZWVwIGFsaXZlIGlzIHJlcXVpcmVkIiwiZ3JwYy1rZWVwLWFsaXZlLW1pbiI6IktlZXAgYWxpdmUgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMta2VlcC1hbGl2ZS1wYXR0ZXJuIjoiS2VlcCBhbGl2ZSBpcyBub3QgdmFsaWQiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MiOiJNaW4gdGltZSBiZXR3ZWVuIHBpbmdzIChpbiBtcykiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcmVxdWlyZWQiOiJNaW4gdGltZSBiZXR3ZWVuIHBpbmdzIGlzIHJlcXVpcmVkIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzLW1pbiI6Ik1pbiB0aW1lIGJldHdlZW4gcGluZ3MgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1wYXR0ZXJuIjoiTWluIHRpbWUgYmV0d2VlbiBwaW5ncyBpcyBub3QgdmFsaWQiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YSI6Ik1pbiBwaW5nIGludGVydmFsIHdpdGhvdXQgZGF0YSAoaW4gbXMpIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEtcmVxdWlyZWQiOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgaXMgcmVxdWlyZWQiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1taW4iOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiJNaW4gcGluZyBpbnRlcnZhbCB3aXRob3V0IGRhdGEgaXMgbm90IHZhbGlkIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoiTWF4IHBpbmdzIHdpdGhvdXQgZGF0YSIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6Ik1heCBwaW5ncyB3aXRob3V0IGRhdGEgaXMgcmVxdWlyZWQiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtbWluIjoiTWF4IHBpbmdzIHdpdGhvdXQgZGF0YSBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiJNYXggcGluZ3Mgd2l0aG91dCBkYXRhIGlzIG5vdCB2YWxpZCIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMiOiJJbmFjdGl2aXR5IGNoZWNrIHBlcmlvZCAoaW4gc2VjKSIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcmVxdWlyZWQiOiJJbmFjdGl2aXR5IGNoZWNrIHBlcmlvZCBpcyByZXF1aXJlZCIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtbWluIjoiSW5hY3Rpdml0eSBjaGVjayBwZXJpb2QgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcGF0dGVybiI6IkluYWN0aXZpdHkgY2hlY2sgcGVyaW9kIGlzIG5vdCB2YWxpZCIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzIjoiSW5hY3Rpdml0eSB0aW1lb3V0IChpbiBzZWMpIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcmVxdWlyZWQiOiJJbmFjdGl2aXR5IHRpbWVvdXQgaXMgcmVxdWlyZWQiLCJpbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1taW4iOiJJbmFjdGl2aXR5IHRpbWVvdXQgY2FuIG5vdCBiZSBsZXNzIHRoZW4gMSIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzLXBhdHRlcm4iOiJJbmFjdGl2aXR5IHRpbWVvdXQgaXMgbm90IHZhbGlkIiwianNvbi1wYXJzZSI6Ik5pZXByYXdpZMWCb3d5IEpTT04uIiwianNvbi1yZXF1aXJlZCI6IlBvbGUgbmllIG1vxbxlIGJ5xIcgcHVzdGUuIixsb2dzOntsb2dzOiJMb2dzIixkYXlzOiJkYXlzIixob3VyczoiaG91cnMiLG1pbnV0ZXM6Im1pbnV0ZXMiLHNlY29uZHM6InNlY29uZHMiLCJkYXRlLWZvcm1hdCI6IkRhdGUgZm9ybWF0IiwiZGF0ZS1mb3JtYXQtcmVxdWlyZWQiOiJEYXRlIGZvcm1hdCByZXF1aXJlZCIsImxvZy1mb3JtYXQiOiJMb2cgZm9ybWF0IiwibG9nLXR5cGUiOiJMb2cgdHlwZSIsImxvZy1mb3JtYXQtcmVxdWlyZWQiOiJMb2cgZm9ybWF0IHJlcXVpcmVkIixyZW1vdGU6IlJlbW90ZSBsb2dnaW5nIiwicmVtb3RlLWxvZ3MiOiJSZW1vdGUgbG9ncyIsbG9jYWw6IkxvY2FsIGxvZ2dpbmciLGxldmVsOiJMb2cgbGV2ZWwiLCJmaWxlLXBhdGgiOiJGaWxlIHBhdGgiLCJmaWxlLXBhdGgtcmVxdWlyZWQiOiJGaWxlIHBhdGggcmVxdWlyZWQiLCJzYXZpbmctcGVyaW9kIjoiTG9nIHNhdmluZyBwZXJpb2QiLCJzYXZpbmctcGVyaW9kLW1pbiI6IkxvZyBzYXZpbmcgcGVyaW9kIGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJzYXZpbmctcGVyaW9kLXJlcXVpcmVkIjoiTG9nIHNhdmluZyBwZXJpb2QgcmVxdWlyZWQiLCJiYWNrdXAtY291bnQiOiJCYWNrdXAgY291bnQiLCJiYWNrdXAtY291bnQtbWluIjoiQmFja3VwIGNvdW50IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJiYWNrdXAtY291bnQtcmVxdWlyZWQiOiJCYWNrdXAgY291bnQgcmVxdWlyZWQifSwibWluLXBhY2stc2VuZC1kZWxheSI6Ik1pbiBwYWNrIHNlbmQgZGVsYXkgKGluIG1zKSIsIm1pbi1wYWNrLXNlbmQtZGVsYXktcmVxdWlyZWQiOiJNaW4gcGFjayBzZW5kIGRlbGF5IGlzIHJlcXVpcmVkIiwibWluLXBhY2stc2VuZC1kZWxheS1taW4iOiJNaW4gcGFjayBzZW5kIGRlbGF5IGNhbiBub3QgYmUgbGVzcyB0aGVuIDAiLCJuby1jb25uZWN0b3JzIjoiQnJhayB6xYLEhWN6eSIsIm5vLWRhdGEiOiJCcmFrIGtvbmZpZ3VyYWNqaSIsIm5vLWdhdGV3YXktZm91bmQiOiJOaWUgem5hbGV6aW9ubyBnYXRld2F5J2EuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5pZSB6bmFsZXppb25vLiIsInBhdGgtbG9ncyI6IsWaY2llxbxrYSBkbyBwbGlrw7N3IGR6aWVubmlrYSIsInBhdGgtbG9ncy1yZXF1aXJlZCI6IsWaY2llxbxrYSBqZXN0IHd5bWFnYW5hLiIsInBlcm1pdC13aXRob3V0LWNhbGxzIjoiS2VlcCBhbGl2ZSBwZXJtaXQgd2l0aG91dCBjYWxscyIscmVtb3RlOiJaZGFsbmEga29uZmlndXJhY2phIiwicmVtb3RlLWxvZ2dpbmctbGV2ZWwiOiJQb3ppb20gbG9nb3dhbmlhIiwicmVtb3ZlLWVudHJ5IjoiVXN1xYQga29uZmlndXJhY2rEmSIsInJlbW90ZS1zaGVsbCI6IlJlbW90ZSBzaGVsbCIsInJlbW90ZS1jb25maWd1cmF0aW9uIjoiUmVtb3RlIENvbmZpZ3VyYXRpb24iLG90aGVyOiJPdGhlciIsInNhdmUtdGlwIjoiWmFwaXN6IHBsaWsga29uZmlndXJhY3lqbnkiLCJzZWN1cml0eS10eXBlIjoiUm9kemFqIHphYmV6cGllY3plbmlhIiwic2VjdXJpdHktdHlwZXMiOnsiYWNjZXNzLXRva2VuIjoiVG9rZW4gZG9zdMSZcHUiLCJ1c2VybmFtZS1wYXNzd29yZCI6IlVzZXJuYW1lIGFuZCBQYXNzd29yZCIsdGxzOiJUTFMiLCJ0bHMtYWNjZXNzLXRva2VuIjoiVExTICsgQWNjZXNzIFRva2VuIiwidGxzLXByaXZhdGUta2V5IjoiVExTICsgUHJpdmF0ZSBLZXkifSwic2VydmVyLXBvcnQiOiJTZXJ2ZXIgcG9ydCIsc3RhdGlzdGljczp7c3RhdGlzdGljOiJTdGF0aXN0aWMiLHN0YXRpc3RpY3M6IlN0YXRpc3RpY3MiLCJzdGF0aXN0aWMtY29tbWFuZHMtZW1wdHkiOiJObyBzdGF0aXN0aWNzIGF2YWlsYWJsZSIsY29tbWFuZHM6IkNvbW1hbmRzIiwic2VuZC1wZXJpb2QiOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgKGluIHNlYykiLCJzZW5kLXBlcmlvZC1yZXF1aXJlZCI6IlN0YXRpc3RpYyBzZW5kIHBlcmlvZCBpcyByZXF1aXJlZCIsInNlbmQtcGVyaW9kLW1pbiI6IlN0YXRpc3RpYyBzZW5kIHBlcmlvZCBjYW4gbm90IGJlIGxlc3MgdGhlbiA2MCIsInNlbmQtcGVyaW9kLXBhdHRlcm4iOiJTdGF0aXN0aWMgc2VuZCBwZXJpb2QgaXMgbm90IHZhbGlkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uIjoiQ2hlY2sgY29ubmVjdG9ycyBjb25maWd1cmF0aW9uIChpbiBzZWMpIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXJlcXVpcmVkIjoiQ2hlY2sgY29ubmVjdG9ycyBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLW1pbiI6IkNoZWNrIGNvbm5lY3RvcnMgY29uZmlndXJhdGlvbiBjYW4gbm90IGJlIGxlc3MgdGhlbiAxIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXBhdHRlcm4iOiJDaGVjayBjb25uZWN0b3JzIGNvbmZpZ3VyYXRpb24gaXMgbm90IHZhbGlkIixhZGQ6IkFkZCBjb21tYW5kIix0aW1lb3V0OiJUaW1lb3V0IiwidGltZW91dC1tcyI6IlRpbWVvdXQgKGluIG1zKSIsInRpbWVvdXQtcmVxdWlyZWQiOiJUaW1lb3V0IGlzIHJlcXVpcmVkIiwidGltZW91dC1taW4iOiJUaW1lb3V0IGNhbiBub3QgYmUgbGVzcyB0aGVuIDEiLCJ0aW1lb3V0LXBhdHRlcm4iOiJUaW1lb3V0IGlzIG5vdCB2YWxpZCIsImF0dHJpYnV0ZS1uYW1lIjoiQXR0cmlidXRlIG5hbWUiLCJhdHRyaWJ1dGUtbmFtZS1yZXF1aXJlZCI6IkF0dHJpYnV0ZSBuYW1lIGlzIHJlcXVpcmVkIixjb21tYW5kOiJDb21tYW5kIiwiY29tbWFuZC1yZXF1aXJlZCI6IkNvbW1hbmQgaXMgcmVxdWlyZWQiLHJlbW92ZToiUmVtb3ZlIGNvbW1hbmQifSxzdG9yYWdlOiJTa8WCYWRvd2FuaWUiLCJzdG9yYWdlLW1heC1maWxlLXJlY29yZHMiOiJNYWtzeW1hbG5hIGxpY3piYSByZWtvcmTDs3cgdyBwbGlrdSIsInN0b3JhZ2UtbWF4LWZpbGVzIjoiTWFrc3ltYWxuYSBsaWN6YmEgcGxpa8OzdyIsInN0b3JhZ2UtbWF4LWZpbGVzLW1pbiI6Ik1pbmltYWxuYSBsaWN6YmEgdG8gMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiTnVtZXIgamVzdCBuaWVwcmF3aWTFgm93eS4iLCJzdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZCI6Ik51bWVyIGplc3Qgd3ltYWdhbnkuIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik1ha3N5bWFsbmEgbGljemJhIHJla29yZMOzdyB3IHBhbWnEmWNpIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1taW4iOiJNaW5pbWFsbmEgbGljemJhIHJla29yZMOzdyB0byAxLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6Ik51bWVyIGplc3QgbmllcHJhd2lkxYJvd3kuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1yZXF1aXJlZCI6Ik1ha3N5bWFsbmEgbGljemJhIHJla29yZMOzdyBqZXN0IHd5bWFnYW5hLiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQiOiJSZWFkIHJlY29yZCBjb3VudCBpbiBzdG9yYWdlIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1taW4iOiJNaW5pbXVtIG51bWJlciBvZiByZWNvcmRzIGlzIDEuIiwic3RvcmFnZS1yZWFkLXJlY29yZC1jb3VudC1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkIjoiUmVhZCByZWNvcmQgY291bnQgaXMgcmVxdWlyZWQuIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQiOiJNYXggcmVhZCByZWNvcmQgY291bnQgaW4gc3RvcmFnZSIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LW1pbiI6Ik1pbmltdW0gbnVtYmVyIG9mIHJlY29yZHMgaXMgMS4iLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1yZXF1aXJlZCI6Ik1heCBSZWFkIHJlY29yZCBjb3VudCBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLWRhdGEtZm9sZGVyLXBhdGgiOiJEYXRhIGZvbGRlciBwYXRoIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoLXJlcXVpcmVkIjoiRGF0YSBmb2xkZXIgcGF0aCBpcyByZXF1aXJlZC4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6Ik1ha3N5bWFsbnkgcm96bWlhciBwYWtpZXR1IHd5ZGFyemXFhCIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6Ik1pbmltYWxuYSBsaWN6YmEgdG8gMS4iLCJzdG9yYWdlLXBhY2stc2l6ZS1wYXR0ZXJuIjoiTnVtZXIgamVzdCBuaWVwcmF3aWTFgm93eS4iLCJzdG9yYWdlLXBhY2stc2l6ZS1yZXF1aXJlZCI6Ik1ha3N5bWFsbnkgcm96bWlhciBwYWtpZXR1IHd5ZGFyemXFhCBqZXN0IHd5bWFnYW55LiIsInN0b3JhZ2UtcGF0aCI6IsWaY2llxbxrYSBwcnplY2hvd3l3YW5pYSIsInN0b3JhZ2UtcGF0aC1yZXF1aXJlZCI6IsWaY2llxbxrYSBkbyBwcnplY2hvd3l3YW5pYSBqZXN0IHd5bWFnYW5hLiIsInN0b3JhZ2UtdHlwZSI6IlR5cCBza8WCYWRvd2FuaWEiLCJzdG9yYWdlLXR5cGVzIjp7ImZpbGUtc3RvcmFnZSI6Ik5vxZtuaWsgZGFueWNoIiwibWVtb3J5LXN0b3JhZ2UiOiJQcnplY2hvd3l3YW5pZSBwYW1pxJljaSIsc3FsaXRlOiJTUUxJVEUifSx0aGluZ3Nib2FyZDoiVGhpbmdzQm9hcmQiLGdlbmVyYWw6IkdlbmVyYWwiLCJ0aGluZ3Nib2FyZC1ob3N0IjoiR29zcG9kYXJ6IFRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6Ikhvc3QgamVzdCB3eW1hZ2FueS4iLCJ0aGluZ3Nib2FyZC1wb3J0IjoiUG9ydCBUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLXBvcnQtbWF4IjoiTWFrc3ltYWxueSBudW1lciBwb3J0dSB0byA2NTUzNS4iLCJ0aGluZ3Nib2FyZC1wb3J0LW1pbiI6Ik1pbmltYWxueSBudW1lciBwb3J0dSB0byAxLiIsInRoaW5nc2JvYXJkLXBvcnQtcGF0dGVybiI6IlBvcnQgamVzdCBuaWVwcmF3aWTFgm93eS4iLCJ0aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkIjoiUG9ydCBqZXN0IHd5bWFnYW55LiIsdGlkeToiVXBvcnrEhWRrdWoiLCJ0aWR5LXRpcCI6IlVwb3J6xIVka293YW5hIGtvbmZpZ3VyYWNqYSBKU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoiWsWCxIVjemUge3t0eXBlTmFtZX19IGtvbmZpZ3VyYWNqYSIsInRscy1wYXRoLWNhLWNlcnRpZmljYXRlIjoixZpjaWXFvGthIGRvIGNlcnR5ZmlrYXR1IENBIG5hIGdhdGV3YXkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiLFmmNpZcW8a2EgZG8gY2VydHlmaWthdHUga2xpZW50YSBuYSBnYXRld2F5IiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzIjoiTWVzc2FnZXMgVFRMIGNoZWNrIGluIGhvdXJzIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXJlcXVpcmVkIjoiTWVzc2FnZXMgVFRMIGNoZWNrIGluIGhvdXJzIGlzIHJlcXVpcmVkLiIsIm1lc3NhZ2VzLXR0bC1jaGVjay1pbi1ob3Vycy1taW4iOiJNaW4gbnVtYmVyIGlzIDEuIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXBhdHRlcm4iOiJOdW1iZXIgaXMgbm90IHZhbGlkLiIsIm1lc3NhZ2VzLXR0bC1pbi1kYXlzIjoiTWVzc2FnZXMgVFRMIGluIGRheXMiLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1yZXF1aXJlZCI6Ik1lc3NhZ2VzIFRUTCBpbiBkYXlzIGlzIHJlcXVpcmVkLiIsIm1lc3NhZ2VzLXR0bC1pbi1kYXlzLW1pbiI6Ik1pbiBudW1iZXIgaXMgMS4iLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1wYXR0ZXJuIjoiTnVtYmVyIGlzIG5vdCB2YWxpZC4iLCJtcXR0LXFvcyI6IlFvUyIsIm1xdHQtcW9zLXJlcXVpcmVkIjoiUW9TIGlzIHJlcXVpcmVkIiwibXF0dC1xb3MtcmFuZ2UiOiJRb1MgdmFsdWVzIHJhbmdlIGlzIGZyb20gMCB0byAxIiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiLFmmNpZcW8a2EgZG8ga2x1Y3phIHByeXdhdG5lZ28gbmEgYnJhbWNlIiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiJQcnplxYLEhWN6IHRyeWIgcGXFgm5vZWtyYW5vd3kiLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IktvbmZpZ3VyYWNqYSBKU09OKiIsInVwZGF0ZS1jb25maWciOiJEb2Rhai96YWt0dWFsaXp1aiBrb25maWd1cmFjasSZIEpTT04iLGhpbnRzOnsicmVtb3RlLWNvbmZpZ3VyYXRpb24iOiJFbmFibGVzIHJlbW90ZSBjb25maWd1cmF0aW9uIGFuZCBtYW5hZ2VtZW50IG9mIHRoZSBnYXRld2F5IiwicmVtb3RlLXNoZWxsIjoiRW5hYmxlcyByZW1vdGUgY29udHJvbCBvZiB0aGUgb3BlcmF0aW5nIHN5c3RlbSB3aXRoIHRoZSBnYXRld2F5IGZyb20gdGhlIFJlbW90ZSBTaGVsbCB3aWRnZXQiLGhvc3Q6Ikhvc3RuYW1lIG9yIElQIGFkZHJlc3Mgb2YgVGhpbmdzQm9hcmQgc2VydmVyIixwb3J0OiJQb3J0IG9mIE1RVFQgc2VydmljZSBvbiBUaGluZ3NCb2FyZCBzZXJ2ZXIiLHRva2VuOiJBY2Nlc3MgdG9rZW4gZm9yIHRoZSBnYXRld2F5IGZyb20gVGhpbmdzQm9hcmQgc2VydmVyIiwiY2xpZW50LWlkIjoiTVFUVCBjbGllbnQgaWQgZm9yIHRoZSBnYXRld2F5IGZvcm0gVGhpbmdzQm9hcmQgc2VydmVyIix1c2VybmFtZToiTVFUVCB1c2VybmFtZSBmb3IgdGhlIGdhdGV3YXkgZm9ybSBUaGluZ3NCb2FyZCBzZXJ2ZXIiLHBhc3N3b3JkOiJNUVRUIHBhc3N3b3JkIGZvciB0aGUgZ2F0ZXdheSBmb3JtIFRoaW5nc0JvYXJkIHNlcnZlciIsImNhLWNlcnQiOiJQYXRoIHRvIENBIGNlcnRpZmljYXRlIGZpbGUiLCJkYXRlLWZvcm0iOiJEYXRlIGZvcm1hdCBpbiBsb2cgbWVzc2FnZSIsImRhdGEtZm9sZGVyIjoiUGF0aCB0byBmb2xkZXIsIHRoYXQgd2lsbCBjb250YWlucyBkYXRhIChSZWxhdGl2ZSBvciBBYnNvbHV0ZSkiLCJsb2ctZm9ybWF0IjoiTG9nIG1lc3NhZ2UgZm9ybWF0IiwicmVtb3RlLWxvZyI6IkVuYWJsZXMgcmVtb3RlIGxvZ2dpbmcgYW5kIGxvZ3MgcmVhZGluZyBmcm9tIHRoZSBnYXRld2F5IiwiYmFja3VwLWNvdW50IjoiSWYgYmFja3VwIGNvdW50IGlzID4gMCwgd2hlbiBhIHJvbGxvdmVyIGlzIGRvbmUsIG5vIG1vcmUgdGhhbiBiYWNrdXAgY291bnQgZmlsZXMgYXJlIGtlcHQgLSB0aGUgb2xkZXN0IG9uZXMgYXJlIGRlbGV0ZWQiLHN0b3JhZ2U6IlByb3ZpZGVzIGNvbmZpZ3VyYXRpb24gZm9yIHNhdmluZyBpbmNvbWluZyBkYXRhIGJlZm9yZSBpdCBpcyBzZW50IHRvIHRoZSBwbGF0Zm9ybSIsIm1heC1maWxlLWNvdW50IjoiTWF4aW11bSBjb3VudCBvZiBmaWxlIHRoYXQgd2lsbCBiZSBjcmVhdGVkIiwibWF4LXJlYWQtY291bnQiOiJDb3VudCBvZiBtZXNzYWdlcyB0byBnZXQgZnJvbSBzdG9yYWdlIGFuZCBzZW5kIHRvIFRoaW5nc0JvYXJkIiwibWF4LXJlY29yZHMiOiJNYXhpbXVtIGNvdW50IG9mIHJlY29yZHMgdGhhdCB3aWxsIGJlIHN0b3JlZCBpbiBvbmUgZmlsZSIsInJlYWQtcmVjb3JkLWNvdW50IjoiQ291bnQgb2YgbWVzc2FnZXMgdG8gZ2V0IGZyb20gc3RvcmFnZSBhbmQgc2VuZCB0byBUaGluZ3NCb2FyZCIsIm1heC1yZWNvcmRzLWNvdW50IjoiTWF4aW11bSBjb3VudCBvZiBkYXRhIGluIHN0b3JhZ2UgYmVmb3JlIHNlbmQgdG8gVGhpbmdzQm9hcmQiLCJ0dGwtY2hlY2staG91ciI6IkhvdyBvZnRlbiB3aWxsIEdhdGV3YXkgY2hlY2sgZGF0YSBmb3Igb2Jzb2xlc2NlbmNlIiwidHRsLW1lc3NhZ2VzLWRheSI6Ik1heGltdW0gZGF5cyB0aGF0IHN0b3JhZ2Ugd2lsbCBzYXZlIGRhdGEiLGNvbW1hbmRzOiJDb21tYW5kcyBmb3IgY29sbGVjdGluZyBhZGRpdGlvbmFsIHN0YXRpc3RpYyIsYXR0cmlidXRlOiJTdGF0aXN0aWMgdGVsZW1ldHJ5IGtleSIsdGltZW91dDoiVGltZW91dCBmb3IgY29tbWFuZCBleGVjdXRpbmciLGNvbW1hbmQ6IlRoZSByZXN1bHQgb2YgdGhlIGNvbW1hbmQgZXhlY3V0aW9uLCB3aWxsIGJlIHVzZWQgYXMgdGhlIHZhbHVlIGZvciB0ZWxlbWV0cnkiLCJjaGVjay1kZXZpY2UtYWN0aXZpdHkiOiJFbmFibGVzIG1vbml0b3IgdGhlIGFjdGl2aXR5IG9mIGVhY2ggY29ubmVjdGVkIGRldmljZSIsImluYWN0aXZpdHktdGltZW91dCI6IlRpbWUgYWZ0ZXIgd2hvc2UgdGhlIGdhdGV3YXkgd2lsbCBkaXNjb25uZWN0IGRldmljZSIsImluYWN0aXZpdHktcGVyaW9kIjoiUGVyaW9kaWNpdHkgb2YgZGV2aWNlIGFjdGl2aXR5IGNoZWNrIiwibWluaW1hbC1wYWNrLWRlbGF5IjoiRGVsYXkgYmV0d2VlbiBzZW5kaW5nIHBhY2tzIG9mIG1lc3NhZ2VzIChEZWNyZWFzaW5nIHRoaXMgc2V0dGluZyByZXN1bHRzIGluIGluY3JlYXNlZCBDUFUgdXNhZ2UpIixxb3M6IlF1YWxpdHkgb2YgU2VydmljZSBpbiBNUVRUIG1lc3NhZ2luZyAoMCAtIGF0IG1vc3Qgb25jZSwgMSAtIGF0IGxlYXN0IG9uY2UpIiwic2VydmVyLXBvcnQiOiJOZXR3b3JrIHBvcnQgb24gd2hpY2ggR1JQQyBzZXJ2ZXIgd2lsbCBsaXN0ZW4gZm9yIGluY29taW5nIGNvbm5lY3Rpb25zLiIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0IjoiTWF4aW11bSB0aW1lIHRoZSBzZXJ2ZXIgc2hvdWxkIHdhaXQgZm9yIGEga2VlcGFsaXZlIHBpbmcgcmVzcG9uc2UgYmVmb3JlIGNvbnNpZGVyaW5nIHRoZSBjb25uZWN0aW9uIGRlYWQuIiwiZ3JwYy1rZWVwLWFsaXZlIjoiRHVyYXRpb24gYmV0d2VlbiB0d28gc3VjY2Vzc2l2ZSBrZWVwYWxpdmUgcGluZyBtZXNzYWdlcyB3aGVuIHRoZXJlIGlzIG5vIGFjdGl2ZSBSUEMgY2FsbC4iLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MiOiJNaW5pbXVtIGFtb3VudCBvZiB0aW1lIHRoZSBzZXJ2ZXIgc2hvdWxkIHdhaXQgYmV0d2VlbiBzZW5kaW5nIGtlZXBhbGl2ZSBwaW5nIG1lc3NhZ2VzIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoiTWF4aW11bSBudW1iZXIgb2Yga2VlcGFsaXZlIHBpbmcgbWVzc2FnZXMgdGhhdCB0aGUgc2VydmVyIGNhbiBzZW5kIHdpdGhvdXQgcmVjZWl2aW5nIGFueSBkYXRhIGJlZm9yZSBpdCBjb25zaWRlcnMgdGhlIGNvbm5lY3Rpb24gZGVhZC4iLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YSI6Ik1pbmltdW0gYW1vdW50IG9mIHRpbWUgdGhlIHNlcnZlciBzaG91bGQgd2FpdCBiZXR3ZWVuIHNlbmRpbmcga2VlcGFsaXZlIHBpbmcgbWVzc2FnZXMgd2hlbiB0aGVyZSBpcyBubyBkYXRhIGJlaW5nIHNlbnQgb3IgcmVjZWl2ZWQuIiwicGVybWl0LXdpdGhvdXQtY2FsbHMiOiJBbGxvdyBzZXJ2ZXIgdG8ga2VlcCB0aGUgR1JQQyBjb25uZWN0aW9uIGFsaXZlIGV2ZW4gd2hlbiB0aGVyZSBhcmUgbm8gYWN0aXZlIFJQQyBjYWxscy4ifX0sS289eyJhZGQtZW50cnkiOiJBZGljaW9uYXIgY29uZmlndXJhw6fDo28iLCJjb25uZWN0b3ItYWRkIjoiQWRpY2lvbmFyIG5vdm8gY29uZWN0b3IiLCJjb25uZWN0b3ItZW5hYmxlZCI6IkhhYmlsaXRhciBjb25lY3RvciIsImNvbm5lY3Rvci1uYW1lIjoiTm9tZSBkbyBjb25lY3RvciIsImNvbm5lY3Rvci1uYW1lLXJlcXVpcmVkIjoiTyBub21lIGRvIGNvbmVjdG9yIMOpIG9icmlnYXTDs3Jpby4iLCJjb25uZWN0b3ItdHlwZSI6IlRpcG8gZGUgY29uZWN0b3IiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6Ik8gdGlwbyBkZSBjb25lY3RvciDDqSBvYnJpZ2F0w7NyaW8uIixjb25uZWN0b3JzOiJDb25maWd1cmHDp8OjbyBkZSBjb25lY3RvcmVzIiwiY3JlYXRlLW5ldy1nYXRld2F5IjoiQ3JpYXIgdW0gbm92byBnYXRld2F5IiwiY3JlYXRlLW5ldy1nYXRld2F5LXRleHQiOiJUZW0gY2VydGV6YSBkZSBxdWUgZGVzZWphIGNyaWFyIHVtIG5vdm8gZ2F0ZXdheSBjb20gbyBub21lOiAne3tnYXRld2F5TmFtZX19Jz8iLGRlbGV0ZToiRXhjbHVpciBjb25maWd1cmHDp8OjbyIsImRvd25sb2FkLXRpcCI6IkRvd25sb2FkIGRlIGFycXVpdm8gZGUgY29uZmlndXJhw6fDo28iLGdhdGV3YXk6IkdhdGV3YXkiLCJnYXRld2F5LWV4aXN0cyI6IkrDoSBleGlzdGUgdW0gZGlzcG9zaXRpdm8gY29tIG8gbWVzbW8gbm9tZS4iLCJnYXRld2F5LW5hbWUiOiJOb21lIGRvIGdhdGV3YXkiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJPIG5vbWUgZG8gZ2F0ZXdheSDDqSBvYnJpZ2F0w7NyaW8uIiwiZ2F0ZXdheS1zYXZlZCI6IkEgY29uZmlndXJhw6fDo28gZG8gZ2F0ZXdheSBmb2kgc2FsdmEgY29ycmV0YW1lbnRlLiIsImpzb24tcGFyc2UiOiJKU09OIGludsOhbGlkby4iLCJqc29uLXJlcXVpcmVkIjoiTyBjYW1wbyBuw6NvIHBvZGUgZXN0YXIgZW0gYnJhbmNvLiIsIm5vLWNvbm5lY3RvcnMiOiJTZW0gY29uZWN0b3JlcyIsIm5vLWRhdGEiOiJTZW0gY29uZmlndXJhw6fDtWVzIiwibm8tZ2F0ZXdheS1mb3VuZCI6Ik5lbmh1bSBnYXRld2F5IGVuY29udHJhZG8uIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG7Do28gZW5jb250cmFkby4iLCJwYXRoLWxvZ3MiOiJDYW1pbmhvIHBhcmEgYXJxdWl2b3MgZGUgbG9nIiwicGF0aC1sb2dzLXJlcXVpcmVkIjoiTyBjYW1pbmhvIMOpIG9icmlnYXTDs3JpbyIscmVtb3RlOiJDb25maWd1cmHDp8OjbyByZW1vdGEiLCJyZW1vdGUtbG9nZ2luZy1sZXZlbCI6Ik7DrXZlbCBkZSByZWdpc3RybyBlbSBsb2ciLCJyZW1vdmUtZW50cnkiOiJSZW1vdmVyIGNvbmZpZ3VyYcOnw6NvIiwic2F2ZS10aXAiOiJTYWx2YXIgYXJxdWl2byBkZSBjb25maWd1cmHDp8OjbyIsInNlY3VyaXR5LXR5cGUiOiJUaXBvIGRlIHNlZ3VyYW7Dp2EiLCJzZWN1cml0eS10eXBlcyI6eyJhY2Nlc3MtdG9rZW4iOiJUb2tlbiBkZSBBY2Vzc28iLHRsczoiVExTIn0sc3RvcmFnZToiQXJtYXplbmFtZW50byIsInN0b3JhZ2UtbWF4LWZpbGUtcmVjb3JkcyI6Ik7Dum1lcm8gbcOheGltbyBkZSByZWdpc3Ryb3MgZW0gYXJxdWl2byIsInN0b3JhZ2UtbWF4LWZpbGVzIjoiTsO6bWVybyBtw6F4aW1vIGRlIGFycXVpdm9zIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoiTyBuw7ptZXJvIG3DrW5pbW8gw6kgMS4iLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoiTyBuw7ptZXJvIG7Do28gw6kgdsOhbGlkby4iLCJzdG9yYWdlLW1heC1maWxlcy1yZXF1aXJlZCI6Ik8gbsO6bWVybyDDqSBvYnJpZ2F0w7NyaW8uIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6Ik7Dum1lcm8gbcOheGltbyBkZSByZWdpc3Ryb3MgZW0gYXJtYXplbmFtZW50byIsInN0b3JhZ2UtbWF4LXJlY29yZHMtbWluIjoiTyBuw7ptZXJvIG3DrW5pbW8gZGUgcmVnaXN0cm9zIMOpIDEuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoiTyBuw7ptZXJvIG7Do28gw6kgdsOhbGlkby4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkIjoiTyBuw7ptZXJvIG3DoXhpbW8gZGUgcmVnaXN0cm9zIMOpIG9icmlnYXTDs3Jpby4iLCJzdG9yYWdlLXBhY2stc2l6ZSI6IlRhbWFuaG8gbcOheGltbyBkZSBwYWNvdGUgZGUgZXZlbnRvcyIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6Ik8gbsO6bWVybyBtw61uaW1vIMOpIDEuIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6Ik8gbsO6bWVybyBuw6NvIMOpIHbDoWxpZG8uIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiJPIHRhbWFuaG8gbcOheGltbyBkZSBwYWNvdGUgZGUgZXZlbnRvcyDDqSBvYnJpZ2F0w7NyaW8uIiwic3RvcmFnZS1wYXRoIjoiQ2FtaW5obyBkZSBhcm1hemVuYW1lbnRvIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoiTyBjYW1pbmhvIGRlIGFybWF6ZW5hbWVudG8gw6kgb2JyaWdhdMOzcmlvLiIsInN0b3JhZ2UtdHlwZSI6IlRpcG8gZGUgYXJtYXplbmFtZW50byIsInN0b3JhZ2UtdHlwZXMiOnsiZmlsZS1zdG9yYWdlIjoiQXJtYXplbmFtZW50byBkZSBhcnF1aXZvIiwibWVtb3J5LXN0b3JhZ2UiOiJBcm1hemVuYW1lbnRvIGRlIG1lbcOzcmlhIn0sdGhpbmdzYm9hcmQ6IlRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdCI6Ikhvc3QgVGhpbmdzQm9hcmQiLCJ0aGluZ3Nib2FyZC1ob3N0LXJlcXVpcmVkIjoiTyBob3N0IMOpIG9icmlnYXTDs3Jpby4iLCJ0aGluZ3Nib2FyZC1wb3J0IjoiUG9ydGEgVGhpbmdzQm9hcmQiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6Ik8gbsO6bWVybyBtw6F4aW1vIGRlIHBvcnRhcyDDqSA2NTUzNS4iLCJ0aGluZ3Nib2FyZC1wb3J0LW1pbiI6Ik8gbsO6bWVybyBtw61uaW1vIGRlIHBvcnRhcyDDqSAxLiIsInRoaW5nc2JvYXJkLXBvcnQtcGF0dGVybiI6IkEgcG9ydGEgbsOjbyDDqSB2w6FsaWRhLiIsInRoaW5nc2JvYXJkLXBvcnQtcmVxdWlyZWQiOiJBIHBvcnRhIMOpIG9icmlnYXTDs3JpYS4iLHRpZHk6IlRpZHkiLCJ0aWR5LXRpcCI6IkNvbmZpZyBUaWR5IEpTT04iLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiJDb25maWd1cmHDp8OjbyBkbyBjb25lY3RvciB7e3R5cGVOYW1lfX0iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IkNhbWluaG8gcGFyYSBjZXJ0aWZpY2FkbyBkZSBBdXRvcmlkYWRlIGRlIENlcnRpZmljYcOnw6NvIG5vIGdhdGV3YXkiLCJ0bHMtcGF0aC1jbGllbnQtY2VydGlmaWNhdGUiOiJDYW1pbmhvIHBhcmEgY2VydGlmaWNhZG8gZGUgY2xpZW50ZSBubyBnYXRld2F5IiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiJDYW1pbmhvIHBhcmEgY2hhdmUgcHJpdmFkYSBubyBnYXRld2F5IiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiJBbHRlcm5hciB0ZWxhIGludGVpcmEiLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IkNvbmZpZ3VyYcOnw6NvIEpTT04qIiwidXBkYXRlLWNvbmZpZyI6IkFkaWNpb25hci9hdHVhbGl6YXIgY29uZmlndXJhw6fDo28gZGUgSlNPTiJ9LCRvPXsiYWRkLWVudHJ5IjoiRG9kYWoga29uZmlndXJhY2lqbyIsImNvbm5lY3Rvci1hZGQiOiJEb2RhaiBub3YgcHJpa2xqdcSNZWsiLCJjb25uZWN0b3ItZW5hYmxlZCI6Ik9tb2dvxI1pIHByaWtsanXEjWVrIiwiY29ubmVjdG9yLW5hbWUiOiJJbWUgcHJpa2xqdcSNa2EiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6IkltZSBwcmlrbGp1xI1rYSBqZSBvYnZlem5vLiIsImNvbm5lY3Rvci10eXBlIjoiVnJzdGEgcHJpa2xqdcSNa2EiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IlphaHRldmEgc2UgdnJzdGEgcHJpa2xqdcSNa2EuIixjb25uZWN0b3JzOiJLb25maWd1cmFjaWphIHByaWtsanXEjWtvdiIsImNyZWF0ZS1uZXctZ2F0ZXdheSI6IlVzdHZhcmkgbm92IHByZWhvZCIsImNyZWF0ZS1uZXctZ2F0ZXdheS10ZXh0IjoiQWxpIHN0ZSBwcmVwcmnEjWFuaSwgZGEgxb5lbGl0ZSB1c3R2YXJpdGkgbm92IHByZWhvZCB6IGltZW5vbTogJ3t7Z2F0ZXdheU5hbWV9fSc/IixkZWxldGU6Ikl6YnJpxaFpIGtvbmZpZ3VyYWNpam8iLCJkb3dubG9hZC10aXAiOiJQcmVub3Mga29uZmlndXJhY2lqc2tlIGRhdG90ZWtlIixnYXRld2F5OiJQcmVob2QiLCJnYXRld2F5LWV4aXN0cyI6Ik5hcHJhdmEgeiBpc3RpbSBpbWVub20gxb5lIG9ic3RhamEuIiwiZ2F0ZXdheS1uYW1lIjoiSW1lIHByZWhvZGEiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJJbWUgcHJlaG9kYSBqZSBvYnZlem5vLiIsImdhdGV3YXktc2F2ZWQiOiJLb25maWd1cmFjaWphIHByZWhvZGEgamUgdXNwZcWhbm8gc2hyYW5qZW5hLiIsImpzb24tcGFyc2UiOiJOZXZlbGphdmVuIEpTT04uIiwianNvbi1yZXF1aXJlZCI6IlBvbGplIG5lIHNtZSBiaXRpIHByYXpuby4iLCJuby1jb25uZWN0b3JzIjoiTmkgcHJpa2xqdcSNa292Iiwibm8tZGF0YSI6IkJyZXoga29uZmlndXJhY2lqIiwibm8tZ2F0ZXdheS1mb3VuZCI6IlByZWhvZCBuaSBuYWpkZW4uIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIG5pIG1vZ2/EjWUgbmFqdGkuIiwicGF0aC1sb2dzIjoiUG90IGRvIGRuZXZuacWha2loIGRhdG90ZWsiLCJwYXRoLWxvZ3MtcmVxdWlyZWQiOiJQb3QgamUgb2J2ZXpuYS4iLHJlbW90ZToiT2RkYWxqZW5hIGtvbmZpZ3VyYWNpamEiLCJyZW1vdGUtbG9nZ2luZy1sZXZlbCI6IlJhdmVuIGJlbGXFvmVuamEiLCJyZW1vdmUtZW50cnkiOiJPZHN0cmFuaSBrb25maWd1cmFjaWpvIiwic2F2ZS10aXAiOiJTaHJhbmkga29uZmlndXJhY2lqc2tvIGRhdG90ZWtvIiwic2VjdXJpdHktdHlwZSI6IlZyc3RhIHphxaHEjWl0ZSIsInNlY3VyaXR5LXR5cGVzIjp7ImFjY2Vzcy10b2tlbiI6IkRvc3RvcG5pIMW+ZXRvbiIsdGxzOiJUTFMifSxzdG9yYWdlOiJTaHJhbWJhIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoiTmFqdmXEjSB6YXBpc292IHYgZGF0b3Rla2kiLCJzdG9yYWdlLW1heC1maWxlcyI6Ik5hanZlxI1qZSDFoXRldmlsbyBkYXRvdGVrIiwic3RvcmFnZS1tYXgtZmlsZXMtbWluIjoiTmFqbWFuasWhZSDFoXRldmlsbyBqZSAxLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXBhdHRlcm4iOiLFoHRldmlsa2EgbmkgdmVsamF2bmEuIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiLFoHRldmlsa2EgamUgb2J2ZXpuYS4iLCJzdG9yYWdlLW1heC1yZWNvcmRzIjoiTmFqdmXEjSB6YXBpc292IHYgcG9tbmlsbmlrdSIsInN0b3JhZ2UtbWF4LXJlY29yZHMtbWluIjoiTmFqbWFuasWhZSDFoXRldmlsbyB6YXBpc292IGplIDEuIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoixaB0ZXZpbGthIG5pIHZlbGphdm5hLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiJaYWh0ZXZhbiBqZSBuYWp2ZcSNIHphcGlzb3YuIiwic3RvcmFnZS1wYWNrLXNpemUiOiJOYWp2ZcSNamEgdmVsaWtvc3QgcGFrZXRhIGRvZ29ka292Iiwic3RvcmFnZS1wYWNrLXNpemUtbWluIjoiTmFqbWFuasWhZSDFoXRldmlsbyBqZSAxLiIsInN0b3JhZ2UtcGFjay1zaXplLXBhdHRlcm4iOiLFoHRldmlsa2EgbmkgdmVsamF2bmEuIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiJaYWh0ZXZhbmEgamUgbmFqdmXEjWphIHZlbGlrb3N0IHBha2V0YSBkb2dvZGtvdi4iLCJzdG9yYWdlLXBhdGgiOiJQb3QgcG9tbmlsbmlrYSIsInN0b3JhZ2UtcGF0aC1yZXF1aXJlZCI6IlphaHRldmFuYSBqZSBwb3QgZG8gcG9tbmlsbmlrYS4iLCJzdG9yYWdlLXR5cGUiOiJWcnN0YSBwb21uaWxuaWthIiwic3RvcmFnZS10eXBlcyI6eyJmaWxlLXN0b3JhZ2UiOiJTaHJhbWJhIGRhdG90ZWsiLCJtZW1vcnktc3RvcmFnZSI6IlNwb21pbiBwb21uaWxuaWthIn0sdGhpbmdzYm9hcmQ6IlRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdCI6Ikdvc3RpdGVsaiBUaGluZ3NCb2FyZCIsInRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWQiOiJQb3RyZWJlbiBqZSBnb3N0aXRlbGouIiwidGhpbmdzYm9hcmQtcG9ydCI6IlZyYXRhIFRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtcG9ydC1tYXgiOiJOYWp2ZcSNamEgxaF0ZXZpbGthIHZyYXQgamUgNjU1MzUuIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiJOYWptYW5qxaFhIMWhdGV2aWxrYSB2cmF0IGplIDEuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiVnJhdGEgbmlzbyB2ZWxqYXZuYS4iLCJ0aGluZ3Nib2FyZC1wb3J0LXJlcXVpcmVkIjoiUG90cmVibmEgc28gdnJhdGEuIix0aWR5OiJVcmVqZW5vIiwidGlkeS10aXAiOiJVcmVqZW5hIGtvbmZpZ3VyYWNpamEgSlNPTiIsInRpdGxlLWNvbm5lY3RvcnMtanNvbiI6IktvbmZpZ3VyYWNpamEga29uZWt0b3JqYSB7e3R5cGVOYW1lfX0iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IlBvdCBkbyBwb3RyZGlsYSBDQSBuYSBwcmVob2R1IiwidGxzLXBhdGgtY2xpZW50LWNlcnRpZmljYXRlIjoiUG90IGRvIHBvdHJkaWxhIHN0cmFua2UgbmEgcHJlaG9kdSIsInRscy1wYXRoLXByaXZhdGUta2V5IjoiUG90IGRvIHphc2VibmVnYSBrbGp1xI1hIG5hIHByZWhvZHUiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IlByZWtsb3AgbmEgY2Vsb3phc2xvbnNraSBuYcSNaW4iLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IktvbmZpZ3VyYWNpamEgSlNPTiAqIiwidXBkYXRlLWNvbmZpZyI6IkRvZGFqIC8gcG9zb2RvYmkga29uZmlndXJhY2lqbyBKU09OIn0sWW89eyJhZGQtZW50cnkiOiJZYXDEsWxhbmTEsXJtYSBla2xlIiwiY29ubmVjdG9yLWFkZCI6IlllbmkgYmHEn2xhecSxY8SxIGVrbGUiLCJjb25uZWN0b3ItZW5hYmxlZCI6IkJhxJ9sYXnEsWPEsXnEsSBldGtpbmxlxZ90aXIiLCJjb25uZWN0b3ItbmFtZSI6IkJhxJ9sYXnEsWPEsSBhZMSxIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiJCYcSfbGF5xLFjxLEgYWTEsSBnZXJla2xpLiIsImNvbm5lY3Rvci10eXBlIjoiQmHEn2xhecSxY8SxIHRpcGkiLCJjb25uZWN0b3ItdHlwZS1yZXF1aXJlZCI6IkJhxJ9sYXnEsWPEsSB0w7xyw7wgZ2VyZWtsaS4iLGNvbm5lY3RvcnM6IkJhxJ9sYXnEsWPEsWxhcsSxbiB5YXDEsWxhbmTEsXJtYXPEsSIsImNyZWF0ZS1uZXctZ2F0ZXdheSI6IlllbmkgYmlyIGHEnyBnZcOnaWRpIG9sdcWfdHVyIiwiY3JlYXRlLW5ldy1nYXRld2F5LXRleHQiOiIne3tnYXRld2F5TmFtZX19JyBhZMSxbmRhIHllbmkgYmlyIGHEnyBnZcOnaWRpIG9sdcWfdHVybWFrIGlzdGVkacSfaW5pemRlbiBlbWluIG1pc2luaXo/IixkZWxldGU6IllhcMSxbGFuZMSxcm1hecSxIHNpbCIsImRvd25sb2FkLXRpcCI6IllhcMSxbGFuZMSxcm1hIGRvc3lhc8SxbsSxIGluZGlyaW4iLGdhdGV3YXk6IkHEnyBnZcOnaWRpIiwiZ2F0ZXdheS1leGlzdHMiOiJBeW7EsSBhZGEgc2FoaXAgY2loYXogemF0ZW4gdmFyLiIsImdhdGV3YXktbmFtZSI6IkHEnyBnZcOnaWRpIGFkxLEiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiJBxJ8gZ2XDp2lkaSBhZMSxIGdlcmVrbGkuIiwiZ2F0ZXdheS1zYXZlZCI6IkHEnyBnZcOnaWRpIHlhcMSxbGFuZMSxcm1hc8SxIGJhxZ9hcsSxeWxhIGtheWRlZGlsZGkuIiwianNvbi1wYXJzZSI6Ikdlw6dlcmxpIGJpciBKU09OIGRlxJ9pbC4iLCJqc29uLXJlcXVpcmVkIjoiQWxhbiBib8WfIG9sYW1hei4iLCJuby1jb25uZWN0b3JzIjoiQmHEn2xhecSxY8SxIHlvayIsIm5vLWRhdGEiOiJZYXDEsWxhbmTEsXJtYSB5b2siLCJuby1nYXRld2F5LWZvdW5kIjoiQcSfIGdlw6dpZGkgYnVsdW5hbWFkxLEuIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiAne3tpdGVtfX0nIGJ1bHVuYW1hZMSxLiIsInBhdGgtbG9ncyI6IkxvZyBkb3N5YWxhcsSxIHlvbHUiLCJwYXRoLWxvZ3MtcmVxdWlyZWQiOiJMb2cgZG9zeWFsYXLEsSBkaXppbmkgZ2VyZWtsaS4iLHJlbW90ZToiVXpha3RhbiB5YXDEsWxhbmTEsXJtYSIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoiTG9nbGFtYSBzZXZpeWVzaSIsInJlbW92ZS1lbnRyeSI6IllhcMSxbGFuZMSxcm1hecSxIGthbGTEsXIiLCJzYXZlLXRpcCI6IllhcMSxbGFuZMSxcm1hIGRvc3lhc8SxbsSxIGtheWRldCIsInNlY3VyaXR5LXR5cGUiOiJHw7x2ZW5saWsgdMO8csO8Iiwic2VjdXJpdHktdHlwZXMiOnsiYWNjZXNzLXRva2VuIjoiQWNjZXNzIFRva2VuIix0bHM6IlRMUyJ9LHN0b3JhZ2U6IkRlcG9sYW1hIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoiRG9zeWFkYWtpIG1ha3NpbXVtIGthecSxdCIsInN0b3JhZ2UtbWF4LWZpbGVzIjoiTWFrc2ltdW0gZG9zeWEgc2F5xLFzxLEiLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiJNaW5pbXVtIHNhecSxIDEnZGlyLiIsInN0b3JhZ2UtbWF4LWZpbGVzLXBhdHRlcm4iOiJTYXnEsSBnZcOnZXJsaSBkZcSfaWwuIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiJTYXnEsSBnZXJla2xpLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMiOiJEZXBvZGFraSBtYWtzaW11bSBrYXnEsXQiLCJzdG9yYWdlLW1heC1yZWNvcmRzLW1pbiI6Ik1pbmltdW0ga2F5xLF0IHNhecSxc8SxIDEnZGlyLiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6IlNhecSxIGdlw6dlcmxpIGRlxJ9pbC4iLCJzdG9yYWdlLW1heC1yZWNvcmRzLXJlcXVpcmVkIjoiTWFrc2ltdW0ga2F5xLF0IGdlcmVrbGkuIiwic3RvcmFnZS1wYWNrLXNpemUiOiJNYWtzaW11bSBldGtpbmxpayBwYWtldGkgYm95dXR1Iiwic3RvcmFnZS1wYWNrLXNpemUtbWluIjoiTWluaW11bSBzYXnEsSAxJ2Rpci4iLCJzdG9yYWdlLXBhY2stc2l6ZS1wYXR0ZXJuIjoiU2F5xLEgZ2XDp2VybGkgZGXEn2lsLiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoiTWFrc2ltdW0gZXRraW5saWsgcGFrZXRpIGJveXV0dSBnZXJla2xpLiIsInN0b3JhZ2UtcGF0aCI6IkRlcG9sYW1hIHlvbHUiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiJEZXBvbGFtYSB5b2x1IGdlcmVrbGkuIiwic3RvcmFnZS10eXBlIjoiRGVwb2xhbWEgdMO8csO8Iiwic3RvcmFnZS10eXBlcyI6eyJmaWxlLXN0b3JhZ2UiOiJEb3N5YSBkZXBvbGFtYSIsIm1lbW9yeS1zdG9yYWdlIjoiQmVsbGVrIGRlcG9sYW1hIn0sdGhpbmdzYm9hcmQ6IlRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdCI6IlRoaW5nc0JvYXJkIGhvc3QiLCJ0aGluZ3Nib2FyZC1ob3N0LXJlcXVpcmVkIjoiSG9zdCBnZXJla2xpLiIsInRoaW5nc2JvYXJkLXBvcnQiOiJUaGluZ3NCb2FyZCBwb3J0IiwidGhpbmdzYm9hcmQtcG9ydC1tYXgiOiJNYWtzaW11bSBwb3J0IG51bWFyYXPEsSA2NTUzNS4iLCJ0aGluZ3Nib2FyZC1wb3J0LW1pbiI6Ik1pbmltdW0gcG9ydCBudW1hcmFzxLEgMSdkaXIuIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoiUG9ydCBnZcOnZXJsaSBkZcSfaWwuIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6IlBvcnQgZ2VyZWtsaS4iLHRpZHk6IlRpZHkiLCJ0aWR5LXRpcCI6IlRpZHkgY29uZmlnIEpTT04iLCJ0aXRsZS1jb25uZWN0b3JzLWpzb24iOiJDb25uZWN0b3Ige3t0eXBlTmFtZX19IGNvbmZpZ3VyYXRpb24iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6IlBhdGggdG8gQ0EgY2VydGlmaWNhdGUgb24gZ2F0ZXdheSIsInRscy1wYXRoLWNsaWVudC1jZXJ0aWZpY2F0ZSI6IlBhdGggdG8gY2xpZW50IGNlcnRpZmljYXRlIG9uIGdhdGV3YXkiLCJ0bHMtcGF0aC1wcml2YXRlLWtleSI6IlBhdGggdG8gcHJpdmF0ZSBrZXkgb24gZ2F0ZXdheSIsInRvZ2dsZS1mdWxsc2NyZWVuIjoiVG9nZ2xlIGZ1bGxzY3JlZW4iLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IkNvbmZpZ3VyYXRpb24gSlNPTioiLCJ1cGRhdGUtY29uZmlnIjoiQWRkL3VwZGF0ZSBjb25maWd1cmF0aW9uIEpTT04ifSxRbz17ImFkZC1lbnRyeSI6Iua3u+WKoOmFjee9riIsYWR2YW5jZWQ6IumrmOe6pyIsImNoZWNraW5nLWRldmljZS1hY3Rpdml0eSI6IuajgOafpeiuvuWkh+a0u+WKqCIsY29tbWFuZDoiRG9ja2Vy5ZG95LukIiwiY29tbWFuZC1jb3BpZWQtbWVzc2FnZSI6IkRvY2tlcuWRveS7pOW3suWkjeWItuWIsOWJqui0tOadvyIsY29uZmlndXJhdGlvbjoi6YWN572uIiwiY29ubmVjdG9yLWFkZCI6Iua3u+WKoOi/nuaOpeWZqCIsImNvbm5lY3Rvci1lbmFibGVkIjoi5ZCv55So6L+e5o6l5ZmoIiwiY29ubmVjdG9yLW5hbWUiOiLov57mjqXlmajlkI3np7AiLCJjb25uZWN0b3ItbmFtZS1yZXF1aXJlZCI6Iui/nuaOpeWZqOWQjeensOW/heWhq+OAgiIsImNvbm5lY3Rvci10eXBlIjoi6L+e5o6l5Zmo57G75Z6LIiwiY29ubmVjdG9yLXR5cGUtcmVxdWlyZWQiOiLov57mjqXlmajnsbvlnovlv4XloavjgIIiLGNvbm5lY3RvcnM6Iui/nuaOpeWZqOmFjee9riIsImNvbm5lY3RvcnMtY29uZmlnIjoi6L+e5o6l5Zmo6YWN572uIiwiY29ubmVjdG9ycy10YWJsZS1lbmFibGVkIjoi5bey5ZCv55SoIiwiY29ubmVjdG9ycy10YWJsZS1uYW1lIjoi5ZCN56ewIiwiY29ubmVjdG9ycy10YWJsZS10eXBlIjoi57G75Z6LIiwiY29ubmVjdG9ycy10YWJsZS1zdGF0dXMiOiLnirbmgIEiLCJjb25uZWN0b3JzLXRhYmxlLWFjdGlvbnMiOiLmk43kvZwiLCJjb25uZWN0b3JzLXRhYmxlLWtleSI6IumUriIsImNvbm5lY3RvcnMtdGFibGUtY2xhc3MiOiLnsbsiLCJycGMtY29tbWFuZC1zZW5kIjoi5Y+R6YCBIiwicnBjLWNvbW1hbmQtcmVzdWx0Ijoi57uT5p6cIiwicnBjLWNvbW1hbmQtZWRpdC1wYXJhbXMiOiLnvJbovpHlj4LmlbAiLCJnYXRld2F5LWNvbmZpZ3VyYXRpb24iOiLpgJrnlKjphY3nva4iLCJjcmVhdGUtbmV3LWdhdGV3YXkiOiLliJvlu7rnvZHlhbMiLCJjcmVhdGUtbmV3LWdhdGV3YXktdGV4dCI6IuehruWumuimgeWIm+W7uuWQjeS4uiAne3tnYXRld2F5TmFtZX19JyDnmoTmlrDnvZHlhbPvvJ8iLCJjcmVhdGVkLXRpbWUiOiLliJvlu7rml7bpl7QiLCJjb25maWd1cmF0aW9uLWRlbGV0ZS1kaWFsb2ctaGVhZGVyIjoi6YWN572u5bCG6KKr5Yig6ZmkIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWJvZHkiOiLlj6rmnInlr7nnvZHlhbPov5vooYzniannkIborr/pl67ml7bvvIzmiY3mnInlj6/og73lhbPpl63ov5znqIvphY3nva7jgILmiYDmnInlhYjliY3nmoTphY3nva7pg73lsIbooqvliKDpmaTjgII8YnI+PGJyPlxu6KaB5YWz6Zet6YWN572u77yM6K+35Zyo5LiL6Z2i6L6T5YWl572R5YWz5ZCN56ewIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0Ijoi572R5YWz5ZCN56ewIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWlucHV0LXJlcXVpcmVkIjoi572R5YWz5ZCN56ew5piv5b+F6ZyA55qEIiwiY29uZmlndXJhdGlvbi1kZWxldGUtZGlhbG9nLWNvbmZpcm0iOiLlhbPpl60iLGRlbGV0ZToi5Yig6Zmk6YWN572uIiwiZG93bmxvYWQtdGlwIjoi5LiL6L296YWN572uIiwiZHJvcC1maWxlIjoi5bCG5paH5Lu25ouW5pS+5Yiw5q2k5aSE5oiWIixnYXRld2F5OiLnvZHlhbMiLCJnYXRld2F5LWV4aXN0cyI6IuWQjOWQjeiuvuWkh+W3suWtmOWcqOOAgiIsImdhdGV3YXktbmFtZSI6Iue9keWFs+WQjeensCIsImdhdGV3YXktbmFtZS1yZXF1aXJlZCI6Iue9keWFs+WQjeensOW/heWhq+OAgiIsImdhdGV3YXktc2F2ZWQiOiLlt7LmiJDlip/kv53lrZjnvZHlhbPphY3nva7jgIIiLGdycGM6IkdSUEMiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dCI6IuS/neaMgei/nuaOpei2heaXtu+8iOavq+enku+8iSIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LXJlcXVpcmVkIjoi6ZyA6KaB5L+d5oyB6L+e5o6l6LaF5pe2IiwiZ3JwYy1rZWVwLWFsaXZlLXRpbWVvdXQtbWluIjoi5L+d5oyB6L+e5o6l6LaF5pe25LiN6IO95bCP5LqOMSIsImdycGMta2VlcC1hbGl2ZS10aW1lb3V0LXBhdHRlcm4iOiLkv53mjIHov57mjqXotoXml7bml6DmlYgiLCJncnBjLWtlZXAtYWxpdmUiOiLkv53mjIHov57mjqXvvIjmr6vnp5LvvIkiLCJncnBjLWtlZXAtYWxpdmUtcmVxdWlyZWQiOiLpnIDopoHkv53mjIHov57mjqUiLCJncnBjLWtlZXAtYWxpdmUtbWluIjoi5L+d5oyB6L+e5o6l5LiN6IO95bCP5LqOMSIsImdycGMta2VlcC1hbGl2ZS1wYXR0ZXJuIjoi5L+d5oyB6L+e5o6l5peg5pWIIiwiZ3JwYy1taW4tdGltZS1iZXR3ZWVuLXBpbmdzIjoi5pyA5bCPUGluZ+mXtOmalO+8iOavq+enku+8iSIsImdycGMtbWluLXRpbWUtYmV0d2Vlbi1waW5ncy1yZXF1aXJlZCI6IumcgOimgeacgOWwj1Bpbmfpl7TpmpQiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtbWluIjoi5pyA5bCPUGluZ+mXtOmalOS4jeiDveWwj+S6jjEiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MtcGF0dGVybiI6IuacgOWwj1Bpbmfpl7TpmpTml6DmlYgiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YSI6IuaXoOaVsOaNruaXtueahOacgOWwj1Bpbmfpl7TpmpTvvIjmr6vnp5LvvIkiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6IumcgOimgeaXoOaVsOaNruaXtueahOacgOWwj1Bpbmfpl7TpmpQiLCJncnBjLW1pbi1waW5nLWludGVydmFsLXdpdGhvdXQtZGF0YS1taW4iOiLml6DmlbDmja7ml7bnmoTmnIDlsI9QaW5n6Ze06ZqU5LiN6IO95bCP5LqOMSIsImdycGMtbWluLXBpbmctaW50ZXJ2YWwtd2l0aG91dC1kYXRhLXBhdHRlcm4iOiLml6DmlbDmja7ml7bnmoTmnIDlsI9QaW5n6Ze06ZqU5peg5pWIIiwiZ3JwYy1tYXgtcGluZ3Mtd2l0aG91dC1kYXRhIjoi5peg5pWw5o2u5pe255qE5pyA5aSnUGluZ+aVsCIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YS1yZXF1aXJlZCI6IumcgOimgeaXoOaVsOaNruaXtueahOacgOWkp1BpbmfmlbAiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtbWluIjoi5peg5pWw5o2u5pe255qE5pyA5aSnUGluZ+aVsOS4jeiDveWwj+S6jjEiLCJncnBjLW1heC1waW5ncy13aXRob3V0LWRhdGEtcGF0dGVybiI6IuaXoOaVsOaNruaXtueahOacgOWkp1BpbmfmlbDml6DmlYgiLCJpbmFjdGl2aXR5LWNoZWNrLXBlcmlvZC1zZWNvbmRzIjoi5LiN5rS76LeD5qOA5p+l5pyf77yI56eS77yJIiwiaW5hY3Rpdml0eS1jaGVjay1wZXJpb2Qtc2Vjb25kcy1yZXF1aXJlZCI6IumcgOimgeS4jea0u+i3g+ajgOafpeacnyIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtbWluIjoi5LiN5rS76LeD5qOA5p+l5pyf5LiN6IO95bCP5LqOMSIsImluYWN0aXZpdHktY2hlY2stcGVyaW9kLXNlY29uZHMtcGF0dGVybiI6IuS4jea0u+i3g+ajgOafpeacn+aXoOaViCIsImluYWN0aXZpdHktdGltZW91dC1zZWNvbmRzIjoi5LiN5rS76LeD6LaF5pe277yI56eS77yJIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcmVxdWlyZWQiOiLpnIDopoHkuI3mtLvot4PotoXml7YiLCJpbmFjdGl2aXR5LXRpbWVvdXQtc2Vjb25kcy1taW4iOiLkuI3mtLvot4PotoXml7bkuI3og73lsI/kuo4xIiwiaW5hY3Rpdml0eS10aW1lb3V0LXNlY29uZHMtcGF0dGVybiI6IuS4jea0u+i3g+i2heaXtuaXoOaViCIsImpzb24tcGFyc2UiOiLml6DmlYjnmoRKU09O44CCIiwianNvbi1yZXF1aXJlZCI6IuWtl+auteS4jeiDveS4uuepuuOAgiIsbG9nczp7bG9nczoi5pel5b+XIixkYXlzOiLlpKkiLGhvdXJzOiLlsI/ml7YiLG1pbnV0ZXM6IuWIhumSnyIsc2Vjb25kczoi56eSIiwiZGF0ZS1mb3JtYXQiOiLml6XmnJ/moLzlvI8iLCJkYXRlLWZvcm1hdC1yZXF1aXJlZCI6IumcgOimgeaXpeacn+agvOW8jyIsImxvZy1mb3JtYXQiOiLml6Xlv5fmoLzlvI8iLCJsb2ctdHlwZSI6IuaXpeW/l+exu+WeiyIsImxvZy1mb3JtYXQtcmVxdWlyZWQiOiLpnIDopoHml6Xlv5fmoLzlvI8iLHJlbW90ZToi6L+c56iL5pel5b+X6K6w5b2VIiwicmVtb3RlLWxvZ3MiOiLov5znqIvml6Xlv5ciLGxvY2FsOiLmnKzlnLDml6Xlv5forrDlvZUiLGxldmVsOiLml6Xlv5fnuqfliKsiLCJmaWxlLXBhdGgiOiLmlofku7bot6/lvoQiLCJmaWxlLXBhdGgtcmVxdWlyZWQiOiLpnIDopoHmlofku7bot6/lvoQiLCJzYXZpbmctcGVyaW9kIjoi5pel5b+X5L+d5a2Y5pyf6ZmQIiwic2F2aW5nLXBlcmlvZC1taW4iOiLml6Xlv5fkv53lrZjmnJ/pmZDkuI3og73lsI/kuo4xIiwic2F2aW5nLXBlcmlvZC1yZXF1aXJlZCI6IumcgOimgeaXpeW/l+S/neWtmOacn+mZkCIsImJhY2t1cC1jb3VudCI6IuWkh+S7veaVsOmHjyIsImJhY2t1cC1jb3VudC1taW4iOiLlpIfku73mlbDph4/kuI3og73lsI/kuo4xIiwiYmFja3VwLWNvdW50LXJlcXVpcmVkIjoi6ZyA6KaB5aSH5Lu95pWw6YePIn0sIm1pbi1wYWNrLXNlbmQtZGVsYXkiOiLmnIDlsI/ljIXlj5HpgIHlu7bov5/vvIjmr6vnp5LvvIkiLCJtaW4tcGFjay1zZW5kLWRlbGF5LXJlcXVpcmVkIjoi5pyA5bCP5YyF5Y+R6YCB5bu26L+f5piv5b+F6ZyA55qEIiwibWluLXBhY2stc2VuZC1kZWxheS1taW4iOiLmnIDlsI/ljIXlj5HpgIHlu7bov5/kuI3og73lsI/kuo4wIiwibm8tY29ubmVjdG9ycyI6IuaXoOi/nuaOpeWZqCIsIm5vLWRhdGEiOiLmsqHmnInphY3nva4iLCJuby1nYXRld2F5LWZvdW5kIjoi5pyq5om+5Yiw572R5YWz44CCIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IuacquaJvuWIsCAne3tpdGVtfX0nIOOAgiIsInBhdGgtbG9ncyI6IuaXpeW/l+aWh+S7tueahOi3r+W+hCIsInBhdGgtbG9ncy1yZXF1aXJlZCI6Iui3r+W+hOaYr+W/hemcgOeahOOAgiIsInBlcm1pdC13aXRob3V0LWNhbGxzIjoi5L+d5oyB6L+e5o6l6K645Y+v77yM5peg6ZyA5ZON5bqUIixyZW1vdGU6Iui/nOeoi+mFjee9riIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoi5pel5b+X6K6w5b2V57qn5YirIiwicmVtb3ZlLWVudHJ5Ijoi5Yig6Zmk6YWN572uIiwicmVtb3RlLXNoZWxsIjoi6L+c56iLU2hlbGwiLCJyZW1vdGUtY29uZmlndXJhdGlvbiI6Iui/nOeoi+mFjee9riIsb3RoZXI6IuWFtuS7liIsInNhdmUtdGlwIjoi5L+d5a2Y6YWN572uIiwic2VjdXJpdHktdHlwZSI6IuWuieWFqOexu+WeiyIsInNlY3VyaXR5LXR5cGVzIjp7ImFjY2Vzcy10b2tlbiI6Iuiuv+mXruS7pOeJjCIsInVzZXJuYW1lLXBhc3N3b3JkIjoi55So5oi35ZCN5ZKM5a+G56CBIix0bHM6IlRMUyIsInRscy1hY2Nlc3MtdG9rZW4iOiJUTFMgKyDorr/pl67ku6TniYwiLCJ0bHMtcHJpdmF0ZS1rZXkiOiJUTFMgKyDnp4HpkqUifSwic2VydmVyLXBvcnQiOiLmnI3liqHlmajnq6/lj6MiLHN0YXRpc3RpY3M6e3N0YXRpc3RpYzoi57uf6K6h5L+h5oGvIixzdGF0aXN0aWNzOiLnu5/orqHkv6Hmga8iLCJzdGF0aXN0aWMtY29tbWFuZHMtZW1wdHkiOiLml6Dlj6/nlKjnu5/orqHkv6Hmga8iLGNvbW1hbmRzOiLlkb3ku6QiLCJzZW5kLXBlcmlvZCI6Iue7n+iuoeS/oeaBr+WPkemAgeWRqOacn++8iOenku+8iSIsInNlbmQtcGVyaW9kLXJlcXVpcmVkIjoi57uf6K6h5L+h5oGv5Y+R6YCB5ZGo5pyf5piv5b+F6ZyA55qEIiwic2VuZC1wZXJpb2QtbWluIjoi57uf6K6h5L+h5oGv5Y+R6YCB5ZGo5pyf5LiN6IO95bCP5LqONjAiLCJzZW5kLXBlcmlvZC1wYXR0ZXJuIjoi57uf6K6h5L+h5oGv5Y+R6YCB5ZGo5pyf5peg5pWIIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uIjoi5qOA5p+l6L+e5o6l5Zmo6YWN572u77yI56eS77yJIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLXJlcXVpcmVkIjoi5qOA5p+l6L+e5o6l5Zmo6YWN572u5piv5b+F6ZyA55qEIiwiY2hlY2stY29ubmVjdG9ycy1jb25maWd1cmF0aW9uLW1pbiI6IuajgOafpei/nuaOpeWZqOmFjee9ruS4jeiDveWwj+S6jjEiLCJjaGVjay1jb25uZWN0b3JzLWNvbmZpZ3VyYXRpb24tcGF0dGVybiI6IuajgOafpei/nuaOpeWZqOmFjee9ruaXoOaViCIsYWRkOiLmt7vliqDlkb3ku6QiLHRpbWVvdXQ6Iui2heaXtuaXtumXtCIsInRpbWVvdXQtbXMiOiLotoXml7bml7bpl7TvvIjmr6vnp5LvvIkiLCJ0aW1lb3V0LXJlcXVpcmVkIjoi6LaF5pe25pe26Ze05piv5b+F6ZyA55qEIiwidGltZW91dC1taW4iOiLotoXml7bml7bpl7TkuI3og73lsI/kuo4xIiwidGltZW91dC1wYXR0ZXJuIjoi6LaF5pe25pe26Ze05peg5pWIIiwiYXR0cmlidXRlLW5hbWUiOiLlsZ7mgKflkI3np7AiLCJhdHRyaWJ1dGUtbmFtZS1yZXF1aXJlZCI6IuWxnuaAp+WQjeensOaYr+W/hemcgOeahCIsY29tbWFuZDoi5ZG95LukIiwiY29tbWFuZC1yZXF1aXJlZCI6IuWRveS7pOaYr+W/hemcgOeahCIsImNvbW1hbmQtcGF0dGVybiI6IuWRveS7pOaXoOaViCIscmVtb3ZlOiLliKDpmaTlkb3ku6QifSxzdG9yYWdlOiLlrZjlgqgiLCJzdG9yYWdlLW1heC1maWxlLXJlY29yZHMiOiLmlofku7bkuK3nmoTmnIDlpKforrDlvZXmlbAiLCJzdG9yYWdlLW1heC1maWxlcyI6IuacgOWkp+aWh+S7tuaVsCIsInN0b3JhZ2UtbWF4LWZpbGVzLW1pbiI6IuacgOWwj+WAvOS4ujHjgIIiLCJzdG9yYWdlLW1heC1maWxlcy1wYXR0ZXJuIjoi5pWw5a2X5peg5pWI44CCIiwic3RvcmFnZS1tYXgtZmlsZXMtcmVxdWlyZWQiOiLmlbDlrZfmmK/lv4XpnIDnmoTjgIIiLCJzdG9yYWdlLW1heC1yZWNvcmRzIjoi5a2Y5YKo5Lit55qE5pyA5aSn6K6w5b2V5pWwIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1taW4iOiLmnIDlsI/orrDlvZXmlbDkuLox44CCIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1wYXR0ZXJuIjoi5pWw5a2X5peg5pWI44CCIiwic3RvcmFnZS1tYXgtcmVjb3Jkcy1yZXF1aXJlZCI6IuacgOWkp+iusOW9lemhueW/heWhq+OAgiIsInN0b3JhZ2UtcmVhZC1yZWNvcmQtY291bnQiOiLlrZjlgqjkuK3nmoTor7vlj5borrDlvZXmlbAiLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LW1pbiI6IuacgOWwj+iusOW9leaVsOS4ujHjgIIiLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXBhdHRlcm4iOiLmlbDlrZfkuI3lkIjms5XjgIIiLCJzdG9yYWdlLXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkIjoi6ZyA6KaB6K+75Y+W6K6w5b2V5pWw44CCIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQiOiLlrZjlgqjkuK3nmoTmnIDlpKfor7vlj5borrDlvZXmlbAiLCJzdG9yYWdlLW1heC1yZWFkLXJlY29yZC1jb3VudC1taW4iOiLmnIDlsI/orrDlvZXmlbDkuLox44CCIiwic3RvcmFnZS1tYXgtcmVhZC1yZWNvcmQtY291bnQtcGF0dGVybiI6IuaVsOWtl+S4jeWQiOazleOAgiIsInN0b3JhZ2UtbWF4LXJlYWQtcmVjb3JkLWNvdW50LXJlcXVpcmVkIjoi5pyA5aSn6K+75Y+W6K6w5b2V5pWw5b+F6ZyA44CCIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoIjoi5pWw5o2u5paH5Lu25aS56Lev5b6EIiwic3RvcmFnZS1kYXRhLWZvbGRlci1wYXRoLXJlcXVpcmVkIjoi6ZyA6KaB5pWw5o2u5paH5Lu25aS56Lev5b6E44CCIiwic3RvcmFnZS1wYWNrLXNpemUiOiLmnIDlpKfkuovku7bljIXlpKflsI8iLCJzdG9yYWdlLXBhY2stc2l6ZS1taW4iOiLmnIDlsI/lgLzkuLox44CCIiwic3RvcmFnZS1wYWNrLXNpemUtcGF0dGVybiI6IuaVsOWtl+aXoOaViOOAgiIsInN0b3JhZ2UtcGFjay1zaXplLXJlcXVpcmVkIjoi5pyA5aSn5LqL5Lu25YyF5aSn5bCP5b+F5aGr44CCIiwic3RvcmFnZS1wYXRoIjoi5a2Y5YKo6Lev5b6EIiwic3RvcmFnZS1wYXRoLXJlcXVpcmVkIjoi5a2Y5YKo6Lev5b6E5b+F5aGr44CCIiwic3RvcmFnZS10eXBlIjoi5a2Y5YKo57G75Z6LIiwic3RvcmFnZS10eXBlcyI6eyJmaWxlLXN0b3JhZ2UiOiLmlofku7blrZjlgqgiLCJtZW1vcnktc3RvcmFnZSI6IuWGheWtmOWtmOWCqCIsc3FsaXRlOiJTUUxJVEUifSx0aGluZ3Nib2FyZDoiVGhpbmdzQm9hcmQiLGdlbmVyYWw6IuW4uOinhCIsInRoaW5nc2JvYXJkLWhvc3QiOiJUaGluZ3NCb2FyZOS4u+acuiIsInRoaW5nc2JvYXJkLWhvc3QtcmVxdWlyZWQiOiLkuLvmnLrlv4XloavjgIIiLCJ0aGluZ3Nib2FyZC1wb3J0IjoiVGhpbmdzQm9hcmTnq6/lj6MiLCJ0aGluZ3Nib2FyZC1wb3J0LW1heCI6IuacgOWkp+err+WPo+WPt+S4ujY1NTM144CCIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiLmnIDlsI/nq6/lj6Plj7fkuLox44CCIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoi56uv5Y+j5peg5pWI44CCIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6Iuerr+WPo+W/heWhq+OAgiIsdGlkeToi5pW055CGIiwidGlkeS10aXAiOiLmlbTnkIbphY3nva5KU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoi6L+e5o6l5ZmoIHt7dHlwZU5hbWV9fSDphY3nva4iLCJ0bHMtcGF0aC1jYS1jZXJ0aWZpY2F0ZSI6Iue9keWFs+S4ikNB6K+B5Lmm55qE6Lev5b6EIiwidGxzLXBhdGgtY2xpZW50LWNlcnRpZmljYXRlIjoi572R5YWz5LiK5a6i5oi356uv6K+B5Lmm55qE6Lev5b6EIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzIjoi5raI5oGvVFRM5qOA5p+l5bCP5pe25pWwIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLXJlcXVpcmVkIjoi6ZyA6KaB5o+Q5L6b5raI5oGvVFRM5qOA5p+l5bCP5pe25pWw44CCIiwibWVzc2FnZXMtdHRsLWNoZWNrLWluLWhvdXJzLW1pbiI6IuacgOWwj+WAvOS4ujHjgIIiLCJtZXNzYWdlcy10dGwtY2hlY2staW4taG91cnMtcGF0dGVybiI6IuaVsOWtl+aXoOaViOOAgiIsIm1lc3NhZ2VzLXR0bC1pbi1kYXlzIjoi5raI5oGvVFRM5aSp5pWwIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcmVxdWlyZWQiOiLpnIDopoHmj5Dkvpvmtojmga9UVEzlpKnmlbDjgIIiLCJtZXNzYWdlcy10dGwtaW4tZGF5cy1taW4iOiLmnIDlsI/lgLzkuLox44CCIiwibWVzc2FnZXMtdHRsLWluLWRheXMtcGF0dGVybiI6IuaVsOWtl+aXoOaViOOAgiIsIm1xdHQtcW9zIjoiUW9TIiwibXF0dC1xb3MtcmVxdWlyZWQiOiLpnIDopoHmj5DkvptRb1MiLCJtcXR0LXFvcy1yYW5nZSI6IlFvU+WAvOeahOiMg+WbtOaYr+S7jjDliLAxIiwidGxzLXBhdGgtcHJpdmF0ZS1rZXkiOiLnvZHlhbPkuIrnp4HpkqXnmoTot6/lvoQiLCJ0b2dnbGUtZnVsbHNjcmVlbiI6IuWIh+aNouWFqOWxjyIsInRyYW5zZm9ybWVyLWpzb24tY29uZmlnIjoi6YWN572uSlNPTioiLCJ1cGRhdGUtY29uZmlnIjoi5re75YqgL+abtOaWsOmFjee9rkpTT04iLGhpbnRzOnsicmVtb3RlLWNvbmZpZ3VyYXRpb24iOiLlkK/nlKjlr7nnvZHlhbPnmoTov5znqIvphY3nva7lkoznrqHnkIYiLCJyZW1vdGUtc2hlbGwiOiLpgJrov4fov5znqItTaGVsbOWwj+mDqOS7tuWQr+eUqOWvuee9keWFs+aTjeS9nOezu+e7n+eahOi/nOeoi+aOp+WItiIsaG9zdDoiVGhpbmdzQm9hcmQg5Li75py65ZCN5oiWSVDlnLDlnYAiLHBvcnQ6IlRoaW5nc0JvYXJkIE1RVFTmnI3liqHnq6/lj6MiLHRva2VuOiJUaGluZ3NCb2FyZCDnvZHlhbPorr/pl67ku6TniYwiLCJjbGllbnQtaWQiOiJUaGluZ3NCb2FyZCDnvZHlhbNNUVRU5a6i5oi356uvSUQiLHVzZXJuYW1lOiJUaGluZ3NCb2FyZCDnvZHlhbNNUVRU55So5oi35ZCNIixwYXNzd29yZDoiVGhpbmdzQm9hcmQg572R5YWzTVFUVOWvhueggSIsImNhLWNlcnQiOiJDQeivgeS5puaWh+S7tueahOi3r+W+hCIsImRhdGUtZm9ybSI6IuaXpeW/l+a2iOaBr+S4reeahOaXpeacn+agvOW8jyIsImRhdGEtZm9sZGVyIjoi5YyF5ZCr5pWw5o2u55qE5paH5Lu25aS555qE6Lev5b6E77yI55u45a+55oiW57ud5a+56Lev5b6E77yJIiwibG9nLWZvcm1hdCI6IuaXpeW/l+a2iOaBr+agvOW8jyIsInJlbW90ZS1sb2ciOiLlkK/nlKjlr7nnvZHlhbPnmoTov5znqIvml6Xlv5forrDlvZXlkozml6Xlv5for7vlj5YiLCJiYWNrdXAtY291bnQiOiLlpoLmnpzlpIfku73orqHmlbDlpKfkuo4w77yM5YiZ5Zyo5omn6KGM6L2u5o2i5pe277yM5pyA5aSa5L+d55WZ5aSH5Lu96K6h5pWw5Liq5paH5Lu2LeacgOaXp+eahOaWh+S7tuWwhuiiq+WIoOmZpCIsc3RvcmFnZToi5o+Q5L6b5bCG5pWw5o2u5Y+R6YCB5Yiw5bmz5Y+w5LmL5YmN5L+d5a2Y5Lyg5YWl5pWw5o2u55qE6YWN572uIiwibWF4LWZpbGUtY291bnQiOiLlsIbliJvlu7rnmoTmlofku7bnmoTmnIDlpKfmlbDph48iLCJtYXgtcmVhZC1jb3VudCI6IuS7juWtmOWCqOS4reiOt+WPlueahOa2iOaBr+iuoeaVsOW5tuWPkemAgeWIsFRoaW5nc0JvYXJkIiwibWF4LXJlY29yZHMiOiLkuIDkuKrmlofku7bkuK3lrZjlgqjnmoTmnIDlpKforrDlvZXmlbAiLCJyZWFkLXJlY29yZC1jb3VudCI6IuS7juWtmOWCqOS4reiOt+WPlueahOa2iOaBr+iuoeaVsOW5tuWPkemAgeWIsFRoaW5nc0JvYXJkIiwibWF4LXJlY29yZHMtY291bnQiOiLlnKjlsIbmlbDmja7lj5HpgIHliLBUaGluZ3NCb2FyZOS5i+WJje+8jOWtmOWCqOS4reeahOacgOWkp+aVsOaNruiuoeaVsCIsInR0bC1jaGVjay1ob3VyIjoi572R5YWz5aSa5LmF5qOA5p+l5LiA5qyh5pWw5o2u5piv5ZCm6L+H5pe2IiwidHRsLW1lc3NhZ2VzLWRheSI6IuWtmOWCqOWwhuS/neWtmOaVsOaNrueahOacgOWkp+WkqeaVsCIsY29tbWFuZHM6IueUqOS6juaUtumbhumZhOWKoOe7n+iuoeS/oeaBr+eahOWRveS7pCIsYXR0cmlidXRlOiLnu5/orqHpgaXmtYvplK4iLHRpbWVvdXQ6IuWRveS7pOaJp+ihjOeahOi2heaXtuaXtumXtCIsY29tbWFuZDoi5ZG95Luk5omn6KGM55qE57uT5p6c77yM5bCG55So5L2c6YGl5rWL55qE5YC8IiwiY2hlY2stZGV2aWNlLWFjdGl2aXR5Ijoi5ZCv55So55uR6KeG5q+P5Liq6L+e5o6l6K6+5aSH55qE5rS75YqoIiwiaW5hY3Rpdml0eS10aW1lb3V0Ijoi5Zyo5q2k5pe26Ze05ZCO77yM572R5YWz5bCG5pat5byA6K6+5aSH55qE6L+e5o6lIiwiaW5hY3Rpdml0eS1wZXJpb2QiOiLorr7lpIfmtLvliqjmo4Dmn6XnmoTlkajmnJ8iLCJtaW5pbWFsLXBhY2stZGVsYXkiOiLlj5HpgIHmtojmga/ljIXkuYvpl7TnmoTlu7bov5/vvIjlh4/lsI/mraTorr7nva7kvJrlr7zoh7Tlop7liqBDUFXkvb/nlKjnjofvvIkiLHFvczoiTVFUVOa2iOaBr+S8oOmAkueahOacjeWKoei0qOmHj++8iDAt6Iez5aSa5LiA5qyh77yMMS3oh7PlsJHkuIDmrKHvvIkiLCJzZXJ2ZXItcG9ydCI6IkdSUEPmnI3liqHlmajkvqblkKzkvKDlhaXov57mjqXnmoTnvZHnu5znq6/lj6MiLCJncnBjLWtlZXAtYWxpdmUtdGltZW91dCI6IuWcqOiAg+iZkei/nuaOpeatu+S6oeS5i+WJje+8jOacjeWKoeWZqOetieW+hWtlZXBhbGl2ZSBwaW5n5ZON5bqU55qE5pyA6ZW/5pe26Ze0IiwiZ3JwYy1rZWVwLWFsaXZlIjoi5rKh5pyJ5rS75YqoUlBD6LCD55So5pe25Lik5Liq6L+e57uta2VlcGFsaXZlIHBpbmfmtojmga/kuYvpl7TnmoTmjIHnu63ml7bpl7QiLCJncnBjLW1pbi10aW1lLWJldHdlZW4tcGluZ3MiOiLmnI3liqHlmajlnKjlj5HpgIFrZWVwYWxpdmUgcGluZ+a2iOaBr+S5i+mXtOW6lOetieW+heeahOacgOWwj+aXtumXtOmHjyIsImdycGMtbWF4LXBpbmdzLXdpdGhvdXQtZGF0YSI6IuWcqOayoeacieaOpeaUtuWIsOS7u+S9leaVsOaNruS5i+WJje+8jOacjeWKoeWZqOWPr+S7peWPkemAgeeahGtlZXBhbGl2ZSBwaW5n5raI5oGv55qE5pyA5aSn5pWw6YeP77yM54S25ZCO5bCG6L+e5o6l6KeG5Li65q275LqhIiwiZ3JwYy1taW4tcGluZy1pbnRlcnZhbC13aXRob3V0LWRhdGEiOiLlnKjmsqHmnInlj5HpgIHmiJbmjqXmlLbmlbDmja7ml7bvvIzmnI3liqHlmajlnKjlj5HpgIFrZWVwYWxpdmUgcGluZ+a2iOaBr+S5i+mXtOW6lOetieW+heeahOacgOWwj+aXtumXtOmHjyIsInBlcm1pdC13aXRob3V0LWNhbGxzIjoi5YWB6K645pyN5Yqh5Zmo5Zyo5rKh5pyJ5rS75YqoUlBD6LCD55So5pe25L+d5oyBR1JQQ+i/nuaOpea0u+WKqCJ9LCJkb2NrZXItbGFiZWwiOiLkvb/nlKjku6XkuIvmjIfku6TlnKggRG9ja2VyIGNvbXBvc2Ug5Lit6L+Q6KGMIElvVCDnvZHlhbPvvIzlubbkuLrpgInlrprnmoTorr7lpIfmj5Dkvpvlh63mja4iLCJpbnN0YWxsLWRvY2tlci1jb21wb3NlIjoi5L2/55So5Lul5LiL6K+05piO5LiL6L2944CB5a6J6KOF5ZKM6K6+572uIERvY2tlciBDb21wb3NlIiwiZG93bmxvYWQtY29uZmlndXJhdGlvbi1maWxlIjoi5LiL6L296YWN572u5paH5Lu2IiwiZG93bmxvYWQtZG9ja2VyLWNvbXBvc2UiOiLkuIvovb3mgqjnmoTnvZHlhbPnmoQgZG9ja2VyLWNvbXBvc2UueW1sIOaWh+S7tiIsImxhdW5jaC1nYXRld2F5Ijoi5ZCv5Yqo572R5YWzIiwibGF1bmNoLWRvY2tlci1jb21wb3NlIjoi5Zyo5YyF5ZCrIGRvY2tlci1jb21wb3NlLnltbCDmlofku7bnmoTmlofku7blpLnkuK3vvIzkvb/nlKjku6XkuIvlkb3ku6TlnKjnu4jnq6/kuK3lkK/liqjnvZHlhbMifSxKbz17ImFkZC1lbnRyeSI6IuWinuWKoOmFjee9riIsImNvbm5lY3Rvci1hZGQiOiLlop7liqDmlrDpgKPmjqXlmagiLCJjb25uZWN0b3ItZW5hYmxlZCI6IuWVn+eUqOmAo+aOpeWZqCIsImNvbm5lY3Rvci1uYW1lIjoi6YCj5o6l5Zmo5ZCN56ixIiwiY29ubmVjdG9yLW5hbWUtcmVxdWlyZWQiOiLpnIDopoHpgKPmjqXlmajlkI3nqLHjgIIiLCJjb25uZWN0b3ItdHlwZSI6IumAo+aOpeWZqOmhnuWeiyIsImNvbm5lY3Rvci10eXBlLXJlcXVpcmVkIjoi6ZyA6KaB6YCj5o6l5Zmo6aGe5Z6L44CCIixjb25uZWN0b3JzOiLpgKPmjqXlmajphY3nva4iLCJjcmVhdGUtbmV3LWdhdGV3YXkiOiLlu7rnq4vmlrDplpjpgZMiLCJjcmVhdGUtbmV3LWdhdGV3YXktdGV4dCI6IuaCqOeiuuWumuimgeW7uueri+S4gOWAi+WQjeeoseeCuu+8mid7e2dhdGV3YXlOYW1lfX0n55qE5paw6ZaY6YGT5ZeO77yfIixkZWxldGU6IuWIqumZpOmFjee9riIsImRvd25sb2FkLXRpcCI6IuS4i+i8iemFjee9ruaWh+S7tiIsZ2F0ZXdheToi6ZaY6YGTIiwiZ2F0ZXdheS1leGlzdHMiOiLlkIzlkI3oqK3lgpnlt7LlrZjlnKjjgIIiLCJnYXRld2F5LW5hbWUiOiLplpjpgZPlkI3nqLEiLCJnYXRld2F5LW5hbWUtcmVxdWlyZWQiOiLpnIDopoHplpjpgZPlkI3nqLHjgIIiLCJnYXRld2F5LXNhdmVkIjoi6ZaY6YGT6YWN572u5bey5oiQ5Yqf5L+d5a2Y44CCIiwianNvbi1wYXJzZSI6IueEoeaViOeahEpTT04iLCJqc29uLXJlcXVpcmVkIjoi5qyE5L2N5LiN6IO954K656m644CCIiwibm8tY29ubmVjdG9ycyI6IueEoemAo+aOpeWZqCIsIm5vLWRhdGEiOiLnhKHphY3nva4iLCJuby1nYXRld2F5LWZvdW5kIjoi5pyq5om+5Yiw6ZaY6YGT44CCIiwibm8tZ2F0ZXdheS1tYXRjaGluZyI6IiDmnKrmib7liLAne3tpdGVtfX0n44CCIiwicGF0aC1sb2dzIjoi5pel6KqM5paH5Lu255qE6Lev5b6RIiwicGF0aC1sb2dzLXJlcXVpcmVkIjoi6ZyA6KaB6Lev5b6R44CCIixyZW1vdGU6Iuenu+mZpOmFjee9riIsInJlbW90ZS1sb2dnaW5nLWxldmVsIjoi5pel6KqM6KiY6YyE57Sa5YilIiwicmVtb3ZlLWVudHJ5Ijoi56e76Zmk6YWN572uIiwic2F2ZS10aXAiOiLkv53lrZjphY3nva7mlofku7YiLCJzZWN1cml0eS10eXBlIjoi5a6J5YWo6aGe5Z6LIiwic2VjdXJpdHktdHlwZXMiOnsiYWNjZXNzLXRva2VuIjoi6Kiq5ZWPVG9rZW4iLHRsczoiVExTIn0sc3RvcmFnZToi6LKv5a2YIiwic3RvcmFnZS1tYXgtZmlsZS1yZWNvcmRzIjoi5paH5Lu25Lit55qE5pyA5aSn57SA6YyEIiwic3RvcmFnZS1tYXgtZmlsZXMiOiLmnIDlpKfmlofku7bmlbgiLCJzdG9yYWdlLW1heC1maWxlcy1taW4iOiLmnIDlsI/mlbjph4/ngrox44CCIiwic3RvcmFnZS1tYXgtZmlsZXMtcGF0dGVybiI6IuiZn+eivOeEoeaViOOAgiIsInN0b3JhZ2UtbWF4LWZpbGVzLXJlcXVpcmVkIjoi6ZyA6KaB6Jmf56K844CCIiwic3RvcmFnZS1tYXgtcmVjb3JkcyI6IuWtmOWEsuS4reeahOacgOWkp+e0gOmMhCIsInN0b3JhZ2UtbWF4LXJlY29yZHMtbWluIjoi5pyA5bCP57SA6YyE5pW454K6MeOAgiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcGF0dGVybiI6IuiZn+eivOeEoeaViOOAgiIsInN0b3JhZ2UtbWF4LXJlY29yZHMtcmVxdWlyZWQiOiLpnIDopoHmnIDlpKfntIDpjITmlbgiLCJzdG9yYWdlLXBhY2stc2l6ZSI6IuacgOWkp+S6i+S7tuWMheWkp+WwjyIsInN0b3JhZ2UtcGFjay1zaXplLW1pbiI6IuacgOWwj+aVuOmHj+eCujHjgIIiLCJzdG9yYWdlLXBhY2stc2l6ZS1wYXR0ZXJuIjoi6Jmf56K854Sh5pWI77yOIiwic3RvcmFnZS1wYWNrLXNpemUtcmVxdWlyZWQiOiLpnIDopoHmnIDlpKfkuovku7bljIXlpKflsI8iLCJzdG9yYWdlLXBhdGgiOiLlrZjlhLLot6/lvpEiLCJzdG9yYWdlLXBhdGgtcmVxdWlyZWQiOiLpnIDopoHlrZjlhLLot6/lvpHjgIIiLCJzdG9yYWdlLXR5cGUiOiLlrZjlhLLpoZ7lnosiLCJzdG9yYWdlLXR5cGVzIjp7ImZpbGUtc3RvcmFnZSI6IuaWh+S7tuWtmOWEsiIsIm1lbW9yeS1zdG9yYWdlIjoi6KiY5oa26auU5a2Y5YSyIn0sdGhpbmdzYm9hcmQ6IlRoaW5nc0JvYXJkIiwidGhpbmdzYm9hcmQtaG9zdCI6IlRoaW5nc0JvYXJk5Li75qmfIiwidGhpbmdzYm9hcmQtaG9zdC1yZXF1aXJlZCI6IumcgOimgeS4u+apn+OAgiIsInRoaW5nc2JvYXJkLXBvcnQiOiJUaGluZ3NCb2FyZOmAo+aOpeWfoCIsInRoaW5nc2JvYXJkLXBvcnQtbWF4Ijoi5pyA5aSn5Z+g6Jmf54K6IDY1NTM144CCIiwidGhpbmdzYm9hcmQtcG9ydC1taW4iOiLmnIDlsI/ln6DomZ/ngrox44CCIiwidGhpbmdzYm9hcmQtcG9ydC1wYXR0ZXJuIjoi6YCj5o6l5Z+g54Sh5pWI44CCIiwidGhpbmdzYm9hcmQtcG9ydC1yZXF1aXJlZCI6IumcgOimgemAo+aOpeWfoOOAgiIsdGlkeToi5pW055CGIiwidGlkeS10aXAiOiLmlbTnkIbphY3nva5KU09OIiwidGl0bGUtY29ubmVjdG9ycy1qc29uIjoi6YCj5o6l5Zmoe3t0eXBlTmFtZX196YWN572uIiwidGxzLXBhdGgtY2EtY2VydGlmaWNhdGUiOiLplpjpgZPkuIpDQeitieabuOeahOi3r+W+kSIsInRscy1wYXRoLWNsaWVudC1jZXJ0aWZpY2F0ZSI6IumWmOmBk+S4iueUqOaItuerr+aGkeaTmueahOi3r+W+kSIsInRscy1wYXRoLXByaXZhdGUta2V5Ijoi6ZaY6YGT5LiK55qE56eB6ZGw6Lev5b6RIiwidG9nZ2xlLWZ1bGxzY3JlZW4iOiLliIfmj5vlhajonqLluZUiLCJ0cmFuc2Zvcm1lci1qc29uLWNvbmZpZyI6IumFjee9rkpTT04qIiwidXBkYXRlLWNvbmZpZyI6IuWinuWKoC/mm7TmlrDphY3nva5KU09OIn07Y29uc3QgWG89W2NhLHBhLEZhLERhLEFhLE5hLFBhLGVvLEVvLGlvLGFvLG9vLHFvLHRvLEdvLG5vXTtjbGFzcyBab3tjb25zdHJ1Y3RvcihlKXt0aGlzLnRyYW5zbGF0ZT1lLGZ1bmN0aW9uKGUpe2Uuc2V0VHJhbnNsYXRpb24oImVuX1VTIixPbywhMCksZS5zZXRUcmFuc2xhdGlvbigiYXJfQUUiLFJvLCEwKSxlLnNldFRyYW5zbGF0aW9uKCJjYV9FUyIsVm8sITApLGUuc2V0VHJhbnNsYXRpb24oImNzX0NaIixCbywhMCksZS5zZXRUcmFuc2xhdGlvbigiZGFfREsiLFVvLCEwKSxlLnNldFRyYW5zbGF0aW9uKCJlc19FUyIsX28sITApLGUuc2V0VHJhbnNsYXRpb24oImtvX0tSIixIbywhMCksZS5zZXRUcmFuc2xhdGlvbigibHRfTFQiLHpvLCEwKSxlLnNldFRyYW5zbGF0aW9uKCJubF9CRSIsV28sITApLGUuc2V0VHJhbnNsYXRpb24oInBsX1BMIixqbywhMCksZS5zZXRUcmFuc2xhdGlvbigicHRfQlIiLEtvLCEwKSxlLnNldFRyYW5zbGF0aW9uKCJzbF9TSSIsJG8sITApLGUuc2V0VHJhbnNsYXRpb24oInRyX1RSIixZbywhMCksZS5zZXRUcmFuc2xhdGlvbigiemhfQ04iLFFvLCEwKSxlLnNldFRyYW5zbGF0aW9uKCJ6aF9UVyIsSm8sITApfShlKX1zdGF0aWN7dGhpcy7JtWZhYz10Lsm1ybVuZ0RlY2xhcmVGYWN0b3J5KHttaW5WZXJzaW9uOiIxMi4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlpvLGRlcHM6W3t0b2tlbjpZLlRyYW5zbGF0ZVNlcnZpY2V9XSx0YXJnZXQ6dC7Jtcm1RmFjdG9yeVRhcmdldC5OZ01vZHVsZX0pfXN0YXRpY3t0aGlzLsm1bW9kPXQuybXJtW5nRGVjbGFyZU5nTW9kdWxlKHttaW5WZXJzaW9uOiIxNC4wLjAiLHZlcnNpb246IjE4LjIuNiIsbmdJbXBvcnQ6dCx0eXBlOlpvLGRlY2xhcmF0aW9uczpbY2EscGEsRmEsRGEsQWEsTmEsUGEsZW8sRW8saW8sYW8sb28scW8sdG8sR28sbm9dLGltcG9ydHM6W0gsRCxRLE1hLEVhLHFhLHZhLElhLExvLGtvLEZvLHBvLEFvLE5vLGdvLFRhLERvLFBvLGthLENhLFNhXSxleHBvcnRzOltjYSxwYSxGYSxEYSxBYSxOYSxQYSxlbyxFbyxpbyxhbyxvbyxxbyx0byxHbyxub119KX1zdGF0aWN7dGhpcy7JtWluaj10Lsm1ybVuZ0RlY2xhcmVJbmplY3Rvcih7bWluVmVyc2lvbjoiMTIuMC4wIix2ZXJzaW9uOiIxOC4yLjYiLG5nSW1wb3J0OnQsdHlwZTpabyxwcm92aWRlcnM6W3ZhXSxpbXBvcnRzOltILEQsUSxNYSxFYSxxYSxJYSxMbyxrbyxGbyxwbyxBbyxObyxnbyxEbyxQb119KX19ZSgiR2F0ZXdheUV4dGVuc2lvbk1vZHVsZSIsWm8pLHQuybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEoe21pblZlcnNpb246IjEyLjAuMCIsdmVyc2lvbjoiMTguMi42IixuZ0ltcG9ydDp0LHR5cGU6Wm8sZGVjb3JhdG9yczpbe3R5cGU6dSxhcmdzOlt7ZGVjbGFyYXRpb25zOlhvLGltcG9ydHM6W0gsRCxRLE1hLEVhLHFhLHZhLElhLExvLGtvLEZvLHBvLEFvLE5vLGdvLFRhLERvLFBvLGthLENhLFNhXSxleHBvcnRzOlhvLHByb3ZpZGVyczpbdmFdfV19XSxjdG9yUGFyYW1ldGVyczooKT0+W3t0eXBlOlkuVHJhbnNsYXRlU2VydmljZX1dfSl9fX0pKTsvLyMgc291cmNlTWFwcGluZ1VSTD1nYXRld2F5LW1hbmFnZW1lbnQtZXh0ZW5zaW9uLmpzLm1hcAo=",
- "public": false
- },
- {
- "link": "/api/images/system/gateway_general_chart_statistics_system_widget_image.png",
- "title": "\"Gateway general chart statistics\" system widget image",
- "type": "IMAGE",
- "subType": "IMAGE",
- "fileName": "gateway_general_chart_statistics_system_widget_image.png",
- "publicResourceKey": "oqVqZHqFa7xwnYv3XXvsnYDTUPOFxXcd",
- "mediaType": "image/png",
- "data": "iVBORw0KGgoAAAANSUhEUgAAAMgAAACgCAIAAADGnbT+AAAABmJLR0QA/wD/AP+gvaeTAAAXk0lEQVR42u2deXwb1bXH+Y+lfY/utK98WkogZSk7LcujBF4pAT6lLaWvlBZeCrTw4AGFvrbQkPYRwlIWfyCr7WA7XrN4wzZx7DjxIu+2vEteZHmTJdmOd8faR9K838y1FUWWZVmaGQM585mPPmNZR/fOvV+de+455849iw/7OOuss/gojpaWFhI8cwQFVlQqVbp4JCUlzc3NaTSaveKhVqsJLBKMHCx2eDyeuLg4r9ebl5c3NjZGGosEpQEL+qm+vh4XKSkp0F4ZGRkWi4XAIsFowdqzZw/HcbiAurLb7Z2dndnZ2QQWCUYFVnd3d1FRkU914XV2djY5OZnAIsGowIqPj/cNfOXl5bDiY2Nj+/v7/anC0UIHHeEdwZUQxkRY8WS8k6AENhb5sUiQwCJBAosancAisEiQwCJBAosancAisEiQwCJBAosancAisEiQwCJBAosancAisEiQwCJBAosECSwCiwQJLBIksEiQwCKwSJDAIkECiwQJLAKLBAksEiSwSJDAIrBIkMAiQQKLBAksAosECSwSJLBIkMAisEiQwCJBAuuzK5jV7SKwCCyJBd+pd35nz7x6xE1gEViSCb7XIFCF84lCO4FFYEkj+IFaoOqSuPn1cfMX75nvnvQQWARWtIKvFg6CqnWx8+83Op8ptuP6hWN2AovAikowsd3FqIppcDaOuIv7uUtj5y+JnR+a9RBYBFaEgvs6BKow9r1V6wBV7PzdYRve3KJyEFgEViSC6VrXxSJVL+YN+6jC+ZHOBQV2Wfz8uNW75lXVTni2q50/zbLWGN0E1qdAEP4q0AOqXq92ZKi6/cHC+auPBKX1dp1zTarq9vBweWytctyaamETVZy3pFim7V6FwMKOX2yPQmwup9Pp0tLScnJy2J5NBFaII7uHA1Xora3Vwgi4FKz9ncIQeXWC5aTTq1hVwU1OD/fMUfv3PjzF0w1JlieL7HcftOIaF0qA5Xa7ExISfG/t2LED79SJB4EV4ijs4+BWQD+9orIzjJaChfMnWUJfxrY45a6qYc6T1O56pMB2ady8j6cfpllfOOZI1bgaxMpgSnGVSNtbRf2ygzU9Pf3mm29iYybs+wUthe2Z8KbRaMSOmATWcgd6iFH1t3K7j6GgYCWIs8Ub91nsnPRVbWpu0Yx7Pmh03i/iy851cfP3HLS+WuU40s8trc/OJsHTtj52ric8H1vkYLlcLrPZDC21fft2QIZ9VvGmyWTKzc0lsIIeRwc4phX+Umb377OgYOH80X5BSaRpXBJW1eXhXy53XL131scTBtxNH9t2qJ2Vw1zQavjOxw8LPrb7DlkdbjnBws6XBoMBF9hVdXx8fOfOnbjGRpilpaUE1tKjwuD+brzQkc+V2AM6bDmwdoju+NvTrW6PZFVl4UicN6dY4YyFF63O5A7Nk+8Eed9PnIHstmqHjGBhp8Jdu3YdOHAAJjx2kysuLsbWvbt378ZemP5U0X6FOJLKdevjTqJLHs0cAUZhnukV3awjPyjRS1KNA6qudXtOrgMZhYPhV8P/fLe4/5LYk5jMJpTp5N2vEANi0GvSWL4DHqDL9wpKAhoiqCZYTmPhfLvOAcG7D1g93miranV578wQLKo/lTpClBj6hOAWlTAg3rDPsqKbjfxYMgo2jbqvFOdTyFloWL63lutIjFPf3yeIlw5xUVZ1c4XA6J0ZllqzOxqw6s3un4omPywzL4G1JoLNY27mE3rssB390bh6sHD+X6UAxC9ybNFUtXLYjfELqRPZ3dyKJYYGC6/HBrlrE4X7golGYCkniN9xy5h7W42DUYXYXwiqVuxmmMyYuOF7GszuyKoKz+dNycI3/KPSEU6J4VR1T4sTpGI60jnhIbBkF+ydEpxDd2Sccg49nG+rN4XbW8udfy1ziGrPFllVnz0qWEX3HrL6+I4eLJxPiRk+Pz5gtXEEljyCjKd/3zd9KhKyzwJT3ee5jhKsMgN3+V5B5cCrudqq5uo4CF7xoQUe//BLDKeqNSb3hnSLtIkYBJZwwAeNJKr/2G/1j6yBpzRtWDytqpuZ1nm+xL6qqo7Me68RjaF36hyrLTGcqsJiWy+6fIsHuGhatc7sZhH3Mxos/bQHmcQYAnw8wZLFuPDGkYHQtlQ0YBUtJgAitBdmVWHq/bZAyJJArkQEJYZZ1deqhWH6+iTLqCWSePngrOepIjtrRrTemQWW082PznvbTgjxsnsOWf2DIU8ese9rdzGeJOytEBGVVyocYd5jkhhtBPTHBzn5wIJu/kWugO9v8m2nnG1el3CGbNVZh/f1GgdTeBjoETxFVFResMb82JcbLLTFpM0LIwnauEDPJXe4/ppvQOfhZ/TLXBuGuasSTuWQsBNx/scL7QltrgCrXG6wPupdSAA8seiZDHGPUKvMK4vpW8QlhikIcK9LspyWi9H7DF/1Rb7jXn74XX6+GaD5V5Xz8Cka1/WiCO4IjYkoaqO46E1esKC64VeUFawdTc6NB63wPbK8qNAnxiAYT3ekWx4rtMe3LhtckxssnL/OE3TDPxcTAJe7R/QcS1tAnylT1Q/bhGxYhNih13nj+7zq7NPO2gtnau/jRxJ4x3DZEHfXolWK1KDM7lPaVF6wgD8zC+QDyzzvZfFgdkIbIyKLjJEHc23wJm/KHEHqyHv1Tnj/cns4mKVhWk4KgHWgU2gcuMfmHN4Q9xgjLlG8KcW6XMKCHFV9tkQYqV/K+YivPI9XncOP7uPHMviex/m6i/wh6z16TVLu83/Oyo1tnAr4BhnBwsDkM2KqZUuy/psY3IBNUAJoTGvAx3KC7QbdaMfLjSOh0ldYOGVXk3O5e2wdcyPlC5oYzg4lfwPwPjyRqZ4v+4oAkOGN0zy009pDha+XHb7fWv4lH2Heys+fbLzTpHmta6BGbXbICxZSY9m46wtiSA4WZlXQ2Ehqy+91rZXiWU5wuvnXaPHxtqcbR5ZlImkxARBuyaX3iDeZ++OPxxwKK9cW45i1ej3qX1DwcIF+wXJH5hYML2anAvfnik826yrN2q3zDbd7Kz/ng8xd9dWZpgd554gsYCEHbUO60Chv1DpYKAqRV8nB+suCF9u+hiNaUMHOgXphBBEberLlUfYjDnqyDHQopKX3+HcxsIjE4hqToqO22mw/qb4LNR+tvPmKuBOYLxtPemDVsA7FeVfKBOwKf5Em01xP37GRjs2W+ptx457K83mPTRawEtuE3yKcubBpYOWwZEUk0UoIFrwm+N1cFj+tbXt/qvm3zaaZTwxYHH7E6Jjp5l+5q74iXjykHrEF/fwuMUv4tjSLurk1aKQ5q4dT2BycaP096uysubh12PSQOMO4cnFFBiY90LKhS2wbNuj6imUZCi0u741ifgimXWzAZn/uOq6XECwsXX8k5bC5/FqmGGz117cZBj4JYOl7s1AfV/WFYL1zoJGr/gb+nG26v8k8v/TzcB1BJ6Fx3i/p890azHm2WmuLyq7wPGO4813U1lP5hc6BBvxZbuBYqg/0FhRE+E4+WcBiE5n7Mq2+Yt6sFZTWbUlTbq80YA2NaisL72VI2WuvstddLfRlzbfRkWsL1gGVxl57JSoz2B3P3tEONnPV38Q7c+q7m0yzS0XeqRca5/bkKV/bPF8SGGlWBqxefQGvOhdjmb43x/cmVnj/6bjDf066NmDBRckyTDK0tq6BamPnWzp9Yb3RCS8A3sQqvGjB4qZ4/YselWAtWisuMHR9AJug2TQ517hR/Kl90b9RlAerSfV3QX3WXeNvV2mGNK5qYaKOIbLZOLVcAiBSo3B/Bb0c81/DalbSM6IZbGcDt0n7RvQlSg9WjKpn84Hddccecldd4JspQJc01Lx8R0IH1L7LEylYXk7wy9UKv35Pxbl5BY+W6Uf8TE7HifbnxOLOMWtfWxOwwLdDJdx1r/7jgH+1G/odtZcJP4b6H2DOFZgAKJqhD+TYEKi4TpzrvF3nUGwCK04Dxx11l6N6Uy0Ph3aRKAuWtZs3x/KdD3lqvuHvQLPVXTve+hSGqgVvh+qc+iN31jan8B7rqsGaOsqrr2Hf01V+z8bExv85GsT+MHa+Iyrzs1EuNJnCYGFahKIxpVrGqh1ko6St/rrWYXNAAuCV8XPChEv0LyAAFV6JLoyz0d+j2mydb9ggKNTG25rMFkkaJwqwnKP8eLYQSKq/xB+mE6XfUpc+NNi9t214yFdM56AaHh1nxaJLrfqrfM9j/HSpGLZf6bD1CjEEJth45XBfFkt3LB4I/sPS9+ZiQBRsmsaNWapGxcDCbEgs95wAO8//bB0esdbdgLo5ar/bbujz/9cT2WZfOLxkgFsRqT5dJgZcfNWM6qqBnlS12RnxPeJHKM42LmobHpaqcVYP1vghvvdpvvHy0+JHdd/muzeN6JM2JHRihlzUH7xdDqmaYvLjmotuOyWovlaIRrnGg5fHTfN9/8tXfl74ZM3XhE96nQiZregzxIwGg6/AlurydoNeGbAmWzYJNrvqgdAfazGesNbfJMznay9tH+o9FaEr07EEQKxADCEO7YJpAbhcdHl/zjc49OvSQzjMlrtHUcef7an6knawRcLGWT1Yi34/vvrL/hFv/PcRMWEoRJejQvEtwoTxgfQ218Brp1QdAlL4Kug/X3rGgjl1ofiBc6dqf8Y7T+DtjnHPxaJhuzR7ZIn+GGb9h9l+d79KbrDQK6gnHIN5qrKVTTHjFHN0uWq+BZPZVyIidI8V2kMitRfuJdZoMInwJzyTtap3HbVXLLxZu97QtT2c4YyVqNMf8YrRwD7dIWkbZ/Vg9T7LG2NEmE4zwrHgjoVUkXobukIbDy4GyEDP5Me89kHeFxCA5ht4hR/P4tXXLbzTvpG3dPhmhYgrC4vpjjvCM6VnzKofiVPF8/t0+2UFC64EwVXd8XKYgvA7zKl/LHL/TaYqIIiEk4pgrddsmsbkmvksBPO/7kaMg75IEQRhTQ707LPXfo99APAZunYEdZv5n4WqfE/Vl/F5fLnkjSON8Q59hRmN/0NXQlQI4Qt8Elm2M45FA8s5xpt28k03nja8Qp+NpfvPCptH3cwLHILdwEcIqbRj7S+yqSIs6xXnO5GBhTmggEjV11tM4+ELQgMJMTUhuHZB10BtUEFM1jDD5aoWpkSYUYpIcctU1QVHlBhUOZshC1lMVJcbkedV68Rp4G/CbxalwTrcx7Ek8SpjWBVij/WBHzXwi+bqeN1TfP13+OH3eE9gdiVSGCCFVS6rbQJD105R4SNstwndKS1YsJph3+DLMQatlkjEeRDtEdn6yjFVeoCZD/3HNAqbaSIYF15VuV59nqXh1gW8qr4OvEB8ANNsLJ5v+GGY4+YagIWnXLBJsv+zN0NXCKlIF4u6ZzK89bcAC4+lY0NtuYGLoAkQvXJXf401ZatxVEKwYOiIxs1lDNnVjqHgcqL1CYEA1fmoJPNKQMuyia1Y4Q09faURVLWrv2qm6efsSwAovrPVaFycBj6JNy2qi4CvTDMbCcDC4zfR5bemWle15u5BMbcaidJhgsXyLf2fRLXaJtAOtTlr1jGzt8PQJQlYMJXY9FMcoSJ2gLngixGneP8K/6RX9S9syjLd/J9w00TZzd39lbNNP1nAq/ILY20vjHS8wlCDjSWfLyZasJAzjwdaosuxNmFVFcJiI5b0jaUNK5abVNbDHDwrPvYpdBMgXG9puIUNEJGpgYATowzTgj4zJVJ3JdetenzRg3DeZMt/aQY7JOxmuNamm355akavOrdXny+r9zhasFjWx10HLBEs5nw4P9xHVW9MnQgz1L9iEzSZT0ITMA8Qpk7RtB0whftHiAQMVEsSYDFrXp1o/QNST2WawAJWIAtw4buSO94VFVhY9MOS+LBqKoIKIe0TyZ9IAfVfXrf0QMY+m0WuVl0t3wQucTgQfr4TrY8HtV7Dabvxtv9mSVefkJzVsCMEQwqUGBVYsJDE0Kk14gptEp+vj0TQEIX+PFv4DMK00jYBxgIk0bI5fASJXJohLXQecr07DD2fLrCUEYwcLCyWxWI3TO4OdkXuHCrsc7E1wVg6F7RE+AwF62rvbLVR+iaA15tlHHDV/xZgcq3YdkjcgyCmWp9tPtYArD+XCjE7hHGirBDWH7OHeQb1u94nrvN5/iOjTE0AB8+s+j5mchk73w5TsKevjDmflnouCKyowOqbEfLNcX4cXjJaiAohSQGpCtB8Sx/OVCj6XZHWnFLRI18TwJMkprucwzyoLBISUtDFvNv+IBJY0oD1e1HNPF1sl6RCbHnkH47Ygy5LRFqzAm3X13uQTfEQuoaLMoQgclRYPA4TTAJLSrCwipKlGBwblCbGhJVhLGMEz87zlZUvZuj+IDnax2yuIkNhqI2loyDKdlyVFtwjarY4a4SkDOSonAl8KArWw3mrjtmtWCEkLDCLbSFM5F0IE2GhgZJth6DvnPpeMdn1vKAjHRIBWH7BcstQCawIwTomPo4BTnCVgZOwQogAsg1eak1CnbLFVdS3pCyEiZRsu0WTS1xr2vo7/+QTZASwgONy8WACK3Kw2DSN7XQlbYVeLrezdG9ucRU126d0TdquWvU+CwMLQethE3vzRNsfhVTgpp+dOXwoB5Zo96yw6DviJwqzRyE+J9ryt6VJ/PzW1Qoi/46ZXEgGR74U0ogRHkY8JHQUj8A6DSybzZaZmZmamqrVavGnRqNhexdiM7AAsGC2v9fglKlC/xCfVsDOD/xSv9eq7bBOiz3FAHkHWGnNFv+cUXxEC1Z+fr5er8cWmDExMezP0dHRoBoL1k9kD+cMp0Jwr98gLt3ckGHxL2UN2w7LE3wmF1JNfMMigbWKoRBbNSUmJvLibqvYpAk7geGdALAiq0r4FXpdfL7qrtOTcNa87fp1GTC5TJqtZxofEoDFNlmdmJjgxV3m7HY7tpXLzs5WGCysN0dOX8Mnr+2Qcxf0yQsEViiwsJXc/v37MRoygJhphT3lkpOTFQaLsUW99RkBS6VSbdu2LV08oLTKy8uxjS828O3v7/enCkdkW+PReaadp+1XeNoiZI6DGltqvCugsUjwTPRjEVgkSGCRIIFFggQWgUWCBBYJElgkSGBR25EggUWCBBYJEljUdiRIYJEggUWCBBY1OgkSWCRIYJEggUWNToIEFgkSWCRIYFGjkyCBRYIEFgkSWNToJEhgkSCBRYIEFjU6CRJYJEhgkSCBRY1OggQWCRJYJEhgUaOTIIFFggQWCRJY1OgkSGCRIIFFggQWNToJElgkSGCRIIFFjU5gEVgkqBRYOp0uLS0tJycH+1MQWCQoGVg7duzAZmB14kFgkaA0YEFLYXsmXBiNxry8PAKLBKUBy+VyxcXF4cJkMuXm5hJYJCjZULhz5068YiPM0tJSAosEJQOruLgYGxfu3r0be2EG7FdIBx3hHkE9CxgQQzgdeGUPKvHTWKLS90PHGXIQWHR8AsCqqKiA+YVXxepXVlaGEvEqd0HYqri3t7egoMD3Z3V19ZEjR+Qr0Wq1ZmZmpqamYp7k8/WkpKR4PB6ZSrTZbIcOHYL3G3eKP5ubm9G2WVlZISwfJcCanJxEK+ACNz81NaUAVdPT04mJibjA68zMjKxlDQ4O4gcTExPD/iwqKqqvr5e1RLgJ+/r6gJGv0MOHD2/ZsiUg4CHhgZ/KwMAASty+fbvdbt+zZw9+P1VVVQGecKXB6urqYg6I48eP41oBsNDEmJyirPj4ePma2/9Ai7MLdPbBgwfx+0YHyFqixWJJSkpijkOghvuV9U7n5uZaW1uzs7P9+TYYDGsJlkajYUMSXrVarQLd7HA4kpOToUjw6nQ6lQRr69atKL2jo0PW0RChs4SEhImJCWgRXOAe5QYLAZXCwkKoRvZnd3d3gBt8DcAaHh5mQR5UBT8vBboZ4fCSkhJcHD16lJkFioHFLkZGRvx/3JJbdfv378doyNQV9BYsns2bN/t6XfIDGEFB4mLXrl14haKSz6Q7a1UNAVsHowNeca2MxkLgEl2LV1wrCVZDQwN6GlYI2JKpLGjibdu2pYsH7Ff2pqwaS6/XoyVBM9gFTy+99BKGAplmY/8Pl7O7ukBGoYYAAAAASUVORK5CYII=",
- "public": true
- }
]
}
\ No newline at end of file
diff --git a/application/src/main/data/json/system/widget_types/gateway_general_configuration.json b/application/src/main/data/json/system/widget_types/gateway_general_configuration.json
index ab17290a3e..600f689786 100644
--- a/application/src/main/data/json/system/widget_types/gateway_general_configuration.json
+++ b/application/src/main/data/json/system/widget_types/gateway_general_configuration.json
@@ -14,10 +14,9 @@
"isModule": true
}
],
- "templateHtml": "